.insurance-drawer{border-left:1px solid var(--line);background:#fff;min-width:0;overflow-y:auto;box-shadow:-8px 0 24px #10234a0f}.insurance-drawer-header{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:20px 20px 16px;display:grid}.insurance-heading-icon{width:38px;height:38px;color:var(--blue);background:#e9f5ff;border-radius:9px;place-items:center;display:grid}.insurance-drawer h2,.insurance-drawer h3{letter-spacing:-.02em;margin:0}.insurance-drawer h2{font-size:17px}.insurance-drawer-header p,.insurance-form header p{color:var(--muted);margin:4px 0 0;font-size:11px}.insurance-content{gap:14px;padding:18px 20px 28px;display:grid}.insurance-add{justify-content:center;justify-self:stretch}.insurance-policy-list{gap:12px;display:grid}.insurance-policy-card{border:1px solid var(--line);background:#fff;border-radius:7px;padding:15px;box-shadow:0 2px 7px #10234a0a}.insurance-policy-card>header{color:var(--blue);justify-content:space-between;gap:12px;display:flex}.insurance-policy-card h3{color:var(--ink);margin-top:7px;font-size:14px}.insurance-policy-card header p{color:var(--muted);margin:3px 0 0;font-size:11px}.insurance-status{color:#16713d;text-transform:uppercase;background:#e8f7ed;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.insurance-status.status-expiring{color:#986000;background:#fff3d6}.insurance-status.status-expired,.insurance-status.status-cancelled{color:#ae2339;background:#ffe9ed}.insurance-status.status-upcoming{color:#1769bd;background:#e9f3ff}.insurance-tags{flex-wrap:wrap;gap:5px;margin:13px 0;display:flex}.insurance-tags span{color:#3d506a;background:#eef3f8;border-radius:4px;padding:4px 7px;font-size:9px;font-weight:750}.insurance-policy-card dl{gap:9px;margin:0;display:grid}.insurance-policy-card dl div{gap:2px;display:grid}.insurance-policy-card dt{color:var(--muted);text-transform:uppercase;font-size:9px}.insurance-policy-card dd{color:#263552;align-items:center;gap:5px;margin:0;font-size:11px;display:flex}.insurance-policy-card>footer{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:11px;display:flex}.insurance-policy-card>footer button{border:1px solid var(--line);color:#364860;cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:4px;padding:6px 8px;font-size:10px;font-weight:700;display:inline-flex}.insurance-policy-card>footer .insurance-delete,.insurance-policy-card>footer .insurance-delete-confirm{color:#b51f36}.insurance-empty{color:var(--muted);text-align:center;justify-items:center;gap:6px;padding:28px 16px;font-size:11px;display:grid}.insurance-empty strong{color:var(--ink);font-size:13px}.insurance-form{gap:13px;padding:18px 20px 28px;display:grid}.insurance-form>label,.insurance-cancellation label{color:#263552;gap:6px;font-size:11px;font-weight:650;display:grid}.insurance-form input,.insurance-form textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:4px;outline:0;padding:9px 10px;font-size:11px}.insurance-form input{height:39px}.insurance-form textarea{resize:vertical;line-height:1.45}.insurance-form input:focus,.insurance-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0875f51a}.insurance-form label small{color:var(--muted);font-size:9px;font-weight:500}.insurance-form-row{grid-template-columns:1fr 1fr;gap:9px;display:grid}.insurance-form-row label{color:#263552;gap:6px;font-size:11px;font-weight:650;display:grid}.insurance-money-row{grid-template-columns:1.6fr .7fr}.insurance-coverage{border:0;margin:0;padding:0}.insurance-coverage legend{color:#263552;margin-bottom:7px;font-size:11px;font-weight:650}.insurance-coverage>div{flex-wrap:wrap;gap:6px;display:flex}.insurance-coverage label{cursor:pointer}.insurance-coverage input{opacity:0;width:1px;height:1px;position:absolute}.insurance-coverage span{border:1px solid var(--line-strong);color:#465873;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:750;display:block}.insurance-coverage input:checked+span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.insurance-coverage input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.insurance-cancellation{border:1px solid var(--line);border-radius:5px;padding:10px}.insurance-cancellation summary{cursor:pointer;color:#a72639;font-size:11px;font-weight:750}.insurance-cancellation[open]{gap:11px;display:grid}.insurance-form>footer{grid-template-columns:1fr 1.4fr;gap:8px;padding-top:5px;display:grid}.app-shell[data-theme=dark] .insurance-drawer,.app-shell[data-theme=dark] .insurance-policy-card,.app-shell[data-theme=dark] .insurance-policy-card>footer button,.app-shell[data-theme=dark] .insurance-form input,.app-shell[data-theme=dark] .insurance-form textarea{background:var(--surface);color:var(--ink)}.app-shell[data-theme=dark] .insurance-policy-card dd,.app-shell[data-theme=dark] .insurance-form>label,.app-shell[data-theme=dark] .insurance-form-row label,.app-shell[data-theme=dark] .insurance-coverage legend{color:var(--ink-secondary)}@media (width<=980px){.insurance-drawer{border-top:1px solid var(--line);border-left:0}}.login-screen{color:#14223a;background:radial-gradient(circle at 12% 8%,#2375ff26,#0000 34%),linear-gradient(145deg,#f8fbff 0%,#edf4fc 56%,#e5eef9 100%);justify-content:center;align-items:center;height:100dvh;min-height:100dvh;padding:32px 20px;display:flex;overflow-y:auto}.login-layout{grid-template-columns:minmax(0,420px) minmax(0,310px);align-items:center;gap:48px;width:min(100%,778px);margin-block:auto;display:grid}.login-card{background:#fffffff5;border:1px solid #dbe5f1;border-radius:18px;width:min(100%,420px);padding:38px;box-shadow:0 24px 64px #1f3b5b26}.login-brand{margin-bottom:30px}.login-brand__company{color:#fff;letter-spacing:.14em;background:#1768e5;border-radius:7px;align-items:center;min-height:28px;padding:4px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.login-brand h1{color:#15243b;letter-spacing:-.04em;margin:18px 0 4px;font-size:clamp(2rem,7vw,2.75rem);line-height:1}.login-brand p,.login-card__note{color:#64758b;margin:0;font-size:.9rem}.login-android{padding:16px 0}.login-android__icon{color:#1768e5;background:#e1ecff;border-radius:14px;padding:12px;display:inline-flex}.login-android__eyebrow{letter-spacing:.15em;color:#42648e;margin:20px 0 10px;font-size:.68rem;font-weight:800}.login-android h2{color:#15243b;letter-spacing:-.04em;margin:0;font-size:1.8rem;line-height:1.17}.login-android__description{color:#53677e;max-width:270px;margin:14px 0 20px;font-size:.88rem;line-height:1.6}.login-android__qr{align-items:center;gap:15px;margin-bottom:20px;display:flex}.login-android__qr a{background:#fff;border:1px solid #dbe5f1;border-radius:14px;flex-shrink:0;padding:5px;display:block}.login-android__qr img{width:140px;height:140px;display:block}.login-android__qr p{color:#53677e;margin:0;font-size:.74rem;line-height:1.6}.login-android__download{color:#155fc9;background:#ffffffb3;border:1px solid #b6cbe5;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:10px 17px;font-size:.86rem;font-weight:750;text-decoration:none;display:inline-flex}.login-android__download:hover{background:#fff;border-color:#1768e5}.login-android a:focus-visible{outline-offset:4px;outline:3px solid #1768e5}.login-android__note{color:#53677e;margin:12px 0 0;font-size:.7rem}@media (width<=740px){.login-layout{grid-template-columns:minmax(0,420px);gap:24px;width:min(100%,420px)}.login-android{background:#ffffff8c;border:1px solid #d4e2f3;border-radius:14px;padding:24px}.login-android__icon{float:right;margin-left:10px;padding:9px}.login-android__eyebrow{margin-top:0}.login-android h2{font-size:1.4rem}.login-android h2 br{display:none}.login-android__description{max-width:none;margin-bottom:16px}.login-android__qr{display:none}.login-android__download{width:100%}.login-android__note{text-align:center}}.login-form{gap:10px;display:grid}.login-form label{color:#314158;font-size:.82rem;font-weight:700}.login-form input{color:#14223a;width:100%;min-height:46px;font:inherit;background:#fff;border:1px solid #cbd8e7;border-radius:9px;outline:none;padding:0 13px;transition:border-color .14s,box-shadow .14s}.login-form input:focus-visible{border-color:#1768e5;box-shadow:0 0 0 3px #1768e529}.login-form input[aria-invalid=true]{border-color:#d43a4f}.login-form [role=alert]{color:#b42336;margin:0;font-size:.82rem;line-height:1.4}.login-form button{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#1768e5;border:0;border-radius:9px;margin-top:8px;font-weight:750;transition:background .14s,transform .14s}.login-form button:hover:not(:disabled){background:#0f57c5}.login-form button:focus-visible{outline-offset:2px;outline:3px solid #1768e547}.login-form button:active:not(:disabled){transform:translateY(1px)}.login-form button:disabled,.login-form input:disabled{cursor:wait;opacity:.68}.login-card__note{text-align:center;margin-top:22px;font-size:.76rem}@media (width<=520px){.login-card{border-radius:14px;padding:30px 24px}}.details-panel{z-index:710;border:1px solid var(--line-strong);background:var(--surface);width:min(420px,100% - 28px);max-height:calc(100% - 28px);color:var(--ink);border-radius:12px;flex-direction:column;display:flex;position:absolute;top:14px;right:14px;overflow:hidden;box-shadow:0 18px 48px #00000040}.details-title-row{background:var(--blue);color:var(--accent-contrast);flex:none;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:10px;padding:19px 18px;display:grid}.details-title-row .eyeline{color:inherit;opacity:.8;font-size:10px;font-weight:650}.details-title-row h2{letter-spacing:-.02em;text-overflow:ellipsis;margin:4px 0 0;font-size:21px;overflow:hidden}.details-connection{white-space:nowrap;background:0 0;border:1px solid;border-radius:5px;align-items:center;padding:4px 7px;font-size:10px;display:inline-flex}.details-connection .status-dot{background:currentColor}.details-close{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.details-close:hover{background:#ffffff2e}.details-tabs{border-bottom:1px solid var(--line);flex:none;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.details-tabs button{min-width:0;height:70px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:8px 3px;font-size:11px;font-weight:650;display:flex}.details-tabs button[aria-selected=true]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.details-tabs button>span{position:relative}.details-upcoming-badge{color:var(--blue);margin-top:3px;font-size:8px;font-weight:700;display:block}.details-tabs button:has(.details-upcoming-badge){gap:3px}.details-panel button:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.details-title-row button:focus-visible{outline-color:currentColor}.details-tab-panel{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.details-section-title{border-bottom:1px solid var(--line);margin:0;padding:17px 20px;font-size:18px;font-weight:650}.details-location{border-bottom:1px solid var(--line);align-items:flex-start;gap:13px;padding:22px 20px;display:flex}.details-location>svg{color:var(--blue);flex:none}.details-location>div{flex-direction:column;gap:5px;display:flex}.details-location strong{font-size:15px;font-weight:550}.details-location small{color:var(--muted);font-size:12px}.details-driver{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--blue);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:13px;padding:16px 20px;display:flex}.details-driver:hover{background:var(--blue-soft)}.details-driver>span{flex-direction:column;flex:1;gap:4px;display:flex}.details-driver strong{font-size:15px;font-weight:600}.details-driver small{color:var(--muted);font-size:11px}.vehicle-facts{margin:0}.vehicle-facts>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:baseline;gap:15px;padding:15px 20px;font-size:13px;display:grid}.vehicle-facts dt{color:var(--muted);line-height:1.4}.vehicle-facts dd{text-align:right;overflow-wrap:anywhere;flex-direction:column;gap:4px;margin:0;font-weight:650;display:flex}.vehicle-facts dd small{color:var(--muted);font-size:10px;font-weight:450}.details-operational-state{color:var(--ink)}.details-operational-state.fleet-state-moving{color:var(--green)}.details-operational-state.fleet-state-idling{color:#d18a05}.details-operational-state.fleet-state-offline{color:var(--red)}.analysis-link,.details-footer-button{border:1px solid var(--blue);background:var(--blue-soft);width:calc(100% - 40px);min-height:42px;color:var(--blue);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin:16px 20px;padding:8px;font-size:13px;font-weight:700;display:flex}.details-footer-button{background:var(--blue);color:var(--accent-contrast)}.device-identity{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;align-items:center;gap:12px;margin:18px 20px 12px;padding:10px;display:flex}.device-icon{flex:none;place-items:center;width:64px;height:48px;display:grid;overflow:hidden}.device-identity>div{flex-direction:column;gap:5px;min-width:0;display:flex}.device-identity strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.device-identity span{color:var(--muted);font-size:10px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 20px 16px;display:grid}.metric{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;flex-direction:column;justify-content:space-between;min-height:74px;padding:11px;display:flex}.metric>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.metric>strong{font-size:15px}.metric>strong small{color:var(--muted);font-size:10px}.metric-primary{border-color:color-mix(in srgb, var(--blue) 48%, var(--line));background:var(--blue-soft)}.history-link{border:1px solid var(--line-strong);width:calc(100% - 40px);min-height:42px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:10px;margin:16px 20px;padding:8px;font-size:13px;display:flex}.history-link:hover{border-color:var(--blue);background:var(--blue-soft)}.settings-panel{padding:20px}.settings-panel .eyeline{color:var(--blue);font-size:11px}.settings-panel h3{margin:8px 0;font-size:18px}.settings-panel p{color:var(--muted);font-size:13px;line-height:1.6}.fota-alert{background:var(--red-soft);color:var(--red);border-radius:8px;align-items:flex-start;gap:8px;margin:12px 20px;padding:12px;font-size:12px;line-height:1.5;display:flex}.fota-alert svg{flex:none}.settings-panel .fota-alert{margin-inline:0}.driver-sync{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:7px;padding:11px 16px;font-size:10px;display:flex}.driver-sync>span{flex:1}.driver-sync button{width:28px;height:28px;color:var(--blue);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.driver-sync button:disabled{opacity:.4;cursor:wait}.driver-identity{border-bottom:1px solid var(--line);color:var(--blue);align-items:center;gap:11px;padding:20px;display:flex}.driver-identity>svg{flex:none}.driver-identity>div{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.driver-identity strong{text-overflow:ellipsis;font-size:15px;overflow:hidden}.driver-identity span{color:var(--muted);font-size:11px}.driver-identity>.driver-next-break{text-align:right;flex:0 auto}.driver-next-break strong{color:var(--ink);font-size:14px}.driver-next-break span{font-size:9px}.driver-tacho-timestamp{color:var(--muted);margin:12px 20px 0;font-size:10px}.driver-data-note{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:8px;align-items:flex-start;gap:9px;margin:14px 20px;padding:12px;font-size:11px;line-height:1.55;display:flex}.driver-data-note>svg{color:var(--blue);flex:none;margin-top:2px}.driver-data-note p{margin:0}.driver-data-error{color:var(--red);background:var(--red-soft);border-color:#0000}.driver-activity-legend{color:var(--muted);flex-wrap:wrap;gap:8px 13px;padding:0 20px 15px;font-size:10px;display:flex}.driver-activity-legend>span{align-items:center;gap:5px;display:flex}.driver-activity-legend i{border-radius:2px;width:7px;height:7px}.driver-period{border-top:1px solid var(--line);padding:19px 20px 22px}.driver-period-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.driver-period-heading h3{letter-spacing:-.02em;margin:0;font-size:19px;font-weight:600}.driver-period-heading>span{color:var(--muted);flex:none;font-size:9px}.driver-period-range{color:var(--muted);margin:8px 0 0;font-size:10px}.driver-time-counter{flex-direction:column;align-items:center;gap:6px;padding:32px 0 27px;display:flex}.driver-time-counter>strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:600;line-height:1}.driver-time-counter>span{color:var(--blue);text-align:center;font-size:13px}.driver-time-counter>small{color:var(--muted);font-size:10px}.driver-activity-bar{background:var(--gray-soft);border-radius:7px;height:11px;margin:13px 0 18px;display:flex;overflow:hidden}.activity-segment{flex:none;height:100%;display:block}.activity-driving{background:#ff9c0b}.activity-idling{background:#f5c34b}.activity-parked{background:#2e94c8}.activity-unknown{background:var(--line-strong)}.driver-period-facts{border-top:1px solid var(--line);margin:0;padding-top:10px}.driver-period-facts>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:5px 0;font-size:12px;line-height:1.4;display:grid}.driver-period-facts dt{color:var(--muted)}.driver-period-facts dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.driver-period-empty,.driver-analysis-footnote{color:var(--muted);font-size:11px;line-height:1.6}.driver-period-empty{margin-bottom:0}.driver-analysis-footnote{border-top:1px solid var(--line);margin:0;padding:16px 20px}.driver-coming-soon{text-align:center;flex-direction:column;align-items:center;padding:28px 25px;display:flex}.driver-coming-icon{background:var(--blue-soft);width:62px;height:62px;color:var(--blue);border-radius:18px;place-items:center;margin-bottom:14px;display:grid}.driver-coming-badge{background:var(--blue-soft);color:var(--blue);border-radius:12px;padding:4px 10px;font-size:10px;font-weight:750}.driver-coming-soon h3{margin:12px 0 8px;font-size:22px;font-weight:650}.driver-coming-soon p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.driver-coming-periods{padding:0 20px 20px}.driver-coming-period{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;margin-bottom:12px;padding:17px}.driver-coming-period>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.driver-coming-period h3{margin:0;font-size:14px;font-weight:650}.driver-coming-period span{color:var(--blue);font-size:10px}.driver-coming-track{background:var(--line);border-radius:5px;height:8px;margin-top:18px}.driver-coming-period p{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.5}@media (width<=840px){.details-panel{z-index:880;border-radius:10px;width:calc(100% - 20px);max-height:none;position:fixed;top:68px;bottom:68px;right:10px}}@media (width<=620px){.details-panel{top:114px}}@media (width<=600px){.details-title-row{padding:14px}.details-title-row h2{font-size:18px}.details-tabs button{height:63px;font-size:10px}.driver-period-heading h3{font-size:17px}.driver-period-heading>span{font-size:8px}}.fleet-sidebar.fleet-operational:not(.is-collapsed){flex-direction:column;display:flex}.fleet-sidebar.fleet-operational .fleet-heading-row,.fleet-sidebar.fleet-operational .fleet-search{flex-shrink:0}.fleet-sidebar.fleet-operational .fleet-theme-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:40px;color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:11px;display:flex}.fleet-sidebar.fleet-operational .fleet-theme-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:6px}.fleet-sidebar.fleet-operational .status-filters,.app-shell .fleet-sidebar.fleet-operational .status-filters{border-bottom:1px solid var(--line);flex:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;padding:10px 8px;display:grid;overflow:visible}.fleet-sidebar.fleet-operational .status-filters button,.app-shell .fleet-sidebar.fleet-operational .status-filters button{min-width:0;min-height:76px;color:var(--muted);box-shadow:none;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-rows:29px 19px 12px;place-items:center;gap:3px;padding:5px 1px;font-size:8px;font-weight:600;display:grid}.fleet-sidebar.fleet-operational .status-filters button.is-active,.app-shell .fleet-sidebar.fleet-operational .status-filters button.is-active{border-color:color-mix(in srgb, var(--blue) 45%, transparent);background:var(--blue-soft);color:var(--blue);box-shadow:none}.fleet-sidebar.fleet-operational .status-filters button:focus-visible,.app-shell .fleet-sidebar.fleet-operational .status-filters button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.fleet-sidebar.fleet-operational .fleet-status-icon,.app-shell .fleet-sidebar.fleet-operational .fleet-status-icon{color:#fff;border-radius:6px;place-items:center;width:29px;height:29px;display:grid}.fleet-sidebar.fleet-operational .fleet-status-icon.status-all{background:#3f4650}.fleet-sidebar.fleet-operational .fleet-status-icon.status-moving{background:#347d35}.fleet-sidebar.fleet-operational .fleet-status-icon.status-idling{background:#c88800}.fleet-sidebar.fleet-operational .fleet-status-icon.status-parked{background:#247ca9}.fleet-sidebar.fleet-operational .fleet-status-icon.status-offline{background:#b93d45}.fleet-sidebar.fleet-operational .fleet-status-icon.status-no-data{background:#737985}.fleet-sidebar.fleet-operational .status-filter-count,.app-shell .fleet-sidebar.fleet-operational .status-filter-count{color:var(--ink-secondary);font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:750;line-height:1}.fleet-sidebar.fleet-operational .status-filter-label,.app-shell .fleet-sidebar.fleet-operational .status-filter-label{text-overflow:ellipsis;max-width:100%;font-size:8px;overflow:hidden}.fleet-sidebar.fleet-operational .fleet-search{margin-top:10px}.fleet-sidebar.fleet-operational .vehicle-list{flex:auto;height:auto;min-height:0}.fleet-sidebar.fleet-operational .vehicle-row{min-height:96px}.fleet-sidebar.fleet-operational .vehicle-driver{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;font-size:9px;line-height:1.4;display:flex;overflow:hidden}.fleet-sidebar.fleet-operational .vehicle-driver svg{flex:none}.fleet-sidebar.fleet-operational .status-dot.status-moving{background:#347d35}.fleet-sidebar.fleet-operational .status-dot.status-idling{background:#c88800}.fleet-sidebar.fleet-operational .status-dot.status-parked{background:#247ca9}.fleet-sidebar.fleet-operational .status-badge.status-moving{color:#266b2b;background:#e5f4e6}.fleet-sidebar.fleet-operational .status-badge.status-idling{color:#865d00;background:#fff4d4}.fleet-sidebar.fleet-operational .status-badge.status-parked{color:#1c658d;background:#e6f3fa}@media (width<=760px){.fleet-sidebar.fleet-operational:not(.is-collapsed){max-height:510px}.fleet-sidebar.fleet-operational .vehicle-list{max-height:280px}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--blue:#1677ff;--blue-strong:#0867df;--blue-soft:#e9f3ff;--ink:#10213d;--muted:#68778d;--line:#dce3ec;--line-strong:#c1ccda;--surface:#fff;--surface-raised:#fff;--surface-soft:#f5f7fa;--surface-hover:#edf5ff;--canvas:#f4f7fb;--accent-contrast:#fff;--green:#0fb76b;--green-soft:#d7f7e6;--red:#ef243c;--red-soft:#ffe0e5;--gray:#8291a7;--gray-soft:#edf1f6;--ink-secondary:#283752;--map-arrow:#1677ff;color:var(--ink);background:var(--surface);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--surface);min-height:100vh;color:var(--ink);overflow:hidden}button,input,select{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--canvas);min-height:720px;color:var(--ink);grid-template-rows:62px calc(100vh - 62px);grid-template-columns:64px 312px minmax(620px,1fr);transition:grid-template-columns .18s;display:grid;overflow:hidden}.app-shell.is-fleet-collapsed{grid-template-columns:64px 58px minmax(620px,1fr)}.topbar,.nav-rail,.fleet-sidebar,.admin-surface,.assignment-drawer,.tenant-admin-layout,.tenant-detail-panel{transition:background-color .18s,border-color .18s,color .18s}.app-shell[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--blue:#3ecf8e;--blue-strong:#2fbf7f;--blue-soft:#163629;--ink:#f0f5f2;--ink-secondary:#c8d3cd;--muted:#899a92;--line:#2d3b36;--line-strong:#40524b;--surface:#18211e;--surface-raised:#202b27;--surface-soft:#1c2723;--surface-hover:#21342d;--canvas:#111815;--accent-contrast:#071b13;--green:#3ecf8e;--green-soft:#163b2c;--red:#ff5868;--red-soft:#432329;--gray:#84928c;--gray-soft:#29312f;--map-arrow:#3ecf8e}.app-shell[data-palette=midnight]{--blue:#60a5fa;--blue-strong:#3b82f6;--blue-soft:#172f4e;--ink:#f0f6ff;--ink-secondary:#c8d6e8;--muted:#8398b0;--line:#293b52;--line-strong:#3c5572;--surface:#151f2e;--surface-raised:#1d2a3b;--surface-soft:#182536;--surface-hover:#20354d;--canvas:#0d1520;--accent-contrast:#071526;--green:#4bd4a0;--green-soft:#173d35;--red:#ff6877;--red-soft:#47252d;--gray:#8295aa;--gray-soft:#263443;--map-arrow:#60a5fa}.app-shell[data-palette=aubergine]{--blue:#b69cff;--blue-strong:#9877ef;--blue-soft:#35264b;--ink:#f7f1fb;--ink-secondary:#dbcee4;--muted:#9d8aa9;--line:#3c304a;--line-strong:#574367;--surface:#211b2b;--surface-raised:#2b2336;--surface-soft:#271f31;--surface-hover:#332840;--canvas:#17121e;--accent-contrast:#1a1024;--green:#55d89b;--green-soft:#1d3b31;--red:#ff6e72;--red-soft:#47262f;--gray:#a08fa9;--gray-soft:#342b3d;--map-arrow:#b69cff}.app-shell[data-palette=arctic]{--blue:#5dd8e8;--blue-strong:#39bdcf;--blue-soft:#173b43;--ink:#effbfc;--ink-secondary:#c8dde1;--muted:#89a4ab;--line:#294049;--line-strong:#3b5964;--surface:#152329;--surface-raised:#1d3038;--surface-soft:#192a31;--surface-hover:#203943;--canvas:#0d181d;--accent-contrast:#071b20;--green:#56d6a0;--green-soft:#193d32;--red:#ff6676;--red-soft:#45262d;--gray:#88a0a6;--gray-soft:#293a40;--map-arrow:#5dd8e8}.app-shell[data-palette=copper]{--blue:#e6a15c;--blue-strong:#cc8140;--blue-soft:#402d20;--ink:#f8f2ec;--ink-secondary:#ddcfc2;--muted:#a29182;--line:#40362e;--line-strong:#594b40;--surface:#241f1b;--surface-raised:#302923;--surface-soft:#29231e;--surface-hover:#3a3028;--canvas:#181411;--accent-contrast:#241306;--green:#62d49d;--green-soft:#20392e;--red:#ff7077;--red-soft:#49282a;--gray:#9e9287;--gray-soft:#37312c;--map-arrow:#e6a15c}.app-shell[data-palette=forest]{--blue:#82cf8b;--blue-strong:#65b972;--blue-soft:#213d2b;--ink:#f1f8f2;--ink-secondary:#cadbce;--muted:#8fa495;--line:#2d4034;--line-strong:#435c4a;--surface:#17231d;--surface-raised:#213129;--surface-soft:#1b2a22;--surface-hover:#294033;--canvas:#0f1713;--accent-contrast:#0b1d10;--green:#82cf8b;--green-soft:#213f2d;--red:#ff737d;--red-soft:#49272b;--gray:#8b9d90;--gray-soft:#2b362f;--map-arrow:#82cf8b}.app-shell[data-palette=sunset]{--blue:#ff8a68;--blue-strong:#ef6f50;--blue-soft:#4a2b28;--ink:#fff5f1;--ink-secondary:#e5d1ca;--muted:#ad918a;--line:#443236;--line-strong:#61464a;--surface:#251d20;--surface-raised:#33262a;--surface-soft:#2b2124;--surface-hover:#402d31;--canvas:#191215;--accent-contrast:#2b1009;--green:#5bd39a;--green-soft:#213a2e;--red:#ff6f78;--red-soft:#4b282d;--gray:#a18d8d;--gray-soft:#382e31;--map-arrow:#ff8a68}.app-shell[data-palette=frost]{--blue:#138f91;--blue-strong:#0a7779;--blue-soft:#dff3f2;--ink:#172b35;--ink-secondary:#344b55;--muted:#6d8188;--line:#d4e0e1;--line-strong:#b7cacb;--surface:#fff;--surface-raised:#f5f8f8;--surface-soft:#eef3f3;--surface-hover:#e3f2f1;--canvas:#e9efef;--accent-contrast:#fff;--green:#119968;--green-soft:#d9f3e8;--red:#e44856;--red-soft:#ffe2e5;--gray:#84959b;--gray-soft:#e8eeee;--map-arrow:#138f91}.topbar{border-bottom:1px solid var(--line);background:var(--surface);z-index:1000;grid-column:1/-1;grid-template-columns:160px minmax(176px,220px) minmax(440px,1fr) auto;align-items:stretch;height:62px;display:grid;box-shadow:0 1px 5px #10234a12}.brand-lockup{background:var(--surface);color:var(--ink);cursor:pointer;border:0;align-items:center;gap:5px;padding:0 18px;display:flex}.brand-lockup svg{color:var(--blue);fill:#dcecff}.brand-lockup>span{letter-spacing:-.055em;font-size:24px;font-weight:850}.brand-lockup>span>span{color:var(--blue)}.tenant-switcher{align-self:center;width:calc(100% - 6px);height:40px;margin-left:6px}.tenant-switcher .custom-select-trigger{background:var(--surface-raised);height:40px;font-size:13px;font-weight:750}.module-nav{justify-content:center;align-items:stretch;gap:20px;padding:0 14px;display:flex}.module-nav button{min-width:102px;color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:9px;padding:0 8px;font-size:13px;font-weight:600;display:flex;position:relative}.module-nav button:hover,.module-nav button:focus-visible{color:var(--blue);outline:0}.module-nav button.is-active{color:var(--blue)}.module-nav button.is-active:after{content:"";background:var(--blue);height:3px;position:absolute;inset:auto 3px -1px}.topbar-actions{border-left:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;min-width:250px;padding:0 16px 0 10px;display:flex}.connection-dot{background:var(--gray);border-radius:50%;width:8px;height:8px}.connection-dot.is-live{background:var(--green);box-shadow:0 0 0 4px #0fb76b1c}.connection-dot.is-loading{background:#f3a20f}.connection-dot.is-error{background:var(--red)}.plain-icon-button{cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;width:36px;height:36px;padding:0;display:grid}.plain-icon-button:hover,.plain-icon-button:focus-visible{background:var(--blue-soft);color:var(--blue);outline:0}.profile-summary{align-items:center;gap:9px;min-width:116px;display:flex}.avatar{background:var(--blue);width:34px;height:34px;color:var(--accent-contrast);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.profile-summary>span:last-child{flex-direction:column;min-width:0;line-height:1.3;display:flex}.profile-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.profile-summary small{color:var(--muted);font-size:10px}.theme-picker{width:138px}.theme-picker .custom-select-trigger{background:var(--surface-raised);height:36px}.theme-swatch{border:1px solid #ffffff61;border-radius:5px;width:16px;height:16px;display:inline-block;box-shadow:0 0 0 1px #0e1c3d47,inset 0 1px #ffffff24}.auth-checking{min-height:100vh;color:var(--muted);background:#f6f9fd;place-items:center;display:grid}.custom-select{width:100%;min-width:0;color:var(--ink);text-transform:none;position:relative}.custom-select-trigger{border:1px solid var(--line-strong);background:var(--surface-raised);width:100%;min-width:0;height:40px;color:var(--ink);text-align:left;cursor:pointer;border-radius:8px;outline:0;align-items:center;gap:9px;padding:0 10px 0 11px;font-size:11px;font-weight:670;transition:border-color .14s,background .14s,box-shadow .14s,transform .14s;display:flex}.custom-select-trigger:hover:not(:disabled){border-color:color-mix(in srgb, var(--blue) 48%, var(--line-strong))}.custom-select-trigger:focus-visible,.custom-select.is-open .custom-select-trigger{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 13%, transparent)}.custom-select-trigger:disabled{cursor:default;opacity:.58}.custom-select-leading,.custom-select-value-icon{width:20px;height:20px;color:var(--muted);flex:none;place-items:center;display:grid}.custom-select-leading svg,.custom-select-value-icon svg{width:100%;height:100%}.custom-select-value{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.custom-select-value>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-select-value.is-placeholder{color:var(--muted);font-weight:550}.custom-select-chevron{color:var(--muted);flex:none;transition:transform .14s,color .14s}.custom-select.is-open .custom-select-chevron{color:var(--blue);transform:rotate(180deg)}.custom-select-menu{--menu-accent:#1677ff;--menu-active:#edf5ff;--menu-active-text:#0d5fc0;z-index:3200;color:#17243c;scrollbar-width:thin;scrollbar-color:#b7c4d2 transparent;background:#fff;border:1px solid #c8d2de;border-radius:10px;max-height:min(310px,100vh - 16px);padding:6px;overflow-y:auto;box-shadow:0 18px 42px #0e1c3d2e,0 3px 10px #0e1c3d1a}.custom-select-menu[data-theme=dark]{--menu-accent:#3ecf8e;--menu-active:#163629;--menu-active-text:#78e3b2;color:#f0f5f2;scrollbar-color:#50605a transparent;background:#202b27;border-color:#40524b;box-shadow:0 18px 44px #0000006b,0 3px 10px #0000003d}.custom-select-menu[data-palette=midnight]{--menu-accent:#60a5fa;--menu-active:#172f4e;--menu-active-text:#91c7ff;color:#f0f6ff;scrollbar-color:#4d6682 transparent;background:#1d2a3b;border-color:#3c5572}.custom-select-menu[data-palette=aubergine]{--menu-accent:#b69cff;--menu-active:#35264b;--menu-active-text:#d2c2ff;color:#f7f1fb;scrollbar-color:#685377 transparent;background:#2b2336;border-color:#574367}.custom-select-menu[data-palette=arctic]{--menu-accent:#5dd8e8;--menu-active:#173b43;--menu-active-text:#a0edf5;color:#effbfc;scrollbar-color:#4c6d77 transparent;background:#1d3038;border-color:#3b5964}.custom-select-menu[data-palette=copper]{--menu-accent:#e6a15c;--menu-active:#402d20;--menu-active-text:#f2bd88;color:#f8f2ec;scrollbar-color:#6d5b4d transparent;background:#302923;border-color:#594b40}.custom-select-menu[data-palette=forest]{--menu-accent:#82cf8b;--menu-active:#274231;--menu-active-text:#b7e9bc;color:#f1f8f2;scrollbar-color:#536b59 transparent;background:#213129;border-color:#435c4a}.custom-select-menu[data-palette=sunset]{--menu-accent:#ff8a68;--menu-active:#4a2b28;--menu-active-text:#ffb49d;color:#fff5f1;scrollbar-color:#70545a transparent;background:#33262a;border-color:#61464a}.custom-select-menu[data-palette=frost]{--menu-accent:#138f91;--menu-active:#e3f2f1;--menu-active-text:#0a7779;color:#172b35;scrollbar-color:#a9bbbc transparent;background:#fff;border-color:#b7cacb}.custom-select-option{width:100%;min-height:42px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;outline:0;grid-template-columns:minmax(0,1fr) 17px;align-items:center;gap:9px;padding:7px 9px;font-size:11px;line-height:1.22;transition:background .12s,color .12s;display:grid}.custom-select-option:has(.custom-select-option-icon){grid-template-columns:28px minmax(0,1fr) 17px}.custom-select-option.is-active{background:var(--menu-active);color:var(--menu-active-text)}.custom-select-option[aria-selected=true]{font-weight:760}.custom-select-option:disabled{color:#8c98a9;cursor:default;opacity:.6}.custom-select-option-icon{border:1px solid color-mix(in srgb, currentColor 15%, transparent);background:color-mix(in srgb, currentColor 7%, transparent);color:currentColor;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.custom-select-option-icon svg{width:19px;height:19px}.custom-select-option-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.custom-select-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:720;overflow:hidden}.custom-select-option-copy small{color:inherit;text-overflow:ellipsis;white-space:nowrap;opacity:.64;font-size:9px;font-weight:530;overflow:hidden}.custom-select-option-check{width:17px;height:17px;color:var(--menu-accent);place-items:center;display:grid}.theme-welcome-backdrop{z-index:5000;background:radial-gradient(circle at 50% 15%, color-mix(in srgb, var(--blue) 11%, transparent), transparent 34%), #03090cd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-items:center;padding:24px;animation:.18s ease-out theme-backdrop-in;display:grid;position:fixed;inset:0}.theme-welcome{border:1px solid color-mix(in srgb, var(--line-strong) 88%, var(--blue));background:color-mix(in srgb, var(--surface) 97%, transparent);width:min(1040px,100%);max-height:calc(100vh - 48px);color:var(--ink);border-radius:16px;flex-direction:column;animation:.22s ease-out theme-welcome-in;display:flex;overflow:hidden;box-shadow:0 36px 100px #00000094,inset 0 1px #ffffff0d}.theme-welcome>header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 74%, transparent);align-items:center;gap:14px;padding:22px 26px 18px;display:flex}.theme-welcome-icon{border:1px solid color-mix(in srgb, var(--blue) 34%, var(--line));background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:12px;flex:none;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff14}.theme-welcome h1{letter-spacing:-.035em;margin:0 0 4px;font-size:24px;font-weight:830;line-height:1.05}.theme-welcome header p{color:var(--muted);margin:0;font-size:11px;font-weight:560;line-height:1.45}.theme-card-grid{scrollbar-color:var(--line-strong) transparent;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:0;padding:18px 24px 22px;display:grid;overflow-y:auto}.theme-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 94%, var(--blue) 6%);min-width:0;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;outline:0;flex-direction:column;gap:9px;padding:9px;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;display:flex;position:relative;box-shadow:0 4px 13px #00000014}.theme-card:hover{border-color:color-mix(in srgb, var(--blue) 56%, var(--line));background:color-mix(in srgb, var(--surface-raised) 91%, var(--blue) 9%);transform:translateY(-2px);box-shadow:0 10px 24px #00000024}.theme-card:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 18%, transparent)}.theme-card.is-selected{border-color:var(--blue);background:color-mix(in srgb, var(--surface-raised) 88%, var(--blue) 12%);box-shadow:0 0 0 1px var(--blue), 0 12px 28px color-mix(in srgb, var(--blue) 17%, transparent)}.theme-card-preview{border:1px solid color-mix(in srgb, var(--preview-accent) 24%, #7d8996);background:var(--preview-canvas);height:126px;color:var(--preview-ink);border-radius:9px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 5px 13px #0000002e,inset 0 1px #ffffff14}.theme-preview-top{border-bottom:1px solid color-mix(in srgb, var(--preview-accent) 14%, transparent);background:var(--preview-surface);height:24px;color:var(--preview-ink);grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:4px;padding:0 5px 0 7px;display:grid}.theme-preview-brand{letter-spacing:-.03em;align-items:center;font-size:6px;font-weight:850;display:flex}.theme-preview-brand>i{border:1.5px solid var(--preview-accent);border-radius:3px 3px 5px 5px;width:9px;height:9px;margin-right:3px;transform:rotate(45deg)}.theme-preview-brand>span{color:var(--preview-accent)}.theme-preview-tabs{justify-content:center;align-items:center;gap:7px;height:100%;display:flex}.theme-preview-tabs i{background:var(--preview-muted);opacity:.36;border-radius:2px;width:20px;height:3px}.theme-preview-tabs i.is-active{background:var(--preview-accent);opacity:.9}.theme-preview-profile{justify-content:flex-end;align-items:center;gap:3px;display:flex}.theme-preview-profile>i{background:#32c989;border-radius:50%;width:4px;height:4px;box-shadow:0 0 0 2px #32c98929}.theme-preview-profile>b{background:var(--preview-accent);width:14px;height:14px;color:var(--preview-surface);border-radius:50%;place-items:center;font-size:4.5px;display:grid}.theme-preview-body{flex:1;grid-template-columns:18px 76px minmax(0,1fr);min-height:0;display:grid}.theme-preview-rail{border-right:1px solid color-mix(in srgb, var(--preview-accent) 12%, transparent);background:var(--preview-surface);flex-direction:column;align-items:center;gap:8px;padding-top:9px;display:flex}.theme-preview-rail i{border:1px solid var(--preview-muted);opacity:.48;border-radius:2px;width:7px;height:7px}.theme-preview-rail i.is-active{border-color:var(--preview-accent);background:color-mix(in srgb, var(--preview-accent) 18%, transparent);box-shadow:inset 1.5px 0 var(--preview-accent);opacity:1}.theme-preview-fleet{border-right:1px solid color-mix(in srgb, var(--preview-accent) 12%, transparent);background:var(--preview-surface);flex-direction:column;min-width:0;padding:6px 5px 4px;display:flex}.theme-preview-fleet-heading{color:var(--preview-ink);justify-content:space-between;align-items:center;margin-bottom:4px;font-size:5px;display:flex}.theme-preview-fleet-heading>b{font-weight:800}.theme-preview-fleet-heading>i{background:color-mix(in srgb, var(--preview-accent) 15%, transparent);min-width:10px;height:8px;color:var(--preview-accent);border-radius:5px;place-items:center;font-size:4px;font-style:normal;font-weight:800;display:grid}.theme-preview-search{border:1px solid color-mix(in srgb, var(--preview-muted) 24%, transparent);height:10px;color:var(--preview-muted);border-radius:2px;align-items:center;gap:3px;margin-bottom:3px;padding:0 3px;font-size:3.8px;display:flex}.theme-preview-search>i{border:1px solid;border-radius:50%;width:3px;height:3px}.theme-preview-filters{gap:2px;margin-bottom:3px;display:flex}.theme-preview-filters i{background:color-mix(in srgb, var(--preview-muted) 18%, transparent);border-radius:1px;width:14px;height:4px}.theme-preview-filters i.is-active{background:color-mix(in srgb, var(--preview-accent) 28%, transparent);box-shadow:inset 1px 0 var(--preview-accent)}.theme-preview-fleet-row{border-top:1px solid color-mix(in srgb, var(--preview-muted) 13%, transparent);grid-template-columns:4px minmax(0,1fr);align-items:center;gap:3px;min-height:17px;margin-inline:-2px;padding:2px;display:grid}.theme-preview-fleet-row.is-selected{background:color-mix(in srgb, var(--preview-accent) 13%, transparent);box-shadow:inset 1.5px 0 var(--preview-accent)}.theme-preview-status{background:#32c989;border-radius:50%;width:3px;height:3px}.theme-preview-status.is-idle{background:#f4b44c}.theme-preview-fleet-row>span{flex-direction:column;min-width:0;line-height:1;display:flex}.theme-preview-fleet-row b{color:var(--preview-ink);text-overflow:ellipsis;white-space:nowrap;font-size:3.8px;font-weight:750;overflow:hidden}.theme-preview-fleet-row small{color:var(--preview-muted);margin-top:1px;font-size:3.2px}.theme-preview-map-panel{background:var(--preview-canvas);min-width:0;position:relative;overflow:hidden}.theme-preview-map-art{width:100%;height:100%;position:absolute;inset:0}.theme-preview-map-minor{fill:none;stroke:color-mix(in srgb, var(--map-road) 60%, var(--map-land));stroke-width:.8px;opacity:.72}.theme-preview-layer-name{border:1px solid color-mix(in srgb, var(--preview-muted) 24%, transparent);background:color-mix(in srgb, var(--preview-surface) 91%, transparent);max-width:calc(100% - 10px);color:var(--preview-ink);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:2px 4px;font-size:3.7px;font-weight:720;position:absolute;top:5px;right:5px;overflow:hidden;box-shadow:0 2px 5px #00000024}.theme-preview-vehicle-label{background:color-mix(in srgb, var(--preview-surface) 94%, transparent);color:var(--preview-ink);border-radius:3px;flex-direction:column;padding:2px 4px;font-size:3.6px;line-height:1.05;display:flex;position:absolute;top:35%;left:52%;transform:translate(-50%,-100%);box-shadow:0 2px 5px #00000030}.theme-preview-vehicle-label small{color:var(--preview-muted);font-size:3px}.theme-preview-marker{border:2px solid color-mix(in srgb, var(--preview-accent) 20%, white);background:var(--preview-accent);clip-path:polygon(50% 0,94% 100%,50% 78%,6% 100%);filter:drop-shadow(0 2px 3px #00000059);width:11px;height:13px;position:absolute;top:39%;left:50%;transform:rotate(32deg)}.theme-card-copy{grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;min-width:0;padding:1px 2px 2px;display:grid}.theme-card-copy strong{letter-spacing:-.018em;font-size:13px;font-weight:790}.theme-card-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:9.5px;font-weight:550;line-height:1.35;overflow:hidden}.theme-card-copy>span{color:var(--blue);grid-column:1/-1;align-items:center;gap:4px;font-size:8.5px;font-weight:700;display:inline-flex}.theme-card-check{border:2px solid color-mix(in srgb, white 72%, var(--blue));background:var(--blue);width:23px;height:23px;color:var(--accent-contrast);opacity:0;border-radius:50%;place-items:center;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:14px;right:14px;transform:scale(.76);box-shadow:0 3px 10px #00000047}.theme-card.is-selected .theme-card-check{opacity:1;transform:scale(1)}.theme-welcome>footer{border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);justify-content:flex-end;align-items:center;gap:12px;padding:14px 24px 17px;display:flex}.theme-welcome-selection{color:var(--muted);align-items:center;gap:7px;margin-right:auto;font-size:10px;font-weight:600;display:inline-flex}.theme-welcome-selection>i{width:9px;height:9px;box-shadow:0 0 0 1px var(--line-strong);border:2px solid #ffffffa3;border-radius:50%}.theme-welcome-selection>strong{color:var(--ink);font-weight:780}.theme-skip-button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:11px;font-weight:680}.theme-skip-button:hover,.theme-skip-button:focus-visible{background:var(--surface-hover);color:var(--ink);outline:0}.theme-confirm-button{border-radius:7px;min-width:210px}.theme-confirm-button svg{margin-left:8px}@keyframes theme-backdrop-in{0%{opacity:0}}@keyframes theme-welcome-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.nav-rail{border-right:1px solid var(--line);background:var(--surface);z-index:20;flex-direction:column;grid-area:2/1;justify-content:space-between;display:flex}.nav-rail-primary,.nav-rail-secondary{flex-direction:column;display:flex}.nav-rail button{width:64px;height:54px;color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.nav-rail button:hover,.nav-rail button:focus-visible{color:var(--blue);background:#f1f6fc;outline:0}.nav-rail button.is-active{color:var(--blue);background:var(--blue-soft)}.nav-rail button.is-active:before{content:"";background:var(--blue);width:3px;position:absolute;inset:0 auto 0 0}.nav-rail-secondary{padding-bottom:14px}.fleet-sidebar{border-right:1px solid var(--line);background:var(--surface);z-index:10;grid-area:2/2;min-width:0;overflow:hidden}.fleet-heading-row{justify-content:space-between;align-items:center;height:52px;padding:0 8px 0 12px;display:flex}.fleet-heading-row h1{letter-spacing:-.025em;margin:0;font-size:18px}.fleet-theme-summary{display:none}.fleet-heading-actions{align-items:center;gap:5px;display:flex}.fleet-heading-count{background:var(--blue-soft);min-width:25px;height:23px;color:var(--blue);border-radius:12px;place-items:center;font-size:10px;font-weight:800;display:grid}.fleet-collapse-button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;outline:0;place-items:center;padding:0;display:grid}.fleet-collapse-button:hover,.fleet-collapse-button:focus-visible{border-color:var(--line);background:var(--surface-raised);color:var(--blue)}.fleet-sidebar.is-collapsed{flex-direction:column;align-items:stretch;display:flex}.fleet-collapsed-top{border-bottom:1px solid var(--line);place-items:center;gap:3px;height:76px;padding:7px 0 6px;display:grid}.fleet-collapsed-top .fleet-heading-count{min-width:22px;height:18px;font-size:8px}.collapsed-vehicle-list{scrollbar-width:none;flex-direction:column;flex:1;align-items:center;gap:5px;min-height:0;padding:7px 5px 12px;display:flex;overflow:hidden auto}.collapsed-vehicle-list::-webkit-scrollbar{display:none}.collapsed-vehicle-list>button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;outline:0;flex:none;place-items:center;width:46px;height:40px;padding:0;display:grid;position:relative}.collapsed-vehicle-list>button:hover,.collapsed-vehicle-list>button:focus-visible{border-color:var(--line-strong);background:var(--surface-raised)}.collapsed-vehicle-list>button.is-selected{border-color:color-mix(in srgb, var(--blue) 58%, var(--line));background:var(--blue-soft)}.collapsed-vehicle-list>button .vehicle-type-image{background:linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 80%, #cfd8d4), var(--surface-raised));border-radius:6px;transform:scale(1.02)}.collapsed-vehicle-list .status-dot{border:1.5px solid var(--surface);width:7px;height:7px;margin:0;position:absolute;bottom:3px;right:3px}.fleet-search,.admin-search{border:1px solid var(--line-strong);height:36px;color:var(--muted);background:var(--surface-raised);border-radius:6px;align-items:center;gap:8px;margin:0 10px 10px;padding:0 10px;display:flex}.fleet-search:focus-within,.admin-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #0875f51f}.fleet-search input,.admin-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.status-filters{border-bottom:1px solid var(--line);scrollbar-width:none;gap:3px;padding:0 10px 10px;display:flex;overflow-x:auto}.status-filters::-webkit-scrollbar{display:none}.status-filters button{border:1px solid var(--line);background:var(--surface);min-height:28px;color:var(--ink-secondary);white-space:nowrap;cursor:pointer;border-radius:5px;flex:1 0 auto;justify-content:center;align-items:center;padding:0 5px;font-size:8.5px;font-weight:700;display:inline-flex}.status-filters button.is-active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.status-filter-count{font:inherit;margin-left:3px}.status-dot{background:var(--gray);border-radius:50%;flex:none;width:6px;height:6px;margin-right:4px;display:inline-block}.status-online,.status-all{background:var(--green)}.status-offline{background:var(--red)}.status-no-data{background:var(--gray)}.vehicle-list{height:calc(100% - 127px);overflow-y:auto}.vehicle-row{border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;content-visibility:auto;contain-intrinsic-size:auto 84px;grid-template-columns:44px minmax(84px,1fr) minmax(112px,1.05fr);align-items:start;gap:6px;width:100%;min-height:84px;padding:9px 9px 8px;display:grid;position:relative}.vehicle-row:hover{background:color-mix(in srgb, var(--blue-soft) 52%, var(--surface))}.vehicle-row.is-selected{background:color-mix(in srgb, var(--blue-soft) 68%, var(--surface))}.vehicle-row.is-selected:before{content:"";z-index:2;background:var(--blue);width:3px;position:absolute;inset:0 auto 0 0}.vehicle-row-select{z-index:0;cursor:pointer;background:0 0;border:0;outline:0;padding:0;position:absolute;inset:0}.vehicle-row-select:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--blue) 45%, transparent)}.vehicle-icon{z-index:1;border:1px solid color-mix(in srgb, var(--line) 76%, transparent);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-raised) 84%, #cfd8d4), var(--surface-raised));pointer-events:none;border-radius:7px;place-items:center;width:42px;height:34px;display:grid;position:relative;overflow:hidden}.vehicle-type-image{object-fit:contain;object-position:center;filter:drop-shadow(0 2px 3px #0000003d);width:100%;height:100%;display:block;transform:scale(1.14)}.vehicle-row.is-selected .vehicle-icon{border-color:color-mix(in srgb, var(--blue) 56%, var(--line));box-shadow:0 0 0 2px color-mix(in srgb, var(--blue) 10%, transparent)}.vehicle-copy{z-index:1;pointer-events:none;flex-direction:column;gap:1px;min-width:0;display:flex;position:relative}.vehicle-name{color:var(--ink);white-space:nowrap;align-items:center;gap:4px;font-size:13px;font-weight:800;line-height:1.25;display:flex;overflow:hidden}.vehicle-name .status-dot{margin-right:0}.vehicle-kind{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;line-height:1.3;overflow:hidden}.vehicle-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;line-height:1.35;overflow:hidden}.status-badge{border-radius:4px;align-items:center;width:max-content;margin-top:2px;padding:1px 6px;font-size:8px;font-weight:750;line-height:1.5;display:inline-flex}.status-badge.status-online{color:#087a48;background:var(--green-soft)}.status-badge.status-offline{color:#be1830;background:var(--red-soft)}.status-badge.status-no-data{color:#596980;background:var(--gray-soft)}.vehicle-live-data{z-index:1;min-width:0;color:var(--ink-secondary);pointer-events:none;flex-direction:column;gap:1px;padding-top:0;font-size:8.8px;line-height:1.35;display:flex;position:relative}.vehicle-live-data>span{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.vehicle-live-data>span svg{flex:none;width:11px;height:11px}.vehicle-live-data .odometer-value{padding-left:15px}.vehicle-live-data small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:8px;overflow:hidden}.coordinate-copy{max-width:100%;color:var(--blue-strong);font:inherit;cursor:copy;pointer-events:auto;background:0 0;border:0;border-radius:3px;outline:0;align-items:center;gap:3px;margin:-1px 0 -1px -3px;padding:1px 3px;font-size:7.7px;display:flex}.coordinate-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.coordinate-copy svg:last-child{opacity:0;flex:none;transition:opacity .15s,transform .15s;transform:translate(-2px)}.coordinate-copy:hover,.coordinate-copy:focus-visible{background:var(--blue-soft);color:var(--blue)}.coordinate-copy:hover svg:last-child,.coordinate-copy:focus-visible svg:last-child{opacity:1;transform:translate(0)}.empty-list,.admin-empty{color:var(--muted);margin:26px 18px;font-size:12px;line-height:1.5}.dashboard-workspace{background:var(--canvas);grid-area:2/3;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.dashboard-workspace.monitor-workspace{grid-template-rows:1fr;grid-template-columns:1fr}.dashboard-workspace.history-workspace{grid-template-rows:minmax(300px,1fr) 300px;grid-template-columns:1fr}.map-panel{isolation:isolate;min-width:0;min-height:0;position:relative;overflow:hidden}.leaflet-map{background:#dcecf5;width:100%;height:100%;min-height:420px}.leaflet-tile-pane>.leaflet-gl-layer{z-index:2}.map-layer-light .leaflet-map{background:#edf1f2}.map-layer-light .leaflet-tile{filter:grayscale(.55)saturate(.58)brightness(1.08)contrast(.88)}.map-layer-dark .leaflet-map{background:#20252b}.map-layer-dark .leaflet-tile{filter:invert(.92)hue-rotate(180deg)saturate(.55)brightness(.72)contrast(1.18)}.map-layer-terrain .leaflet-map{background:#dce5d5}.map-layer-terrain .leaflet-tile{filter:sepia(.2)hue-rotate(345deg)saturate(.86)brightness(.96)contrast(1.05)}.map-layer-contrast .leaflet-map{background:#e5e9df}.map-layer-contrast .leaflet-tile{filter:saturate(1.35)contrast(1.2)brightness(.96)}.map-layer-gray .leaflet-map{background:#e1e4e6}.map-layer-gray .leaflet-tile{filter:grayscale()brightness(1.02)contrast(1.04)}.map-layer-ocean .leaflet-map{background:#172a32}.map-layer-ocean .leaflet-tile{filter:invert(.86)sepia(.24)hue-rotate(142deg)saturate(.72)brightness(.68)contrast(1.2)}.map-layer-liberty .leaflet-map{background:#dce8df}.map-layer-positron .leaflet-map{background:#edf1f2}.map-layer-bright .leaflet-map{background:#dbe8ed}.map-layer-vector-dark .leaflet-map{background:#111b22}.map-layer-fiord .leaflet-map{background:#172935}.history-workspace .leaflet-map{min-height:0}.map-layer-picker{z-index:500;width:218px;max-width:calc(100% - 76px);position:absolute;top:16px;right:60px}.map-layer-select .custom-select-trigger{background:color-mix(in srgb, var(--surface-raised) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;height:38px;box-shadow:0 4px 15px #10234a29}.map-layer-select .custom-select-value-icon{width:24px;height:24px}.custom-select-menu[aria-label=Widok\ mapy]{max-height:min(390px,100vh - 16px)}.map-layer-preview{--map-land:#dce9d4;--map-water:#8bc9e8;--map-road:#fff;--map-road-secondary:#e7af64;--map-place:#276f9a;width:100%;height:100%;display:block}.map-preview-land{fill:var(--map-land)}.map-preview-water{fill:none;stroke:var(--map-water);stroke-width:5px;stroke-linecap:round}.map-preview-road{fill:none;stroke:var(--map-road);stroke-width:2.2px;stroke-linecap:round}.map-preview-road-secondary{stroke:var(--map-road-secondary);stroke-width:1.35px}.map-preview-place{fill:var(--map-place);stroke:#fff;stroke-width:1px}.map-layer-preview-light{--map-land:#edf0ec;--map-water:#c4d9df;--map-road-secondary:#c9c1af;--map-place:#7d8b91}.map-layer-preview-dark{--map-land:#1b2523;--map-water:#1f5360;--map-road:#61726d;--map-road-secondary:#51c590;--map-place:#67dba7}.map-layer-preview-terrain{--map-land:#d9e3c5;--map-water:#7fb7c6;--map-road:#fff9e8;--map-road-secondary:#d58b4a;--map-place:#6b833b}.map-layer-preview-contrast{--map-land:#dbe9cc;--map-water:#55bce4;--map-road:#fff;--map-road-secondary:#ef6f4f;--map-place:#7435b4}.map-layer-preview-gray{--map-land:#dfe2e3;--map-water:#aeb8bc;--map-road:#fff;--map-road-secondary:#8a9296;--map-place:#5d676c}.map-layer-preview-ocean{--map-land:#243c41;--map-water:#1c7182;--map-road:#7f9b97;--map-road-secondary:#45d1cf;--map-place:#6ee4df}.map-layer-preview-satellite{--map-land:#304c2d;--map-water:#1d526f;--map-road:#aaa696;--map-road-secondary:#d3b56f;--map-place:#e8e1c6}.map-layer-preview-liberty{--map-land:#dbe7d5;--map-water:#8ec6d6;--map-road:#fff;--map-road-secondary:#d9916a;--map-place:#26906e}.map-layer-preview-positron{--map-land:#eceeee;--map-water:#d4e1e6;--map-road:#fff;--map-road-secondary:#b8bec1;--map-place:#6f7d84}.map-layer-preview-bright{--map-land:#dcebd2;--map-water:#8fcbe8;--map-road:#fff;--map-road-secondary:#f47a60;--map-place:#6f43a2}.map-layer-preview-vector-dark{--map-land:#172126;--map-water:#183f50;--map-road:#58656a;--map-road-secondary:#55cda2;--map-place:#62dfae}.map-layer-preview-fiord{--map-land:#24343c;--map-water:#174f68;--map-road:#829298;--map-road-secondary:#55bdd0;--map-place:#72dce5}.map-locate-control{z-index:500;border:1px solid var(--line-strong);width:39px;height:39px;color:var(--ink);cursor:pointer;background:#fff;border-radius:5px;place-items:center;display:grid;position:absolute;bottom:24px;right:16px;box-shadow:0 3px 12px #10234a26}.map-locate-control:disabled{opacity:.45;cursor:default}.route-speed-legend{z-index:500;border:1px solid var(--line);color:#35445e;background:#fffffff0;border-radius:5px;flex-direction:column;gap:4px;padding:10px 11px;font-size:9px;display:flex;position:absolute;bottom:70px;right:16px;box-shadow:0 3px 12px #10234a1f}.route-speed-legend span{align-items:center;gap:6px;display:flex}.route-speed-legend i{background:var(--gray);border-radius:2px;width:16px;height:3px}.route-speed-legend .speed-slow{background:#72d5ec}.route-speed-legend .speed-city{background:#57b8ff}.route-speed-legend .speed-fast{background:#ffc857}.route-speed-legend .speed-alert,.route-speed-legend .speed-gap{background:#ff5f6d}.route-speed-legend .speed-gap{background:0 0;border-top:2px dashed #ff5f6d;height:1px}.route-speed-preview{z-index:500;border:1px solid var(--line-strong);min-width:152px;min-height:50px;color:var(--muted);pointer-events:none;background:#fffffff2;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:2px 10px;padding:8px 10px;display:grid;position:absolute;top:16px;left:16px;box-shadow:0 5px 18px #10234a24}.route-speed-preview>span{letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-size:8px;font-weight:750}.route-speed-preview>strong{letter-spacing:-.04em;grid-column:1;font-size:21px;font-weight:850;line-height:1}.route-speed-preview>strong small{letter-spacing:0;font-size:9px;font-weight:700}.route-speed-preview>time,.route-speed-preview>small{color:var(--ink-secondary);grid-column:1/-1;font-size:9px}.route-speed-preview>button{width:22px;height:22px;color:var(--muted);cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;font-size:16px;line-height:1;display:grid;position:absolute;top:5px;right:5px}.route-speed-preview>button:hover,.route-speed-preview>button:focus-visible{background:var(--blue-soft);color:var(--blue);outline:0}.route-speed-hit-area{cursor:crosshair}.vehicle-link-line{filter:drop-shadow(0 0 3px);animation:1.15s linear infinite vehicle-link-flow}.vehicle-link-halo{filter:blur(.35px)}@keyframes vehicle-link-flow{to{stroke-dashoffset:-22px}}@media (prefers-reduced-motion:reduce){.vehicle-link-line{animation:none}}.leaflet-control-zoom a{color:var(--ink)!important}.leaflet-tooltip{color:var(--ink);border:1px solid #b9c9d9;border-radius:4px;font-size:11px;box-shadow:0 5px 16px #10234a2e}.vehicle-marker-shell,.vehicle-cluster-shell,.route-arrow-shell,.playback-marker-shell,.route-stop-shell{background:0 0!important;border:0!important}.vehicle-marker-shell{position:relative}.vehicle-map-label{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#141c22e0;border:1px solid #ffffffb8;border-radius:6px;flex-direction:column;align-items:center;min-width:max-content;max-width:148px;padding:4px 7px 3px;line-height:1.15;display:flex;position:absolute;bottom:39px;left:50%;transform:translate(-50%);box-shadow:0 3px 11px #0e1c3d3d}.vehicle-map-label strong{text-overflow:ellipsis;white-space:nowrap;max-width:132px;font-size:10px;font-weight:850;overflow:hidden}.vehicle-map-label small{color:#bfcbc6;white-space:nowrap;font-size:8px;font-weight:650}.vehicle-map-label.is-emphasized{border-color:color-mix(in srgb, var(--blue) 72%, white);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--ink)}.vehicle-map-label.is-emphasized small{color:var(--muted)}.vehicle-arrow{width:34px;height:34px;color:var(--marker-color,#718095);filter:drop-shadow(0 3px 3px #0e1c3d6b);transform-origin:50%;place-items:center;transition:width .16s,height .16s,filter .16s;display:grid;position:absolute;bottom:0;left:58px;background:0 0!important}.vehicle-arrow svg{width:100%;height:100%;overflow:visible}.vehicle-arrow.is-selected,.vehicle-arrow.is-hovered{width:44px;height:44px;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--marker-color) 60%, transparent)) drop-shadow(0 4px 4px #0e1c3d61);bottom:-5px;left:53px}.vehicle-arrow.is-no-direction{color:#718095;opacity:.86}.vehicle-cluster{width:46px;height:44px;color:var(--blue);filter:drop-shadow(0 4px 5px #040c126b);transition:filter .15s,transform .15s;display:block;position:relative}.vehicle-cluster:hover{filter:drop-shadow(0 5px 8px color-mix(in srgb, var(--blue) 30%, #040c127a));transform:translateY(-1px)}.vehicle-cluster-fan{position:absolute;inset:2px 5px 1px 1px}.cluster-vehicle-arrow{place-items:center;width:27px;height:27px;display:grid;position:absolute}.cluster-vehicle-arrow>span{transform-origin:50%;width:100%;height:100%;display:block}.cluster-vehicle-arrow svg{width:100%;height:100%;overflow:visible}.cluster-vehicle-arrow-1{opacity:.68;top:10px;left:0;transform:rotate(-10deg)scale(.86)}.cluster-vehicle-arrow-2{opacity:.84;top:3px;left:8px;transform:rotate(2deg)scale(.93)}.cluster-vehicle-arrow-3{top:9px;left:15px;transform:rotate(11deg)}.vehicle-cluster strong{z-index:4;border:2px solid color-mix(in srgb, var(--surface) 88%, white);background:var(--surface-raised);min-width:21px;height:21px;color:var(--ink);border-radius:11px;place-items:center;padding:0 4px;font-size:10px;font-weight:900;line-height:1;display:grid;position:absolute;top:-3px;right:-2px;box-shadow:0 3px 8px #00000047}.vehicle-cluster-tooltip{flex-direction:column;gap:4px;min-width:154px;display:flex}.vehicle-cluster-tooltip>strong{color:var(--ink);margin-bottom:2px;font-size:10px}.vehicle-cluster-tooltip>span{color:var(--ink-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.vehicle-cluster-tooltip>span small{color:var(--muted);white-space:nowrap;font-size:8px}.vehicle-cluster-tooltip>em{color:var(--muted);font-size:8px;font-style:normal}.vehicle-cluster-tooltip>small{border-top:1px solid var(--line);color:var(--blue);margin-top:3px;padding-top:4px;font-size:8px;font-weight:700}.map-copy-toast{z-index:720;border:1px solid color-mix(in srgb, var(--blue) 48%, var(--line));background:color-mix(in srgb, var(--surface) 93%, transparent);color:var(--ink);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:7px;padding:8px 12px;font-size:10px;font-weight:750;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}.route-direction{width:18px;height:18px;color:var(--blue);filter:drop-shadow(0 1px 2px #fff);place-items:center;display:grid}.playback-marker{background:var(--blue);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 0 0 6px #0875f52e}.route-stop-marker{color:#fff;background:#26364e;border:3px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:850;display:grid}.api-error{z-index:600;color:#ad1830;background:#fff1f3;border:1px solid #f0aab5;border-radius:5px;max-width:420px;padding:10px 13px;font-size:11px;position:absolute;bottom:18px;left:18px;box-shadow:0 5px 18px #540e191f}.history-inspector{border-top:1px solid var(--line);background:#fff;grid-row:2;grid-template-rows:32px 31px 38px 40px 32px minmax(0,1fr);grid-template-columns:minmax(205px,.78fr) minmax(290px,1.15fr) minmax(165px,.72fr);gap:8px 12px;min-width:0;min-height:0;padding:12px 14px 54px;display:grid;overflow:hidden}.history-inspector-header{grid-area:1/1;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.history-title{min-width:0;color:var(--ink);align-items:center;gap:8px;display:flex}.history-title>svg{color:var(--blue);flex:none}.history-title>div{flex-direction:column;min-width:0;line-height:1.25;display:flex}.history-title strong{font-size:13px;font-weight:800}.history-title span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;overflow:hidden}.history-inspector-header .is-spinning{color:var(--blue);flex:none;animation:.8s linear infinite history-spin}@keyframes history-spin{to{transform:rotate(1turn)}}.history-presets{grid-area:2/1;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.history-presets button,.history-load,.history-export,.history-clear,.play-speeds button{border:1px solid var(--line-strong);color:#35445e;white-space:nowrap;cursor:pointer;background:#fff;border-radius:4px;outline:0;justify-content:center;align-items:center;gap:4px;min-width:0;height:31px;padding:0 8px;font-size:10px;font-weight:750;display:inline-flex}.history-presets button:hover,.history-load:hover,.history-export:hover,.history-clear:hover,.play-speeds button:hover{color:var(--blue-strong);background:#f4f9ff;border-color:#91b9ea}.history-presets button:focus-visible,.history-load:focus-visible,.history-export:focus-visible,.history-clear:focus-visible,.play-speeds button:focus-visible,.play-button:focus-visible,.timeline-slider:focus-visible{box-shadow:0 0 0 3px #0875f529}.history-presets button[aria-pressed=true],.play-speeds button[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:var(--accent-contrast)}.history-presets button:disabled,.history-load:disabled,.history-export:disabled,.history-clear:disabled,.play-speeds button:disabled,.play-button:disabled{opacity:.46;cursor:default}.history-day-field{min-width:0;color:var(--muted);text-transform:uppercase;grid-area:3/1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;font-size:9px;font-weight:700;display:grid}.history-day-field>span{align-items:center;gap:4px;display:inline-flex}.history-day-field>span svg{color:var(--blue)}.history-day-field .custom-select-trigger{border-radius:4px;height:32px;padding-inline:7px;font-size:10px}.history-date-grid input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0875f51c}.history-date-grid{grid-area:4/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;display:grid}.history-date-grid label{min-width:0;color:var(--muted);text-transform:uppercase;grid-template-rows:11px 28px;gap:1px;font-size:8px;font-weight:700;line-height:1;display:grid}.history-date-grid input[type=datetime-local]{border:1px solid var(--line-strong);width:100%;min-width:0;height:28px;color:var(--ink);background:#fff;border-radius:4px;outline:0;padding:0 5px;font-size:8px;font-weight:550}.history-actions{grid-area:5/1;grid-template-columns:minmax(48px,.75fr) minmax(76px,1.25fr) minmax(61px,1fr);gap:4px;min-width:0;display:grid}.history-actions button{text-overflow:ellipsis;padding-inline:5px;font-size:9px;overflow:hidden}.history-actions svg{flex:none;width:13px;height:13px}.history-load{border-color:var(--blue);background:var(--blue);color:var(--accent-contrast)}.history-load:hover{border-color:var(--blue-strong);background:var(--blue-strong);color:var(--accent-contrast)}.history-error,.history-sampling-note{grid-area:6/1;align-self:start;min-width:0;max-height:100%;margin:0;font-size:9px;line-height:1.3;overflow-y:auto}.history-error,.form-error{color:#bd1831}.history-sampling-note{color:var(--muted)}.history-error{background:#fff1f3;border-radius:3px;padding:4px 6px}.history-stat-grid{grid-area:1/2/span 5;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0;min-height:0;display:grid}.history-stat-card{border:1px solid var(--line);background:#f9fbfd;border-radius:5px;flex-direction:column;justify-content:space-between;gap:5px;min-width:0;padding:11px 10px 9px;display:flex}.history-stat-card strong{color:var(--ink);letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(14px,1.15vw,18px);font-weight:850;line-height:1.12}.history-stat-card span{color:var(--muted);font-size:9px;font-weight:600;line-height:1.2}.history-empty{border:1px dashed var(--line-strong);min-height:0;color:var(--muted);text-align:center;background:#f9fbfd;border-radius:5px;grid-area:1/2/span 5;place-items:center;padding:18px;font-size:10px;line-height:1.45;display:grid}.history-stops{min-width:0;min-height:0;color:var(--ink);scrollbar-gutter:stable;flex-direction:column;grid-area:1/3/-1;display:flex;overflow-y:auto}.history-stops h3{z-index:1;color:#263552;background:#fff;align-items:center;gap:6px;min-height:25px;margin:0 0 5px;font-size:11px;font-weight:800;display:flex;position:sticky;top:0}.history-stops h3 span{background:var(--blue-soft);min-width:19px;height:19px;color:var(--blue);border-radius:10px;place-items:center;font-size:8px;display:grid}.history-stops>button{border:0;border-bottom:1px solid var(--line);color:#35445e;text-align:left;cursor:pointer;background:0 0;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;width:100%;min-height:46px;padding:6px 5px;display:grid}.history-stops>button:hover,.history-stops>button:focus-visible{color:var(--blue-strong);background:#f1f7ff;outline:0}.history-stops>button svg{color:var(--blue)}.history-stops>button span{flex-direction:column;gap:2px;min-width:0;display:flex}.history-stops>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:750;overflow:hidden}.history-stops>button small{color:var(--muted);white-space:nowrap;font-size:8px}.history-stops>p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.4}.history-playback{z-index:550;border-top:1px solid var(--line);background:#fffffffa;align-items:center;gap:9px;height:47px;padding:0 14px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -3px 10px #10234a0d}.play-button{background:var(--blue);width:31px;height:31px;color:var(--accent-contrast);cursor:pointer;border:0;border-radius:50%;outline:0;flex:none;place-items:center;padding:0;display:grid}.play-button:hover{background:var(--blue-strong)}.play-speeds{flex:none;gap:3px;display:flex}.play-speeds button{width:31px;height:27px;padding:0;font-size:9px}.timeline-slider{--progress:0%;appearance:none;background:linear-gradient(90deg, var(--blue) var(--progress), #d4dce7 var(--progress));cursor:pointer;border-radius:3px;outline:0;width:100%;min-width:80px;height:4px;margin:0 4px}.timeline-slider:disabled{opacity:.48;cursor:default}.timeline-slider::-webkit-slider-thumb{appearance:none;background:var(--blue);border:3px solid #fff;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 6px #0000003d}.timeline-slider::-moz-range-thumb{background:var(--blue);border:3px solid #fff;border-radius:50%;width:11px;height:11px;box-shadow:0 1px 6px #0000003d}.playback-position{min-width:112px;color:var(--muted);white-space:nowrap;flex-direction:column;font-size:9px;line-height:1.25;display:flex}.playback-position strong{color:var(--ink);font-size:10px}.skip-stops{color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:9px;display:flex}.skip-stops input{accent-color:var(--blue);margin:0}.admin-workspace{background:var(--canvas);grid-area:2/2/auto/-1;min-width:0;min-height:0;display:grid;overflow:hidden}.admin-workspace.has-drawer{grid-template-columns:minmax(620px,1fr) 360px}.admin-surface{background:#fff;min-width:0;min-height:0;padding:26px 30px;overflow:auto}.admin-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.admin-heading h1{letter-spacing:-.035em;margin:0 0 6px;font-size:24px}.admin-heading p{color:var(--muted);margin:0;font-size:12px}.primary-button,.secondary-button{cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 15px;font-size:11px;font-weight:750;display:inline-flex}.primary-button{border:1px solid var(--blue);background:var(--blue);color:var(--accent-contrast)}.primary-button:hover{background:var(--blue-strong)}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{border:1px solid var(--line-strong);color:var(--ink);background:#fff}.data-table-wrap{border:1px solid var(--line);border-radius:5px;overflow-x:auto}.data-table{border-collapse:collapse;color:#263552;width:100%;font-size:11px}.data-table th{border-bottom:1px solid var(--line);color:#5b6980;text-align:left;white-space:nowrap;background:#f4f7fa;height:42px;padding:0 12px;font-size:10px;font-weight:750}.data-table td{border-bottom:1px solid var(--line);min-height:54px;padding:13px 12px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f8fbff}.table-actions{flex-wrap:wrap;gap:6px;min-width:230px;display:flex}.table-action-insurance{align-items:center;gap:5px;display:inline-flex}.table-vehicle,.table-user,.table-status{align-items:center;gap:8px;display:inline-flex}.table-vehicle>.vehicle-type-image{flex:0 0 23px;width:23px;height:23px}.table-vehicle strong,.table-status{white-space:nowrap}.table-status.status-online{color:var(--green)}.table-status.status-offline{color:var(--red)}.table-status.status-no-data{color:var(--gray)}.table-action{color:#0b64d3;cursor:pointer;white-space:nowrap;background:#f3f8ff;border:1px solid #a8c9f4;border-radius:4px;padding:6px 9px;font-size:10px;font-weight:700}.read-only-label{color:var(--muted);font-size:10px}.table-user>span{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:grid}.assignment-drawer{border-left:1px solid var(--line);background:#fff;min-width:0;overflow-y:auto;box-shadow:-8px 0 24px #10234a0f}.assignment-drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:22px 22px 14px;display:flex}.assignment-drawer h2{letter-spacing:-.025em;margin:0 0 6px;font-size:17px}.assignment-drawer header p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.assignment-drawer form{gap:14px;padding:18px 22px 24px;display:grid}.assignment-drawer label,.user-create-form label,.tenant-create-form label,.form-field{color:#263552;gap:6px;font-size:11px;font-weight:650;display:grid}.field-label{display:block}.assignment-drawer em{color:var(--red);font-style:normal}.assignment-drawer input,.user-create-form input,.tenant-create-form input{border:1px solid var(--line-strong);width:100%;height:39px;color:var(--ink);background:#fff;border-radius:4px;outline:0;padding:0 10px;font-size:11px}.assignment-drawer input:focus,.user-create-form input:focus,.tenant-create-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0875f51a}.assignment-drawer input[readonly]{color:var(--muted);background:#f1f4f8}.audit-note{background:var(--blue-soft);color:#0960c7;border-radius:4px;align-items:center;gap:8px;margin:0;padding:11px;font-size:10px;line-height:1.4;display:flex}.assignment-drawer footer{grid-template-columns:1fr 1.45fr;gap:9px;padding-top:6px;display:grid}.tenant-admin-layout{background:#fff;grid-area:2/2/auto/-1;grid-template-columns:355px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.tenant-list-panel{border-right:1px solid var(--line);min-width:0;overflow:hidden}.tenant-list-panel>header{align-items:center;height:64px;padding:0 18px;display:flex}.tenant-list-heading{justify-content:space-between;gap:12px}.tenant-list-heading .primary-button{min-height:32px;padding-inline:10px;font-size:10px}.tenant-list-panel h1{margin:0;font-size:22px}.tenant-list{height:calc(100% - 118px);overflow-y:auto}.tenant-list>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:62px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 16px;display:grid}.tenant-list>button:hover,.tenant-list>button[aria-pressed=true]{background:#edf6ff}.tenant-list>button[aria-pressed=true]{box-shadow:inset 3px 0 var(--blue)}.tenant-list button span{flex-direction:column;gap:3px;min-width:0;display:flex}.tenant-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.tenant-list button small{color:var(--muted);font-size:9px}.tenant-active,.tenant-inactive{color:var(--muted);padding-left:12px;font-size:9px;position:relative}.tenant-active:before,.tenant-inactive:before{content:"";background:var(--green);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:0}.tenant-inactive:before{background:var(--red)}.tenant-detail-panel{background:#fff;min-width:0;overflow-y:auto}.tenant-identity{gap:18px;padding:28px 28px 20px;display:flex}.tenant-identity>span{background:#f1f5fa;border-radius:5px;place-items:center;width:54px;height:54px;display:grid}.tenant-identity>div{flex:1}.tenant-identity h2{letter-spacing:-.03em;margin:3px 0 15px;font-size:21px}.tenant-identity dl{flex-wrap:wrap;gap:12px 28px;margin:0;display:flex}.tenant-identity dl>div{gap:3px;display:grid}.tenant-identity dt{color:var(--muted);text-transform:uppercase;font-size:9px}.tenant-identity dd{margin:0;font-size:11px}.tenant-tabs{border-bottom:1px solid var(--line);align-items:end;gap:34px;height:48px;padding:0 28px;display:flex}.tenant-tabs span{color:#516078;height:38px;padding:10px 2px 0;font-size:11px}.tenant-tabs .is-active{border-bottom:3px solid var(--blue);color:var(--blue);font-weight:750}.tenant-detail-empty{min-height:300px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.tenant-detail-empty h3{color:var(--ink);margin:4px 0 0;font-size:15px}.tenant-detail-empty p{margin:0;font-size:11px}.tenant-create-form{border:1px solid var(--line);background:#f8fafc;border-radius:6px;max-width:860px;margin:28px;padding:24px}.tenant-create-form>header h2{margin:0 0 6px;font-size:21px}.tenant-create-form>header p{color:var(--muted);margin:0 0 22px;font-size:11px}.tenant-create-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tenant-field-wide{grid-column:span 2}.tenant-create-form footer{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.user-create-form{border:1px solid var(--line);background:#f8fafc;border-radius:5px;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;align-items:end;gap:10px;margin:0 0 18px;padding:16px;display:grid}.temporary-password{color:#146a43;background:#effbf5;border:1px solid #aad6c0;border-radius:5px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;font-size:11px;display:flex}.temporary-password code{color:var(--ink);-webkit-user-select:all;user-select:all;background:#fff;border-radius:3px;margin-left:auto;padding:6px 9px;font-weight:750}.app-shell[data-theme=dark] .topbar{box-shadow:0 1px #00000052}.app-shell[data-theme=dark] .brand-lockup svg{fill:color-mix(in srgb, var(--blue) 22%, var(--surface))}.app-shell[data-theme=dark] .nav-rail button:hover,.app-shell[data-theme=dark] .nav-rail button:focus-visible{background:var(--surface-hover)}.app-shell[data-theme=dark] .status-badge.status-online{color:#76e6b0}.app-shell[data-theme=dark] .status-badge.status-offline{color:#ff8994}.app-shell[data-theme=dark] .status-badge.status-no-data{color:#a8b4ae}.app-shell[data-theme=dark] .vehicle-type-image{filter:brightness(1.16)contrast(1.03)drop-shadow(0 2px 3px #00000057)}.app-shell[data-theme=dark] .map-layer-select .custom-select-trigger,.app-shell[data-theme=dark] .route-speed-legend,.app-shell[data-theme=dark] .route-speed-preview,.app-shell[data-theme=dark] .map-locate-control{background:color-mix(in srgb, var(--surface) 95%, transparent);color:var(--ink-secondary);box-shadow:0 5px 18px #00000042}.app-shell[data-theme=dark] .leaflet-control-zoom a,.app-shell[data-theme=dark] .leaflet-control-attribution{border-color:var(--line)!important;background:color-mix(in srgb, var(--surface) 94%, transparent)!important;color:var(--ink-secondary)!important}.app-shell[data-theme=dark] .leaflet-control-attribution a{color:var(--blue)!important}.app-shell[data-theme=dark] .leaflet-tooltip{border-color:var(--line-strong);background:var(--surface-raised);color:var(--ink);box-shadow:0 6px 20px #00000057}.app-shell[data-theme=dark] .leaflet-tooltip:before{border-top-color:var(--surface-raised)}.app-shell[data-theme=dark] .history-inspector,.app-shell[data-theme=dark] .admin-surface,.app-shell[data-theme=dark] .assignment-drawer,.app-shell[data-theme=dark] .tenant-admin-layout,.app-shell[data-theme=dark] .tenant-detail-panel{background:var(--surface)}.app-shell[data-theme=dark] .history-presets button,.app-shell[data-theme=dark] .history-export,.app-shell[data-theme=dark] .history-clear,.app-shell[data-theme=dark] .play-speeds button,.app-shell[data-theme=dark] .secondary-button,.app-shell[data-theme=dark] .history-date-grid input[type=datetime-local],.app-shell[data-theme=dark] .assignment-drawer input,.app-shell[data-theme=dark] .user-create-form input,.app-shell[data-theme=dark] .tenant-create-form input{background:var(--surface-raised);color:var(--ink)}.app-shell[data-theme=dark] .history-stat-card,.app-shell[data-theme=dark] .history-empty,.app-shell[data-theme=dark] .user-create-form,.app-shell[data-theme=dark] .tenant-create-form{background:var(--surface-soft)}.app-shell[data-theme=dark] .history-stops h3,.app-shell[data-theme=dark] .tenant-list>button{background:var(--surface);color:var(--ink)}.app-shell[data-theme=dark] .history-stops>button,.app-shell[data-theme=dark] .data-table{color:var(--ink-secondary)}.app-shell[data-theme=dark] .history-stops>button:hover,.app-shell[data-theme=dark] .history-stops>button:focus-visible,.app-shell[data-theme=dark] .tenant-list>button:hover,.app-shell[data-theme=dark] .tenant-list>button[aria-pressed=true],.app-shell[data-theme=dark] .data-table tbody tr:hover{background:var(--surface-hover)}.app-shell[data-theme=dark] .history-playback{background:color-mix(in srgb, var(--surface) 98%, transparent);box-shadow:0 -3px 14px #00000040}.app-shell[data-theme=dark] .data-table th{background:var(--surface-raised);color:var(--muted)}.app-shell[data-theme=dark] .assignment-drawer label,.app-shell[data-theme=dark] .user-create-form label,.app-shell[data-theme=dark] .tenant-create-form label,.app-shell[data-theme=dark] .form-field,.app-shell[data-theme=dark] .history-stops h3{color:var(--ink-secondary)}.app-shell[data-theme=dark] .tenant-identity>span{background:var(--surface-raised)}.app-shell[data-theme=dark] .tenant-tabs span{color:var(--muted)}.app-shell[data-theme=dark] .temporary-password{border-color:color-mix(in srgb, var(--green) 46%, var(--line));background:var(--green-soft);color:color-mix(in srgb, var(--green) 72%, white)}.app-shell[data-theme=dark] .temporary-password code{background:var(--surface-raised)}.app-shell[data-theme=dark] .audit-note{color:color-mix(in srgb, var(--blue) 72%, white)}.app-shell[data-theme=dark] .api-error,.app-shell[data-theme=dark] .history-error{color:#ff9ca5;background:#3b2025;border-color:#6c3038}@media (prefers-reduced-motion:reduce){.app-shell,.topbar,.nav-rail,.fleet-sidebar,.admin-surface,.assignment-drawer,.tenant-admin-layout,.tenant-detail-panel,.theme-welcome-backdrop,.theme-welcome,.theme-card{transition:none;animation:none}}@media (width<=1200px){.app-shell{grid-template-columns:58px 300px minmax(520px,1fr)}.app-shell.is-fleet-collapsed{grid-template-columns:58px 58px minmax(520px,1fr)}.topbar{grid-template-columns:145px 184px 1fr auto}.module-nav{gap:3px}.module-nav button{min-width:80px}.topbar-actions{min-width:190px}.profile-summary small{display:none}.vehicle-row{grid-template-columns:42px minmax(80px,1fr) minmax(108px,1.05fr);padding-inline:8px}.nav-rail button{width:58px}.user-create-form{grid-template-columns:repeat(3,1fr)}.history-inspector{grid-template-columns:minmax(190px,.76fr) minmax(280px,1.24fr)}.history-stat-grid,.history-empty{grid-area:1/2/span 4}.history-stops{flex-direction:row;grid-area:5/2/-1;align-items:stretch;gap:4px;overflow:auto hidden}.history-stops h3{flex:0 0 62px;margin:0}.history-stops>button{border-right:1px solid var(--line);border-bottom:0;flex:0 0 145px;min-height:0}.history-stops>p{align-self:center;min-width:180px;margin:0}}@media (width<=840px){body{overflow:auto}.app-shell{flex-direction:column;min-height:100vh;display:flex;overflow:visible}.topbar{grid-template-columns:130px 1fr auto;height:58px;display:grid;position:sticky;top:0}.module-nav{z-index:900;border-top:1px solid var(--line);background:var(--surface);height:58px;padding:0 8px;position:fixed;inset:auto 0 0}.module-nav button{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:9px}.tenant-switcher{margin-right:8px}.topbar-actions{min-width:0;padding-right:8px}.topbar-actions .connection-dot,.topbar-actions>.plain-icon-button:first-of-type,.profile-summary>span:last-child,.nav-rail{display:none}.fleet-sidebar{border-right:0;border-bottom:1px solid var(--line);order:2;width:100%;max-height:410px}.vehicle-list{max-height:280px}.vehicle-row{min-height:84px}.fleet-sidebar.is-collapsed{flex-direction:row;max-height:58px}.fleet-collapsed-top{border-right:1px solid var(--line);border-bottom:0;flex:none;width:58px;height:58px}.fleet-collapsed-top .fleet-heading-count{display:none}.collapsed-vehicle-list{flex-direction:row;padding:8px 7px;overflow:auto hidden}.dashboard-workspace{order:3;min-height:620px}.dashboard-workspace.history-workspace{grid-template-rows:460px auto auto}.leaflet-map{min-height:460px}.history-workspace .leaflet-map{min-height:0}.admin-workspace,.tenant-admin-layout{order:2;min-height:calc(100vh - 116px);display:block}.admin-workspace.has-drawer{flex-direction:column;display:flex}.assignment-drawer{border-top:1px solid var(--line);border-left:0}.tenant-list-panel{border-right:0;border-bottom:1px solid var(--line);max-height:360px}.tenant-detail-panel{min-height:430px}.history-inspector{grid-row:2;min-height:280px;padding-bottom:14px;overflow:visible}.history-playback{grid-row:3;height:52px;position:static}.user-create-form{grid-template-columns:1fr 1fr}.tenant-create-form{margin:16px;padding:18px}.tenant-create-grid{grid-template-columns:1fr}.tenant-field-wide{grid-column:span 1}.theme-welcome-backdrop{padding:14px}.theme-welcome{max-height:calc(100vh - 28px)}.theme-welcome>header{padding:20px 20px 15px}.theme-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px 20px 18px}.theme-welcome>footer{padding:14px 20px 17px}}@media (width<=620px){.topbar{grid-template-rows:58px 46px;grid-template-columns:1fr auto;height:104px}.brand-lockup{grid-area:1/1}.topbar-actions{border-left:0;grid-area:1/2}.profile-summary{display:none}.theme-picker{width:112px}.tenant-switcher{grid-area:2/1/auto/-1;width:calc(100% - 20px);margin:0 10px 6px}.map-layer-picker{width:178px;max-width:calc(100% - 76px);left:auto;right:60px}.dashboard-workspace.history-workspace{grid-template-rows:420px auto auto}.history-inspector{flex-direction:column;gap:10px;padding:14px;display:flex}.history-inspector-header,.history-presets,.history-day-field,.history-date-grid,.history-actions,.history-error,.history-sampling-note,.history-stat-grid,.history-empty,.history-stops{grid-area:auto}.history-stat-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));min-height:158px}.history-stat-card{min-height:72px}.history-stops{flex-direction:column;max-height:190px;overflow:hidden auto}.history-stops h3{flex:none;min-height:25px}.history-stops>button{border-right:0;border-bottom:1px solid var(--line);flex:none;min-height:46px}.history-stops>p{align-self:auto;min-width:0}.history-playback{flex-wrap:wrap;height:auto;min-height:92px;padding:9px 12px}.timeline-slider{flex-basis:100%;order:5}.playback-position{min-width:0;margin-left:auto}.theme-welcome-backdrop{place-items:center;padding:8px}.theme-welcome{border-radius:11px;max-height:calc(100vh - 16px)}.theme-welcome>header{gap:10px;padding:16px 14px 13px}.theme-welcome-icon{border-radius:8px;width:36px;height:36px}.theme-welcome h1{font-size:20px}.theme-welcome header p{font-size:10px}.theme-card-grid{gap:8px;padding:12px 14px 14px}.theme-card{gap:7px;padding:7px}.theme-card-preview{height:92px}.theme-preview-top{grid-template-columns:49px minmax(0,1fr) 22px}.theme-preview-tabs{gap:3px}.theme-preview-tabs i{width:12px}.theme-preview-body{grid-template-columns:15px 62px minmax(0,1fr)}.theme-preview-rail{gap:6px;padding-top:7px}.theme-preview-fleet{padding:5px 4px 3px}.theme-preview-search,.theme-preview-filters,.theme-preview-fleet-row:last-child{display:none}.theme-card-copy strong{font-size:11px}.theme-card-copy small{display:none}.theme-welcome>footer{padding:12px 14px 14px}.theme-welcome-selection{display:none}.theme-confirm-button{flex:1;min-width:0}}@media (width<=480px){.theme-card-grid{grid-template-columns:1fr}.theme-card-preview{height:126px}.theme-preview-top{grid-template-columns:58px minmax(0,1fr) 28px}.theme-preview-tabs{gap:7px}.theme-preview-tabs i{width:20px}.theme-preview-body{grid-template-columns:18px 76px minmax(0,1fr)}.theme-preview-search,.theme-preview-filters{display:flex}.theme-preview-fleet-row:last-child{display:grid}.theme-skip-button{padding-inline:8px}}.app-shell[data-palette=plum-lime]{--blue:#7656e8;--blue-strong:#6542df;--blue-soft:#eee8ff;--ink:#211a2b;--ink-secondary:#4c4457;--muted:#746d7e;--line:#ebe6f0;--line-strong:#d8d0e1;--surface:#fff;--surface-raised:#f8f7fb;--surface-soft:#f2eff7;--surface-hover:#f5f2fb;--canvas:#e8e4f0;--accent-contrast:#fff;--green:#22b982;--green-soft:#ddf7ed;--red:#e64d5e;--red-soft:#ffe4e8;--gray:#9693a0;--gray-soft:#efedf2;--map-arrow:#7656e8;grid-template-rows:68px calc(100vh - 68px);grid-template-columns:72px minmax(620px,1fr);font-family:Plus Jakarta Sans,Inter,ui-sans-serif,system-ui,sans-serif}.app-shell[data-palette=plum-lime].is-fleet-collapsed{grid-template-columns:72px minmax(620px,1fr)}.custom-select-menu[data-palette=plum-lime]{--menu-accent:#7656e8;--menu-active:#eee8ff;--menu-active-text:#5d3bd0;color:#211a2b;scrollbar-color:#bdb1ca transparent;background:#fff;border-color:#d8d0e1;box-shadow:0 18px 44px #26163633,0 3px 10px #2616361a}.theme-card-preview[data-theme-preview=plum-lime] .theme-preview-top{background:#fff}.theme-card-preview[data-theme-preview=plum-lime] .theme-preview-rail{background:#1d1627;border-right-color:#33263f}.theme-card-preview[data-theme-preview=plum-lime] .theme-preview-rail i{border-color:#cfc3da}.theme-card-preview[data-theme-preview=plum-lime] .theme-preview-rail i.is-active{box-shadow:none;background:linear-gradient(135deg,#6542df,#9a63f4);border-color:#9878f3}.theme-card-preview[data-theme-preview=plum-lime] .theme-preview-fleet{z-index:2;background:#fff;border-radius:5px;margin:4px 0 4px 4px;position:relative;overflow:hidden;box-shadow:0 3px 8px #2616363d}.theme-card-preview[data-theme-preview=plum-lime] .theme-preview-fleet-heading{color:#fff;background:linear-gradient(110deg,#6d4ce8,#9a63f4);margin:-4px -3px 4px;padding:5px 4px 4px}.theme-card-preview[data-theme-preview=plum-lime] .theme-preview-map-panel{margin-left:-76px}.app-shell[data-palette=plum-lime] .topbar{background:#fffffff7;border-bottom-color:#e8e3ee;grid-template-columns:170px minmax(190px,230px) minmax(330px,1fr) auto;height:68px;box-shadow:0 4px 20px #26163614}.app-shell[data-palette=plum-lime] .brand-lockup{background:0 0;padding-inline:20px}.app-shell[data-palette=plum-lime] .brand-lockup svg{color:#7656e8;fill:#eee8ff}.app-shell[data-palette=plum-lime] .brand-lockup>span>span{color:#7656e8}.app-shell[data-palette=plum-lime] .tenant-switcher .custom-select-trigger,.app-shell[data-palette=plum-lime] .theme-picker .custom-select-trigger{background:#f8f7fb;border-color:#e5dfeb;border-radius:999px;box-shadow:inset 0 1px #fffc}.app-shell[data-palette=plum-lime] .module-nav button{color:#625a6c;min-width:96px}.app-shell[data-palette=plum-lime] .module-nav button.is-active{color:#6542df}.app-shell[data-palette=plum-lime] .module-nav button.is-active:after{background:linear-gradient(90deg,#6542df 0 78%,#caff3d 78% 100%);border-radius:4px 4px 0 0;height:4px;inset-inline:16px}.app-shell[data-palette=plum-lime] .topbar-actions{border-left-color:#eee9f2}.app-shell[data-palette=plum-lime] .avatar{background:linear-gradient(135deg,#6542df,#9a63f4);box-shadow:0 4px 12px #6542df42}.app-shell[data-palette=plum-lime] .nav-rail{background:radial-gradient(circle at 25% 8%,#9a63f42e,#0000 28%),linear-gradient(#21182c 0%,#18121f 100%);border-right:0;width:72px;box-shadow:8px 0 24px #1a112529}.app-shell[data-palette=plum-lime] .nav-rail button{color:#bdb2c8;width:72px;height:58px}.app-shell[data-palette=plum-lime] .nav-rail button:hover,.app-shell[data-palette=plum-lime] .nav-rail button:focus-visible{color:#fff;background:#2d2238;outline:0}.app-shell[data-palette=plum-lime] .nav-rail button.is-active{color:#fff;background:linear-gradient(135deg,#6542df 0%,#9a63f4 100%);border-radius:13px;width:48px;height:44px;margin:7px 12px;box-shadow:0 9px 18px #6542df59,inset 0 1px #fff3}.app-shell[data-palette=plum-lime] .nav-rail button.is-active:before{display:none}.app-shell[data-palette=plum-lime] .nav-rail button.is-active:after{content:"";background:#caff3d;border:2px solid #21182c;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:4px}.app-shell[data-palette=plum-lime] .dashboard-workspace{grid-area:2/2}.app-shell[data-palette=plum-lime] .fleet-sidebar{z-index:700;background:#fff;border:1px solid #ffffffb3;border-radius:18px;flex-direction:column;grid-area:2/2;place-self:start;width:min(394px,100% - 32px);height:calc(100% - 32px);margin:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 52px #27173738,0 4px 14px #2717371a}.app-shell[data-palette=plum-lime] .fleet-heading-row{color:#fff;background:radial-gradient(circle at 90% 0,#ffffff2e,#0000 34%),linear-gradient(110deg,#6848df 0%,#9a63f4 100%);flex:0 0 68px;order:1;height:68px;padding:0 15px 0 18px}.app-shell[data-palette=plum-lime] .fleet-heading-row h1{color:#fff;letter-spacing:-.03em;align-items:center;gap:12px;font-size:20px;font-weight:760;display:flex}.app-shell[data-palette=plum-lime] .fleet-heading-row h1:before{content:"";opacity:.94;background-color:#0000;background-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0),linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);background-position:0 0,11px 0,0 11px,11px 11px;background-repeat:no-repeat;background-size:7px 7px,7px 7px,7px 7px,7px 7px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:4px;flex:none;width:18px;height:18px}.app-shell[data-palette=plum-lime] .fleet-heading-count{display:none}.app-shell[data-palette=plum-lime] .fleet-collapse-button{color:#fff;border-radius:11px;width:38px;height:38px}.app-shell[data-palette=plum-lime] .fleet-collapse-button:hover,.app-shell[data-palette=plum-lime] .fleet-collapse-button:focus-visible{color:#fff;background:#ffffff29;border-color:#ffffff3d;box-shadow:0 0 0 3px #ffffff1f}.app-shell[data-palette=plum-lime] .fleet-theme-summary{color:#746d7e;border-bottom:1px solid #eee9f2;flex:0 0 47px;order:2;justify-content:space-between;align-items:center;gap:12px;min-height:47px;padding:0 16px;font-size:11px;font-weight:560;display:flex}.app-shell[data-palette=plum-lime] .fleet-theme-summary strong{color:#211a2b;font-variant-numeric:tabular-nums;font-size:13px}.app-shell[data-palette=plum-lime] .status-filters{border-bottom:0;flex:none;order:3;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px 12px 10px;display:grid;overflow:visible}.app-shell[data-palette=plum-lime] .status-filters button{color:#746d7e;background:#fff;border:1px solid #e8e3ee;border-radius:13px;grid-template-rows:34px 20px 14px;place-items:center;gap:2px;min-width:0;min-height:88px;padding:8px 4px 7px;font-size:10px;font-weight:560;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 2px 7px #2316300a}.app-shell[data-palette=plum-lime] .status-filters button:hover{background:#faf8fd;border-color:#cfc3e8;transform:translateY(-1px)}.app-shell[data-palette=plum-lime] .status-filters button:focus-visible{outline:0;box-shadow:0 0 0 3px #7656e838}.app-shell[data-palette=plum-lime] .status-filters button.is-active{color:#5d3bd0;background:#f2edff;border-color:#7656e8;box-shadow:0 0 0 1px #7656e8,0 7px 16px #7656e81f}.app-shell[data-palette=plum-lime] .status-filters .status-dot{border:0;border-radius:10px;place-items:center;width:34px;height:34px;margin:0;display:grid;box-shadow:inset 0 1px #ffffff3d}.app-shell[data-palette=plum-lime] .status-filters .status-all{background:#2a2034}.app-shell[data-palette=plum-lime] .status-filters .status-online{background:#22b982}.app-shell[data-palette=plum-lime] .status-filters .status-offline{background:#e64d5e}.app-shell[data-palette=plum-lime] .status-filters .status-no-data{background:#9693a0}.app-shell[data-palette=plum-lime] .status-filter-count{color:#211a2b;font-variant-numeric:tabular-nums;margin-left:0;font-size:17px;font-weight:800;line-height:1}.app-shell[data-palette=plum-lime] .status-filter-label{text-overflow:ellipsis;max-width:100%;overflow:hidden}.app-shell[data-palette=plum-lime] .fleet-search{background:#fbfafe;border-color:#ded7e5;border-radius:999px;flex:0 0 44px;order:4;height:44px;margin:0 12px 10px;padding-inline:14px;box-shadow:inset 0 1px 2px #25173108}.app-shell[data-palette=plum-lime] .fleet-search:focus-within{border-color:#7656e8;box-shadow:0 0 0 3px #7656e82e}.app-shell[data-palette=plum-lime] .fleet-search input{font-size:11px}.app-shell[data-palette=plum-lime] .vehicle-list{scrollbar-color:#c9bed2 transparent;border-top:1px solid #f0ebf3;flex:auto;order:5;height:auto;min-height:0}.app-shell[data-palette=plum-lime] .vehicle-row{background:#fff;border-bottom-color:#eee9f2;grid-template-columns:46px minmax(104px,1fr) minmax(118px,.9fr);gap:9px;min-height:86px;padding:11px 12px 9px}.app-shell[data-palette=plum-lime] .vehicle-row:hover{background:#faf8fd}.app-shell[data-palette=plum-lime] .vehicle-row.is-selected{background:#f3efff}.app-shell[data-palette=plum-lime] .vehicle-row.is-selected:before{background:linear-gradient(#6848df,#a56af4);border-radius:0 4px 4px 0;width:4px}.app-shell[data-palette=plum-lime] .vehicle-icon{background:#eeebf1;border:0;border-radius:12px;width:44px;height:44px;box-shadow:inset 0 1px #ffffff8c}.app-shell[data-palette=plum-lime] .vehicle-row[data-status=online] .vehicle-icon{background:#ddf7ed}.app-shell[data-palette=plum-lime] .vehicle-row[data-status=offline] .vehicle-icon{background:#ffe4e8}.app-shell[data-palette=plum-lime] .vehicle-row.is-selected .vehicle-icon{border-color:#0000;box-shadow:0 0 0 2px #7656e838}.app-shell[data-palette=plum-lime] .vehicle-name{color:#211a2b;font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.app-shell[data-palette=plum-lime] .vehicle-kind{color:#5f5769;font-size:9px}.app-shell[data-palette=plum-lime] .vehicle-meta{color:#91899a}.app-shell[data-palette=plum-lime] .status-badge{border-radius:999px}.app-shell[data-palette=plum-lime] .vehicle-live-data{color:#4b4355;font-variant-numeric:tabular-nums;align-items:flex-end}.app-shell[data-palette=plum-lime] .vehicle-live-data>span:first-child{color:#211a2b;font-size:13px;font-weight:800}.app-shell[data-palette=plum-lime] .coordinate-copy{color:#6542df}.app-shell[data-palette=plum-lime] .map-layer-select .custom-select-trigger,.app-shell[data-palette=plum-lime] .map-locate-control{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-color:#d8d0e1e6;border-radius:12px;box-shadow:0 8px 24px #26163629}.app-shell[data-palette=plum-lime] .vehicle-map-label{color:#211a2b;background:#fffffff2;border-color:#d8d0e1;border-radius:999px;box-shadow:0 7px 18px #26163633}.app-shell[data-palette=plum-lime] .vehicle-map-label small{color:#7656e8}.app-shell[data-palette=plum-lime] .vehicle-map-label.is-emphasized{background:#fff;border-color:#7656e8;box-shadow:0 0 0 3px #7656e833,0 8px 22px #26163638}.app-shell[data-palette=plum-lime] .vehicle-cluster strong{color:#4f31bd;background:#fff;border-color:#fff}.app-shell[data-palette=plum-lime] .leaflet-control-zoom a{background:#fffffff2!important;border-color:#e3dce9!important}.app-shell[data-palette=plum-lime] .fleet-sidebar.is-collapsed{background:#21182c;border-color:#fff6;border-radius:18px;width:68px;height:calc(100% - 32px);margin:16px}.app-shell[data-palette=plum-lime] .fleet-collapsed-top{border-bottom-color:#352940;height:76px}.app-shell[data-palette=plum-lime] .fleet-collapsed-top .fleet-collapse-button{color:#fff}.app-shell[data-palette=plum-lime] .fleet-sidebar.is-collapsed .fleet-heading-count{color:#1b2011;background:#caff3d;display:grid}.app-shell[data-palette=plum-lime] .collapsed-vehicle-list>button:hover,.app-shell[data-palette=plum-lime] .collapsed-vehicle-list>button:focus-visible{background:#31253d;border-color:#7656e8}.app-shell[data-palette=plum-lime] .collapsed-vehicle-list>button.is-selected{background:#3a2b49;border-color:#9878f3}@media (width<=1200px){.app-shell[data-palette=plum-lime],.app-shell[data-palette=plum-lime].is-fleet-collapsed{grid-template-columns:64px minmax(520px,1fr)}.app-shell[data-palette=plum-lime] .nav-rail,.app-shell[data-palette=plum-lime] .nav-rail button{width:64px}.app-shell[data-palette=plum-lime] .nav-rail button.is-active{margin-inline:8px}.app-shell[data-palette=plum-lime] .topbar{grid-template-columns:150px 190px 1fr auto}.app-shell[data-palette=plum-lime] .module-nav button{min-width:78px}}@media (width<=840px){.app-shell[data-palette=plum-lime],.app-shell[data-palette=plum-lime].is-fleet-collapsed{min-height:100vh;display:flex;overflow:visible}.app-shell[data-palette=plum-lime] .topbar{grid-template-columns:130px 1fr auto;height:58px}.app-shell[data-palette=plum-lime] .module-nav{background:#1d1627;border-top-color:#33263f}.app-shell[data-palette=plum-lime] .module-nav button{color:#bdb2c8}.app-shell[data-palette=plum-lime] .module-nav button.is-active{color:#c9ff4d}.app-shell[data-palette=plum-lime] .module-nav button.is-active:after{background:#caff3d}.app-shell[data-palette=plum-lime] .fleet-sidebar,.app-shell[data-palette=plum-lime] .fleet-sidebar.is-collapsed{z-index:850;border-radius:22px 22px 15px 15px;width:auto;height:min(64vh,560px);max-height:min(64vh,560px);margin:0;position:fixed;inset:auto 10px 68px;box-shadow:0 20px 60px #1d122752}.app-shell[data-palette=plum-lime] .fleet-sidebar:before{content:"";z-index:3;background:#ffffff75;border-radius:999px;width:34px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.app-shell[data-palette=plum-lime] .fleet-heading-row{padding-top:5px}.app-shell[data-palette=plum-lime] .fleet-sidebar.is-collapsed{border-radius:20px;flex-direction:row;height:72px;max-height:72px}.app-shell[data-palette=plum-lime] .fleet-sidebar.is-collapsed:before{display:none}.app-shell[data-palette=plum-lime] .fleet-collapsed-top{border-right-color:#352940;width:66px;height:72px}.app-shell[data-palette=plum-lime] .dashboard-workspace{order:2;min-height:calc(100vh - 58px)}}@media (width<=620px){.app-shell[data-palette=plum-lime] .topbar{grid-template-rows:58px 46px;grid-template-columns:1fr auto;height:104px}.app-shell[data-palette=plum-lime] .dashboard-workspace{min-height:calc(100vh - 104px)}.app-shell[data-palette=plum-lime] .fleet-sidebar,.app-shell[data-palette=plum-lime] .fleet-sidebar.is-collapsed{bottom:68px}.app-shell[data-palette=plum-lime] .status-filters{scroll-snap-type:x proximity;padding-inline:12px;display:flex;overflow-x:auto}.app-shell[data-palette=plum-lime] .status-filters button{scroll-snap-align:start;min-width:76px}.app-shell[data-palette=plum-lime] .vehicle-row{grid-template-columns:44px minmax(100px,1fr) minmax(104px,.82fr)}}@media (prefers-reduced-motion:reduce){.app-shell[data-palette=plum-lime] .status-filters button{transition:none}}
