:root{--brand-700: #143d8f;--brand-500: #2f6fee;--brand-300: #b9d0fb;--brand-050: #eef4fe;--bg: #f6f7f9;--panel: #ffffff;--sidebar-bg: #ffffff;--ink: #16191d;--muted: #6b7280;--line: #e3e6ea;--good: #127c4a;--goodbg: #e6f4ec;--fair: #9a6700;--fairbg: #fdf3d8;--poor: #b3261e;--poorbg: #fceceb;--accent: var(--brand-500);--accent-strong: var(--brand-700);--accent-tint: var(--brand-050);--accent-selected: var(--brand-300);--radius: 8px;--sidebar-w: 240px;--topbar-h: 56px}@media (prefers-color-scheme: dark){:root{--brand-700: #9dbdf7;--brand-500: #6f97f2;--brand-300: #294a8f;--brand-050: #172038;--bg: #0f1216;--panel: #171b21;--sidebar-bg: #12151a;--ink: #e8eaed;--muted: #9aa3ad;--line: #272c34;--good: #5bd39a;--goodbg: #13291f;--fair: #e8c25a;--fairbg: #2b2415;--poor: #f2857c;--poorbg: #2d1a19}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}button,select{font:inherit}.login-screen{min-height:100%;display:flex;flex-direction:column}@media (min-width: 860px){.login-screen{display:grid;grid-template-columns:minmax(360px,400px) 1fr}}.login-panel{display:flex;align-items:center;justify-content:center;padding:24px}.login-box{width:100%;max-width:320px}.login-box h1{font-size:22px;margin:0 0 24px;letter-spacing:-.01em}.login-hero{display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,var(--brand-500),var(--accent-strong));background-image:url(/login/hero-fleet.webp);background-size:cover;background-position:center;color:#fff;padding:48px;position:relative;overflow:hidden}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#060f238c,#060f2300 45%);pointer-events:none}@media (max-width: 859px){.login-hero{order:-1;min-height:58vh;padding:20px}.login-hero h2{font-size:22px}}.login-hero .eyebrow{font-size:13px;opacity:.85;margin-bottom:12px;position:relative;z-index:1}.login-hero h2{font-size:32px;line-height:1.2;margin:0 0 16px;max-width:420px;position:relative;z-index:1}.login-hero-cards{position:absolute;z-index:1;top:48px;left:48px;width:60%;max-width:400px;min-width:380px;display:flex;flex-direction:column;gap:14px}@media (max-width: 859px){.login-hero-cards{top:20px;left:20px;width:85%;max-width:340px;min-width:340px;gap:10px}}@media (max-width: 400px){.login-hero{padding:12px}.login-hero-cards{top:12px;left:12px;right:12px;width:auto;max-width:none;min-width:0;gap:8px}.fleet-card{padding:8px 10px}.fleet-card-genicon{width:24px}.fleet-card-name{font-size:12px}.fleet-card-status{font-size:10px}.fleet-card-stats{gap:8px}.fleet-card-stat+.fleet-card-stat{padding-left:8px}.fleet-card-stat svg{width:12px;height:12px}.fleet-card-stat .lbl{font-size:8px}.fleet-card-stat .val{font-size:10.5px}}.fleet-card{background:#ffffff24;border:1.5px solid rgba(96,165,250,.85);border-radius:14px;padding:14px 16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;filter:drop-shadow(0 16px 32px rgba(6,15,35,.4))}@media (max-width: 859px){.fleet-card{padding:10px 12px}.fleet-card-head{gap:8px;padding-bottom:6px;margin-bottom:6px}.fleet-card-genicon{width:28px;height:auto}.fleet-card-name{font-size:13px}.fleet-card-status{font-size:11px}.fleet-card-stat .lbl{font-size:9px}.fleet-card-stat .val{font-size:12px}}.fleet-card-head{display:flex;align-items:center;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.3)}.fleet-card-genicon{width:38px;height:auto;flex:none}.fleet-card-title{min-width:0}.fleet-card-name{font-weight:700;font-size:15px;letter-spacing:-.01em}.fleet-card-status{display:flex;align-items:center;gap:6px;font-size:13px;color:#e2f0ffe6;margin-top:2px}.fleet-card-dot{width:9px;height:9px;border-radius:50%;background:#34d399;flex:none}.fleet-card-dot.pulse{animation:fleet-card-pulse 2.4s ease-in-out infinite}@keyframes fleet-card-pulse{0%,to{opacity:.3}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.fleet-card-dot.pulse{animation:none}}.fleet-card-stats{display:flex;gap:12px}.fleet-card-stat{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.fleet-card-stat+.fleet-card-stat{border-left:1px solid rgba(255,255,255,.3);padding-left:12px}.fleet-card-stat svg{width:15px;height:15px;flex:none;color:#bfdbfed9}.fleet-card-stat .lbl{font-size:10px;color:#bfdbfebf}.fleet-card-stat .val{font-size:14px;font-weight:700;letter-spacing:-.01em}.btn{font:inherit;border-radius:7px;border:1px solid var(--line);padding:10px 16px;background:var(--accent);color:#fff;border-color:transparent;cursor:pointer;font-weight:550}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line);font-weight:500}.btn.block{width:100%;display:block;text-align:center}.hint{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}.error-text{color:var(--poor)}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100%}@media (max-width: 760px){.shell{grid-template-columns:1fr}.sidebar{display:none}}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:12px 8px}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:8px 10px 16px;font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.sidebar-brand .mark{width:22px;height:22px;border-radius:6px;background:var(--accent);flex:none}.sidebar-org{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;font-size:13px}.sidebar-org .org-name{font-weight:600;color:var(--ink)}.sidebar-org .org-user{color:var(--muted);font-size:12px}.nav-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:12px 10px 6px}.nav-back-link{display:block;padding:8px 10px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:500;border-radius:6px}.nav-back-link:hover{background:var(--accent-tint);color:var(--ink)}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:500}.nav-link:hover{background:var(--accent-tint)}.nav-link.active{background:var(--accent-tint);color:var(--accent-strong);font-weight:650}.nav-link .icon{width:16px;height:16px;flex:none;border-radius:4px;background:currentColor;opacity:.25}.nav-link.active .icon{opacity:.9}.nav-badge{margin-left:auto;background:var(--poor);color:#fff;font-size:11px;font-weight:700;line-height:1;padding:3px 6px;border-radius:999px;flex:none}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-brand{display:none;flex:none}.topbar-brand .mark{display:block;width:22px;height:22px;border-radius:6px;background:var(--accent)}@media (max-width: 760px){.topbar-brand{display:flex}}.topbar .crumbs{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .crumbs a{color:var(--muted);text-decoration:none}.topbar .crumbs a:hover{text-decoration:underline}.topbar-actions{display:flex;align-items:center;gap:14px}.topbar-actions .email{font-size:13px;color:var(--muted)}@media (max-width: 520px){.topbar-actions .email{display:none}}.content{padding:20px 24px 48px;max-width:1100px;width:100%;margin:0 auto}.page-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.page-header h1{font-size:22px;margin:0;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.page-sub{color:var(--muted);font-size:13px;margin:4px 0 20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:16px}.card h2{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px}.kv{width:100%;border-collapse:collapse}.kv td{padding:7px 0;border-bottom:1px solid var(--line);vertical-align:top}.kv td:first-child{color:var(--muted);width:42%;padding-right:12px}.kv tr:last-child td{border-bottom:none}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tile{border:1px solid var(--line);border-radius:8px;padding:12px 14px}.tile .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tile .val{font-size:26px;font-weight:650;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}.tile .note{font-size:12px;color:var(--muted);margin-top:2px}.tile.good{background:var(--goodbg)}.tile.good .val{color:var(--good)}.tile.fair{background:var(--fairbg)}.tile.fair .val{color:var(--fair)}.tile.poor{background:var(--poorbg)}.tile.poor .val{color:var(--poor)}.range-toggle{display:flex;gap:8px;flex-wrap:wrap}.range-toggle .btn{padding:6px 14px}.range-toggle .btn.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-strong)}.chart-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:16px}@media (min-width: 900px){.chart-grid{grid-template-columns:1fr 1fr}}.chart-card{border:1px solid var(--line);border-radius:8px;padding:14px 16px}.chart-title{font-size:12px;font-weight:600;color:var(--ink);margin:0 0 2px}.chart-wrap{width:100%;margin-top:6px}.run{border-radius:10px;padding:16px 18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.run .big{font-size:28px;font-weight:700;letter-spacing:-.02em}.run.good{background:var(--goodbg);color:var(--good)}.run.poor{background:var(--poorbg);color:var(--poor)}.run.fair{background:var(--fairbg);color:var(--fair)}.run .sub2{color:inherit;opacity:.75;font-size:13px}.stale{color:var(--poor);font-weight:600}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:0 0 8px;border-bottom:1px solid var(--line)}.th-label{display:inline-flex;align-items:center;gap:5px}.data-table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.data-table td.device-cell{color:var(--ink);font-weight:550}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover td{background:var(--accent-tint)}.data-table tbody tr:focus-visible td{outline:2px solid var(--accent);outline-offset:-2px}@media (max-width: 640px){.data-table thead{display:none}.data-table,.data-table tbody{display:block}.data-table tbody tr{display:block;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:10px}.data-table tbody tr:last-child{margin-bottom:0}.data-table td{display:flex;justify-content:space-between;gap:12px;border:none;padding:5px 0}.data-table td:before{content:attr(data-label);color:var(--muted);font-weight:500}.data-table td.device-cell:before{content:none}.data-table td[data-label=Status]{justify-content:flex-start;gap:8px}}.info-icon{position:relative;display:inline-flex;width:14px;height:14px;border-radius:50%;border:1px solid var(--muted);color:var(--muted);font-size:10px;line-height:1;align-items:center;justify-content:center;cursor:help;flex:none}.info-icon:hover,.info-icon:focus-visible{border-color:var(--accent);color:var(--accent)}.info-icon .tooltip{display:none;position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:220px;background:var(--ink);color:var(--panel);font-weight:400;text-transform:none;letter-spacing:normal;font-size:12px;line-height:1.4;padding:8px 10px;border-radius:6px;box-shadow:0 4px 16px #0003}.info-icon:hover .tooltip,.info-icon:focus-visible .tooltip{display:block}.status-dot-wrap{position:relative;display:inline-flex;cursor:help}.status-dot{display:block;width:10px;height:10px;border-radius:50%;background:var(--muted)}.status-ok .status-dot{background:var(--good)}.status-missed-one .status-dot{background:var(--fair)}.status-missed-many .status-dot{background:var(--poor)}.status-dot-wrap .tooltip{display:none;position:absolute;z-index:20;top:calc(100% + 8px);left:0;transform:none;width:260px;background:var(--ink);color:var(--panel);font-weight:400;font-size:12px;line-height:1.45;padding:10px 12px;border-radius:6px;box-shadow:0 4px 16px #0003;text-align:left}.status-dot-wrap:hover .tooltip,.status-dot-wrap:focus-visible .tooltip{display:block}.switchrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.switchrow:last-child{border-bottom:none}.switchrow .lbl{font-weight:550}.switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--line);border-radius:24px;cursor:pointer;transition:background .15s}.slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:var(--panel);border-radius:50%;transition:transform .15s}.switch input:checked+.slider{background:var(--good)}.switch input:checked+.slider:before{transform:translate(18px)}select{border-radius:7px;border:1px solid var(--line);padding:8px 11px;background:var(--bg);color:var(--ink)}.center-screen{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}
