:root{--canvas:#eef1f6;--ink:#142943;--muted:#687b91;--accent:#365cdf;--pale:#e8edff;--line:#dce3ed;--white:#fff;font-family:'Avenir Next',Avenir,'Segoe UI',sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:auto;padding:0 64px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:25px;font-weight:650;letter-spacing:-1px}.brandmark{display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;width:34px;height:35px;border-radius:10px;font-size:29px;line-height:1;padding-bottom:4px}.brandmark span{color:#94adff}.brand-divider{height:22px;width:1px;background:#ccd5e2;margin:0 8px}.brand-product{font-size:12px;letter-spacing:.2px;font-weight:500;color:var(--muted)}.local-label{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.local-label i{height:6px;width:6px;background:#5d8c81;border-radius:50%}main{max-width:1056px;margin:auto;padding:0 40px}.intro{display:flex;align-items:center;justify-content:space-between;padding:59px 0 39px}.eyebrow{text-transform:uppercase;letter-spacing:2.1px;font-size:10px;font-weight:650;color:var(--muted);margin:0 0 16px}h1{font-size:clamp(35px,4.5vw,53px);font-weight:500;letter-spacing:-2.6px;line-height:1.13;margin:0}h1 span{color:var(--muted)}.intro-copy{font-size:13px;line-height:1.8;color:var(--muted);margin:20px 0 0}.network-art{position:relative;width:260px;height:220px;margin-right:25px}.orbit{position:absolute;border:1px solid #cad4e3;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-25deg)}.orbit-one{width:104px;height:104px}.orbit-two{width:180px;height:180px}.orbit-three{width:254px;height:150px}.network-center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-8deg);display:grid;place-items:center;border:1px solid #fff;background:linear-gradient(145deg,#fff,#e3e9f4);box-shadow:0 12px 25px #20375315;width:70px;height:80px;border-radius:20px}.network-center svg{width:29px;height:35px;color:var(--accent)}.satellite{position:absolute;width:11px;height:11px;background:var(--accent);border:3px solid var(--canvas);border-radius:50%;box-shadow:0 0 0 1px #bdcbed}.sat-one{top:33px;left:167px}.sat-two{left:32px;top:130px;background:#8b9cb5}.art-label{position:absolute;bottom:0;left:59px;color:#8190a4;font:8px ui-monospace,monospace;letter-spacing:2px}.lookup-card{background:var(--white);padding:30px 34px 25px;border-radius:18px;border:1px solid #e1e7f0;box-shadow:0 12px 40px #25365307}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.section-heading .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:8px}h2{font-size:23px;font-weight:550;letter-spacing:-.7px;margin:0}.connection{font-size:10px;color:var(--muted);background:#f3f5f9;border-radius:20px;padding:7px 11px}.connection.ready{background:#eaf4f0;color:#37695a}label{font-size:11px;font-weight:600;display:block;margin-bottom:9px}.input-row{display:flex;gap:12px}.phone-field{position:relative;flex:1}.input-icon{position:absolute;top:15px;left:18px;font-size:22px;color:#8b9cb5}input{width:100%;height:56px;border:1px solid #dce3ee;border-radius:9px;background:#fbfcfe;color:var(--ink);padding:0 20px 0 50px;font-size:18px;letter-spacing:.4px}input::placeholder{color:#95a3b5}button[type=submit]{border:0;border-radius:9px;background:var(--ink);color:white;padding:0 24px;font-size:12px;font-weight:550;display:flex;align-items:center;gap:27px;transition:background .15s,transform .15s}button[type=submit]:hover{background:#25486f}button[type=submit] span{font-size:21px;font-weight:400}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}.form-bottom p{font-size:10px;color:var(--muted);margin:0}.text-button{border:0;background:none;padding:3px 0;color:var(--accent);font-size:10px;font-weight:550;white-space:nowrap}.text-button span{margin-left:9px}.configuration{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.7}.error{font-size:12px;line-height:1.6;background:#fff0ee;color:#8d352c;padding:12px 16px;border-radius:8px;margin-bottom:0}.empty-state{display:flex;align-items:center;justify-content:center;gap:19px;padding:48px 0 45px;color:var(--muted)}.empty-symbol{font-size:35px;font-weight:300;color:#97a8bd}.empty-state h3{font-size:12px;color:#52677f;margin:0 0 7px;font-weight:550}.empty-state p{font-size:11px;line-height:1.7;margin:0}footer{padding:22px 0 28px;border-top:1px solid #dce3ed;display:flex;justify-content:space-between;color:#7c8ca0;font-size:9px}footer>span:first-child{letter-spacing:1.3px;font-size:8px}.footer-dot{margin:0 8px;color:#adbacb}.results{margin-top:32px}.result-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}.result-heading .eyebrow{margin-bottom:8px;font-size:9px}.result-heading h2{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:24px;letter-spacing:-.8px}.result-status{font-size:10px;background:#e2ece8;color:#37695a;padding:7px 11px;border-radius:20px}.result-status.demo{background:#e3e9fb;color:#435eaa}.summary-grid{display:grid;grid-template-columns:2fr 1fr 1fr;background:var(--ink);color:white;border-radius:14px;padding:24px 28px;margin-bottom:16px;gap:24px}.summary-grid>div+div{border-left:1px solid #ffffff20;padding-left:25px}.data-label{display:block;font-size:10px;color:#a8bad1;margin-bottom:8px}.summary-grid strong{font-size:17px;font-weight:500;display:block;overflow-wrap:anywhere}.carrier-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.carrier-card{border:1px solid #dce3ee;background:#fff;border-radius:14px;padding:24px}.carrier-heading{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:550}.carrier-icon{color:var(--accent);background:var(--pale);font-size:17px;width:29px;height:29px;border-radius:8px;display:grid;place-items:center}.original .carrier-icon{color:#6d8096;background:#edf1f6}.small-label{font-size:8px;letter-spacing:1.2px;margin-left:auto;color:#8393a8}.carrier-card h3{font-size:19px;letter-spacing:-.5px;font-weight:550;margin:20px 0;overflow-wrap:anywhere;min-height:46px}dl{margin:0}dl>div{display:flex;justify-content:space-between;border-top:1px solid #edf0f5;padding:10px 0;gap:16px;font-size:11px}dt{color:var(--muted)}dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:65%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.unavailable{color:#96a2b2;font-family:inherit}.details-panel{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 22px}.details-panel summary{padding:19px 0;font-size:12px;cursor:pointer}.details-panel summary>span:first-child{margin-left:6px}.details-hint{float:right;font-size:10px;color:var(--muted)}pre{font-size:11px;line-height:1.8;padding:20px;background:#f5f7fb;border-radius:8px;overflow:auto;max-height:480px;color:#405672}.all-fields{padding-bottom:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:9px 0;border-top:1px solid #edf0f5;font:11px ui-monospace,monospace;overflow-wrap:anywhere}.field-row>span:first-child{color:var(--muted)}.result-note{font-size:10px;line-height:1.7;color:var(--muted);margin:20px 0 28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #7594ee;outline-offset:4px}input:focus-visible{outline-offset:1px}.results{animation:reveal .3s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1500px){.intro{padding-top:80px}}@media(max-width:700px){.topbar{padding:0 24px;height:75px}.brand-product,.brand-divider{display:none}main{padding:0 22px}.intro{padding:37px 0 29px}.network-art{display:none}h1{font-size:40px;letter-spacing:-2px}.intro-copy{font-size:12px}.lookup-card{padding:24px 20px}.section-heading{gap:15px;align-items:flex-start}.connection{font-size:9px;white-space:nowrap;padding:6px 8px}.input-row{flex-direction:column}button[type=submit]{height:50px;justify-content:center}.form-bottom{align-items:flex-start;gap:12px}.form-bottom p{max-width:180px;line-height:1.6}.summary-grid{grid-template-columns:1fr 1fr;padding:22px;gap:20px}.summary-grid>div:first-child{grid-column:1/-1}.summary-grid>div+div{padding:0;border:0}.summary-grid strong{font-size:16px}.carrier-grid{grid-template-columns:1fr}.carrier-card h3{min-height:0}.result-heading h2{font-size:22px}.details-hint{display:none}.empty-state{padding:37px 5px}.empty-state p br{display:none}footer{gap:15px;font-size:8px}.field-row{grid-template-columns:1.2fr 1fr;font-size:10px}}@media(max-width:380px){.connection{max-width:100px;white-space:normal}h1{font-size:34px}.form-bottom{flex-direction:column}.result-heading{align-items:flex-start;gap:10px}}
.mode-card{background:var(--white);padding:26px 34px 28px;border-radius:18px;border:1px solid #e1e7f0;box-shadow:0 12px 40px #25365307;margin-bottom:18px}
.mode-card .section-heading{margin-bottom:20px}
.mode-switch{display:flex;gap:6px;background:#f3f5f9;border-radius:11px;padding:5px;width:max-content;max-width:100%}
.mode-tab{border:0;background:none;padding:11px 20px;border-radius:8px;font-size:12px;font-weight:550;color:var(--muted)}
.mode-tab.active{background:var(--ink);color:#fff;box-shadow:0 4px 12px #14294326}
.mode-tab:hover:not(.active){color:var(--ink)}
#import-form label,.lookup-card label{font-size:11px;font-weight:600;display:block;margin-bottom:9px}
.file-field{flex:1;position:relative}
input[type=file]{width:100%;height:56px;border:1px dashed #c8d2e0;border-radius:9px;background:#fbfcfe;color:var(--ink);padding:16px 18px;font-size:13px}
input[type=file]::file-selector-button{border:0;background:var(--pale);color:var(--accent);font-weight:600;border-radius:7px;padding:8px 14px;margin-right:14px;cursor:pointer}
.import-lede{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 18px;max-width:70ch}
.import-lede code{background:#f0f3f9;border-radius:5px;padding:2px 6px;font:11px ui-monospace,SFMono-Regular,Consolas,monospace;color:#37507a}
.template-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-bottom:22px}
.template-row .data-label{color:var(--muted);font-size:10px}
.import-preview{margin-top:24px;border-top:1px solid var(--line);padding-top:22px}
.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.preview-heading h3{font-size:18px;font-weight:550;letter-spacing:-.4px;margin:0;overflow-wrap:anywhere}
.stat-grid,.progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-grid>div,.progress-grid>div{background:#f6f8fc;border:1px solid #e6ebf4;border-radius:11px;padding:14px 16px}
.stat-grid strong,.progress-grid strong{font-size:20px;font-weight:550;display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.import-note{font-size:11px;line-height:1.7;color:var(--muted);margin:16px 0 4px}
.issue-list{margin:0 0 16px;padding:0 0 0 20px;max-height:260px;overflow:auto}
.issue-list li{font-size:11px;line-height:1.7;color:#8d352c;padding:5px 0;border-top:1px solid #edf0f5;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.issue-list li:first-child{border-top:0}
.run-row{display:flex;align-items:center;gap:18px;margin-top:20px;flex-wrap:wrap}
#import-form button[type=submit],.run-row button#run-button{border:0;border-radius:9px;background:var(--ink);color:#fff;padding:16px 24px;font-size:12px;font-weight:550;display:flex;align-items:center;gap:14px;transition:background .15s}
#run-button:hover,#import-form button[type=submit]:hover{background:#25486f}
.button-link{border-radius:9px;background:var(--accent);color:#fff;text-decoration:none;padding:16px 24px;font-size:12px;font-weight:550;display:flex;align-items:center;gap:12px}
.button-link:hover{background:#2a4bc4}
.progress-track{position:relative;height:8px;border-radius:20px;background:#e9edf5;overflow:hidden;margin-top:18px}
.progress-track span{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--accent),#6f8ff0);border-radius:20px;transition:width .3s ease}
.import-job{animation:reveal .3s ease-out}
@media(max-width:700px){.mode-card{padding:22px 20px}.stat-grid,.progress-grid{grid-template-columns:1fr 1fr}.template-row{gap:12px}.run-row{gap:12px}.button-link,#run-button,#import-form button[type=submit]{width:100%;justify-content:center}.mode-tab{padding:10px 14px;font-size:11px}}

/* Shared workspace sign-in */
.logout-button{display:inline-flex;align-items:center;gap:11px;border:1px solid #cbd6e5;border-radius:999px;background:#fff;color:var(--ink);padding:10px 16px;font-size:11px;font-weight:600;transition:border-color .15s,background .15s}
.logout-button:hover{border-color:var(--accent);background:#f6f8ff}
.logout-button span{font-size:15px;color:var(--accent)}
.logout-button:focus-visible,.login-panel input:focus-visible,.login-panel button:focus-visible{outline:3px solid #8da6ff;outline-offset:3px}
.login-top-label{font-size:10px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase}
.login-main{max-width:1120px;min-height:calc(100vh - 160px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:8vw;padding:54px 40px 70px}
.login-context{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:480px}
.login-context h1{font-size:clamp(42px,5vw,67px);line-height:1.08;letter-spacing:-3.4px}
.login-context h1 span{color:#7b8ca2}
.login-context>p:last-of-type{max-width:360px;color:var(--muted);font-size:13px;line-height:1.8;margin:24px 0 0}
.login-signal{position:relative;width:265px;height:130px;margin-top:48px;border-top:1px solid #c8d4e5}
.login-signal:before,.login-signal:after{content:"";position:absolute;border:1px solid #c9d5e7;border-radius:50%;transform:rotate(-25deg)}
.login-signal:before{width:120px;height:70px;left:18px;top:27px}
.login-signal:after{width:205px;height:95px;left:0;top:13px}
.login-signal-core{position:absolute;left:69px;top:30px;z-index:1;display:grid;place-items:center;width:58px;height:58px;background:var(--ink);border:6px solid var(--canvas);border-radius:18px;color:#fff;font-size:34px;line-height:1}
.login-signal-core span{color:#94adff}
.login-signal i{position:absolute;z-index:2;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--canvas)}
.login-signal i:nth-of-type(1){left:10px;top:63px}.login-signal i:nth-of-type(2){left:178px;top:38px}.login-signal i:nth-of-type(3){left:214px;top:79px;background:#8d9fba}
.login-panel{background:#fff;border:1px solid #dfe7f2;border-radius:20px;padding:42px;box-shadow:0 24px 70px #2536530e}
.login-panel .eyebrow{margin-bottom:10px}
.login-panel h2{font-size:27px;letter-spacing:-1px}
.login-panel-copy{color:var(--muted);font-size:12px;line-height:1.7;margin:11px 0 30px}
.login-panel label{font-size:11px;margin:0 0 9px}
.login-panel input{height:51px;padding:0 15px;font-size:14px;letter-spacing:0;margin:0 0 22px}
.login-panel input:focus{border-color:var(--accent);background:#fff}
.login-panel button[type=submit]{width:100%;height:52px;justify-content:space-between;margin-top:8px;font-size:12px}
.login-panel .error{margin:0 0 17px}
.login-footnote{border-top:1px solid var(--line);padding-top:18px;margin:26px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.login-footer{max-width:1320px;margin:auto;padding:20px 64px 28px}
@media(max-width:720px){.topbar{height:72px;padding:0 23px}.login-top-label{display:none}.login-main{display:block;min-height:0;padding:48px 22px 56px}.login-context{min-height:0;margin-bottom:35px}.login-context h1{font-size:42px;letter-spacing:-2.4px}.login-context>p:last-of-type{margin-top:16px}.login-signal{display:none}.login-panel{padding:31px 24px}.login-footer{padding:20px 22px}.logout-button{padding:8px 11px}}
