@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/build/assets/barlow-vietnamese-400-normal-BFeobeCK.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/build/assets/barlow-latin-ext-400-normal-CvBsJvxq.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/build/assets/barlow-latin-400-normal-fsAxiSwU.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:Barlow;font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/barlow-vietnamese-400-italic-BadtuaKt.woff2)format("woff2"),url(/build/assets/barlow-vietnamese-400-italic-h5SLTWmb.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:Barlow;font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/barlow-latin-ext-400-italic-BALf98tD.woff2)format("woff2"),url(/build/assets/barlow-latin-ext-400-italic-DW2GD2EY.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:Barlow;font-style:italic;font-display:swap;font-weight:400;src:url(/build/assets/barlow-latin-400-italic-BjGuzOss.woff2)format("woff2"),url(/build/assets/barlow-latin-400-italic-B9FqDUoy.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/build/assets/barlow-vietnamese-500-normal-GNfB7rCE.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/build/assets/barlow-latin-ext-500-normal-CJPcKP2Q.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/build/assets/barlow-latin-500-normal-C1h8hMer.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/barlow-semi-condensed-vietnamese-500-normal-DGADhYWF.woff2)format("woff2"),url(/build/assets/barlow-semi-condensed-vietnamese-500-normal-hJ2t9k9e.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2"),url(/build/assets/barlow-semi-condensed-latin-ext-500-normal-rZeYuEMb.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(/build/assets/barlow-semi-condensed-latin-500-normal-CFOoVYFH.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(/build/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(/build/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/build/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.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}:root{--accent:#ffc629;--ground:#060b16;--ink:#eef3fb;--ink-2:#c9d6ee;--ink-3:#a9b8d3;--panel:#0d172eb8;--panel-line:#a0b9e62e;--field-line:#a0b9e63d;--field-bg:#060b1899;--error:#ff9a8d;--error-line:#ff7a6b;--plate:#ffd21f;--status-active:#3ccb7f;--status-expiring:#f5a623;--status-expired:#ff6b5e;--on-accent:#0b1220;--display:"Barlow Semi Condensed", system-ui, sans-serif;--body:"Barlow", system-ui, sans-serif}.screen *{box-sizing:border-box}.screen input::placeholder{color:#8496b5}.screen input:focus-visible,.screen button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.screen{background:var(--ground);min-height:100vh;color:var(--ink);font-family:var(--body);flex-direction:column;justify-content:space-between;gap:32px;display:flex;position:relative;overflow:hidden}.map,.fleet,.shade{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.street{fill:none;stroke:#15223f;stroke-width:4px}.avenue{fill:none;stroke:#24365f;stroke-width:9px}.avenue--main{stroke:#2a3f6e;stroke-width:12px}.water{fill:#0b2242;stroke:#1b3a66;stroke-width:1.5px}.park{fill:#0e2a29;stroke:#174340;stroke-width:1.5px}.label{font:500 13px var(--body);letter-spacing:.04em;fill:#8fa5d1;text-anchor:middle;paint-order:stroke;stroke:var(--ground);stroke-width:3px}.label--water{font:italic 400 12px var(--body);letter-spacing:0;fill:#5f8fcb;stroke:none}.label--park{font:italic 400 12px var(--body);letter-spacing:0;fill:#58a39a;stroke:none}.label--zone{font:500 15px var(--display);letter-spacing:.32em;fill:#5e739f}.shade{background:radial-gradient(130% 100% at 50% 40%,#060b1600 55%,#060b1699 100%),linear-gradient(#060b1600 66%,#060b16e0)}.top{flex-direction:column;gap:20px;padding:24px 28px 0;display:flex;position:relative}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;min-height:44px;display:flex}.brand{font:600 17px var(--display);letter-spacing:.08em;align-items:center;gap:10px;display:flex}.brand__dot{background:var(--accent);border-radius:50%;width:9px;height:9px}.host{color:var(--ink-3);font-size:13px}.user{color:var(--ink-2);align-items:center;gap:16px;font-size:14px;display:flex}.btn-ghost{height:44px;color:var(--ink);font:600 14px var(--display);letter-spacing:.02em;cursor:pointer;background:#0d172e99;border:1px solid #a0b9e659;border-radius:9px;padding:0 18px}.panel{background:var(--panel);border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(14px)}.vehicles{border-radius:14px;flex-direction:column;align-self:flex-start;gap:10px;padding:14px 16px;animation:.6s .25s both rise;display:flex}.vehicles h2{font:400 13px var(--body);color:var(--ink-3);margin:0}.plates{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.plate{font:600 14px var(--display);letter-spacing:.08em;color:#10131a;background:var(--plate);border-left:3px solid var(--plate-status,var(--status-expired));border-radius:5px;align-items:center;gap:7px;padding:3px 10px;display:inline-flex}.plate__code{letter-spacing:.08em}.plate__status{font:500 11px var(--body);letter-spacing:.02em;color:#2a2e14;opacity:.85;text-transform:lowercase}.plate__dot{background:var(--plate-status,var(--status-expired));border-radius:50%;flex:none;width:9px;height:9px}.plate[data-status=active],.plate-legend__item[data-status=active]{--plate-status:var(--status-active)}.plate[data-status=expiring],.plate-legend__item[data-status=expiring]{--plate-status:var(--status-expiring)}.plate[data-status=expired],.plate-legend__item[data-status=expired],.plate[data-status=none],.plate-legend__item[data-status=none]{--plate-status:var(--status-expired)}.plate-legend{flex-wrap:wrap;gap:6px 14px;margin:2px 0 0;padding:0;list-style:none;display:flex}.plate-legend__item{font:400 11.5px var(--body);color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}.alert{border-left:3px solid var(--status-expired);border-radius:14px;flex-direction:column;align-self:stretch;gap:10px;padding:14px 16px;animation:.6s .15s both rise;display:flex}.alert[data-clear=true]{border-left-color:var(--status-active)}.alert__head{align-items:center;gap:10px;display:flex}.alert__head h2{font:500 14px var(--body);color:var(--ink);margin:0}.alert__dot{background:var(--status-expired);border-radius:50%;width:9px;height:9px}.alert[data-clear=true] .alert__dot{background:var(--status-active)}.alert__count{background:var(--status-expired);min-width:26px;color:var(--on-accent);font:600 13px var(--display);text-align:center;border-radius:999px;margin-left:auto;padding:1px 8px}.alert[data-clear=true] .alert__count{background:var(--status-active)}.alert__clear{color:var(--ink-3);margin:0;font-size:13px}.alert__plates{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.contracts{border-radius:14px;flex-direction:column;align-self:stretch;gap:12px;padding:14px 16px;animation:.6s .3s both rise;display:flex}.contracts__head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contracts h2{font:400 13px var(--body);color:var(--ink-3);margin:0}.contracts__filter{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.contracts__filter span{color:var(--ink-3);font-size:12.5px}.contracts select{border:1px solid var(--field-line);background:var(--field-bg);height:40px;color:var(--ink);font:400 14px var(--body);border-radius:9px;padding:0 10px}.contracts__form{border:1px solid var(--panel-line);background:var(--field-bg);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px;display:flex}.contracts__form .field{flex:140px}.contracts__notes{flex:2 240px}.contracts__actions{align-items:flex-end;gap:10px;display:flex}.contracts__actions .btn{flex:none}.contracts__hint{color:var(--ink-3);margin:0;font-size:13px}.contract-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.contract{border-left:3px solid var(--contract-status,var(--status-expired));color:var(--ink-2);background:#060b1866;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 12px;font-size:13.5px;display:flex}.contract__dot{background:var(--contract-status,var(--status-expired));border-radius:50%;flex:none;width:9px;height:9px}.contract__plate{font:600 13px var(--display);letter-spacing:.08em;color:#10131a;background:var(--plate);border-radius:5px;padding:2px 8px}.contract__client{color:var(--ink);font-weight:500}.contract__dates{color:var(--ink-3);font-size:12.5px}.contract__state{color:var(--ink-3);margin-left:auto;font-size:12px}.contract__ops{gap:10px;display:inline-flex}.btn-link{cursor:pointer;color:var(--accent);font:500 13px var(--body);background:0 0;border:0;padding:0;text-decoration:underline}.contract[data-status=upcoming]{--contract-status:var(--ink-3)}.contract[data-status=active]{--contract-status:var(--status-active)}.contract[data-status=expiring]{--contract-status:var(--status-expiring)}.contract[data-status=expired]{--contract-status:var(--status-expired)}.bottom{justify-content:center;padding:0 28px 32px;display:flex;position:relative}.dock{width:100%;max-width:860px}.login{flex-direction:column;gap:14px;display:flex}.account{align-items:center;gap:12px;padding:0 4px;display:flex}.account__logo{width:40px;height:40px;font:600 15px var(--display);letter-spacing:.04em;color:var(--accent);background:#0d172e99;border:1px solid #a0b9e659;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.account__logo img{object-fit:cover;width:100%;height:100%}.account h1{font:600 21px/1.15 var(--display);margin:0}.account p{color:var(--ink-3);margin:2px 0 0;font-size:13.5px}.form{flex-direction:column;gap:4px;margin:0;display:flex}.bar{border-radius:16px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px;display:flex}.field{flex-direction:column;flex:4 220px;gap:6px;min-width:0;display:flex}.field span{color:var(--ink-3);font-size:12.5px;font-weight:500}.field input{border:1px solid var(--field-line);background:var(--field-bg);width:100%;height:44px;color:var(--ink);font:400 15px var(--body);border-radius:9px;padding:0 14px}.btn{background:var(--accent);height:44px;color:var(--on-accent);font:600 15px var(--display);letter-spacing:.02em;cursor:pointer;border:0;border-radius:9px;flex:120px;padding:0 22px}.btn:disabled{opacity:.75;cursor:progress}.below{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 20px;padding:0 6px;display:flex}.remember{min-height:44px;color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.remember input{width:16px;height:16px;accent-color:var(--accent);margin:0}.error{color:var(--error);padding:8px 0;font-size:13px;font-weight:500}.error:empty{display:none}.command{flex-direction:column;gap:10px;padding-bottom:12px;animation:.6s both rise;display:flex}.command__bar{border-radius:16px;align-items:center;gap:12px;padding:10px 14px 10px 10px;display:flex}.mic{background:var(--accent);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.mic svg{fill:none;stroke:var(--on-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.command input{min-width:0;height:44px;color:var(--ink);font:400 16px var(--body);background:0 0;border:0;flex:200px;padding:0 4px}.command p{color:var(--ink-3);margin:0;padding:0 8px;font-size:13px}.screen[data-phase=in] .login,.screen[data-phase=in] .host,.screen:not([data-phase=in]) .user,.screen:not([data-phase=in]) .alert,.screen:not([data-phase=in]) .vehicles,.screen:not([data-phase=in]) .contracts,.screen:not([data-phase=in]) .command{display:none}.screen[data-phase=error] .field input{border-color:var(--error-line)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen *{animation:none!important}}
