:root,:root[data-theme=night]{--bg:#0b1118;--panel:#131c26;--panel-2:#1b2632;--line:#2a3644;--text:#e8eef5;--muted:#8d9bab;--primary:#2f80ed;--primary-text:#fff;--ok:#2fb36b;--warn:#e0a019;--busy:#4aa3ff;--danger:#e5484d;--c1:#e5484d;--c2:#f2711c;--c3:#e0a019;--c4:#2fb36b;--c5:#5b8def;--hazard-bg:#4a1d0a;--hazard-text:#ffd7b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=day]{--bg:#eef2f6;--panel:#fff;--panel-2:#f4f7fa;--line:#d3dbe4;--text:#0f1720;--muted:#5a6878;--primary:#1f6fd6;--busy:#1f6fd6;--ok:#18884d;--warn:#a96f00;--hazard-bg:#fff0e3;--hazard-text:#7a2e00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font:17px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0 0 8px;line-height:1.2}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:13px}a{color:var(--primary)}.muted{color:var(--muted)}.small{font-size:13px}.btn{min-height:52px;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:650;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);color:var(--primary-text)}.btn.secondary{background:var(--panel-2);color:var(--text);border-color:var(--line)}.btn.danger{background:var(--danger);color:#fff}.btn.current{color:var(--ok);border-color:var(--ok);background:0 0}.btn.big{width:100%;min-height:72px;font-size:21px}.btn.huge{width:100%;min-height:96px;font-size:28px}.btn.armed{background:var(--warn);color:#111;border-color:var(--warn);animation:.8s ease-in-out infinite alternate pulse}.btn:disabled{opacity:.45;cursor:default}.btn.current:disabled{opacity:1}.btn:active:not(:disabled){transform:scale(.98)}.link{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:12px}@keyframes pulse{0%{filter:brightness()}to{filter:brightness(1.25)}}.banner{border-radius:10px;margin:8px 0;padding:12px 14px;font-weight:600}.banner.error{background:color-mix(in srgb, var(--danger) 22%, transparent);border:1px solid var(--danger)}.banner.warn{background:color-mix(in srgb, var(--warn) 20%, transparent);border:1px solid var(--warn)}.banner.info{background:color-mix(in srgb, var(--primary) 16%, transparent);border:1px solid var(--primary)}.banner.hazard{background:var(--hazard-bg);color:var(--hazard-text);border:2px solid var(--c2);font-size:19px}.tag{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;margin:2px 4px 2px 0;padding:2px 7px;font-size:12px;font-weight:700;display:inline-block}.tag.warn{color:var(--warn);border-color:var(--warn)}.cat{color:#fff;background:var(--muted);border-radius:8px;place-items:center;min-width:44px;height:32px;padding:0 8px;font-weight:800;display:inline-grid}.cat.large{border-radius:12px;min-width:76px;height:64px;font-size:30px}.cat-C1{background:var(--c1)}.cat-C2{background:var(--c2)}.cat-C3{background:var(--c3);color:#111}.cat-C4{background:var(--c4)}.cat-C5{background:var(--c5)}.cat-bg-C1{--accent:var(--c1)}.cat-bg-C2{--accent:var(--c2)}.cat-bg-C3{--accent:var(--c3)}.cat-bg-C4{--accent:var(--c4)}.cat-bg-C5{--accent:var(--c5)}.cat-bg-none{--accent:var(--muted)}.auth{place-items:center;min-height:100%;padding:16px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:14px;width:min(440px,100%);padding:24px;display:grid}.auth-card h1{font-size:30px}label{color:var(--muted);gap:6px;font-size:14px;font-weight:600;display:grid}input{font:inherit;color:var(--text);background:var(--panel-2);border:2px solid var(--line);border-radius:10px;width:100%;min-height:52px;padding:0 14px;font-size:19px}input:focus{border-color:var(--primary);outline:none}.callsign-input{text-transform:uppercase;letter-spacing:.08em;font-weight:700}.shell{grid-template-rows:auto auto 1fr;height:100%;display:grid}.topbar{padding:max(8px, env(safe-area-inset-top)) 12px 8px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tb-unit{align-items:center;gap:10px;display:flex}.callsign{letter-spacing:.04em;font-size:24px;font-weight:800}.pill{border:2px solid;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:700}.tone-ok{color:var(--ok)}.tone-busy{color:var(--busy)}.tone-warn{color:var(--warn)}.tone-muted{color:var(--muted)}.tb-indicators{flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.ind.conn-live{color:var(--ok)}.ind.conn-polling{color:var(--warn)}.ind.conn-connecting{color:var(--muted)}.ind.conn-offline{color:var(--danger)}.ind.queued{color:var(--warn)}.ind.gps-ok{color:var(--ok)}.ind.gps-waiting,.ind.gps-off{color:var(--muted)}.ind.gps-denied,.ind.gps-unavailable{color:var(--danger)}.clock{font-variant-numeric:tabular-nums;color:var(--muted)}.menu-btn{min-width:52px;min-height:44px;font-size:22px}.tabs{background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.tabs button{min-height:56px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:4px solid #0000;font-weight:700}.tabs button.active{color:var(--text);border-bottom-color:var(--primary)}.content{padding:12px 12px max(24px, env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow-y:auto}.section-title{margin:4px 0 12px}.empty{text-align:center;padding:48px 16px}.job{gap:12px;max-width:1100px;margin:0 auto;display:grid}.job-head{background:var(--panel);border:1px solid var(--line);border-left:8px solid var(--accent);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.complaint{font-size:24px;font-weight:800}.job-timer{text-align:right}.timer{font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.job-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-content:start;gap:10px;padding:14px;display:grid}.address{font-size:22px;font-weight:700}.loc-notes{background:var(--panel-2);border-radius:8px;padding:8px 10px;font-weight:600}.facts{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.timeline{gap:4px;margin:0;padding:0;list-style:none;display:grid}.timeline li{color:var(--muted);border-bottom:1px dashed var(--line);justify-content:space-between;padding:4px 0;display:flex}.timeline li.done{color:var(--text);font-weight:600}.timeline .time,.notes .time{font-variant-numeric:tabular-nums}.dest{margin:0;font-weight:700}.others{gap:6px;margin:0;padding:0;list-style:none;display:grid}.notes ul{gap:6px;max-height:40vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.notes li{grid-template-columns:auto auto 1fr auto;align-items:baseline;gap:10px;display:grid}.notes li.system{color:var(--muted)}.notes li.pending{opacity:.7;font-style:italic}.notes .who{font-size:14px;font-weight:700}.note-entry{grid-template-columns:1fr auto;gap:8px;display:grid}.actions{background:linear-gradient(transparent, var(--bg) 18%);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:10px 0 4px;display:grid;position:sticky;bottom:0}.status-view{gap:14px;max-width:760px;margin:0 auto;display:grid}.status-now{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:14px;padding:18px}.status-big{font-size:32px;font-weight:800}.status-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.hospitals{gap:10px;margin:0;padding:0;list-style:none;display:grid}.hospital{background:var(--panel);border:1px solid var(--line);border-radius:12px;justify-content:space-between;gap:12px;padding:12px 14px;display:flex}.hospital.status-divert,.hospital.status-closed{border-color:var(--danger)}.h-name{font-size:18px;font-weight:700}.h-status{color:var(--danger);margin-top:4px;font-weight:700}.h-side{align-content:center;justify-items:end;gap:8px;display:grid}.km{font-variant-numeric:tabular-nums;font-weight:700}.sheet-backdrop{z-index:20;background:#0000008c;align-items:end;display:grid;position:fixed;inset:0}.sheet{background:var(--panel);border-top:1px solid var(--line);border-radius:18px 18px 0 0;grid-template-rows:auto 1fr;width:min(760px,100%);max-height:85vh;margin:0 auto;display:grid}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sheet-body{padding:14px 16px max(18px, env(safe-area-inset-bottom));overflow-y:auto}.choice-list{gap:10px;display:grid}.notices{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:15;gap:8px;display:grid;position:fixed}.notice{background:var(--panel-2);border:2px solid var(--primary);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:flex}.notice.error{border-color:var(--danger)}.alert-overlay{z-index:30;background:color-mix(in srgb, var(--accent) 30%, var(--bg));place-items:center;padding:16px;animation:1s steps(2,end) infinite flash;display:grid;position:fixed;inset:0}@keyframes flash{50%{background:var(--bg)}}.alert-inner{text-align:center;background:var(--panel);border:4px solid var(--accent);border-radius:20px;justify-items:center;gap:14px;width:min(640px,100%);padding:24px;display:grid}.alert-kicker{letter-spacing:.2em;color:var(--accent);font-weight:900}.alert-cat{color:var(--muted);font-weight:700}.alert-complaint{font-size:28px;font-weight:800}.alert-address{font-size:22px}@media (prefers-reduced-motion:reduce){.alert-overlay,.btn.armed{animation:none}}@media (width<=560px){.topbar{flex-wrap:nowrap;gap:6px;padding-left:10px;padding-right:8px}.callsign{font-size:20px}.tb-unit{gap:6px;min-width:0}.pill{white-space:nowrap;padding:3px 8px;font-size:12px}.tb-indicators{flex-wrap:nowrap;gap:8px;font-size:12px}.clock{display:none}.menu-btn{min-width:44px;padding:0 10px}.actions .btn.big{padding:0 10px;font-size:18px}.job-head{grid-template-columns:auto 1fr}.job-timer{text-align:left;grid-column:1/-1}.complaint{font-size:20px}}
