@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/roboto-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F;}
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/roboto-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/roboto-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F;}
@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/roboto-cyrillic-500-normal.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
:root{color-scheme:light;--bg:#f7f7fb;--panel:#fff;--raised:#edeef5;--text:#171820;--muted:#5d6270;--primary:#5c50cf;--container:#e6e1ff;--on-container:#201a52;--mint:#006c58;--cyan:#006684;--danger:#ba1a1a;--outline:#c9cbd6;--veil:247,247,251;--ambient:url('/assets/backgrounds/ambient_day_02.webp');font-family:Roboto,Arial,sans-serif;font-synthesis:none}
:root[data-theme=dark]{color-scheme:dark;--bg:#090b10;--panel:#12151d;--raised:#191d27;--text:#f4f5fa;--muted:#a7adbd;--primary:#8a7cff;--container:#29264b;--on-container:#e5e0ff;--mint:#5ce1b9;--cyan:#59d9ff;--danger:#ff6b79;--outline:#343947;--veil:9,11,16;--ambient:url('/assets/backgrounds/ambient_night_02.webp')}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer;color:inherit;background:none;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}button svg,nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:600}h2{font-size:22px;font-weight:600}h3{font-size:15px;font-weight:500}p{font-size:14px;line-height:1.55;color:var(--muted)}small{font-size:11px;color:var(--muted)}.shell{min-height:100dvh;padding:env(safe-area-inset-top) 0 calc(84px + env(safe-area-inset-bottom));background:linear-gradient(rgba(var(--veil),.30),rgba(var(--veil),.70) 35%,rgba(var(--veil),.96) 75%),var(--ambient) center top/cover fixed}.content{max-width:1160px;margin:auto;padding:0 20px 36px}header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 0 10px;min-height:76px}header .vehicle-name{display:flex;align-items:center;gap:6px;font-size:24px;font-weight:600;text-align:left;min-width:0;max-width:60%}.vehicle-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:4px}.icon-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%}.pill{font-size:11px;font-weight:600;background:var(--raised);color:var(--muted);padding:7px 10px;border-radius:30px;white-space:nowrap}.pill.online{color:var(--mint);background:color-mix(in srgb,var(--mint) 12%,var(--panel))}.hero{border-radius:32px;overflow:hidden;background:linear-gradient(color-mix(in srgb,var(--container) 28%,transparent),color-mix(in srgb,var(--raised) 14%,transparent),transparent)}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px 8px 0}.metric{height:43px;border-radius:14px;background:color-mix(in srgb,var(--panel) 74%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden}.metric strong{font-size:12px;font-weight:500;white-space:nowrap}.metric small{font-size:10px}.car-stage{aspect-ratio:2.4;position:relative;touch-action:pan-y}.car-stage img{height:100%;width:100%;object-fit:contain;padding:0 44px;user-select:none;-webkit-user-drag:none}.tire{position:absolute;padding:5px 7px;min-width:45px;background:color-mix(in srgb,var(--panel) 78%,transparent);border-radius:12px;display:flex;flex-direction:column;font-size:11px;gap:2px}.tire strong{font-size:12px;font-weight:500}.tire.fl{left:8px;top:4px}.tire.fr{right:8px;top:4px}.tire.rl{left:8px;bottom:4px}.tire.rr{right:8px;bottom:4px}.bottom-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:9px 12px;gap:5px}.bottom-metrics>div{display:flex;flex-direction:column;gap:3px}.bottom-metrics>div:nth-child(2){text-align:center}.bottom-metrics>div:last-child{text-align:right}.bottom-metrics strong{font-size:13px;font-weight:600}.panel{background:color-mix(in srgb,var(--panel) 94%,transparent);border-radius:24px;padding:18px;margin-top:14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.panel-heading p{font-size:12px;margin-top:2px}.chip{border-radius:100px;background:var(--container);color:var(--on-container);padding:9px 14px;font-size:13px;font-weight:600;min-height:36px}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.control{display:flex;align-items:center;min-height:66px;padding:10px 11px;border-radius:16px;background:color-mix(in srgb,var(--raised) 72%,var(--panel));gap:9px;text-align:left}.control:last-child:nth-child(odd){grid-column:1/-1}.control .glyph{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 13%,transparent);color:var(--primary);flex-shrink:0}.control svg{height:19px;width:19px}.control strong{font-size:13px;font-weight:600;display:block}.control small{display:block;margin-top:3px;line-height:1.3}.state-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--outline) 35%,transparent);font-size:13px}.state-row:last-child{border:0}.state-row span:last-child{color:var(--muted);text-align:right}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(18px);padding:8px 4px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:center;border-top:1px solid color-mix(in srgb,var(--outline) 25%,transparent)}.tabs button{flex:1;max-width:100px;display:flex;align-items:center;flex-direction:column;gap:4px;font-size:10px;color:var(--muted);padding:0}.tabs .nav-icon{width:48px;height:32px;border-radius:24px;display:grid;place-items:center}.tabs button[aria-current=page]{color:var(--text);font-weight:600}.tabs button[aria-current=page] .nav-icon{background:var(--container);color:var(--on-container)}.demo-banner{background:var(--container);color:var(--on-container);text-align:center;font-size:11px;padding:7px 12px}.login{max-width:420px;min-height:100dvh;margin:auto;padding:80px 28px 36px;display:flex;flex-direction:column;justify-content:center;gap:20px;text-align:center}.login .brand-icon{width:80px;height:80px;align-self:center;border-radius:20px}.login .login-car{width:100%;max-height:160px;object-fit:contain}.primary{background:var(--primary);color:#fff;border-radius:100px;padding:14px 20px;font-weight:600;min-height:48px}.secondary{border:1px solid var(--outline);border-radius:100px;padding:12px 20px;min-height:46px}.empty{text-align:center;padding:38px 16px;display:flex;align-items:center;flex-direction:column;gap:16px}.empty>svg{height:48px;width:48px;stroke:var(--primary);fill:none;stroke-width:1.4}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--outline) 25%,transparent)}.settings-row:last-child{border:0}.settings-row p{font-size:12px;margin-top:3px}.theme-options{display:flex;gap:6px;margin-top:12px}.theme-options button{flex:1}.theme-options .active{background:var(--primary);color:#fff}input,select{background:var(--raised);color:var(--text);border:1px solid var(--outline);border-radius:12px;padding:12px;font-size:16px;width:100%;margin-top:8px}label{font-size:13px}dialog{color:var(--text);background:var(--panel);border:0;border-radius:28px;padding:24px;width:calc(100% - 32px);max-width:460px;max-height:85dvh;overflow:auto}dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin-bottom:12px}dialog p{margin:10px 0}.dialog-actions{display:flex;flex-direction:column;gap:9px;margin-top:20px}.command-list{display:grid;gap:9px}.command-list button{text-align:left;padding:14px;background:var(--raised);border-radius:14px;min-height:48px}#toast{position:fixed;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);border-radius:14px;padding:12px 18px;font-size:13px;max-width:calc(100% - 32px);width:max-content;z-index:100;display:none}#toast.visible{display:block}.notice{border-radius:16px;padding:12px 14px;background:var(--container);color:var(--on-container);font-size:13px;line-height:1.5;margin:10px 0}.vehicle-option{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border-radius:16px;background:var(--raised);margin-top:10px;text-align:left}.vehicle-option img{width:100px}.vehicle-option strong{display:block}.map-link{display:block;text-align:center;color:white;text-decoration:none;margin-top:18px}.loading{opacity:.55}.error{color:var(--danger)}.hold{user-select:none;-webkit-user-select:none;touch-action:none}.hold.holding{background:var(--mint)}@media(min-width:820px){.dashboard{display:grid;grid-template-columns:1.12fr .88fr;gap:14px;align-items:start}.dashboard>.panel{margin-top:0}.hero{margin-top:0}.car-stage{min-height:210px}}@media(max-width:359px){.content{padding-left:12px;padding-right:12px}.metric strong{font-size:10px}.control{padding:10px 8px}.tabs button{font-size:9px}.bottom-metrics strong{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.material-icon{fill:currentColor!important;stroke:none!important}.map-canvas{height:52dvh;min-height:280px;border-radius:20px;margin:14px 0;isolation:isolate}.leaflet-container{font-family:Roboto,Arial,sans-serif}.car-marker{background:var(--primary);color:white;border:3px solid white;border-radius:50%;display:grid;place-items:center;box-shadow:0 3px 12px #0004}.car-marker svg{width:24px;height:24px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-grid img{width:100%;border-radius:12px}.photo-full{width:100%;border-radius:12px}.day-select{margin-bottom:14px}

[hidden]{display:none!important}fieldset{border:1px solid var(--outline);border-radius:12px;margin:14px 0;padding:10px}legend{font-size:12px}.weekdays{display:flex;justify-content:space-between;gap:4px}.weekdays label{display:grid;text-align:center;gap:6px}input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--primary)}.scenario-actions{display:grid;gap:14px;margin:14px 0}.scenario-actions label,summary label{display:flex;gap:10px;align-items:center}details{margin:12px 0;padding:10px;background:var(--raised);border-radius:12px}.condition{display:grid;gap:8px;margin:12px 0}dialog>label,dialog>div>label{display:block;margin:12px 0}

.model-choice{border:0;padding:0;display:flex;gap:12px;width:100%;margin:16px 0}.model-choice legend{width:100%;text-align:center;margin-bottom:12px}.model-choice label{flex:1;cursor:pointer}.model-choice input{position:absolute;opacity:0;width:1px;height:1px}.model-choice span{display:block;padding:14px;border:2px solid #d6d3ef;border-radius:16px;font-weight:600}.model-choice input:checked+span{border-color:#6251ce;background:#eeebff;color:#4432a2}.model-choice input:focus-visible+span{outline:3px solid #6251ce;outline-offset:3px}.model-choice:disabled{opacity:.7}
