:root{--bg:#141c22;--bg-2:#1a242c;--panel:rgba(30,41,50,.78);--panel-solid:#1e2932;--line:rgba(190,205,200,.14);--line-2:rgba(190,205,200,.26);--ink:#f3efe6;--ink-2:#c3c0b4;--ink-3:#8a8f8c;--brand:#4fb3a6;--brand-2:#7dd3c4;--amber:#e9b949;--good:#7cc59a;--bad:#f08c7d;--brand-ink:#0f1c1a;--rad:16px;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:radial-gradient(1200px 800px at 80% -10%,rgba(125,211,196,.1),transparent 60%),radial-gradient(1000px 700px at -5% 110%,rgba(79,179,166,.14),transparent 55%),var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}:root{--topbar-h:57px}.topbar.dispatch{--topbar-h:227px;display:block;padding:0;background:linear-gradient(90deg,rgba(30,41,50,.94),rgba(20,28,34,.9))}.topbar.dispatch .topbar-row{display:flex;align-items:center;gap:14px;padding:8px 20px;border-bottom:1px solid var(--line)}.topbar.dispatch .navrow{display:flex;flex-wrap:nowrap;gap:2px;margin:0;padding:6px 16px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;background:rgba(10,16,20,.35)}.topbar.dispatch .navrow::-webkit-scrollbar{display:none}.topbar.dispatch .navrow .navlink{flex:0 0 auto;font-size:13px;padding:8px 12px}.topbar-row{display:contents}.topbar{gap:14px;padding:12px 20px;border-bottom:1px solid var(--line);background:rgba(10,16,32,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.logo,.topbar{display:flex;align-items:center}.logo{gap:10px}.logo .dot{width:10px;height:10px;border-radius:3px;background:var(--brand-2);box-shadow:0 0 14px var(--brand-2);flex:0 0 auto}.logo .txt{display:flex;flex-direction:column;line-height:1}.logo .txt .name{font-weight:800;letter-spacing:-.01em;font-size:15px;white-space:nowrap}.logo .txt .co{font:600 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}.topbar .spacer{margin-left:auto}.chip{font:600 12px/1 var(--mono);letter-spacing:.04em;padding:6px 10px;white-space:nowrap;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--ink-2)}.chip.live{color:var(--good)}.chip.live:before{content:"● ";color:var(--good)}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;white-space:nowrap;border:1px solid var(--line-2);background:var(--panel);color:var(--ink);font-weight:600;font-size:14px;padding:10px 16px;border-radius:12px;cursor:pointer;transition:.15s}.btn:hover{border-color:var(--brand);background:rgba(79,179,166,.14)}.btn.primary{background:linear-gradient(180deg,#5cc0b2,#43a396);border-color:transparent;color:var(--brand-ink);box-shadow:0 6px 18px rgba(79,179,166,.35)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent}.btn.danger{border-color:hsla(8,79%,72%,.55);color:#f5b3a8}.btn:disabled{opacity:.5;cursor:not-allowed}.panel{background:var(--panel);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--line);border-radius:var(--rad);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03),0 20px 50px rgba(0,0,0,.35)}.authwrap{min-height:100dvh;display:grid;place-items:center;align-content:center;justify-items:center;padding:24px}.authcard{width:100%;max-width:400px;padding:32px}.authcard h1{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}.authcard p.sub{margin:0 0 22px;color:var(--ink-2)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.field input{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:12px 14px;font-size:15px;outline:none;transition:.15s}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,179,166,.2)}.err{color:#f5b3a8;font-size:13px;min-height:18px;margin:2px 0 8px}.mapwrap{position:relative;height:calc(100dvh - 129px - 40px)}#map{position:absolute;inset:0}.maplibregl-map{font-family:var(--sans)}.hud{position:absolute;top:36px;left:20px;z-index:5;display:flex;flex-direction:column;gap:12px;width:360px;max-width:calc(100% - 40px)}.hud .panel{padding:14px 16px}.kpis{display:flex;gap:10px}.kpi{flex:1 1;text-align:center;padding:10px 6px}.kpi .n{font:800 22px/1 var(--sans);letter-spacing:-.02em}.kpi .l{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:5px}.buslist{flex-direction:column;max-height:44dvh;overflow:auto}.buslist,.busrow{display:flex;gap:8px}.busrow{align-items:center;padding:9px 10px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.55);cursor:pointer}.busrow:hover{border-color:var(--brand)}.busrow .tag{font:700 13px/1 var(--mono);color:var(--brand-2)}.busrow .meta{color:var(--ink-3);font-size:12px}.busrow .pulse{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(124,197,154,.6);animation:pulse 1.8s infinite}.busrow.stale .pulse{background:var(--ink-3);animation:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(124,197,154,.5)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.driverwrap{max-width:520px;padding:20px}.stat{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.stat .k{color:var(--ink-2)}.stat .v{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.big-btn{width:100%;padding:18px;font-size:17px;border-radius:16px;margin-top:14px}.beacon-on{color:var(--good)}.beacon-off,.hint{color:var(--ink-3)}.hint{font-size:12.5px;margin-top:10px;text-align:center}.notice{padding:14px 16px;border-radius:12px;border:1px solid var(--line-2);background:rgba(79,179,166,.1);color:var(--ink-2);font-size:13.5px}.ticker{display:flex;align-items:center;gap:14px;height:46px;padding:0 16px;border-bottom:1px solid var(--line-2);box-shadow:0 6px 18px rgba(0,0,0,.35);background:linear-gradient(90deg,rgba(12,20,28,.92),rgba(20,32,44,.92));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:6}.ticker.hot{background:linear-gradient(90deg,rgba(233,185,73,.16),rgba(233,185,73,.06));border-bottom-color:rgba(233,185,73,.6);box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 -2px 0 rgba(233,185,73,.5)}.ticker .tlabel{font:800 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);flex:0 0 auto;padding:6px 10px;border-radius:8px;background:hsla(0,0%,100%,.06);border:1px solid var(--line-2)}.ticker.hot .tlabel{color:#1a1200;background:var(--amber);border-color:transparent;animation:tlabelpulse 1.6s ease-in-out infinite}@keyframes tlabelpulse{0%,to{box-shadow:0 0 0 0 rgba(233,185,73,.6)}50%{box-shadow:0 0 0 7px rgba(233,185,73,0)}}.ticker .ttrack{flex:1 1;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.ticker .tinner{display:inline-block;animation:ticker 40s linear infinite}.ticker:hover .tinner{animation-play-state:paused}.ticker .titem{display:inline-block;margin-right:56px;font-size:16px;font-weight:700;letter-spacing:-.005em;color:var(--ink);text-shadow:0 1px 0 rgba(0,0,0,.5)}.ticker .titem.quiet{color:var(--ink-2);font-weight:600}.ticker .titem.urgent{color:#ffb4a8;font-weight:800;text-shadow:0 0 14px hsla(8,79%,72%,.55),0 1px 0 rgba(0,0,0,.5)}.ticker .titem.urgent:before{content:"●";color:var(--bad);margin-right:8px;animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.ticker .titem.warning{color:#ffd66b;font-weight:800;text-shadow:0 0 12px rgba(233,185,73,.45),0 1px 0 rgba(0,0,0,.5)}.ticker .titem.acked{opacity:.5;font-weight:500;text-shadow:none}.ticker .tbtn{font:700 12px/1 var(--mono);color:var(--ink);flex:0 0 auto;padding:7px 10px;border-radius:8px;border:1px solid var(--line-2);background:hsla(0,0%,100%,.05)}.ticker .tbtn:hover{border-color:var(--brand)}@keyframes ticker{0%{transform:translateX(30%)}to{transform:translateX(-100%)}}.alertbar{position:-webkit-sticky;position:sticky;top:var(--hdr,0);z-index:19}.alertdrawer{position:absolute;right:16px;top:calc(100% + 10px);z-index:30;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 240px);overflow:auto;padding:14px;background:rgba(24,33,40,.55);backdrop-filter:blur(6px) saturate(1.2);-webkit-backdrop-filter:blur(6px) saturate(1.2);border:1px solid hsla(0,0%,100%,.22);box-shadow:0 20px 50px rgba(0,0,0,.45)}.alertdrawer select,.composer select{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:10px 12px;font:inherit}.alertlist{display:flex;flex-direction:column;gap:8px}.alertrow{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.55);cursor:default}.alertrow.urgent{border-color:hsla(8,79%,72%,.6);background:hsla(8,79%,72%,.12)}.alertrow.warning{border-color:rgba(233,185,73,.55);background:rgba(233,185,73,.1)}.alertrow.read{opacity:.6}.alertrow .body{font-size:13.5px;font-weight:500}.alertrow .meta{color:var(--ink-3);font-size:11.5px;margin-top:3px}.flasher{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(120,30,30,.5);animation:flash 1s ease-in-out infinite;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes flash{0%,to{background:rgba(120,30,30,.5)}50%{background:rgba(190,60,50,.7)}}.flashcard{background:var(--panel-solid);border:2px solid var(--bad);border-radius:20px;padding:28px;max-width:520px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.6)}.flashkind{font:800 13px/1 var(--mono);letter-spacing:.14em;color:#f5b3a8;margin-bottom:10px}.flashbody{font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.25}.flashmeta{color:var(--ink-2);margin-top:8px}.busrow .meta.nextstop{color:var(--brand-2)}.runtitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.runtitle h1{margin:0;font-size:22px;letter-spacing:-.02em}.runhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 2px}.headcount{text-align:center;padding:8px 16px;border-radius:14px;background:rgba(124,197,154,.12);border:1px solid rgba(124,197,154,.4)}.headcount .n{font:800 30px/1 var(--sans);color:var(--good);letter-spacing:-.02em}.headcount .l{font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}.chip.ok{color:var(--good);border-color:rgba(124,197,154,.45)}.chip.warn{color:var(--amber);border-color:rgba(233,185,73,.45)}.tabs{display:flex;gap:6px;margin:14px 0 10px;padding:4px;border-radius:14px;background:rgba(20,28,34,.65);border:1px solid var(--line)}.tab{flex:1 1;padding:12px 6px;border:0;border-radius:10px;background:transparent;color:var(--ink-2);font:700 14px/1 var(--sans);cursor:pointer}.tab.on{background:var(--brand);color:var(--brand-ink)}.tab.sos{color:#f5b3a8}.tab.sos.on{background:var(--bad);color:#2a1210}.tabbody{display:flex;flex-direction:column;gap:12px}.curstop{padding:16px}.stoplabel{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.stopname{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-top:6px}.stopaddr{color:var(--ink-2);font-size:13px}.rollcall{flex-direction:column;margin-top:12px}.riderrow,.rollcall{display:flex;gap:8px}.riderrow{align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.55)}.riderrow.compact{padding:8px 12px;font-size:13.5px}.riderrow .btn{padding:10px 14px;font-size:14px}.riderrow .btn.dim,.rstatus{color:var(--ink-3)}.rstatus{font-size:12px}.rstatus.onboard{color:var(--good)}.rstatus.noshow{color:#f5b3a8}.rstatus.dropped{color:var(--brand-2)}.stoplist{display:flex;flex-direction:column;gap:4px}.stopitem{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:13.5px}.stopitem .seq{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font:700 11px/1 var(--mono);background:rgba(20,28,34,.75);border:1px solid var(--line);color:var(--ink-3)}.stopitem .nm{flex:1 1}.stopitem .meta{color:var(--ink-3);font-size:12px}.stopitem.done{opacity:.5}.stopitem.done .seq{background:var(--good);color:#0f1c1a;border-color:transparent}.stopitem.skipped{opacity:.4;text-decoration:line-through}.stopitem.here .seq,.stopitem.next .seq{background:var(--brand);color:var(--brand-ink);border-color:transparent}.stopitem.here{background:rgba(79,179,166,.14)}.scanner .viewfinder{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:rgba(20,28,34,.85);border:1px solid var(--line-2);display:grid;place-items:center}.scanner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.scanner .viewfinder.on video{display:block}.scanner .reticle{inset:18%;border:2px solid rgba(125,211,196,.8);box-shadow:0 0 0 999px rgba(0,0,0,.25);pointer-events:none}.scanflash,.scanner .reticle{position:absolute;border-radius:12px}.scanflash{left:12px;right:12px;bottom:12px;padding:12px 14px;font-weight:700;text-align:center;font-size:16px}.scanflash.good,.toast.good{background:var(--good);color:#0f1c1a}.scanflash.bad,.toast.bad{background:var(--bad);color:#2a1210}.scanflash.warn,.toast.warn{background:var(--amber);color:#2a1f05}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 18px;border-radius:12px;font-weight:700;z-index:40;box-shadow:0 10px 30px rgba(0,0,0,.4)}.sosrow{display:flex;gap:10px}.sosrow .btn{flex:1 1}.sosbtn{padding:26px 12px;font-size:18px;font-weight:800;border-radius:18px;border-width:2px}.sosbtn.breakdown{border-color:var(--amber);color:var(--amber);background:rgba(233,185,73,.1)}.sosbtn.medical{border-color:var(--bad);color:#f5b3a8;background:hsla(8,79%,72%,.12)}.notice.sent{border-color:rgba(124,197,154,.5);background:rgba(124,197,154,.12);color:var(--ink)}.topnav{display:flex;gap:2px;margin-left:6px}.navlink{padding:7px 10px;border-radius:10px;font-weight:600;font-size:12.5px;color:var(--ink-2);display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.navlink:hover{background:rgba(79,179,166,.14)}.navlink.on{background:rgba(79,179,166,.2);color:#fff}.navlink .badge{background:var(--bad);color:#fff;font:700 10px/1 var(--mono);padding:3px 6px;border-radius:99px}.fleet{padding:20px;display:flex;flex-direction:column;gap:16px;max-width:1280px;margin:0 auto}.fleetgrid{display:grid;grid-template-columns:360px 1fr;grid-gap:16px;gap:16px}@media(max-width:900px){.fleetgrid{grid-template-columns:1fr}}.fleetcard{padding:18px}.fleetcard h2{margin:0;font-size:17px;letter-spacing:-.01em}.fleetcard h3{margin:22px 0 8px;font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.cardhead{justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.cardhead,.inline{display:flex;align-items:center}.inline{gap:8px}.fleet input,.fleet select{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:9px 11px;font:inherit;min-width:0}.fleet input:focus,.fleet select:focus{border-color:var(--brand);outline:0}.doclist,.watchlist{display:flex;flex-direction:column;gap:6px}.watchrow{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(20,28,34,.55);font-size:13.5px;flex-wrap:wrap}.watchrow .who{font:700 12px/1 var(--mono);color:var(--brand-2);flex:0 0 110px}.watchrow .what{flex:1 1;min-width:200px}.watchrow .when{font:600 12px/1 var(--mono);color:var(--ink-3);white-space:nowrap}.watchrow.soon{border-color:rgba(233,185,73,.55);background:rgba(233,185,73,.1)}.watchrow.soon .when{color:var(--amber)}.watchrow.expired{border-color:hsla(8,79%,72%,.6);background:hsla(8,79%,72%,.12)}.watchrow.expired .when{color:#f5b3a8}.watchrow.ok .when{color:var(--good)}.watchrow.wo.high .what b{color:var(--amber)}.watchrow.wo.critical .what b{color:#f5b3a8}.mono{font-family:var(--mono);font-size:12px;color:var(--ink-3)}.dotstate{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--ink-3)}.dotstate.ok{background:var(--good)}.dotstate.soon{background:var(--amber)}.dotstate.expired{background:var(--bad);box-shadow:0 0 10px var(--bad)}.busrow.sel{border-color:var(--brand);background:rgba(79,179,166,.14)}.vform{display:flex;flex-direction:column;gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}@media(max-width:700px){.grid4{grid-template-columns:repeat(2,1fr)}}.grid2 .field,.grid4 .field{margin-bottom:0}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.docform{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.docform input[name=title]{flex:1 1;min-width:180px}.docform .dl{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3)}.checklist{display:flex;flex-direction:column;gap:6px}.checkrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.55)}.checkrow.pass{border-color:rgba(124,197,154,.45)}.checkrow.fail{border-color:hsla(8,79%,72%,.65);background:hsla(8,79%,72%,.1)}.checkrow .lbl{flex:1 1;font-weight:600;font-size:14px}.checkrow .crit{display:inline-block;margin-left:8px;font:600 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.checkrow .pf{display:flex;gap:6px}.checkrow .pf .btn{padding:10px 14px}.checkrow .pf .btn.danger.on{background:var(--bad);color:#2a1210;border-color:transparent}input.plain{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:10px 12px;font:inherit}.routes{display:grid;grid-template-columns:400px 1fr;height:calc(100dvh - 129px)}@media(max-width:900px){.routes{grid-template-columns:1fr;height:auto}.routemap{height:60dvh}}.routeside{margin:12px;padding:16px;overflow:auto;border-radius:var(--rad)}.routeside input,.routeside select{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:8px 10px;font:inherit;min-width:0}.routeside h2{margin:0;font-size:17px}.routeside h3{margin:20px 0 8px;font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.stopedit{display:flex;flex-direction:column;gap:6px}.stopeditrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border-radius:10px;border:1px solid var(--line);background:rgba(20,28,34,.55)}.routemap{position:relative;margin:12px 12px 12px 0;border-radius:var(--rad);overflow:hidden;border:1px solid var(--line)}.routemap .routemap-canvas.maplibregl-map,.routemap-canvas{position:absolute;inset:0}.maptools{position:absolute;top:12px;left:12px;z-index:5;display:flex;gap:6px}.maptools .btn{background:var(--panel-solid)}.pinform{position:absolute;top:60px;left:12px;z-index:6;width:320px;padding:14px;display:flex;flex-direction:column;gap:8px}.pinform input{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:9px 11px;font:inherit}.stop-marker{width:26px;height:26px;border-radius:50%;background:var(--brand-2);color:#0f1c1a;font:800 12px/26px var(--mono);text-align:center;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.5);cursor:-webkit-grab;cursor:grab}.hud.right{left:auto;right:20px;max-width:300px}.hud.right .panel{padding:12px 14px}.wx{display:flex;gap:12px;align-items:center;margin-top:6px}.wx .temp{font:800 34px/1 var(--sans);letter-spacing:-.03em}.closure .meta,.wx .meta,.wxalert .meta{color:var(--ink-3);font-size:12px}.wxalert{margin-top:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(233,185,73,.55);background:rgba(255,176,32,.1);font-size:13px}.wxalert.severe{border-color:hsla(8,79%,72%,.65);background:hsla(8,79%,72%,.14)}.closure{margin-top:6px;padding:8px 10px;border-radius:10px;border:1px solid hsla(8,79%,72%,.55);background:hsla(8,79%,72%,.12);font-size:13px}.svc{margin:8px 0}.svc,.svcform{display:flex;flex-direction:column;gap:6px}.svcform input,.svcform select{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:8px 10px;font:inherit}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.boardcol{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.45)}.boardhead{font-weight:700;margin-bottom:4px}.printsheet{background:#fff;color:#111;min-height:100dvh;padding:16px;font-family:var(--sans)}.printbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #ddd}.printbar a{color:#2f6bff;text-decoration:underline}.stickers{display:grid;grid-template-columns:repeat(auto-fill,2in);grid-gap:.15in;gap:.15in}.sticker{width:2in;height:2in;border:1px dashed #bbb;border-radius:6px;padding:.1in;display:flex;flex-direction:column;align-items:center;text-align:center;break-inside:avoid;page-break-inside:avoid}.sticker .qr{width:1.05in;height:1.05in}.sticker .qr svg{width:100%;height:100%}.sticker .stitle{font-weight:800;font-size:11px;margin-top:4px;line-height:1.15}.sticker .ssub{font-size:8.5px;color:#555}.sticker .scode{font:700 9px/1 var(--mono);margin-top:3px;letter-spacing:.03em}.sticker .sbrand{font:600 6.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#888;margin-top:auto}.sticker.cab{border-color:#e8930c}.sticker.student{border-color:#2f6bff}@media print{.printbar{display:none}.printsheet{padding:0}.sticker{border-style:solid;border-color:#ddd}body{background:#fff}}.runtable{display:flex;flex-direction:column;gap:6px}.runrow{display:grid;grid-template-columns:1.4fr 1.2fr 1fr .9fr auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(20,28,34,.55)}.runrow.head{background:transparent;border:0;font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-bottom:0}.runrow.read{opacity:.5}@media(max-width:800px){.runrow{grid-template-columns:1fr 1fr}.runrow.head{display:none}}.studentrow summary{display:flex;gap:12px;align-items:center;cursor:pointer;list-style:none;width:100%}.studentrow summary::-webkit-details-marker{display:none}.studentrow[open] summary{margin-bottom:8px}.topnav{flex-wrap:wrap}.bus-marker{position:relative;cursor:pointer;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}.bus-marker img{width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bus-marker .busno{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%) rotate(0deg);font:800 10px/1 var(--mono);color:#1a2228;background:hsla(0,0%,100%,.85);padding:2px 4px;border-radius:4px;pointer-events:none;white-space:nowrap}.bus-marker.offroute{filter:drop-shadow(0 0 6px var(--bad)) drop-shadow(0 0 12px var(--bad));animation:pulse 1.2s infinite}.busrow.offroute{border-color:var(--bad);background:hsla(8,79%,72%,.12)}.place-marker{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px;border:2px solid #1a2228;box-shadow:0 2px 8px rgba(0,0,0,.5)}.place-marker.hospital{border-color:var(--bad)}.place-marker.police{border-color:var(--brand)}.placerow{display:flex;gap:10px;align-items:center;padding:6px 4px;cursor:pointer;border-radius:8px}.placerow:hover{background:rgba(79,179,166,.14)}.placerow .meta{color:var(--ink-3);font-size:12px}select.plain,textarea.plain{background:rgba(20,28,34,.75);border:1px solid var(--line-2);border-radius:10px;color:var(--ink);padding:10px 12px;font:inherit;width:100%}.reportgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 20px;gap:8px 20px;font-size:13.5px}.reportgrid .k{display:block;font:600 10.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}.reporttext{white-space:pre-wrap;margin:0;line-height:1.55}.watchrow.sel{border-color:var(--brand);background:rgba(79,179,166,.14)}.printreport{max-width:8.5in;margin:0 auto;padding:.6in;color:#111;line-height:1.5}.letterhead{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:16px}.letterhead .org{font-weight:800;font-size:20px}.letterhead .sub{color:#555;font-size:13px}.letterhead .sev{font:800 14px var(--mono);border:2px solid #111;padding:6px 10px;border-radius:6px}.reporttable{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:10px}.reporttable th{text-align:left;color:#555;font-weight:600;padding:6px 8px 6px 0;width:90px;vertical-align:top}.reporttable td{padding:6px 12px 6px 0;vertical-align:top}.printreport h3{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#555;margin:18px 0 6px}.printreport p{margin:0;white-space:pre-wrap;min-height:1.4em}.sigs{margin-top:40px;display:flex;flex-direction:column;gap:22px;font-size:13px}.printreport .foot{margin-top:30px;font:11px var(--mono);color:#888}@media print{.noprint{display:none}}.langswitch{display:flex;gap:2px;padding:3px;border-radius:9px;background:rgba(20,28,34,.65);border:1px solid var(--line)}.lang{border:0;background:transparent;color:var(--ink-3);font:700 11px/1 var(--mono);padding:6px 8px;border-radius:7px;cursor:pointer}.lang.on{background:var(--brand);color:var(--brand-ink)}.thumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;width:100%}.thumb{width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--line-2);cursor:pointer;display:block}.thumb img{width:100%;height:100%;object-fit:cover;display:block}input[type=file]{color:var(--ink-2);font-size:13px}.listenin{padding:12px}.listenin .meta.live{color:var(--good);font-weight:700}.agenda{display:flex;flex-direction:column;gap:12px}.agendadate{font:700 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-2);margin-bottom:6px}.agendaitem{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(20,28,34,.5);margin-bottom:4px;font-size:13.5px}.agendaitem .t{font:600 11px var(--mono);color:var(--ink-3);width:38px}.agendaitem .what{flex:1 1;min-width:0}.agendaitem.renewal{border-color:rgba(233,185,73,.5)}.agendaitem.maintenance{border-color:rgba(255,84,104,.4)}.agendaitem.run{opacity:.85}.copilot .chat{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto;padding:4px 0 10px}.starters{display:flex;flex-wrap:wrap;gap:6px}.starters .btn{font-size:12.5px;padding:8px 10px}.bubble{padding:10px 12px;border-radius:12px;font-size:13.5px;white-space:pre-wrap;max-width:92%;line-height:1.5}.bubble.user{align-self:flex-end;background:rgba(79,179,166,.2);border:1px solid rgba(79,179,166,.4)}.bubble.assistant{align-self:flex-start;background:rgba(20,28,34,.65);border:1px solid var(--line)}.onduty{display:flex;align-items:center;gap:18px;padding:10px 20px;height:104px;background:radial-gradient(600px 80px at 12% 50%,rgba(125,211,196,.1),transparent 70%)}.onduty-main{flex:0 0 auto;min-width:260px}.onduty-greet{font:700 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brand-2)}.onduty-name{font:800 26px/1.05 var(--sans);letter-spacing:-.025em;color:#fbf7ee;margin:3px 0 4px;white-space:nowrap}.onduty-role{font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:6px;white-space:nowrap}.onduty-role .dot-live{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}.onduty-clock{color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.boardline{padding:0 20px;border-top:1px solid var(--line);background:rgba(10,16,20,.35)}.board{width:100%;min-width:0;height:30px;display:flex;align-items:center;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.board-track{display:inline-flex;white-space:nowrap;animation:board 75s linear infinite;transition:opacity .5s}.board-track.swap{opacity:0}.board:hover .board-track{animation-play-state:paused}.board-item{display:inline-block;margin-right:72px;font-size:14px;color:#f2d38a;letter-spacing:.005em}.board-item.daily{color:var(--ink);font-style:italic}@keyframes board{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:900px){.onduty{height:auto;flex-wrap:wrap}.board{border-left:0;padding-left:0;flex-basis:100%}.onduty-name{font-size:20px}}.viewbar{position:absolute;top:36px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:10px}.mapwrap.split .viewbar{left:20px;transform:none}.seg{display:flex;align-items:center;gap:2px;padding:3px;border-radius:12px;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line)}.seg button{border:0;background:transparent;color:var(--ink-2);font:700 12.5px/1 var(--sans);padding:8px 11px;border-radius:9px;cursor:pointer;white-space:nowrap}.seg button:hover{color:#fff}.seg button.on{background:var(--brand);color:var(--brand-ink)}.seg .seglabel{font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:0 8px 0 10px}.mapwrap.split #map{left:52%}.fleetlist{position:absolute;top:92px;left:20px;bottom:20px;width:calc(52% - 32px);z-index:5;overflow:auto;border-radius:var(--rad);background:var(--panel-solid);border:1px solid var(--line)}.fleetlist tbody tr{cursor:pointer}.fleetlist tbody tr:hover td{background:rgba(79,179,166,.1)}.fleetlist tr.focus td{background:rgba(233,185,73,.14);box-shadow:inset 3px 0 0 var(--amber)}.hud.compact{left:auto;right:20px;top:92px;max-width:300px}.hud.compact>.panel:first-child,.hud.compact>.panel:nth-child(2){display:none}@media(max-width:1100px){.mapwrap.split #map{left:0;top:50%}.fleetlist{width:auto;right:16px;bottom:calc(50% + 8px)}.hud.compact{top:calc(50% + 16px)}}.fleetlist table{width:100%;border-collapse:collapse;font-size:12.5px}.fleetlist td:nth-child(2),.fleetlist td:nth-child(3),.fleetlist td:nth-child(4),.fleetlist td:nth-child(5),.fleetlist td:nth-child(8){white-space:nowrap}.fleetlist td:nth-child(2){max-width:150px;overflow:hidden;text-overflow:ellipsis}.fleetlist th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--panel-solid);text-align:left;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:10px 8px;white-space:nowrap}.fleetlist td,.fleetlist th{border-bottom:1px solid var(--line)}.fleetlist td{padding:9px 8px;vertical-align:middle}.fleetlist tr.stale td{opacity:.6}.fleetlist tr.offroute td{background:hsla(8,79%,72%,.1)}.fleetlist .nextstop{color:var(--brand-2)}.fleetlist .inline{display:flex;gap:6px}@media(max-width:900px){.viewbar{top:auto;bottom:16px;flex-wrap:wrap;justify-content:center;width:calc(100% - 32px)}.fleetlist{inset:16px 16px 70px}}.mapwrap:has(.buscards) #map{visibility:hidden}.buscards{position:absolute;inset:92px 20px 20px;z-index:5;overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.buscard{display:grid;grid-template-columns:360px 1fr;grid-gap:0;gap:0;border-radius:var(--rad);overflow:hidden;background:var(--panel-solid);border:1px solid var(--line);cursor:pointer;min-height:230px}.buscard:hover{border-color:var(--brand)}.buscard.focus{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber)}.buscard.offroute{border-color:hsla(8,79%,72%,.65)}.buscard.stale{opacity:.7}.buscard-body{padding:14px 16px}.buscard-head{display:flex;align-items:center;gap:12px}.tag.big{font-size:20px}.buscard-route{font-weight:700;font-size:16px}.buscard-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px 16px;gap:10px 16px;margin-top:12px}.buscard-stats .k{display:block;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.buscard-stats b{font-weight:600;font-size:13.5px}.buscard-stats .nextstop{color:var(--brand-2)}.minimap{position:relative;min-height:230px}.minimap-canvas,.minimap>.minimap-canvas.maplibregl-map{position:absolute;inset:0;width:100%;height:100%}.minimap.focus .minimap-canvas{outline:2px solid var(--amber);outline-offset:-2px}.minimap-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-3);font-size:13px}.minimap-badge{position:absolute;left:8px;top:8px;font:700 11px/1 var(--mono);color:#22d3ee;background:rgba(20,28,34,.8);padding:4px 7px;border-radius:6px}.bus-marker.mini{width:14px;height:40px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.hud.hidden-cards{display:none}@media(max-width:900px){.buscard{grid-template-columns:1fr}.minimap{height:180px}.buscard-stats{grid-template-columns:repeat(2,1fr)}}.tag.solid{padding:3px 7px;border-radius:6px;font-weight:800}.tag.big.solid{padding:5px 9px;border-radius:8px}.bus-marker .busno{font-size:11px;padding:2px 5px;border:1.5px solid #1a2228}.bus-marker.mini .busno{font-size:9px;padding:1px 4px;top:60%}.bus-marker{filter:drop-shadow(0 0 3px var(--bus,transparent)) drop-shadow(0 3px 6px rgba(0,0,0,.55))}.mapwrap .panel{background:rgba(24,33,40,.32);box-shadow:0 12px 40px rgba(0,0,0,.35),inset 0 1px 0 hsla(0,0%,100%,.12)}.mapwrap .panel,.mapwrap .seg{backdrop-filter:blur(5px) saturate(1.2);-webkit-backdrop-filter:blur(5px) saturate(1.2);border-color:hsla(0,0%,100%,.22)}.mapwrap .seg{background:rgba(24,33,40,.38);box-shadow:0 8px 24px rgba(0,0,0,.3),inset 0 1px 0 hsla(0,0%,100%,.12)}.mapwrap .busrow,.mapwrap .placerow{background:rgba(20,28,34,.22);border-color:hsla(0,0%,100%,.14)}.mapwrap .busrow.hot,.mapwrap .busrow:hover{background:rgba(20,28,34,.5)}.buscard,.fleetlist{background:rgba(30,41,50,.4);backdrop-filter:blur(5px) saturate(1.2);-webkit-backdrop-filter:blur(5px) saturate(1.2);border-color:hsla(0,0%,100%,.2)}.fleetlist th{background:rgba(30,41,50,.7)}.alertdrawer,.buscard,.fleetlist,.mapwrap .panel,.mapwrap .seg{--halo:0 0 2px rgba(0,0,0,.95),0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.6);color:#fbf8f1}.alertdrawer *,.buscard-body *,.fleetlist td,.fleetlist th,.mapwrap .panel *,.mapwrap .seg button{text-shadow:var(--halo)}.buscard .meta,.fleetlist td,.mapwrap .busrow .meta,.mapwrap .panel .meta{color:#e6e1d6}.buscard-stats .k,.fleetlist th,.mapwrap .panel .k,.mapwrap .panel .l,.mapwrap .seg .seglabel,.stoplabel{color:#cfe9e2;font-weight:700}.mapwrap .seg button{color:#f3efe6;font-weight:800}.mapwrap .seg button.on{text-shadow:none}.kpi .n{font-weight:900}.buscard-route,.busrow>div>div:first-child{font-weight:800}.avatar.initials,.chip,.tag.solid{text-shadow:none}.minimap{background:#1a2228}.busrow .tag,.kpi .n,.stoplabel{text-shadow:0 1px 2px rgba(0,0,0,.5)}.mapwrap:before{content:"";position:absolute;inset:0 0 auto 0;height:70px;background:linear-gradient(180deg,rgba(10,16,20,.42),transparent);pointer-events:none;z-index:4}.kpi .n{text-shadow:0 1px 0 rgba(0,0,0,.4)}.busrow{transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;border-left:3px solid transparent}.busrow.hot,.busrow:hover{border-color:var(--bus,var(--brand));background:rgba(20,28,34,.85);transform:translateX(3px);box-shadow:0 6px 18px rgba(0,0,0,.35)}.busrow.focus{border-left-color:var(--bus,var(--amber))}.fleetlist tbody tr{transition:background .12s ease}.fleetlist tr.hot td{background:rgba(79,179,166,.16);box-shadow:inset 3px 0 0 var(--bus,var(--brand))}.buscard{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.buscard:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.45);border-color:var(--bus,var(--brand))}.bus-marker{transition:transform .15s ease,filter .15s ease}.bus-marker.hot{z-index:10;filter:drop-shadow(0 0 8px var(--bus,#fff)) drop-shadow(0 0 16px var(--bus,#fff)) drop-shadow(0 3px 6px rgba(0,0,0,.6))}.bus-marker.hot .busno{transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 2px #1a2228}.placerow{transition:background .12s ease}.btn{transition:border-color .12s ease,background .12s ease,transform .08s ease}.btn:active{transform:scale(.97)}.maplibregl-popup.buspop .maplibregl-popup-content{background:rgba(24,33,40,.95);color:var(--ink);border:1px solid rgba(190,205,200,.35);border-radius:12px;padding:10px 12px;box-shadow:0 12px 34px rgba(0,0,0,.55);font-family:var(--sans);min-width:220px;pointer-events:none}.maplibregl-popup.buspop .maplibregl-popup-tip{border-top-color:rgba(24,33,40,.95);border-bottom-color:rgba(24,33,40,.95)}.buspop-head{display:flex;align-items:center;gap:8px;font-size:13.5px;margin-bottom:4px}.buspop-row{font-size:12px;color:var(--ink-2);margin-bottom:8px}.buspop-row .bad{color:#f5b3a8;font-weight:700}.buspop-grid{display:grid;grid-template-columns:auto 1fr;grid-gap:3px 10px;gap:3px 10px;font-size:12px}.buspop-grid span{color:var(--ink-3);font:600 10px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase}.buspop-grid b{font-weight:600}.ops-inline .hud.right{position:static;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;max-width:none;width:100%}.ops-inline .hud.right .panel{margin:0}@media(max-width:1000px){.ops-inline .hud.right{grid-template-columns:1fr}}.avatar{border-radius:50%;object-fit:cover;flex:0 0 auto;display:inline-grid;place-items:center;background:var(--panel-solid);border:1.5px solid hsla(0,0%,100%,.12);vertical-align:middle}.avatar.initials{font:800 12px/1 var(--sans);color:#1a2228;letter-spacing:.02em}.withavatar{display:inline-flex;align-items:center;gap:8px}.avatar-upload{position:relative;display:inline-block;flex:0 0 auto}.avatar-upload .avatar-edit{position:absolute;right:-4px;bottom:-4px;font-size:11px;background:var(--panel-solid);border:1px solid var(--line-2);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;opacity:0;transition:opacity .15s}.avatar-upload:hover .avatar-edit{opacity:1}.whoami{display:inline-flex;align-items:center;gap:10px}.onduty-photo{flex:0 0 auto}.onduty-photo .avatar{border:2px solid var(--brand);box-shadow:0 0 0 3px rgba(79,179,166,.25)}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex:0 0 auto}.wm-badge{width:44px;height:44px;border-radius:12px;background:linear-gradient(160deg,#243640,#1a2228);border:1px solid var(--line-2);display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.35),inset 0 1px 0 hsla(0,0%,100%,.06)}.wm-badge svg{width:30px;height:19px}.wm-text{display:flex;flex-direction:column;line-height:1}.wm-name{font:800 21px/1 var(--sans);letter-spacing:-.025em;color:#fbf7ee;white-space:nowrap}.wm-name em{font-style:normal;color:var(--brand-2)}.wm-sub{font:600 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;white-space:nowrap}.wm-org{display:flex;align-items:center;gap:8px;line-height:1;padding-left:14px;margin-left:2px;border-left:1px solid var(--line-2);max-width:340px}.wm-org b{font:800 17px/1.15 var(--sans);letter-spacing:-.01em;color:#fbf7ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-orglbl{font-size:18px;line-height:1}@media(max-width:900px){.wm-sub{display:none}.wm-name{font-size:17px}.wm-org{max-width:150px}.wm-org b{font-size:13px}}.tabs a.tab{text-decoration:none;text-align:center}.barcode{width:100%;max-height:48px;margin-top:4px}.size-1x3 .stickers{grid-template-columns:repeat(auto-fill,3in)}.size-1x3 .sticker{width:3in;height:1in;flex-direction:row;text-align:left;gap:.08in;padding:.06in .1in}.size-1x3 .sticker .qr{width:.8in;height:.8in;flex:0 0 auto}.size-1x3 .sticker .stitle{margin:0;font-size:10px}.size-1x3 .sticker .sbrand{margin:0;font-size:6px}.size-1x3 .sticker .barcode{max-height:.3in;width:1.6in}.size-1_5x1_5 .stickers{grid-template-columns:repeat(auto-fill,1.5in)}.size-1_5x1_5 .sticker{width:1.5in;height:1.5in;padding:.06in}.size-1_5x1_5 .sticker .qr{width:.8in;height:.8in}.size-1_5x1_5 .sticker .stitle{font-size:9px}.size-1_5x1_5 .sticker .ssub{display:none}.size-1_5x1_5 .sticker .scode{font-size:7.5px}.sym-both .sticker .qr{width:.85in;height:.85in}.aiinsight{flex:0 1 460px;min-width:280px;display:flex;flex-direction:column;gap:3px;padding:8px 12px;border-radius:12px;text-decoration:none;color:inherit;background:rgba(20,28,34,.55);border:1px solid var(--line-2);transition:border-color .15s,background .15s}.aiinsight:hover{border-color:var(--brand);background:rgba(79,179,166,.08)}.aiinsight.urgent{border-color:hsla(8,79%,72%,.6)}.aiinsight.warning{border-color:rgba(233,185,73,.55)}.ai-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-k{font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-2)}.ai-count{display:flex;gap:8px;font:600 10px/1 var(--mono);color:var(--ink-3)}.ai-count .u{color:var(--bad)}.ai-count .w{color:var(--amber)}.ai-brief{font-size:12.5px;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-rec{font-size:11.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:fadein .4s ease}.ai-rec.urgent{color:#f5b3a8}.ai-rec.warning{color:var(--amber)}@keyframes fadein{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:1300px){.board{display:none}}@media(max-width:900px){.aiinsight{flex-basis:100%}}.alertdrawer .btn,.alertdrawer input,.alertdrawer select,.buscard .btn,.fleetlist .btn,.mapwrap .panel .btn,.mapwrap .panel input,.mapwrap .panel select,.mapwrap .panel textarea,.mapwrap .seg button.on{text-shadow:none!important}.mapwrap .panel .btn.primary{color:var(--brand-ink);font-weight:800}.mapwrap .panel input,.mapwrap .panel select,.mapwrap .panel textarea{background:rgba(20,28,34,.78);color:#f3efe6}.viewbar{gap:8px}.seg button{padding:8px 9px;font-size:12px}@media(max-width:1700px){.viewbar{left:20px;right:20px;transform:none;justify-content:center;flex-wrap:wrap}.buscards,.fleetlist,.hud,.hud.compact,.hud.right{top:92px}.mapwrap.split .viewbar{left:20px;right:auto}}@media(max-width:1100px){.viewbar{justify-content:flex-start}.hud,.hud.right{top:140px}}.navhead{padding:14px 16px}.navname{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-top:4px}.navmeta{color:var(--ink-2);font-size:14px;margin-top:4px}.drivermap{position:relative;height:46dvh;min-height:280px;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:#1a2228}.drivermap-canvas,.drivermap>.drivermap-canvas.maplibregl-map{position:absolute;inset:0;width:100%;height:100%}.drivermap .follow{position:absolute;right:10px;top:10px;z-index:5;padding:8px 12px}.bus-marker.me{width:18px;height:50px}.stop-marker.done{background:var(--good);opacity:.8}.stop-marker.next{background:var(--amber);transform:scale(1.25);box-shadow:0 0 0 4px rgba(233,185,73,.35),0 2px 8px rgba(0,0,0,.5)}.turns{display:flex;flex-direction:column;gap:6px}.turn{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.55)}.turn.now{border-color:var(--brand);background:rgba(79,179,166,.14)}.turn .arrow{font-size:26px;width:36px;text-align:center}.turn-text{font-weight:700;font-size:15px}.turn.now .turn-text{font-size:17px}.turn .meta{color:var(--ink-3);font-size:12px}.securement{padding:14px}.secname{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:4px 0 6px}.secrow{width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit}.secnum{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font:700 11px/1 var(--mono);background:rgba(20,28,34,.7);border:1px solid var(--line);color:var(--ink-3);flex:0 0 auto}.secrow.pass .secnum{background:var(--good);color:#0f1c1a;border-color:transparent}.secbox{width:28px;height:28px;border-radius:8px;border:2px solid var(--line-2);display:grid;place-items:center;font-weight:900;color:var(--good);flex:0 0 auto}.secrow.pass .secbox{border-color:var(--good);background:rgba(124,197,154,.15)}.dwell{margin-top:8px;font-size:13px;color:var(--amber);font-weight:600}.driverwrap{max-width:1040px;margin:0 auto;padding:22px 24px 40px}.driver{font-size:17px;line-height:1.45}html.xl .driver{font-size:20px}html.xxl .driver{font-size:23px}.driver h1{font-size:1.6em}.driver .runtitle .chip{font-size:.8em;padding:8px 12px}.driver .btn{min-height:56px;font-size:1.05em;padding:12px 18px;border-radius:14px}.driver .btn.ghost.dim{min-height:48px}.driver .big-btn{min-height:68px;font-size:1.25em}.driver .stat{padding:16px 0;font-size:1.05em}.driver .stat .v{font-size:1.1em}.driver .headcount{padding:10px 22px}.driver .headcount .n{font-size:2.4em}.driver .headcount .l{font-size:.6em}.driver .tabs{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;padding:6px;margin:16px 0 14px}.driver .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:72px;padding:8px 4px;position:relative;font-size:.85em}.driver .tab .tab-ic{font-size:1.6em;line-height:1}.driver .tab .tab-lb{font-weight:800;letter-spacing:.01em}.driver .tab .badge{position:absolute;top:6px;right:8px;background:var(--bad);color:#2a1210;font:800 11px/1 var(--mono);padding:3px 6px;border-radius:99px}.driver .tab.on{box-shadow:0 6px 18px rgba(79,179,166,.35)}.driver .tab.sos.on{box-shadow:0 6px 18px hsla(8,79%,72%,.4)}.driver .stopname{font-size:1.7em}.driver .stoplabel{font-size:.7em}.driver .stopaddr{font-size:.95em}.driver .riderrow{padding:14px 16px;gap:12px;border-radius:14px}.driver .riderrow>div>div:first-child{font-size:1.1em}.driver .rstatus{font-size:.85em}.driver .stopitem{padding:11px 12px;font-size:1em}.driver .stopitem .seq{width:28px;height:28px;font-size:.8em}.driver .field label{font-size:.7em}.driver .field input,.driver input.plain,.driver select.plain,.driver textarea.plain{font-size:1.05em;padding:14px;min-height:54px;border-radius:14px}.driver .hint,.driver .notice{font-size:.95em}.driver .hint{color:var(--ink-2)}.driver .err{font-size:.95em}.driver .checkrow{padding:14px 16px;border-radius:14px}.driver .checkrow .lbl{font-size:1.05em}.driver .checkrow .pf .btn{min-height:52px;padding:10px 18px}.driver .sosbtn{min-height:110px;font-size:1.5em}.driver .alertrow{padding:14px 16px}.driver .alertrow .body{font-size:1.05em}.driver .navname{font-size:1.9em}.driver .navmeta{font-size:1.05em}.driver .turn-text{font-size:1.15em}.driver .turn.now .turn-text{font-size:1.35em}.driver .drivermap{height:52dvh}.driver .viewfinder{aspect-ratio:16/10}.driver .toast{font-size:1.15em;padding:16px 22px}.driver .avatar{width:40px!important;height:40px!important}.textsize{min-height:36px;padding:6px 12px;font:800 13px var(--mono)}@media(min-width:900px){.driver .tabbody.stops{display:grid;grid-template-columns:1.25fr .85fr;grid-gap:16px;gap:16px;align-items:start}.driver .tabbody.stops>.curstop{grid-row:span 3}.driver .tabbody.stops>.notice{grid-column:1/-1}}@media(max-width:700px){.driver .tabs{grid-template-columns:repeat(4,1fr)}.driverwrap{padding:14px 14px 30px}}.driver .beacon{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:10px 18px;gap:10px 18px;align-items:center;padding:6px 0 0}.driver .beacon .stat{padding:8px 0;border:0;gap:10px;justify-content:flex-start}.driver .beacon .big-btn{grid-column:1/-1;margin-top:6px}.driver .beacon .hint{grid-column:1/-1;margin-top:4px}@media(min-width:900px){.driver .beacon{grid-template-columns:auto auto auto 1fr}.driver .beacon .big-btn{grid-column:auto;margin-top:0;min-width:260px;justify-self:end}.driver .beacon .hint{grid-column:1/-1;text-align:right}}button.headcount{cursor:pointer;font:inherit;color:inherit}button.headcount:active{transform:scale(.97)}.callbar{gap:12px;flex-wrap:wrap;margin-top:12px}.autocall,.callbar{display:flex;align-items:center}.autocall{gap:6px;font-size:13px;color:var(--ink-2)}.autocall input{width:18px;height:18px}.callwrap{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:rgba(8,12,16,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.callcard{background:var(--panel-solid);border:1px solid var(--line-2);border-radius:22px;padding:20px;max-width:640px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.5)}.callhead{display:flex;align-items:center;gap:10px}.callhead .stoplabel{flex:1 1}.callhead .stoplabel+.stoplabel{flex:0 0 auto}.callname{font-size:clamp(34px,7vw,56px);font-weight:800;letter-spacing:-.02em;line-height:1.05;text-align:center;padding:28px 8px 18px;animation:callin .25s ease-out}@keyframes callin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.callmeta{font:600 14px var(--sans);color:var(--ink-3);margin-top:8px}.callbtns{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.callbig{padding:22px 14px;font-size:19px;border-radius:16px;white-space:normal;line-height:1.15}.warnbtn{border-color:rgba(255,176,32,.6);background:rgba(255,176,32,.14);color:var(--ink)}.callrow{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.callnext{text-align:center;color:var(--ink-3);font-size:14px;margin-top:14px}.callsummary{display:flex;gap:16px;justify-content:center;font-weight:700;font-size:16px;padding:4px 0 8px}.manifest{max-height:88vh}.manifest,.manlist{display:flex;flex-direction:column}.manlist{overflow:auto;gap:6px;margin-top:10px;min-height:0}.mansum{display:flex;gap:16px;justify-content:center;font-weight:600;font-size:14px;color:var(--ink-2);margin-top:12px}.routesheet{max-width:11in}.sheettable{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:8px}.sheettable th{text-align:left;font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#555;border-bottom:2px solid #111;padding:6px}.sheettable td{padding:7px 6px;border-bottom:1px solid #ddd;vertical-align:top}.sheettable td.box{font-size:16px;text-align:center;width:34px}.routesheet .mono,.sheettable td.mono{font-family:var(--mono)}.routesheet .dimcount{color:#888;font-weight:500}.stopgroup{page-break-inside:avoid;break-inside:avoid;margin-bottom:8px}.signoff{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px;margin-top:34px}.signoff div{border-top:1px solid #111;padding-top:6px;font:11px var(--mono);color:#555}@media print{.routesheet{max-width:none;padding:.4in}.sheettable tr{page-break-inside:avoid;break-inside:avoid}@page{size:letter;margin:.5in}}.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.roster{margin-top:8px;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:rgba(20,28,34,.45);display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.roster .rrow{display:grid;grid-template-columns:22px 1fr auto auto;grid-gap:8px;gap:8px;align-items:center;font-size:12.5px;padding:3px 0;border-bottom:1px solid var(--line)}.roster .rrow:last-child{border-bottom:0}.roster .rname{font-weight:600}.roster .dim{color:var(--ink-3)}.popnames{font-weight:500;font-size:11px;color:var(--ink-2);margin-top:2px;max-width:260px;white-space:normal}.stopitem .eta{color:var(--brand-2);font-weight:700}.fam{min-height:100dvh;display:grid;place-items:start center;padding:18px;background:var(--bg)}.famcard{width:100%;max-width:520px;background:var(--panel-solid);border:1px solid var(--line-2);border-radius:22px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.famtop{display:flex;justify-content:space-between;align-items:center;gap:10px}.famorg{font:700 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.famlangs{display:flex;gap:4px}.famlangs button{border:1px solid var(--line);background:transparent;color:var(--ink-2);font:700 11px var(--mono);padding:5px 8px;border-radius:7px;cursor:pointer}.famlangs button.on{background:var(--brand);color:var(--brand-ink);border-color:transparent}.famcard h1{font-size:34px;letter-spacing:-.02em;margin:10px 0 2px}.famsub{color:var(--ink-3);font-size:14px}.famstatus{margin-top:16px;padding:18px;border-radius:16px;border:1px solid var(--line-2);background:hsla(0,0%,100%,.03)}.famstatus.go{border-color:rgba(124,197,154,.5);background:rgba(124,197,154,.1)}.famstatus.here{border-color:var(--amber);background:rgba(255,176,32,.14)}.famstatus.done{border-color:var(--line-2);background:hsla(0,0%,100%,.04)}.famstatus.warn{border-color:hsla(8,79%,72%,.6);background:hsla(8,79%,72%,.12)}.famhead{font-size:clamp(21px,6.2vw,26px);font-weight:800;letter-spacing:-.02em;line-height:1.15}.famdetail{color:var(--ink-2);margin-top:6px;font-weight:600}.famgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:12px}.famgrid div{background:hsla(0,0%,100%,.03);border:1px solid var(--line);border-radius:12px;padding:10px}.famgrid span{display:block;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.famgrid b{font-size:18px}.fammap{width:100%;height:240px;border:1px solid var(--line);border-radius:14px;margin-top:12px;background:#0f151a;overflow:hidden}.fammap,.fammap.maplibregl-map{position:relative}.fam-stop{display:flex;flex-direction:column;align-items:center;gap:0}.fam-stop span{font-size:22px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.fam-stop b{font:800 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;background:#fff;color:#1a2228;padding:2px 6px;border-radius:6px;margin-top:-2px;box-shadow:0 2px 6px rgba(0,0,0,.4)}.famseen{display:flex;align-items:center;gap:6px;margin-top:6px;color:var(--ink-3);font:600 12px var(--mono)}.livedot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(124,197,154,.6);animation:livepulse 1.6s infinite;margin-right:6px;vertical-align:middle}@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(124,197,154,.6)}70%{box-shadow:0 0 0 8px rgba(124,197,154,0)}to{box-shadow:0 0 0 0 rgba(124,197,154,0)}}@media(prefers-reduced-motion:reduce){.livedot{animation:none}}.famback{display:inline-block;margin-top:12px;color:var(--brand);font-weight:700;font-size:14px;text-decoration:none}.famicon{font-size:26px;margin-right:8px;vertical-align:-2px}.famprog{margin-top:12px}.famprogbar{display:flex;gap:4px}.famprogbar span{flex:1 1;height:8px;border-radius:4px;background:hsla(0,0%,100%,.12)}.famprogbar span.done{background:var(--good)}.famprogbar span.mine{outline:2px solid #fff;outline-offset:1px}.famprogbar.small{margin:2px 0 8px}.famprogbar.small span{height:6px}.famproglbl{margin-top:6px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.kidid{display:flex;align-items:center;gap:10px}.kidicon{font-size:28px;line-height:1}.famactions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.fambtn{flex:1 1;padding:14px;border-radius:14px;border:1px solid transparent;background:linear-gradient(180deg,#5cc0b2,#43a396);color:var(--brand-ink);font-weight:800;font-size:15px;cursor:pointer}.fambtn.ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}.fampill{flex:1 1;text-align:center;padding:14px;border-radius:14px;border:1px solid rgba(124,197,154,.5);color:var(--good);font-weight:700}.famnote{margin-top:10px;color:var(--amber);font-weight:600;font-size:14px}.famfoot{margin-top:16px;color:var(--ink-3);font-size:12px;line-height:1.5}.rstatus.absent{color:var(--amber)}.famlinks{width:100%;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}.famlink{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:8px;gap:8px;align-items:center;font-size:12.5px}.famlink input{font-size:12px;padding:6px 8px}.famletter{display:grid;grid-template-columns:150px 1fr;grid-gap:18px;gap:18px;align-items:start;border-bottom:1px dashed #999;padding:16px 0;page-break-inside:avoid;break-inside:avoid}.famqr svg{width:150px;height:150px}.famorg2{font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#555}.famtitle{font-size:20px;font-weight:800;margin:4px 0}.famwho{font-size:13px;color:#333;margin-bottom:6px}.famletter p{font-size:12.5px;line-height:1.45;margin:0 0 8px;color:#222}.famurl{font:12px var(--mono);word-break:break-all;color:#111}.famkeep{font-size:11px;color:#777;margin-top:4px}.famsec{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.famsech{font:700 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.famtr{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.famtr .dim{color:var(--ink-3)}.fambtn.small{flex:0 0 auto;padding:8px 12px;font-size:13px}.fambtn.danger{background:linear-gradient(180deg,#f08c7d,#d9614f);color:#2a1210}.famx{background:transparent;border:1px solid var(--line);color:var(--ink-3);border-radius:8px;width:30px;height:30px;cursor:pointer}.famform{display:flex;flex-direction:column;gap:6px;margin-top:6px}.famform input,.famform select,.famform textarea{padding:10px;border-radius:10px;border:1px solid var(--line-2);background:hsla(0,0%,100%,.04);color:var(--ink);font:inherit}.famform textarea{resize:vertical}.famthread{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.fammsg{padding:8px 10px;border-radius:12px;font-size:14px;max-width:88%}.fammsg.family{align-self:flex-end;background:rgba(79,179,166,.18);border:1px solid rgba(79,179,166,.35)}.fammsg.dispatch{align-self:flex-start;background:hsla(0,0%,100%,.05);border:1px solid var(--line)}.fammsg .who{font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px}.statrow{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:12px}.statrow .stat{border:1px solid var(--line);border-radius:12px;background:rgba(20,28,34,.5)}.statrow .stat .k{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.statrow .stat .v{font-size:20px;font-weight:800}.famthread.dispatch{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(20,28,34,.45)}.statrow{grid-template-columns:repeat(4,1fr)}.announce{padding:12px 14px;border:1px solid rgba(233,185,73,.45);background:rgba(233,185,73,.07);border-radius:12px;margin-bottom:12px}.announce select{padding:9px 10px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel-solid);color:var(--ink);font:inherit}.signform .signs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sign{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--line-2);background:rgba(20,28,34,.55);font-size:12.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sign input{position:absolute;opacity:0;width:0;height:0}.sign .ic{font-size:15px}.sign.on{border-color:var(--amber);background:rgba(233,185,73,.18);color:#fff}.sign.red.on{border-color:var(--bad);background:hsla(8,79%,72%,.2)}.sign.blue.on{border-color:#7fb8ff;background:rgba(127,184,255,.18)}.sign:has(input:checked){border-color:var(--amber);background:rgba(233,185,73,.18);color:#fff}.sign.red:has(input:checked){border-color:var(--bad);background:hsla(8,79%,72%,.2)}.sign.blue:has(input:checked){border-color:#7fb8ff;background:rgba(127,184,255,.18)}.wxsigns{margin-bottom:12px;padding:14px 16px;border-radius:16px;border:2px solid var(--amber);background:linear-gradient(180deg,rgba(233,185,73,.22),rgba(233,185,73,.08));box-shadow:0 0 0 4px rgba(233,185,73,.12)}.wxsigns.red{border-color:var(--bad);background:linear-gradient(180deg,hsla(8,79%,72%,.25),hsla(8,79%,72%,.08));box-shadow:0 0 0 4px hsla(8,79%,72%,.14);animation:wxpulse 2s ease-in-out infinite}.wxsigns.soon{opacity:.85;border-style:dashed}@keyframes wxpulse{0%,to{box-shadow:0 0 0 4px hsla(8,79%,72%,.14)}50%{box-shadow:0 0 0 8px hsla(8,79%,72%,.05)}}.wxhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.wxlbl{font:800 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.wxsigns.red .wxlbl{color:#ffb4a8}.wxwhen{font:700 13px var(--mono);color:var(--ink)}.wxrow{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.wxsign{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:96px;padding:10px 12px;border-radius:14px;background:rgba(10,14,18,.55);border:1px solid hsla(0,0%,100%,.14)}.wxsign .ic{font-size:34px;line-height:1}.wxsign .lb{font:800 13px var(--sans);margin-top:6px;text-transform:uppercase;letter-spacing:.04em;text-align:center}.wxsign.red{border-color:hsla(8,79%,72%,.6)}.wxsign.amber{border-color:rgba(233,185,73,.6)}.wxsign.blue{border-color:rgba(127,184,255,.6)}.wxtips{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;font-size:14px;line-height:1.4;color:var(--ink)}.driver .wxtips{font-size:1.05em}.topbar.dispatch{background:linear-gradient(90deg,#0e1a24,#15242f 55%,#0e1a24);box-shadow:0 10px 30px rgba(0,0,0,.35);border-bottom:0;position:relative}.topbar.dispatch:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:repeating-linear-gradient(135deg,var(--amber) 0 18px,#111 18px 36px);opacity:.75}.topbar.dispatch .topbar-row{padding:10px 20px;border-bottom:1px solid hsla(0,0%,100%,.07);background:radial-gradient(700px 60px at 0 0,rgba(79,179,166,.14),transparent 70%)}.topbar.dispatch .wm-name{font-size:23px;text-shadow:0 0 18px rgba(125,211,196,.25)}.topbar.dispatch .wm-name em{color:var(--brand-2);text-shadow:0 0 22px rgba(125,211,196,.55)}.topbar.dispatch .wm-sub{color:var(--brand)}.topbar.dispatch .topnav{gap:4px;padding:3px;border-radius:12px;background:rgba(10,14,18,.45);border:1px solid hsla(0,0%,100%,.08)}.topbar.dispatch .navlink{font-size:12.5px;padding:7px 11px;border-radius:9px;color:var(--ink-2)}.topbar.dispatch .navlink:hover{background:hsla(0,0%,100%,.06);color:#fff}.topbar.dispatch .navlink.on{background:linear-gradient(180deg,#5cc0b2,#43a396);color:var(--brand-ink);box-shadow:0 4px 14px rgba(79,179,166,.35)}.topbar.dispatch .chip.live{color:var(--good);border-color:rgba(124,197,154,.5);background:rgba(124,197,154,.12);box-shadow:0 0 14px rgba(124,197,154,.25)}.topbar.dispatch .onduty{height:auto;min-height:104px;padding:10px 20px;background:radial-gradient(600px 90px at 10% 50%,rgba(125,211,196,.12),transparent 70%),linear-gradient(180deg,hsla(0,0%,100%,.02),transparent)}.topbar.dispatch .onduty-photo{position:relative}.topbar.dispatch .onduty-photo:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--brand);box-shadow:0 0 16px rgba(79,179,166,.45);pointer-events:none}.topbar.dispatch .onduty-name{font-size:30px;background:linear-gradient(90deg,#fff,#dfe8e6);-webkit-background-clip:text;background-clip:text;color:transparent}.topbar.dispatch .onduty-greet{color:var(--brand-2);letter-spacing:.2em}.glance{gap:8px;flex-wrap:wrap;padding:0 6px}.gchip,.glance{display:flex;align-items:center}.gchip{flex-direction:column;justify-content:center;min-width:64px;padding:6px 10px;border-radius:12px;border:1px solid hsla(0,0%,100%,.1);background:rgba(10,14,18,.5);text-decoration:none;color:var(--ink)}.gchip .gn{font:800 18px/1 var(--mono);letter-spacing:-.02em;color:#fff}.gchip .gn small{font-size:11px;color:var(--ink-3);font-weight:600}.gchip .gl{font:600 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;white-space:nowrap}.gchip.hot{border-color:rgba(233,185,73,.6);background:rgba(233,185,73,.12)}.gchip.hot .gn{color:var(--amber)}.gchip.wx .gn{color:var(--brand-2)}.gchip.signs{border-color:rgba(233,185,73,.6);background:rgba(233,185,73,.12);animation:gpulse 1.8s ease-in-out infinite}@keyframes gpulse{0%,to{box-shadow:0 0 0 0 rgba(233,185,73,.35)}50%{box-shadow:0 0 0 6px rgba(233,185,73,0)}}@media(max-width:1100px){.glance{display:none}}.haz-marker{display:flex;flex-direction:column;align-items:center;gap:2px;transform:translateY(-6px);cursor:help}.haz-marker .hi{font-size:22px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7))}.haz-marker .hc{font:800 10.5px var(--mono);background:#ffd23f;color:#111;padding:2px 5px;border-radius:5px;border:1px solid #111;box-shadow:0 2px 6px rgba(0,0,0,.5)}.haz-marker.low_bridge .hc,.haz-marker.no_bus .hc{background:#ff5468;color:#fff}.hazwarn{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:45;min-width:min(680px,94vw);padding:16px 20px;border-radius:18px;background:#2a0f12;border:3px solid #ff5468;box-shadow:0 0 0 6px rgba(255,84,104,.25),0 20px 60px rgba(0,0,0,.6);color:#fff;animation:hazpulse 1s ease-in-out infinite;display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;align-items:center}.hazwarn.amber{background:#2a1e08;border-color:#ffb020;box-shadow:0 0 0 6px rgba(255,176,32,.25),0 20px 60px rgba(0,0,0,.6)}@keyframes hazpulse{0%,to{box-shadow:0 0 0 6px rgba(255,84,104,.25),0 20px 60px rgba(0,0,0,.6)}50%{box-shadow:0 0 0 12px rgba(255,84,104,.05),0 20px 60px rgba(0,0,0,.6)}}.hazwarn .hi{font-size:44px;line-height:1}.hazwarn .ht{font:800 24px/1.05 var(--sans);letter-spacing:-.02em}.hazwarn .hs{font:700 15px var(--mono);margin-top:4px;color:#ffd6dc}.hazwarn.amber .hs{color:#ffe2a8}.hazwarn .hd{font:800 28px var(--mono);text-align:right}.hazwarn .hd small{display:block;font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:.75}.hazwarn button{grid-column:1/-1;justify-self:end;background:transparent;border:1px solid hsla(0,0%,100%,.4);color:#fff;border-radius:8px;padding:6px 12px;font:700 12px var(--mono);cursor:pointer}.famcard.wide{max-width:640px}.kids{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.kid{border:1px solid var(--line-2);border-radius:16px;padding:14px 16px;background:hsla(0,0%,100%,.03)}.kid.go{border-color:rgba(124,197,154,.5);background:rgba(124,197,154,.08)}.kid.here{border-color:var(--amber);background:rgba(255,176,32,.12)}.kid.warn{border-color:hsla(8,79%,72%,.6);background:hsla(8,79%,72%,.1)}.kid.done{opacity:.85}.kidhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.kidname{font-size:24px;font-weight:800;letter-spacing:-.02em}.kidmeta{color:var(--ink-3);font-size:13px}.kidstatus{font-size:clamp(17px,5vw,19px);font-weight:800;margin:8px 0 6px;letter-spacing:-.01em}.kiddetail{font-weight:600;color:var(--ink-2)}.kidactions{display:flex;gap:8px}.hh{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(20,28,34,.35);margin-bottom:12px}.hh select[multiple]{padding:6px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel-solid);color:var(--ink);font:inherit}.roadway{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:12px}.roadway .rw{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;text-align:left;white-space:normal;border:2px solid var(--line-2)}.roadway .rw small{font-weight:500;color:var(--ink-3);font-size:12px}.roadway .rw.on{border-color:var(--bad);background:rgba(255,84,104,.14)}.roadway .rw.on:last-child{border-color:var(--good);background:rgba(124,197,154,.12)}.bd-marker{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:help}.bd-marker .bi{font-size:26px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8))}.bd-marker .bl{font:800 10px var(--mono);letter-spacing:.06em;background:#ffb020;color:#111;padding:3px 6px;border-radius:5px;border:1px solid #111;white-space:nowrap}.bd-marker.roadway .bl{background:#ff5468;color:#fff;animation:blink 1s steps(2,start) infinite}.bus-marker.broken{filter:drop-shadow(0 0 8px #ff5468) drop-shadow(0 0 16px #ff5468);animation:pulse 1s infinite}.bdbanner{margin:6px 0 0;font-weight:800}.bdbanner.roadway{animation:blink 1.2s steps(2,start) infinite}.bdtools{margin-top:6px;gap:6px;flex-wrap:wrap}.bdtools .btn{padding:6px 9px;font-size:12px}.cal{margin-bottom:8px}.calbar{gap:12px;flex-wrap:wrap;margin-bottom:10px}.calbar,.calnav{display:flex;align-items:center}.calnav{gap:6px}.calnav b{min-width:150px;text-align:center;font-size:15px}.callegend{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;font:600 11px var(--mono);color:var(--ink-3)}.calmonth{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.caldow{font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:4px 0}.calcell{min-height:92px;text-align:left;display:flex;flex-direction:column;gap:2px;padding:6px 7px;border-radius:10px;border:1px solid var(--line);background:rgba(20,28,34,.45);color:var(--ink);font:500 11.5px/1.3 var(--sans);cursor:pointer;overflow:hidden}.calcell.empty{border-color:transparent;background:transparent;cursor:default}.calcell.past{opacity:.6}.calcell.today,.calcell:hover{border-color:var(--brand)}.calcell.today{box-shadow:inset 0 0 0 1px var(--brand)}.calcell.today .dnum{background:var(--brand);color:var(--brand-ink)}.calcell.sel{background:rgba(79,179,166,.14);border-color:var(--brand-2)}.calcell.noschool{background:repeating-linear-gradient(135deg,rgba(233,185,73,.1) 0 8px,rgba(233,185,73,.03) 8px 16px);border-color:rgba(233,185,73,.45)}.calcell .dnum{font:800 12px var(--mono);align-self:flex-start;padding:2px 5px;border-radius:5px}.calcell .nos{color:var(--amber);font-weight:700}.calcell .runs{color:var(--brand-2);font-weight:700}.calcell .ev{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}.calcell .ev.renewal{color:var(--amber)}.calcell .ev.maintenance{color:#ff8f74}.calcell .ev.trip{color:#9ab4ff}.calcell .more{color:var(--ink-3);font-size:10.5px}.calyear{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.calmini{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:rgba(20,28,34,.45)}.calminih{font:700 12px var(--sans);margin-bottom:6px;cursor:pointer;color:var(--brand-2)}.calminih:hover{text-decoration:underline}.calminigrid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.mdow{font:700 9px var(--mono);color:var(--ink-3);text-align:center}.mday{font:600 10.5px var(--mono);height:20px;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;padding:0}.mday:hover{border-color:var(--brand)}.mday.today{background:var(--brand);color:var(--brand-ink)}.mday.sel{border-color:var(--brand-2)}.mday.noschool{background:rgba(233,185,73,.28);color:#ffd88a}.mday.busy{box-shadow:inset 0 -2px 0 #9ab4ff}.mday.run{color:var(--ink)}.calday{margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(20,28,34,.35)}@media(max-width:1100px){.calyear{grid-template-columns:repeat(2,1fr)}.calcell{min-height:70px}}body.screenmode .topbar.dispatch .topbar-row{display:none}body.screenmode .topbar.dispatch .onduty{min-height:64px}body.screenmode .fleet{padding-top:10px}body.screenmode{zoom:1.08}.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px 12px;gap:8px 12px}.drivermap .fullbtn{position:absolute;left:10px;top:10px;z-index:5;padding:8px 12px}.drivermap.full{position:fixed;inset:0;z-index:70;height:100dvh;min-height:0;border-radius:0;border:0;background:#0f151a}.drivermap.full:-webkit-full-screen{width:100vw;height:100vh}.drivermap.full:fullscreen{width:100vw;height:100vh}.drivermap.full .follow{top:auto;bottom:112px;right:12px}.drivermap.full .fullbtn{left:auto;right:12px;top:12px;font-size:16px;padding:12px 16px;background:rgba(20,28,34,.85)}.navhud{position:absolute;z-index:6;left:12px;right:12px;background:rgba(15,21,26,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:16px;padding:12px 16px;box-shadow:0 10px 30px rgba(0,0,0,.45)}.navhud.top{top:12px;right:150px}.navhud.top .navname{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.navhud.top .navmeta{font-size:16px;color:var(--ink-2);font-weight:600}.navhud.bottom{bottom:16px;display:flex;align-items:center;gap:16px;padding:16px 18px;border-color:var(--brand)}.navhud.bottom .arrow{font-size:40px;line-height:1}.navhud.bottom .turn-text{font-size:26px;font-weight:800;letter-spacing:-.015em;line-height:1.15}.navhud.bottom .meta{font-size:15px;color:var(--ink-2);margin-top:4px}@media (max-width:700px){.navhud.top{right:12px;top:64px}.navhud.top .navname{font-size:24px}.navhud.bottom .turn-text{font-size:20px}}.spgrid{display:flex;flex-wrap:wrap;gap:8px}.spthumb{position:relative;margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line-2);background:#0f151a;cursor:zoom-in;flex:0 0 auto}.spthumb img{width:100%;height:100%;object-fit:cover;display:block}.spthumb figcaption{position:absolute;left:0;right:0;bottom:0;padding:3px 6px;font:700 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;background:rgba(10,14,18,.75);color:#fff}.spthumb .spload{display:grid;place-items:center;height:100%;color:var(--ink-3)}.spthumb .spx{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:6px;border:0;background:hsla(8,79%,72%,.9);color:#2a1210;font-weight:800;cursor:pointer}.spadd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px dashed var(--line-2);border-radius:12px;color:var(--ink-2);font-size:22px}.spadd .splbl{font:700 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase}.spadd:hover{border-color:var(--brand);color:var(--brand-2)}.spbig{max-width:min(96vw,1100px);max-height:92vh;display:flex;flex-direction:column;gap:8px;align-items:center}.spbig img{max-width:100%;max-height:82vh;border-radius:14px;border:1px solid var(--line-2)}.spbigcap{font:600 13px var(--mono);color:var(--ink-2)}.stopeditwrap{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}.spdetails summary{cursor:pointer;font-size:12.5px;color:var(--ink-2);padding:4px 0}.drivermap .viewseg{position:absolute;left:12px;bottom:12px;z-index:5}.drivermap.full .viewseg{bottom:112px;left:12px}.drivermap .viewseg button{font-size:13px;padding:8px 10px}.navbar{position:absolute;z-index:7;right:12px;top:72px;gap:8px}.navbar,.navbar .nb{display:flex;flex-direction:column}.navbar .nb{text-decoration:none;align-items:center;justify-content:center;min-width:84px;padding:10px 8px;border-radius:14px;border:1px solid var(--line-2);background:rgba(15,21,26,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.4)}.navbar .nb b{font:800 22px/1 var(--sans)}.navbar .nb small{font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-top:4px;white-space:nowrap}.navbar .nb.go{background:linear-gradient(180deg,#5cc0b2,#43a396);border-color:transparent}.navbar .nb.go,.navbar .nb.go small{color:var(--brand-ink)}.navbar .nb.sos{background:linear-gradient(180deg,#f08c7d,#d9614f);border-color:transparent;color:#2a1210}.navbar .nb.sos small{color:#2a1210}.navstops{position:absolute;inset:0;z-index:8;background:rgba(8,12,16,.55);display:grid;place-items:center;padding:16px}.navstopsin{width:min(560px,94vw);max-height:80vh;overflow:auto;background:var(--panel-solid);border:1px solid var(--line-2);border-radius:18px;padding:14px 16px;box-shadow:0 30px 80px rgba(0,0,0,.6)}.nstop{display:grid;grid-template-columns:30px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--line);font-size:16px}.nstop .seq{font:800 13px var(--mono);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);color:var(--ink-2)}.nstop.next .seq{background:var(--brand);color:var(--brand-ink)}.nstop.next .nm{font-weight:800}.nstop.done{opacity:.5}.nstop .meta{font:600 12.5px var(--mono);color:var(--ink-3)}body.navfull .callwrap{z-index:90}body.navfull .hazwarn{z-index:95}body.navfull .toast{z-index:92}.drivermap.full .navhud.top{right:110px;padding-right:280px}.via-marker{background:#1d4ed8;color:#fff;font:700 11px/1 var(--mono,ui-monospace,monospace);padding:4px 6px;border-radius:6px;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.4);opacity:.75;white-space:nowrap}.via-marker.editing{opacity:1;background:#2563eb}.via-marker:after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-5px;border:5px solid transparent;border-top-color:#fff}.drivermap .mapdash{position:absolute;right:12px;bottom:12px;z-index:5;display:flex;align-items:stretch;gap:6px}.drivermap .speedo{align-items:baseline;gap:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.drivermap .mapclock,.drivermap .speedo{display:flex;padding:6px 12px;border-radius:12px;background:rgba(20,28,34,.85);border:1px solid hsla(0,0%,100%,.15);color:#fff}.drivermap .mapclock{align-items:center;font-size:18px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.drivermap .speedo b{font-size:26px;line-height:1;font-weight:800}.drivermap .speedo span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.drivermap .speedo.fast{background:rgba(180,83,9,.9);border-color:#f59e0b}.drivermap.full .mapdash{right:122px;bottom:auto;top:20px;z-index:7}.drivermap.full .speedo{padding:10px 16px}.drivermap.full .mapclock{font-size:28px;padding:10px 16px}.drivermap.full .speedo b{font-size:44px}.drivermap.full .speedo span{font-size:14px}.sndwrap{position:relative}.sndbtn{min-height:36px;padding:6px 10px;font-size:15px}.sndbtn.compact{padding:5px 8px;font-size:14px;min-height:0}.sndlbl{font-size:13px;font-weight:700}.sndpop{position:absolute;right:0;top:calc(100% + 8px);z-index:120;width:260px;background:var(--panel-solid,#131b21);border:1px solid var(--line-2);border-radius:14px;padding:12px 14px;box-shadow:0 20px 50px rgba(0,0,0,.5);text-align:left}.sndh{font:700 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.sndrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600;cursor:pointer}.sndrow.col{flex-direction:column;align-items:stretch}.sndrow input[type=range]{width:100%;accent-color:var(--brand)}.sndrow input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand)}.sndactions{display:flex;gap:8px;margin-top:10px}.sndactions .btn{flex:1 1}.sndnote{margin-top:8px;font-size:12px;color:var(--ink-3);line-height:1.4}.garage .ggrid{display:grid;grid-template-columns:minmax(380px,1fr) minmax(0,1.4fr);grid-gap:16px;gap:16px}@media(max-width:1100px){.garage .ggrid{grid-template-columns:1fr}}.gstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));grid-gap:8px;gap:8px}.gstat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(20,28,34,.55)}.gstat b{font:800 30px/1 var(--sans);letter-spacing:-.02em;color:#fbf7ee}.gstat span{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.gstat.hot{border-color:hsla(8,79%,72%,.6);background:hsla(8,79%,72%,.1)}.gstat.hot b{color:#ffb3a7}.baylist{display:flex;flex-direction:column;gap:10px}.baycard{padding:12px 14px;border-radius:14px;border:1px solid rgba(180,83,9,.6);background:rgba(180,83,9,.12)}.bayhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bayreason{font-weight:800;font-size:16px}.baywo{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.woboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}@media(max-width:1400px){.woboard{grid-template-columns:repeat(2,minmax(0,1fr))}}.wocol{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.45);min-height:160px}.wocol.in_progress{border-color:rgba(255,176,32,.5)}.wocol.done{opacity:.8}.wocolh{display:flex;justify-content:space-between;align-items:center;font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.wocard{padding:10px;border-radius:10px;background:rgba(15,21,26,.7);border:1px solid var(--line);border-left-width:4px}.wocard.p-critical{border-left-color:#e5484d}.wocard.p-high{border-left-color:#f59e0b}.wocard.p-normal{border-left-color:#eab308}.wocard.p-low{border-left-color:#6b7280}.wohead{display:flex;gap:8px;align-items:flex-start}.wotitle{font-weight:700;font-size:14px;line-height:1.25}.woactions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.woactions .btn{padding:6px 10px;font-size:12.5px}.fleet .woactions input{padding:6px 8px;font-size:12.5px}.ticker .tbtn.bcast{background:var(--brand);color:var(--brand-ink);border:0;border-radius:8px;padding:6px 12px;font:800 12px var(--sans);cursor:pointer;margin-right:8px;white-space:nowrap}.ticker .tbtn.bcast:hover{filter:brightness(1.08)}.alertrow{position:relative}.alertrow .alertx{position:absolute;right:8px;top:8px;width:26px;height:26px;border-radius:7px;border:1px solid var(--line);background:hsla(0,0%,100%,.05);color:var(--ink-3);cursor:pointer;font-size:12px}.alertrow .alertx:hover{border-color:var(--bad);color:#fff;background:rgba(229,72,77,.35)}.alertrow.cleared{opacity:.45}.svcstrip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(20,28,34,.45)}.svcstriplbl{font:700 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}.svcchip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:hsla(0,0%,100%,.04);color:var(--ink-2);font-size:12.5px;text-decoration:none}.svcchip b{color:#fbf7ee}.svcchip span{opacity:.8}.svcchip.soon{border-color:rgba(255,176,32,.6);background:rgba(255,176,32,.12)}.svcchip.due{border-color:hsla(8,79%,72%,.7);background:hsla(8,79%,72%,.14)}.svcchip.due b{color:#ffb3a7}.svcwrap{overflow-x:auto}.svcmatrix{width:100%;border-collapse:collapse;font-size:13px}.svcmatrix th{font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:6px 4px;text-align:center;border-bottom:1px solid var(--line-2)}.svcmatrix th small{display:block;font-size:9px;letter-spacing:.04em;margin-top:2px;white-space:nowrap}.svcmatrix td:first-child,.svcmatrix th:first-child{text-align:left}.svcmatrix td{padding:4px;text-align:center;border-bottom:1px solid var(--line)}.fleet .svcmatrix td input{padding:5px 6px;font:600 12px var(--mono)}.svcdot{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--ink-3);font:inherit}.svcdot small{font:600 10px var(--mono)}.svcdot:hover{border-color:var(--line-2);background:hsla(0,0%,100%,.05)}.svcdot .dot,.svclegend .dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:hsla(0,0%,100%,.15)}.svcdot.ok .dot,.svclegend .dot.ok{background:var(--good);box-shadow:0 0 6px rgba(124,197,154,.5)}.svcdot.soon .dot,.svclegend .dot.soon{background:var(--amber);box-shadow:0 0 6px rgba(255,176,32,.5)}.svcdot.due .dot,.svclegend .dot.due{background:#e5484d;box-shadow:0 0 8px rgba(229,72,77,.6)}.svcdot.due small{color:#ffb3a7}.svcdot.soon small{color:#ffd48a}.svclegend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:8px;font-size:12px;color:var(--ink-3)}.svclegend span{display:inline-flex;align-items:center;gap:6px}.authfoot{margin-top:18px;max-width:400px;text-align:center;font-size:12px;line-height:1.5;color:var(--ink-3)}.authfoot a{color:var(--ink-2)}.importer{gap:16px;max-width:1100px;margin:0 auto}.colmap,.importer{display:flex;flex-direction:column}.colmap{gap:6px}.colrow{display:grid;grid-template-columns:200px 1fr 220px;grid-gap:12px;gap:12px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(20,28,34,.45)}.colrow.on{border-color:rgba(79,179,166,.5)}.colh{font:700 13px var(--mono)}.colh,.colsample{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.colsample{color:var(--ink-3);font-size:12.5px}.tablewrap{overflow-x:auto}.sheettable.dark th{color:var(--ink-3);border-bottom-color:var(--line-2)}.sheettable.dark td{border-bottom-color:var(--line);color:var(--ink)}