:root,:root[data-theme=dark]{--font-arabic:"IBM Plex Sans Arabic";--font-latin:"Inter";--bg-base:#0b1013;--bg-surface:#11171a;--bg-raised:#171f23;--border:#222c31;--border-control:#627076;--text-primary:#ecf1f0;--text-muted:#93a2a6;--text-disabled:#869296;--brand-500:#c8ff00;--brand-600:#a6d400;--brand-deep:#5c7500;--on-brand:#0b1013;--brand-wash:rgba(200,255,0,0.13);--primary-fill:#c8ff00;--primary-fill-hover:#a6d400;--primary-fill-active:#93bc00;--on-primary:#0b1013;--primary-disabled-fill:#1e262b;--primary-disabled-text:#869296;--selected-fill:#c8ff00;--on-selected:#0b1013;--brand-text:#c8ff00;--accent-marker:#c8ff00;--mark-ink:#0b1013;--mark-ring:#fff;--mark-halo:rgba(7,12,22,0.55);--route-slow:var(--status-idle);--route-medium:var(--status-moving);--route-fast:var(--data-blue);--route-unknown:var(--text-muted);--route-gap:var(--text-muted);--accent-on-ink:#c8ff00;--border-accent:#a6d400;--focus-ring:#c8ff00;--control-accent:#c8ff00;--control-accent-mark:#0b1013;--brand-tile:#c8ff00;--brand-tile-mark:#0b1013;--data-blue:#4aa3ff;--status-moving:#22c55e;--status-idle:#f59e0b;--status-parked:#94a3b8;--status-offline:#f87171;--status-unknown:var(--text-muted);--status-alarm:#ef4444;--alarm-text:#f87171;--alarm-bg:#d92d20;--ok-text:#12b76a;--warn-text:#f59e0b;--radius-control:10px;--radius-card:14px;--shadow-popover:0 8px 24px rgba(0,0,0,0.35)}:root[data-theme=light]{--bg-base:#f7f6f1;--bg-surface:#ffffff;--bg-raised:#f1f0ea;--border:#dfddd3;--border-control:#8a867b;--text-primary:#0b1013;--text-muted:#5a6569;--text-disabled:#5c6469;--primary-fill:#0b1013;--primary-fill-hover:#242f35;--primary-fill-active:#05090b;--on-primary:#ffffff;--primary-disabled-fill:#e6e4dc;--primary-disabled-text:#5c6469;--selected-fill:#0b1013;--on-selected:#ffffff;--brand-text:#5c7500;--accent-marker:#5c7500;--accent-on-ink:#c8ff00;--border-accent:#5c7500;--focus-ring:#0b1013;--control-accent:#5c7500;--control-accent-mark:#ffffff;--brand-tile:#0b1013;--brand-tile-mark:#c8ff00;--brand-wash:#f1f0ea;--data-blue:#1570cd;--status-moving:#128a3e;--status-idle:#b26c04;--status-parked:#748399;--status-offline:#e04343;--status-unknown:var(--text-muted);--status-alarm:#d92d20;--alarm-text:#b42318;--ok-text:#067647;--warn-text:#b54708;--shadow-popover:0 8px 24px rgba(15,23,42,0.12)}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-arabic),var(--font-latin),system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}button{color:inherit;background:none;border:none;padding:0}button,select{font:inherit;cursor:pointer}select{color:var(--text-primary);background-color:var(--bg-raised);border:1px solid var(--border-control);border-radius:var(--radius-control);padding-block:8px;padding-inline:12px 34px;width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808e94' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-size:15px 15px;background-position:right 11px center}[dir=rtl] select{background-position:left 11px center}select:disabled{color:var(--text-disabled);cursor:not-allowed;opacity:1}select option{background:var(--bg-surface)}input,select option{color:var(--text-primary)}input{font:inherit;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control);padding:8px 12px;width:100%}input::placeholder{color:var(--text-muted)}:focus-visible{outline-offset:1px;border-radius:4px}.shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--bg-surface)}.appshell,.shell{-webkit-padding-before:env(safe-area-inset-top,0);padding-block-start:env(safe-area-inset-top,0);padding-inline:env(safe-area-inset-left,0) env(safe-area-inset-right,0);box-sizing:border-box}.appshell{background:var(--bg-base)}.topbar{display:flex;align-items:center;gap:12px;padding:0 16px;height:58px;background:var(--bg-surface);-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);flex-shrink:0}.topbar .grow{flex:1 1;min-width:0}.topbar .search{position:relative;max-width:420px}.topbar .search .searchicon{position:absolute;inset-block-start:50%;inset-inline-start:12px;translate:0 -50%;color:var(--text-muted);pointer-events:none}.topbar .search input{border-radius:999px;-webkit-padding-start:34px;padding-inline-start:34px;background:var(--bg-base)}.topbar .search input:focus-visible{border-radius:999px}.tbdiv{width:1px;height:24px;background:var(--border);flex-shrink:0}.wordmark{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:0}.brandtile{display:grid;place-items:center;border-radius:10px;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-marker) 40%,transparent);flex-shrink:0}.brandwordmark{position:relative;display:block;flex-shrink:1;min-width:0;direction:ltr}.brandwordmark img{display:block;width:100%;height:100%;object-fit:contain}.brandwordmark .brandwordmark-light{display:none}[data-theme=light] .brandwordmark .brandwordmark-light{display:block}[data-theme=light] .brandwordmark .brandwordmark-dark{display:none}.brandlockup{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:100%}.brandlockup small{color:var(--text-muted);font-size:12px;line-height:1.5}.brandlockup-partner{flex-direction:row;align-items:center;gap:10px}.brandlockup-copy{min-width:0;overflow-wrap:anywhere}.loginbrand .brandlockup{align-items:center;text-align:center}.wm-text{display:flex;flex-direction:column;line-height:1.18;white-space:nowrap}.wm-text b{font-size:16px;font-weight:600;letter-spacing:.01em}.wm-text small{font-size:12px;color:var(--text-muted);letter-spacing:.02em}.cswitch{position:relative;min-width:0}.cswitchbtn{display:inline-flex;align-items:center;gap:8px;padding:0 12px;min-height:36px;max-width:240px;border:1px solid var(--border);border-radius:999px;background:var(--bg-raised);color:var(--text-primary);font-size:13px;font-weight:600;position:relative}.cswitchbtn:after{content:"";position:absolute;inset:-4px;border-radius:999px}.cswitchbtn:hover{border-color:var(--border-accent)}.cswitchbtn .cname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;unicode-bidi:plaintext}.cswitchbtn svg{flex-shrink:0;color:var(--text-muted)}.popover{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;min-width:230px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-popover);padding:6px;z-index:100;display:flex;flex-direction:column}.cswitch .popover{inset-inline-start:0;inset-inline-end:auto}.pop-caption{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px 3px}.pop-row{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;border-radius:8px;color:var(--text-primary);text-align:start}.pop-row:hover{background:var(--bg-raised)}.pop-row.current{cursor:default}.pop-row.danger:hover{color:var(--alarm-text)}.pop-row svg{flex-shrink:0;color:var(--text-muted)}.pop-row.danger:hover svg{color:inherit}.pop-main{flex:1 1;min-width:0;font-size:13px;font-weight:400}.pop-main,.pop-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pop-sub{display:block;font-size:11.5px;color:var(--text-muted)}.pop-id{display:flex;align-items:center;gap:10px;padding:10px}.pop-idtext{display:flex;flex-direction:column;gap:1px;min-width:0}.pop-sep{height:1px;background:var(--border);margin:4px 6px}.avatarbtn,.usermenu{position:relative}.avatarbtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius-control)}.avatarbtn:hover{background:var(--bg-raised)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--selected-fill);color:var(--on-selected);font-size:13px;font-weight:600;display:grid;place-items:center}.avatar.big{width:38px;height:38px;font-size:15px}.iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius-control);color:var(--text-muted);position:relative}.iconbtn:hover{background:var(--bg-raised);color:var(--text-primary)}.iconbtn .badge{position:absolute;top:6px;inset-inline-end:6px;background:var(--status-alarm);color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.main{flex:1 1;position:relative}.main,.panel{display:flex;min-height:0}.panel{width:340px;flex-shrink:0;background:var(--bg-surface);-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border);flex-direction:column}.panel .panel-head{padding:16px 16px 12px;display:flex;flex-direction:column;gap:10px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.panel h2{font-size:12px;font-weight:600;color:var(--text-muted);margin:0;text-transform:uppercase;letter-spacing:.06em}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.companychip{display:inline-flex;align-items:center;gap:5px;max-width:65%;font-size:12px;color:var(--text-muted);border:1px solid var(--border);background:var(--bg-base);border-radius:999px;padding:3px 10px}.companychip svg{flex-shrink:0}.companychip .txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--border);padding:4px 12px;min-height:28px;font-size:12px;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px;position:relative}.chip,.chip:after{border-radius:999px}.chip:after{content:"";position:absolute;inset:-8px}.chip[aria-pressed=true]{background:var(--selected-fill);border-color:var(--selected-fill);color:var(--on-selected)}.chip[aria-pressed=true]:focus-visible{outline-color:var(--text-primary)}.chip .dot{width:8px;height:8px;border-radius:50%}.cards{flex:1 1;overflow-y:auto;padding:8px;gap:8px}.cards,.vcard{display:flex;flex-direction:column}.vcard{width:100%;text-align:start;background:var(--bg-base);border:1px solid transparent;border-radius:var(--radius-card);padding:10px 12px;gap:5px;min-height:44px}.vcard:hover,.vcard[aria-pressed=true]{background:var(--bg-raised)}.vcard[aria-pressed=true]{border-color:var(--border-accent)}.vcard .row1{display:flex;align-items:center;gap:8px}.vcard .name{font-size:14px;font-weight:600;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vcard .plate{font-size:11px;color:var(--text-primary);border:1px solid var(--border);background:var(--bg-raised);border-radius:6px;padding:1px 6px;flex-shrink:0}.vcard .meta{display:flex;gap:12px;color:var(--text-muted);font-size:12.5px}.statusdot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.statuslabel{font-size:12px}.maparea{flex:1 1;position:relative;min-width:0}.maparea .map{position:absolute;inset:0}.selectedcard{position:absolute;inset-block-end:16px;inset-inline-start:16px;width:min(340px,calc(100% - 32px));background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);padding:16px;display:flex;flex-direction:column;gap:10px;z-index:20}.selectedcard .head{display:flex;align-items:center;gap:8px}.selectedcard .head .name{font-size:16px;font-weight:600;flex:1 1}.selectedcard dl{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 16px;gap:4px 16px;margin:0;font-size:13px}.selectedcard dt{color:var(--text-muted)}.selectedcard dd{margin:0}.selectedcard .actions{display:flex;gap:8px}.selectedcard .actions button{flex:1 1;min-height:44px;border-radius:var(--radius-control);background:var(--bg-raised);font-size:13px;color:var(--text-primary)}.selectedcard .actions button.on,.selectedcard .actions button:hover{background:var(--selected-fill);color:var(--on-selected)}.selectedcard .actions .cardlink{flex:1 1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control);background:var(--bg-raised);font-size:13px;color:var(--text-primary);text-decoration:none}.selectedcard .actions .cardlink:hover{background:var(--selected-fill);color:var(--on-selected)}.selectedcard .identity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;-webkit-margin-before:-4px;margin-block-start:-4px}.selectedcard .identity .vphoto{inline-size:52px;block-size:38px;border-radius:8px;object-fit:cover;flex:none;border:1px solid var(--border)}.selectedcard .plate{font-size:12px;padding:2px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text-primary)}.selectedcard .chip{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--bg-raised);color:var(--text-muted)}.selectedcard .vglyph{width:18px;height:18px;color:var(--text-muted);display:inline-flex}.selectedcard .vglyph svg{width:100%;height:100%}.selectedcard .driverrow{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}.selectedcard .driverrow.muted{color:var(--text-muted)}.selectedcard .driverrow .avatar{width:28px;height:28px;border-radius:999px;object-fit:cover;flex:none}.selectedcard .driverrow .avatar.placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-raised);color:var(--text-muted);font-weight:600}.selectedcard .driverrow .dname{font-weight:600;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectedcard .locactions{display:flex;gap:12px;flex-wrap:wrap;-webkit-margin-before:2px;margin-block-start:2px}.selectedcard .driverrow .linkbtn,.selectedcard .locactions .linkbtn{min-height:44px;display:inline-flex;align-items:center;font-size:12.5px}.selectedcard .sensorstrip{margin:0;padding:8px 0 0;gap:6px 14px;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border);font-size:12.5px}.selectedcard .sensorstrip li{align-items:baseline;gap:5px}.datefield{position:relative;display:inline-block;min-width:0}.datefield-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-raised);color:var(--text-primary);font-size:13px;font-family:inherit}.datefield-btn:hover{border-color:var(--border-strong,var(--border))}.datefield-btn .ph,.datefield-btn svg{color:var(--text-muted)}.datefield-btn svg{flex:none}.datepop{position:absolute;inset-block-start:calc(100% + 6px);inset-inline-start:0;z-index:60;width:268px;padding:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-popover)}.datepop-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.datepop-head .mon{font-weight:600;font-size:13px}.datepop-head button{width:28px;height:28px;border-radius:var(--radius-control);color:var(--text-muted);font-size:18px;line-height:1}.datepop-head button:hover{background:var(--bg-raised);color:var(--text-primary)}.datepop-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.datepop-grid .dow{text-align:center;font-size:11px;color:var(--text-muted);padding-block:4px}.datepop-grid .pad{height:32px}.datepop-grid .day{height:32px;border-radius:8px;font-size:12.5px;color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.datepop-grid .day:hover:not(:disabled){background:var(--bg-raised)}.datepop-grid .day:disabled{color:var(--text-muted);opacity:.4;cursor:not-allowed}.datepop-grid .day.today{box-shadow:inset 0 0 0 1px var(--border-strong,var(--border))}.datepop-grid .day.sel{background:var(--selected-fill);color:var(--on-selected);font-weight:600}.datepop-foot{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.authimg.loading{display:block;background:var(--bg-raised);animation:skl 1.4s ease-in-out infinite}.authimg.failed{display:grid;place-items:center;background:var(--bg-raised);color:var(--text-muted)}img.authimg{object-fit:cover}.sronly{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.uploader{display:flex;flex-direction:column;gap:6px}.uploader .ulabel{font-size:12.5px;font-weight:600;color:var(--text-muted)}.uploader .ubody{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.uploader .uview{flex:0 0 auto;inline-size:116px;block-size:84px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-raised);overflow:hidden;display:flex;align-items:center;justify-content:center}.uploader .uview .authimg{inline-size:100%;block-size:100%;object-fit:cover;display:block}.uploader .udrop{position:relative;flex:1 1 220px;min-inline-size:200px}.uploader .udrop input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0;inset-inline-start:12px;inset-block-start:12px}.uploader .uzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-block-size:84px;padding:12px 16px;border:1px dashed var(--border-control);border-radius:var(--radius-control);background:var(--bg-raised);color:var(--text-muted);cursor:pointer;text-align:center;transition:border-color .12s linear,background .12s linear}.uploader .uzone-main{font-size:13px;font-weight:600;color:var(--text-primary)}.uploader .uzone-sub{font-size:12px}.uploader .uzone:hover{border-color:var(--border-accent)}.uploader .udrop.over .uzone{border-style:solid;border-color:var(--selected-fill);background:var(--brand-wash)}.uploader .udrop input[type=file]:focus-visible+.uzone{outline:2px solid var(--focus-ring);outline-offset:2px}.uploader .udrop input[type=file]:disabled+.uzone,.uploader.disabled .uzone{cursor:not-allowed;color:var(--text-disabled);border-color:var(--primary-disabled-fill)}.uploader .uhint{font-size:11.5px;color:var(--text-muted);margin:0}.uploader .uerr{font-size:12px;color:var(--alarm-text);margin:0}.uploader .uactions{display:flex;gap:10px}.uploader .linkbtn{min-block-size:44px;display:inline-flex;align-items:center}.uploader .linkbtn.danger{color:var(--alarm-text)}.uploader .filecard{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px;color:var(--text-muted);inline-size:100%}.uploader .filecard .ftype{font-size:11px;font-weight:600;color:var(--text-primary);letter-spacing:.04em}.uploader .filecard .fname{font-size:11.5px;max-inline-size:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploader .filecard .fsize{font-size:11px}.uploader .uprogress{display:flex;align-items:center;gap:10px}.uploader .ubar{flex:1 1 auto;block-size:6px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--border);overflow:hidden}.uploader .ubar>span{display:block;block-size:100%;background:var(--primary-fill);transition:inline-size .12s linear}.uploader .upct{font-size:11.5px;color:var(--text-muted);min-inline-size:34px;text-align:end}.uploader.readonly .uview{inline-size:96px;block-size:72px}.admintable td.avatarcol,.admintable th.avatarcol{inline-size:44px;-webkit-padding-end:0;padding-inline-end:0}@media (prefers-reduced-motion:reduce){.uploader .ubar>span,.uploader .uzone{transition:none}.authimg.loading{animation:none}}.speedgraph .sggap{fill:var(--text-muted);opacity:.16}.selectedcard .hint.gapflag{color:var(--text-muted)}.selectedcard .provenance{margin:0;font-size:12px;color:var(--text-muted)}.selectedcard .hint,.selectedcard .provenance.prov-buffered,.selectedcard .provenance.prov-unknown{color:var(--warn-text,#d97706)}.selectedcard .hint{font-size:12px}.vrow{position:relative;display:flex;align-items:stretch;gap:4px}.vrow>.vcard{flex:1 1;min-width:0}.vrow.sel>.vcard{border-color:var(--border-accent)}.vrow .rowaside{position:relative;display:flex;flex-direction:column;align-items:center;align-self:center;gap:2px;width:34px;flex:none;-webkit-padding-end:2px;padding-inline-end:2px}.vrow .rowaside .iconbtn{min-height:32px}.vrow .rowaside .badge{position:absolute;inset-block-start:-7px;inset-inline-end:-9px;z-index:1;height:16px;min-width:16px;padding:0 4px;font-size:10px;line-height:16px}.vcard .meta{flex-wrap:wrap;row-gap:2px}.vcard .meta>*{white-space:nowrap}.vrow .rowaside .badge{pointer-events:none}.vrow .rowaside .iconbtn{width:32px;height:32px;color:var(--text-muted)}.vrow .rowaside .iconbtn.star[aria-pressed=true]{color:var(--warn-text,#d97706)}.vrow .badge{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--alarm-bg,#dc2626);color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vrow .driverchip{font-size:11.5px;color:var(--text-muted);-webkit-margin-before:3px;margin-block-start:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vrow .rowmenu{position:absolute;inset-block-start:34px;inset-inline-end:4px;z-index:30;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);padding:4px;display:flex;flex-direction:column;min-width:160px}.vrow .rowmenu a,.vrow .rowmenu button{min-height:44px;padding:0 12px;text-align:start;font-size:13px;color:var(--text-primary);border-radius:var(--radius-control);background:transparent}.vrow .rowmenu a{display:flex;align-items:center;text-decoration:none}.vrow .rowmenu a:hover,.vrow .rowmenu button:hover{background:var(--bg-raised)}.panel-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.panel-controls .ctl{display:inline-flex;align-items:center;gap:5px;font-size:12px}.panel-controls select{font:inherit;font-size:12.5px;min-height:32px;border:1px solid var(--border);border-radius:8px;padding:2px 8px}.connbanner,.panel-controls select{background:var(--bg-raised);color:var(--text-primary)}.connbanner{position:absolute;inset-block-start:12px;inset-inline-start:50%;transform:translateX(50%);z-index:30;border:1px solid var(--status-offline);border-radius:var(--radius-control);padding:8px 16px;display:flex;align-items:center;gap:12px;font-size:13px;box-shadow:var(--shadow-popover)}[dir=ltr] .connbanner{transform:translateX(-50%)}.connbanner button{color:var(--brand-text);font-weight:600;min-height:28px;position:relative}.connbanner button:after{content:"";position:absolute;inset:-8px}.panel-foot{display:grid;grid-template-columns:repeat(3,1fr);-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border);flex-shrink:0}.fstat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;min-width:0}.fstat+.fstat{-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border)}.fval{font-size:16px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fval.hot{color:var(--alarm-text)}.flabel{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.skl{background:var(--bg-raised);border-radius:8px;animation:skl 1.4s ease-in-out infinite}.sklcard{display:flex;align-items:center;gap:10px;background:var(--bg-base);border-radius:var(--radius-card);padding:14px 12px}.skl-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.skl-lines{flex:1 1;display:flex;flex-direction:column;gap:7px}.skl-line{height:10px;border-radius:5px}@keyframes skl{0%,to{opacity:.5}50%{opacity:1}}.emptystate{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);padding:24px;text-align:center}.emptystate .cta{background:var(--primary-fill);color:var(--on-primary);border-radius:var(--radius-control);padding:10px 20px;font-weight:600;min-height:44px}.emptystate .cta:hover{background:var(--primary-fill-hover)}.vmarker{width:40px;height:40px;cursor:pointer;position:relative;--marker-fill:var(--status-parked);--harrow-fill:var(--status-parked)}.vmarker:after{content:"";position:absolute;inset:-4px}.vmarker .body{position:absolute;inset:3px;border-radius:12px;background:var(--marker-fill);box-shadow:0 0 0 2px #fff,0 1px 2px rgba(0,0,0,.5),0 4px 10px -2px rgba(0,0,0,.42);display:flex;align-items:center;justify-content:center;transition:background-color .3s linear,box-shadow .16s ease}.vmarker .glyph{display:inline-flex}.vmarker .glyph svg{width:22px;height:22px;fill:none;stroke:var(--marker-ink,#0b1013);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.vmarker.moving{--marker-fill:var(--status-moving);--harrow-fill:var(--status-moving)}.vmarker.idle{--marker-fill:var(--status-idle);--harrow-fill:var(--status-idle)}.vmarker.parked{--marker-fill:var(--status-parked)}.vmarker.unknown{--marker-fill:var(--status-unknown)}.vmarker.unknown .body:before{content:"";position:absolute;inset:-2px;border-radius:14px;border:2px dashed var(--text-primary)}.vmarker.offline{--marker-fill:var(--status-offline);opacity:.82}.vmarker.offline .body{box-shadow:0 1px 2px rgba(0,0,0,.5),0 4px 10px -2px rgba(0,0,0,.42)}.vmarker.offline .body:before{content:"";position:absolute;inset:-2px;border-radius:14px;border:2px dashed #fff}.vmarker.alarm{--marker-fill:var(--status-alarm);--harrow-fill:var(--status-alarm);z-index:3}.vmarker.alarm .body{animation:marker-alarm 1.3s ease-out infinite}@keyframes marker-alarm{0%{box-shadow:0 0 0 2px #fff,0 0 0 2px var(--status-alarm),0 1px 2px rgba(0,0,0,.5)}70%{box-shadow:0 0 0 2px #fff,0 0 0 14px color-mix(in srgb,var(--status-alarm) 0%,transparent),0 1px 2px rgba(0,0,0,.5)}to{box-shadow:0 0 0 2px #fff,0 0 0 2px color-mix(in srgb,var(--status-alarm) 0%,transparent),0 1px 2px rgba(0,0,0,.5)}}.vmarker.selected .body{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--accent-marker),0 0 0 9px color-mix(in srgb,var(--accent-marker) 30%,transparent),0 2px 6px rgba(0,0,0,.5)}.vmarker:focus-visible{outline:none}.vmarker:focus-visible .body{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--focus-ring),0 2px 6px rgba(0,0,0,.5)}.vmarker .harrow{position:absolute;inset:-17px;display:none;align-items:flex-start;justify-content:center;transition:transform .3s linear;pointer-events:none}.vmarker .harrow svg{width:16px;height:16px;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55))}.vmarker.alarm.has-heading .harrow,.vmarker.idle.has-heading .harrow,.vmarker.moving.has-heading .harrow{display:flex}.vmarker.idle .harrow svg path{fill:#fff;stroke:var(--status-idle);stroke-width:2.4}.vmarker.fr-delayed:before,.vmarker.fr-stale:before{content:"";position:absolute;z-index:2;top:-3px;inset-inline-end:-3px;width:13px;height:13px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.45);background:linear-gradient(var(--marker-ink,#0b1013),var(--marker-ink,#0b1013)) 50% 30% /1.5px 4px no-repeat,linear-gradient(90deg,var(--marker-ink,#0b1013),var(--marker-ink,#0b1013)) 68% 50% /3.5px 1.5px no-repeat,var(--status-idle)}.vmarker.fr-stale:before{background:linear-gradient(var(--marker-ink,#0b1013),var(--marker-ink,#0b1013)) 50% 30% /1.5px 4px no-repeat,linear-gradient(90deg,var(--marker-ink,#0b1013),var(--marker-ink,#0b1013)) 68% 50% /3.5px 1.5px no-repeat,var(--text-muted)}.vmarker.fr-stale .body{filter:saturate(.3)}.vmarker.fr-reconnecting{opacity:.55}.vmarker.fr-reconnecting .body{filter:saturate(.4)}.vmarker.fr-reconnecting.has-heading .harrow,.vmarker.fr-stale.has-heading .harrow{display:none}.freshpill{display:inline-flex;align-items:center;font-size:11px;font-weight:500;line-height:16px;padding:0 7px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);background:var(--bg-raised)}.freshpill.fr-delayed{color:var(--warn-text);border-color:color-mix(in srgb,var(--warn-text) 45%,transparent);background:color-mix(in srgb,var(--status-idle) 14%,transparent)}.freshpill.fr-reconnecting,.freshpill.fr-stale{color:var(--text-primary);border-style:dashed}.selectedcard .freshpill.card{font-size:12px;padding:2px 9px}.selectedcard .freshpill.f-fresh{color:var(--text-primary);border-color:color-mix(in srgb,var(--status-moving) 55%,transparent)}.selectedcard .freshpill.f-offline{color:var(--text-primary);border-color:color-mix(in srgb,var(--status-offline) 55%,transparent)}@media (prefers-reduced-motion:reduce){.vmarker .body,.vmarker .harrow{transition:none;animation:none}}.cluster{width:42px;height:42px;border-radius:50%;background:var(--bg-surface);border:2px solid var(--text-muted);color:var(--text-primary);font-size:13px;font-weight:600;display:grid;place-items:center;box-shadow:0 2px 10px rgba(2,8,20,.35);cursor:pointer;position:relative}.cluster:before{background:var(--cluster-ring,var(--text-muted));z-index:-1}.cluster:after,.cluster:before{content:"";position:absolute;inset:-3px;border-radius:50%}.alertrow{position:relative;display:flex;align-items:stretch;gap:4px}.alertrow>.alertcard{flex:1 1;min-width:0}.alertrow:before{content:"";width:3px;flex:none;border-radius:2px;background:var(--sev-color,var(--text-muted))}.activitylist .sev-critical,.alertrow.sev-critical,.period-alert-type .sev-critical{--sev-color:var(--alarm-text)}.activitylist .sev-high,.alertrow.sev-high,.period-alert-type .sev-high{--sev-color:var(--warn-text)}.activitylist .sev-medium,.alertrow.sev-medium,.period-alert-type .sev-medium{--sev-color:var(--data-blue)}.activitylist .sev-low,.alertrow.sev-low,.period-alert-type .sev-low{--sev-color:var(--text-muted)}.alertrow .sevicon{color:var(--sev-color);font-size:11px;line-height:1}.alertrow .vchip{display:inline-block;padding:1px 7px;border-radius:999px;background:var(--bg-raised);font-size:11.5px}.alertrow .ackline{display:block;-webkit-margin-before:3px;margin-block-start:3px;font-size:11px;color:var(--text-muted)}.alertrow .mutebtn{flex:none;width:32px;min-height:44px;display:grid;place-items:center;border-radius:var(--radius-control);background:transparent;color:var(--text-muted);cursor:pointer}.alertrow .mutebtn:hover{background:var(--bg-raised);color:var(--text-primary)}.alertrow .mutemenu{position:absolute;inset-block-start:40px;inset-inline-end:4px;z-index:30;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);padding:5px;display:flex;flex-direction:column;min-width:150px}.alertrow .mutemenu .mutehead{font-size:11.5px;color:var(--text-muted);padding:4px 8px}.alertrow .mutemenu button{min-height:44px;padding:0 10px;text-align:start;font-size:13px;color:var(--text-primary);background:transparent;border-radius:var(--radius-control);cursor:pointer}.alertnotice,.alertrow .mutemenu button:hover{background:var(--bg-raised)}.alertnotice{margin:6px 0 0;padding:7px 10px;font-size:12.5px;border-radius:var(--radius-control);color:var(--text-primary)}.routemark.stop{display:grid;place-items:center;font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#0b1220}.speedgraph{position:relative;height:54px;-webkit-margin-before:8px;margin-block-start:8px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden}.speedgraph svg{width:100%;height:100%;display:block;cursor:pointer}.speedgraph .sgline{fill:none;stroke:var(--data-blue);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}.speedgraph .sgcursor{stroke:var(--text-primary);stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.75}.speedgraph .sgpeak{position:absolute;inset-block-start:3px;inset-inline-end:6px;font-size:10.5px;color:var(--text-muted);pointer-events:none}.stoplist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:168px;overflow-y:auto}.stoplist li{display:flex;flex:none;align-items:center;flex-wrap:wrap;gap:2px 8px;font-size:12.5px;min-height:34px;padding:2px 4px}.stoplist li .locline.compact{flex:1 1 180px;min-width:0}.stoplist .sn{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:999px;background:var(--warn-text,#d97706);color:#0b1220;font-size:11px;font-weight:700}.stoplist .linkbtn{min-height:34px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stoplist .locline.compact .locactions .linkbtn{min-height:44px;min-width:44px}.stoplist .locline.compact .locactions .linkbtn:after{inset:0}.stoplist .sdur{color:var(--text-primary)}.tripactions{display:flex;gap:12px;flex-wrap:wrap;-webkit-margin-before:8px;margin-block-start:8px;-webkit-padding-before:8px;padding-block-start:8px;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border)}.tripactions .linkbtn{min-height:44px;font-size:12.5px}.tripactions .linkbtn[aria-pressed=true]{color:var(--brand-text);font-weight:600}.tripactions .linkbtn:disabled{color:var(--text-muted);cursor:default}.mapoptions{position:absolute;inset-block-start:12px;inset-inline-start:12px;z-index:25}.mapoptions-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-control);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);box-shadow:var(--shadow-popover);cursor:pointer}.mapoptions-btn:hover{border-color:var(--border-accent)}.mapoptions-menu{position:absolute;inset-block-start:46px;inset-inline-start:0;z-index:45;max-height:calc(100dvh - 180px);overflow-y:auto;min-width:min(280px,calc(100vw - 24px));background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);padding:6px;display:flex;flex-direction:column;gap:2px}.mapoptions-row{display:flex;align-items:center;gap:9px;min-height:44px;padding-inline:8px;font-size:13px;border-radius:var(--radius-control);cursor:pointer}.mapoptions-row input[type=checkbox]{flex:none;width:18px;height:18px;padding:0;margin:0;border-radius:4px;accent-color:var(--control-accent)}.mapoptions-row>span{flex:1 1;min-width:0}.mapoptions-row:hover{background:var(--bg-raised)}.mapoptions-action{min-height:44px;-webkit-margin-before:4px;margin-block-start:4px;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border);font-size:13px;color:var(--brand-text);background:transparent;border-radius:var(--radius-control);cursor:pointer}.mapoptions-action:hover{background:var(--bg-raised)}.cluster:hover{border-color:var(--border-accent)}.map.mode-imagery .cluster{background:#101827;color:#e6edf7;border-color:rgba(230,237,247,.4)}.vmarker .mchip{position:absolute;inset-block-start:100%;inset-inline-start:50%;translate:-50% 6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;font-size:11px;font-weight:400;padding:2px 7px;white-space:nowrap;box-shadow:0 1px 6px rgba(2,8,20,.25);display:none}[dir=rtl] .vmarker .mchip{translate:50% 6px}.show-labels .vmarker .mchip{display:block}@keyframes pulse-soft{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-moving) 45%,transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.maplibregl-marker{transition:transform .3s linear;will-change:transform}.map.camera-moving .maplibregl-marker{transition:none}@media (prefers-reduced-motion:reduce){.maplibregl-marker,.panel,.vmarker .body,.vmarker .harrow{transition:none!important}.vmarker.alarm .body{animation:none!important}.skl{animation:none}}.maplibregl-ctrl-group{background:var(--bg-surface)!important;border:1px solid var(--border);border-radius:var(--radius-control)!important;box-shadow:var(--shadow-popover)!important;overflow:hidden}.maplibregl-ctrl-group button{background:transparent!important;width:40px!important;height:40px!important}.maplibregl-ctrl-group button:hover{background:var(--bg-raised)!important}.maplibregl-ctrl-group button+button{border-top:1px solid var(--border)!important}:root[data-theme=dark] .maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(.82) hue-rotate(180deg)}.maplibregl-ctrl-scale{background:color-mix(in srgb,var(--bg-surface) 78%,transparent)!important;border:1px solid var(--text-muted)!important;border-top:none!important;color:var(--text-muted)!important;font-size:11px!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.maplibregl-ctrl-attrib{background:color-mix(in srgb,var(--bg-surface) 82%,transparent)!important;color:var(--text-muted)}.maplibregl-ctrl-attrib a{color:var(--text-muted)!important}.paneltoggle{display:none}@media (max-width:767px){.panel{position:absolute;inset-block:0 calc(var(--mbar-h) + env(safe-area-inset-bottom, 0px));inset-inline-start:0;z-index:40;width:min(320px,85vw);transform:translateX(100%);transition:transform .2s ease;visibility:hidden}[dir=ltr] .panel{transform:translateX(-100%)}.panel.open{transform:translateX(0);visibility:visible;box-shadow:var(--shadow-popover)}.paneltoggle{display:inline-flex}.topbar{gap:8px;padding:0 8px}.tbdiv,.topbar .cswitch,.topbar .search,.wm-text,.wm-text small{display:none}.topbar .avatarbtn,.topbar .iconbtn{min-width:40px}.topbar .avatarbtn:after,.topbar .iconbtn:after{content:"";position:absolute;inset:-2px}.selectedcard.sheet{inset-inline:0;inset-block-end:calc(var(--mbar-h) + env(safe-area-inset-bottom, 0px));width:100%;border-radius:var(--radius-card) var(--radius-card) 0 0;border-bottom:0;overflow-y:auto;-webkit-padding-after:max(12px,env(safe-area-inset-bottom,0px));padding-block-end:max(12px,env(safe-area-inset-bottom,0px))}.selectedcard.compact .vact-quiet,.selectedcard.compact>:not(.vcard-head):not(.vcard-actions){display:none}.selectedcard.compact .vcard-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px}.selectedcard.compact .vact.primary{flex:1.6 1}.selectedcard.compact .vact-row{display:contents}.selectedcard.compact .vact-row .vact{flex:1 1;min-width:0;white-space:nowrap}.selectedcard.compact .vact-row a.vact{display:none}.selectedcard.compact{overflow:hidden}.selectedcard.sheet .sheet-toggle{display:inline-flex}}.maplibregl-marker.selected{z-index:3}.selectedcard .sheet-toggle{display:none}.layerswitcher{display:flex;width:100%;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden}.layerswitcher button{flex:1 1;padding:0 10px;min-height:44px;font-size:12px;font-weight:600;color:var(--text-muted);position:relative}.layerswitcher button:after{content:"";position:absolute;inset:-4px}.layerswitcher button+button{-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border)}.layerswitcher button:hover{background:var(--bg-raised);color:var(--text-primary)}.layerswitcher button[aria-pressed=true]{background:var(--selected-fill);color:var(--on-selected)}.layerswitcher button[aria-pressed=true]:focus-visible{outline-color:var(--text-primary)}@media (min-width:820px){.alertspanel,.tripspanel{max-height:calc(100% - 96px - 208px)}}.map.mode-imagery .vmarker .body{box-shadow:0 0 0 2px #fff,0 1px 3px rgba(0,0,0,.65),0 5px 14px -2px rgba(0,0,0,.55)}.map.mode-imagery .vmarker.selected .body{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--accent-marker),0 0 0 9px color-mix(in srgb,var(--accent-marker) 35%,transparent),0 2px 8px rgba(0,0,0,.6)}.map.mode-imagery .vmarker .mchip{background:rgba(10,16,28,.85);border-color:rgba(230,237,247,.28);color:#e6edf7;text-shadow:0 1px 2px rgba(0,0,0,.8)}.loginpage{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(1200px 600px at 80% -10%,color-mix(in srgb,var(--accent-marker) 14%,transparent),transparent),var(--bg-base);padding:24px}.logincard{width:min(400px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:32px 28px;box-shadow:0 18px 48px rgba(2,8,20,.35);gap:14px}.loginbrand,.logincard{display:flex;flex-direction:column}.loginbrand{align-items:center;gap:10px;-webkit-margin-after:2px;margin-block-end:2px}.loginbrand .brandtile{border-radius:14px}.loginwm{display:flex;flex-direction:column;align-items:center;line-height:1.25}.loginwm b{font-size:20px;font-weight:600}.loginwm small{font-size:12px;color:var(--text-muted)}.logincard h1{font-size:22px;font-weight:600;text-align:center;margin:4px 0 0}.loginsub{color:var(--text-muted);font-size:13px;text-align:center;margin:0 0 8px}.loginfield{display:flex;flex-direction:column;gap:6px;font-size:13px}.loginfield span{color:var(--text-muted);font-weight:400}.loginfield input{font:inherit;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.loginfield input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.loginerror{margin:0;font-size:13px;color:var(--alarm-text);background:color-mix(in srgb,var(--status-alarm) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-alarm) 35%,transparent);border-radius:10px;padding:9px 12px}.loginsubmit{font:inherit;font-weight:600;color:var(--on-primary);background:var(--primary-fill);border:none;border-radius:10px;padding:11px 14px;cursor:pointer;transition:background .12s ease}.loginsubmit:hover:not(:disabled){background:var(--primary-fill-hover)}.loginsubmit:disabled{opacity:.55;cursor:default}.loginsubmit:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.loginhint{color:var(--text-muted);font-size:12.5px;line-height:1.6;text-align:center;margin:0}.loginlinkbtn{display:block;text-align:center;text-decoration:none}.loginlegal{margin:2px 0 0;text-align:center;font-size:12.5px}.loginlegal a{display:inline-flex;align-items:center;min-height:32px;padding-inline:6px;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px}.loginlegal a:hover{color:var(--text-primary)}.loginlegal a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:6px}.logoutbtn{font:inherit;font-size:12.5px;color:var(--text-muted);background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer}.logoutbtn:hover{color:var(--text-primary);border-color:var(--border-accent)}.logoutbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.tripspanel{position:absolute;inset-inline-end:16px;top:16px;width:min(360px,calc(100% - 32px));max-height:calc(100% - 96px);overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 40px rgba(2,8,20,.4);padding:14px;z-index:30;display:flex;flex-direction:column;gap:12px}.tripspanel .head{display:flex;align-items:center;gap:8px}.tripspanel .head .name{font-weight:600;flex:1 1}.tripspanel .muted{color:var(--text-muted);font-size:13px;margin:4px 0}.rangechips{display:flex;gap:6px}.rangechips button{flex:1 1;font:inherit;font-size:12.5px;padding:7px 8px;border-radius:9px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);cursor:pointer}.rangechips button.active{background:var(--selected-fill);border-color:var(--selected-fill);color:var(--on-selected);font-weight:600}.rangechips button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.triplist{list-style:none;margin:0;padding:0;gap:8px}.tripcard,.triplist{display:flex;flex-direction:column}.tripcard{width:100%;text-align:start;font:inherit;background:var(--bg-raised);border:1px solid var(--border);border-radius:11px;padding:10px 12px;cursor:pointer;gap:4px;color:var(--text-primary)}.tripcard:hover{border-color:var(--border-accent)}.tripcard:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.triptimes{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tripmeta{color:var(--text-muted);font-size:12.5px}.tripmeta b{color:var(--text-primary);font-weight:600}.tripdetail{display:flex;flex-direction:column;gap:10px}.backbtn{align-self:flex-start;font:inherit;font-size:12.5px;color:var(--brand-text);background:none;border:none;cursor:pointer;padding:2px 0}.playbar{display:flex;align-items:center;gap:8px}.playbtn{font:inherit;font-size:15px;width:36px;height:36px;border-radius:10px;border:none;background:var(--primary-fill);color:var(--on-primary);cursor:pointer;flex-shrink:0}.playbtn:disabled{opacity:.5;cursor:default}.playbar input[type=range]{flex:1 1;accent-color:var(--control-accent);min-width:0}.speeds{display:flex;gap:4px}.speeds button{font:inherit;font-size:11.5px;padding:5px 7px;border-radius:8px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);cursor:pointer}.speeds button.active{background:var(--selected-fill);border-color:var(--selected-fill);color:var(--on-selected)}.readout{font-size:12.5px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.bellbtn{position:relative}.bellbadge{position:absolute;top:-4px;inset-inline-end:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--alarm-bg);color:#fff;font-size:10.5px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--bg-surface)}.alertspanel,.zonespanel{position:absolute;inset-inline-end:16px;top:16px;width:min(380px,calc(100% - 32px));max-height:calc(100% - 96px);overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 40px rgba(2,8,20,.4);padding:14px;z-index:31;display:flex;flex-direction:column;gap:12px}.alertspanel .head,.zonespanel .head{display:flex;align-items:center;gap:8px}.alertspanel .head .name,.zonespanel .head .name{font-weight:600;flex:1 1}.alertspanel .muted,.zonespanel .muted{color:var(--text-muted);font-size:13px;margin:2px 0}.zoneactions{display:flex;gap:8px}.loadmore,.zoneactions button{font:inherit;font-size:12.5px;padding:8px 10px;border-radius:9px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-primary);cursor:pointer;flex:1 1}.loadmore:hover,.zoneactions button:hover{border-color:var(--border-accent)}.zoneactions button.primary{background:var(--primary-fill);border-color:var(--primary-fill);color:var(--on-primary);font-weight:600}.zoneactions button:disabled{opacity:.5;cursor:default}.zonedraw{display:flex;flex-direction:column;gap:8px}.zonedraw input,.zonerename input{font:inherit;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);border-radius:9px;padding:8px 10px;width:100%}.zonenotice{margin:0;font-size:12.5px;border-radius:9px;padding:8px 10px}.zonenotice.ok{color:#12b76a;background:color-mix(in srgb,#12b76a 12%,transparent)}.zonenotice.bad{color:var(--alarm-text);background:color-mix(in srgb,var(--status-alarm) 12%,transparent)}.zonelist{list-style:none;margin:0;padding:0;flex-direction:column}.zonecard,.zonelist{display:flex;gap:8px}.zonecard{align-items:center;background:var(--bg-raised);border:1px solid var(--border);border-radius:11px;padding:9px 11px}.zonename{font-weight:600;flex:1 1}.zonerename{display:flex;gap:6px;flex:1 1}.zonebtns{display:flex;gap:4px}.zonecard{flex-wrap:wrap}.zonealerts{flex-wrap:wrap;gap:6px 12px}.zonealert,.zonealerts{display:inline-flex;align-items:center}.zonealert{gap:6px;min-height:44px;font-size:11.5px;color:var(--text-muted);white-space:nowrap;cursor:pointer}.zonealerts .zonenotice{flex-basis:100%;margin:0}.zonebtns button{font:inherit;font-size:11.5px;padding:5px 8px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer}.zonebtns button:hover{color:var(--text-primary);border-color:var(--border-accent)}.zonebtns button.danger:hover{color:var(--alarm-text);border-color:var(--alarm-text)}.zonehandle{width:13px;height:13px;border-radius:50%;background:#f79009;border:2.5px solid #fff;box-shadow:0 0 0 2px rgba(7,12,22,.55);cursor:-webkit-grab;cursor:grab}.alertfilters{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.alertfilters input,.alertfilters select{font:inherit;font-size:12.5px;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);border-radius:9px;padding:7px 9px;min-width:0}.linkbtn{font:inherit;font-size:12px;color:var(--brand-text);background:none;border:none;cursor:pointer;padding:2px 4px}.alertlist{list-style:none;margin:0;padding:0;gap:7px}.alertcard,.alertlist{display:flex;flex-direction:column}.alertcard{width:100%;text-align:start;font:inherit;background:var(--bg-raised);border:1px solid var(--border);border-radius:11px;padding:9px 11px;cursor:pointer;gap:3px;color:var(--text-primary)}.alertcard:hover{border-color:var(--border-accent)}.alertcard.unread{-webkit-border-start:3px solid var(--accent-marker);border-inline-start:3px solid var(--accent-marker)}.alerttop{display:flex;align-items:center;gap:7px}.alerttop b{font-weight:600;font-size:13px;flex:1 1}.alertwhen{color:var(--text-muted);font-size:11.5px}.unreaddot{width:8px;height:8px;border-radius:50%;background:var(--accent-marker);flex-shrink:0}.alertmeta{color:var(--text-muted);font-size:12.5px}.alertskl{height:120px;border-radius:11px}.billingpage{min-height:100dvh;background:var(--bg-base);padding:24px;display:flex;justify-content:center}.billingcard{width:min(760px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:24px;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;gap:16px}.billingcard .head{display:flex;align-items:center;justify-content:space-between}.billingcard h1{font-size:20px;font-weight:600;margin:0}.billingcard h2{font-size:15px;font-weight:600;margin:8px 0 0}.billingcard .muted{color:var(--text-muted);font-size:13px}.billinggrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.billstat{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.billstat .l{color:var(--text-muted);font-size:12px}.billstat .v{font-size:18px;font-weight:600}.invoicetable{width:100%;border-collapse:collapse;font-size:13px}.invoicetable th{text-align:start;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:4px 10px 8px}.invoicetable td{padding:9px 10px;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border)}.invstatus{border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:600}.invstatus.paid{background:color-mix(in srgb,var(--ok-text) 16%,transparent);color:var(--ok-text)}.invstatus.issued{background:color-mix(in srgb,var(--brand-text) 16%,transparent);color:var(--brand-text)}.invstatus.overdue{background:color-mix(in srgb,var(--status-alarm) 16%,transparent);color:var(--alarm-text)}.invstatus.draft,.invstatus.void{background:var(--bg-raised);color:var(--text-muted)}.invstatus.part_paid{background:color-mix(in srgb,var(--warn-text) 16%,transparent);color:var(--warn-text)}.invstatus.written_off{background:var(--bg-raised);color:var(--text-muted);text-decoration:line-through}.billingcard.wide{width:min(1100px,100%)}.billingcard .headactions{display:flex;gap:8px;align-items:center}.invoicetable td.owed{font-weight:600}.invoicetable td.rowactions{display:flex;gap:10px;white-space:nowrap}.invoicetable .companyname{font-weight:600;-webkit-margin-end:8px;margin-inline-end:8px}.promisechip{display:inline-block;-webkit-margin-start:6px;margin-inline-start:6px;background:var(--bg-raised);color:var(--text-muted)}.agechip,.promisechip{border-radius:999px;padding:2px 10px;font-size:11.5px}.agechip{font-weight:600}.agechip.current{background:var(--bg-raised);color:var(--text-muted)}.agechip.d1_30{background:color-mix(in srgb,var(--brand-text) 14%,transparent);color:var(--brand-text)}.agechip.d31_60,.agechip.d61_90{background:color-mix(in srgb,var(--warn-text) 16%,transparent);color:var(--warn-text)}.agechip.d90_plus{background:color-mix(in srgb,var(--status-alarm) 16%,transparent);color:var(--alarm-text)}.paymentsrow td{background:var(--bg-raised)}.paymentlist{display:flex;flex-direction:column;gap:6px;font-size:12.5px}.paymentlist li{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline}.paymentlist li.reversed{text-decoration:line-through;color:var(--text-muted)}.billingbanner{position:absolute;inset-inline:16px;top:62px;z-index:38;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;font-size:13px;box-shadow:0 10px 30px rgba(2,8,20,.35);background:color-mix(in srgb,#f79009 14%,var(--bg-surface));border:1px solid color-mix(in srgb,#f79009 45%,transparent)}.billingbanner.suspended{background:color-mix(in srgb,#f04438 14%,var(--bg-surface));border-color:color-mix(in srgb,#f04438 45%,transparent)}.billingbanner .txt{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.billingbanner b{font-weight:600}.billingbanner button{flex:none;padding:7px 12px;border-radius:var(--radius-control);background:var(--primary-fill);color:var(--on-primary);font-weight:600;font-size:12.5px}@media (max-width:900px){.billingbanner{flex-direction:column;align-items:stretch}}.suspendbanner,.suspendoverlay{background:color-mix(in srgb,#f04438 12%,var(--bg-surface));border:1px solid color-mix(in srgb,#f04438 40%,transparent);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;font-size:13.5px}.suspendoverlay{position:absolute;inset-inline:16px;top:16px;z-index:40;box-shadow:0 14px 40px rgba(2,8,20,.45)}.suspendoverlay button{align-self:flex-start;font:inherit;font-weight:600;color:var(--on-primary);background:var(--primary-fill);border:none;border-radius:9px;padding:8px 14px;cursor:pointer}.invoicetable{display:block;overflow-x:auto}.invoicetable td{white-space:nowrap}.adminshell{display:flex;min-height:100dvh;background:var(--bg-base)}.adminnav{width:232px;flex-shrink:0;background:var(--bg-surface);-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;padding:14px 10px;gap:12px;position:-webkit-sticky;position:sticky;top:0;height:100dvh}.adminbrand{display:flex;align-items:center;gap:10px;padding:4px 8px;text-decoration:none;color:var(--text-primary)}.adminbrand span{display:flex;flex-direction:column;line-height:1.2}.adminbrand b{font-size:15px;font-weight:600}.adminbrand small{font-size:12px;color:var(--text-muted)}.adminnav nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.adminnav nav a{display:block;padding:10px 12px;min-height:44px;line-height:24px;border-radius:var(--radius-control);color:var(--text-muted);text-decoration:none;font-size:13.5px}.adminnav nav a:hover{background:var(--bg-raised);color:var(--text-primary)}.adminnav nav a.active{background:var(--selected-fill);color:var(--on-selected);font-weight:600}.adminnav-foot{display:flex;flex-direction:column;gap:6px}.adminnav-foot .backmap{display:block;padding:9px 12px;border-radius:var(--radius-control);color:var(--brand-text);text-decoration:none;font-size:13px}.adminnav-foot .backmap:hover{background:var(--bg-raised)}.adminnav-toggles{display:flex;gap:4px;-webkit-padding-start:4px;padding-inline-start:4px}.adminmain{flex:1 1;min-width:0;padding:24px}.adminmain>.adminpage{max-width:1040px;margin:0 auto}.adminhead{display:flex;align-items:center;justify-content:space-between;gap:12px;-webkit-margin-after:16px;margin-block-end:16px}.adminhead h1{font-size:20px;font-weight:600;margin:0}.adminbtn{font:inherit;font-weight:600;font-size:13px;color:var(--on-primary);background:var(--primary-fill);border:none;border-radius:var(--radius-control);padding:0 16px;min-height:40px;cursor:pointer}.adminbtn:hover:not(:disabled){background:var(--primary-fill-hover)}.adminbtn:disabled{background:var(--primary-disabled-fill);border-color:var(--primary-disabled-fill);color:var(--primary-disabled-text);cursor:not-allowed}.adminbtn.ghost{color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);font-weight:400}.adminbtn.ghost:hover:not(:disabled){background:var(--bg-raised);border-color:var(--border-accent)}.adminbtn.danger{background:var(--alarm-bg)}.admintablewrap{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow-x:auto}.admintable{width:100%;border-collapse:collapse;font-size:13px}.admintable th{text-align:start;font-size:12px;font-weight:600;color:var(--text-muted);padding:12px 14px;white-space:nowrap}.admintable td,.admintable th{-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.admintable td{padding:11px 14px;vertical-align:middle}.admintable tbody tr:last-child td{-webkit-border-after:none;border-block-end:none}.admintable tbody tr:hover{background:var(--bg-raised)}.admintable .rowlink{color:var(--brand-text);cursor:pointer;font-weight:600}.adminempty{padding:40px;text-align:center;color:var(--text-muted);font-size:13px}.capmatrix th.capsub{font-size:11px;font-weight:500;text-align:center;padding-block:4px}.capmatrix td{padding-block:9px}.capcell{font-size:15px;line-height:1}.cap-full{color:var(--ok-text,#16a34a)}.cap-partial{color:var(--warn-text,#d97706)}.cap-none{color:var(--text-muted)}.caplocked td:first-child{opacity:.85}.caproutes{margin:0;-webkit-padding-start:18px;padding-inline-start:18px;display:grid;grid-gap:4px;gap:4px;font-size:12.5px}.caproutes code{font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;background:var(--bg-raised);border-radius:6px;padding:1px 6px}.adminform{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px 16px;gap:12px 16px}.adminfield{display:flex;flex-direction:column;gap:5px;font-size:12.5px}.adminfield>label,.adminfield>span{color:var(--text-muted);font-weight:600}.pushhome{margin:0 0 18px}.adminfield .fieldhint{font-weight:400;font-size:11.5px;color:var(--text-muted);opacity:.85;line-height:1.5}.pickerrow{display:flex;align-items:stretch;gap:8px}.pickerrow>select{flex:1 1 auto;min-inline-size:0}.adminform>.adminfield.wide{grid-column:span 2}.pickerrow .adminbtn.inlineadd{flex:0 0 auto;min-height:0;display:inline-flex;align-items:center;gap:5px;padding:0 12px;font-size:12.5px;white-space:nowrap}.adminfield input,.adminfield select,.adminfield textarea{font:inherit;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control);padding:9px 12px;width:100%}.adminfield textarea{min-height:72px;resize:vertical}.adminfield .fielderr{color:var(--alarm-text);font-size:12px}.adminfield.invalid input,.adminfield.invalid select{border-color:var(--alarm-text)}.adminformfoot{display:flex;gap:8px;align-items:center;-webkit-margin-before:16px;margin-block-start:16px;flex-wrap:wrap}.adminmodal .adminformfoot .adminbtn{min-height:44px}.adminok{color:var(--ok-text);font-size:13px}.adminerr{color:var(--alarm-text);font-size:13px}.testreason{font-size:12px;font-family:var(--font-mono,ui-monospace,monospace);word-break:break-word}.admincard{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:18px;-webkit-margin-after:16px;margin-block-end:16px}.admincard h2{font-size:14px;font-weight:600;margin:0 0 12px}.adminmuted{color:var(--text-muted);font-size:12.5px}.admintabs{gap:2px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);-webkit-margin-after:16px;margin-block-end:16px;flex-wrap:wrap}.admintabs button{font:inherit;font-size:13px;padding:10px 16px;min-height:44px;color:var(--text-muted);-webkit-border-after:2px solid transparent;border-block-end:2px solid transparent;-webkit-margin-after:-1px;margin-block-end:-1px}.admintabs button:hover{color:var(--text-primary)}.admintabs button:disabled{color:var(--text-disabled);cursor:not-allowed}.admintabs button:disabled:hover{color:var(--text-disabled)}.admintabs button[aria-selected=true]{color:var(--brand-text);font-weight:600;border-block-end-color:var(--brand-text)}.pill{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;white-space:nowrap}.pill.ok{background:color-mix(in srgb,var(--ok-text) 16%,transparent);color:var(--ok-text)}.pill.warn{background:color-mix(in srgb,var(--warn-text) 16%,transparent);color:var(--warn-text)}.pill.bad{background:color-mix(in srgb,var(--status-alarm) 16%,transparent);color:var(--alarm-text)}.pill.mute{background:var(--bg-raised);color:var(--text-muted)}.adminmodal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(4,8,16,.55);display:grid;place-items:center;padding:16px}.adminmodal{width:min(560px,100%);max-height:90dvh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-popover);padding:20px}.adminmodal h2{font-size:16px;font-weight:600;margin:0 0 14px}.temppw{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate;background:var(--bg-raised);border:1px dashed var(--accent-marker);border-radius:var(--radius-control);padding:12px 16px;font-size:18px;font-weight:600;letter-spacing:.08em;text-align:center;margin:10px 0;-webkit-user-select:all;-moz-user-select:all;user-select:all}.wizsteps{display:flex;flex-direction:column;gap:10px}.wizstep{display:flex;align-items:center;gap:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px 16px}.wizstep .wiznum{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:600;flex-shrink:0;background:var(--bg-raised);color:var(--text-muted)}.wizstep.done .wiznum{background:color-mix(in srgb,var(--ok-text) 18%,transparent);color:var(--ok-text)}.wizstep .wizbody{flex:1 1;min-width:0}.wizstep .wizbody b{display:block;font-size:14px;font-weight:600}.wizstep .wizbody span{font-size:12.5px;color:var(--text-muted)}.wizprogress{height:8px;border-radius:4px;background:var(--bg-raised);overflow:hidden;margin:12px 0 20px}.wizprogress>div{height:100%;background:var(--accent-marker);border-radius:4px;transition:width .3s ease}.admintable .linkbtn{position:relative;padding:6px 4px}.admintable .linkbtn:after{content:"";position:absolute;inset:-8px}.admintable select{min-height:36px}.admincard{overflow-x:auto}.importrows{max-height:380px;overflow-y:auto}@media (max-width:767px){.adminshell{flex-direction:column}.adminnav{width:100%;height:auto;position:static;flex-direction:row;align-items:center;overflow-x:auto;gap:6px}.adminbrand span,.adminnav-foot .backmap{display:none}.adminnav nav{flex-direction:row}.adminnav nav a{white-space:nowrap;min-height:40px;line-height:20px}.adminmain{padding:12px}.adminform{grid-template-columns:1fr}}.scoperadio{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;color:var(--text-primary);cursor:pointer}.scoperadio input{flex:none;width:16px;height:16px;accent-color:var(--control-accent)}.scoperadio span{flex:1 1}.scopelist{margin-top:6px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--bg-sunken,var(--bg-raised))}.scopeitem{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13.5px;color:var(--text-primary)}.scopeitem input{width:16px;height:16px;accent-color:var(--control-accent)}.reppage{padding:20px 24px 40px;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.rephead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.rephead h1{font-size:20px;font-weight:700;margin:0;color:var(--text-primary)}.repchips{display:flex;gap:6px;flex-wrap:wrap}.repchips button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.repchips button.active{background:var(--selected-fill);border-color:var(--selected-fill);color:var(--on-selected);font-weight:600}.repfilters{display:flex;flex-direction:column;gap:12px}.repfilterrow{display:flex;flex-wrap:wrap;gap:12px}.repfilterrow .adminfield{min-width:150px;flex:0 1 auto}.repfilterfoot,.reptoolbar{display:flex;gap:8px}.reptoolbar{align-items:center;flex-wrap:wrap}.repspacer{flex:1 1 auto}.reppresets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.preschip{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:999px;padding:2px 10px;min-height:44px;background:var(--bg-raised)}.preschip-x{font-size:15px;line-height:1;color:var(--text-muted)}.pressave{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.presinput{min-height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-primary);font:inherit;font-size:13px}.reptablecard{padding:0;overflow:visible}.reptablecard .admintablewrap{max-height:62vh;overflow:auto}.reptabletools{display:flex;align-items:center;gap:10px}.repcolumns,.reptabletools{padding:10px 14px;border-bottom:1px solid var(--border)}.repcolumns{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:2px 14px;gap:2px 14px;background:var(--bg-sunken,var(--bg-raised))}.reptable thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--bg-raised)}.repsort{background:none;border:0;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer;padding:6px 0;min-height:44px;width:100%;text-align:inherit}.reptable tfoot td{position:-webkit-sticky;position:sticky;bottom:0;background:var(--bg-raised);border-top:2px solid var(--border);font-weight:700;color:var(--text-primary)}.repfoot{padding:8px 14px 12px;font-size:11.5px}@media (max-width:700px){.reppage{padding:14px 12px 32px}.repfilterrow .adminfield{min-width:100%}}.rephead-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.rephead-title .linkbtn,.reppresets .linkbtn,.reptabletools .linkbtn{min-height:44px;display:inline-flex;align-items:center}.reppick{position:relative}.reppickbtn{font:inherit;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control);padding:9px 12px;min-height:40px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:start}.reppickbtn:hover:not(:disabled){border-color:var(--border-accent)}.reppickbtn:disabled{opacity:.55;cursor:not-allowed}.reppickon{font-weight:600;color:var(--brand-text)}.reppickpanel{position:absolute;inset-block-start:calc(100% + 4px);inset-inline-start:0;z-index:40;min-width:260px;max-width:340px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 12px 32px rgb(0 0 0/28%);padding:8px}.reppicksearch{font:inherit;width:100%;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control);padding:7px 10px;-webkit-margin-after:6px;margin-block-end:6px}.reppicktools{display:flex;gap:12px;padding:0 4px 6px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.reppicklist{max-height:240px;overflow:auto;-webkit-padding-before:6px;padding-block-start:6px}.reppickrow{display:flex;align-items:center;gap:8px;padding:7px 6px;border-radius:var(--radius-control);font-size:13px;cursor:pointer}.reppickrow:hover{background:var(--bg-raised)}.reppickrow input{accent-color:var(--control-accent);width:16px;height:16px;flex:none}.reppickrow em{font-style:normal}.reptablecard td,.reptablecard th{white-space:nowrap}.dashpage{padding:20px clamp(12px,3vw,28px) 40px;max-width:1500px;margin-inline:auto}.dashbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;-webkit-margin-after:12px;margin-block-end:12px}.dashgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:16px;gap:16px}.dashslot{min-width:0}@media (max-width:900px){.dashslot{grid-column:span 12!important}}.dashcard{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px 16px 10px;overflow:visible;min-width:0;display:flex;flex-direction:column;gap:10px;height:100%}.dashcard-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashcard-head h2{font-size:14px;font-weight:600;margin:0;flex:1 1;min-width:0}.dashcard-tools{display:flex;align-items:center;gap:6px;position:relative}.dashcard-body{min-height:120px}.dashcard-foot{flex-wrap:wrap;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border);-webkit-padding-before:8px;padding-block-start:8px;font-size:11.5px}.dashcard-foot,.dashstate{display:flex;align-items:center;gap:8px}.dashstate{flex-direction:column;padding:24px 8px}.dashranges{display:flex;gap:4px;flex-wrap:wrap}.dashranges button{font:inherit;font-size:11.5px;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-control);padding:5px 10px;min-height:44px;display:inline-flex;align-items:center;cursor:pointer}.dashranges button:hover{color:var(--text-primary);background:var(--bg-raised)}.dashranges button.active{color:var(--on-selected);background:var(--selected-fill);border-color:var(--selected-fill);font-weight:600}.dashcard-tools .iconbtn{min-width:40px;padding-inline:6px}.dashmenu{position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0;z-index:40;min-width:190px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:0 12px 32px rgb(0 0 0/28%);padding:6px;display:flex;flex-direction:column;gap:2px}.dashmenu button{font:inherit;font-size:13px;text-align:start;color:var(--text-primary);background:transparent;border:0;border-radius:var(--radius-control);padding:8px 10px;cursor:pointer}.dashmenu button:hover{background:var(--bg-raised)}.dashmenu-sep{height:1px;background:var(--border);margin:4px 2px}.dashmenu-sizes{display:flex;gap:4px;padding:4px 6px}.dashmenu-sizes button{flex:1 1;text-align:center;border:1px solid var(--border);font-size:12px;padding:6px 0}.dashmenu-sizes button.active{background:var(--selected-fill);color:var(--on-selected);border-color:var(--selected-fill)}.dashchart text{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;fill:var(--text-muted);font-size:11px}.dashchart .dashdonut-total{fill:var(--text-primary);font-size:20px;font-weight:700}.dashchart .dashaxis{font-size:10.5px}.dashtrend-bar{transition:fill .15s ease}.dashbar-g:focus-within .dashtrend-bar,.dashbar-g:hover .dashtrend-bar{fill:var(--accent-marker)}.dashbar-g a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dashdonut{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.dashdonut-figure{flex:none}.dashlegend{list-style:none;margin:0;padding:0;flex:1 1;min-width:160px;display:flex;flex-direction:column;gap:2px}.dashlegend-row{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;grid-gap:8px;gap:8px;padding:5px 6px;border-radius:var(--radius-control);font-size:12.5px;color:inherit;text-decoration:none}a.dashlegend-row:hover{background:var(--bg-raised)}.dashlegend-mark{width:10px;height:10px;border-radius:3px}.dashlegend-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashlegend-value{font-weight:600}.dashlegend-share{color:var(--text-muted);min-width:34px;text-align:end}.barlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.barlist-track{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 10px;border-radius:var(--radius-control);background:var(--bg-raised);color:inherit;text-decoration:none;overflow:hidden}.barlist-fill{position:absolute;inset-block:0;inset-inline-start:0;background:color-mix(in srgb,var(--accent-marker) 26%,transparent)}.barlist-fill[data-zero=true]{background:none}.barlist-label,.barlist-value{position:relative}.barlist-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.barlist-value{font-weight:600;font-size:13px}a.barlist-track:hover .barlist-fill{background:color-mix(in srgb,var(--accent-marker) 38%,transparent)}.barlist-row.muted .barlist-label{color:var(--text-muted)}.dashtable td,.dashtable th{white-space:nowrap}.briefcard{height:auto;-webkit-margin-after:16px;margin-block-end:16px}.briefcard .dashcard-head h2{font-size:15px}.brief-glyph{color:var(--accent-marker);font-size:18px}.brief-body{display:flex;flex-direction:column;gap:14px}.brief-hero{display:grid;grid-template-columns:minmax(150px,auto) 1fr;grid-gap:8px 24px;gap:8px 24px;align-items:start}@media (max-width:700px){.brief-hero{grid-template-columns:1fr}}.brief-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--radius-card);background:var(--bg-raised);min-width:0}.brief-pct{font-size:40px;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--text-primary)}.brief-pctsign{font-size:22px;font-weight:600;-webkit-margin-start:2px;margin-inline-start:2px;color:var(--text-muted)}.brief-statlabel{font-size:13px;font-weight:600}.brief-statmeta{font-size:12px}.brief-formingpill{align-self:flex-start}.brief-lines{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.6}.brief-lines li:first-child{font-weight:600;font-size:15px}.brief-h3{font-size:12.5px;font-weight:600;color:var(--text-muted);margin:4px 0 0}.brief-none{font-size:13px;margin:0}.brief-exceptions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.brief-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;grid-gap:10px;gap:10px;padding:8px 10px;border-radius:var(--radius-control);background:var(--bg-raised);font-size:13px;min-height:44px}.brief-rowicon{display:inline-flex;color:var(--warn-text);font-size:16px}.brief-row.reason-night_ignition .brief-rowicon{color:var(--alarm-text)}.brief-row.reason-no_movement .brief-rowicon{color:var(--text-muted)}.brief-rowname{font-weight:600;color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-rowname:hover{text-decoration:underline}.brief-rowreason{color:var(--text-muted);white-space:nowrap}@media (max-width:600px){.brief-row{grid-template-columns:auto minmax(0,1fr) auto}.brief-rowopen,.brief-rowreason{grid-column:2/-1}.brief-rowopen{justify-self:start}}.brief-alerts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px}.brief-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-weight:600;color:var(--sev-color,var(--text-muted));background:color-mix(in srgb,var(--sev-color,var(--text-muted)) 14%,transparent)}.brief-chip.sev-critical{--sev-color:var(--alarm-text)}.brief-chip.sev-high{--sev-color:var(--warn-text)}.brief-chip.sev-medium{--sev-color:var(--data-blue)}.brief-chip.sev-low{--sev-color:var(--text-muted)}.brief-source{min-width:260px;max-width:340px;gap:6px;padding:10px 12px}.brief-source p{margin:0;font-size:12.5px;line-height:1.5}.brief-react{display:flex;gap:2px}.brief-react .iconbtn[aria-pressed=true]{color:var(--accent-marker)}.panel-pinned{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px 0;font-size:12px}@media (prefers-reduced-motion:reduce){.dashtrend-bar{transition:none}}.cswitch-pinned{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:13px;max-width:240px}.cswitch-pinned .cname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext}.cswitchbtn.needschoice{border-color:var(--border-accent);color:var(--brand-text)}.cpop{min-width:268px;max-width:320px;padding:6px;gap:4px}.cpop-search{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid var(--border);border-radius:9px;background:var(--bg-base);color:var(--text-muted)}.cpop-search input{flex:1 1;min-width:0;border:0;background:none;color:var(--text-primary);font:inherit;font-size:13px;outline:none}.cpop-list{display:flex;flex-direction:column;gap:1px;max-height:306px;overflow-y:auto}.cpop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text-primary);font:inherit;font-size:13.5px;text-align:start;cursor:pointer}.cpop-row:hover{background:var(--bg-raised)}.cpop-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.cpop-row.current{color:var(--brand-text);font-weight:600}.cpop-row .pop-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cpop-state{padding:12px 10px;color:var(--text-muted);font-size:13px;text-align:center}.cpop-state.err{color:var(--status-alarm)}.adminscope{display:flex;flex-direction:column;gap:5px;padding:4px 8px 10px}.adminscope-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.adminscope .cswitch .popover{inset-inline-start:0}.appshell{display:grid;grid-template-columns:236px 1fr;min-height:100vh;min-height:100dvh}.appnav{display:flex;flex-direction:column;min-height:0;background:var(--bg-base);-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh}.appbrand{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;text-decoration:none;color:var(--text-primary)}.appbrand b{display:block;font-size:15px;letter-spacing:-.01em}.appbrand small{display:block;font-size:12px;color:var(--text-muted)}.appscope{padding:0 12px 10px}.appscope .cswitch{width:100%}.appscope .cswitchbtn{width:100%;justify-content:space-between}.appgroups{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 8px 10px}.appgroups::-webkit-scrollbar{width:8px}.appgroups::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.appgroups{scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:linear-gradient(var(--bg-base) 30%,transparent) top /100% 18px no-repeat local,linear-gradient(transparent,var(--bg-base) 70%) bottom /100% 18px no-repeat local,radial-gradient(farthest-side at 50% 0,color-mix(in srgb,var(--text-primary) 16%,transparent),transparent) top /100% 9px no-repeat scroll,radial-gradient(farthest-side at 50% 100%,color-mix(in srgb,var(--text-primary) 16%,transparent),transparent) bottom /100% 9px no-repeat scroll}.navgroup+.navgroup{margin-top:8px}.navgrouphead{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:0;background:none;cursor:pointer;color:var(--text-muted);font:inherit;font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.navchev{-webkit-margin-start:auto;margin-inline-start:auto;transition:transform .15s ease}.navchev.closed{transform:rotate(-90deg)}[dir=rtl] .navchev.closed{transform:rotate(90deg)}.navitems{display:flex;flex-direction:column;gap:1px}.navitem{position:relative;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;color:var(--text-muted);text-decoration:none;font-size:13.5px}.navitem:hover{background:var(--bg-raised);color:var(--text-primary)}.navitem.on{background:var(--selected-fill);color:var(--on-selected);font-weight:600}.navitem.on svg{opacity:1}.navitem.on:before{content:"";position:absolute;inset-inline-start:4px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent-on-ink)}:root[data-theme=dark] .navitem.on:before{background:var(--on-selected)}.navitem.on{-webkit-padding-start:15px;padding-inline-start:15px}.navitem svg{flex:none;opacity:.9}.appnavfoot{border-top:1px solid var(--border);padding:9px 12px;display:flex;flex-direction:column;gap:8px}.appuser{display:flex;align-items:center;gap:9px}.appuser,.appuserinfo{min-width:0}.appuserinfo b{display:block;font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext}.appuserinfo small{display:block;font-size:10.5px;color:var(--text-muted)}.appnavtoggles{display:flex;gap:6px}.appmain{min-width:0;display:flex;flex-direction:column}.modpage{padding:22px 24px 40px;max-width:1180px}.pagehead{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.pagehead-text{flex:1 1;min-width:0}.pagehead h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.015em}.pagepurpose{margin:4px 0 0;color:var(--text-muted);font-size:13.5px;max-width:70ch}.sectionlabel{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin:26px 0 8px}.btnprimary{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--primary-fill);border-radius:var(--radius-control);background:var(--primary-fill);color:var(--on-primary);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none}.btnprimary:hover{background:var(--primary-fill-hover);border-color:var(--primary-fill-hover)}.btnghost{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:13.5px;cursor:pointer}.btnghost:hover{background:var(--bg-raised)}.btnghost.danger{-webkit-margin-end:auto;margin-inline-end:auto}.btnghost.danger:hover{color:var(--alarm-text);border-color:var(--alarm-text)}.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-surface)}.datatable{border-collapse:collapse;width:100%;min-width:560px}.datatable td,.datatable th{text-align:start;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13.5px}.datatable thead th{background:var(--bg-raised);color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.datatable tbody tr:last-child td{border-bottom:0}.datatable td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.datatable tr.unread td:first-child{box-shadow:inset 3px 0 0 var(--accent-marker)}[dir=rtl] .datatable tr.unread td:first-child{box-shadow:inset -3px 0 0 var(--accent-marker)}.rowlink{color:var(--brand-text);text-decoration:none;font-size:12.5px}.rowlink:hover{text-decoration:underline}.statepill{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}.statepill.ok{background:color-mix(in srgb,var(--status-moving) 18%,transparent);color:var(--ok-text)}.statepill.warn{background:color-mix(in srgb,var(--status-idle) 20%,transparent);color:var(--warn-text)}.statepill.bad{background:color-mix(in srgb,var(--status-alarm) 20%,transparent);color:var(--alarm-text)}.statepill.info{background:color-mix(in srgb,var(--data-blue) 20%,transparent);color:var(--data-blue)}.statepill.neutral{background:var(--bg-raised);color:var(--text-muted)}.tagsafety{-webkit-margin-start:7px;margin-inline-start:7px;font-size:10.5px;padding:1px 6px;border-radius:5px;background:color-mix(in srgb,var(--status-alarm) 16%,transparent);color:var(--alarm-text)}.tagneutral{font-size:11.5px;padding:1px 7px;border-radius:5px;background:var(--bg-raised);color:var(--text-muted)}.zoneswatch{display:inline-block;width:9px;height:9px;border-radius:3px;-webkit-margin-end:7px;margin-inline-end:7px;vertical-align:baseline}.pagestate{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 20px;text-align:center;color:var(--text-muted)}.pagestate-icon{color:var(--text-muted);opacity:.65}.pagestate b{color:var(--text-primary);font-size:15px}.pagestate p{margin:0;max-width:46ch;font-size:13.5px}.pagestate-hint{font-size:12.5px;opacity:.8}.pagestate-error .pagestate-icon{color:var(--alarm-text);opacity:1}.pagefilter{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-surface);color:var(--text-muted);max-width:320px;margin-bottom:14px}.pagefilter input{flex:1 1;min-width:0;border:0;background:none;color:var(--text-primary);font:inherit;font-size:13px;outline:none}.chiprow{gap:6px;margin-bottom:14px}.chiprow,.cmdchips{display:flex;flex-wrap:wrap}.cmdchips{gap:8px}.cmdchip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);font-size:12.5px}.cmdchip.off{opacity:.55}.cmdchip em{font-style:normal;font-size:10.5px;color:var(--alarm-text)}.supportstats{display:flex;flex-wrap:wrap;gap:12px}.supportstat{display:inline-flex;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-surface);margin-bottom:16px}.supportstat b{font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.supportstat span{color:var(--text-muted);font-size:12.5px}.supportstat.bad b{color:var(--alarm-text)}.tenantlink{position:relative;display:inline-flex;align-items:center;gap:4px;-webkit-margin-start:10px;margin-inline-start:10px;vertical-align:middle;font-size:12px;color:var(--brand-text);text-decoration:none;white-space:nowrap}.tenantlink:after{content:"";position:absolute;inset:-8px}.tenantlink:hover{text-decoration:underline}.datatable td.muted,.dialognote{color:var(--text-muted)}.dialognote{margin:0 0 12px;font-size:12.5px;line-height:1.55;max-width:52ch}.dialognote+.adminfield{-webkit-margin-before:4px;margin-block-start:4px}.timefield-row{display:flex;gap:16px;flex-wrap:wrap}.timefield-row>.timefield{flex:1 1 140px}.timefield-pair{display:flex;align-items:center;gap:4px}.timefield-pair>select{flex:1 1;min-inline-size:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timefield-sep{color:var(--text-muted);font-weight:600}.supportbanner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);background:color-mix(in srgb,var(--status-alarm) 14%,var(--bg-surface))}.supportbanner .supportbanner-dot{width:9px;height:9px;border-radius:50%;background:var(--alarm-text);flex:none}.supportbanner .txt{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.supportbanner .txt b{font-size:13px;font-weight:600;color:var(--alarm-text)}.supportbanner .txt span{font-size:12.5px;color:var(--text-muted)}@media (prefers-reduced-motion:no-preference){.supportbanner .supportbanner-dot{animation:supportpulse 2.4s ease-in-out infinite}}@keyframes supportpulse{0%,to{opacity:1}50%{opacity:.35}}.toggle{width:38px;height:21px;border-radius:999px;border:1px solid var(--border);background:var(--bg-raised);position:relative;cursor:pointer;padding:0}.toggle .knob{position:absolute;inset-inline-start:2px;top:2px;width:15px;height:15px;border-radius:50%;background:var(--text-muted);transition:inset-inline-start .15s ease}.toggle.on{background:var(--selected-fill);border-color:var(--selected-fill)}.toggle.on .knob{inset-inline-start:19px;background:var(--on-selected)}.toggle:disabled{opacity:.5;cursor:not-allowed}.mbar,.msheet,.msheet-scrim{display:none}@media (max-width:900px){.appshell{grid-template-columns:1fr}.appnav{display:none}.appmain{padding-bottom:64px}.appmain:has(>.shell){padding-bottom:0}.modpage{padding:16px 14px 30px}:root{--mbar-h:65px}.alertspanel,.selectedcard,.zonespanel{inset-block-end:calc(var(--mbar-h) + env(safe-area-inset-bottom, 0px) + 12px)}.maparea .selectedcard{max-height:min(68%,calc(100% - var(--mbar-h) - env(safe-area-inset-bottom, 0px) - 12px - 72px));overflow-y:auto;overscroll-behavior:contain}.mapctl-stack,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{-webkit-margin-after:calc(var(--mbar-h) + env(safe-area-inset-bottom, 0px));margin-block-end:calc(var(--mbar-h) + env(safe-area-inset-bottom, 0px))}.mbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset-inline:0;bottom:0;z-index:90;background:var(--bg-base);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.mbar-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 9px;border:0;background:none;cursor:pointer;color:var(--text-muted);font:inherit;font-size:10px;text-decoration:none;min-height:48px}.mbar-item.on{color:var(--brand-text)}.mbar-item span{line-height:1.1}.msheet-scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:95}.msheet{display:flex;flex-direction:column;position:fixed;inset-inline:0;bottom:0;z-index:96;max-height:82vh;background:var(--bg-base);border-radius:16px 16px 0 0;border:1px solid var(--border);border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0)}.msheet-grab{width:34px;height:4px;border-radius:2px;background:var(--border);margin:8px auto 4px}.msheet-head{display:flex;align-items:center;justify-content:space-between;padding:4px 14px 8px}.msheet-scope{padding:0 14px 10px}.msheet-scope .cswitch,.msheet-scope .cswitchbtn{width:100%}.msheet-body{flex:1 1;overflow-y:auto;padding:0 10px 10px}.msheet-group+.msheet-group{margin-top:12px}.msheet-glabel{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:4px 8px}.msheet-item{display:flex;align-items:center;gap:11px;padding:11px 10px;border-radius:10px;color:var(--text-primary);text-decoration:none;font-size:14.5px;min-height:44px}.msheet-item.on{background:var(--selected-fill);color:var(--on-selected);font-weight:600;position:relative;-webkit-padding-start:15px;padding-inline-start:15px}.msheet-item.on:before{content:"";position:absolute;inset-inline-start:4px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--accent-on-ink)}:root[data-theme=dark] .msheet-item.on:before{background:var(--on-selected)}.msheet-foot{display:flex;flex-direction:column;gap:10px;padding:10px 14px 14px;border-top:1px solid var(--border)}.msheet-toggles{display:flex;gap:8px}.msheet-toggles .btnghost{flex:1 1;justify-content:center}.msheet-user{display:flex;align-items:center;gap:9px;min-width:0;-webkit-padding-before:10px;padding-block-start:10px;border-top:1px solid var(--border)}.msheet-user .appuserinfo{flex:1 1;min-width:0}.msheet-user .signout{flex:none}}.admingate-switcher{-webkit-margin-before:16px;margin-block-start:16px;max-width:360px}.cswitch-loading{height:34px;border-radius:var(--radius-control);background:var(--bg-raised);opacity:.6}.adminbtn.ghost,.btnghost,.chip,.dashranges button,.layerswitcher button,.loginfield input,.rangechips button,.repchips button,.reppickbtn,.speeds button,.toggle,input,select,textarea{border-color:var(--border-control)}.chip[aria-pressed=true],.dashranges button.active,.layerswitcher button[aria-pressed=true],.rangechips button.active,.repchips button.active,.speeds button.active,.toggle.on{border-color:var(--selected-fill)}.adminbtn:disabled,button:disabled{border-color:var(--primary-disabled-fill)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.adminbtn:focus-visible,.btnprimary:focus-visible,.loginsubmit:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.adminbtn:active:not(:disabled),.btnprimary:active:not(:disabled),.loginsubmit:active:not(:disabled){background:var(--primary-fill-active);border-color:var(--primary-fill-active)}.btnprimary:disabled,.loginsubmit:disabled{background:var(--primary-disabled-fill);border-color:var(--primary-disabled-fill);color:var(--primary-disabled-text);cursor:not-allowed;opacity:1}.dashlegend-glyph{display:inline-flex;-webkit-margin-end:6px;margin-inline-end:6px;color:var(--text-muted)}.wizstep.done .wiznum svg{width:1.05em;height:1.05em}.pill.mute svg,.pill.ok svg{-webkit-margin-end:2px;margin-inline-end:2px}.topbar.maptoolbar{height:44px;background:transparent;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.locline{display:flex;flex-direction:column;gap:2px;min-width:0}.locline .locname{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locline .locname.loc-coords,.locline .locname.loc-unknown{font-weight:400;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.locline .locactions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.locline .locprimary{font-weight:600}.locline .locmore{display:flex;flex-wrap:wrap;align-items:center;gap:12px;-webkit-margin-before:4px;margin-block-start:4px;-webkit-padding-before:6px;padding-block-start:6px;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border)}.locline .locmore .num{font-size:12.5px;color:var(--text-muted)}.locline .locmore .linkbtn{min-height:44px;display:inline-flex;align-items:center;font-size:12.5px}.locmore .coordcopy-fallback{display:flex;flex-direction:column;flex-basis:100%;min-width:0;gap:6px;color:var(--text-muted);font-size:12.5px}.locmore .coordcopy-fallback input{width:100%;min-width:0;min-height:44px}.alertspanel .locactions .linkbtn{display:inline-flex;align-items:center;gap:6px;min-height:44px}.locline.compact{flex:1 1;min-width:0;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.locline.compact .locmore{flex-basis:100%;-webkit-margin-before:2px;margin-block-start:2px;-webkit-padding-before:4px;padding-block-start:4px}.locline.compact .locname{flex:1 1;min-width:0;font-size:12.5px}.locline.compact .locactions .linkbtn{position:relative;min-height:34px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.locline.compact .locactions .linkbtn:after{content:"";position:absolute;inset-block:-5px;inset-inline:-6px}.selectedcard .hint.prov{color:var(--text-muted);font-size:11.5px}.routealert{position:relative;width:15px;height:15px;border-radius:50%;border:3px solid var(--sev-color,var(--text-muted));background:var(--bg-surface);box-shadow:0 0 0 1.5px rgba(7,12,22,.55);cursor:pointer;padding:0}.routealert:after{content:"";position:absolute;inset:-15px}.routealert{display:grid;place-items:center;color:var(--sev-color,var(--text-muted))}.routealert .sevglyph{font-size:8px;line-height:1;pointer-events:none}.sgalert{inset-block-start:0;width:3px;height:100%;padding:0;border:0;background:var(--sev-color,var(--text-muted));opacity:.9;cursor:pointer}.sgalert,.sgalert .sgsev{position:absolute;transform:translateX(-50%)}.sgalert .sgsev{inset-block-start:-3px;left:50%;font-size:10px;line-height:1;color:var(--sev-color,var(--text-muted));pointer-events:none}.sgalert:after{content:"";position:absolute;inset-block:-6px;inset-inline:-10px}.routealert.sev-critical,.sgalert.sev-critical{--sev-color:var(--alarm-text)}.routealert.sev-high,.sgalert.sev-high{--sev-color:var(--warn-text)}.routealert.sev-medium,.sgalert.sev-medium{--sev-color:var(--data-blue)}.routealert.sev-info,.routealert.sev-low,.sgalert.sev-info,.sgalert.sev-low{--sev-color:var(--text-muted)}.alertscapped{margin:4px 0 0;font-size:12px}.tripwhere{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tripends{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control)}.tripend{display:flex;align-items:center;gap:8px;min-width:0}.tripend .endlabel{flex:none;width:34px;font-size:11.5px;color:var(--text-muted)}.vmarker.multi .body:after{content:"";position:absolute;inset:-5px;border-radius:15px;border:2px dashed var(--accent-marker);box-shadow:0 0 0 1px rgba(7,12,22,.55);pointer-events:none}.vmarker.multi .body:before{content:"";position:absolute;inset-block-start:-7px;inset-inline-end:-7px;width:10px;height:10px;border-radius:50%;background:var(--accent-marker);border:1.5px solid var(--bg-surface);pointer-events:none}.mapoptions-count{position:absolute;inset-block-start:-6px;inset-inline-end:-6px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--selected-fill);color:var(--on-selected);font-size:11px;font-weight:700;pointer-events:none}.mapoptions-section{display:flex;flex-direction:column;gap:6px;padding:6px 8px 8px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);-webkit-margin-after:4px;margin-block-end:4px}.mapoptions-hint,.mapoptions-label{font-size:11.5px;color:var(--text-muted)}.mapoptions-hint{margin:6px 0 2px;padding-inline:8px}.cmdtarget{display:flex;align-items:center;gap:8px;flex-wrap:wrap;-webkit-margin-after:10px;margin-block-end:10px}.cmdtarget select{min-height:44px;min-width:220px;max-width:100%}.cmdchip.act{cursor:pointer}.cmdchip.act:disabled{cursor:default;opacity:.6}.cmdhint{margin:8px 0 0}.cmdhint,.cmdnarrowed{font-size:12.5px;color:var(--text-muted)}.cmdnarrowed{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.selectedcard.vdetail{position:static;width:auto;max-width:none;box-shadow:none;z-index:auto}.selectedcard.vdetail .readonlytag{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--bg-raised);color:var(--text-muted)}.vdetailgrid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.vdetailcol{display:flex;flex-direction:column;gap:16px;min-width:0}.vdetailactions{display:flex;gap:8px;flex-wrap:wrap}.specs{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:6px 16px;gap:6px 16px;margin:0;font-size:13px}.specs dt{color:var(--text-muted)}.specs dd{margin:0;min-width:0;overflow-wrap:anywhere}.activitylist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.activitylist li{-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.activitylist li:last-child{-webkit-border-after:none;border-block-end:none}.activitylist .activityrow{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-height:44px;align-content:center;padding-block:8px;padding-inline:6px;margin-inline:-6px;border-radius:var(--radius-control);color:inherit;text-decoration:none}.activitylist .activityrow:hover{background:var(--bg-raised)}.activitylist .activityrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.activitylist .atype{font-weight:600}.activitylist .atime{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--text-muted);font-size:12px}.activitylist .chip{font-size:11.5px}.activitylist .sevglyph{color:var(--sev-color,var(--text-muted));font-size:11px;line-height:1}@media (max-width:900px){.vdetailgrid{grid-template-columns:minmax(0,1fr)}}.fuelsection h3{margin:18px 0 6px;font-size:13px;font-weight:600}.fuelnow{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-block:6px 2px}.fuellabel{color:var(--text-muted);font-size:12px;-webkit-margin-end:8px;margin-inline-end:8px}.fuelvalue{font-size:22px;font-weight:600}.fuelsection .provenance{margin:0}.fuelbanner{margin:0 0 10px;padding:8px 10px;border:1px dashed var(--border);border-radius:var(--radius-control);color:var(--text-muted);font-size:12.5px}.fuelprov{margin-block:8px;font-size:12.5px}.fuelprov>summary{cursor:pointer;color:var(--text-muted);min-height:28px;display:flex;align-items:center}.fuelprov>summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.fuelprovlist{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;color:var(--text-muted)}.fuelranges{display:flex;flex-wrap:wrap;gap:8px;margin-block:10px 6px}.fuelranges .chip{cursor:pointer;background:transparent}.fuelranges .chip.active{background:var(--selected-fill);color:var(--on-selected);border-color:var(--selected-fill)}.fuelchart{width:100%}.fuelchart-caption{margin:4px 0 0;font-size:12px}.fuelmark rect{cursor:pointer}.fuelmark rect:focus-visible{outline:2px solid var(--focus-ring)}.fuelcal{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.fuelcal h3{margin:0 0 4px;font-size:14px;font-weight:600}.fuelcaltable{border-collapse:collapse;margin-block:10px;width:100%;max-width:420px}.fuelcaltable th{text-align:start;font-size:12px;color:var(--text-muted);font-weight:600;padding-block:4px}.fuelcaltable td{padding:2px 4px 2px 0}.fuelcaltable input{width:100%;min-width:90px}.fuelcalactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block:8px}.fuelcalproblems{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12.5px}.fuelcalcurve{margin:12px 0}.fuelcalcurve figcaption{font-size:12px;margin-block:4px}.fuelcalversions{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12.5px}.fuelcalversions li{padding-block:4px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.fuelcalversions li:last-child{-webkit-border-after:none;border-block-end:none}.appuser .signout{-webkit-margin-start:auto;margin-inline-start:auto;flex:none}.btnghost.signout:hover:not(:disabled),.iconbtn.signout:hover:not(:disabled){color:var(--alarm-text);border-color:var(--alarm-text)}.signout:disabled{opacity:.55}.selectedcard .vcard-head{display:flex;align-items:flex-start;gap:10px;padding-bottom:12px}.selectedcard .vcard-head .vglyph{flex:none;width:36px;height:36px;border-radius:10px;background:var(--bg-raised);border:1px solid var(--border);display:grid;place-items:center}.selectedcard .vcard-head .vglyph svg{width:21px;height:21px;fill:none;stroke:var(--text-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.selectedcard .vcard-id{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:5px}.selectedcard .vcard-title{display:flex;align-items:center;gap:8px;min-width:0}.selectedcard .vcard-title .name{font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext}.selectedcard .vcard-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.selectedcard .statuspill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 9px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--border)}.selectedcard .statuspill .dot{width:7px;height:7px;border-radius:50%;background:var(--status-parked)}.selectedcard .statuspill.s-moving .dot{background:var(--status-moving)}.selectedcard .statuspill.s-idle .dot{background:var(--status-idle)}.selectedcard .statuspill.s-parked .dot{background:var(--status-parked)}.selectedcard .statuspill.s-offline .dot{background:var(--status-offline)}.selectedcard .statuspill.s-unknown .dot{background:var(--status-unknown);outline:1px dashed var(--text-muted);outline-offset:2px}.selectedcard .statuspill em{font-style:normal;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.selectedcard .metricgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:10px}.selectedcard .metricgrid.lifetime{grid-template-columns:repeat(2,1fr)}.selectedcard .metric{position:relative;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:9px 10px 10px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "value value";grid-gap:3px 6px;gap:3px 6px;align-items:start;min-width:0}.selectedcard .metric .micon{grid-area:icon;color:var(--text-muted)}.selectedcard .metric .mlabel{grid-area:label;font-size:11px;line-height:1.25;color:var(--text-muted);min-width:0;white-space:normal;overflow-wrap:anywhere}.selectedcard .metricgrid{align-items:stretch}.selectedcard .metric{align-content:start}.selectedcard .metric .mvalue{grid-area:value;font-size:17px;font-weight:600;line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectedcard .metric .mvalue small{font-size:11px;font-weight:400;color:var(--text-muted);-webkit-margin-start:3px;margin-inline-start:3px}.selectedcard .metric .mprov{position:absolute;inset-block-start:6px;inset-inline-end:6px;width:20px;height:20px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:help;padding:0}.selectedcard .metric .mprov:hover{color:var(--text-primary);background:var(--bg-surface)}.selectedcard .metric .mprov:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.selectedcard .vcard-loc{margin-bottom:10px}.selectedcard .sensorstrip{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.selectedcard .sensorstrip li{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 9px;border-radius:8px;background:var(--bg-raised);border:1px solid var(--border)}.selectedcard .sensorstrip li.unknown{border-style:dashed;color:var(--text-muted)}.selectedcard .sensorstrip .sicon{flex:none;color:var(--text-muted)}.selectedcard .sensorstrip .slabel{color:var(--text-muted)}.selectedcard .vcard-actions{display:flex;flex-direction:column;gap:8px}.selectedcard .vact{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:500;min-height:36px;padding:0 12px;border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;text-decoration:none}.selectedcard .vact:hover{border-color:var(--border-accent)}.selectedcard .vact.primary{background:var(--primary-fill);color:var(--on-primary);border-color:transparent;font-weight:600}.selectedcard .vact.primary:hover{background:var(--primary-fill-hover)}.selectedcard .vact.primary.on{background:var(--bg-surface);color:var(--text-primary);border-color:var(--accent-marker)}.selectedcard .vact-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:8px;gap:8px}.selectedcard .vact-quiet{display:flex;flex-wrap:wrap;gap:4px 14px;padding-top:2px}.selectedcard .vact-quiet .linkbtn{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;min-height:32px}.selectedcard .parkline{margin:0;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted)}.selectedcard .parkline svg{flex:none}@media (max-width:560px){.selectedcard .metricgrid{grid-template-columns:repeat(2,1fr)}.selectedcard .vact-row{grid-auto-flow:row;grid-auto-columns:auto}}[dir=rtl] .lucide-arrow-right,[dir=rtl] .lucide-log-out{transform:scaleX(-1)}.routemark{display:grid;place-items:center;padding:0;margin:0;border:0;background:none;font:inherit;color:var(--mark-ring);cursor:pointer}.routemark:focus-visible{outline:none}.routemark:after{content:"";position:absolute;inset:-10px}@media (pointer:coarse){.routemark:after{inset:-12px}}.routemark.parking,.routemark.stop{width:24px;height:24px;border-radius:50%;background:var(--mark-ink);box-shadow:0 0 0 2px var(--mark-ring),0 0 0 3.5px var(--mark-halo),0 2px 6px rgba(0,0,0,.4)}.routemark .n{font-size:12px;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--mark-ring)}.routemark.ongoing{box-shadow:0 0 0 3.5px var(--mark-halo),0 2px 6px rgba(0,0,0,.4)}.routemark.ongoing:before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px dashed var(--mark-ring)}.routemark.range{height:24px;min-width:40px;padding:0 9px;border-radius:12px;background:var(--mark-ink);font-size:12px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--mark-ring),0 0 0 3.5px var(--mark-halo),0 2px 6px rgba(0,0,0,.4)}.routemark.parking.active,.routemark.parking.hovered,.routemark.parking:focus-visible,.routemark.range.active,.routemark.range.hovered,.routemark.range:focus-visible,.routemark.stop.active,.routemark.stop.hovered,.routemark.stop:focus-visible{box-shadow:0 0 0 2px var(--mark-ring),0 0 0 5px var(--accent-marker),0 0 0 9px color-mix(in srgb,var(--accent-marker) 30%,transparent),0 2px 6px rgba(0,0,0,.4)}.routemark.end,.routemark.start{width:28px;height:36px;filter:drop-shadow(0 0 1.5px var(--mark-halo)) drop-shadow(0 2px 5px rgba(0,0,0,.42));pointer-events:none}.routemark.end:after,.routemark.start:after{content:none}.routemark .pinshape{position:absolute;inset:0;stroke:var(--mark-ring);stroke-width:2;pointer-events:auto}.routemark.end .pinglyph,.routemark.start .pinglyph{pointer-events:none}.routemark.start .pinshape{fill:var(--status-moving)}.routemark.end .pinshape{fill:var(--mark-ink)}.routemark .pinglyph{position:absolute;top:6.5px;left:7.5px;width:13px;height:13px;display:grid;place-items:center;color:var(--mark-ring)}.routemark.end .pinglyph svg,.routemark.start .pinglyph svg{fill:var(--mark-ring)}[dir=rtl] .routemark.start .pinglyph{transform:scaleX(-1)}.routemark.end.hovered .pinshape,.routemark.end:focus-visible .pinshape,.routemark.start.hovered .pinshape,.routemark.start:focus-visible .pinshape{stroke:var(--accent-marker);stroke-width:3}.routemark .rchip{position:absolute;inset-inline-start:50%;translate:-50% 0;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:7px;font-size:11.5px;font-weight:500;line-height:1.25;padding:3px 8px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 6px rgba(2,8,20,.25);pointer-events:none;display:none;text-align:center}[dir=rtl] .routemark .rchip{translate:50% 0}.routemark .rchip.ends{bottom:calc(100% + 4px);display:none;flex-direction:column;gap:1px}.routemark .rchip.ends b{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.routemark .rchip.ends .where{font-weight:400;color:var(--text-muted);max-width:184px;overflow:hidden;text-overflow:ellipsis}.map.rz-ends .routemark .rchip.ends{display:flex}.routemark .rchip.dur{top:calc(100% + 6px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.routemark .rchip.dur.shown{display:block}.map.mode-imagery .routemark .rchip{background:rgba(10,16,28,.85);border-color:rgba(230,237,247,.28);color:#e6edf7;text-shadow:0 1px 2px rgba(0,0,0,.8)}.map.mode-imagery .routemark .rchip.ends .where{color:rgba(230,237,247,.75)}.gapmark{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:7px;background:var(--bg-surface);color:var(--text-muted);border:1px dashed var(--border-control);font-size:11px;font-weight:500;white-space:nowrap;box-shadow:0 1px 6px rgba(2,8,20,.25);pointer-events:none;display:none}.map.rz-gaps .gapmark{display:inline-flex}.map.rz-gaps .gapmark.folded{display:none}.map.mode-imagery .gapmark{background:rgba(10,16,28,.85);border-color:rgba(230,237,247,.5);color:#e6edf7}.routecard{position:absolute;z-index:60;min-width:208px;max-width:320px;max-height:min(60vh,520px);overflow-y:auto;overscroll-behavior:contain;padding:10px 12px;border-radius:var(--radius-card);background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-popover);color:var(--text-primary);font-size:13px;display:flex;flex-direction:column;gap:6px}.routecard[hidden]{display:none}.routecard:after{content:"";position:absolute;left:var(--arrow-x,50%);bottom:-6px;width:10px;height:10px;translate:-50% 0;rotate:45deg;background:var(--bg-surface);-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border);-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.routecard.below:after{bottom:auto;top:-6px;border:0;-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border);-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border)}.rbadge{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--mark-ink);color:#fff;font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px var(--mark-halo);flex-shrink:0}.rbadge.pin.start{background:var(--status-moving)}.rbadge svg{width:12px;height:12px;fill:#fff}.rc-head{display:flex;align-items:center;gap:8px}.rc-title{font-weight:600;flex:1 1}.rc-dur{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rc-clock{font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rc-clock,.rc-sub{color:var(--text-muted)}.rc-sub{display:flex;align-items:center;gap:5px;font-size:12px}.rc-where{font-size:12.5px;line-height:1.35}.rc-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;-webkit-margin-before:2px;margin-block-start:2px}.rc-primary{font:inherit;font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:var(--radius-control);border:none;background:var(--primary-fill);color:var(--on-primary);cursor:pointer}.rc-primary:hover{background:var(--primary-fill-hover)}.rc-more{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.rc-list{display:flex;flex-direction:column;gap:2px;-webkit-margin-before:2px;margin-block-start:2px}.rc-row{display:flex;align-items:center;gap:8px;min-height:32px;padding:2px 4px;border:0;border-radius:8px;background:none;color:var(--text-primary);font:inherit;font-size:12.5px;text-align:start;cursor:pointer}.rc-row:hover{background:var(--bg-raised)}.rc-row .muted{color:var(--text-muted);-webkit-margin-start:auto;margin-inline-start:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rc-primary:focus-visible,.rc-row:focus-visible,.routecard .linkbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.routesheet{position:absolute;z-index:70;inset-inline:0;bottom:0;margin-inline:auto;max-width:640px;max-height:50%;background:var(--bg-surface);border:1px solid var(--border);border-bottom:0;border-radius:14px 14px 0 0;box-shadow:var(--shadow-popover);padding:0 14px calc(12px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:8px;color:var(--text-primary);font-size:14px}.rs-grab{width:36px;height:4px;border-radius:2px;background:var(--border-control);margin:8px auto 0}.rs-bar{display:flex;align-items:center;gap:6px}.rs-close,.rs-nav{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-raised);color:var(--text-primary);cursor:pointer}.rs-nav:disabled{opacity:.4;cursor:default}.rs-close{-webkit-margin-start:auto;margin-inline-start:auto}[dir=rtl] .dirglyph{transform:scaleX(-1)}.rs-body{display:flex;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.rs-body .linkbtn,.rs-body .rc-primary{min-height:44px}.map.routesheet-open .mapctl-stack,.map.routesheet-open .maplibregl-ctrl-bottom-left,.map.routesheet-open .maplibregl-ctrl-bottom-right{visibility:hidden}.playbackmark{width:44px;height:44px;z-index:50;will-change:transform;pointer-events:none}.playbackmark .body{position:absolute;inset:6px;border-radius:50%;background:var(--bg-raised);border:2px solid var(--data-blue);box-shadow:0 0 0 1.5px #fff,0 1px 3px rgba(7,12,22,.6),0 4px 10px -2px rgba(0,0,0,.4);display:grid;place-items:center}.playbackmark .body svg{width:20px;height:20px;fill:none;stroke:var(--text-primary);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.playbackmark .harrow{position:absolute;inset:-2px;display:grid;place-items:start center;transform-origin:50% 50%}.playbackmark .harrow svg{width:14px;height:14px}.playbackmark.gap .body{border-style:dashed;border-color:var(--text-muted);opacity:.8}.playbackmark.stop .body{border-color:var(--status-parked)}.playbackmark.gap .harrow,.playbackmark.stop .harrow{display:none}.playbackmark .timechip{position:absolute;top:calc(100% - 2px);inset-inline-start:50%;translate:-50% 0;background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border);border-radius:10px;padding:2px 7px;font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 1px 6px rgba(2,8,20,.25)}[dir=rtl] .playbackmark .timechip{translate:50% 0}.map.mode-imagery .playbackmark .timechip{background:rgba(10,16,28,.85);border-color:rgba(230,237,247,.28);color:#e6edf7}.map.replaying .vmarker.selected{opacity:.45}.speedlegend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;color:var(--text-muted);align-items:center}.speedlegend .sw{display:inline-block;width:18px;height:4px;border-radius:2px;vertical-align:middle;-webkit-margin-end:5px;margin-inline-end:5px}.speedlegend .slow .sw{background:var(--route-slow)}.speedlegend .medium .sw{background:var(--route-medium)}.speedlegend .fast .sw{background:var(--route-fast)}.speedlegend .gap .sw{background:repeating-linear-gradient(90deg,var(--route-unknown) 0 4px,transparent 4px 7px)}.speedlegend b{color:var(--text-primary);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.routecard,.routemark,.routesheet{transition:none}}.wholebtn{display:flex;flex-direction:column;gap:2px;width:100%;text-align:start;font:inherit;padding:10px 12px;border-radius:11px;border:1px solid var(--border-accent);background:var(--brand-wash);color:var(--text-primary);cursor:pointer}.wholebtn b{font-weight:600}.wholebtn .muted{font-size:12.5px}.wholebtn:hover{border-color:var(--accent-marker)}.wholebtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.triphead{display:flex;align-items:center;gap:8px}.tripnum{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text-muted)}.playbar .playbtn{display:grid;place-items:center}.playbar input[type=range]{height:28px}.playrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stepbtn{width:32px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-primary);cursor:pointer}.stepbtn:disabled{opacity:.45;cursor:default}.playrow .readout{flex:1 1;text-align:center;min-width:0}.playrow .pill{font:inherit;font-size:11.5px;padding:5px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);cursor:pointer}.playrow .pill[aria-pressed=true]{background:var(--selected-fill);border-color:var(--selected-fill);color:var(--on-selected);font-weight:600}.playrow .pill:disabled{opacity:.45;cursor:default}.playrow .pill:focus-visible,.stepbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.speedgraph .sgline.sg-slow{stroke:var(--route-slow)}.speedgraph .sgline.sg-medium{stroke:var(--route-medium)}.speedgraph .sgline.sg-fast{stroke:var(--route-fast)}.speedgraph .sgline.sg-unknown{stroke:var(--route-unknown)}.speedgraph .sgtick{stroke:var(--text-muted);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.8}.speedgraph .sgtick.parking{stroke:var(--status-parked);stroke-width:2.5}.stoplist li.active{background:var(--brand-wash);border-radius:8px}.stoplist .sn.parking{background:var(--status-parked);color:#0b1013}.keyhint{font-size:11px}@media (max-width:700px){.tripspanel{top:auto;inset-inline:8px;width:auto;bottom:calc(var(--mbar-h, 0px) + env(safe-area-inset-bottom, 0px) + 8px);max-height:46%;padding:12px}.keyhint{display:none}}.partnerpage{max-width:1240px}.kpigrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.kpi{position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:14px 16px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "value value" "sub sub";grid-gap:4px 8px;gap:4px 8px;align-content:start;min-width:0}.kpi .kicon{grid-area:icon;color:var(--text-muted);margin-top:1px}.kpi .klabel{grid-area:label;font-size:12px;color:var(--text-muted);font-weight:600;min-width:0;overflow-wrap:anywhere;-webkit-padding-end:22px;padding-inline-end:22px}.kpi .kvalue{grid-area:value;font-size:24px;font-weight:600;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:2px}.kpi .kvalue small{font-size:12px;font-weight:500;color:var(--text-muted);-webkit-margin-start:2px;margin-inline-start:2px}.kpi .kstack{display:flex;flex-direction:column;gap:2px}.kpi .kstack>span:not(:first-child){font-size:16px}.kpi .ksub{grid-area:sub;font-size:12px;color:var(--text-muted);margin-top:2px}.kpi .kprov{position:absolute;inset-block-start:10px;inset-inline-end:10px;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:help;padding:0}.kpi .kprov:hover{color:var(--text-primary);background:var(--bg-raised)}.kpi .kprov:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.kpi-wholesale{border-color:var(--border-accent)}.statementbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px}.statementtext{display:flex;flex-direction:column;gap:2px;flex:1 1 260px;min-width:0}.statementtext b{font-size:14px}.monthselect{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted);font-weight:600}.monthselect select{font:inherit;font-weight:500;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-control);border-radius:var(--radius-control);padding:8px 12px;min-height:40px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btnghost.small{padding:5px 10px;font-size:12.5px;min-height:32px}.btnghost:disabled{opacity:.6;cursor:not-allowed}.partnertable td.num,.partnertable th.num{text-align:end}[dir=rtl] .partnertable td.num,[dir=rtl] .partnertable th.num{text-align:start;direction:ltr}.partnertable .rowlink.strong{font-size:13.5px;font-weight:600;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.tagafter{-webkit-margin-start:8px;margin-inline-start:8px;vertical-align:middle}.wholesalecell{display:inline-flex;align-items:center;gap:6px}.srcdot{width:8px;height:8px;border-radius:999px;display:inline-block;flex:none}.srcdot.plan{background:var(--data-blue)}.srcdot.default{background:var(--text-muted);opacity:.55}.srcdot.override_discount,.srcdot.override_fixed{background:var(--ok-text)}.pricecell{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}[dir=rtl] .pricecell{justify-content:flex-start}.hashcell{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap}.provisionalrow{background:color-mix(in srgb,var(--warn-text) 8%,transparent)}.planrow.inactive td{opacity:.6}.adminfield.checkfield{flex-direction:row;align-items:center;gap:10px;min-height:44px;cursor:pointer}.adminfield.checkfield input{width:18px;height:18px;flex:none}.adminfield.checkfield>span{color:var(--text-primary);font-weight:400;font-size:13.5px}.partnernotice{padding:10px 14px;margin-bottom:14px;border-radius:var(--radius-control);background:color-mix(in srgb,var(--ok-text) 12%,transparent);color:var(--ok-text);font-size:13px;font-weight:500}.brandcard{gap:18px;flex-wrap:wrap;padding:16px 18px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card)}.brandcard,.brandpreview{display:flex;align-items:center}.brandpreview{gap:12px;min-width:0}.brandpreview>span{display:flex;flex-direction:column;gap:2px;min-width:0}.brandpreview b{font-size:15px}.brandpreview small{font-size:12px}.brandpreview .brandtile{flex:none}.brandpurpose{flex:1 1 260px;margin:0}.sectionlabel{display:flex;align-items:center;gap:7px}.sectionnote{margin:-4px 0 10px;font-size:12.5px}.listbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.listsearch{display:inline-flex;align-items:center;gap:7px;flex:1 1 220px;min-width:0;background:var(--bg-raised);border:1px solid var(--border-control);border-radius:var(--radius-control);padding-inline:10px;min-height:40px;color:var(--text-muted)}.listsearch:focus-within{outline:2px solid var(--focus-ring);outline-offset:1px}.listsearch input{flex:1 1;min-width:0;font:inherit;color:var(--text-primary);background:none;border:0;outline:none;min-height:38px}.listfilter{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-muted);font-weight:600}.listfilter select{font:inherit;font-weight:500;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-control);border-radius:var(--radius-control);padding:8px 10px;min-height:40px;max-width:180px}.btnghost.small.on{border-color:var(--border-accent);color:var(--brand-text)}.btnghost.small.on,.bulkbar{background:var(--brand-wash)}.bulkbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid var(--border-accent);border-radius:var(--radius-control)}.bulkcount{font-size:12.5px;font-weight:600;-webkit-margin-end:4px;margin-inline-end:4px}.partnertable td.pickcol,.partnertable th.pickcol{width:36px;text-align:center}.partnertable td.pickcol input,.partnertable th.pickcol input{width:18px;height:18px;cursor:pointer}.partnertable tr.picked{background:var(--brand-wash)}.partnertable .strongcell,.partnertable td.owed{font-weight:600}.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:10px;font-size:12.5px}.pager .adminmuted{-webkit-margin-end:auto;margin-inline-end:auto}.bulkresults{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bulkresults li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:var(--radius-control);background:var(--bg-raised);font-size:13px}.bulkresults li.ok>span:last-child{color:var(--ok-text);font-weight:600}.bulkresults li.bad{background:color-mix(in srgb,var(--status-alarm) 12%,transparent)}.bulkresults li.bad>span:last-child{color:var(--alarm-text)}@media (max-width:900px){.kpigrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.kpigrid{grid-template-columns:1fr}.statementbar .btnghost{width:100%;justify-content:center}.listbar>*{width:100%}.listfilter select{max-width:none;flex:1 1}.listbar .btnghost{justify-content:center}}.swupdate{position:fixed;inset-inline:12px;bottom:calc(var(--mbar-h, 0px) + env(safe-area-inset-bottom, 0px) + 12px);z-index:60;margin-inline:auto;max-width:460px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);color:var(--text-primary);font-size:13px;box-shadow:0 10px 30px rgb(0 0 0/.28)}.swupdate>span{flex:1 1;min-width:0}.swupdatebtn{padding:6px 12px;border:1px solid var(--primary-fill);border-radius:var(--radius-control);background:var(--primary-fill);color:var(--on-primary);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.swupdatedismiss{padding:6px 8px;border:0;background:none;color:var(--text-muted);font:inherit;font-size:12.5px;cursor:pointer}.swupdatebtn:focus-visible,.swupdatedismiss:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.pushtoggle{flex-direction:column}.pushtoggle,.pushtoggle__head{display:flex;gap:10px;align-items:flex-start}.pushtoggle__head{color:var(--text-primary)}.pushtoggle__head b{display:block;font-size:13.5px;font-weight:600}.pushtoggle__sub{display:block;margin-top:2px;color:var(--text-muted);font-size:12.5px;max-width:56ch}.pushtoggle--compact .pushtoggle__sub{max-width:44ch}.pushdevices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pushdevices li{direction:ltr;text-align:start;font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.pushprompt{position:relative;display:flex;gap:8px;align-items:flex-start;margin:8px 0 4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--brand-wash)}.pushprompt>[data-push-health]{flex:1 1;min-width:0}.pushpromptx{border:0;background:none;padding:12px;min-width:44px;min-height:44px;flex-shrink:0;display:grid;place-items:center;color:var(--text-muted);cursor:pointer;line-height:0}.pushpromptx:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.instapp{min-height:100dvh;background:var(--bg-base);color:var(--text-primary)}.insttop{display:flex;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top, 0px)) 14px 10px;background:var(--bg-surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:5}.instbrand,.insttop{align-items:center;gap:8px}.instbrand{display:inline-flex;font-size:15px;font-weight:600}.insttop-actions{display:inline-flex;gap:2px}.insticon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-control);color:var(--text-muted);cursor:pointer}.insticon:hover{background:var(--bg-raised);color:var(--text-primary)}.instmain{max-width:560px;margin:0 auto;padding:16px 14px calc(28px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:14px}.instmain h1{font-size:24px;font-weight:600;margin:0}.instpurpose{margin:-8px 0 0;line-height:1.55}.instmuted,.instpurpose{color:var(--text-muted);font-size:14px}.instmuted{margin:0}.instback,.instexit{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:48px;color:var(--text-muted);text-decoration:none;font-size:14px}.instback:hover,.instexit:hover{color:var(--text-primary)}[dir=rtl] .instbackicon{transform:none}[dir=ltr] .instbackicon{transform:scaleX(-1)}.instlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.instjob{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:88px;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);text-decoration:none;color:inherit}.instjob:hover{background:var(--bg-raised)}.instjob-main{display:flex;flex-direction:column;gap:3px;min-width:0}.instjob-main b{font-size:20px;font-weight:600;letter-spacing:.02em}.instjob-sub{color:var(--text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instjob-end{display:inline-flex;align-items:center;gap:8px;flex:none}.instchev{color:var(--text-muted)}[dir=rtl] .instchev{transform:none}[dir=ltr] .instchev{transform:scaleX(-1)}.instjob-skl{height:88px;border-radius:var(--radius-card);margin-bottom:10px}.instpill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;border:1px solid transparent}.inst-assigned{color:var(--status-parked);border-color:var(--status-parked)}.inst-in_progress{color:var(--data-blue);border-color:var(--data-blue)}.inst-awaiting_health,.inst-waiting_sim{color:var(--warn-text);border-color:var(--warn-text)}.inst-done{color:var(--ok-text);border-color:var(--ok-text)}.inst-failed{color:var(--alarm-text);border-color:var(--alarm-text)}.inst-cancelled{color:var(--text-muted);border-color:var(--border)}.instmeta{display:flex;align-items:center;gap:10px;margin-top:-6px}.instcard{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:12px}.instcard h2{margin:0;font-size:15px;font-weight:600;color:var(--text-muted)}.instfacts{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 14px;gap:6px 14px;margin:0}.instfacts dt{color:var(--text-muted);font-size:14px}.instfacts dd{margin:0;font-size:16px;font-weight:500}.instbrief{display:flex;flex-direction:column;gap:4px;margin:0;font-size:15px;line-height:1.6}.instbrief b{font-size:13px;color:var(--text-muted);font-weight:600}.instfield{display:flex;flex-direction:column;gap:6px;font-size:14px}.instfield>span{color:var(--text-muted)}.instfield input,.instfield select,.instfield textarea{min-height:52px;padding:12px 14px;font:inherit;font-size:17px;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-control)}.instfield textarea{min-height:76px;resize:vertical}.instfield small{font-size:13px}.instbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 18px;font-size:16px;font-weight:600;border-radius:var(--radius-control);background:var(--primary-fill);color:var(--on-primary);cursor:pointer}.instbtn:hover:not(:disabled){background:var(--primary-fill-hover)}.instbtn:disabled{opacity:.45;cursor:not-allowed}.instbtn.ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.instbtn.ghost:hover:not(:disabled){background:var(--bg-raised)}.instdispatch-open{align-self:flex-start}.insterror{color:var(--alarm-text);font-size:14px;margin:0}.instok{align-items:center;color:var(--ok-text)}.insthint,.instok{display:flex;gap:6px;font-size:14px;margin:0}.insthint{padding:10px 12px;background:var(--bg-raised);border-radius:var(--radius-control);color:var(--text-muted);line-height:1.55}.insthealth,.insthint{align-items:flex-start}.insthealth-state{display:flex;align-items:center;gap:10px;margin:0}.insthealth-state b{font-size:19px;font-weight:600}.insthealth-state svg{color:var(--warn-text)}.insthealth.live{border-color:var(--ok-text)}.insthealth.live .insthealth-state b,.insthealth.live .insthealth-state svg{color:var(--ok-text)}.instspin{animation:instpulse 1.6s ease-in-out infinite}@keyframes instpulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.instspin{animation:none}}.instchecks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}fieldset.instchecks{border:0}fieldset.instchecks legend{color:var(--text-muted);font-size:14px;padding:0 0 6px}.instchecks input[type=radio]{width:24px;height:24px;flex:none;accent-color:var(--primary-fill)}.instchecks label{display:flex;align-items:center;gap:12px;min-height:52px;font-size:16px;cursor:pointer}.instchecks input[type=checkbox]{width:26px;height:26px;flex:none;accent-color:var(--primary-fill)}.instchecks .insthint{-webkit-margin-start:38px;margin-inline-start:38px}.instshots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:10px;gap:10px}.instshot{margin:0;display:flex;flex-direction:column;gap:4px}.instshotframe{aspect-ratio:1;width:100%;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);background:var(--bg-raised);cursor:pointer}.instshotframe:disabled{cursor:default}.instshotframe img{width:100%;height:100%;object-fit:cover;display:block}.instshotframe .authimg{inline-size:100%;block-size:100%;display:block}.instshotstate{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;color:var(--text-muted);line-height:1.4}.instshot figcaption,.instshotstate{font-size:12px;text-align:center}.instviewer{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:rgb(0 0 0/.72)}.instviewerpanel{display:flex;flex-direction:column;gap:10px;max-width:min(100%,720px);max-height:100%;overflow:auto;padding:14px;border-radius:var(--radius-card);background:var(--bg-surface);border:1px solid var(--border)}.instviewerpanel img{max-width:100%;max-height:min(62vh,560px);object-fit:contain;align-self:center;border-radius:10px}.instviewerbar{display:flex;flex-wrap:wrap;gap:8px}.instviewerbar .instbtn{flex:1 1 auto}.admininstall{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--border)}.admininstall:first-of-type{border-top:0;padding-top:4px}.admininstallhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.admininstallhead b{font-size:15px;font-weight:600}.admininstallfacts{display:grid;grid-template-columns:auto 1fr;grid-gap:4px 14px;gap:4px 14px;margin:0;font-size:13px}.admininstallfacts dt{color:var(--text-muted)}.admininstallfacts dd{margin:0}.admininstallfull{display:flex;flex-direction:column;gap:10px;align-items:center}.admininstallfull .authimg{max-inline-size:100%;max-block-size:min(60vh,520px);object-fit:contain;border-radius:10px}.instdone,.instempty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:40px 20px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--text-muted)}.instdone b,.instempty b{color:var(--text-primary);font-size:18px}.instdone p,.instempty p{margin:0;font-size:14px}.instdone svg{color:var(--ok-text)}.instfailed svg{color:var(--alarm-text)}.instcancelled svg{color:var(--text-muted)}.instmodels{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0}.instmodels legend{color:var(--text-muted);font-size:14px;padding:0 0 6px}.instmodels label{display:inline-flex;align-items:center;min-height:48px;padding:0 16px;border:1px solid var(--border);border-radius:999px;background:var(--bg-base);cursor:pointer}.instmodels label.on{border-color:var(--primary-fill);color:var(--text-primary);font-weight:600}.instmodels input{position:absolute;opacity:0;pointer-events:none}.instnosim{flex-direction:row;align-items:center;gap:12px;min-height:52px;cursor:pointer}.instnosim input[type=checkbox]{width:26px;height:26px;flex:none;accent-color:var(--primary-fill)}.instpick{gap:10px}.instpick-skl{height:52px;border-radius:var(--radius-control);margin-bottom:8px}.instpick-search{position:relative;display:flex;align-items:center}.instpick-search>svg{position:absolute;inset-inline-start:13px;color:var(--text-muted);pointer-events:none}.instpick-search input{width:100%;-webkit-padding-start:42px;padding-inline-start:42px}.instpick-list{list-style:none;margin:0;padding:0;gap:6px;max-height:310px;overflow-y:auto}.instpick-list,.instpick-row{display:flex;flex-direction:column}.instpick-row{align-items:flex-start;gap:2px;width:100%;min-height:56px;padding:9px 13px;text-align:start;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer}.instpick-row:hover:not(:disabled){border-color:var(--primary-fill);background:var(--bg-raised)}.instpick-row b{font-size:16px;font-weight:600}.instpick-meta{color:var(--text-muted);font-size:14px}.instpick-row.blocked{cursor:not-allowed;opacity:1;background:transparent}.instpick-row.blocked .instpick-meta,.instpick-row.blocked b{color:var(--text-muted)}.instpick-reason{color:var(--warn-text);font-size:13px}.instpick-chosen{display:flex;align-items:center;gap:12px;padding:10px 13px;background:var(--bg-base);border:1px solid var(--primary-fill);border-radius:var(--radius-control)}.instpick-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.instpick-main b{font-size:17px;font-weight:600}.instpick-id{color:var(--text-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.instpick-change{min-height:44px;padding:0 12px;font-size:14px}.instpick-link{color:var(--brand-text);font:inherit;text-decoration:underline;cursor:pointer}.instverdict{margin:0;font-size:15px;font-weight:600}.inst-v-pass{color:var(--ok-text)}.inst-v-fail{color:var(--alarm-text)}.inst-v-incomplete{color:var(--warn-text)}.instgroup{display:flex;flex-direction:column;gap:8px}.instgroup h3{margin:0;font-size:13px;font-weight:600;color:var(--text-muted);text-transform:none}.instgroup ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.instgroup li{display:flex;align-items:flex-start;gap:10px}.instgroup li>span{display:flex;flex-direction:column;gap:2px;min-width:0}.instgroup li b{font-size:15px;font-weight:600}.instgroup li small{font-size:13px;color:var(--text-muted);line-height:1.5}.inst-r-pass>svg{color:var(--ok-text)}.inst-r-fail>svg{color:var(--alarm-text)}.inst-r-waiting>svg,.inst-r-warn>svg{color:var(--warn-text)}.inst-r-info>svg{color:var(--text-muted)}.instfailopen{gap:10px}.instbtn.danger{background:transparent;color:var(--alarm-text);border:1px solid var(--alarm-text)}.instbtn.danger:hover:not(:disabled){background:var(--bg-raised)}.instconfirm{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--alarm-text);border-radius:var(--radius-control)}.instconfirm p{margin:0}.admincard,.admintablewrap,.tablewrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}@media (max-width:767px){.admintablewrap,.tablewrap{-webkit-border-end:0;border-inline-end:0;mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36px,#000)}[dir=ltr] .admintablewrap,[dir=ltr] .tablewrap{mask-image:linear-gradient(270deg,transparent 0,#000 36px,#000);-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 36px,#000)}.adminhead{flex-wrap:wrap;gap:8px 12px;padding:12px 16px}.adminhead h1,.adminhead h2{flex:1 1 100%;min-width:0;overflow-wrap:anywhere}.admintable td:not(.muted):not(.adminmuted):not(.wrap),.admintable th,.datatable td:not(.muted):not(.wrap),.datatable th{white-space:nowrap}.admintable td.wrap,.datatable td.wrap{min-width:220px;overflow-wrap:anywhere}.admintable select{min-width:112px}button.kprov,button.mprov{position:relative}button.kprov:after,button.mprov:after{content:"";position:absolute;inset:-8px}}.admintable td time,.datatable td time,.datatable td.num{white-space:nowrap}@media (max-width:767px){.mapoptions-hint{display:none}}.metricgrid>:nth-child(3):last-child{grid-column:1/-1}.vcard .meta>*{unicode-bidi:-webkit-isolate;unicode-bidi:isolate}a.adminbtn,a.btnghost,a.btnprimary,a.vact{text-decoration:none}.adminbtn,.btnghost,.btnprimary{white-space:nowrap}.maplibregl-ctrl-scale{direction:ltr}.bellbadge{top:2px}@media (max-width:767px){.maparea.panel-open .mapctl-stack,.maparea.panel-open .maplibregl-ctrl-bottom-left,.maparea.panel-open .maplibregl-ctrl-bottom-right{visibility:hidden}.mapoptions-menu{max-height:calc(100dvh - 320px)}}.adminpage{padding:22px 24px 40px;width:100%;min-width:0;max-width:1180px;margin:0 auto}@media (max-width:767px){.adminpage{padding:14px 14px 28px}.adminhead{padding:0}}.alertcard.unread{-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border)}.brief-stat{align-items:flex-start}.billinggrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.rowactions{display:flex;flex-wrap:wrap;gap:6px;white-space:nowrap}.rowactions .adminbtn,.rowactions .btnghost{padding:5px 9px;font-size:12px}.admintabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.admintabs::-webkit-scrollbar{display:none}.admintabs button{flex:none;white-space:nowrap}@media (max-width:767px){.supportstat{display:flex;width:100%;justify-content:space-between}.alertspanel{top:auto;inset-inline:8px;inset-block-end:calc(var(--mbar-h) + env(safe-area-inset-bottom, 0px) + 8px);width:auto;max-height:70%}}.map:not(.routesheet-open) .routesheet{visibility:hidden}.panel-foot{position:relative;z-index:2;background:var(--bg-surface)}.admincard.admingate-card{overflow:visible}.provmark{display:contents}.provtip{position:absolute;inset-block-start:30px;inset-inline-end:6px;z-index:60;min-width:180px;max-width:min(300px,80vw);padding:8px 10px;font-size:12px;line-height:1.45;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-popover);white-space:normal}.tablescroll{overflow-x:auto;overscroll-behavior-x:contain}@media (max-width:767px){.invoicetable td,.invoicetable th{white-space:nowrap}}.billstat .v.num{direction:inherit;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.appgroups{-webkit-padding-after:28px;padding-block-end:28px;scroll-padding-block-end:28px}.trip-recovery{margin-block:12px;padding:12px;background:var(--bg-raised);-webkit-border-start:3px solid var(--text-muted);border-inline-start:3px solid var(--text-muted);border-radius:10px;color:var(--text-primary)}.trip-recovery p{margin:0 0 8px}.trip-recovery .btnghost{min-height:44px}.activity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-block:16px 10px}.activity-summary>div{display:flex;flex-direction:column;gap:7px;padding:10px 8px;background:var(--bg-raised);border-radius:10px;min-width:0}.activity-summary span,.activity-summary svg{color:var(--text-muted)}.activity-summary span{font-size:11px;line-height:1.5;min-height:33px}.activity-summary strong{font-size:15px;font-weight:600}.activity-summary small{font-size:10px}.activity-explanation{line-height:1.7;margin:0}.activity-explanation,.activity-zone{font-size:11px;color:var(--text-muted)}.activity-zone{display:flex;align-items:center;gap:5px;margin-block:8px 16px}.activity-filters{display:flex;gap:4px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.activity-filters button{flex:1 1;min-height:44px;padding:8px 4px;color:var(--text-muted);-webkit-border-after:2px solid transparent;border-block-end:2px solid transparent;font-size:12px}.activity-filters button[aria-pressed=true]{color:var(--text-primary);border-block-end-color:var(--brand-500);background:var(--brand-wash);border-radius:8px 8px 0 0}.activity-filters .num{font-size:10px;-webkit-margin-start:3px;margin-inline-start:3px}.activity-card:focus-visible,.activity-filters button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.activity-result{font-size:11px;color:var(--text-muted);margin-block:10px}.activity-list{list-style:none;margin:0;padding:0}.activity-card,.activity-list{display:flex;flex-direction:column;gap:10px}.activity-card{width:100%;text-align:start;background:var(--bg-raised);border-radius:12px;padding:14px;color:var(--text-primary);-webkit-border-start:3px solid var(--status-moving);border-inline-start:3px solid var(--status-moving)}.activity-event.idle .activity-card{border-inline-start-color:var(--status-idle)}.activity-card:hover{background:var(--bg-surface);box-shadow:inset 0 0 0 1px var(--border)}.activity-foot,.activity-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.activity-kind{display:inline-flex;align-items:center;gap:6px;font-weight:600}.activity-time{font-size:11px;color:var(--text-muted);white-space:normal}.activity-place{display:flex;align-items:flex-start;gap:5px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.activity-place svg{flex:0 0 auto;-webkit-margin-before:3px;margin-block-start:3px;color:var(--text-muted)}.activity-place>span{min-width:0}.activity-foot{flex-wrap:wrap;-webkit-padding-before:3px;padding-block-start:3px}.activity-action{font-size:11px;color:var(--text-primary);text-decoration:underline;text-underline-offset:4px}.trip-sheet-summary,.trip-sheet-toggle{display:none}.period-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:12px;flex-shrink:0}.period-tabs button{flex:1 1;min-height:44px;border-radius:8px;color:var(--text-muted);font-size:12px}.period-tabs button[aria-pressed=true]{background:var(--bg-raised);color:var(--text-primary);font-weight:600;box-shadow:inset 0 -2px var(--brand-500)}.period-calendar{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;flex-shrink:0}.period-calendar>span{display:flex;flex-direction:column;gap:2px;line-height:1.4}.period-calendar small{font-size:10.5px;color:var(--text-muted)}.period-activity{min-width:0}.period-coverage{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.period-coverage>span,.period-event-head>span,.period-totals button>span{display:inline-flex;align-items:center;gap:6px}.period-coverage>strong{font-size:22px}.period-window{line-height:1.7;overflow-wrap:anywhere;margin-block:8px 2px}.period-window,.period-zone{font-size:11px;color:var(--text-muted)}.period-zone{margin-block:0 14px}.period-bar{display:flex;height:8px;gap:2px;border-radius:5px;overflow:hidden;margin-bottom:12px}.period-bar .moving{background:var(--status-moving)}.period-bar .idle{background:var(--status-idle)}.period-bar .parked{background:var(--status-parked)}.period-bar .unknown{background:repeating-linear-gradient(120deg,var(--border) 0 4px,var(--bg-raised) 4px 8px)}.period-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.period-totals button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;text-align:start}.period-totals button[aria-pressed=true]{border-color:var(--brand-500);box-shadow:inset 0 0 0 1px var(--brand-500)}.period-totals span{font-size:12px}.period-totals strong{font-size:19px;font-weight:600}.period-totals small{color:var(--text-muted);font-size:11px}.period-event.moving .period-event-head svg,.period-totals .moving svg{color:var(--status-moving)}.period-event.idle .period-event-head svg,.period-totals .idle svg{color:var(--status-idle)}.period-event.parked .period-event-head svg,.period-totals .parked svg{color:var(--status-parked)}.period-event.unknown .period-event-head svg,.period-totals .unknown svg{color:var(--text-muted)}.period-note{line-height:1.75}.period-list-head,.period-note{font-size:11px;color:var(--text-muted);margin-block:12px}.period-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.period-list-head button{min-height:44px}.period-list-head button[aria-pressed=true]{color:var(--text-primary);text-decoration:underline;text-underline-offset:5px}.period-events{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}.period-event{padding:12px;border-radius:12px;background:var(--bg-raised);-webkit-border-start:3px solid var(--status-moving);border-inline-start:3px solid var(--status-moving)}.period-event.idle{border-inline-start-color:var(--status-idle)}.period-event.parked{border-inline-start-color:var(--status-parked)}.period-event.unknown{border-inline-start-color:var(--text-muted);border-inline-start-style:dashed}.period-event-head{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px}.period-event-time{font-size:10.5px;line-height:1.8;color:var(--text-muted);margin-block:8px;overflow-wrap:anywhere}.period-reason{color:var(--text-muted);font-size:12px;line-height:1.7;margin-block:8px 0}.period-action{min-height:44px;display:block;width:100%;text-align:start;font-size:12px;text-decoration:underline;text-underline-offset:4px}.period-event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}.period-event-actions .period-action{flex:1 1;width:auto}.period-alert-count{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding-inline:8px;color:var(--text-primary);font-size:12px;border-radius:8px}.period-alert-count:hover{background:var(--bg-surface)}.period-alert-count svg{color:var(--text-muted);flex-shrink:0}.period-more{width:100%;min-height:44px;margin-top:12px}.period-parking-error{font-size:12px;color:var(--text-muted);line-height:1.7}.period-action:focus-visible,.period-alert-count:focus-visible,.period-tabs button:focus-visible,.period-totals button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.triprange-picker{display:grid;grid-gap:12px;gap:12px;padding:12px;background:var(--bg-raised);border-radius:14px;flex-shrink:0}.triprange-zone{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;color:var(--text-muted);font-size:12px}.triprange-fields{display:grid;grid-gap:12px;gap:12px;min-width:0}.triprange-fields input{width:100%;min-width:0;min-height:44px}.triprange-error,.triprange-hint{margin:0;font-size:12px;line-height:1.7}.triprange-hint{color:var(--text-muted)}.triprange-error{color:var(--alarm-text)}.triprange-actions{display:flex;flex-wrap:wrap;gap:8px}.triprange-actions button{min-height:44px}.tripspanel{overflow:hidden;padding:0;gap:0}.trip-panel-head{flex-shrink:0;min-height:44px;padding-inline:12px;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.trip-panel-head .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.trip-panel-head .iconbtn{width:44px;height:44px;flex-shrink:0}.trip-panel-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:12px;padding:12px;display:flex;flex-direction:column;gap:12px}.trip-panel-scroll>*{flex-shrink:0}.trip-panel-scroll .rangechips button{min-height:44px}.trip-panel-footer{flex-shrink:0;padding:8px 12px;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border);background:var(--bg-surface)}.trip-panel-footer .wholebtn{min-height:44px;font-size:12px;padding:8px 10px}.trip-panel-footer .wholebtn .muted{font-size:11px;margin:0}.trip-transport{display:flex;flex-direction:column;gap:4px}.trip-transport .playbar{gap:6px}.trip-transport .playbtn,.trip-transport .stepbtn{width:44px;height:44px;flex-shrink:0}.trip-transport .playbar input[type=range]{height:44px}.trip-transport .speeds{gap:2px}.trip-transport .speeds button{min-width:44px;min-height:44px;padding:5px}.trip-transport .playrow{flex-wrap:nowrap;gap:4px}.trip-transport .readout{line-height:1.5;font-size:11.5px}.trip-transport .transport-preferences{flex-wrap:wrap}.trip-transport .transport-preferences .pill{flex:1 1;min-height:44px}.trip-transport .transport-options-toggle{display:none}.trip-transport .playbtn:focus-visible,.trip-transport .speeds button:focus-visible,.trip-transport input[type=range]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.alertspanel[data-layout=page]{position:static;width:100%;max-height:none;overflow:visible;box-shadow:none}.alertspanel>*{flex-shrink:0}.alertspanel .alertlist>li{flex:none}.alertspanel .alertcard{cursor:default}.alerts-clock{margin:0;color:var(--text-muted);font-size:12px;overflow-wrap:anywhere}.alertdelivery{display:flex;flex-direction:column;gap:4px;-webkit-margin-before:6px;margin-block-start:6px;font-size:12px}.alertdelivery-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}.alertdelivery-reason{flex-basis:100%;overflow-wrap:anywhere;font-size:11.5px}.alerts-list-tools,.alerts-mute-options,.alerts-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alerts-list-tools{justify-content:space-between}.alerts-row-actions .linkbtn{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px}.alerts-recovery{color:var(--alarm-text);font-size:13px}.alerts-list-tools .linkbtn,.alerts-mute-options .btnghost,.alertspanel .alertfilters input,.alertspanel .alertfilters select,.alertspanel .loadmore{min-height:44px}@media (min-width:768px){.alertspanel[data-layout=page] .alertfilters{grid-template-columns:repeat(3,minmax(0,1fr))}}.period-alert-summary{min-width:0}.period-alert-summary>.btnghost{min-height:44px}.period-alert-events{border:1px solid var(--border);border-radius:12px;padding:12px;scroll-margin-block:12px}.period-alert-events:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.period-alert-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.period-alert-head h3{display:flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600}.period-alert-head .iconbtn{width:44px;height:44px;flex-shrink:0}.period-alert-events>.muted{font-size:11px;line-height:1.7}.period-alert-events>p{font-size:12px;line-height:1.7}.period-alert-events ol{list-style:none;display:flex;flex-direction:column;gap:10px;margin:12px 0 0;padding:0}.period-alert-events li{padding:10px;border-radius:10px;background:var(--bg-raised);display:flex;flex-direction:column;gap:8px;min-width:0}.period-alert-type{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12px}.period-alert-type>span{font-size:11px;color:var(--sev-color,var(--text-muted))}.period-alert-events time{display:block;overflow-wrap:anywhere}.period-alert-events small,.period-alert-events time{color:var(--text-muted);font-size:11px;line-height:1.7}.period-alert-events summary{min-height:44px;display:flex;align-items:center;font-size:11px;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:4px}.period-alert-events summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.period-alert-events .period-action{display:flex;align-items:center;gap:6px}.period-alert-events>.btnghost,.period-alert-recovery .btnghost{min-height:44px}.period-alert-recovery{padding:12px;-webkit-border-start:3px solid var(--text-muted);border-inline-start:3px solid var(--text-muted);border-radius:10px;background:var(--bg-raised);font-size:12px;line-height:1.7}.period-alert-recovery p{margin:0 0 8px}.period-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;min-width:0}.period-link .btnghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.period-link>span{color:var(--text-muted)}.period-link label{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%;color:var(--text-muted)}.period-link input{width:100%;min-width:0;min-height:44px}@media (max-width:767px){.tripspanel{top:auto;inset-inline:8px;width:auto;bottom:calc(var(--mbar-h, 0px) + env(safe-area-inset-bottom, 0px) + 8px);max-height:46%;padding:0}.trip-panel-head{padding-inline:10px 4px;gap:4px}.trip-panel-head .trip-sheet-toggle{display:grid;place-items:center;width:44px;min-height:44px;flex-shrink:0;color:var(--text-muted);border-radius:8px}.trip-sheet-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.trip-panel-scroll{gap:6px;padding:8px 10px}.trip-panel-scroll:not([data-calendar-open=true])>.rangechips,.tripspanel[data-compact=true]>.trip-panel-scroll{display:none}.trip-sheet-summary{display:flex;align-items:center;min-height:24px;padding:4px 12px 6px;font-size:11px;color:var(--text-muted);line-height:1.5}.trip-sheet-summary b{color:var(--text-primary)}.trip-panel-footer{padding:6px 10px}.trip-panel-scroll .period-calendar{gap:6px;min-height:44px;font-size:12px}.trip-panel-scroll .period-tabs{padding:2px}.trip-panel-scroll .period-tabs button{font-size:11px}.period-overview{display:flex;flex-direction:column;gap:6px}.period-overview .period-totals{order:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.period-overview .period-totals button{min-height:72px;gap:4px;padding:6px;border-radius:10px}.period-overview .period-totals button>span{gap:3px;font-size:10px;line-height:1.5;min-height:16px}.period-overview .period-totals svg{width:12px;height:12px;flex-shrink:0}.period-overview .period-totals strong{font-size:12px;line-height:1.5;letter-spacing:-.2px}.period-overview .period-totals small{font-size:10px;line-height:1.5}.period-overview .period-bar{order:1;height:6px;margin:0}.period-overview .period-coverage{order:2;font-size:11px}.period-overview .period-coverage>strong{font-size:16px}.period-overview .period-window{order:3;margin:0;font-size:10.5px}.period-overview .period-zone{order:4;margin:0;font-size:10px}.trip-transport .transport-options-toggle{display:grid}.trip-transport .transport-preferences{display:none}.trip-transport[data-options=true] .transport-preferences{display:flex}.trip-panel-scroll .keyhint{display:none}}@media (min-width:600px) and (max-width:767px) and (max-height:500px){.tripspanel{top:8px;inset-inline-start:auto;inset-inline-end:8px;width:340px;max-height:none}.trip-panel-scroll{padding-block:2px}.trip-panel-footer{padding-block:4px}.tripspanel[data-compact=true]{top:auto;max-height:calc(100% - var(--mbar-h, 0px) - env(safe-area-inset-bottom, 0px) - 16px)}}@media (min-width:768px) and (max-width:1100px){.shell[data-history=true]>.main>.panel{position:absolute;inset-block:0;inset-inline-start:0;width:min(340px,85vw);z-index:40;transform:translateX(100%);transition:transform .2s ease;visibility:hidden}[dir=ltr] .shell[data-history=true]>.main>.panel{transform:translateX(-100%)}.shell[data-history=true]>.main>.panel.open{transform:translateX(0);visibility:visible;box-shadow:var(--shadow-popover)}.shell[data-history=true] .paneltoggle{display:inline-flex}}