:root{--primary:#0077bf;--fg:#09244b;--surface:#fff;--bg:#f4f7fa;--border:#dce4ec;--muted:#5a6b80;--warning:#e0a322;--on-warning:#09244b;--danger:#c0392b;--danger-bg:#fdecea;--success:#1e8e5a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--primary:#2e9be6;--fg:#eaf2fa;--surface:#09244b;--bg:#06172f;--border:#1b3a63;--muted:#93a9c4;--warning:#e0a322;--on-warning:#09244b;--danger:#ffb4aa;--danger-bg:#2a1a18;--success:#6fd3a0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{flex-direction:column;min-height:100dvh;display:flex}#map{background:var(--bg);flex:1;min-height:55dvh}.card{background:var(--surface);border-top:1px solid var(--border);padding:20px 16px calc(20px + env(safe-area-inset-bottom));gap:10px;display:grid}#map[hidden]+.card{border:1px solid var(--border);border-radius:16px;width:min(480px,100% - 32px);margin:auto}.brand{letter-spacing:.04em;text-transform:uppercase;color:var(--primary);margin:0;font-size:13px;font-weight:600}.title{margin:0;font-size:20px;font-weight:650;line-height:1.3}.detail{color:var(--muted);margin:0}.meta{color:var(--muted);margin:0;font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-block}.chip.active{color:var(--primary);border-color:var(--primary)}.chip.waiting{background:var(--warning);color:var(--on-warning);border-color:var(--warning)}.chip.done{color:var(--success);border-color:var(--success)}.chip.stopped{color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.vehicle{margin:0;font-weight:600}.stale{color:var(--danger)}.banner{background:var(--warning);color:var(--on-warning);border-radius:10px;margin:0;padding:8px 12px;font-size:14px}.safety{border-top:1px solid var(--border);color:var(--muted);margin:4px 0 0;padding-top:10px;font-size:14px}.safety a{color:var(--danger);font-weight:650}.legend{color:var(--muted);gap:14px;margin:0;font-size:13px;display:flex}.key:before{content:"";vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.key.driver:before{background:var(--fg);width:12px;height:12px}.key.pickup:before{background:var(--primary)}.key.dropoff:before{background:var(--danger)}
