:root{color-scheme:dark;--bg: #050a0f;--bg-soft: #0b131d;--panel: rgba(10, 18, 28, .9);--panel-soft: rgba(17, 28, 40, .82);--line: rgba(137, 170, 204, .18);--line-strong: rgba(137, 170, 204, .34);--text: #edf5ff;--text-soft: #9caec4;--accent: #79f7c7;--accent-warm: #ffb36d;--danger: #fb7185;--shadow: 0 26px 70px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,rgba(47,129,247,.14),transparent 28%),radial-gradient(circle at 85% 15%,rgba(121,247,199,.12),transparent 24%),radial-gradient(circle at 75% 75%,rgba(255,179,109,.1),transparent 30%),linear-gradient(180deg,#081018,#050a0f,#03070b);color:var(--text);font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,strong{font-family:Bahnschrift,Avenir Next Condensed,Segoe UI,sans-serif;letter-spacing:.02em}p,span,small{line-height:1.45}.boot-screen,.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px}.boot-card,.auth-card,.auth-copy,.panel,.stage-panel,.metric-card,.territory-tab,.route-card,.follow-up-item,.audit-item{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.boot-card{padding:36px 40px;border-radius:28px;max-width:520px}.eyebrow{margin:0 0 8px;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#8ec6ff}.boot-card h1,.auth-copy h1,.topbar h1{margin:0;font-size:clamp(2.4rem,4vw,4rem);line-height:.98}.boot-card p:last-child,.auth-copy p:last-child{color:var(--text-soft)}.auth-stage{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,420px);gap:28px;align-items:stretch}.auth-copy,.auth-card{border-radius:32px;padding:32px}.auth-copy{display:grid;align-content:center;gap:18px}.auth-card{display:grid;gap:16px;align-content:start}.seed-accounts{display:grid;gap:12px;margin-top:8px}.seed-accounts div{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;background:#080f18bd;border:1px solid var(--line)}label{display:grid;gap:8px}label>span{color:var(--text-soft);font-size:.9rem}input,select,textarea{width:100%;border-radius:16px;border:1px solid var(--line);background:#070d14f0;color:var(--text);padding:14px 16px;outline:none;transition:border-color .14s ease,transform .14s ease}input:focus,select:focus,textarea:focus{border-color:#79f7c799;transform:translateY(-1px)}.primary-button,.secondary-button,.ghost-button{border:0;border-radius:999px;padding:12px 18px;transition:transform .14s ease,opacity .14s ease,background .14s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.swatch:hover,.territory-tab:hover,.stop-pill:hover,.search-result:hover{transform:translateY(-1px)}.primary-button{color:#061018;background:linear-gradient(135deg,#79f7c7,#b5ffd0);font-weight:700}.secondary-button{color:var(--text);background:#111b28f2;border:1px solid var(--line)}.ghost-button{color:#bdd3ea;background:#080d14bd}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,button:disabled{opacity:.55;cursor:not-allowed;transform:none}.inline-error,.app-banner{border-radius:18px;padding:12px 16px;color:#ffd5de;background:#5d111f61;border:1px solid rgba(251,113,133,.32)}.app-shell{width:min(1640px,calc(100vw - 28px));margin:0 auto;padding:24px 0 40px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.topbar-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.user-chip{display:grid;gap:3px;padding:12px 16px;border-radius:18px;background:#080d14bd;border:1px solid var(--line)}.user-chip span{color:var(--text-soft);font-size:.9rem}.metrics-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric-card{padding:18px 18px 16px;border-radius:24px}.metric-label,.metric-detail{display:block;color:var(--text-soft)}.metric-value{display:block;margin:10px 0 8px;font-size:clamp(1.7rem,2.6vw,2.5rem)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(360px,460px);gap:20px;align-items:start}.main-column,.sidebar-column{display:grid;gap:20px}.territory-switcher{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.territory-tab{display:grid;gap:4px;padding:16px 18px;border-radius:22px;text-align:left}.territory-tab span{color:var(--text-soft);font-size:.9rem}.territory-tab.is-active{background:linear-gradient(180deg,#101c29f5,#070c13f5);border-width:2px}.panel,.stage-panel{border-radius:32px;padding:22px}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.panel-heading h2,.route-head h3{margin:0;font-size:1.55rem}.territory-badges,.meter-legend,.route-head p,.follow-up-meta,.audit-head{display:flex;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;background:#111b28d6;border:1px solid var(--line)}.badge--ghost{color:#cfe0f2}.badge--active,.badge--assigned{color:#9dfcd8;border-color:#79f7c757}.badge--warming,.badge--queued,.badge--medium{color:#ffd2a2;border-color:#ffb36d59}.badge--in_progress,.badge--low{color:#9fd4ff;border-color:#73b8ff57}.badge--completed{color:#c8fdb0;border-color:#bef26457}.badge--blocked,.badge--high{color:#ffc4d0;border-color:#fb71855c}.territory-overview{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;margin-bottom:20px}.coverage-panel{padding:18px;border-radius:24px;background:var(--panel-soft);border:1px solid var(--line);display:grid;gap:12px;justify-items:center}.coverage-kicker,.route-note,.search-empty,.follow-up-item small,.audit-item small{color:var(--text-soft)}.coverage-ring{width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(5,10,15,1) 50%,transparent 51%),conic-gradient(var(--accent) 0turn,rgba(121,247,199,.14) 1turn);border:1px solid rgba(121,247,199,.26);font-size:1.9rem;font-weight:700}.coverage-copy{display:grid;gap:3px;text-align:center}.territory-copy{display:grid;gap:14px;align-content:center}.meter{height:11px;border-radius:999px;overflow:hidden;background:#ffffff0f;border:1px solid rgba(255,255,255,.04)}.meter-fill{display:block;height:100%;border-radius:inherit}.meter-legend{justify-content:space-between;color:var(--text-soft);font-size:.9rem}.canvas-wrap{overflow:hidden;border-radius:28px;border:1px solid rgba(126,151,184,.16);background:#04080c}.territory-canvas{display:block;width:100%;height:min(58vh,620px)}.canvas-label{font-family:Bahnschrift,Avenir Next Condensed,Segoe UI,sans-serif;font-size:22px;fill:#d6e9ffa6;letter-spacing:.06em;text-transform:uppercase}.canvas-node{cursor:pointer}.canvas-node text{fill:#091018;font-size:14px;font-weight:800}.stop-strip{margin-top:16px;display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.stop-pill{min-width:170px;text-align:left;border:1px solid var(--line);border-radius:18px;padding:12px 14px;background:#080d14c2;color:var(--text)}.stop-pill small{display:block;margin-top:3px;color:var(--text-soft)}.stop-pill.is-overdue{border-color:#fb71855c}.stop-pill.is-active{border-color:#79f7c785;box-shadow:inset 0 0 0 1px #79f7c72e}.routes-panel{display:grid;gap:16px}.route-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.route-card{border-radius:24px;padding:18px;display:grid;gap:14px}.route-head{display:flex;justify-content:space-between;gap:16px}.route-head p{margin:4px 0 0;color:var(--text-soft)}.route-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.route-stats div{padding:12px;border-radius:18px;background:#080d14bd;border:1px solid var(--line)}.route-stats span,.planned-stop span,.search-result span{display:block;color:var(--text-soft)}.route-stats strong{display:block;margin-top:6px;font-size:1.35rem}.route-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stepper{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:16px;border:1px solid var(--line);background:#070d14f0}.stepper button{width:34px;height:34px;border-radius:50%;border:0;color:var(--text);background:#ffffff14}.panel.territory-form{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-row:last-of-type{grid-template-columns:120px minmax(0,1fr);align-items:end}.swatch-row{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px #00000040}.geocode-search,.planned-list,.follow-up-list,.audit-list{display:grid;gap:10px}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.search-results{max-height:280px;overflow-y:auto;display:grid;gap:10px}.search-result,.planned-stop{border-radius:18px;padding:14px;border:1px solid var(--line);background:#080d14c7;text-align:left;color:var(--text)}.search-result small{display:block;margin-top:6px;color:#7fe7ca}.planned-stop{display:flex;justify-content:space-between;gap:12px}.planned-actions{display:grid;gap:8px;min-width:130px}.follow-up-item,.audit-item{border-radius:22px;padding:16px;display:grid;gap:10px}.follow-up-item p,.audit-item p{margin:0}.follow-up-top,.audit-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.follow-up-meta{justify-content:space-between;color:var(--text-soft);font-size:.9rem}.severity-high{border-color:#fb718559}.severity-medium{border-color:#ffb36d59}.severity-low{border-color:#73b8ff52}.audit-head span{color:var(--text-soft);font-size:.88rem}.empty-panel{min-height:260px;display:grid;place-items:center;text-align:center}@media(max-width:1220px){.metrics-row{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-grid,.auth-stage{grid-template-columns:1fr}.topbar,.panel-heading,.route-head{align-items:flex-start}}@media(max-width:880px){.app-shell{width:min(100vw - 18px,100%);padding-top:16px}.metrics-row,.route-controls,.route-stats,.form-row,.territory-overview{grid-template-columns:1fr}.form-row:last-of-type,.search-row{grid-template-columns:1fr}.topbar{flex-direction:column}.topbar-actions,.user-chip{width:100%}.planned-stop,.follow-up-top,.audit-head{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.boot-screen,.auth-shell{padding:14px}.panel,.stage-panel,.auth-copy,.auth-card,.metric-card,.route-card{border-radius:24px;padding:18px}.metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-switcher{grid-template-columns:1fr}.stop-pill{min-width:150px}}
