@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1d293b;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#f4f7fb;--panel:#fff;--panel-2:#f8fafc;--text:#1d293b;--muted:#728096;--line:#e1e8f0;--accent:#0799dd;--accent-2:#00bd96;--accent-soft:#e8f7fc;--green:#0d9b79;--danger:#d45155;--shadow:0 12px 35px rgba(21,49,75,.07);--field:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);transition:background .2s,color .2s}html[data-theme=dark]{color-scheme:dark;--bg:#0d1725;--panel:#142235;--panel-2:#101c2b;--text:#e8eff8;--muted:#91a1b7;--line:#28384d;--accent:#16a8ec;--accent-soft:#0d3347;--green:#45c9a4;--danger:#f0787d;--shadow:0 14px 38px rgba(0,0,0,.25);--field:#101c2b}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{height:76px;display:flex;align-items:center;gap:34px;padding:0 max(calc((100vw - 1260px)/2),28px);background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brandmark{display:flex;align-items:center;gap:7px;color:var(--text);text-decoration:none;font-family:Manrope,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.07em;white-space:nowrap}.brandmark small{font:600 10px 'DM Sans',sans-serif;letter-spacing:.18em;color:var(--muted);align-self:flex-end;margin:0 0 13px 2px}.orbit-mark{height:42px;width:42px;overflow:visible}.orbit-spinner{transform-origin:center;animation:spin 12s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.top-nav{display:flex;align-items:stretch;gap:5px;height:100%;flex:1}.nav-link{position:relative;border:0;background:transparent;color:var(--muted);padding:0 15px;font-weight:600}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{content:'';position:absolute;bottom:-1px;left:15px;right:15px;height:2px;background:linear-gradient(90deg,#00a2ff,#00e5a0);border-radius:2px}.header-actions{display:flex;align-items:center;gap:10px}.header-actions select{border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);height:36px;padding:0 8px}.icon-button{position:relative;width:37px;height:37px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);font-size:19px}.icon-button:hover{border-color:var(--accent);color:var(--accent)}.bell-badge{position:absolute;width:8px;height:8px;right:6px;top:5px;background:#f15b64;border:2px solid var(--panel);border-radius:50%}.shell{max-width:1260px;margin:0 auto;padding:38px 28px 72px}.hero-row,.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:27px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;color:var(--accent);margin-bottom:10px}.hero-row h1,.page-heading h1{font:700 clamp(28px,3vw,38px)/1.15 Manrope,sans-serif;letter-spacing:-.045em;margin:0 0 9px}.hero-row p,.page-heading p{margin:0;font-size:14px}.muted{color:var(--muted)}.hero-stat{text-align:right;display:flex;flex-direction:column;gap:1px;padding-bottom:4px}.hero-stat strong{font:700 27px Manrope,sans-serif}.hero-stat span{font-size:12px;color:var(--muted)}.filter-panel{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);padding:12px;border-radius:15px;box-shadow:var(--shadow)}.filter-panel select,.search-field input,.stack-form input,.form-grid input,.form-grid select,.form-grid textarea,.inline-form input,.inline-form select,.date-range input{height:43px;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--text);padding:0 12px;outline:none}.filter-panel select{min-width:140px}.filter-panel select:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.search-field{display:flex;align-items:center;position:relative;flex:1;min-width:200px}.search-field input{padding-left:40px;width:100%;height:43px}.search-icon{position:absolute;left:13px;color:var(--muted);font-size:23px;line-height:1;transform:rotate(-20deg)}.button{border:1px solid transparent;border-radius:9px;padding:10px 15px;font-weight:600;font-size:13px;transition:transform .15s,background .15s,border .15s;color:var(--text);white-space:nowrap}.button:active{transform:translateY(1px)}.button-primary{color:#fff;background:linear-gradient(105deg,#078bd0,#05aa9b);box-shadow:0 5px 14px rgba(0,156,190,.18)}.button-primary:hover{filter:brightness(1.05)}.button-secondary{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 20%,transparent)}.button-quiet{background:transparent;border-color:var(--line);color:var(--muted)}.button-quiet:hover{color:var(--text);border-color:var(--accent)}.button-block{width:100%;height:45px}.promo-strip{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 5px}.promo-card{display:flex;align-items:center;gap:12px;overflow:hidden;flex:1 1 260px;min-height:88px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:9px;color:var(--text);text-decoration:none}.promo-card img{width:100px;height:68px;object-fit:cover;border-radius:8px}.promo-card b{font-size:13px}.promo-card span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.status-row{display:flex;justify-content:space-between;gap:15px;padding:20px 3px 11px;font-size:12px}.hint{color:var(--muted)}.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.vehicle-card{position:relative;display:flex;flex-direction:column;min-height:190px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 19px 16px;cursor:pointer;transition:transform .17s,border .17s,box-shadow .17s;overflow:hidden}.vehicle-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#00a2ff,#00e5a0);opacity:0;transition:opacity .17s}.vehicle-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:var(--shadow)}.vehicle-card:hover:before{opacity:1}.vehicle-head{display:flex;justify-content:space-between;gap:10px}.vehicle-name{font:700 16px Manrope,sans-serif;line-height:1.25}.vehicle-year{font-size:12px;color:var(--muted);margin-top:5px}.vehicle-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:17px;flex-shrink:0}.vehicle-meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:6px 8px;color:var(--muted);font-size:11px}.pill strong{font-size:12px;color:var(--text)}.pill-schema{margin-left:auto;color:var(--green);border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:color-mix(in srgb,var(--green) 6%,var(--panel))}.pill-no-schema{margin-left:auto}.empty-state{text-align:center;padding:70px 15px;color:var(--muted)}.empty-state h2{color:var(--text);font:600 20px Manrope}.empty-icon{font-size:34px}.page-heading{align-items:center}.account-layout{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.panel-heading h2,.panel h2{font:700 17px Manrope,sans-serif;margin:0 0 5px}.panel-heading p{font-size:12px;color:var(--muted);margin:0}.request-list{display:flex;flex-direction:column}.request-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.request-row:first-child{border-top:0}.request-row b{display:block;font-size:13px}.request-row small{color:var(--muted);font-size:11px}.status-badge{font-size:11px;padding:5px 9px;border-radius:20px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.preference-list{display:flex;flex-direction:column}.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.check-row span{display:flex;flex-direction:column;gap:4px}.check-row b{font-size:12px}.check-row small{font-size:11px;color:var(--muted)}input[type=checkbox]{accent-color:#00a6be;width:17px;height:17px}.preference-list button{align-self:flex-start;margin-top:17px}.admin-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:20px}.admin-tab{border:0;background:none;color:var(--muted);font-size:12px;font-weight:600;padding:12px 13px;white-space:nowrap;border-bottom:2px solid transparent}.admin-tab.active{color:var(--accent);border-color:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:17px}.kpi-card span{font-size:11px;color:var(--muted)}.kpi-card b{display:block;font:700 27px Manrope,sans-serif;margin-top:8px}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-panel{height:300px}.chart-panel canvas{max-height:225px}.date-range{display:flex;align-items:center;gap:7px}.date-range input{width:142px;height:38px;font-size:12px}.table-wrap{overflow:auto;margin:0 -5px}.table-wrap table{border-collapse:collapse;width:100%;min-width:680px;font-size:12px}.table-wrap th{text-align:left;color:var(--muted);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:11px 10px;border-bottom:1px solid var(--line)}.table-wrap td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap td button{margin:2px}.table-wrap select{background:var(--field);color:var(--text);border:1px solid var(--line);padding:6px;border-radius:7px;font-size:11px}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin:5px 0 13px}.admin-toolbar h2{font:700 18px Manrope;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid label,.stack-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:var(--muted)}.form-grid input,.form-grid select{width:100%}.form-grid textarea{width:100%;height:95px;padding:10px;resize:vertical}.form-grid input[type=file]{height:auto;padding:10px}.span-all{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px}.inline-form{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.inline-form input,.inline-form select{height:39px;flex:1;min-width:130px}.check-inline{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.date-range input{color-scheme:light dark}.modal{position:fixed;inset:0;z-index:50;background:rgba(4,13,25,.62);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:flex-start;padding:6vh 18px;overflow-y:auto}.modal-card{position:relative;width:min(100%,560px);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:28px;box-shadow:0 28px 85px rgba(0,0,0,.28)}.detail-card{width:min(100%,900px)}.form-card{width:min(100%,720px)}.modal-close{position:absolute;right:15px;top:13px;width:34px;height:34px;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:22px}.auth-heading{padding-right:30px;margin-bottom:20px}.auth-heading h2{font:700 23px Manrope;margin:0 0 7px}.auth-heading p{font-size:12px;margin:0}.auth-switch{display:grid;grid-template-columns:1fr 1fr;background:var(--panel-2);border-radius:9px;padding:4px;margin-bottom:17px}.auth-switch button{border:0;background:transparent;border-radius:7px;color:var(--muted);padding:9px;font-size:12px;font-weight:600}.auth-switch button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 5px rgba(0,0,0,.1)}.stack-form{display:flex;flex-direction:column;gap:13px}.stack-form input{width:100%}.stack-form small{font-size:10px;font-weight:400}.text-button{border:0;background:none;color:var(--accent);font-size:11px;align-self:center}.form-note{font-size:11px;color:var(--muted);line-height:1.5;margin:0}.detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:5px 0 17px}.detail-top h2{font:700 24px Manrope;margin:0 0 7px}.detail-top p{margin:0;color:var(--muted);font-size:12px}.detail-section{padding:15px 0;border-bottom:1px solid var(--line)}.detail-section h3{font:700 14px Manrope;margin:0 0 11px}.parameter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.parameter-chip{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:11px}.parameter-chip span:last-child{color:var(--green);white-space:nowrap}.bus-card{padding:12px;margin:8px 0;background:var(--panel-2);border:1px solid var(--line);border-radius:9px}.bus-card h4{margin:0 0 5px;font-size:12px}.bus-card p{margin:0;color:var(--muted);font-size:11px;white-space:pre-wrap}.schematic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.schematic-card{position:relative;display:block;border:1px solid var(--line);background:var(--panel-2);border-radius:9px;overflow:hidden;color:var(--text);text-decoration:none}.schematic-preview{display:grid;place-items:center;height:112px;background:#12253a;overflow:hidden}.schematic-preview img{width:100%;height:100%;object-fit:cover;filter:blur(7px);transform:scale(1.07)}.schematic-locked .schematic-preview:after{content:'🔒';position:absolute;font-size:20px}.schematic-card span{display:block;padding:8px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(7,19,35,.24);color:white;font-size:11px;font-weight:700}.compat-row{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;margin:6px 0;font-size:11px}.compat-full{color:var(--green)}.compat-partial{color:#d98b21}.compat-none{color:var(--danger)}.popover{position:fixed;right:max(calc((100vw - 1260px)/2),22px);top:67px;z-index:40;width:min(370px,calc(100vw - 26px));max-height:70vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);padding:14px}.popover-head{display:flex;justify-content:space-between;align-items:center;padding:2px 3px 10px;border-bottom:1px solid var(--line);font-size:13px}.notification-item{padding:11px 4px;border-bottom:1px solid var(--line)}.notification-item b{display:block;font-size:11px}.notification-item p{font-size:11px;color:var(--muted);margin:4px 0}.notification-item small{font-size:10px;color:var(--muted)}.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{background:var(--text);color:var(--panel);padding:12px 16px;border-radius:9px;box-shadow:var(--shadow);font-size:12px;max-width:360px}.toast.error{background:#b8343d;color:white}.support-strip{margin-top:20px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);display:flex;align-items:center;justify-content:space-between;gap:15px}.support-strip p{font-size:12px;margin:0;color:var(--muted)}.decoder-panel{margin-top:14px;overflow:auto;max-height:340px}.decoder-panel table{width:100%;font:11px monospace;border-collapse:collapse}.decoder-panel td{padding:6px;border-bottom:1px solid var(--line)}
@media(max-width:1020px){.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:18px;padding:0 20px}.shell{padding:28px 20px 60px}.filter-panel{flex-wrap:wrap}.search-field{flex-basis:100%}.filter-panel select{flex:1}.account-layout{grid-template-columns:1fr}.header-actions{gap:6px}.nav-link{padding:0 9px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.topbar{height:64px;padding:0 13px;gap:7px}.brandmark{font-size:17px;gap:3px}.orbit-mark{width:34px;height:34px}.brandmark small{font-size:8px;margin-bottom:11px}.top-nav{gap:0}.nav-link{font-size:11px;padding:0 7px}.header-actions{gap:5px}.header-actions select{height:32px;padding:0 4px}.header-actions .button{padding:8px;font-size:11px}.icon-button{height:32px;width:32px}.shell{padding:25px 14px 50px}.hero-row{align-items:flex-start}.hero-stat{display:none}.hero-row h1,.page-heading h1{font-size:27px}.hero-row p{font-size:12px}.vehicle-grid{grid-template-columns:1fr}.vehicle-card{min-height:155px}.status-row{padding-top:14px}.hint{display:none}.page-heading{align-items:flex-start;flex-direction:column}.date-range{width:100%;flex-wrap:wrap}.date-range input{flex:1;min-width:0}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px}.kpi-card{padding:13px}.kpi-card b{font-size:22px}.chart-grid{grid-template-columns:1fr}.chart-panel{height:270px}.chart-panel canvas{max-height:200px}.modal{padding:3vh 9px}.modal-card{padding:23px 17px;border-radius:14px;max-height:94vh}.form-grid{grid-template-columns:1fr}.span-all{grid-column:auto}.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-strip{align-items:flex-start;flex-direction:column}.popover{top:59px;right:8px}}
 .decoder-chart{position:relative;height:260px;min-height:220px;margin:16px 0 24px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
