:root{--bg:#f5f6f8;--surface:#fff;--text:#16202b;--muted:#5a6573;--border:#d8dde3;--field:#fff;--accent:#0f766e;--accent-hover:#115e59;--on-accent:#fff;--focus:#2dd4bf;--danger:#b42318;--danger-bg:#fef3f2;--success:#067647;--success-bg:#ecfdf3;--warning:#b54708;--warning-bg:#fffaeb;--radius:10px;--shadow:0 1px 2px #1018280f, 0 2px 6px #10182814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f141a;--surface:#18202a;--text:#e7ecf1;--muted:#9aa6b2;--border:#2c3744;--field:#111821;--accent:#2dd4bf;--accent-hover:#5eead4;--on-accent:#062925;--focus:#5eead4;--danger:#fda29b;--danger-bg:#3a1714;--success:#75e0a7;--success-bg:#0f2e1f;--warning:#fdb022;--warning-bg:#3a2a0c;--shadow:none}}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1{margin:0 0 1rem;font-size:1.6rem;line-height:1.25}h2{margin:0 0 .75rem;font-size:1.15rem}p{margin:0 0 .75rem}a,.link{color:var(--accent)}a:hover,.link:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.brand{color:var(--text);align-items:center;gap:.4rem;font-size:1.2rem;font-weight:700;display:inline-flex}.brand svg{width:1.5rem;height:1.5rem}.brand svg path{fill:var(--accent)}.brand svg circle{fill:var(--surface)}.brand-link{text-decoration:none}.auth{flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 1rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:26rem;box-shadow:var(--shadow);padding:2rem}.aside{color:var(--muted);margin:1rem 0 0;font-size:.95rem}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.topbar nav{gap:.25rem;display:flex}.topbar nav a{color:var(--muted);border-radius:6px;padding:.4rem .75rem;font-weight:500;text-decoration:none}.topbar nav a:hover{color:var(--text)}.topbar nav a.active{color:var(--text);background:var(--bg)}.who{align-items:center;gap:.75rem;margin-left:auto;display:flex}.who-email{color:var(--muted);font-size:.9rem}.page{max-width:60rem;margin:0 auto;padding:2rem 1.5rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:36rem;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.facts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0 0 1.25rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.empty{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);padding:3rem 1.5rem}.empty h2{color:var(--text)}.empty p{max-width:28rem;margin:0 auto}.status{text-align:center;color:var(--muted);padding:3rem 1rem}.field{margin-bottom:1rem}.field label{margin-bottom:.3rem;font-size:.95rem;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--text);background:var(--field);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem}.field textarea{resize:vertical}.field [aria-invalid=true]{border-color:var(--danger)}.hint{color:var(--muted);margin:.3rem 0 0;font-size:.875rem}.field-error{color:var(--danger);margin:.3rem 0 0;font-size:.875rem}.row{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.5rem .9rem;font-weight:600;display:inline-flex}.button:hover{background:var(--bg)}.button-primary{width:100%;color:var(--on-accent);background:var(--accent);border-color:var(--accent);padding:.65rem 1rem}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.panel .button-primary{width:auto}.button:disabled{opacity:.6;cursor:default}.link{font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.alert{border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.95rem}.alert p{margin:0}.alert-error{color:var(--danger);background:var(--danger-bg)}.alert-success{color:var(--success);background:var(--success-bg)}.muted{color:var(--muted)}.small{font-size:.875rem}.note{color:var(--warning);background:var(--warning-bg);border-radius:8px;padding:.6rem .9rem}.crumbs{margin:0 0 .25rem;font-size:.9rem}.crumbs a:before{content:"← "}.page-head{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.page-head h1{margin:0}.page-head .button{margin-left:auto}.panel.wide,.columns .panel{max-width:none}.columns{grid-template-columns:1fr 1fr;gap:0 1.5rem;display:grid}.badge{white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:600;display:inline-block}.badge-ok{color:var(--success);background:var(--success-bg)}.badge-overdue{color:var(--warning);background:var(--warning-bg)}.badge-never{color:var(--muted);background:var(--bg);border:1px solid var(--border)}.device-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:0;list-style:none}.device-list li+li{border-top:1px solid var(--border)}.device-list a{color:inherit;grid-template-columns:minmax(12rem,2fr) minmax(9rem,1fr) minmax(8rem,1fr) minmax(6rem,1fr);align-items:center;gap:.5rem 1rem;padding:.9rem 1.25rem;text-decoration:none;display:grid}.device-list a:hover{background:var(--bg)}.device-list li:first-child a{border-radius:var(--radius) var(--radius) 0 0}.device-list li:last-child a{border-radius:0 0 var(--radius) var(--radius)}.device-name,.cell{flex-direction:column;min-width:0;display:flex}.device-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-name .muted,.cell .label{color:var(--muted);font-size:.85rem}.device-list .badge{justify-self:start}.facts-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem 1.5rem;margin:0 0 1rem;display:grid}.facts-grid dt{color:var(--muted);font-size:.85rem}.facts-grid dd{margin:.15rem 0 0;font-weight:600}.battery-low{color:var(--danger)}.signal{vertical-align:-.05rem;align-items:flex-end;gap:2px;height:.9rem;display:inline-flex}.signal span{background:var(--border);border-radius:1px;width:4px}.signal span.on{background:var(--text)}.table-scroll{margin-bottom:.5rem;overflow-x:auto}table.checkins{border-collapse:collapse;width:100%;font-size:.95rem}table.checkins th{text-align:left;color:var(--muted);font-size:.85rem;font-weight:600}table.checkins th,table.checkins td{border-bottom:1px solid var(--border);white-space:nowrap;padding:.55rem .75rem .55rem 0}table.checkins tbody tr:last-child td{border-bottom:none}.button-accent{color:var(--on-accent);background:var(--accent);border-color:var(--accent);text-decoration:none}.button-accent:hover{color:var(--on-accent);background:var(--accent-hover);border-color:var(--accent-hover)}.button-danger{color:#fff;background:var(--danger);border-color:var(--danger)}.button-danger:hover{background:var(--danger);filter:brightness(.92)}.button-danger-outline{color:var(--danger);border-color:var(--danger)}.danger-zone h2{color:var(--danger)}.confirm p{margin-bottom:.5rem}.map{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;overflow:hidden}.map-fleet{height:max(24rem,100vh - 16rem)}.map-track{height:24rem;margin-bottom:.75rem}.deliveries{margin:.5rem 0 0;padding:0;list-style:none}.deliveries li{padding:.1rem 0}.map-area{height:18rem;margin-bottom:.75rem}.break{overflow-wrap:anywhere}.map-failed{text-align:center;min-height:12rem;color:var(--muted);justify-content:center;align-items:center;padding:1rem;display:flex}.map-popup{color:#16202b;font-size:.9rem}.map-popup p{margin:.15rem 0 0}.map-popup a{color:#0f766e;margin-top:.35rem;font-weight:600;display:inline-block}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.75rem;display:flex}.dot{width:.75rem;height:.75rem;box-shadow:0 0 0 1px var(--border);border:2px solid #fff;border-radius:50%;margin-left:.5rem;display:inline-block}.dot:first-child{margin-left:0}.dot-ok{background:var(--accent)}.dot-overdue{background:var(--warning)}.dot-never{background:var(--muted)}.track-controls{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.segmented button{font:inherit;color:var(--muted);background:var(--surface);cursor:pointer;border:none;padding:.45rem .85rem;font-weight:600}.segmented button+button{border-left:1px solid var(--border)}.segmented button[aria-pressed=true]{color:var(--on-accent);background:var(--accent)}.custom-period{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.custom-period input{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.steps{padding-left:1.25rem}.steps li+li{margin-top:.75rem}.qr{border-radius:6px;width:12rem;height:12rem;margin:.75rem 0 .5rem;display:block}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em}.secret{word-spacing:.15em;-webkit-user-select:all;user-select:all}.recovery-codes{background:var(--bg);border-radius:8px;grid-template-columns:repeat(2,max-content);gap:.35rem 2.5rem;margin:0 0 1rem;padding:1rem 1rem 1rem 2.5rem;display:grid}h3{margin:1.25rem 0 .75rem;font-size:1rem}pre{background:var(--bg);border-radius:8px;padding:.75rem 1rem;overflow-x:auto}.token-list{margin:0 0 1rem;padding:0;list-style:none}.token-list>li{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 0;display:flex}.token-list>li:last-child{border-bottom:1px solid var(--border)}.token-list p{margin:.2rem 0 0}.made-token{border:1px solid var(--accent);border-radius:8px;margin-top:1rem;padding:1rem}.made-token .secret{word-break:break-all}.banner{color:var(--accent);background:var(--surface);border:1px solid var(--accent);border-radius:8px;margin:0 0 1.25rem;padding:.6rem 1rem;font-weight:600}.lead{max-width:40rem}.events{margin:0;padding-left:0;list-style:none}.events li{padding:.35rem 0}.events li+li{border-top:1px solid var(--border)}@media (width<=40rem){.topbar{flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 1rem}.who-email{display:none}.page{padding:1.5rem 1rem}.card{padding:1.5rem}.row,.columns{grid-template-columns:1fr}.device-list a{grid-template-columns:1fr auto;padding:.85rem 1rem}.device-list .badge{justify-self:end}.map-fleet{height:60vh}.map-track{height:18rem}}
