@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";.vehicle-editor{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box;padding:max(20px,env(safe-area-inset-top)) 22px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;border:0;border-left:1px solid #38383e;border-radius:0;background:#141417;color:#eee}.vehicle-editor::backdrop{background:#0009}.vehicle-editor[open]{animation:vehicle-editor-in .3s ease-out}.vehicle-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.vehicle-editor-heading h2{font-size:17px;margin:0}.vehicle-editor-heading .icon-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;font-size:25px}.vehicle-editor-identity{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;margin:18px 0;border-bottom:1px solid #333;padding-bottom:16px}.vehicle-editor .vehicle-color{padding:12px 0}.vehicle-editor .vehicle-color label{font-size:14px}.vehicle-editor .vehicle-color input{width:54px;height:40px}@keyframes vehicle-editor-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:600px){.vehicle-editor{inset:0;width:100%;border:0}}@media(prefers-reduced-motion:reduce){.vehicle-editor[open]{animation:none}}.device-edit-form{display:grid;gap:18px;margin:18px 0}.device-edit-field{position:relative;margin:0!important}.device-edit-field>span{position:absolute;left:11px;top:-7px;padding:0 4px;background:#141417;color:#aaa;font-size:11px;line-height:14px}.device-edit-field input,.device-edit-field select,.device-attributes textarea{width:100%;min-width:0;padding:12px;border:1px solid #414148;border-radius:4px;background:#202024;color:#eee;font:inherit;font-size:14px;min-height:48px}.device-edit-field input[readonly]{color:#999}.device-attributes summary{cursor:pointer;margin-bottom:12px;font-size:14px}.device-attributes label{font-size:12px;color:#aaa}.device-attributes textarea{resize:vertical;min-height:160px;font:12px/1.5 monospace;margin-top:8px}.device-edit-form p{font-size:13px;line-height:1.5;margin:0}.device-attribute-fields{display:grid;gap:18px;margin-top:18px}.device-attributes .device-edit-field>span{font-size:11px}.device-attributes input,.device-attributes select{font-family:inherit}.vehicle-editor-controls>.vehicle-color{display:none!important}.device-attributes>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:44px;margin:0}.device-attributes>summary::-webkit-details-marker{display:none}.device-attributes>summary::marker{content:""}.device-attributes>summary>svg{width:21px;height:21px;flex-shrink:0;color:#aaa}.device-attributes>summary>span:nth-child(2){flex:1}.device-attributes-arrow{font-size:24px;line-height:1;color:#aaa;transition:transform .2s}.device-attributes[open]>summary .device-attributes-arrow{transform:rotate(90deg)}.settings-section h3{display:flex;align-items:center;gap:9px;margin:8px 0 18px;font-size:15px;color:#ddd}.settings-section h3 svg{width:21px;height:21px;color:#aaa}.settings-server-field{display:block!important;position:relative;margin:0!important}.settings-server-field>span{position:absolute;top:-7px;left:11px;padding:0 4px;background:#141417;font-size:11px;line-height:14px;color:#aaa}.settings-server-field input{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #414148;border-radius:4px;background:#202024;color:#eee;font:inherit;font-size:14px}.settings-save{width:100%;min-height:46px;padding:10px;border:1px solid #505058;border-radius:4px;background:#303037;color:#eee;font:inherit;font-weight:600;margin-top:12px}.settings-details-back{display:flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:#ddd;font:inherit;font-weight:600;margin-bottom:16px}.settings-record{padding:14px 0;border-bottom:1px solid #ffffff18;color:#eee;overflow-wrap:anywhere}.settings-details p{font-size:13px;line-height:1.5}.settings-add{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 18px;padding:10px 22px;min-height:44px;border:1px solid #505058;border-radius:4px;background:#303037;color:#eee;font:inherit}.settings-record{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-record>span{min-width:0}.settings-edit{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;padding:0;border:1px solid #414148;border-radius:4px;background:#202024;color:#ddd}.entity-edit-form{display:grid;gap:18px;margin-top:18px}.entity-edit-form .device-edit-field{display:block;position:relative}.entity-edit-form input,.entity-edit-form select,.entity-edit-form textarea{width:100%;min-width:0;padding:12px;border:1px solid #414148;border-radius:4px;background:#202024;color:#eee;font:inherit;font-size:14px}.entity-edit-form textarea{resize:vertical}.entity-edit-form input[readonly]{color:#999}.menu-section-panel:has(.settings-subpanel){overflow:hidden}.settings-subpanel{position:absolute;inset:0;padding:max(20px,env(safe-area-inset-top)) 22px calc(20px + env(safe-area-inset-bottom));background:#141417;overflow-y:auto;overflow-x:hidden;transform:translate(100%);visibility:hidden;transition:transform .3s ease,visibility .3s;z-index:2}.settings-subpanel.is-open{transform:translate(0);visibility:visible}.settings-subpanel-header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.settings-subpanel-header h3{flex:1;margin:0;font-size:16px;min-width:0}.settings-subpanel-header .settings-details-back{margin:0;width:32px;font-size:26px}.settings-subpanel-header .settings-add{margin:0;padding:8px 12px;flex-shrink:0;gap:6px;font-size:14px}.settings-record-actions{display:flex;gap:6px;flex-shrink:0}.entity-links{padding:12px 0;border-bottom:1px solid #333}.entity-links summary{cursor:pointer;font-size:15px}.entity-link-row{display:flex;align-items:center;gap:10px;padding:10px 0;color:#ddd;font-size:14px}.entity-link-row input{width:18px;height:18px;accent-color:#85283d;flex-shrink:0}.entity-link-search{width:100%;padding:10px;border:1px solid #414148;background:#202024;color:#eee;font:inherit}.entity-links p{font-size:13px;line-height:1.5}@media(prefers-reduced-motion:reduce){.settings-subpanel{transition:none}}.settings-subpanel .entity-link-row{margin:0;padding:6px 0;min-height:36px;font-weight:400;line-height:1.4}.entity-link-row input{margin:0}.entity-link-count{float:right;min-width:25px;padding:2px 7px;margin-left:10px;border-radius:12px;background:#303037;color:#ccc;font-size:12px;text-align:center}.entity-links summary{line-height:24px}.entity-link-search{margin:8px 0;min-height:42px}.entity-link-picker{position:relative;margin-top:10px;padding:8px;border:1px solid #414148;border-radius:5px;background:#202024}.entity-link-chips{display:flex;flex-wrap:wrap;gap:6px}.entity-link-chip{display:flex;align-items:center;gap:6px;max-width:100%;padding:4px 5px 4px 9px;border:1px solid #4a4a53;border-radius:4px;background:#303037;color:#eee;font-size:12px;line-height:1.4}.entity-link-chip>span{min-width:0;overflow-wrap:anywhere}.entity-link-chip button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;padding:0;border:0;background:transparent;color:#bbb;font-size:21px}.entity-link-picker .entity-link-search{margin:4px 0 0;border:0;background:transparent;padding:7px 3px;min-height:36px;outline-offset:0}.entity-link-options{max-height:240px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #414148;padding:5px 0;margin-top:4px;font-size:13px;color:#aaa}.entity-link-option{display:block;width:100%;padding:9px 4px;margin:0;border:0;border-radius:3px;background:transparent;color:#eee;text-align:left;font:inherit;font-size:13px;line-height:1.4}.entity-link-option:hover{background:#ffffff08}.settings-list-search{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0 12px;min-height:46px;border:1px solid #414148;border-radius:4px;background:#202024;color:#aaa}.settings-list-search svg{width:20px;height:20px;flex-shrink:0}.settings-list-search input{width:100%;min-width:0;padding:12px 0;border:0;background:transparent;color:#eee;font:inherit;font-size:14px}.settings-list-search input:focus{outline:none}.settings-list-search:focus-within{border-color:#a36a78}.settings-search-clear{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;padding:0;border:0;background:transparent;color:#bbb;font-size:24px;line-height:1}.settings-list-search input::-webkit-search-cancel-button{-webkit-appearance:none}.settings-list-search input,.settings-list-search input:focus,.settings-list-search input:focus-visible{border:0!important;border-radius:0;outline:none!important;box-shadow:none!important;background:transparent}.entity-links>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:28px}.entity-links>summary::-webkit-details-marker{display:none}.entity-links>summary::marker{content:""}.entity-links>summary>svg{width:21px;height:21px;flex-shrink:0;color:#aaa}.entity-link-category{flex:1;min-width:0}.entity-links .entity-link-count{float:none;margin:0;padding:0;min-width:0;border-radius:0;background:transparent;color:#aaa;font-size:13px;font-variant-numeric:tabular-nums}.entity-link-arrow{color:#aaa;font-size:24px;line-height:1;transition:transform .2s}.entity-links[open]>summary .entity-link-arrow{transform:rotate(90deg)}.settings-subpanel{display:flex;flex-direction:column;overflow:hidden;z-index:4}.settings-subpanel-header{flex:0 0 auto;background:#141417;position:relative;z-index:1}.settings-subpanel-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.settings-subpanel-close{flex-shrink:0}.settings-subpanel-content .settings-subpanel{position:absolute}.chip-picker>.entity-link-picker{margin-top:0;padding-top:12px}.chip-picker>span{z-index:1}.entity-edit-form .chip-picker input.entity-link-search{min-height:36px;padding:7px 3px;border:0;border-radius:0;box-shadow:none;background:transparent}.chip-picker .entity-link-chips button{min-height:0}.settings-notification-description{display:flex;flex-direction:column;gap:5px;line-height:1.4}.settings-notification-description strong{font-size:15px;font-weight:600}.settings-notification-description div{font-size:12px;color:#ddd;overflow-wrap:anywhere}.settings-notification-description div>span{color:#999}.attribute-usage-card{margin:10px 0;padding:12px;border:1px solid #414148;border-radius:6px;background:linear-gradient(135deg,#26171e,#19191d)}.attribute-usage-card summary{cursor:pointer;font-size:14px;font-weight:600;overflow-wrap:anywhere}.attribute-usage-card p{font-size:12px;color:#bbb;overflow-wrap:anywhere}.attribute-usage-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#ddd}.attribute-usage-device{display:flex;flex-direction:column;gap:4px;padding:9px 0;border-top:1px solid #ffffff12;overflow-wrap:anywhere}.attribute-usage-device strong{font-size:13px;font-weight:500}.attribute-usage-device small,.attribute-usage-source{font-size:12px;color:#bc8c9a}.language-option{display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer}.language-option input{width:18px;height:18px;accent-color:#98384b}.settings-language-form fieldset{border:1px solid #414148;border-radius:6px;padding:12px 16px}.settings-language-form legend{padding:0 6px}.device-attribute-filter{margin:0 0 14px;padding:12px;border:1px solid #ffffff26;border-radius:10px;display:grid;gap:10px;min-width:0}.device-attribute-filter[hidden]{display:none}.device-attribute-filter label{display:grid;gap:6px}.device-attribute-filter input,.device-attribute-filter select{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #ffffff30;border-radius:7px;background:#17171c;color:inherit;font:inherit}.device-attribute-filter small{opacity:.7}.device-attribute-filter p{margin:0}.device-attribute-value{display:block;margin-top:5px;overflow-wrap:anywhere;opacity:.75}.profile-form,.profile-password-form{display:grid;gap:18px}.profile-form h3{font-size:14px;margin:4px 0 0;color:#bbb}.profile-field{position:relative;display:block;margin:0!important}.profile-field>span{position:absolute;left:11px;top:-7px;padding:0 4px;background:#141417;color:#aaa;font-size:11px;line-height:14px}.profile-field input{width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #414148;border-radius:4px;background:#202024;color:#eee;font:inherit;font-size:15px}.profile-field input[readonly]{color:#aaa}.profile-save{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid #505058;border-radius:4px;background:#303037;color:#eee;font:inherit;font-weight:600}.profile-form p,.profile-password-form p{margin:0;font-size:13px;line-height:1.5;color:#ccc}.profile-password{margin:22px 0;border-top:1px solid #333;padding-top:16px}.profile-password summary{cursor:pointer;color:#ddd;font-size:15px;min-height:32px}.profile-password-form{margin-top:18px}.vehicle-alarms{position:absolute;top:10px;left:60px;right:60px;z-index:3;display:flex;gap:8px;align-items:flex-start;padding:6px 8px 28px;overflow-x:auto;scrollbar-width:none;background:none;pointer-events:auto}.vehicle-alarms[hidden]{display:none}.vehicle-alarms::-webkit-scrollbar{display:none}.vehicle-alarm{position:relative;flex:0 0 40px;width:40px;height:40px;padding:9px;border:2px solid #782735;border-radius:50%;color:#e49aa4;background:radial-gradient(circle at 35% 22%,#3f3f47,#19191f 75%);box-shadow:0 2px 5px #0008,inset 0 1px 1px #ffffff26;cursor:pointer}.vehicle-alarm svg{display:block;width:100%;height:100%}.vehicle-alarm span{display:none}.vehicle-alarm.is-expanded{flex-basis:auto;width:auto;display:flex;align-items:center;gap:7px;border-radius:20px}.vehicle-alarm.is-expanded svg{width:18px;flex-shrink:0}.vehicle-alarm.is-expanded span{display:block;white-space:nowrap;font-size:10px}.vehicle-alarm:focus-visible{outline:2px solid #e49aa4;outline-offset:2px}.vehicle-alarms>:first-child{margin-left:auto}.vehicle-alarms>:last-child{margin-right:auto}.vehicle-alarm{color:#eeeaee}.vehicle-alarm .accent{stroke:#ed7987}.vehicle-alarm[data-kind=state]{border-color:#326847}.vehicle-alarm[data-kind=state] .accent{stroke:#7fd49b}.vehicle-alarm:has(.alarm-button-image){padding:0}.alarm-button-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}.vehicle-alarm.is-expanded:has(.alarm-button-image){padding:3px 8px 3px 3px;gap:7px}.vehicle-alarm.is-expanded .alarm-button-image{width:30px;height:30px;flex-shrink:0}.vehicle-alarm:has(>.vehicle-motion-icon):not(.is-expanded){padding:4px}.vehicle-alarm[data-event=cruiseControl]:not(.is-expanded){padding:3px}.vehicle-alarm[data-event=cruiseControl].is-expanded svg{width:28px;height:28px}.alarm-button-image[src="/markers/powercut_info.png"]{background:#fff}.vehicle-alarm[data-event=parkingBrake],.vehicle-alarm[data-event=footBrake]{border-color:#bc3549;color:#fff}.vehicle-alarm[data-event=parkingBrake]:not(.is-expanded),.vehicle-alarm[data-event=footBrake]:not(.is-expanded){padding:4px}.vehicle-alarm[data-event=parkingBrake].is-expanded svg,.vehicle-alarm[data-event=footBrake].is-expanded svg{width:28px;height:28px}.vehicle-engine-load{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:7px;min-width:75px;height:40px;padding:5px 10px 9px;border:2px solid var(--engine-load-color,#398357);border-radius:20px;color:#f5f5f8;background:radial-gradient(circle at 35% 22%,#303139,#19191f 75%);box-shadow:0 2px 5px #0008;font-variant-numeric:tabular-nums}.vehicle-engine-load svg{width:23px;height:23px;flex-shrink:0}.vehicle-engine-load b{font-size:13px;font-weight:600;white-space:nowrap}.engine-load-track{position:absolute;bottom:5px;left:12px;right:12px;height:2px;background:#555861;border-radius:2px;overflow:hidden}.engine-load-track i{display:block;height:100%;width:var(--engine-load,0%);background:var(--engine-load-color,#398357);transition:width .4s,background-color .4s}@media(prefers-reduced-motion:reduce){.engine-load-track i{transition:none}}.vehicle-alarm[data-event=unloading] svg{color:#ff4055;animation:unloading-fade 1.6s ease-in-out infinite}@keyframes unloading-fade{0%,to{opacity:1}50%{opacity:.25}}.vehicle-alarm[data-event=pto]:not(.is-expanded){padding:2px}.vehicle-alarm[data-event=pto].is-expanded svg{width:30px;height:30px}@media(prefers-reduced-motion:reduce){.vehicle-alarm[data-event=unloading] svg{animation:none}}#vehicle-visual:has(.map-overlay:not(.route-overlay).is-open):not(:has(.route-overlay.is-open))>.vehicle-alarms{z-index:6}#vehicle-visual:has(.route-overlay.is-open)>.vehicle-alarms{z-index:3;pointer-events:none}.position-overlay{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.position-overlay.is-open{z-index:6}.position-drawer{position:absolute;top:0;bottom:0;right:0;width:100%;transform:translate(100%);transition:transform .35s cubic-bezier(.22,.7,.25,1)}.position-overlay.is-open .position-drawer{transform:translate(0)}.position-panel{height:100%;display:flex;flex-direction:column;background:linear-gradient(145deg,#25252bf5,#101014fa);border-left:1px solid #ffffff19;box-shadow:-4px 0 14px #0005;pointer-events:none}.position-overlay.is-open .position-panel{pointer-events:auto}.position-panel header{padding:16px;font-size:16px;border-bottom:1px solid #ffffff15;color:#eee}.position-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 18px 24px 48px;touch-action:pan-y}.position-scroll dl{margin:0}.position-scroll dl>div{padding:12px 0;border-bottom:1px solid #ffffff0e}.position-scroll dt{font-size:13px;line-height:1.5;color:#b9b9c3;overflow-wrap:anywhere}.position-scroll dd{margin:4px 0 0;color:#eee;font-size:16px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-user-select:text;user-select:text}.position-empty{font-size:15px;color:#aaa}.position-overlay .position-toggle{top:118px;transition:left .35s cubic-bezier(.22,.7,.25,1),border-radius .35s;right:auto;left:-36px}.position-overlay.is-open .position-toggle{left:0;border-radius:0 28px 28px 0;border-left:0;border-right:1px solid #ffffff19;flex-direction:row-reverse;padding:2px 5px 2px 2px}@media(prefers-reduced-motion:reduce){.position-drawer{transition:none}}#vehicle-visual:has(.position-overlay.is-open){height:var(--position-view-height,70dvh);min-height:0}.position-tabs{display:flex;flex-shrink:0;border-bottom:1px solid #ffffff19;padding:0;gap:0}.position-tabs button{flex:1;min-width:0;border:0;border-bottom:2px solid transparent;background:transparent;color:#aeb0bb;padding:0;min-height:56px;border-radius:0;font:inherit;font-size:14px;cursor:pointer}.position-tabs button[aria-selected=true]{color:#fff;border-bottom-color:#c6566b;background:#ffffff08}.position-tabs button:focus-visible{outline:2px solid #d38b99;outline-offset:-2px}.position-events-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;color:#bbb;font-size:12px}.position-events-tools[hidden]{display:none}.position-events-tools button{border:1px solid #ffffff26;border-radius:9px;padding:7px 10px;background:#303139;color:#eee;font:inherit}.position-event{padding:14px 0;border-bottom:1px solid #ffffff16}.position-event strong{display:block;font-size:14px;color:#eee}.position-event time{display:block;font-size:12px;color:#aaa;margin-top:4px}.position-event pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.5 monospace;color:#b9efcd;margin:10px 0 0}.position-event p{font-size:12px;overflow-wrap:anywhere;color:#ccc}.position-event.is-command{border-left:3px solid #65ad80;padding-left:10px}.position-scroll:focus-visible{outline:1px solid #ffffff44;outline-offset:-1px}.position-tabs button+button{border-left:1px solid #ffffff12}.position-scroll dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(50px,40%);gap:16px;align-items:center}.position-scroll dt>span{display:block;color:#ddd}.position-scroll dt>small{display:block;font-size:11px;color:#858894;margin-top:3px}.position-scroll dd{text-align:right;margin:0;font-size:15px}.position-event-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#9295a1}.position-event-top time{margin:0;font-size:11px;white-space:nowrap}.position-event-body{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:7px}.position-event-body strong{line-height:1.5}.position-event-icons{display:flex;gap:6px;flex-shrink:0;color:#d5a4ae}.position-event-icons svg,.position-event-icons img{width:32px;height:32px;object-fit:contain;display:block}.position-event-icons .accent{stroke:#c74b62}.position-event-fuel{color:#e9c28c!important;line-height:1.6;margin:7px 0 0}.position-overlay:not(.is-open) .position-panel{box-shadow:none}.position-scroll dl>div.position-tell-tale{grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.position-tell-tale>dd{font-size:12px;white-space:nowrap;overflow-wrap:normal;padding-top:1px}.position-tell-tale>.tell-tale-statuses{grid-column:1/-1;margin:0}.position-scroll .tell-tale-statuses>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:6px 0;align-items:baseline}.position-scroll .tell-tale-statuses dt{font-size:13px}.position-scroll .tell-tale-statuses dd{font-size:14px;white-space:normal}.tell-tale-statuses>p{font-size:13px;color:#dd9d8a;line-height:1.5;margin:4px 0}.tell-tale-indicator{display:inline-grid;place-items:center;width:32px;height:32px;color:#858894;vertical-align:middle}.tell-tale-indicator svg{width:26px;height:26px}.tell-tale-indicator[data-code="1"]{color:#f06476}.tell-tale-indicator[data-code="2"]{color:#efbd56}.tell-tale-indicator[data-code="3"]{color:#71b9ed}.tell-tale-indicator[data-code="7"]{color:#858894;opacity:.65}.tell-tale-indicator:focus-visible{outline:1px solid currentColor;border-radius:5px}.position-scroll .tell-tale-statuses>.tell-tale-legend{font-size:11px;color:#aeb0ba;line-height:1.5;margin:0 0 6px}.position-overlay .tell-tale-toggle{top:226px}.position-overlay .tell-tale-toggle[hidden]{display:none}.tell-tale-alert{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;border:1px solid #19191f;display:none}.tell-tale-toggle[data-severity=red] .tell-tale-alert{display:block;background:#f06476}.tell-tale-toggle[data-severity=yellow] .tell-tale-alert{display:block;background:#efbd56}.position-overlay.is-open.tell-tale-mode .position-toggle:not(.tell-tale-toggle),.position-overlay.is-open:not(.tell-tale-mode) .tell-tale-toggle{visibility:hidden}.position-panel>.position-tabs[hidden],.position-panel>header[hidden]{display:none}.tell-tale-alert{animation:tell-tale-pulse 1.8s ease-in-out infinite}@keyframes tell-tale-pulse{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.tell-tale-alert{animation:none}}.tell-tale-mode .position-panel>header{box-sizing:border-box;flex-shrink:0;min-height:56px;padding:16px 52px;text-align:center;overflow-wrap:anywhere}.report-form{display:grid;gap:14px}.report-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#c5c3cb;margin:0}.report-form input,.report-form select{width:100%;min-width:0;max-width:100%;padding:10px;background:#202024;border:1px solid #414148;border-radius:4px;color:#eee;font:inherit;color-scheme:dark}.report-show{width:100%;border:1px solid #414148;background:#202024;margin:0}.report-status{margin:0;font-size:13px;line-height:1.5}.report-results{margin-top:18px;font-size:13px}.report-result{border-top:1px solid #34343a;padding:12px 0}.report-result h3{margin:0 0 12px;font-size:15px}.report-result dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px;margin:0}.report-result dt{color:#aaa}.report-result dd{margin:0;text-align:right;overflow-wrap:anywhere}.report-form{gap:12px}.report-form .report-float{position:relative;display:block;margin:0;padding:0;min-width:0}.report-floating-label{position:absolute;left:11px;top:-7px;z-index:1;padding:0 4px;background:#141417;color:#aaa;font-size:11px;line-height:14px;pointer-events:none}.report-form .report-float>select,.report-picker-trigger{width:100%;min-height:48px;padding:13px 12px 10px;border:1px solid #414148;border-radius:4px;background:#202024;color:#eee;font:inherit;font-size:14px;text-align:left}.report-picker-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:28px}.report-picker-trigger:after{content:"⌄";position:absolute;right:11px;top:15px;color:#aaa}.report-picker-popup{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;padding:10px;border:1px solid #414148;background:#202024;border-radius:4px;box-shadow:0 8px 20px #0005}.report-picker-options{max-height:220px;overflow-y:auto;overflow-x:hidden;margin-top:8px;overscroll-behavior:contain}.report-form .report-picker-options label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px 2px;line-height:1.4}.report-form .report-picker-options input{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:#85283d}.report-range-popup{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding-top:18px}.report-range-popup .report-floating-label{background:#202024}.report-range-popup input{min-height:46px;font-size:14px}.report-range-done{min-height:40px;border:1px solid #414148;border-radius:4px;background:#303037;color:#eee;font:inherit}.report-results .trip-metrics{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:10px;margin:0 0 12px}.trip-metrics>div{min-width:0}.trip-metrics dt{font-size:11px;line-height:1.4;margin-bottom:4px;color:#aaa}.report-results .trip-metrics dd{margin:0;text-align:left;line-height:1.45;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.trip-metrics small{display:block;font-size:10px;color:#aaa;margin-top:4px}.trip-summary{padding:12px 0;border:1px solid #34343a;background:#202024;border-radius:4px;margin-bottom:14px}.trip-summary h3{margin:0 12px 12px;font-size:14px}.trip-summary .trip-metrics{margin:0}.report-result .trip-addresses{grid-template-columns:24px minmax(0,1fr);gap:6px;font-size:12px;line-height:1.4}.report-result .trip-addresses dd{text-align:left}.report-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.report-result-heading h3{margin:0;min-width:0}.report-replay{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #414148;border-radius:4px;background:#202024;color:#ddd}.report-replay svg{width:22px;height:22px}.report-result .trip-endpoint{display:block;margin:0 0 12px}.trip-endpoint dt,.trip-travel-metrics dt{display:flex;align-items:center;gap:5px}.trip-endpoint svg{width:20px;height:20px;flex-shrink:0}.trip-travel-metrics svg{width:15px;height:15px;flex-shrink:0}.report-result .trip-endpoint dd{text-align:left;margin-top:4px;line-height:1.5}.trip-endpoint-address{color:#aaa;font-size:12px;margin-top:2px}.trip-travel-metrics dt{align-items:flex-start}.trip-travel-metrics dt span{overflow-wrap:normal}.trip-travel-metrics dd{font-size:12px}.trip-endpoint dt{flex-wrap:wrap}.trip-endpoint dt time{color:#eee;font-size:13px;margin-left:4px;font-variant-numeric:tabular-nums}.report-result .trip-endpoint dd{margin-top:2px}.trip-endpoint-address{margin-top:0}.trip-icon-start,.trip-icon-fuel{color:#398357}.trip-icon-end{color:#b45161}.trip-icon-distance{color:#6699bf}.trip-icon-time{color:#bba263}.trip-icon-consumption{color:#b58a5f}.trip-metric-button{display:flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;max-width:100%}.trip-metric-tooltip{position:fixed;inset:auto;margin:0;padding:8px 12px;border:1px solid #50505a;border-radius:5px;background:#303037;color:#eee;font-size:13px;max-width:calc(100vw - 16px);box-shadow:0 4px 14px #0006}.trip-travel-metrics dd{cursor:pointer}@media(max-width:600px){.trip-metric-button span{display:none}.trip-metric-button{width:100%;min-height:26px;justify-content:center}.trip-travel-metrics .trip-icon{width:23px;height:23px}.report-results .trip-travel-metrics{gap:8px}.report-results .trip-travel-metrics dt{justify-content:center;margin-bottom:2px}.report-results .trip-travel-metrics dd{text-align:center;font-size:clamp(11px,3.1vw,14px);line-height:1.4;overflow-wrap:normal;white-space:nowrap}}.trip-endpoint dt .trip-endpoint-odometer{margin-left:auto;text-align:right;white-space:nowrap;color:#eee;font-size:13px;font-variant-numeric:tabular-nums}.trip-endpoint dt time{min-width:0}.report-exports{display:flex;gap:10px;margin-top:18px}.report-exports button{flex:1;min-height:44px;padding:8px;border:1px solid #414148;border-radius:4px;background:#202024;color:#eee;font:inherit;font-size:14px}.report-exports button{display:flex;align-items:center;justify-content:center;gap:8px}.report-exports .export-icon{width:22px;height:22px;flex-shrink:0}.export-icon-xlsx{color:#4baf79}.export-icon-csv{color:#6ea9d3}.export-icon-pdf{color:#d86a72}.stop-period{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;font-size:12px;line-height:1.5}.stop-period>div:last-child{text-align:right}.stop-period span{color:#aaa}.stop-address{color:#aaa;font-size:13px;line-height:1.5;margin:8px 0 12px}.stop-period time{white-space:nowrap}.trip-icon-engine{color:#b58a5f}.stop-address-label{color:#aaa}.stop-address-value{color:#eee}.report-form .report-show{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border:1px solid #505058;border-radius:4px;background:#303037;color:#eee;font:inherit;font-weight:600}.report-show svg{width:20px;height:20px}.report-show:hover{background:#393941}.report-event-link{cursor:pointer}.report-event-link:hover{background:#ffffff04}.report-event-link:focus-visible{outline:1px solid #c6566b;outline-offset:2px}.report-event-link[aria-busy=true]{opacity:.6;cursor:progress}.report-form{padding-top:9px}.report-chart-attribute{position:relative;display:block;margin:12px 0 16px}.report-chart-attribute select{width:100%;min-height:48px;padding:12px;border:1px solid #414148;border-radius:4px;background:#202024;color:#eee;font:inherit}.report-chart{margin-top:10px;padding:12px 4px;background:linear-gradient(135deg,#21171d,#11141a);border:1px solid #ffffff20;border-radius:8px}.report-chart:empty{display:none}.report-chart svg{display:block;width:100%;height:auto;min-height:200px;overflow:visible}.report-chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:8px 12px;font-size:12px}.report-chart-info{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.report-results>input[type=range]{width:100%;accent-color:#85283d;min-height:36px}.report-chart-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.report-chart-chips:empty{display:none}.report-chart-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #593039;border-radius:5px;background:#241519;color:#eee;font-size:12px}.report-chart-chip button{display:grid;place-items:center;padding:0;width:24px;height:24px;border:0;background:transparent;color:#ccc;font-size:20px}.report-multi-charts>section{margin:20px 0}.report-multi-charts h3{margin:0 0 8px;font-size:14px;color:#c6b6ba}.report-chart-picker .report-chart-attribute{padding:12px;border:1px solid #414148;border-radius:4px}.report-chart-picker select{border:0;background:#202024}.report-chart-picker .report-floating-label{background:#141417}.report-multi-charts .report-chart-attribute[hidden]{display:none}.menu-section-panel>.report-chart-dock{flex:none;position:relative;z-index:6;margin:0 -22px calc(-20px - env(safe-area-inset-bottom));padding:10px 22px calc(12px + env(safe-area-inset-bottom));background:#17171cf5;border-top:1px solid #ffffff25;box-shadow:0 -4px 16px #0004}.report-chart-dock .report-chart-info{margin:0 0 4px;text-align:center}.report-chart-dock input[type=range]{display:block;width:100%;height:36px;margin:0;accent-color:#85283d;touch-action:pan-y}.report-selected-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 8px}.report-selected-chips:empty{display:none}.report-selected-chips .report-chart-chip{max-width:100%;min-width:0}.report-selected-chips .report-chart-chip>span{overflow-wrap:anywhere}.report-selected-chips .report-chart-chip>button{flex-shrink:0}.report-picker:has(.report-selected-chips:not(:empty)){padding-top:1px}.report-chart-picker input[type=search]{display:block;width:100%;min-height:44px;padding:10px;border:0;outline:none;box-shadow:none;background:#202024;color:#eee;font:inherit;border-radius:4px}.report-parameter-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;max-height:260px;overflow-y:auto;padding:6px;border:1px solid #414148;border-radius:5px;background:#202024;box-shadow:0 6px 20px #0006;font-size:13px}.report-parameter-options button{display:block;width:100%;min-height:40px;padding:8px 10px;text-align:left;border:0;background:transparent;color:#eee;font:inherit;overflow-wrap:anywhere}.report-parameter-options button:hover,.report-parameter-options button:focus-visible{background:#343039}.report-range-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#ccc;margin-bottom:4px}.report-range-heading button{padding:4px 8px;min-height:30px;border:1px solid #593039;border-radius:4px;background:#241820;color:#eee;font:inherit}.report-range-track{position:relative;height:44px;margin-inline:12px;background:#101116;border:1px solid #ffffff18;border-radius:4px}.report-range-track svg{display:block;width:100%;height:100%}.report-range-selection{position:absolute;top:0;bottom:0;border-inline:2px solid #a34255;background:#85283d30;pointer-events:none}.report-chart-dock .report-range-track input[type=range]{position:absolute;inset:0;width:100%;height:44px;margin:0;padding:0;background:none;border:0;appearance:none;-webkit-appearance:none;pointer-events:none;touch-action:none}.report-range-track input::-webkit-slider-runnable-track{background:transparent;height:44px}.report-range-track input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;cursor:ew-resize;width:22px;height:44px;border-radius:5px;border:2px solid #a34255;background:#491a24}.report-range-track input::-moz-range-track{background:transparent}.report-range-track input::-moz-range-thumb{pointer-events:auto;cursor:ew-resize;width:18px;height:40px;border-radius:5px;border:2px solid #a34255;background:#491a24}.report-range-times{display:flex;justify-content:space-between;gap:12px;margin:5px 0;font-size:9px;color:#bbb}.report-range-times span:last-child{text-align:right}.report-range-track input::-webkit-slider-thumb{background:linear-gradient(135deg,#873347,#4b1b29 45%,#160e13);border:1px solid #a74d61;box-shadow:inset 1px 1px 2px #ffffff40,inset -2px -2px 4px #0009,0 2px 5px #0009}.report-range-track input::-moz-range-thumb{background:linear-gradient(135deg,#873347,#4b1b29 45%,#160e13);border:1px solid #a74d61;box-shadow:inset 1px 1px 2px #ffffff40,inset -2px -2px 4px #0009,0 2px 5px #0009}.report-multi-charts h3{display:flex;align-items:center;gap:9px;padding:10px 12px;margin-bottom:10px;border:1px solid #5c303c;border-radius:6px;background:linear-gradient(115deg,#371923,#191117 65%,#101014);box-shadow:inset 0 1px #ffffff0d,0 2px 6px #0003;color:#f1e9ec;font-size:15px;font-weight:700;overflow-wrap:anywhere}.report-multi-charts h3:before{content:"";flex:none;width:4px;height:20px;border-radius:2px;background:linear-gradient(#bd5e73,#6d2538);box-shadow:0 0 7px #85283d55}.report-range-selection{background:linear-gradient(180deg,#612333d9,#34151fe6 42%,#100d12ed);box-shadow:inset 0 1px 2px #ffffff26,inset 0 -3px 6px #0008;z-index:0}.report-range-track svg{position:relative;z-index:1;pointer-events:none}.report-chart-dock .report-range-track input[type=range]{z-index:2}.report-chart-current-value{color:#db9b65;font-weight:700}.report-multi-charts>section{margin:12px 0}.report-multi-charts .report-chart{margin-top:0}.report-range-cursor{position:absolute;top:0;bottom:0;z-index:2;border-left:1px dashed #eee;box-shadow:0 0 3px #000;pointer-events:none}.report-inline-selection{display:flex;align-items:center;width:100%;min-height:48px;box-sizing:border-box;padding:5px 0 5px 8px;background:#202024;border:1px solid #414148;border-radius:4px;min-width:0;cursor:pointer}.report-inline-selection>.report-selected-chips,.report-inline-selection>.report-chart-chips{display:flex;flex:1;min-width:0;flex-wrap:nowrap;gap:6px;margin:0;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}.report-inline-selection>.report-selected-chips::-webkit-scrollbar,.report-inline-selection>.report-chart-chips::-webkit-scrollbar{display:none}.report-inline-selection .report-chart-chip{flex:none;max-width:none;white-space:nowrap;padding:3px 6px}.report-inline-selection .report-chart-chip>span{overflow-wrap:normal}.report-selection-toggle{flex:0 0 34px;align-self:stretch;padding:0;border:0;background:transparent;color:#ccc;font:inherit;cursor:pointer}.report-selection-placeholder{padding-left:4px;color:#ddd;font-size:14px;white-space:nowrap}.report-chart-picker .report-chart-attribute{padding:0;border:0}.report-chart-picker .report-inline-selection{border:1px solid #414148}.report-parameter-popup{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;padding:10px;background:#202024;border:1px solid #414148;border-radius:4px;box-shadow:0 6px 20px #0006}.report-parameter-popup .report-parameter-options{position:static;border:0;box-shadow:none;max-height:220px;margin-top:6px;padding:0}.report-parameter-popup input[type=search]{border:1px solid #414148}.report-multi-charts .report-chart{position:relative;padding:16px 4px 8px}.report-chart-position-count{position:absolute;right:10px;top:5px;color:#aaa5ae;font-size:9px;line-height:12px}.report-multi-charts .report-chart>.report-chart-info{margin:0;padding:2px 10px 0;text-align:left;font-size:11px;line-height:1.5}.report-multi-charts>section{margin:10px 0}.report-chart-dock .report-range-times{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.report-chart-dock .report-range-current-time{margin:0;text-align:center;font-size:12px;line-height:1.4;color:#eee;white-space:nowrap}.report-range-times>span{font-size:9px;line-height:1.4}.report-chart-limit{max-width:min(380px,calc(100vw - 40px));padding:22px;border:1px solid #593039;border-radius:12px;background:linear-gradient(135deg,#28181e,#111115);color:#eee;box-shadow:0 12px 40px #0008}.report-chart-limit::backdrop{background:#0009}.report-chart-limit p{font-size:14px;line-height:1.6;margin:0 0 20px}.report-chart-limit button{width:100%;min-height:44px;border:1px solid #75404f;border-radius:6px;background:linear-gradient(115deg,#491b29,#181015);color:#eee;font:inherit}@media(max-width:360px){.report-chart-dock .report-range-times{gap:4px}.report-chart-dock .report-range-current-time{font-size:11px}.report-range-times>span{font-size:8px}}.report-date-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;margin-top:2px}.report-date-actions .report-show{width:auto;min-height:48px;padding:8px 12px;gap:6px;font-size:14px}.report-date-actions .report-show svg{width:19px;height:19px}.report-calendar .report-picker-trigger{font-size:12px;padding-left:8px;padding-right:20px}.report-calendar .report-picker-trigger:after{display:none}.report-calendar .route-calendar{top:calc(100% + 5px);left:0;right:auto;width:310px;max-width:calc(100vw - 48px);max-height:min(360px,65dvh);z-index:20;border-radius:6px;background:#202024;border-color:#414148}.report-calendar .route-calendar-grid{gap:2px}.report-calendar .route-calendar-grid button{min-height:36px;min-width:0}.report-calendar .route-calendar-grid .selected{background:linear-gradient(135deg,#6a2638,#31151f);color:#fff}.report-calendar .route-calendar-nav button{min-width:34px}@media(max-width:360px){.report-date-actions{gap:6px}.report-date-actions .report-show{padding-inline:9px}.report-date-actions .report-show span{font-size:12px}.report-calendar .report-picker-trigger{font-size:11px}}.report-date-actions>.report-calendar{display:flex;flex-direction:column;min-height:48px}.report-date-actions>.report-calendar>div{display:flex;flex:1;min-width:0}.report-form .report-calendar button.report-picker-trigger{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;width:100%;height:48px;min-height:48px;margin:0;padding:10px 12px;font-size:14px;line-height:20px;border-radius:4px}.report-form .report-date-actions>.report-show{box-sizing:border-box;height:48px;min-height:48px;margin:0}@media(max-width:360px){.report-form .report-calendar button.report-picker-trigger{font-size:12px;padding-inline:8px}}.vehicle-settings.navigation-menu{overflow:hidden;border-radius:0;padding-top:max(20px,env(safe-area-inset-top))}.menu-sections{display:flex;flex-direction:column;gap:0}.menu-section-link{display:flex;align-items:center;gap:16px;width:100%;min-height:60px;padding:14px 4px;border:0;border-bottom:1px solid #ffffff18;border-radius:0;background:transparent;color:#eee;text-align:left;font:inherit;font-size:17px}.menu-section-link svg{width:24px;height:24px;flex-shrink:0;color:#c5c6ce}.menu-section-link span:nth-child(2){flex:1}.menu-section-link span:last-child{font-size:25px;color:#9698a4}.menu-section-link:hover{background:#ffffff06}.menu-section-panel{position:absolute;inset:0;z-index:1;padding:max(20px,env(safe-area-inset-top)) 22px calc(20px + env(safe-area-inset-bottom));background:#141417;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;min-width:0;transform:translate(100%);visibility:hidden;transition:transform .3s ease,visibility .3s}.menu-section-panel.is-open{visibility:visible;transform:translate(0)}.menu-section-panel .settings-heading h2{flex:1}.navigation-menu .icon-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:0;line-height:1}.menu-empty{color:#aaa;font-size:14px;line-height:1.6}@media(prefers-reduced-motion:reduce){.menu-section-panel{transition:none}}.menu-section-content{min-width:0;overflow-wrap:anywhere}.menu-section-content input,.menu-section-content select{max-width:100%;min-width:0;box-sizing:border-box}@media(max-width:600px){.vehicle-settings.navigation-menu{inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}}.menu-section-panel{display:flex;flex-direction:column;overflow:hidden}.menu-section-panel>.settings-heading{flex:0 0 auto;position:relative;z-index:3;background:#141417}.menu-section-panel>.menu-section-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}@media(max-width:600px),(pointer:coarse){.navigation-menu,.navigation-menu *,.vehicle-editor,.vehicle-editor *{scrollbar-width:none}.navigation-menu::-webkit-scrollbar,.navigation-menu *::-webkit-scrollbar,.vehicle-editor::-webkit-scrollbar,.vehicle-editor *::-webkit-scrollbar{display:none;width:0;height:0}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.notification-event{min-height:100dvh;display:flex;flex-direction:column;gap:12px;padding:16px}.notification-event header{display:flex;align-items:center;gap:12px}.notification-event h1{font-size:20px;margin:0}.notification-event p{margin:0;color:#c6c8cf;font-size:14px}.notification-event .event-map{flex:none;width:100%;aspect-ratio:1.05;min-height:0;border-radius:12px;isolation:isolate}.event-marker span{display:block;width:22px;height:22px;border:3px solid white;border-radius:50%;background:#cf3444;box-shadow:0 2px 8px #0008}.notification-event .event-vehicle{margin-top:4px}.vehicle-gauges{--dial-size:94px;--dial-crop:calc(var(--dial-size) * .1818 + 4px);position:absolute;bottom:calc(0px - var(--dial-crop));clip-path:inset(-20px -20px var(--dial-crop));left:0;right:0;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 94px minmax(0,2fr);align-items:end;gap:8px;padding:12px 20px 4px;pointer-events:none;background:none;font-variant-numeric:tabular-nums}.vehicle-gauge-side{min-width:0;padding-bottom:26px;text-shadow:0 2px 4px #000}.vehicle-gauge-side>span,.vehicle-speed-dial>span{font-size:8px;letter-spacing:1.3px;color:#96969f}.vehicle-gauge-side>div{display:flex;align-items:baseline;gap:4px;margin-top:0;flex-wrap:wrap}.vehicle-gauge-side b{font-size:19px;color:#eee;font-weight:600;overflow-wrap:anywhere}.vehicle-gauge-side small{font-size:10px;color:#93939d}.vehicle-gauge-distance{text-align:right}.vehicle-gauge-distance>div{justify-content:flex-end}.vehicle-gauge-distance b{font-size:16px}.vehicle-speed-dial{--speed-ring:#555861;box-sizing:border-box;width:94px;height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:0;border-radius:50%;background:radial-gradient(circle at 35% 22%,#35363c,#191a20 53%,#0c0d11 85%);box-shadow:0 0 12px #0008,inset 0 1px 3px #ffffff35,inset 0 -3px 7px #000a;transition:border-color .5s}.vehicle-speed-dial b{font-size:32px;line-height:37px;color:#f5f5f8;font-weight:700;text-shadow:0 2px 3px #000}.vehicle-speed-dial small{font-size:10px;color:#a0a0aa}.vehicle-speed-dial>span{font-size:7px;letter-spacing:1px}@media(max-width:360px){.vehicle-gauges{--dial-size:84px;padding-inline:12px;gap:7px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 84px minmax(0,2fr)}.vehicle-speed-dial{width:84px;height:84px}.vehicle-gauge-distance b{font-size:14px}}@media(prefers-reduced-motion:reduce){.vehicle-speed-dial{transition:none}}.vehicle-gauge-side>span{display:flex;align-items:center;gap:5px}.vehicle-gauge-distance>span{justify-content:flex-end}.gauge-icon{width:16px;height:16px;flex-shrink:0;color:#aaaab4}.speed-scale{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:4;stroke-linecap:round;pointer-events:none}.speed-scale-track{stroke:#555861}.speed-scale-fill{stroke:var(--speed-ring);stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .7s ease,stroke .5s ease}@media(prefers-reduced-motion:reduce){.speed-scale-fill{transition:none}}#vehicle-visual:has(.map-overlay.is-open):not(:has(.route-overlay.is-open)) .vehicle-gauges:before{content:"";position:absolute;left:0;right:0;bottom:var(--dial-crop);height:104px;background:linear-gradient(180deg,#17181dce,#101116ed);border-top:1px solid #ffffff14;z-index:0}.vehicle-gauges>div{position:relative;z-index:1}.vehicle-gauge-side>span{color:#c1c2cb}.vehicle-gauge-side small{color:#b9bac5}.vehicle-gauge-side .gauge-icon{color:#d0d1da}.vehicle-gauges>.vehicle-drivetrain{position:absolute;left:calc(50% - var(--dial-size)/2 - 18px);bottom:27px;display:flex;justify-content:center;align-items:center;width:18px;margin:0}.vehicle-drivetrain[hidden],.vehicle-drivetrain [hidden]{display:none}.vehicle-drivetrain .vehicle-gear{font-size:23px;line-height:25px;font-weight:700;color:#f5f5f8}.vehicle-drivetrain .vehicle-gear[data-gear=D]{color:#7ee2a0}.vehicle-drivetrain .vehicle-gear[data-gear=N]{color:#f5f5f8}.vehicle-drivetrain .vehicle-gear[data-gear=P]{color:#ffc568}.vehicle-drivetrain .vehicle-gear[data-gear=R]{color:#ff6b7d}.vehicle-gauges>.vehicle-gauge-side:first-child{grid-column:1}.vehicle-gauges>.vehicle-coolant{grid-column:2}.vehicle-gauges>.vehicle-speed-dial{grid-column:3}.vehicle-gauges>.vehicle-gauge-distance{grid-column:4}.vehicle-coolant>div{flex-wrap:nowrap}@media(max-width:430px){.vehicle-gauges{--dial-size:84px;gap:5px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 84px minmax(0,2fr)}.vehicle-speed-dial{width:84px;height:84px}.vehicle-gauge-side>span{font-size:7px;letter-spacing:.3px;gap:3px}.vehicle-gauge-side .gauge-icon{width:13px;height:13px}.vehicle-gauge-side b{font-size:17px}.vehicle-gauge-distance b{font-size:14px}.vehicle-gauge-side small{font-size:9px}}@media(max-width:340px){.vehicle-gauge-side>span{font-size:6px;letter-spacing:0;gap:2px}.vehicle-gauge-side .gauge-icon{width:12px;height:12px}.vehicle-gauge-side>div{flex-wrap:nowrap;gap:2px}.vehicle-gauge-side b{font-size:15px;white-space:nowrap;overflow-wrap:normal}.vehicle-gauge-distance b{font-size:13px}.vehicle-gauge-side small{font-size:8px}.vehicle-drivetrain .vehicle-gear{font-size:20px}}.vehicle-gauges{grid-template-columns:minmax(0,1fr) var(--dial-size) minmax(0,1fr);column-gap:8px}.vehicle-gauges>.vehicle-gauge-side:first-child{grid-column:1;grid-row:1;width:calc(50% - 3px)}.vehicle-gauges>.vehicle-coolant{grid-column:1;grid-row:1;justify-self:end;width:calc(50% - 3px)}.vehicle-gauges>.vehicle-speed-dial{grid-column:2;grid-row:1;width:var(--dial-size);height:var(--dial-size)}.vehicle-gauges>.vehicle-gauge-distance{grid-column:3;grid-row:1}.vehicle-speed-dial>.vehicle-drivetrain{position:absolute;left:15%;bottom:24%;width:16px;display:flex;justify-content:center}.vehicle-speed-dial .vehicle-gear{font-size:16px;line-height:18px;text-shadow:0 1px 3px #000}.vehicle-gauge-side .gauge-icon{color:var(--metric-color,#d0d1da);transition:color .4s}.vehicle-coolant.is-hot b,.vehicle-coolant.is-hot small{color:var(--metric-color)}@keyframes metric-fade{0%,to{opacity:1}50%{opacity:.25}}.metric-pulse{animation:metric-fade 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.metric-pulse{animation:none}}.vehicle-gauges>.vehicle-gauge-rpm{position:absolute;right:20px;bottom:calc(var(--dial-crop) + 54px);padding:0;text-align:right}.vehicle-gauge-rpm>span,.vehicle-gauge-rpm>div{justify-content:flex-end}.vehicle-gauge-rpm .gauge-icon{color:#aaaab4}@media(max-width:360px){.vehicle-gauges>.vehicle-gauge-rpm{right:12px}}.vehicle-gauges{--dial-size:106px;column-gap:6px}.vehicle-speed-dial>span,.vehicle-speed-dial>b,.vehicle-speed-dial>small{transform:translateY(-4px)}.vehicle-speed-dial>.vehicle-drivetrain{left:18%;bottom:22%;width:14px}.vehicle-speed-dial .vehicle-gear{font-size:17px;line-height:19px}.vehicle-gauge-side:first-child>div,.vehicle-coolant>div{flex-wrap:nowrap;gap:3px}.vehicle-gauge-side:first-child>div>.gauge-icon,.vehicle-coolant>div>.gauge-icon{align-self:flex-end}@media(max-width:430px){.vehicle-gauges{--dial-size:98px;padding-inline:12px}.vehicle-gauge-side:first-child>div,.vehicle-coolant>div{gap:2px}}@media(max-width:340px){.vehicle-gauge-side:first-child b,.vehicle-coolant b{font-size:14px}.vehicle-gauge-side:first-child .gauge-icon,.vehicle-coolant .gauge-icon{width:11px;height:11px}}.vehicle-gauge-side:first-child b,.vehicle-coolant b{white-space:nowrap;overflow-wrap:normal}@media(max-width:430px){.vehicle-gauge-side:first-child b,.vehicle-coolant b{font-size:15px}.vehicle-gauge-side:first-child>div,.vehicle-coolant>div{gap:1px}}@media(max-width:340px){.vehicle-gauge-side:first-child b,.vehicle-coolant b{font-size:13px}.vehicle-gauge-side:first-child .gauge-icon,.vehicle-coolant .gauge-icon{width:10px;height:10px}}.vehicle-gauge-side:first-child>div>.gauge-icon,.vehicle-coolant>div>.gauge-icon{width:22px;height:22px}.vehicle-gauge-side>span{font-size:9px;letter-spacing:.5px}.vehicle-gauge-side b{font-size:21px}.vehicle-gauge-distance b{font-size:18px}.vehicle-gauge-side small{font-size:11px}.vehicle-gauge-side:not(.vehicle-gauge-rpm){padding-bottom:25px}.vehicle-gauge-side:not(.vehicle-gauge-rpm)>span{height:16px;transform:translateY(3px)}.vehicle-gauge-side:not(.vehicle-gauge-rpm)>div{height:29px;align-items:flex-end}.vehicle-gauge-side:not(.vehicle-gauge-rpm) b{line-height:1}.vehicle-gauge-side:not(.vehicle-gauge-rpm) small{align-self:flex-end;line-height:1}@media(max-width:430px){.vehicle-gauge-side:not(.vehicle-gauge-rpm)>div{height:24px}.vehicle-gauge-side:first-child>div>.gauge-icon,.vehicle-coolant>div>.gauge-icon{width:18px;height:18px}.vehicle-gauge-side>span{font-size:8px;letter-spacing:0}.vehicle-gauge-side b,.vehicle-gauge-side:first-child b,.vehicle-coolant b{font-size:17px}.vehicle-gauge-distance b{font-size:16px}.vehicle-gauge-side small{font-size:10px}}@media(max-width:340px){.vehicle-gauge-side:not(.vehicle-gauge-rpm)>div{height:22px}.vehicle-gauge-side:first-child>div>.gauge-icon,.vehicle-coolant>div>.gauge-icon{width:16px;height:16px}.vehicle-gauge-side>span{font-size:7px}.vehicle-gauge-side:first-child b,.vehicle-coolant b{font-size:15px}.vehicle-gauge-distance b{font-size:14px}.vehicle-gauge-side small{font-size:9px}}.vehicle-speed-dial>.vehicle-check-engine{position:absolute;right:calc(15% + 3px);bottom:calc(21% + 4px);width:21px;height:21px;color:#ffb13b}.vehicle-check-engine .gauge-icon{width:100%;height:100%;color:inherit}.vehicle-check-engine[hidden]{display:none}.vehicle-gauges>.vehicle-gauge-weight{position:absolute;left:20px;bottom:calc(var(--dial-crop) + 54px);padding:0;width:auto}.vehicle-gauge-weight[hidden]{display:none}.vehicle-gauge-weight>span{height:auto;transform:none}.vehicle-gauge-weight>div{height:auto}.vehicle-gauge-weight b{font-size:19px}@media(max-width:430px){.vehicle-gauges>.vehicle-gauge-weight{left:12px}.vehicle-gauge-weight b{font-size:17px}}.environment-sensors{position:absolute;inset:120px 20px 80px;z-index:5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:12px;color:#eee;font-variant-numeric:tabular-nums;pointer-events:none}.environment-sensors article{padding:14px;border:1px solid #ffffff20;border-radius:12px;background:linear-gradient(135deg,#25191fec,#11151bf2);box-shadow:0 4px 14px #0003}.environment-sensors article>span{font-size:11px;color:#bcb8c2}.environment-sensors article>div{display:flex;align-items:center;gap:5px;margin-top:10px}.environment-sensors svg{width:21px;height:21px;color:#de9c89}.environment-sensors article>div:last-child svg{color:#80bcda}.environment-sensors b{font-size:24px;font-weight:600}.environment-sensors small{font-size:12px;color:#bbb}.fleet-detail-instruments:has(.environment-sensors:not(.is-compact):not([hidden])){height:240px}.fleet-detail-instruments .environment-sensors,#vehicle-visual:has(.map-overlay.is-open)>.environment-sensors{inset:auto 12px 4px;gap:6px}.fleet-detail-instruments .environment-sensors article,#vehicle-visual:has(.map-overlay.is-open)>.environment-sensors article{padding:8px 12px}.fleet-detail-instruments .environment-sensors b,#vehicle-visual:has(.map-overlay.is-open)>.environment-sensors b{font-size:20px}.environment-sensors[hidden]{display:none}.environment-sensors .sensor-connection{margin:14px 0 4px;color:#e0a88d;font-size:12px;line-height:1.5}.environment-sensors .is-disconnected{border-color:#745044}.environment-sensors.is-compact{inset:92px auto auto 16px;width:128px;max-height:calc(100% - 227px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;overflow-y:auto;scrollbar-width:none;pointer-events:none;text-shadow:0 1px 4px #000,0 0 8px #000a}.environment-sensors.is-compact::-webkit-scrollbar{display:none}.environment-sensors.is-compact article{flex:none;width:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.environment-sensors.is-compact article>span{display:block;font-size:9px;color:#ccc}.environment-sensors.is-compact article>div{margin-top:4px;gap:4px}.environment-sensors.is-compact b{font-size:19px}.environment-sensors.is-compact svg{width:18px;height:18px}.environment-sensors.is-compact small{font-size:10px}.environment-sensors.is-compact .sensor-connection{font-size:10px;margin:4px 0 0}#vehicle-visual:has(.map-overlay.is-open)>.environment-sensors.is-compact{inset:115px auto auto 16px;max-height:calc(100% - 250px)}.fleet-detail-instruments .environment-sensors.is-compact{inset:auto auto 135px 16px;max-height:calc(100dvh - 400px)}#vehicle-visual:has(.map-overlay.is-open)>.environment-sensors.is-compact article,.fleet-detail-instruments .environment-sensors.is-compact article{padding:0;background:none;border:0}#vehicle-visual>.environment-sensors:not(.is-compact){left:56px;right:56px}@media(max-width:360px){#vehicle-visual>.environment-sensors:not(.is-compact){left:48px;right:48px;gap:8px}.environment-sensors:not(.is-compact) article{padding:10px}}#vehicle-visual>.environment-sensors:not(.is-compact){left:0;right:0;width:calc(100% - (2*clamp(44px,12%,56px)));margin-inline:auto;box-sizing:border-box;min-width:0}#fleet-map-toggle{flex:0 0 44px;width:44px;height:44px;padding:10px;border:1px solid #ffffff26;border-radius:10px;background:linear-gradient(145deg,#292930,#121216);color:#eee;cursor:pointer}#fleet-map-toggle svg{display:block;width:100%;height:100%}.fleet-map{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#191a20;color:#eee;overscroll-behavior:contain}.fleet-map::backdrop{background:#101115}.fleet-map-layout{height:100%;display:flex;flex-direction:column}.fleet-map-header{display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;flex-shrink:0}.fleet-map-header>div{flex:1;min-width:0}.fleet-map-header>div>strong{font-size:17px}.fleet-map-header>div>small{display:block;margin-top:4px;color:#aeb0ba;font-size:12px}.fleet-map-header>button{height:42px;border:1px solid #ffffff25;border-radius:12px;background:#303139;color:#fff;padding:0 14px;cursor:pointer}.fleet-map-header>.fleet-close{font-size:28px}.fleet-map-canvas{flex:1;min-height:0}.fleet-map-legend{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 8px calc(10px + env(safe-area-inset-bottom));font-size:11px}.fleet-map-legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#85858e;margin-right:6px}[data-state=moving]{--fleet-color:#277bb0}[data-state=idle]{--fleet-color:#298856}[data-state=offline]{--fleet-color:#a34757}.fleet-map-legend span:before{background:var(--fleet-color)}.fleet-marker{background:none;border:0}.fleet-car{position:relative;width:32px;height:32px}.fleet-car-ring{box-sizing:border-box;display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--fleet-color);border-radius:50%;background:#fff;box-shadow:0 2px 5px #0005;color:var(--fleet-color)}.fleet-car-ring svg{display:block;width:20px;height:20px;fill:currentColor}.fleet-car-label{position:absolute;bottom:38px;left:50%;transform:translate(-50%);box-sizing:border-box;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;background:#fff;color:#23232b;border:1px solid var(--fleet-color);border-radius:7px;padding:4px 7px;font:700 11px/1.2 Arial,sans-serif;box-shadow:none}.fleet-car:before{content:"";position:absolute;bottom:32px;left:15px;width:2px;height:6px;background:var(--fleet-color)}.fleet-cluster{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#242b3c;color:#fff;border:3px solid #c5d0e6;font:700 16px Arial,sans-serif;box-shadow:0 2px 8px #0006}.fleet-popup strong{font-size:15px}.fleet-popup p{margin:7px 0;font-size:12px}.fleet-popup button{width:100%;padding:10px;border:0;border-radius:8px;background:#293d58;color:#fff;cursor:pointer}.fleet-cluster-list .fleet-popup+.fleet-popup{border-top:1px solid #ddd;padding-top:12px;margin-top:12px}body:has(.fleet-map[open]){overflow:hidden}.fleet-vehicle-marker{cursor:pointer;pointer-events:auto}.fleet-vehicle-marker .fleet-car{margin:6px;pointer-events:auto}.fleet-vehicle-marker .fleet-car-label,.fleet-vehicle-marker .fleet-car-ring{pointer-events:auto;cursor:pointer}.fleet-vehicle-marker .fleet-car-ring svg,.fleet-vehicle-marker .fleet-car-ring svg *{pointer-events:none}.fleet-vehicle-marker:focus-visible{outline:2px solid #293d58;outline-offset:3px;border-radius:50%}.fleet-car-direction{position:absolute;inset:0;pointer-events:none;transform-origin:center}.fleet-car-direction[hidden]{display:none}.fleet-car-direction:before{content:"";position:absolute;left:11px;top:-6px;width:10px;height:9px;clip-path:polygon(50% 0,100% 100%,50% 78%,0 100%);background:var(--fleet-color)}.fleet-car.has-popup .fleet-car-label{visibility:hidden;pointer-events:none}.fleet-map-header{padding:6px 10px;gap:6px}.fleet-map-header>div>.vehicle-search-trigger{min-height:36px;padding:7px 9px;font-size:12px}.fleet-map-header>div>small{margin-top:2px;font-size:10px;line-height:12px}.fleet-map-header button.fleet-fit,.fleet-map-header button.fleet-close{height:36px;padding:0 10px;border-radius:9px}.fleet-map-legend{padding:4px 6px;gap:10px;font-size:10px;line-height:14px;flex-wrap:nowrap}.fleet-map-legend span:before{width:6px;height:6px;margin-right:4px}.fleet-map-header>div>.vehicle-search-trigger,.fleet-map-header>.fleet-close{border-radius:0}.fleet-filter-tools{position:relative;flex:0 0 36px!important}.fleet-filter-toggle{width:36px;height:36px;padding:7px;border:1px solid #ffffff25;background:#202127;color:#eee}.fleet-filter-toggle svg{width:20px;height:20px;display:block}.fleet-filter-panel{position:absolute;right:0;top:42px;width:min(300px,calc(100vw - 24px));max-height:calc(100dvh - 70px);overflow:auto;scrollbar-width:none;padding:14px;background:#17171c;border:1px solid #38383e;box-shadow:0 12px 30px #0009;z-index:1100}.fleet-filter-panel label{font-size:12px;margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#ccc}.fleet-filter-panel select{width:100%;height:36px;background:#222228;border:1px solid #45454c;color:#eee;padding:5px;font:inherit}.fleet-filter-panel input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#7c293c}.fleet-filter-error{font-size:11px;color:#dd9d8a}.fleet-car:before{display:none}.fleet-car-label{bottom:38px;max-width:240px;overflow:visible;white-space:normal;display:flex;flex-direction:column;gap:3px;text-align:center;padding:5px 8px}.fleet-car-label:before,.fleet-car-label:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:0;height:0;border-style:solid}.fleet-car-label:before{top:100%;border-width:6px 6px 0;border-color:var(--fleet-color) transparent transparent}.fleet-car-label:after{top:calc(100% - 1px);border-width:5px 5px 0;border-color:white transparent transparent}.fleet-car-label>span{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.fleet-car-label>span>span{max-width:220px;overflow:hidden;text-overflow:ellipsis}.fleet-label-group{font-size:10px;font-weight:500;color:#68717c}.fleet-label-vehicle{font-size:11px;font-weight:700;color:#23232b}.fleet-label-driver{font-size:11px;font-weight:600;color:#73552b}.fleet-label-driver{position:relative}.fleet-label-driver:has(img:not([hidden])){padding-left:29px;min-height:0}.fleet-label-driver img{position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:24px;object-fit:cover;border-radius:50%}[data-state=unknown]{--fleet-color:#85858e}.dashboard>header #fleet-map-toggle{margin-left:-24px;flex:0 0 46px;width:46px;height:48px;padding:9px 4px 9px 6px;display:flex;align-items:center;gap:0;border-left:0;border-radius:0 25px 25px 0}.dashboard>header #fleet-map-toggle>svg{width:22px;height:22px}.dashboard>header #fleet-map-toggle>.fleet-open-arrow{width:12px;height:24px}.fleet-map[open]{animation:fleet-map-enter .25s ease-out}@keyframes fleet-map-enter{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(max-width:360px){.dashboard>header #fleet-map-toggle{margin-left:-18px}}@media(prefers-reduced-motion:reduce){.fleet-map[open]{animation:none}}.fleet-car-label.has-avatar{padding:7px 10px 7px 44px;min-height:42px}.fleet-car-label>.fleet-label-avatar{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;object-fit:cover;border-radius:50%}.fleet-car-ring svg[stroke]{fill:none}.fleet-map-header>div>.vehicle-search-trigger{min-height:48px;padding:12px;font-size:16px;line-height:1.4}.fleet-map-header>div>.vehicle-search-trigger{height:48px;min-height:48px}.fleet-filter-tools{flex:0 0 48px!important}.fleet-filter-toggle,.fleet-map-header button.fleet-close{width:48px;height:48px;min-height:48px;flex-shrink:0;padding:12px;display:grid;place-items:center}.fleet-filter-panel{position:fixed;inset:calc(68px + env(safe-area-inset-top)) 12px auto;width:auto;max-width:420px;margin-left:auto;max-height:calc(100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:16px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fleet-filter-panel label{font-size:16px;min-height:44px;gap:12px;margin-bottom:8px}.fleet-filter-panel select{height:48px;font-size:16px;padding:8px 12px}.fleet-filter-panel input[type=checkbox]{width:22px;height:22px;flex-shrink:0}@media(max-width:360px){.fleet-map-header{gap:8px;padding-inline:10px}}.fleet-map-header{position:relative;z-index:1100}.fleet-filter-tools{position:static}.fleet-filter-panel{position:absolute;inset:calc(100% - 10px) 14px auto;max-width:420px;padding:12px}.fleet-filter-panel .fleet-filter-field{position:relative;display:block;min-height:0;margin:6px 0 12px}.fleet-filter-field>span{position:absolute;top:-7px;left:10px;padding:0 4px;font-size:11px;line-height:14px;background:#222228;color:#bfc0c9;z-index:1}.fleet-filter-panel .fleet-filter-field select{height:44px;padding:8px 12px 4px}.fleet-filter-panel label:has(input[type=checkbox]){min-height:32px;margin:0;gap:10px;font-size:14px;padding:3px 0}@media(max-width:360px){.fleet-filter-panel{left:10px;right:10px}}.fleet-map-canvas.fleet-labels-suppressed .fleet-car-label{display:none}.fleet-map-header>.fleet-close{line-height:1}.fleet-map-header>.fleet-close svg{display:block;width:24px;height:24px}.fleet-map-canvas .fleet-popup{color:#23232b;font-family:Manrope,Arial,sans-serif;line-height:1.45}.fleet-map-canvas .fleet-popup strong{color:#17171c}.fleet-map-canvas .fleet-popup p{color:#4c4c56}.fleet-map-canvas .fleet-popup button{color:#fff}.fleet-map-body{position:relative;display:flex;flex:1;min-height:0}.fleet-view-tools{position:absolute;top:10px;right:10px;z-index:1000;font-size:14px}.fleet-view-toggle{display:grid;place-items:center;width:38px;height:38px;padding:7px;border:1px solid #ffffff25;border-radius:8px;background:#202127;color:#eee;font:inherit;cursor:pointer}.fleet-view-menu{position:absolute;right:0;top:calc(100% + 4px);width:220px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 170px);overflow:auto;display:flex;flex-direction:column;gap:5px;padding:6px;background:#17171c;color:#eee;border:1px solid #38383e;border-radius:9px}.fleet-view-menu[hidden]{display:none}.fleet-view-menu button{display:block;width:100%;min-height:40px;padding:8px 12px;text-align:left;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer}.fleet-view-menu button:hover,.fleet-view-menu button:focus-visible{background:#303139}.fleet-view-menu button[aria-pressed=true]{background:linear-gradient(115deg,#301719,#171014 65%,#0b0b0d);border-color:#593039;font-weight:700;box-shadow:inset 0 1px #ffffff08}.fleet-view-menu hr{border:0;border-top:1px solid #38383e;margin:5px 4px}.fleet-view-tools svg{width:18px;height:18px;flex:none}.fleet-view-toggle svg{width:22px;height:22px}.fleet-view-menu button{display:flex;align-items:center;gap:10px;white-space:nowrap}.fleet-view-error{margin:4px 8px;color:#dd9d8a;font-size:13px}.fleet-view-error:empty{display:none}.fleet-map-load-error{position:absolute;top:12px;left:12px;right:12px;z-index:10;margin:0;padding:12px;border:1px solid #75404b;border-radius:4px;background:#202024;color:#e6b2bd;font-size:13px;line-height:1.5}.fleet-map-header>div:first-child{position:relative}.fleet-map-header>div>.vehicle-search-trigger{width:100%;padding-right:52px;background:#151518;color:#eee;cursor:pointer}.fleet-map-header>div>.vehicle-search-trigger::placeholder{color:#aaa;opacity:1}.fleet-map-header .fleet-filter-tools{position:absolute;right:0;top:0;width:48px;height:48px}.fleet-map-header .fleet-filter-toggle{border:0;border-left:1px solid #ffffff19;background:transparent}.fleet-map-header .fleet-filter-panel{top:100%;left:auto;right:0;width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 80px);overflow-y:auto}.fleet-vehicle-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1200;max-height:min(55dvh,420px);overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #414148;background:#202024;color:#ccc;box-shadow:0 8px 20px #0005;font-size:14px}.fleet-vehicle-result{display:flex;flex-direction:column;gap:4px;width:100%;min-height:46px;padding:10px 8px;border:0;border-bottom:1px solid #ffffff12;background:transparent;color:#eee;text-align:left;font:inherit;line-height:1.4}.fleet-vehicle-result strong{font-size:14px;font-weight:500}.fleet-vehicle-result span{font-size:12px;color:#b9a477}.fleet-vehicle-result:hover{background:#ffffff08}.fleet-map-header input.vehicle-search-trigger{padding-right:54px}.fleet-map-header input.vehicle-search-trigger::-webkit-search-cancel-button{-webkit-appearance:none}.fleet-vehicle-dropdown{padding:0}.fleet-vehicle-dropdown .vehicle-search-option{width:100%;box-sizing:border-box}.fleet-search-empty{padding:12px;margin:0;color:#aaa;font-size:13px}.fleet-map-header:has(.fleet-vehicle-dropdown:not([hidden])){z-index:1300}.fleet-map-header .fleet-vehicle-dropdown{position:fixed;top:var(--fleet-search-top,60px);left:0;right:0;bottom:0;width:100%;max-height:none;box-sizing:border-box;margin:0;padding:0 16px calc(12px + env(safe-area-inset-bottom));border:0;box-shadow:none;background:#202024;scrollbar-width:none}.fleet-vehicle-dropdown::-webkit-scrollbar{display:none}.fleet-vehicle-dropdown .vehicle-search-option{padding:14px 4px}.fleet-map-header>div>.fleet-filter-panel{position:absolute;top:100%;left:0;right:0;width:100%;max-width:none;box-sizing:border-box;max-height:calc(100dvh - 80px);overflow-y:auto;margin:0}.fleet-map-header .fleet-vehicle-dropdown{bottom:auto;height:auto;max-height:var(--fleet-search-max-height, calc(100dvh - 60px) );padding-bottom:0}.fleet-map-header>.fleet-close{display:flex;align-items:center;justify-content:center;gap:3px;padding:4px}.fleet-map-header>.fleet-close:not(.is-search-close) svg{width:23px;height:23px}.fleet-return-arrow{font-size:23px;line-height:1;color:#ccc}.dashboard>header #fleet-map-toggle,.fleet-map-header>.fleet-close:not(.is-search-close){display:flex;align-items:center;justify-content:center;gap:0;flex:0 0 46px;width:46px;height:48px;min-height:48px;border:1px solid #ffffff26;background:linear-gradient(145deg,#292930,#121216);color:#eee}.fleet-map-header>.fleet-close:not(.is-search-close){margin-right:-10px;padding:9px 6px 9px 4px;border-right:0;border-radius:25px 0 0 25px}.fleet-map-header>.fleet-close:not(.is-search-close)>svg{width:24px;height:24px;flex-shrink:0}.fleet-map-header>.fleet-close:not(.is-search-close)>svg.fleet-return-arrow{width:12px;height:24px;font-size:inherit;color:inherit}.fleet-vehicle-detail{position:absolute;inset:0;z-index:4;pointer-events:none;color:#eee;font-variant-numeric:tabular-nums}.fleet-vehicle-detail[hidden]{display:none}.fleet-detail-heading{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;gap:12px;padding:12px 68px 65px 18px;background:linear-gradient(to bottom,#08090b,#08090bea 30%,#08090ba6 57%,#08090b40 80%,#08090b00);pointer-events:none}.fleet-detail-heading>div{min-width:0;display:flex;flex-direction:column;gap:3px;text-shadow:0 1px 3px #000}.fleet-detail-heading strong{font-size:23px;line-height:1.2}.fleet-detail-heading span{font-size:13px}.fleet-detail-heading small{font-size:10px;color:#c1c2cb}.fleet-vehicle-detail>.vehicle-alarms{top:100px;left:12px;right:12px;pointer-events:auto}.fleet-detail-instruments{position:absolute;bottom:35px;left:0;right:0;height:180px;background:linear-gradient(to bottom,#08090b00,#08090b20,#08090b66 32%,#08090bb3 51%,#08090be8 72%,#08090b)}.fleet-detail-open{position:absolute;bottom:0;left:0;right:0;width:100%;height:35px;display:flex;justify-content:center;align-items:center;gap:10px;border:0;border-top:1px solid #ffffff1a;background:#131419ed;color:#ddd;font:inherit;font-size:12px;pointer-events:auto;cursor:pointer}.fleet-detail-open span{font-size:22px}.has-vehicle-detail .fleet-view-tools{z-index:5}.fleet-car.is-selected{transform:scale(1.15);transform-origin:center}.fleet-car.is-selected:after{content:"";position:absolute;inset:-7px;border:2px solid var(--fleet-color,#85858e);border-radius:50%;background:color-mix(in srgb,var(--fleet-color,#85858e) 18%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--fleet-color,#85858e) 45%,transparent);animation:fleet-selection-pulse 1.8s ease-out infinite;pointer-events:none;z-index:-1}.fleet-car.is-selected .fleet-car-ring{box-shadow:0 0 0 3px #fff,0 3px 12px #0007}.fleet-map-canvas.fleet-labels-suppressed .fleet-car.is-selected .fleet-car-label{display:flex}@keyframes fleet-selection-pulse{0%{transform:scale(.85);opacity:.9}to{transform:scale(1.65);opacity:0}}@media(prefers-reduced-motion:reduce){.fleet-car.is-selected:after{animation:none;opacity:.65}}.fleet-detail-instruments{bottom:52px}.fleet-detail-open{height:52px;background:linear-gradient(115deg,#301719,#171014 65%,#0b0b0d);border-top:1px solid #593039;color:#fff;font-size:15px;font-weight:600}.fleet-detail-open:hover{background:linear-gradient(115deg,#422027,#21141b 65%,#101014)}.fleet-detail-open:focus-visible{outline:2px solid #fff;outline-offset:-4px}.fleet-view-toggle.has-traffic{height:72px;grid-template-rows:22px 29px;gap:6px}.fleet-view-traffic{display:grid;place-items:center;width:100%;padding-top:6px;border-top:1px solid #ffffff30;color:#8fd3a1}.fleet-view-traffic svg{width:22px;height:22px}.boat-navigation-overlay{z-index:8!important}.boat-navigation-overlay .map-panel{background:#15191e}.boat-navigation-overlay .map-canvas{inset:175px 0 85px}.boat-navigation-toolbar{position:absolute;inset:0 0 auto;padding:10px 12px 8px 48px;background:#17181df5;color:#eee;pointer-events:auto;font-size:12px;max-height:170px;overflow:auto}.boat-navigation-toolbar header{display:flex;align-items:center;gap:8px}.boat-navigation-toolbar h3{font-size:15px;flex:1;margin:0}.boat-navigation-toolbar button,.boat-zone-picker button{padding:7px 10px;min-height:34px;border:1px solid #63404b;border-radius:5px;background:#2b2028;color:#eee;font:inherit;cursor:pointer}.boat-navigation-toolbar p{margin:6px 0;line-height:1.4}.boat-navigation-warning{color:#d6b59c}.boat-navigation-actions{display:flex;flex-wrap:wrap;gap:6px}.boat-navigation-summary{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}.boat-navigation-footer{position:absolute;inset:auto 0 0;padding:10px 12px 14px;background:#17181df5;color:#ddd;font-size:12px;line-height:1.5;pointer-events:auto}.boat-zone-picker{position:absolute;inset:50px 10px 85px;z-index:1100;background:#202027;border:1px solid #49434b;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;color:#ddd;pointer-events:auto}.boat-zone-picker[hidden]{display:none}.boat-zone-picker input{box-sizing:border-box;width:100%;min-height:42px;padding:8px;border:1px solid #57505b;border-radius:5px;background:#17171d;color:#eee;font:inherit}.boat-zone-list{overflow:auto;min-height:0;flex:1}.boat-zone-list button{display:block;width:100%;margin:0 0 5px;text-align:left}.boat-zone-list small{display:block;color:#aaa;margin-top:3px}.boat-navigation-overlay:not(.is-open){visibility:hidden}.boat-navigation-toggle[hidden]{display:none!important}@media(max-height:550px){.boat-navigation-overlay .map-canvas{top:150px;bottom:65px}.boat-navigation-toolbar{max-height:145px;padding-top:6px}.boat-navigation-footer{font-size:10px;padding:5px 10px}.boat-zone-picker{bottom:65px}}.boat-navigation-overlay .leaflet-overlay-pane>svg{width:initial;height:initial;max-width:none;max-height:none}.boat-navigation-overlay .map-panel{display:flex;flex-direction:column}.boat-navigation-overlay .map-canvas{position:relative;inset:auto;order:2;flex:1;min-height:0;width:100%}.boat-navigation-overlay .boat-navigation-toolbar{position:relative;inset:auto;order:1;flex:0 0 auto;max-height:40%;padding-right:12px}.boat-navigation-overlay .boat-navigation-footer{position:relative;inset:auto;order:3;flex:0 0 auto}.boat-guidance{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:min(255px,calc(100% - 96px));z-index:6;display:flex;align-items:center;flex-direction:column;gap:5px;color:#eee;text-align:center;pointer-events:none;text-shadow:0 1px 4px #000,0 0 9px #000;--guidance-color:#85858e}.boat-guidance[hidden]{display:none}.boat-guidance-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.boat-guidance-arrow{width:105px;height:115px;margin:12px 0;color:var(--guidance-color);filter:drop-shadow(0 3px 5px #0008);transition:color .35s,opacity .35s;transform-origin:center}.boat-guidance-arrow svg{display:block;width:100%;height:100%}.boat-guidance-distance{font-size:17px;font-weight:800;color:var(--distance-color,#eee);text-shadow:0 0 2px #fff,0 0 5px #ffffffb0;font-variant-numeric:tabular-nums}.boat-guidance-status{font-size:12px;color:var(--guidance-color);font-weight:700}.boat-guidance>small{font-size:9px;color:#ccc}.boat-guidance-actions{display:flex;gap:7px;pointer-events:auto}.boat-guidance-actions button{border:1px solid #ffffff35;border-radius:5px;background:#17181de6;color:#eee;padding:6px 9px;font:inherit;font-size:11px;min-height:32px}.boat-guidance-status{color:#eee}.boat-guidance-status:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border:1px solid #ffffff60;border-radius:50%;background:var(--guidance-color)}.boat-guidance-arrow[hidden]{display:none}.map-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.map-slider{position:absolute;inset:0;transform:translate(100%);transition:transform .35s cubic-bezier(.22,.7,.25,1)}.map-overlay.is-open .map-slider{transform:translate(0)}.map-panel{position:absolute;inset:0;background:#19191f;pointer-events:none}.map-overlay.is-open .map-panel{pointer-events:auto}.map-canvas{position:absolute;inset:0;background:#25262b}.map-canvas[hidden]{display:none}.map-overlay .map-toggle{right:auto;left:-36px;top:64px;z-index:1100;transition:left .35s cubic-bezier(.22,.7,.25,1),border-radius .35s}.map-overlay.is-open .map-toggle{left:0;border-radius:0 28px 28px 0;border-left:0;border-right:1px solid #ffffff19;flex-direction:row-reverse;padding:2px 5px 2px 2px}.map-caption{position:absolute;top:10px;left:auto;right:10px;z-index:1000;width:fit-content;max-width:calc(100% - 58px);padding:8px 12px;border-radius:9px;background:#16171ce8;color:#eee;pointer-events:none;box-shadow:0 2px 8px #0004}.map-caption>span{font-size:11px}.map-status{display:block;color:#bcbcc5;font-size:10px;margin-top:4px}.map-panel .leaflet-control-attribution{font-size:9px}@media(prefers-reduced-motion:reduce){.map-slider,.map-overlay .map-toggle{transition:none}}.vehicle-map-marker{--marker-color:#22613e;background:none;border:0;display:grid;place-items:center}.vehicle-map-marker-dot{display:block;width:22px;height:22px;border:3px solid #fff;border-radius:50%;position:relative;background:var(--marker-color);box-shadow:0 3px 9px #0008}.map-panel .leaflet-bottom.leaflet-left{bottom:80px}.map-panel .leaflet-bottom.leaflet-right{bottom:56px}.vehicle-map-marker[data-state=offline]{--marker-color:#ed263d}.vehicle-map-marker[data-state=moving]{--marker-color:#194b7a}.vehicle-map-marker-dot:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:var(--marker-color);opacity:.2;z-index:-1}.vehicle-map-marker:not([data-state=offline]) .vehicle-map-marker-dot:before{animation:vehicle-marker-pulse 1.8s ease-out infinite}@keyframes vehicle-marker-pulse{0%{transform:scale(.8);opacity:.35}to{transform:scale(1.6);opacity:0}}@media(prefers-reduced-motion:reduce){.vehicle-map-marker-dot:before{animation:none!important}}.map-overlay.is-open{z-index:4}.vehicle-single-marker .fleet-car:before{display:none}.map-overlay.zoom-transition .map-slider{transform:none;opacity:0;transition:none}.map-overlay.zoom-transition.is-open .map-slider{opacity:1}@media(prefers-reduced-motion:reduce){.map-overlay.zoom-transition .map-slider{transition:none}}.map-overlay.zoom-transition .map-panel{transform:scale(.94);transform-origin:50% 55%;transition:none}.map-overlay.zoom-transition.is-open .map-panel{transform:scale(1)}#vehicle-model-host{transition:none}#vehicle-visual.scene-map-transition #vehicle-model-host{opacity:0}@media(prefers-reduced-motion:reduce){.map-overlay.zoom-transition .map-panel,#vehicle-model-host{transition:none}}#vehicle-visual.scene-map-slide #vehicle-model-host{transition:none}.map-overlay.zoom-transition:not(.is-open) .map-slider{visibility:hidden}.map-overlay.zoom-transition.is-open .map-slider{visibility:visible}.street-backdrop{position:absolute;inset:0;z-index:8;background:#18191d;transform:translate(100%);visibility:hidden;transition:transform .35s cubic-bezier(.22,.7,.25,1),visibility 0s .35s;pointer-events:none}.street-backdrop.is-open{transform:translate(0);visibility:visible;transition:transform .35s cubic-bezier(.22,.7,.25,1);pointer-events:auto}.street-panorama{position:absolute;inset:0}.street-message{position:absolute;top:100px;left:40px;right:40px;padding:10px;background:#111d;border-radius:8px;text-align:center;font-size:12px;color:#eee}.street-message:empty{display:none}#vehicle-visual>.street-toggle{position:absolute;right:0;top:334px;z-index:3}.street-toggle[aria-pressed=true]{border-color:#b34455;background:#491a20}.street-active #vehicle-model-host,.street-active #vehicle-2d{visibility:hidden}.street-active>.course-controls{visibility:hidden}.street-active .vehicle-gauges{background:linear-gradient(transparent,#101116bb)}.street-message{z-index:2}@media(prefers-reduced-motion:reduce){.street-backdrop{transition:none}}#vehicle-visual>.scene-tools{position:absolute;top:10px;right:0;z-index:7;display:flex;flex-direction:column;gap:6px;pointer-events:none}#vehicle-visual>.scene-tools.in-street{top:10px;z-index:9}#vehicle-visual .scene-tools .scene-tool-slot>button{position:static;inset:auto;transform:none;transition:none;display:flex;align-items:center;justify-content:center;width:36px;height:48px;min-height:48px;padding:2px 2px 2px 5px;border:1px solid #ffffff19;border-right:0;border-radius:28px 0 0 28px;background:linear-gradient(145deg,#25252bed,#101014ee);color:#d3d5de;pointer-events:auto;box-shadow:-3px 3px 12px #0004}#vehicle-visual .scene-tools .scene-tool-slot>button svg{width:21px;height:27px;flex-shrink:0}#vehicle-visual .scene-tools .scene-tool-slot>button[aria-pressed=true]{border-color:#b34455;background:#491a20}#vehicle-visual>.scene-tools.has-drawer-open{right:auto;left:0}#vehicle-visual .scene-tools.has-drawer-open .scene-tool-slot:not(.is-drawer-open){display:none}#vehicle-visual .scene-tools .is-drawer-open>button{border-radius:0 28px 28px 0;border-left:0;border-right:1px solid #ffffff19;padding:2px 5px 2px 2px;flex-direction:row-reverse}#vehicle-visual .scene-tools .scene-tool-slot>button.tell-tale-toggle{position:relative}#vehicle-visual:has(.route-overlay.is-open)>.scene-tools.has-drawer-open{top:calc(var(--route-toolbar-height,70px) + 8px)}.can-controls{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.can-controls.is-open{z-index:6}.can-controls[hidden]{display:none}.can-drawer{position:absolute;inset:0;width:100%;transform:translate(100%);transition:transform .35s cubic-bezier(.22,.7,.25,1)}.can-controls.is-open .can-drawer{transform:translate(0)}.can-controls .can-toggle{position:absolute;right:auto;left:-36px;top:280px;pointer-events:auto;transition:left .35s cubic-bezier(.22,.7,.25,1),border-radius .35s}.can-controls.is-open .can-toggle{left:0;border-radius:0 28px 28px 0;border-left:0;border-right:1px solid #ffffff19;flex-direction:row-reverse;padding:2px 5px 2px 2px}.can-toggle svg{width:25px;height:25px}.can-panel{position:absolute;inset:0;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:8px 16px 12px;border-left:1px solid #ffffff19;background:linear-gradient(145deg,#25252bf5,#101014fa);box-shadow:-4px 0 14px #0005;pointer-events:none;color:#f4f4f6}.can-controls.is-open .can-panel{pointer-events:auto}.can-panel header{display:flex;align-items:center;justify-content:space-between;font-size:17px}.can-panel header button{border:0;background:none;color:#ccc;font-size:26px;width:36px;height:36px}.can-hint{font-size:12px;color:#bbb;margin:4px 0 10px}.can-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.can-action{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:78px;border:1px solid #ffffff25;border-radius:13px;background:#42434b;color:#fff;font:inherit;font-size:14px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.can-action:last-child{grid-column:1/-1}.can-action svg{width:28px;height:28px}.can-action:disabled{opacity:.35}.can-action:focus-visible{outline:2px solid #fff;outline-offset:2px}.can-action:after{content:"";position:absolute;bottom:0;left:0;width:0;height:4px;background:#9be7b5}.can-action.is-holding{background:#365a45}.can-action.is-holding:after{width:100%;transition:width 1.1s linear}.can-message{margin:12px 0 0;font-size:12px;color:#ddd;line-height:1.4}.can-message:empty{display:none}@media(prefers-reduced-motion:reduce){.can-drawer,.can-controls .can-toggle{transition:none}}.can-action{--action-color:#9eb9ff;--action-bg:#223046;background:linear-gradient(145deg,var(--action-bg),#17191f);border-color:color-mix(in srgb,var(--action-color) 45%,transparent)}.can-action svg{color:var(--action-color)}.can-action[data-command=lvcanopenalldoors]{--action-color:#8be2af;--action-bg:#203e30}.can-action[data-command=lvcanclosealldoors]{--action-color:#9ebfff;--action-bg:#243650}.can-action[data-command=lvcanopentrunk]{--action-color:#cab0ff;--action-bg:#382b48}.can-action[data-command=lvcanturninglights]{--action-color:#ffd07c;--action-bg:#46391f}.can-action[data-command=lvcanhorn]{--action-color:#ffa88a;--action-bg:#472f28}.can-action:after{background:var(--action-color)}.can-action.is-holding{background:var(--action-bg)}.can-engine-slot:has(.engine-control:not([hidden])){margin-top:12px;padding-top:12px;border-top:1px solid #ffffff20}.can-engine-slot .engine-control{padding:0}.can-engine-slot .engine-track>span{font-size:12px}.can-controls .can-panel>header{height:36px;min-height:0;margin:0;padding:0 0 0 32px;gap:8px}.can-controls .can-panel>header{position:sticky;top:-8px;z-index:2;background:#202126}.can-countdown{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;color:#a7edc2}.can-hold-progress{position:absolute;left:0;bottom:0;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;appearance:none;background:#ffffff20;color:#8be2af}.can-hold-progress::-webkit-progress-bar{background:#ffffff20}.can-hold-progress::-webkit-progress-value{background:#8be2af}.can-hold-progress::-moz-progress-bar{background:#8be2af}.can-confirmation{width:min(340px,calc(100vw - 40px));padding:26px 22px 22px;border:1px solid #43604e;border-radius:22px;background:linear-gradient(145deg,#232c27,#121617);color:#f5f5f8;text-align:center;box-shadow:0 18px 60px #0009;pointer-events:auto}.can-confirmation::backdrop{background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.can-confirmation-icon{width:76px;height:76px;color:#8be2af;margin-bottom:12px}.can-confirmation h2{font-size:20px;margin:0 0 12px}.can-confirmation-action{font-size:15px;color:#a7edc2}.can-confirmation p{font-size:14px;line-height:1.6;color:#d3dad6;margin:14px 0 22px}.can-confirmation button{width:100%;min-height:46px;border:1px solid #57966f;border-radius:12px;background:#27583b;color:#fff;font:inherit;font-weight:600}.can-controls:not(.is-open) .can-panel{box-shadow:none}.saved-command-controls{margin-top:16px;padding-top:16px;border-top:1px solid #ffffff20;display:grid;gap:12px}.saved-command-controls select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #494951;border-radius:5px;background:#202126;color:#eee;font:inherit}.saved-command-controls label>span{display:block;color:#bcbcc5;font-size:12px;margin-bottom:6px}.saved-command-send{min-height:50px;font-size:14px;background:linear-gradient(115deg,#301719,#171014 65%,#0b0b0d)}.can-controls .can-panel>.can-hint{padding-inline:32px}.can-controls .can-panel{padding-inline:0;border-left:0}.can-controls .can-panel>.can-grid,.can-controls .can-panel>.can-engine-slot,.can-controls .can-panel>.saved-command-controls,.can-controls .can-panel>.can-message{box-sizing:border-box;width:92%;margin-inline:auto;min-width:0}.can-controls .can-panel>.can-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.can-controls .can-panel>header{padding-inline:clamp(44px,12%,56px) 4%}.can-controls .can-panel>.can-hint{padding-inline:clamp(44px,12%,56px);box-sizing:border-box}.route-overlay .route-toggle{top:172px}.route-period{position:absolute;top:0;left:0;right:0;z-index:1000;padding:7px 10px;border-radius:0;background:#17181db3;color:#eee;box-shadow:0 2px 8px #0004}.route-range{display:block;width:100%;min-height:34px;border:1px solid #494951;border-radius:7px;background:#25252b;color:#eee;font-size:14px;padding:5px 8px}.route-period>p{font-size:11px;line-height:1.3;margin:4px 0 0;overflow-wrap:anywhere}.route-retry{background:#30303a;color:#eee;border:1px solid #555;border-radius:6px;padding:6px}.route-calendar{position:absolute;top:45px;left:0;right:0;padding:10px;background:#202026;border:1px solid #494951;border-radius:10px;box-shadow:0 6px 20px #0008;max-height:310px;overflow:auto}.route-calendar-nav{display:flex;align-items:center;justify-content:space-between;font-size:14px}.route-calendar button{border:0;border-radius:6px;background:transparent;color:#eee;min-height:34px;font-size:14px;padding:4px}.route-calendar-nav button{width:36px;font-size:22px}.route-calendar p{font-size:11px;margin:6px 0;color:#bbb}.route-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.route-calendar-grid>span{font-size:11px;color:#aaa;padding:4px}.route-calendar-grid .selected{background:#7e2937;color:#fff}.route-calendar button:focus-visible{outline:2px solid #ed8795;outline-offset:0}.route-calendar-grid .is-today{box-shadow:inset 0 0 0 2px #82bddf;font-weight:800;position:relative}.route-calendar-grid .is-today:after{content:"";position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#82bddf}#vehicle-visual:has(.route-overlay.is-open){height:var(--route-view-height,60dvh);min-height:0}#vehicle-visual:has(.route-overlay.is-open)>.vehicle-gauges{z-index:5}.vehicle-stage:has(.route-overlay.is-open) .engine-control{display:none}#vehicle-visual:has(.route-overlay.is-open)>.vehicle-gauges:before{content:"";position:absolute;left:0;right:0;bottom:var(--dial-crop);height:114px;background:linear-gradient(to top,#101116f5 0,#17181de3 54px,#17181db8 78px,#17181d00 114px);border-top:0;z-index:0}#vehicle-visual:has(.route-overlay.is-open)>.vehicle-gauges{clip-path:inset(-120px -20px var(--dial-crop))}.route-playback{position:relative;background:#17181df2;padding:8px 16px calc(8px + env(safe-area-inset-bottom));color:#eee;border-top:1px solid #ffffff20}.route-sample-time{font-size:12px;line-height:1.5}.route-playback .route-scrubber{display:block;box-sizing:border-box;width:100%;height:36px;margin:6px 0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;accent-color:#4c88bc;touch-action:pan-y}.route-sample-data{font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums}.route-overlay .leaflet-bottom.leaflet-left{bottom:80px}.route-overlay .leaflet-bottom.leaflet-right{bottom:56px}.route-events{display:flex;gap:8px;overflow-x:auto;padding:8px 3px 3px;scrollbar-width:none}.route-events .route-event-button{flex:0 0 38px;width:38px;height:38px;padding:8px;border-color:#672330;opacity:.8}.route-events .route-event-button[aria-pressed=true]{opacity:1;border-color:#b34455;box-shadow:0 0 7px #8c263777,inset 0 1px 1px #ffffff26}.route-event-button small{position:absolute;right:-3px;top:-4px;min-width:15px;border-radius:8px;background:#672330;color:#fff;font-size:9px;padding:1px 3px}.route-calendar{z-index:1}.route-map-bottom{position:absolute;bottom:96px;left:10px;right:10px;z-index:1000;padding:6px 8px;border-radius:10px;background:#17181d4d;color:#ddd;display:flex;flex-direction:column}.route-map-bottom .route-events{order:-1;padding:5px 3px 8px}.route-speed-legend{display:flex;justify-content:center;gap:5px 9px;flex-wrap:wrap;font-size:10px}.route-speed-legend span{display:inline-flex;gap:4px;align-items:center}.route-speed-legend i{width:12px;height:4px;border-radius:2px}.route-speed-legend small{font-size:10px;color:#aaa}.route-calendar{max-height:min(310px,calc(var(--route-view-height,60dvh) - 65px))}@media(max-height:500px){.route-map-bottom{bottom:78px;padding:3px 6px}.route-map-bottom .route-events{padding:2px 0 4px}.route-events .route-event-button{width:30px;height:30px;flex-basis:30px;padding:5px}.route-sample-time{font-size:10px}.route-playback .route-scrubber{height:28px;margin:2px 0}}.route-map-bottom:not(:has(.route-events:not([hidden]))){display:none}.route-playback .route-speed-legend{margin-top:0}.route-events .route-event-button[data-kind=state]{border-color:#326847}.route-events .route-event-button[data-kind=state][aria-pressed=true]{border-color:#62ae7d;box-shadow:0 0 7px #32684777}.route-symbol-marker{background:none;border:0;padding:0;color:#eee;filter:drop-shadow(0 2px 3px #0006)}.route-pin-head{position:relative;width:32px;height:32px;border:2px solid #8f2b3c;border-radius:50%;background:#282832;padding:4px;z-index:1}.route-symbol-marker:before{content:"";position:absolute;left:8px;top:29px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:11px solid #8f2b3c}.route-symbol-marker:after{content:"";position:absolute;left:11px;top:29px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #282832;z-index:2}.route-symbol-marker svg{width:100%;height:100%}.route-symbol-marker .accent{stroke:#ed7987}.route-event-details{min-width:180px;white-space:normal;font-size:12px;line-height:1.5}.route-event-details>strong{display:block;font-size:14px}.route-event-details>time{display:block;margin:3px 0 7px;color:#666;font-size:11px}.route-event-details dl{margin:0}.route-event-details dl>div{display:flex;justify-content:space-between;gap:16px}.route-event-details dt{color:#666}.route-event-details dd{margin:0;font-weight:600}.route-event-tooltip{padding:9px 12px}.route-acceleration{margin-top:9px;padding-top:8px;border-top:1px solid #ddd}.route-acceleration>strong{display:block;font-size:12px;margin-bottom:4px}.route-acceleration>div:has(>b){display:flex;justify-content:space-between;gap:10px;margin-top:5px}.route-comparison-time,.route-comparison-delta{font-size:11px;color:#666}.route-comparison-delta{text-align:right}.route-overlay .route-map-bottom{bottom:54px;left:0;right:0;border-radius:0;padding:3px 12px 17px}.route-overlay .route-map-bottom .route-events{padding:5px 3px 3px}.route-overlay .leaflet-bottom.leaflet-right{bottom:138px}#vehicle-visual:has(.route-overlay.is-open)>.vehicle-gauges{--dial-size:90px}#vehicle-visual:has(.route-overlay.is-open) .vehicle-speed-dial>.vehicle-check-engine{width:18px;height:18px}#vehicle-visual:has(.route-overlay.is-open) .vehicle-speed-dial>.vehicle-drivetrain{bottom:25%}#vehicle-visual>.route-map-bottom{z-index:6;bottom:54px;left:0;right:0;border-radius:0;padding:3px 12px 17px;background:transparent;pointer-events:none}#vehicle-visual>.route-map-bottom .route-events{padding:5px 3px 3px;pointer-events:auto}#vehicle-visual>.route-map-bottom .route-events>:first-child{margin-left:auto}#vehicle-visual>.route-map-bottom .route-events>:last-child{margin-right:auto}#vehicle-visual:not(:has(.route-overlay.is-open))>.route-map-bottom{display:none}.route-playback .route-scrubber{height:30px;margin:4px 0 0}.route-period>p{text-align:center;display:flex;flex-wrap:wrap;justify-content:center;gap:3px 12px}.route-period>p>span{white-space:nowrap}.route-overspeed-marker{background:none;border:0;position:absolute;filter:drop-shadow(0 2px 3px #0006)}.route-overspeed-marker img{display:block;width:44px;height:44px}.route-overspeed-value{position:absolute;left:7px;top:13px;width:29px;height:27px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#500d23;text-align:center}.route-overspeed-value b{font:800 12px/13px Arial,sans-serif}.route-overspeed-value small{font:600 7px/9px Arial,sans-serif}.route-events .route-event-button:has(.route-overspeed-button){padding:0}.route-overspeed-button{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}.route-events .route-event-button:has(.alarm-button-image){padding:0}.route-events .route-event-button:has(.vehicle-motion-icon){padding:4px}.route-pin-head:has(.vehicle-motion-icon){padding:3px;display:grid;place-items:center}.route-events .route-event-button:has(.vehicle-motion-icon),.route-events .route-event-button:has(.vehicle-key-icon){display:grid;place-items:center}.route-events .route-event-button:has(.vehicle-key-icon){padding:5px}.route-events .vehicle-key-icon g[stroke-width="10"]{stroke-width:12}.route-events .vehicle-motion-icon,.route-events .vehicle-key-icon{display:block;width:100%;height:100%}.route-events .vehicle-motion-icon,.route-events .vehicle-key-icon{transform:translateY(-2px)}.route-events .route-event-button:has(.vehicle-motion-icon){background:radial-gradient(circle at 35% 22%,#fafafa,#d4d5d8);opacity:1}.route-events .route-event-button:has(.vehicle-key-icon){background:radial-gradient(circle at 35% 22%,#4a4b54,#25262e);opacity:1}.route-events .route-event-button:has(.vehicle-motion-icon)[aria-pressed=false],.route-events .route-event-button:has(.vehicle-key-icon)[aria-pressed=false]{border-color:#62646e;box-shadow:0 2px 4px #0005}.route-pin-head:has(.vehicle-motion-icon){background:radial-gradient(circle at 35% 22%,#fafafa,#d4d5d8)}.route-symbol-marker:has(.vehicle-motion-icon):after{border-top-color:#d4d5d8}.route-pin-head:has(.vehicle-key-icon){background:radial-gradient(circle at 35% 22%,#4a4b54,#25262e)}.route-symbol-marker:has(.vehicle-key-icon):after{border-top-color:#25262e}.route-loading{position:absolute;inset:0;z-index:900;display:grid;place-items:center;background:#10111555;pointer-events:auto}.route-loading-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 24px;border:1px solid #ffffff18;border-radius:10px;background:#191a20e8;color:#eee;font-size:14px;text-align:center;box-shadow:0 4px 24px #0004}.route-loading-spinner{width:42px;height:42px;border:3px solid #ffffff30;border-top-color:#c6566b;border-radius:50%;animation:route-loading-spin .85s linear infinite}@keyframes route-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.route-loading-spinner{animation-duration:2s}}.route-overlay.is-open .route-toggle{top:calc(var(--route-toolbar-height,70px) + 8px)}.route-zone-popup{min-width:170px;color:#24252b}.route-zone-popup p{margin:0 0 8px;font-size:13px}.route-zone-create{width:100%;min-height:40px;border:0;border-radius:7px;background:#8f2b3c;color:#fff;font-size:14px;font-weight:700}.route-zone-dialog{position:fixed;z-index:2147483647;width:min(420px,calc(100vw - 32px));max-width:none;padding:0;border:1px solid #ffffff26;border-radius:14px;background:#1d1e24;color:#f2f2f4;box-shadow:0 12px 48px #0009;pointer-events:auto;touch-action:auto}.route-zone-dialog[open],.route-zone-dialog[open] *{pointer-events:auto}.route-zone-dialog::backdrop{background:#0009;pointer-events:auto}.route-zone-dialog form{display:grid;gap:14px;padding:20px}.route-zone-dialog h2{margin:0;font-size:19px}.route-zone-dialog label{display:grid;gap:6px;color:#bbb;font-size:13px}.route-zone-dialog input{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #484951;border-radius:8px;background:#282930;color:#fff;font:inherit;font-size:16px}.route-zone-coordinates{margin:0;color:#aab3c5;font-size:13px;font-variant-numeric:tabular-nums}.route-zone-error{min-height:18px;margin:0;color:#ed8795;font-size:13px}.route-zone-actions{display:flex;justify-content:flex-end;gap:10px}.route-zone-actions button{min-height:42px;padding:0 16px;border:1px solid #4a4b53;border-radius:8px;background:#292a31;color:#eee;font:inherit}.route-zone-actions button[type=submit]{border-color:#8f2b3c;background:#8f2b3c;font-weight:700}.route-zone-actions button:disabled{opacity:.6}.route-zone-notice{position:fixed;left:50%;bottom:calc(105px + env(safe-area-inset-bottom));z-index:1100;max-width:min(92vw,420px);transform:translate(-50%);padding:11px 16px;border:1px solid #4d8e65;border-radius:10px;background:#193627f2;color:#fff;font-size:14px;text-align:center;box-shadow:0 4px 16px #0006;pointer-events:none}.route-zone-notice.is-error{border-color:#a64452;background:#451e25f2}.route-zone-notice[hidden]{display:none}.route-period>p>.route-zone-hint{flex-basis:100%;font-size:10px;color:#aaa}.seatbelt-indicator{position:relative;width:148px;padding:10px;border:1px solid #ffffff19;border-radius:0 0 0 20px;background:linear-gradient(145deg,#25252bed,#101014ee);box-shadow:0 6px 18px #0006;text-align:center}.belt-heading{font-size:9px;letter-spacing:1.8px;color:#b5b5be;margin-bottom:5px}.belt-cabin{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:22px 7px 10px;border:1px solid #ffffff18;border-radius:28px 28px 16px 16px;background:linear-gradient(#ffffff04,#0002)}.belt-steering{position:absolute;left:23px;top:3px;color:#b9bac2;font-size:17px;line-height:18px}.belt-seat{--belt-accent:#ef4051;position:relative;display:block;min-width:0;padding:0!important;border:1px solid #ffffff20!important;border-radius:11px 11px 8px 8px;background:linear-gradient(145deg,#414149,#22232a)!important;box-shadow:2px 3px #08090c;color:#e8e8ee;font:inherit;touch-action:manipulation}.belt-seat:focus-visible{outline:2px solid #ddd;outline-offset:3px}.belt-headrest{width:22px;height:6px;margin:-4px auto 0;border-radius:4px;background:#55555f;border:1px solid #74747c}.belt-seat svg{display:block;width:40px;height:48px;margin:auto;filter:drop-shadow(1px 2px 1px #0008)}.belt-seat-label{display:block;font-size:8px;line-height:11px;padding:0 1px 4px;color:#c2c2ca}.belt-caption{font-size:10px;color:#c2c2ca;margin-top:8px}.belt-tongue{transform:translateY(-9px);transition:transform .55s cubic-bezier(.2,.7,.2,1)}.fastened .belt-tongue{transform:translateY(12px)}.belt-seat.fastened{--belt-accent:#65cd93}.belt-seat.unknown{--belt-accent:#82838e}.belt-release{fill:var(--belt-accent);transition:fill .4s}.belt-check{opacity:0;transition:opacity .3s}.fastened .belt-check{opacity:1}@media(prefers-reduced-motion:reduce){.seatbelt-indicator *{transition:none!important}}.belt-overlay{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}.belt-drawer{position:absolute;right:0;top:10px;width:148px;transform:translate(100%);transition:transform .25s ease}.belt-drawer.is-open{transform:translate(0)}.seatbelt-indicator{pointer-events:none}.belt-drawer.is-open .seatbelt-indicator{pointer-events:auto}.belt-toggle{position:absolute;right:100%;top:0;z-index:4;width:36px;height:48px;padding:2px 2px 2px 5px;display:flex;align-items:center;justify-content:center;gap:0;border:1px solid #ffffff19;border-right:0;border-radius:28px 0 0 28px;background:linear-gradient(145deg,#25252bed,#101014ee);color:#d3d5de;box-shadow:-3px 3px 12px #0004;cursor:pointer;touch-action:manipulation;pointer-events:auto}.belt-toggle svg{width:21px;height:27px;flex-shrink:0}.belt-arrow{font-size:18px;color:#999da8;transition:transform .25s}.belt-toggle.is-open .belt-arrow{transform:rotate(180deg)}.belt-toggle:focus-visible{outline:2px solid #b9becd;outline-offset:-3px}@media(prefers-reduced-motion:reduce){.belt-drawer,.belt-arrow{transition:none}}.belt-overlay:has(.belt-drawer.is-open){z-index:6}.belt-overlay[hidden],.belt-seat[hidden]{display:none}.belt-drawer:not(.is-open) .seatbelt-indicator{box-shadow:none}:root{font-family:Manrope,Arial,sans-serif;color:#f5f5f6;background:#070708;font-synthesis:none;--red:#ff2a2a;--muted:#929298;--line:#26262b}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}svg{width:22px;height:22px;flex-shrink:0}button:focus-visible,a:focus-visible{outline:2px solid #ff6969;outline-offset:5px}[hidden]{display:none!important}.shell{max-width:480px;min-height:100svh;margin:0 auto;padding:0 24px;background:#0b0b0d;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}header{height:96px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.8px;font-weight:800;line-height:1.5}.brand strong{display:block;font-size:15px;letter-spacing:1.3px}.brand-mark{width:39px;height:39px;display:flex;align-items:center;font-style:italic;font-weight:800;font-size:34px;letter-spacing:-7px;color:#fff}.brand-mark span{font-size:30px;color:var(--red);transform:translateY(-2px)}.edition{font-size:10px;letter-spacing:1.1px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--muted);display:flex;align-items:center;gap:9px}.eyebrow i{height:5px;width:5px;background:var(--red)}.login{background:radial-gradient(ellipse at 105% 4%,#52131555,transparent 43%),#0b0b0d}.login-intro{padding:53px 0 39px}h1{font-size:35px;letter-spacing:-1.7px;line-height:1.18;margin:21px 0 20px;font-weight:800}h1 em{font-style:normal;color:var(--red)}.login-intro p{font-size:15px;color:#9a9a9f;line-height:1.8;margin:0}.login-rule{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;color:#9a9a9f;font-size:10px;letter-spacing:1.2px;margin-bottom:26px}.login-rule span:last-child{font-size:9px;color:#5f5f68}label{display:block;font-size:14px;margin:20px 0 10px;font-weight:600}input{width:100%;height:56px;background:#151518;border:1px solid #2a2a30;color:#fff;border-radius:10px;padding:0 16px;font-size:16px;outline:none}input:focus{border-color:var(--red);box-shadow:0 0 0 3px #ff2a2a16}input::placeholder{color:#62626b}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;right:6px;top:6px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #2a2a30;border-radius:50%;background:transparent;color:#b4b4bb}.password-field .icon-button{border:0}.primary{width:100%;min-height:56px;border:1px solid #ff4343;border-radius:10px;background:linear-gradient(115deg,#ff2a2a,#c91821);box-shadow:0 7px 26px #ff25251c;color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:space-between;padding:15px 20px}.error{color:#ff9494;font-size:14px;line-height:1.6}.error:empty{margin:24px 0 0}.demo-link{min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;margin:16px auto;background:transparent;border:0;color:#b9b9c0;font-size:14px}.demo-link svg{width:17px}footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#65656e;font-size:9px;letter-spacing:1px;padding:26px 0 30px}.login footer{flex-direction:column;gap:25px;margin-top:18px}.lock{font-size:12px;letter-spacing:0;color:#82828a}.lock:before{content:"◈";margin-right:8px;color:#a7a7b0}.demo-banner{background:#ff2a2a12;border:1px solid #ff2a2a35;border-radius:6px;padding:9px 11px;color:#ff6868;font-size:10px;font-weight:800;letter-spacing:.6px;display:flex;justify-content:space-between;gap:8px}.demo-banner span{font-weight:400;color:#b5a1a1;letter-spacing:0}.vehicle-heading{display:flex;justify-content:space-between;align-items:center;margin-top:29px;gap:8px}.vehicle-heading .eyebrow{font-size:9px;letter-spacing:1.7px}.vehicle-heading h1{font-size:27px;letter-spacing:-1px;margin:9px 0 11px;overflow-wrap:anywhere}.plate{font-size:17px;letter-spacing:1.5px;color:#d7d7df;margin-bottom:-30px}.status{font-size:11px;color:#a8a8b0;white-space:nowrap;background:#1a1a1e;border:1px solid #333339;padding:7px 9px;border-radius:6px}.status.online{color:#a6dbb6;border-color:#314738;background:#14271b80}.vehicle-stage{position:relative;margin:22px -24px 0;background:radial-gradient(ellipse at 50% 70%,#65212135,transparent 62%);border-bottom:1px solid var(--line)}.stage-label{position:absolute;top:7px;left:24px;font-size:9px;letter-spacing:2px;color:#595960;z-index:1}model-viewer{height:350px;width:100%;--progress-bar-color:var(--red)}.model-loading{font-size:12px;color:var(--muted);position:absolute;top:50%;left:0;right:0;text-align:center}.stage-bottom{display:flex;justify-content:space-between;align-items:center;padding:0 24px 12px;color:#85858f;font-size:10px}.stage-bottom .icon-button{width:36px;height:36px}.stage-bottom svg{width:17px}.model-caption{display:block;text-align:center;color:#767680;font-size:10px;padding-bottom:12px}.model-error{position:absolute;inset:80px 20px auto;text-align:center;color:#ff9494;font-size:14px;background:#151518ed;padding:15px;border:1px solid #593035;border-radius:8px}.section-line{display:flex;align-items:center;justify-content:space-between;margin:26px 0 16px;gap:12px}.section-line h2{font-size:14px;font-weight:600;margin:0}.section-line>span{font-size:9px;color:#8b8b94;letter-spacing:1px}#notice{font-size:12px;line-height:1.6;color:#d9b58c}#notice:empty{display:none}.speed-card{background:linear-gradient(115deg,#201719,#151416);border:1px solid #392326;padding:21px 20px 17px;border-radius:13px;display:flex;justify-content:space-between;align-items:center;position:relative;flex-wrap:wrap}.metric-label{font-size:9px;letter-spacing:1.5px;color:#a1a1aa;font-weight:600}.speed{display:flex;align-items:baseline;gap:9px}.speed b{font-size:55px;font-weight:500;letter-spacing:-3px;line-height:1.3;font-variant-numeric:tabular-nums}.speed>span{font-size:13px;color:#8d878b}.motion{text-align:right;display:flex;flex-direction:column;gap:8px}.motion span:first-child{font-size:14px}.motion span:last-child{font-size:10px;color:#89838a}.speed-track{height:3px;background:#39292d;width:100%;margin-top:12px}.speed-track span{height:100%;background:var(--red);display:block;transition:width .5s}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.metrics article{padding:17px;background:#131316;border:1px solid #242429;border-radius:12px;display:flex;flex-direction:column;align-items:flex-start}.metrics svg{color:#a6a6af;width:21px;height:21px;margin-bottom:16px}.metrics article>span{font-size:12px;color:#93939e}.metrics strong{font-size:20px;letter-spacing:-.6px;font-weight:600;margin-top:5px;overflow-wrap:anywhere}.metrics small{font-size:10px;color:#60606d;margin-top:7px}.location-card{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-top:1px solid var(--line);margin-top:22px}.location-card>svg{color:var(--red);margin-top:4px}.location-card p{font-size:14px;line-height:1.6;margin:7px 0}.location-card a{display:inline-block;color:#e98989;font-size:12px;text-decoration:none;padding:8px 0}.dashboard footer{border-top:1px solid var(--line)}.empty{padding-top:50px}.empty h1{margin-top:60px}.empty p{color:var(--muted);line-height:1.7}@media(min-width:600px){body{background:radial-gradient(ellipse at 50% 0,#301719,#070708 60%)}.shell{border-left:1px solid #282126;border-right:1px solid #282126;box-shadow:0 0 80px #0008}.login{min-height:100svh}}@media(max-width:360px){.shell{padding-left:18px;padding-right:18px}.brand strong{font-size:13px}.edition{font-size:8px}.login-intro{padding-top:30px}h1{font-size:31px}.vehicle-stage{margin-left:-18px;margin-right:-18px}.status{font-size:10px;padding:6px}.metrics article{padding:13px}.metrics strong{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.vehicle-picker{margin-top:18px}.vehicle-picker label{display:flex;gap:7px;align-items:center;font-size:13px;color:#b7b7bf;margin:0 0 9px}.vehicle-picker label span{color:#777782}.vehicle-picker select{width:100%;min-height:52px;padding:12px;color:#f5f5f6;background:#17171c;border:1px solid #34343d;border-radius:10px;font:inherit;font-size:14px;text-overflow:ellipsis;cursor:pointer;color-scheme:dark}.vehicle-picker select:focus-visible{outline:2px solid #ff6969;outline-offset:3px}.brand .official-logo{display:block;width:82px;height:86px;object-fit:contain;filter:brightness(0) invert(1)}.empty>.brand .official-logo{width:110px;height:115px}.dashboard header{gap:12px;height:80px}.dashboard header .brand,.dashboard header #logout{flex-shrink:0}.dashboard header .official-logo{width:64px;height:72px}.dashboard header .vehicle-picker{flex:1;min-width:0;margin:0}.dashboard header .vehicle-picker select{min-height:48px;padding:10px 8px;font-size:14px}.vehicle-heading>div{min-width:0}.vehicle-heading h1{margin:0}.vehicle-heading{margin-top:24px}.vehicle-stage{margin-top:16px}@media(max-width:360px){.dashboard header{gap:8px}.dashboard header .official-logo{width:52px;height:62px}model-viewer{height:320px}}.course-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px 12px}.course-controls button{min-height:44px;padding:10px 14px;border:1px solid #44444c;border-radius:9px;background:#1a1a20;color:#eee;font:inherit;font-size:13px}.course-controls button[aria-pressed=true]{border-color:#ff2a2a;background:#491a20}.course-controls span{font-size:11px;color:#a5a5ad}.north-label{position:absolute;top:8px;right:24px;font-size:10px;letter-spacing:1px;color:#d7d7de}.door-status{padding:0 24px 12px;font-size:11px;color:#a5a5ad}.engine-control{padding:14px 24px}.engine-track{height:54px;position:relative;border:1px solid #493039;border-radius:18px;background:linear-gradient(145deg,#242126,#151417);display:flex;align-items:center;justify-content:center;padding:0 16px 0 60px;overflow:hidden}.engine-track>span{font-size:12px;color:#dec6c9;pointer-events:none;text-align:center;line-height:1.4}#engine-slide{position:absolute;left:4px;top:50%;margin-top:-22px;width:44px;height:44px;border:1px solid #ffffff18;border-radius:14px;background:linear-gradient(145deg,#b63847,#722330);box-shadow:0 2px 6px #0005,inset 0 1px 1px #ffffff20;color:#fff;font-size:24px;touch-action:none;-webkit-user-select:none;user-select:none}#engine-slide:disabled{opacity:.35;cursor:not-allowed}.engine-control small{display:block;text-align:center;font-size:10px;color:#929298;margin-top:8px}#engine-message{font-size:12px;color:#d9b58c;line-height:1.5;margin:8px 0 0}#engine-message:empty{display:none}.engine-control.unlock .engine-track{background:linear-gradient(145deg,#202a25,#141917);border-color:#304d3d}.engine-control.unlock .engine-track>span{color:#a9e4bd}.engine-control.unlock #engine-slide{background:#278454}.engine-lock{position:absolute;top:42px;left:24px;width:28px;height:32px;color:#42de8b;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 5px #000)}.engine-lock svg{width:100%;height:100%}.engine-lock.blocked{top:120px;left:50%;transform:translate(-50%);width:92px;height:104px;color:#ff293a;filter:drop-shadow(0 0 14px #390008);background:#160b0ddd;border-radius:18px;padding:12px}.engine-lock.stale{opacity:.55}.engine-spinner{display:none;width:21px;height:21px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:engine-spin .8s linear infinite}.engine-control.pending .engine-track{padding-left:12px;padding-right:56px}.engine-control.pending #engine-slide{left:auto;right:4px;transform:none!important;opacity:1;cursor:wait;display:grid;place-items:center}.engine-control.pending .engine-arrow{display:none}.engine-control.pending .engine-spinner{display:block}.engine-wait-overlay{position:absolute;inset:0 0 auto;height:350px;z-index:4;background:#0b0b0d66;-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1);cursor:wait;touch-action:pan-y;display:flex;align-items:flex-end;justify-content:center;padding:20px}.engine-wait-overlay span{font-size:12px;color:#ddd;background:#151518d9;padding:8px 14px;border-radius:20px}@keyframes engine-spin{to{transform:rotate(360deg)}}@media(max-width:360px){.engine-wait-overlay{height:320px}}@media(prefers-reduced-motion:reduce){.engine-spinner{animation:none}}.engine-wait-overlay.locked{z-index:1}.rpm-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;margin-top:12px;padding-top:12px;border-top:1px solid #39292d}.rpm-row strong{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.rpm-row>div{white-space:nowrap}.rpm-row>div>span{font-size:11px;color:#8d878b}.vehicle-heading .plate{margin-top:7px;overflow-wrap:anywhere;line-height:1.5}.section-line{align-items:flex-start}.section-line h2{line-height:1.5}.telemetry-status{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:5px;flex-shrink:0}.telemetry-status #motion{font-size:12px;color:#ddd}.telemetry-status #fix-time{font-size:10px;color:#89838a}.telemetry-status #connection{font-size:8px;color:#8b8b94;letter-spacing:1px}.speed-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:20px 16px}.driving-metric{min-width:0}.driving-metric+.driving-metric{border-left:1px solid #39292d;padding-left:18px}.driving-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;min-height:64px;padding-top:8px}.driving-value b{font-size:clamp(28px,8.5vw,40px);font-weight:500;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;line-height:1.3}.driving-value>span{font-size:10px;color:#8d878b;white-space:nowrap}.driving-metric .speed-track{margin-top:10px}@media(max-width:360px){.speed-card{gap:12px;padding:18px 12px}.driving-metric+.driving-metric{padding-left:12px}.section-line h2{font-size:12px}}#vehicle-visual{height:350px;position:relative}#vehicle-model-host{position:absolute;inset:0}.vehicle-2d{height:100%;display:grid;place-items:center;pointer-events:none}.vehicle-2d img{height:265px;width:142px;filter:drop-shadow(0 12px 18px #0008)}.vehicle-color{display:flex;justify-content:space-between;align-items:center;padding:0 24px 12px;gap:12px}.vehicle-color label{margin:0;font-size:12px;color:#a5a5ad}.vehicle-color input{width:46px;height:34px;padding:3px;cursor:pointer}@media(max-width:360px){#vehicle-visual{height:320px}}.vehicle-color{flex-wrap:wrap}.model-credit{flex-basis:100%;font-size:9px;color:#777780}.model-credit a{color:inherit}.road-toggle{margin:12px 0;padding:10px 14px;border:1px solid #45454d;border-radius:10px;background:#1b1b20;color:#eee;font:inherit;font-size:13px;cursor:pointer}.road-toggle[aria-pressed=true]{border-color:#ee263d;background:#35171d}.dashboard .vehicle-heading{margin-top:8px;gap:12px}.dashboard .vehicle-heading>div{flex:1}.dashboard .vehicle-heading .status{display:block;flex:0 0 8px;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#777780;font-size:0}.dashboard .vehicle-heading .status.online{background:#87d4a1;box-shadow:0 0 7px #87d4a133}.dashboard .vehicle-stage{margin-top:4px}.dashboard .stage-label,.dashboard .stage-bottom{display:none!important}.dashboard .section-line{margin-top:18px}.dashboard .door-status{padding-bottom:10px}#vehicle-settings-toggle{font-size:23px;flex-shrink:0}.vehicle-settings{width:calc(100% - 32px);max-width:420px;max-height:80svh;overflow:auto;padding:20px;color:#eee;background:#141417;border:1px solid #38383e;border-radius:16px;box-shadow:0 15px 60px #0009}.vehicle-settings::backdrop{background:#0009}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.settings-heading h2{font-size:17px;margin:0}.settings-heading button{font-size:25px}.vehicle-settings .course-controls{padding:16px 0}.vehicle-settings .vehicle-color{padding:12px 0}.vehicle-settings .road-toggle{width:100%;text-align:left}.vehicle-settings #logout{margin:12px 0 0;width:100%;border-top:1px solid #333;color:#e5b5b5}:root{--vehicle-view-height:460px}#vehicle-visual,model-viewer,.engine-wait-overlay{height:var(--vehicle-view-height)}model-viewer{display:block}.dashboard .telemetry-status{width:100%;min-width:0;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;gap:8px;flex-shrink:1}.dashboard .telemetry-status>span{min-width:0}.dashboard .telemetry-status #fix-time{white-space:nowrap}.dashboard .telemetry-status #connection{text-align:right;letter-spacing:.5px}@media(max-width:360px){:root{--vehicle-view-height:400px}.dashboard .telemetry-status{gap:5px}.dashboard .telemetry-status #motion{font-size:11px}}.vehicle-search-trigger{width:100%;min-height:48px;padding:10px;background:#151518;color:#eee;border:1px solid #33333b;border-radius:10px;font:inherit;font-size:13px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-search-dialog{width:calc(100% - 32px);max-width:440px;max-height:75dvh;margin:max(16px,env(safe-area-inset-top)) auto auto;padding:18px;border:1px solid #38383e;border-radius:16px;background:#141417;color:#eee;overflow:auto}.vehicle-search-dialog::backdrop{background:#0009}.vehicle-search-dialog label{margin:8px 0;font-size:12px;color:#aaa}.vehicle-search-dialog input{height:46px}.vehicle-search-results{max-height:36dvh;overflow:auto;overscroll-behavior:contain;margin-top:12px}.vehicle-search-option{display:block;width:100%;padding:14px 10px;text-align:left;background:transparent;border:0;border-bottom:1px solid #2a2a30;color:#eee;font:inherit;font-size:13px;overflow-wrap:anywhere}.vehicle-search-option[aria-pressed=true]{background:#39191f;color:#ffb6bd}.vehicle-search-count{margin:12px 0 0;font-size:12px;color:#a0a0aa}.vehicle-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0b0b0d;color:#bcbcc4;font-size:13px;z-index:2}.vehicle-loading-spinner{width:32px;height:32px;border:3px solid #35353c;border-top-color:var(--red);border-radius:50%;animation:engine-spin .85s linear infinite}@media(prefers-reduced-motion:reduce){.vehicle-loading-spinner{animation:none}}#vehicle-visual>.course-controls{position:absolute;top:10px;right:0;z-index:2;width:36px;max-width:36px;display:flex;padding:0;gap:0}#vehicle-visual>.course-controls button{display:flex;align-items:center;justify-content:center;gap:0;flex:0 0 36px;width:36px;height:48px;min-height:48px;padding:2px 2px 2px 5px;border:1px solid #ffffff19;border-right:0;border-radius:28px 0 0 28px;background:linear-gradient(145deg,#25252bed,#101014ee);color:#d3d5de;box-shadow:-3px 3px 12px #0004}#vehicle-visual>.course-controls button:before{content:"";width:7px;flex-shrink:0}#vehicle-visual>.course-controls button svg{width:21px;height:27px;flex-shrink:0}#vehicle-visual>.course-controls button[aria-pressed=true]{border-color:#b94453;color:#fff;background:linear-gradient(145deg,#652c37,#28171d)}#vehicle-visual>.course-controls button:disabled{opacity:.4}#vehicle-visual>.course-controls #course-value{display:none}#vehicle-visual:has(.belt-overlay:not([hidden]))>.course-controls{top:226px}#vehicle-visual>.north-label{position:absolute;top:14px;left:50%;right:auto;transform:translate(-50%);z-index:2;font-size:10px;letter-spacing:2px;color:#d7d7de;pointer-events:none;text-shadow:0 1px 4px #000}.dashboard>header{height:60px;gap:8px;margin-right:-24px;padding-top:0}.dashboard>header .brand{width:48px;height:48px;flex:0 0 48px;aspect-ratio:1}.dashboard>header .official-logo{width:100%;height:100%;object-fit:contain}.dashboard>header .vehicle-picker{flex:1 1 0;min-width:0}.dashboard>header .vehicle-search-trigger{min-height:44px;width:100%;padding:8px;font-size:13px}.dashboard>header #vehicle-settings-toggle{flex:0 0 36px;width:36px;height:48px;padding:2px 2px 2px 5px;border:1px solid #ffffff19;border-right:0;border-radius:28px 0 0 28px;background:linear-gradient(145deg,#25252bed,#101014ee);color:#d3d5de;box-shadow:-3px 3px 12px #0004;font-size:21px}.dashboard .vehicle-heading{margin-top:3px}.dashboard .vehicle-heading #plate{margin:0;font-size:27px;font-weight:800;letter-spacing:-.5px;line-height:1.2;overflow-wrap:anywhere}.dashboard .vehicle-heading .vehicle-subtitle{margin-top:3px;font-size:16px;line-height:1.4;color:#d7d7df;overflow-wrap:anywhere}@media(max-width:360px){.dashboard>header{margin-right:-18px;gap:6px}.dashboard>header .brand{width:42px;height:42px;flex-basis:42px}}.dashboard>header #vehicle-settings-toggle{display:flex;align-items:center;justify-content:center;gap:0}.dashboard>header #vehicle-settings-toggle svg{width:21px;height:27px;flex-shrink:0}.engine-choice{display:flex;gap:8px;margin-bottom:10px}.engine-choice[hidden]{display:none}.engine-choice button{flex:1;padding:10px;border:1px solid #ffffff26;border-radius:12px;background:#24242b;color:#ccc;font:inherit;font-size:13px}.engine-choice button[aria-pressed=true]{border-color:#c45a70;background:#493039;color:#fff}.engine-choice button[data-target=unblock][aria-pressed=true]{border-color:#65bd86;background:#244533}.engine-wait-overlay{box-sizing:border-box;padding-bottom:104px;pointer-events:none}.scene-fix-time{position:absolute;top:5px;right:12px;z-index:3;padding:3px 6px;border-radius:5px;background:#10101499;color:#bbbcc5;font-size:10px;line-height:15px;pointer-events:none;font-variant-numeric:tabular-nums}.scene-fix-time:empty{display:none}.dashboard .telemetry-status{display:flex;align-items:center;gap:16px;overflow-x:auto;scrollbar-width:none;padding:2px 0}.dashboard .telemetry-status .compact-metric{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1 0 auto;white-space:nowrap}.compact-metric small{font-size:10px;color:#999ba6}.compact-metric b{font-size:13px;font-weight:600;color:#e8e9ef;font-variant-numeric:tabular-nums}.compact-metric>svg{width:23px;height:23px;color:#bccad9}.dashboard .telemetry-status{align-items:flex-start}#compact-operator{max-width:105px;white-space:normal;text-align:center;overflow-wrap:anywhere;font-size:9px;line-height:12px;color:#b7bec8}.vehicle-settings{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:18px 0 0 18px;padding:20px 22px calc(20px + env(safe-area-inset-bottom));border:0;border-left:1px solid #38383e;overflow-y:auto}.vehicle-settings[open]{animation:settings-slide-in .3s ease-out}@keyframes settings-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.vehicle-settings[open]{animation:none}}#server-settings{margin-top:18px;padding-top:12px;border-top:1px solid #333}#server-settings small{display:block;margin-top:8px;color:#aaa;font-size:11px;line-height:1.5}#server-error{color:#ffa5af;font-size:12px}.gps-login .login-intro{padding:32px 0}.gps-login-brand{width:min(100%,360px);padding:0;background:transparent}.gps-login-brand img{display:block;width:100%;height:auto;object-fit:contain}.gps-login>header{justify-content:center}.gps-login{background:radial-gradient(ellipse at 100% 0,#591b3150,transparent 52%),#0b0b0d}.gps-login .primary{background:linear-gradient(115deg,#b23c50,#8b263f 48%,#511b30);border-color:#a54a60;box-shadow:inset 0 1px #ffffff16,0 6px 22px #641d342b}.gps-login h1 em{color:#c35b70}.gps-login input:focus{border-color:#813044;box-shadow:0 0 0 3px #64162930}.gps-login button:focus-visible{outline-color:#ad4e5b}.gps-login{padding:0 24px 32px;background:radial-gradient(ellipse at 95% 18%,#420d1838,transparent 52%),linear-gradient(165deg,#111216,#09090c 65%);min-height:100svh}.gps-login>header{height:auto;padding:34px 0 28px;border-bottom:1px solid #ffffff09}.gps-login-brand{width:min(100%,290px)}.gps-login .login-intro{position:relative;padding:30px 0 12px}.gps-login .eyebrow{font-size:8px;letter-spacing:1.5px;color:#a4a1aa;font-weight:600}.gps-login h1{font-size:clamp(28px,7.3vw,35px);line-height:1.22;letter-spacing:-1.2px;margin:17px 0 15px;font-weight:700}.gps-login h1 em{font-style:normal;color:#b8324e}.gps-login .login-intro p{font-size:13px;line-height:1.75;color:#a8a6b0}.login-capabilities{display:flex;gap:16px;margin-top:20px;font-size:10px;color:#c6bec4}.login-capabilities span{display:flex;align-items:center;gap:6px}.login-capabilities span:before{content:"";width:4px;height:4px;background:#802637;border-radius:50%}.login-route-art{display:block;width:100%;height:62px;margin:8px 0 0}.gps-login #login-form{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.gps-login #login-form>.password-field{margin-top:14px}.login-form-heading h2{font-size:18px;font-weight:600;margin:0 0 5px;letter-spacing:-.3px}.login-form-heading>span{font-size:11px;color:#8f8d97}.gps-login label{font-size:12px;font-weight:500;margin:18px 0 8px;color:#c5c3cb}.gps-login input{height:49px;font-size:16px;background:#0d0e12;border:1px solid #343039;border-radius:9px;color:#f4f1f4}.gps-login input:is(:-webkit-autofill,:autofill){-webkit-text-fill-color:#f4f1f4;caret-color:#f4f1f4;box-shadow:0 0 0 1000px #151319 inset!important}.gps-login .password-field .icon-button{top:3px;right:4px}.gps-login .primary{min-height:50px;font-size:14px;border-radius:9px;background:linear-gradient(110deg,#501322,#3e0e1b 55%,#320b15);border-color:#692437;box-shadow:inset 0 1px #ffffff12,0 5px 16px #40142540}.gps-login .error:empty{margin:20px 0 0}.gps-login .error{font-size:12px}@media(max-width:360px){.gps-login{padding-inline:18px}.gps-login>header{padding:24px 0 20px}.gps-login #login-form{padding:0}.login-capabilities{gap:12px}}.gps-login{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));text-align:center}.gps-login>header{width:100%;padding:0 0 12px;flex-shrink:0}.gps-login .login-intro{width:100%;padding:8px 0 10px;flex-shrink:0}.gps-login .login-capabilities{justify-content:center}.gps-login #login-form{width:100%;flex-shrink:0;text-align:center}.gps-login #login-form label,.gps-login #login-form input{text-align:left}.gps-login .primary{justify-content:center;position:relative}.gps-login .primary>svg{position:absolute;right:18px}.dashboard .vehicle-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;position:relative}.dashboard .vehicle-heading>div{grid-column:1;grid-row:1;padding-right:4px}.dashboard .vehicle-heading .scene-fix-time{position:static;grid-column:2;grid-row:1;align-self:start;background:none;padding:4px 0 0;font-size:10px;white-space:nowrap;text-align:right}.dashboard .vehicle-heading .status{grid-column:2;grid-row:1;align-self:end;justify-self:end;margin-bottom:6px}.vehicle-driver{margin:4px 0 0;padding:2px 0 6px;text-align:center;min-width:0}.vehicle-driver>span{display:block;font-size:9px;letter-spacing:1.5px;color:#8e909b;margin-bottom:5px}.vehicle-driver strong{display:block;font-size:clamp(20px,5.5vw,27px);font-weight:600;line-height:1.3;color:#ececf1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard.has-driver{--vehicle-view-height:clamp(160px, calc(100svh - 320px - env(safe-area-inset-bottom)) ,460px)}.vehicle-driver-name{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}.vehicle-driver-name svg{width:30px;height:30px;flex-shrink:0;color:#aeb7c4}.vehicle-driver-name strong{min-width:0}.driver-call{flex:0 0 34px;width:34px;height:34px;border:1px solid #398357;border-radius:50%;display:grid;place-items:center;color:#79bf93;background:#15342266;text-decoration:none}.vehicle-driver-name .driver-call svg{width:20px;height:20px;color:inherit}.driver-warning{flex:0 0 34px;width:34px;height:34px;padding:5px;border:1px solid #aa6834;border-radius:50%;background:#3c281955;color:#e3a264;cursor:pointer}.vehicle-driver-name .driver-warning svg{width:22px;height:22px;color:inherit}.driver-warning.is-expired{border-color:#ac3548;color:#e77588}.driver-documents-modal{width:calc(100% - 32px);max-width:420px;max-height:75dvh;overflow:auto;padding:20px;border:1px solid #49404a;border-radius:16px;background:#17171c;color:#eee}.driver-documents-modal::backdrop{background:#000a}.driver-documents-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.driver-documents-header h2{font-size:17px;margin:0}.driver-documents-header button{border:0;background:none;color:#ddd;font-size:25px;cursor:pointer}.driver-documents-name{color:#aaa;font-size:14px}.driver-documents-list article{padding:14px 0;border-top:1px solid #ffffff19;text-align:left}.driver-documents-list strong{font-size:16px}.driver-documents-list p{font-size:13px;color:#bcbcc6}.driver-documents-list b{font-size:14px;color:#e3a264}.driver-documents-list .is-expired b{color:#e77588}.dashboard .section-line{position:relative;margin-top:12px}#vehicle-visual>#notice{position:absolute;top:14px;left:48px;right:48px;margin:0;padding:4px 7px;text-align:center;font-size:11px;line-height:15px;z-index:3;background:#101014b3;border-radius:6px;color:#d9b58c;pointer-events:none}#vehicle-visual:has(.vehicle-alarms:not([hidden]))>#notice{top:64px}.vehicle-search-dialog{position:fixed;inset:0 0 auto;width:100%;max-width:none;max-height:85dvh;margin:0;padding:18px max(18px,env(safe-area-inset-right)) 18px max(18px,env(safe-area-inset-left));padding-top:calc(18px + env(safe-area-inset-top));border:0;border-bottom:1px solid #38383e;border-radius:0 0 16px 16px;box-shadow:0 16px 50px #0008}.vehicle-search-dialog[open]{animation:vehicle-picker-down .22s ease-out}.vehicle-search-dialog{max-width:480px;margin-inline:auto}@keyframes vehicle-picker-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.vehicle-search-results{max-height:calc(85dvh - 175px)}.vehicle-search-option{display:flex;align-items:center;gap:10px;padding:13px 4px}.vehicle-option-dot{width:7px;height:7px;border-radius:50%;background:#7c7d86;flex-shrink:0}.vehicle-option-dot[data-status=online]{background:#70c797}.vehicle-option-dot[data-status=offline]{background:#b94755}.vehicle-option-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.vehicle-option-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.vehicle-option-top strong{font-size:16px;color:#f5f5f6}.vehicle-option-driver{font-size:16px;font-weight:600;color:#d6b984}.vehicle-option-name{font-size:12px;color:#999ba6}.vehicle-option-speed{font-size:13px;white-space:nowrap;color:#83cfa4;flex-shrink:0}@media(prefers-reduced-motion:reduce){.vehicle-search-dialog[open]{animation:none}}.vehicle-option-speed{position:relative;width:48px;height:48px;display:block;border:2px solid var(--speed-color);border-radius:50%;background:radial-gradient(circle at 35% 20%,#292a30,#14151a);box-shadow:inset 0 0 0 2px #ffffff06;color:var(--speed-color);font-variant-numeric:tabular-nums}.vehicle-option-speed b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:21px;line-height:24px;font-weight:800;text-align:center}.vehicle-option-speed small{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:8px;line-height:10px;color:#c2c2ca}.vehicle-search-dialog{overflow:hidden;scrollbar-width:none}.vehicle-search-dialog[open]{display:flex;flex-direction:column}.vehicle-search-dialog>.settings-heading,.vehicle-search-dialog>input,.vehicle-search-count{flex-shrink:0}.vehicle-search-results{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.vehicle-search-dialog::-webkit-scrollbar,.vehicle-search-results::-webkit-scrollbar{display:none;width:0;height:0}html:has(.vehicle-search-dialog[open]),body:has(.vehicle-search-dialog[open]){overflow:hidden}.vehicle-option-unloading{flex:0 0 42px;width:42px;height:42px;padding:7px;border:2px solid #782735;border-radius:50%;background:radial-gradient(circle at 35% 20%,#292a30,#14151a);color:#ff4055}.vehicle-option-unloading svg{width:100%;height:100%;animation:unloading-fade 1.6s ease-in-out infinite}.vehicle-option-unloading[hidden]{display:none}@media(prefers-reduced-motion:reduce){.vehicle-option-unloading svg{animation:none}}.vehicle-address{display:flex;align-items:flex-start;justify-content:center;gap:7px;margin:0;padding-top:7px;border-top:1px solid #ffffff19;color:#b9bbc5;font-size:13px;line-height:1.5;text-align:center;overflow-wrap:anywhere}.vehicle-address svg{width:17px;height:20px;flex-shrink:0;margin-top:1px;color:#9a9eaa}.vehicle-address[hidden]{display:none}.dashboard .section-line{margin-bottom:7px}#vehicle-visual[data-model=mixer] #vehicle-model-host{bottom:0}.dashboard .vehicle-heading>.north-label{inset:auto auto 6px 50%;transform:translate(-50%);font-size:10px;letter-spacing:1px;pointer-events:none}.vehicle-option-pto{flex:0 0 42px;width:42px;height:42px;padding:2px;color:#7fd49b;border:2px solid #326847;border-radius:50%;background:radial-gradient(circle at 35% 20%,#292a30,#14151a)}.vehicle-option-pto svg{width:100%;height:100%}.vehicle-option-pto[hidden]{display:none}.vehicle-option-pto,.vehicle-option-unloading{flex-basis:48px;width:48px;height:48px}.gps-login{position:relative}.gps-login .login-server-toggle{position:absolute;top:max(14px,env(safe-area-inset-top));right:16px;width:38px;height:38px;color:#b3b2bc;background:transparent;border:0;border-radius:0;padding:8px}.login-server-settings{position:fixed;inset:max(12px,env(safe-area-inset-top)) 0 auto;margin:0 auto;width:calc(100% - 32px);max-width:430px;box-sizing:border-box;padding:18px;border:1px solid #343039;border-radius:12px;background:#15151a;color:#c5c3cb;text-align:left;font-size:13px;max-height:80dvh;overflow:auto}.login-server-settings[open]{animation:login-server-drop .25s ease-out}.login-server-settings::backdrop{background:#0009}.login-server-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-server-heading h2{margin:0;font-size:18px;color:#f4f1f4}.login-server-settings .login-server-close{font-size:24px}.login-server-settings label{display:block}.login-server-settings input{width:100%;box-sizing:border-box}.login-server-settings small{display:block;margin-top:8px;font-size:11px;line-height:1.5;color:#92919b}.login-server-settings [role=status]{font-size:12px;line-height:1.5;margin:8px 0}.login-server-settings .primary{width:100%;margin-top:10px}@keyframes login-server-drop{0%{transform:translateY(-110%);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.login-server-settings[open]{animation:none}}html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(pointer:coarse){input,select,textarea{font-size:16px!important}}.model-load-progress{display:block;width:min(240px,65%);height:6px;border:0;border-radius:6px;overflow:hidden;background:#303036;accent-color:var(--red)}.model-load-progress::-webkit-progress-bar{background:#303036;border-radius:6px}.model-load-progress::-webkit-progress-value{background:var(--red);border-radius:6px;transition:width .2s}.model-load-progress::-moz-progress-bar{background:var(--red);border-radius:6px}.model-load-percent{font-size:12px;color:#ddd;font-variant-numeric:tabular-nums;min-height:18px}.shell.dashboard{display:flex;flex-direction:column;height:100svh;height:100dvh;min-height:0;overflow:hidden}.dashboard>header,.dashboard>.demo-banner,.dashboard>.vehicle-heading,.dashboard>.section-line,.dashboard>.vehicle-address,.dashboard>.vehicle-driver{flex-shrink:0}.dashboard>.vehicle-stage{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.dashboard #vehicle-visual,.dashboard #vehicle-visual:has(.route-overlay.is-open){position:relative;inset:auto;flex:1 1 0;min-height:0;height:auto}.dashboard .vehicle-stage>.route-playback{flex:0 0 auto}.dashboard model-viewer,.dashboard .engine-wait-overlay{height:100%}.dashboard>.vehicle-driver{margin-bottom:0}html:has(.shell.dashboard),body:has(.shell.dashboard){height:100%;overflow:hidden;overscroll-behavior:none}body:has(.shell.dashboard) #app{height:100%;overflow:hidden}.dashboard>.vehicle-stage:has(.route-overlay.is-open){overflow:visible;z-index:10}.dashboard #vehicle-visual:has(.route-overlay.is-open){flex:0 0 auto;height:var(--route-view-height,60dvh)}.dashboard .vehicle-stage:has(.route-overlay.is-open)>.route-playback{position:relative;z-index:7}.vehicle-search-dialog{padding-top:env(safe-area-inset-top)}.vehicle-search-bar{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-bottom:10px}.vehicle-search-bar>input{flex:1;min-width:0;height:48px;font-size:16px}.vehicle-search-bar>.icon-button{order:1;flex:0 0 48px;width:48px;height:48px;font-size:25px}.vehicle-search-results{max-height:none}.gps-login .login-input-field{position:relative;width:100%}.gps-login .login-input-field>.login-field-icon{position:absolute;left:15px;top:14px;width:21px;height:21px;color:#a29aa5;pointer-events:none;z-index:1}.gps-login .login-input-field>input,.gps-login .login-input-field>select{padding-left:46px}.gps-login .login-language-field{margin-top:14px}.gps-login .login-language-field>select{box-sizing:border-box;width:100%;height:49px;border:1px solid #343039;border-radius:9px;background:#0d0e12;color:#f4f1f4;font:inherit;font-size:16px;text-align:left;padding-right:16px;color-scheme:dark}.gps-login .login-language-field>select:focus{outline:none;border-color:#813044;box-shadow:0 0 0 3px #64162930}.gps-login .login-language-field>select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23b4adb8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px 20px;background-position:right 15px center}.gps-login .login-input-field:not(.login-language-field){height:49px;border:1px solid #343039;border-radius:9px;background:#0d0e12;overflow:hidden}.gps-login .login-input-field:not(.login-language-field)>input{height:47px;border:0;border-radius:8px;appearance:none;-webkit-appearance:none;background-clip:padding-box;box-shadow:none}.gps-login .login-input-field:not(.login-language-field):focus-within{border-color:#813044;box-shadow:0 0 0 3px #64162930}.gps-login .login-input-field:not(.login-language-field)>input:focus{box-shadow:none}
