@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-khmer-khmer-400-normal-DnqNet9s.woff2)format("woff2"),url(/assets/noto-sans-khmer-khmer-400-normal-CfhpqDv8.woff)format("woff");unicode-range:U+1780-17FF,U+19E0-19FF,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-khmer-latin-ext-400-normal-DodaIRJA.woff2)format("woff2"),url(/assets/noto-sans-khmer-latin-ext-400-normal-Bd3ZAoRX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-khmer-latin-400-normal-BLI6HyUZ.woff2)format("woff2"),url(/assets/noto-sans-khmer-latin-400-normal-Dek0CCYB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-khmer-khmer-500-normal-2z33mOhH.woff2)format("woff2"),url(/assets/noto-sans-khmer-khmer-500-normal-dNx9-JxI.woff)format("woff");unicode-range:U+1780-17FF,U+19E0-19FF,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-khmer-latin-ext-500-normal-CXyrd2lV.woff2)format("woff2"),url(/assets/noto-sans-khmer-latin-ext-500-normal-D_xgPDZH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-khmer-latin-500-normal-DNgM42S4.woff2)format("woff2"),url(/assets/noto-sans-khmer-latin-500-normal-YUyrHXTV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-khmer-khmer-700-normal-qwjLDidk.woff2)format("woff2"),url(/assets/noto-sans-khmer-khmer-700-normal-BUdGgDYy.woff)format("woff");unicode-range:U+1780-17FF,U+19E0-19FF,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-khmer-latin-ext-700-normal-D0NTkDRW.woff2)format("woff2"),url(/assets/noto-sans-khmer-latin-ext-700-normal-DTINSare.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Khmer;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-khmer-latin-700-normal-DuGo6TL7.woff2)format("woff2"),url(/assets/noto-sans-khmer-latin-700-normal-DlNc-L-D.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2)format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2)format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2)format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2)format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2)format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2)format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Niradei;src:url(/assets/Niradei-Medium-Bn7UkawQ.ttf)format("truetype");font-weight:100 600;font-style:normal;font-display:swap}@font-face{font-family:Niradei;src:url(/assets/Niradei-Black-CuNNh_zh.ttf)format("truetype");font-weight:700 900;font-style:normal;font-display:swap}:root{--primary:#0039f5;--primary-600:#0030cf;--primary-50:#ecefff;--on-primary:#fff;--green:#15893e;--green-bg:#e6f5ec;--yellow:#d9820a;--yellow-bg:#fcf0da;--red:#d23;--red-bg:#fce6e9;--bg:#f3f5fc;--surface:#fff;--fg:#0a0f22;--muted:#535a73;--border:#e6e9f4;--radius:12px;--radius-sm:10px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 16px -4px #0f172a1a;--mono:"Space Mono", "Noto Sans Khmer", "Niradei", ui-monospace, monospace}.fleet{--paper:#f3f5fc;--panel:#fff;--ink:#0a0f22;--ink2:#535a73;--ink3:#9298ae;--line:#e6e9f4;--accent:#0039f5;--accent-d:#0030cf;--accent-soft:#ecefff;--primary:#0039f5;--primary-600:#0030cf;--primary-50:#ecefff;--on-primary:#fff;--green:#15893e;--green-bg:#e6f5ec;--yellow:#d9820a;--yellow-bg:#fcf0da;--red:#d23;--red-bg:#fce6e9;--bg:#f3f5fc;--surface:#fff;--fg:#0a0f22;--muted:#535a73;--border:#e6e9f4;--shadow-sm:0 1px 2px #0a0f220a, 0 10px 30px -16px #0a0f222e;--shadow-md:0 10px 30px -14px #0a0f223d;background-color:var(--paper)}.mono{font-family:var(--mono);letter-spacing:-.01em}.s-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.s-badge .dot{border-radius:50%;flex:none;width:8px;height:8px}.s-badge.red{background:var(--red-bg);color:var(--red)}.s-badge.red .dot{background:var(--red)}.s-badge.yellow{background:var(--yellow-bg);color:var(--yellow)}.s-badge.yellow .dot{background:var(--yellow)}.s-badge.green{background:var(--green-bg);color:var(--green)}.s-badge.green .dot{background:var(--green)}.fleet.wide{max-width:1040px}.mgr-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 12px;margin-bottom:2px;display:flex}.mgr-head h1{letter-spacing:-.02em;color:var(--fg);font-size:1.6rem;font-weight:800}.mgr-head .sub{color:var(--muted);margin-top:3px;font-size:.85rem}.kpis{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;padding:18px 20px;position:relative;overflow:hidden}.kpi-t{color:var(--ink2);align-items:center;gap:7px;font-size:.8rem;font-weight:600;display:flex}.kpi-n{font-family:var(--mono);color:var(--fg);margin-top:10px;font-size:2.1rem;font-weight:700;line-height:1}.kpi-s{color:var(--ink3);margin-top:6px;font-size:.72rem}.kpi-dot{border-radius:50%;flex:none;width:8px;height:8px}.kpi-pill{border-radius:50%;width:10px;height:10px;position:absolute;top:18px;right:18px}.kpi-dot.red,.kpi-pill.red{background:var(--red)}.kpi-dot.yellow,.kpi-pill.yellow{background:var(--yellow)}.kpi-dot.green,.kpi-pill.green{background:var(--green)}.kpi-n.red-n{color:var(--red)}.kpi-n.yellow-n{color:var(--yellow)}.kpi-n.green-n{color:var(--green)}.kpi.feature{background:linear-gradient(135deg, var(--accent), var(--accent-d,#0030cf));color:#fff;border-color:#0000}.kpi.feature .kpi-t,.kpi.feature .kpi-s{color:#ffffffd1}.kpi.feature .kpi-n{color:#fff}@media (width<=1000px){.kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.kpis{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;overflow:hidden}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.card-head h2{margin:0;font-size:1rem;font-weight:700}.card .ftable{box-shadow:none;border:0;border-radius:0}.mgr-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 10px;display:flex}.mgr-toolbar h2{text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);margin:0;font-size:.9rem}.search{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;min-width:220px;padding:4px 12px;display:flex}.search input{background:0 0;border:0;min-height:0;padding:6px 0}.search input:focus{box-shadow:none}.ftable{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.frow{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:6px 110px 1.2fr 1fr 110px 1.3fr 22px;align-items:center;gap:14px;padding:13px 16px;transition:background .15s;display:grid}.frow:last-child{border-bottom:0}.frow:hover{background:#f1f5f9}.frow.head{cursor:default;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);background:#f1f5f9;font-size:.66rem}.fstripe{background:var(--line);border-radius:3px;width:5px;height:30px}.frow.red .fstripe{background:var(--red)}.frow.yellow .fstripe{background:var(--yellow)}.frow.green .fstripe{background:var(--green)}.fplate{font-family:var(--mono);font-size:.95rem;font-weight:700}.fsub{color:var(--ink3);margin-top:2px;font-size:.72rem}.fodo{font-family:var(--mono);font-size:.9rem;font-weight:700}.fworst{color:var(--ink2);font-size:.82rem}.fchev{color:var(--ink3);text-align:center;font-size:1.1rem}@media (width<=640px){.frow{grid-template-columns:6px 1fr auto 22px;gap:10px;padding:12px 14px}.frow .col-driver,.frow .col-odo,.frow .col-worst{display:none}}.scrim{opacity:0;pointer-events:none;z-index:40;background:#0f172a73;transition:opacity .25s;position:fixed;inset:0}.scrim.on{opacity:1;pointer-events:auto}.drawer{background:var(--panel);z-index:50;visibility:hidden;pointer-events:none;flex-direction:column;width:440px;max-width:92vw;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-12px 0 40px -16px #0006}.drawer.on{visibility:visible;pointer-events:auto;transform:none}.drawer-head{border-bottom:1px solid var(--line);padding:20px 22px}.drawer-head .x{float:right;width:34px;height:34px;min-height:0;color:var(--ink2);box-shadow:none;background:#f1f5f9;border:0;padding:0}.drawer-plate{font-family:var(--mono);font-size:1.35rem;font-weight:700}.drawer-meta{color:var(--ink3);margin-top:4px;font-size:.8rem}.drawer-body{flex:1;padding:10px 22px 22px;overflow:auto}.seclbl{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin:12px 0;font-size:.66rem}.ditem{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.ditem:last-child{border-bottom:0}.ditem .nm{font-size:.92rem;font-weight:600}.ditem .me{color:var(--ink3);margin-top:2px;font-size:.75rem}.ditem .rt{text-align:right;font-family:var(--mono);margin-left:auto;font-size:.85rem;font-weight:700}.ditem .rt.red{color:var(--red)}.ditem .rt.yellow{color:var(--yellow)}.ditem .rt.green{color:var(--green)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:Niradei,Noto Sans Khmer,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.8}.app{max-width:540px;padding:16px 16px calc(28px + env(safe-area-inset-bottom));min-height:100vh;margin:0 auto}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.center{flex-direction:column;gap:16px;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.screen{flex-direction:column;gap:16px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:1.3rem;line-height:1.5}h2{margin:4px 0;font-size:1.15rem;line-height:1.5}h3{margin:0 0 4px;font-size:1.05rem;line-height:1.5}.tagline{color:var(--muted);margin:0 0 4px}.notice{color:var(--muted)}.warn-btn{background:var(--primary-50,#ecefff);color:var(--accent,#0039f5);border:1px solid #d7e0ff;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.warn-btn:hover{background:var(--accent,#0039f5);color:#fff;border-color:var(--accent,#0039f5)}.cars-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cars-search{flex:1;min-width:200px;max-width:360px;margin-left:auto}.icon-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:28px;min-width:0;height:28px;color:var(--muted);cursor:pointer;margin-left:auto;padding:0;line-height:1}.icon-btn:hover{color:var(--red);border-color:var(--red)}.form-section{border-top:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:22px 0 4px;padding-top:16px;font-size:.78rem;font-weight:700}.form-section:first-child{border-top:none;margin-top:0;padding-top:0}.regcard-field{border-radius:var(--radius-sm);background:#f5f8ff;border:1px solid #d8e2ff;padding:12px 14px}.regcard-fields{color:var(--muted);font-weight:500}.error{color:var(--red);font-weight:500}.success,.scaffold-note{color:var(--green);font-weight:600}.muted{color:var(--muted)}.code{color:#e2e8f0;border-radius:var(--radius-sm);background:#0f172a;padding:12px 14px;font-size:.85rem;overflow-x:auto}button{border-radius:var(--radius-sm);background:var(--primary);min-height:48px;color:var(--on-primary);cursor:pointer;box-shadow:var(--shadow-sm);border:1px solid #0000;padding:12px 18px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.6;transition:background .15s,box-shadow .15s,transform 50ms,border-color .15s}@media (hover:hover){button:hover{background:var(--primary-600)}}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button:focus-visible{outline:3px solid var(--primary-50);outline-offset:1px}.header-actions button,.link-back{background:var(--surface);color:var(--fg);border-color:var(--border);box-shadow:none;font-weight:500}@media (hover:hover){.header-actions button:hover,.link-back:hover{background:var(--bg);border-color:var(--muted)}}.lang-switcher{background:var(--bg);border:1px solid var(--border);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.lang-switcher button{min-height:0;box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.lang-switcher button:hover{color:var(--fg);background:0 0}.lang-switcher button.active{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px #0a0f221f}.lang-label{line-height:1}.flag{border-radius:3px;width:24px;height:16px;display:block}.link-back{align-self:flex-start;min-height:40px;padding:6px 14px}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--fg);padding:12px 14px;font-family:inherit;font-size:1rem;line-height:1.6;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50);outline:none}.form,.odo-form,.login-form{flex-direction:column;gap:14px;max-width:460px;display:flex}.login-form,.odo-form{gap:12px}.field{flex-direction:column;gap:6px;display:flex}.field label,.form label,.odo-form label,.login-form label{font-size:.95rem;font-weight:600}.login{padding-top:6vh}.form,.login-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);width:100%;padding:16px}@media (width>=820px){.screen-form{width:100%;max-width:none}.form-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px 28px;max-width:none;display:grid}.form-grid>.regcard-field,.form-grid>.notice,.form-grid>.error,.form-grid>button[type=submit]{grid-column:1/-1}.form-grid>button[type=submit]{justify-self:start;min-width:220px}}.big-actions{gap:12px;margin-top:8px;display:grid}.big-action{background:var(--surface);min-height:70px;color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;justify-content:space-between;align-items:center;padding:16px 18px;font-size:1.1rem;font-weight:600;display:flex}.big-action:hover{background:var(--surface);border-color:var(--primary);box-shadow:var(--shadow-md)}.big-action:after{content:"›";color:var(--muted);font-size:1.6rem;font-weight:400;line-height:1}.big-action .soon{color:var(--muted);font-size:.78rem;font-weight:400}.facts{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:0;margin:0;display:grid;overflow:hidden}.facts>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:12px 16px;display:flex}.facts>div:last-child{border-bottom:none}.facts dt{color:var(--muted);margin:0}.facts dd{margin:0;font-weight:600}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:4px;margin-bottom:14px;padding:4px;display:flex}.tabs button{min-height:42px;color:var(--muted);border-radius:var(--radius-sm);box-shadow:none;background:0 0;border:none;flex:auto;padding:8px 12px;font-weight:600}.tabs button:hover{background:var(--bg);color:var(--fg)}.tabs button.active{background:var(--primary);color:var(--on-primary)}.tab-badge{background:var(--red);color:#fff;text-align:center;vertical-align:middle;border-radius:999px;min-width:18px;margin-left:6px;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-block}.status-summary{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600}.pill.red{background:var(--red-bg);color:var(--red);border-color:#0000}.pill.yellow{background:var(--yellow-bg);color:var(--yellow);border-color:#0000}.pill.green{background:var(--green-bg);color:var(--green);border-color:#0000}.vehicle-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.vehicle-card{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}.vehicle-card.red,.vehicle-card.open{border-left-color:var(--red)}.vehicle-card.yellow{border-left-color:var(--yellow)}.vehicle-card.green,.vehicle-card.resolved{border-left-color:var(--green)}.vehicle-card-head{align-items:center;gap:10px;display:flex}.vehicle-card-head strong{font-size:1.05rem}.vehicle-card-head .dot{font-size:.7rem}.vehicle-card-head .vtype{color:var(--muted);margin-left:auto;font-size:.85rem}.vehicle-signals{gap:6px;margin:12px 0 0;display:grid}.vehicle-signals>div{justify-content:space-between;gap:12px;font-size:.95rem;display:flex}.vehicle-signals dt{color:var(--muted);margin:0}.vehicle-signals dd{margin:0;font-weight:600}.vehicle-card button{min-height:40px;padding:8px 14px;font-size:.92rem}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.fleet .cars-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:14px}.fleet .car-card{flex-direction:column;padding:16px 18px;display:flex}.fleet .car-card .vehicle-card-head{border-bottom:1px solid var(--border);gap:9px;margin-bottom:14px;padding-bottom:13px}.fleet .car-card .vehicle-card-head .vtype{background:var(--primary-50);color:var(--primary-600);letter-spacing:.01em;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:.74rem;font-weight:600}.fleet .car-top{align-items:center;gap:10px;display:flex}.fleet .car-id{align-items:center;gap:8px;min-width:0;display:inline-flex}.fleet .car-id strong{text-overflow:ellipsis;font-size:1.15rem;overflow:hidden}.fleet .car-id .hdot{border-radius:50%;flex:none;width:9px;height:9px}.fleet .hdot.red{background:var(--red)}.fleet .hdot.yellow{background:var(--yellow)}.fleet .hdot.green{background:var(--green)}.fleet .op-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:5px 12px;font-size:.8rem;font-weight:600;display:inline-flex;position:relative}.fleet .op-pill .opdot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.fleet .op-pill.op-available{background:var(--green-bg);color:var(--green)}.fleet .op-pill.op-in_use,.fleet .op-pill.op-assigned{background:var(--primary-50);color:var(--primary)}.fleet .op-pill.op-maintenance{background:var(--yellow-bg);color:var(--yellow)}.fleet .op-pill.op-returned{color:#b45309;background:#fdf2e2}.fleet .op-pill.op-out_of_service{color:var(--ink3);background:#eceef4}.fleet .op-pill.editable{cursor:pointer;padding-right:26px}.fleet .op-pill.editable:after{content:"";opacity:.7;pointer-events:none;border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;position:absolute;top:50%;right:11px;transform:translateY(-70%)rotate(45deg)}.fleet .op-pill.editable select{opacity:0;cursor:pointer;appearance:none;border:none;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.fleet .car-sub{color:var(--muted);margin-top:7px;font-size:.85rem}.fleet .car-sub .car-need.red{color:var(--red);font-weight:600}.fleet .car-sub .car-need.yellow{color:var(--yellow);font-weight:600}.fleet .car-divider{background:var(--border);height:1px;margin:13px 0}.fleet .car-driver{align-items:center;gap:8px;display:flex}.fleet .driver-id{flex:1;align-items:center;gap:11px;min-width:0;display:flex;position:relative}.fleet .driver-id .avatar{background:var(--primary-50);width:36px;height:36px;color:var(--primary-600);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.fleet .driver-id .avatar.empty{border:1.5px dashed var(--border);background:0 0}.fleet .driver-id .dinfo{flex-direction:column;min-width:0;display:flex}.fleet .driver-id .dname{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.fleet .driver-id .dname.muted{color:var(--muted);font-weight:500}.fleet .driver-id .dphone{color:var(--ink3);font-size:.78rem}.fleet .driver-id .assign-tag{color:var(--primary);white-space:nowrap;margin-left:auto;font-size:.88rem;font-weight:600}.fleet .driver-id .driver-overlay{opacity:0;cursor:pointer;appearance:none;border:none;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.fleet .car-chev{width:36px;height:36px;min-height:0;box-shadow:none;color:var(--ink3);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:none;place-items:center;padding:0;display:grid}@media (hover:hover){.fleet .car-chev:hover{background:var(--bg);color:var(--fg)}}.check{cursor:pointer;align-items:center;gap:8px;font-weight:500;display:flex}.check input{width:auto;min-height:0}.tbadge,.tstatus{white-space:nowrap;border-radius:99px;padding:2px 9px;font-size:.78rem;font-weight:700;display:inline-block}.tbadge.dispatch{color:#0039f5;background:#e6ecff}.tbadge.emergency{color:#c0341d;background:#fde2e2}.tstatus{margin-left:auto}.tstatus.scheduled{color:#475569;background:#eef1f6}.tstatus.in_use{color:#0039f5;background:#e6ecff}.tstatus.returned{color:#b45309;background:#fdf2e2}.tstatus.completed{color:#16a34a;background:#e7f7ed}.tstatus.cancelled{color:#94a3b8;background:#f1f3f7}.tstatus.requested,.tstatus.approved{color:#475569;background:#eef1f6}.tstatus.rejected{color:#c0341d;background:#fde2e2}.add-cta{margin-bottom:14px}.rec{color:#0039f5;margin-top:6px;font-size:.9rem}.linkbtn{color:#0039f5;cursor:pointer;background:0 0;border:0;min-height:0;padding:0 0 0 8px;font-weight:700;text-decoration:underline}.trip-list{flex-direction:column;gap:10px;display:flex}.trip{background:#fff;border:1px solid #e2e7f5;border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.trip-head{align-items:center;gap:8px;display:flex}.trip-head .cp{font-size:1.1rem;font-weight:700}.trip-meta{color:#5b6680;font-size:.95rem}.trip-note{color:#b45309;font-size:.95rem;font-weight:600}.trip-act{width:100%}.trip-form{flex-direction:column;gap:10px;margin-top:4px;display:flex}.op-tiles{flex-wrap:wrap;gap:10px;margin:4px 0 20px;display:flex}.op-tile{background:#fff;border:1px solid #e2e7f5;border-radius:12px;min-width:100px;padding:10px 16px}.op-tile .n{font-size:1.6rem;font-weight:800;line-height:1}.op-tile .l{color:#5b6680;margin-top:4px;font-size:.8rem}.utbl{flex-direction:column;display:flex}.utrow{border-top:1px solid var(--border);grid-template-columns:1.2fr 1.1fr .8fr 1fr .9fr;align-items:center;gap:8px;padding:13px 18px;font-size:14px;display:grid}.utrow.head{color:#2b3f9e;text-transform:uppercase;letter-spacing:.06em;background:var(--primary-50);border-top:0;border-bottom:1px solid #c9d4f6;padding:14px 18px;font-size:11.5px;font-weight:700}.utrow.head+.utrow{border-top:0}.utrow .idle-warn{color:#c0341d;font-weight:700}.screen.dash{gap:0;width:100%;max-width:1180px;margin:0 auto}.dash button{color:inherit;min-height:0;box-shadow:none;font-size:inherit;font-weight:inherit;line-height:inherit;background:0 0;border:0;border-radius:0;padding:0}.dash .block{margin-bottom:34px;scroll-margin-top:16px}.dash .section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:0 0 14px 2px;font-size:12px;font-weight:600}.dash .dot{border-radius:50%;flex:none;width:11px;height:11px;display:inline-block}.dash .dot.red{background:var(--red)}.dash .dot.yellow{background:var(--yellow)}.dash .dot.green{background:var(--green)}.dash .alert-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.dash .alert-card{text-align:left;background:var(--surface);cursor:pointer;border:1.5px solid #0000;border-radius:12px;padding:24px 26px;transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden;box-shadow:0 4px 16px -4px #0f172a1a}.dash .alert-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px -8px #0f172a2e}.dash .alert-card:before{content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.dash .alert-card.red:before{background:var(--red)}.dash .alert-card.yellow:before{background:var(--yellow)}.dash .alert-card.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50), 0 4px 16px -4px #0f172a1a}.dash .ac-top{align-items:center;gap:9px;margin-bottom:6px;display:flex}.dash .ac-label{color:var(--fg);font-size:15.5px;font-weight:600}.dash .ac-num{font-family:var(--mono);letter-spacing:-.03em;font-size:58px;font-weight:700;line-height:1.02}.dash .alert-card.red .ac-num{color:var(--red)}.dash .alert-card.yellow .ac-num{color:var(--yellow)}.dash .ac-sub{color:var(--muted);margin-top:2px;font-size:13.5px}.dash .ac-cta{color:var(--ink3);opacity:0;align-items:center;gap:5px;font-size:12.5px;font-weight:500;transition:opacity .15s;display:flex;position:absolute;top:24px;right:24px}.dash .alert-card:hover .ac-cta,.dash .alert-card.active .ac-cta{opacity:1}.dash .alert-card.active .ac-cta{color:var(--primary)}.dash .healthy-line{color:var(--ink3);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:7px 4px;font-size:13px;transition:color .15s;display:inline-flex}.dash .healthy-line:hover{color:var(--muted)}.dash .healthy-line.active{color:var(--green);font-weight:500}.dash .healthy-line .dot{width:8px;height:8px}.dash .healthy-line .chev{opacity:.8;font-size:11px}.dash .op-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.dash .op-card{text-align:left;background:var(--surface);cursor:pointer;border:1.5px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:16px 18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 4px 16px -4px #0f172a1a}.dash .op-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px -8px #0f172a29}.dash .op-card.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50), 0 4px 16px -4px #0f172a1a}.dash .oc-ico{border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.dash .op-card.available .oc-ico{color:var(--muted);background:#eef1f8}.dash .op-card.in_use .oc-ico{background:var(--primary-50);color:var(--primary)}.dash .op-card.maintenance .oc-ico{background:var(--yellow-bg);color:var(--yellow)}.dash .op-card.out_of_service .oc-ico{color:var(--ink3);background:#e9ebf2}.dash .oc-body{flex-direction:column;min-width:0;display:flex}.dash .oc-num{font-family:var(--mono);color:var(--fg);font-size:26px;font-weight:700;line-height:1.05}.dash .oc-num.zero{color:var(--ink3)}.dash .oc-lab{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;font-weight:500;overflow:hidden}.dash .op-card.active .oc-lab{color:var(--primary)}.dash .toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.dash .fsearch{flex:1;min-width:240px;max-width:380px;position:relative}.dash .fsearch input{border:1.5px solid var(--border);background:var(--surface);width:100%;height:44px;min-height:0;color:var(--fg);border-radius:10px;outline:none;padding:0 14px 0 40px;font-family:inherit;font-size:14.5px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0f172a0f}.dash .fsearch input::placeholder{color:var(--ink3)}.dash .fsearch input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}.dash .fsearch .ico{color:var(--ink3);pointer-events:none;display:flex;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.dash .filter-btns{gap:8px;display:flex}.dash .fbtn{border:1.5px solid var(--border);background:var(--surface);height:44px;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:9px;padding:0 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0f172a0f}.dash .fbtn:hover{border-color:#cdd4ea}.dash .fbtn.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.dash .fdots{gap:4px;display:inline-flex}.dash .fbtn .dot,.dash .fpill .dot{width:8px;height:8px}.dash .fcount{font-family:var(--mono);color:var(--muted);background:#eef1f8;border-radius:999px;padding:1px 7px;font-size:13px;font-weight:700}.dash .fbtn.active .fcount{color:#fff;background:#ffffff38}.dash .fsum{flex-wrap:wrap;align-items:center;gap:10px;min-height:24px;margin-bottom:14px;display:flex}.dash .fsum .count{color:var(--muted);font-size:13px}.dash .fsum .count b{color:var(--fg);font-weight:600}.dash .fpill{background:var(--primary-50);color:var(--primary);border-radius:999px;align-items:center;gap:7px;padding:4px 6px 4px 12px;font-size:12.5px;font-weight:500;display:inline-flex}.dash .fpill button{width:18px;height:18px;color:var(--primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:13px;line-height:1;display:flex}.dash .fpill button:hover{background:#0039f51f}.dash .fclear{color:var(--ink3);text-underline-offset:2px;cursor:pointer;font-size:12.5px;text-decoration:underline}.dash .fclear:hover{color:var(--muted)}.dash .dd-back{color:var(--muted);cursor:pointer;align-items:center;gap:7px;margin-bottom:12px;padding:6px 0;font-size:14px;font-weight:500;transition:color .15s ease-out;display:inline-flex}.dash .dd-back:hover{color:var(--fg)}.dash .dd-back svg{transform:rotate(180deg)}.dash .dd-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.dash .dd-ico{border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.dash .dd-ico.available{color:var(--muted);background:#eef1f8}.dash .dd-ico.in_use{background:var(--primary-50);color:var(--primary)}.dash .dd-ico.maintenance{background:var(--yellow-bg);color:var(--yellow)}.dash .dd-ico.out_of_service{color:var(--ink3);background:#e9ebf2}.dash .dd-head h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:700}.dash .dd-count{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 11px;font-size:12.5px;font-weight:700}.dash .dd-tools{max-width:380px;margin-bottom:14px;display:flex}.dash .tbl-wrap{background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px -4px #0f172a1a}.dash .tbl-wrap table{border-collapse:collapse;width:100%}.dash .tbl-wrap thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:#2b3f9e;white-space:nowrap;background:var(--primary-50);border-bottom:1px solid #c9d4f6;padding:14px 18px;font-size:11.5px;font-weight:700}.dash .tbl-wrap tbody tr{cursor:pointer;transition:background .12s ease-out}.dash .tbl-wrap tbody tr:hover{background:#f5f8ff}.dash .chev-cell{transition:color .15s ease-out}.dash .chev-cell svg{transition:transform .15s ease-out}.dash .tbl-wrap tbody tr:hover .chev-cell{color:var(--primary)}.dash .tbl-wrap tbody tr:hover .chev-cell svg{transform:translate(2px)}.dash .tbl-wrap tbody tr:hover .cell-plate{color:var(--primary)}.dash .tbl-wrap tbody tr:not(:last-child) td{border-bottom:1px solid var(--border)}.dash .tbl-wrap tbody td{vertical-align:middle;height:56px;padding:13px 18px;font-size:14px}.dash .cell-plate{font-family:var(--mono);color:var(--fg);font-size:14.5px;font-weight:700}.dash .cell-odo{font-family:var(--mono);color:var(--muted);font-size:14px}.dash .cell-driver{color:var(--fg)}.dash .cell-driver.none{color:var(--ink3)}.dash .maint-cell{align-items:center;gap:8px;display:inline-flex}.dash .maint-cell .ml{font-size:13.5px;font-weight:600}.dash .maint-cell.red .ml{color:var(--red)}.dash .maint-cell.yellow .ml{color:var(--yellow)}.dash .maint-cell.green .ml{color:var(--ink3);font-weight:500}.dash .urgent{font-size:13.5px}.dash .urgent .uk{color:var(--fg);font-weight:500}.dash .urgent .ud{color:var(--muted)}.dash .urgent.red .ud{color:var(--red);font-weight:500}.dash .urgent.yellow .ud{color:var(--yellow);font-weight:500}.dash .urgent.green{color:var(--ink3)}.dash .urgent.green .uk{color:var(--ink3);font-weight:400}.dash .urgent.green .ud{color:var(--ink3)}.dash .chev-cell{text-align:right;color:var(--ink3);width:40px}.dash .opchip-sm{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 11px 3px 9px;font-size:12.5px;font-weight:500;display:inline-flex}.dash .opchip-sm .e{opacity:.85;display:flex}.dash .op-garage{color:var(--muted);background:#eef1f8}.dash .op-onduty{background:var(--primary-50);color:var(--primary)}.dash .op-maint{color:#4a527a;background:#eaedf7}.dash .op-out{color:var(--fg);background:#e2e5ef}.dash .empty{text-align:center;color:var(--ink3);padding:54px 20px}.dash .empty .big{color:var(--muted);margin-bottom:4px;font-size:15px;font-weight:500}.dash .dr-overlay{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);opacity:0;pointer-events:none;z-index:40;background:#0a0f2257;transition:opacity .22s;position:fixed;inset:0}.dash .dr-overlay.open{opacity:1;pointer-events:auto}.dash .vdrawer{background:var(--surface);z-index:41;flex-direction:column;width:440px;max-width:92vw;transition:transform .26s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-12px 0 40px -12px #0f172a47}.dash .vdrawer.open{transform:translate(0)}.dash .dr-head{border-bottom:1px solid var(--border);padding:22px 24px 18px}.dash .dr-top{justify-content:space-between;align-items:flex-start;display:flex}.dash .dr-plate{font-family:var(--mono);letter-spacing:-.01em;font-size:24px;font-weight:700}.dash .dr-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:#f3f5fc;border-radius:9px;justify-content:center;align-items:center;display:flex}.dash .dr-close:hover{color:var(--fg);background:#e6e9f4}.dash .dr-badges{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.dash .maint-badge{border-radius:999px;align-items:center;gap:7px;padding:4px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.dash .mb-red{background:var(--red-bg);color:var(--red)}.dash .mb-yellow{background:var(--yellow-bg);color:var(--yellow)}.dash .mb-green{background:var(--green-bg);color:var(--green)}.dash .dr-meta{border-bottom:1px solid var(--border);padding:16px 24px;display:flex}.dash .dr-meta .m{flex:1}.dash .dr-meta .ml{text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);font-size:11.5px;font-weight:600}.dash .dr-meta .mv{margin-top:3px;font-size:15px}.dash .dr-meta .mv.mono{font-weight:700}.dash .dr-body{flex:1;padding:20px 24px;overflow-y:auto}.dash .dr-body h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin:0 0 12px;font-size:12px;font-weight:600}.dash .vdrawer .item{border-bottom:1px solid var(--border);gap:12px;padding:13px 0;display:flex}.dash .vdrawer .item:last-child{border-bottom:none}.dash .vdrawer .item .idot{margin-top:6px}.dash .vdrawer .item .in{flex:1}.dash .vdrawer .item .iname{font-size:14.5px;font-weight:600}.dash .vdrawer .item .isub{color:var(--ink3);margin-top:2px;font-size:12.5px}.dash .vdrawer .item .inote{white-space:nowrap;font-size:13px;font-weight:600}.dash .vdrawer .item.red .inote{color:var(--red)}.dash .vdrawer .item.yellow .inote{color:var(--yellow)}.dash .vdrawer .item.green .inote{color:var(--green)}@media (width<=720px){.dash .alert-grid{grid-template-columns:1fr}.dash .ac-num{font-size:48px}.dash .op-grid{grid-template-columns:1fr 1fr;gap:10px}.dash .tbl-wrap thead{display:none}.dash .tbl-wrap table,.dash .tbl-wrap tbody{display:block}.dash .tbl-wrap{box-shadow:none;background:0 0;border-radius:0;overflow:visible}.dash .tbl-wrap tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 12px;margin-bottom:10px;padding:14px 16px;display:grid;box-shadow:0 2px 8px -5px #0f172a2e}.dash .tbl-wrap tbody tr:last-child{margin-bottom:0}.dash .tbl-wrap tbody tr:not(:last-child) td{border-bottom:none}.dash .tbl-wrap tbody td{height:auto;padding:0;display:block}.dash .cell-plate{overflow-wrap:anywhere;grid-area:1/1;min-width:0;font-size:16px}.dash .cell-op{grid-area:1/2;justify-self:end}.dash .cell-maint{grid-area:2/1}.dash .cell-worst{grid-area:3/1/auto/-1}.dash .cell-driver,.dash .cell-odo,.dash .chev-cell{display:none}}button.secondary{background:var(--surface);color:var(--fg);border-color:var(--border);box-shadow:none;font-weight:500}button.secondary:hover{background:var(--bg);border-color:var(--muted)}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;margin-left:auto;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.badge.open{background:var(--red-bg);color:var(--red);border-color:#0000}.badge.resolved,.badge.green{background:var(--green-bg);color:var(--green);border-color:#0000}.badge.manager{background:var(--primary-50);color:var(--primary-600);border-color:#0000}.incident-note{white-space:pre-wrap;margin:10px 0}.incident-photo{border-radius:var(--radius-sm);border:1px solid var(--border);max-width:100%;max-height:260px;display:block}.incident-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:.9rem;display:flex}.brand{align-items:center;gap:8px;display:inline-flex}.logo{color:var(--primary);flex:none}.brand-img{object-fit:contain;border-radius:50%;flex:none}.login{gap:18px;padding-top:4vh}.login-lang{justify-content:flex-end;display:flex}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:4px;margin:4px 0;display:flex}.login-brand h1{font-size:1.55rem}.login-brand .tagline{margin:0}.login-brand .logo{background:var(--primary-50);box-sizing:content-box;border-radius:50%;padding:14px}.app.has-bottom-nav{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.bottom-nav{z-index:30;background:var(--surface);border-top:1px solid var(--border);width:100%;max-width:540px;padding:6px 8px calc(8px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 14px #0f172a0f}.nav-item{min-height:54px;box-shadow:none;color:var(--muted);background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 4px;font-weight:600;display:flex}.nav-item:hover{background:var(--bg)}.nav-item.active{color:var(--primary)}.nav-icon{display:inline-flex;position:relative}.nav-label{font-size:.72rem;line-height:1.3}.nav-badge{background:var(--red);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.64rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-10px}.input-icon{position:relative}.input-icon>svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-icon input{padding-left:40px}.input-icon.with-eye input{padding-right:50px}.masked{-webkit-text-security:disc;text-security:disc}.input-eye{width:44px;height:44px;min-height:0;box-shadow:none;color:var(--muted);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-eye:hover,.input-eye:active{background:var(--bg)}.login-foot{text-align:center;flex-direction:column;gap:4px;margin-top:4px;display:flex}.login-foot p{color:var(--muted);margin:0;font-size:.85rem}.login-foot .muted-sm{opacity:.75;font-size:.78rem}.fleet .apphead{justify-content:space-between;align-items:center;gap:12px;margin:2px 0 14px;display:flex}.fleet .apphead .hi{color:var(--ink3);font-size:.78rem}.fleet .apphead .nm2{font-size:1.2rem;font-weight:800}.fleet .avatar{background:var(--ink);width:40px;height:40px;color:var(--paper);font-family:var(--mono);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.fleet .myhead{justify-content:space-between;align-items:center;margin:4px 2px 8px;display:flex}.fleet .myttl{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);font-size:1.15rem;font-weight:700}.fleet .mycnt{font-family:var(--mono);color:var(--accent);font-size:.9rem;font-weight:700}.fleet .vswitch{gap:8px;margin:0 0 6px;padding:2px 0 6px;display:flex;overflow-x:auto}.fleet .vchip{background:var(--panel);border:1px solid var(--line);min-height:0;box-shadow:none;color:var(--fg);border-radius:12px;flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.fleet .vchip.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.fleet .vchip.on .cp{color:var(--accent)}.fleet .vchip.on .ct{color:var(--ink2)}.fleet .vchip-body{text-align:left;line-height:1.2}.fleet .cdot{border-radius:50%;flex:none;width:9px;height:9px}.fleet .cdot.red{background:var(--red)}.fleet .cdot.yellow{background:var(--yellow)}.fleet .cdot.green{background:var(--green)}.fleet .cp{font-size:.8rem;font-weight:700;display:block}.fleet .ct{color:var(--ink3);font-size:.66rem}.fleet .myveh{color:#fff;border-radius:18px;padding:18px}.fleet .myveh.red{background:linear-gradient(135deg,#e0432f,#a8240f)}.fleet .myveh.yellow{background:linear-gradient(135deg,#e8920c,#b36a00)}.fleet .myveh.green{background:linear-gradient(135deg,#2b8a3e,#1c5e2b)}.fleet .myveh-lab{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.9;font-size:.66rem}.fleet .myveh-pl{margin-top:2px;font-size:1.7rem;font-weight:700}.fleet .myveh-ty{opacity:.85;margin-top:2px;font-size:.78rem}.fleet .myveh-od{justify-content:space-between;align-items:flex-end;margin-top:16px;display:flex}.fleet .myveh-od small{opacity:.8;text-transform:uppercase;letter-spacing:.05em;font-size:.66rem;display:block}.fleet .myveh-od .k{font-size:1.3rem;font-weight:700}.fleet .myveh-badge{color:#fff;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#ffffff2e;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.66rem;font-weight:700;display:inline-flex}.fleet .myveh-alarm{background:#ffffff29;border-radius:10px;margin-top:12px;padding:9px 11px;font-size:.8rem;font-weight:600}.fleet .quick{grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0;display:grid}.fleet .qa{background:var(--panel);border:1px solid var(--line);min-height:0;box-shadow:none;color:var(--fg);border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:12px 4px;display:flex}.fleet .qa .qi{font-size:1.3rem}.fleet .qa .ql{color:var(--ink2);text-align:center;font-size:.7rem;font-weight:600;line-height:1.25}.fleet .blocktitle{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin:14px 2px 8px;font-size:.66rem}.fleet .duecard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.fleet .due{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:12px 14px;display:flex}.fleet .due:last-child{border-bottom:0}.fleet .due-body{min-width:0}.fleet .due-nm{font-size:.85rem;font-weight:600}.fleet .due-me{color:var(--ink3);margin-top:1px;font-size:.7rem}.fleet .due .s-badge{flex:none;margin-left:auto}.fleet .seclbl-row{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);justify-content:space-between;margin:4px 2px;font-size:.66rem;display:flex}.fleet .seclbl-row .hint{color:var(--accent)}.fleet .opt-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}@media (width>=760px){.fleet .sched-grid{grid-template-columns:1fr 1fr}}.fleet .log-grid,.fleet .log-pane{flex-direction:column;gap:14px;display:flex}@media (width>=900px){.fleet .log-form{max-width:none}.fleet .log-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px 28px;display:grid}}.fleet .opt{background:var(--panel);border:1.5px solid var(--line);min-height:0;box-shadow:none;color:var(--fg);text-align:left;border-radius:13px;align-items:center;gap:11px;padding:12px 13px;display:flex}.fleet .opt.sel{border-color:var(--accent);background:var(--accent-soft)}.fleet .opt-check{border:2px solid var(--line);color:#fff;background:#fff;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;display:grid}.fleet .opt.sel .opt-check{background:var(--accent);border-color:var(--accent)}.fleet .opt-body{min-width:0}.fleet .opt-nm{font-size:.88rem;font-weight:600;display:block}.fleet .opt-me{color:var(--ink3);font-size:.68rem}.fleet .opt .s-badge{flex:none;margin-left:auto}.fleet .field-row{gap:11px;display:flex}.fleet .field-row .field{flex:1;min-width:0}@media (width<=520px){.fleet .field-row{flex-direction:column;gap:13px}}.fleet input[type=date]{appearance:none;text-align:left;min-width:0;max-width:100%}.fleet input[type=date]::-webkit-date-and-time-value{text-align:left}.fleet .summary-box{border:1.5px solid var(--accent);background:#fff;border-radius:13px;padding:13px 15px}.fleet .summary-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:8px;font-size:.66rem}.fleet .summary-row{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:5px 0;font-size:.8rem;display:flex}.fleet .summary-row:last-child{border-bottom:0}.fleet .done-screen{text-align:center;align-items:center;padding-top:24px}.fleet .done-ring{background:var(--green-bg);width:84px;height:84px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto;font-size:2.4rem;display:grid}.fleet .reset-list{background:var(--panel);border:1px solid var(--line);border-radius:13px;width:100%;padding:4px 14px}.fleet .reset-row{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:.82rem;display:flex}.fleet .reset-row:last-child{border-bottom:0}.fleet .reset-row .mono{color:var(--green);font-weight:700}.fleet .allveh{flex-direction:column;gap:9px;display:flex}.fleet .vrow{background:var(--panel);border:1px solid var(--line);border-radius:13px;align-items:center;gap:11px;padding:11px 13px;display:flex}.fleet .vrow.mine{border-color:var(--accent);background:var(--accent-soft)}.fleet .vrow-body{min-width:0}.fleet .vrow-pl{align-items:center;gap:7px;font-size:.85rem;font-weight:700;display:flex}.fleet .vrow-ty{color:var(--ink3);font-size:.7rem}.fleet .mine-tag{font-family:var(--mono);background:var(--accent);color:#fff;letter-spacing:.04em;border-radius:5px;padding:2px 6px;font-size:.6rem}.fleet .vrow-open{min-height:0;margin-left:auto;padding:7px 14px;font-size:.82rem}.fleet .vrow-lock{color:var(--ink3);white-space:nowrap;margin-left:auto;font-size:.72rem}.app-header.header-menu{justify-content:flex-start;gap:10px}.fleet .menu-btn{background:var(--surface);width:40px;height:40px;min-height:0;color:var(--fg);border:1px solid var(--border);box-shadow:none;place-items:center;padding:0;display:grid}.fleet .menu-btn:hover{background:var(--bg)}.menu-drawer{background:var(--panel);z-index:50;flex-direction:column;width:300px;max-width:86vw;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:12px 0 40px -16px #0006}.menu-drawer.on{transform:none}.menu-drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.menu-drawer-head strong{font-size:1.05rem}.menu-drawer-head .x{width:34px;height:34px;min-height:0;color:var(--ink2);box-shadow:none;background:#f1f5f9;border:0;padding:0}.menu-drawer-body{flex-direction:column;gap:18px;padding:18px 20px;display:flex}.menu-section{flex-direction:column;gap:8px;display:flex}.menu-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);font-size:.66rem}.tg-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--fg);justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-weight:500;text-decoration:none;display:flex}.tg-link:hover{background:var(--bg)}.tg-link-inline{min-height:38px;padding:6px 12px;font-size:.9rem;display:inline-flex}.admin{background:var(--bg);min-height:100vh;color:var(--fg);display:flex}.sidebar{background:linear-gradient(180deg, var(--accent), var(--accent-d,#0030cf));color:#fff;flex-direction:column;flex:none;width:248px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:4px 8px 18px;display:flex}.sidebar-brand strong{color:#fff;font-size:1.05rem;line-height:1.2}.sidebar-nav{flex:1;overflow-y:auto}.nav-group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#ffffff8c;padding:14px 10px 6px;font-size:.6rem}.nav-link{width:100%;min-height:0;box-shadow:none;color:#ffffffd1;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;margin:2px 0;padding:11px 12px;font-size:.92rem;font-weight:600;display:flex}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link.active{color:var(--accent);background:#fff}.nav-link .nav-count{background:var(--red);color:#fff;min-width:20px;height:20px;font-family:var(--mono);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 7px;font-size:.7rem;font-weight:700;display:inline-flex}.sidebar-foot{flex-direction:column;gap:6px;margin-top:auto;display:flex}.sidebar-user{background:#ffffff1a;border-radius:12px;align-items:center;gap:11px;padding:11px;display:flex}.sidebar-user .av{width:36px;height:36px;color:var(--accent);font-family:var(--mono);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.sidebar-user .nm{color:#fff;font-size:.82rem;font-weight:700;line-height:1.2}.sidebar-user .rl{color:#ffffffb3;font-size:.72rem}.sidebar-signout{color:#ffffffe6;width:100%;min-height:0;box-shadow:none;background:#ffffff14;border:1px solid #ffffff2e;padding:9px;font-size:.85rem;font-weight:600}.sidebar-signout:hover{background:#ffffff29}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-top{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 28px;display:flex;position:sticky;top:0}.admin-head{flex-direction:column;display:flex}.admin-crumb{color:var(--ink3);font-size:.72rem}.admin-burger{background:var(--surface);border:1px solid var(--border);width:40px;height:40px;min-height:0;color:var(--fg);box-shadow:none;place-items:center;padding:0;display:none}.admin-title{letter-spacing:-.02em;font-size:1.4rem;font-weight:800;line-height:1.25}.admin-top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.admin-content{flex:1;padding:26px 28px 60px}.admin-scrim{display:none}@media (width<=900px){.sidebar{z-index:50;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:8px 0 30px -12px #0f172a66}.sidebar.open{transform:none}.admin-burger{display:inline-grid}.admin-scrim{z-index:40;background:#0f172a73;display:block;position:fixed;inset:0}.admin-top{padding:14px 18px}.admin .admin-title{font-size:1.3rem;line-height:1.5}}.admin .sidebar-brand strong{font-size:1.35rem}.admin .nav-group-label{font-size:.78rem}.admin .nav-link{font-size:1.2rem}.admin .nav-count{font-size:.9rem}.admin .sidebar-user .av{font-size:1rem}.admin .sidebar-user .nm{font-size:1.05rem}.admin .sidebar-user .rl{font-size:.92rem}.admin .sidebar-signout{font-size:1.1rem}.admin .admin-crumb{font-size:.92rem}.admin .admin-title{font-size:1.85rem}.admin .kpi-t{font-size:1.05rem}.admin .kpi-n{font-size:2.7rem}.admin .kpi-s{font-size:.95rem}.admin .card-head h2{font-size:1.3rem}.admin .frow.head{font-size:.85rem}.admin .fplate{font-size:1.25rem}.admin .fodo{font-size:1.15rem}.admin .fworst{font-size:1.05rem}.admin .fsub{font-size:.95rem}.admin .search,.admin .search input{font-size:1rem}.admin .notice,.admin .vehicle-card-head strong,.admin .field label,.admin .row-actions button{font-size:1.05rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.admin .kpis,.admin .card,.admin .vehicle-list,.admin .form{animation:.4s both rise}.admin .kpi,.admin .card,.admin .vehicle-card{transition:transform .15s,box-shadow .15s}.admin .kpi:hover,.admin .vehicle-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.admin .card:hover{box-shadow:var(--shadow-md)}
