@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:#0a40ff;--primary-600:#0a33cc;--primary-50:#eaeeff;--on-primary:#fff;--green:#15803d;--green-bg:#dcfce7;--yellow:#b45309;--yellow-bg:#fef3c7;--red:#dc2626;--red-bg:#fee2e2;--bg:#fafbfc;--surface:#fff;--fg:#0f172a;--muted:#64748b;--border:#e5e9f0;--radius:12px;--radius-sm:10px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 16px -4px #0f172a1a;--mono:"Space Mono", ui-monospace, "SFMono-Regular", monospace}.fleet{--paper:#f7f8fa;--panel:#fff;--ink:#0f172a;--ink2:#475569;--ink3:#64748b;--line:#e6e8ec;--accent:#0a40ff;--accent-soft:#eaeeff;--primary:#0a40ff;--primary-600:#0a33cc;--primary-50:#eaeeff;--on-primary:#fff;--green:#15803d;--green-bg:#dcfce7;--yellow:#b45309;--yellow-bg:#fef3c7;--red:#dc2626;--red-bg:#fee2e2;--bg:#f7f8fa;--surface:#fff;--fg:#0f172a;--muted:#64748b;--border:#e6e8ec;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 16px -4px #0f172a1a;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{gap:10px;display:flex}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:86px;box-shadow:var(--shadow-sm);flex-direction:column;gap:5px;padding:11px 16px;display:flex}.kpi .n{font-family:var(--mono);color:var(--fg);font-size:1.5rem;font-weight:700;line-height:1}.kpi .l{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;font-size:.66rem;display:flex}.kpi .l:before{content:"";border-radius:50%;flex:none;width:7px;height:7px}.kpi.red .n{color:var(--red)}.kpi.red .l:before{background:var(--red)}.kpi.yellow .n{color:var(--yellow)}.kpi.yellow .l:before{background:var(--yellow)}.kpi.green .n{color:var(--green)}.kpi.green .l:before{background:var(--green)}.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;flex-direction:column;width:440px;max-width:92vw;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-12px 0 40px -16px #0006}.drawer.on{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)}.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}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}.lang-switcher button,.header-actions button,.link-back{background:var(--surface);color:var(--fg);border-color:var(--border);box-shadow:none;font-weight:500}.lang-switcher button:hover,.header-actions button:hover{background:var(--bg);border-color:var(--muted)}.lang-switcher{gap:6px;display:inline-flex}.lang-switcher button{align-items:center;min-height:38px;padding:5px 8px;display:inline-flex}.lang-switcher button.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-50)}.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}.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}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{flex-direction:column;gap:8px;display:flex}.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}
