:root{color:#e7edf3;font-synthesis:none;text-rendering:optimizelegibility;--bg:#070b10;--panel:#101720;--panel-2:#131d28;--panel-3:#182431;--panel-soft:#101720b8;--accent:#15834d;--line:#263545;--line-strong:#3a5269;--text:#e7edf3;--muted:#91a2b3;--muted-2:#6f8294;--green:#35c878;--yellow:#f0bd46;--red:#f56f5f;--blue:#4fa3ff;--cyan:#48d6d2;--shadow:0 18px 55px #00000052;background:#070b10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #4fa3ff29, transparent 34rem), linear-gradient(180deg, #0a1119 0%, var(--bg) 48rem), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{border:0}input,select,textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#0b1118;border-radius:7px;outline:none;padding:0 11px}textarea{resize:vertical;min-height:104px;padding:10px 11px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:2px;outline:2px solid #4fa3ffb8}label{color:var(--muted);gap:7px;font-size:13px;font-weight:760;display:grid}small{color:var(--muted-2)}.selection-shell{width:min(1320px,100% - 32px);margin:0 auto;padding:28px 0}.dashboard-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.dashboard-main{min-width:0;padding:18px 22px 28px}.sidebar{border-right:1px solid var(--line);background:#0a1017f5;height:100vh;padding:18px 14px;position:sticky;top:0}.brand-lockup{align-items:center;gap:11px;min-height:54px;margin-bottom:18px;padding:0 8px;display:flex}.brand-lockup svg{color:var(--cyan)}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:17px}.brand-lockup span{color:var(--muted);font-size:12px}.sidebar nav{gap:8px;display:grid}.nav-item,.brand-card,.tab-row button,.table-action,.inline-actions button,.icon-only{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.nav-item{min-height:42px;color:var(--muted);background:0 0;border:1px solid #0000;justify-content:flex-start;padding:0 12px;font-weight:760}.nav-item:hover:not(:disabled),.nav-item.active{border-color:var(--line);background:var(--panel-2);color:var(--text)}.nav-item:disabled{background:0 0;border-color:#0000}.top-status-bar{grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(120px,1fr)) auto;gap:10px;margin-bottom:18px;display:grid}.status-group{border:1px solid var(--line);background:#101720db;border-radius:8px;align-content:center;gap:3px;min-height:70px;padding:10px 12px;display:grid}.status-group svg{color:var(--blue)}.status-group span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.status-group strong{overflow-wrap:anywhere;font-size:13px}.status-connection-row{grid-template-columns:minmax(0,1fr);justify-items:start;gap:8px;min-width:0;display:grid}.status-disconnect-button{color:#ffd1d1;background:#ff6d6d1a;border:1px solid #ff6d6d61;border-radius:7px;align-items:center;gap:5px;max-width:100%;min-height:28px;padding:0 8px;font-size:11px;font-weight:820;display:inline-flex}.status-disconnect-button svg{color:#ff9d9d}.status-disconnect-button span{color:inherit;font-size:inherit}.page-stack{gap:16px;display:grid}.page-header,.selection-hero{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.page-header h1,.selection-hero h1{letter-spacing:0;margin:3px 0 6px;font-size:clamp(28px,4vw,44px);line-height:1.05}.page-header p,.selection-hero p,.connect-card p,.muted-copy{max-width:760px;color:var(--muted);margin:0}.eyebrow{color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:860;display:inline-flex}.card{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#131d28f5,#0e151df5);border-radius:8px;padding:15px}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.card-header h2,.details-heading h3,.parameter-head h3{letter-spacing:0;margin:2px 0 0;font-size:17px}.card-actions,.header-actions,.session-buttons,.badge-row,.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.btn,.table-action,.inline-actions button,.tab-row button,.parameter-selector button,.icon-only{border:1px solid var(--line);background:var(--panel-2);min-height:38px;color:var(--text);padding:0 12px;font-weight:780}.btn:hover:not(:disabled),.table-action:hover,.inline-actions button:hover,.tab-row button:hover,.parameter-selector button:hover,.icon-only:hover{border-color:var(--line-strong);background:var(--panel-3)}.btn:disabled,button:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:#15834d;border-color:#35c87880}.btn-danger{background:#87362f;border-color:#f56f5f85}.btn-ghost{background:0 0}.badge,.status-indicator{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:0 9px;font-size:12px;font-weight:840;display:inline-flex}.badge-neutral,.status-muted{border:1px solid var(--line);color:#c8d4df;background:#91a2b31f}.badge-success,.status-green{color:#72e4a7;background:#35c87821;border:1px solid #35c87873}.badge-warning,.status-yellow{color:#ffd474;background:#f0bd4624;border:1px solid #f0bd467a}.badge-danger,.status-red{color:#ff9c91;background:#f56f5f21;border:1px solid #f56f5f80}.badge-info,.status-blue{color:#9dccff;background:#4fa3ff24;border:1px solid #4fa3ff7a}.selection-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;margin-top:18px;display:grid}.selection-side{align-content:start;gap:16px;display:grid}.step-progress{gap:8px;display:flex}.step-progress span{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);border-radius:999px;place-items:center;font-weight:820;display:grid}.step-progress span.complete{color:#83efb4;background:#35c87824;border-color:#35c87880}.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.brand-card{border:1px solid var(--line);background:var(--panel-2);min-height:108px;color:var(--text);flex-direction:column}.brand-card span{color:#9dccff;background:#4fa3ff29;border-radius:7px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand-card.active{background:#35c8781f;border-color:#35c87894}.form-grid,.filter-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.filter-grid{grid-template-columns:1.2fr repeat(3,minmax(150px,1fr))}.fault-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.fault-summary-grid div{border:1px solid var(--line);background:#080d1380;border-radius:7px;gap:2px;padding:10px;display:grid}.fault-summary-grid span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.fault-summary-grid strong{font-size:22px}.wide{grid-column:1/-1}.invalid-field input{border-color:var(--red)}.summary-list,.metric-grid.compact{gap:10px;display:grid}.summary-list div,.metric-grid>div,.gauge-card,.parameter-card,.validation-item,.change-list div,.event-log div{border:1px solid var(--line);background:#080d1380;border-radius:7px}.summary-list div,.metric-grid>div{grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;min-height:58px;padding:9px;display:grid}.summary-list svg{color:var(--blue);grid-row:span 2}.summary-list span,.metric-grid span,.mini-stats span,.gauge-card span,.change-list span,.event-log span{color:var(--muted);font-size:12px;font-weight:760}.summary-list strong,.metric-grid strong{overflow-wrap:anywhere}.notice-banner,.safety-banner{border-radius:7px;padding:11px 13px;font-weight:740}.notice-banner{color:#b8dcff;background:#4fa3ff1f;border:1px solid #4fa3ff5c}.safety-banner{color:#ffe1a0;background:#f0bd461f;border:1px solid #f0bd466b}.table-shell{overflow:auto}.data-table,.calibration-table{border-collapse:collapse;width:100%;min-width:920px}.data-table th,.data-table td,.calibration-table th,.calibration-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:11px 10px}.data-table th,.calibration-table th{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:860}.data-table td{color:#d7e1ea;font-size:13px}.selected-row{background:#4fa3ff14}.table-action,.inline-actions button,.tab-row button,.parameter-selector button{min-height:30px;padding:0 9px;font-size:12px}.fault-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.72fr);gap:16px;display:grid}.details-panel{gap:15px;display:grid}.details-heading{justify-content:space-between;gap:12px;display:flex}.details-heading p{color:var(--muted);margin:5px 0 0}.details-panel h4{text-transform:uppercase;margin:0 0 8px;font-size:13px}.check-list{color:#c9d6e2;gap:7px;margin:0;padding-left:18px;display:grid}.search-input>div{border:1px solid var(--line);background:#0b1118;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding-left:10px;display:grid}.search-input input{background:0 0;border:0}.live-layout,.calibration-layout,.tuning-grid{gap:16px;display:grid}.live-layout{grid-template-columns:minmax(0,1fr) 340px}.special-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.special-function-list{gap:12px;display:grid}.special-function-card{box-shadow:none}.special-function-card .card-header{display:none}.special-function-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.special-function-head h3{margin:2px 0 5px;font-size:17px}.special-function-head p,.special-result p,.diagnostic-result-block p{color:var(--muted);margin:0}.special-group-tabs{flex-wrap:wrap;max-width:100%;margin:0;display:flex}.special-notes{gap:6px;margin-top:12px;display:grid}.special-notes span{color:var(--muted);font-size:12px}.special-parameters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.confirmation-field{margin-top:12px}.flash-confirmation,.flash-confirmation .confirmation-field{gap:8px;display:grid}.flash-confirmation p{margin:0}.safety-check-list{color:#ffe1a0;gap:6px;margin:0;padding-left:18px;font-size:13px;display:grid}.flash-confirmation .confirmation-field span{color:var(--text);font-size:12px;font-weight:850}.special-function-actions{justify-content:flex-end;margin-top:14px;display:flex}.special-download-progress{border:1px solid var(--line);background:#080d136b;border-radius:7px;gap:8px;margin-top:14px;padding:11px;display:grid}.special-progress-head{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px;display:flex}.special-progress-head strong{color:var(--text)}.special-download-progress p{color:var(--muted);margin:0;font-size:12px}.special-result,.diagnostic-result-block{gap:12px;display:grid}.special-result-status{justify-content:space-between;align-items:center;gap:10px;display:flex}.special-result-status span{color:var(--muted);font-size:12px}.diagnostic-result-block{border:1px solid var(--line);background:#080d1373;border-radius:7px;padding:10px}.hex-pair{gap:8px;margin:0;display:grid}.hex-pair div{min-width:0}.hex-pair dt{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.hex-pair dd{overflow-wrap:anywhere;color:#cdd9e3;margin:2px 0 0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.decoded-values{gap:6px;display:grid}.decoded-values div{border-top:1px solid #263545a6;justify-content:space-between;gap:10px;padding-top:6px;display:flex}.decoded-values span{color:var(--muted);font-size:12px}.decoded-values strong{text-align:right;font-size:12px}.calibration-layout{grid-template-columns:minmax(0,1fr) 340px}.tuning-grid{grid-template-columns:minmax(0,1fr) 420px}.live-main,.live-side{align-content:start;gap:16px;display:grid}.mode-segmented{border:1px solid var(--line);background:var(--panel-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(92px,1fr));gap:4px;width:fit-content;margin-bottom:12px;padding:4px;display:inline-grid}.mode-segmented button{min-height:32px;color:var(--muted);background:0 0;border:0;font-weight:850}.mode-segmented button.active{background:var(--accent);color:#fff}.mode-segmented button:disabled{cursor:not-allowed;opacity:.5}.transport-segmented{margin:14px 0 12px}.session-controls{grid-template-columns:minmax(320px,1fr) 150px auto 130px 130px;align-items:end;gap:12px;display:grid}.toggle-label{align-items:center;gap:8px;min-height:40px;display:inline-flex}.toggle-label input,.parameter-selector input{width:16px;min-height:16px}.session-timer{gap:2px;min-height:40px;display:grid}.session-timer span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.session-timer strong{font-size:20px}.gauge-grid,.parameter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gauge-card{gap:8px;padding:12px;display:grid}.gauge-head{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.gauge-head>span:first-child{min-width:0}.gauge-card strong{font-size:26px}.gauge-card small{color:var(--muted);margin-left:5px;font-size:13px}.gauge-track,.progress-track{background:#0b1118;border-radius:999px;height:8px;overflow:hidden}.gauge-track div,.progress-track div{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue));height:100%}.parameter-card{gap:10px;min-width:0;padding:12px;display:grid}.parameter-head,.parameter-actions{justify-content:space-between;align-items:flex-start;gap:9px;display:flex}.parameter-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.icon-only{width:36px;min-height:36px;padding:0}.parameter-value{font-size:30px}.parameter-value span{color:var(--muted);margin-left:6px;font-size:13px}.live-graph{width:100%;height:96px}.graph-grid-line{stroke:#91a2b32e;stroke-width:1px}.graph-line{stroke:var(--cyan);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.mini-stats{justify-content:space-between;gap:8px;display:flex}.freshness-label{color:var(--muted);text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:850}.freshness-fresh{color:var(--green)}.freshness-aging{color:var(--yellow)}.freshness-stale{color:var(--red)}.parameter-selector,.event-log,.validation-list,.change-list,.flash-stages{gap:8px;display:grid}.parameter-selector{max-height:560px;padding-right:2px;overflow:auto}.selector-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.selector-actions button{min-height:32px;padding:7px 10px;font-size:12px}.parameter-selector label{border:1px solid var(--line);min-height:38px;color:var(--text);background:#080d1373;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:6px 7px;display:grid}.event-log div,.change-list div{gap:3px;padding:9px;display:grid}.event-log strong{font-size:13px}.validation-item{grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:10px;display:grid}.validation-item strong,.validation-item span{display:block}.validation-item span{color:var(--muted);font-size:12px}.validation-valid svg{color:var(--green)}.validation-warning svg{color:var(--yellow)}.validation-error svg{color:var(--red)}.compact-table .data-table{min-width:1040px}.calibration-table-wrap{overflow:auto}.tab-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tab-row button.active{background:#4fa3ff26;border-color:#4fa3ff8c}.calibration-table{min-width:720px}.calibration-table input{text-align:right;min-height:34px}.changed-cell input{background:#f0bd4624;border-color:#f0bd46bf}.change-list em{color:#ffd474;font-style:normal}.flash-progress-panel{gap:12px;display:grid}.progress-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.progress-meta strong{color:var(--text);font-size:13px}.flash-stage{grid-template-columns:auto 1fr;align-items:center;gap:9px;display:grid}.flash-stage span{border:1px solid var(--line-strong);background:#0b1118;border-radius:999px;width:14px;height:14px}.flash-stage.running span{border-color:var(--blue);background:var(--blue)}.flash-stage.complete span{border-color:var(--green);background:var(--green)}.empty-state{border:1px dashed var(--line-strong);text-align:center;border-radius:7px;place-items:center;min-height:132px;padding:16px;display:grid}.empty-state strong{font-size:16px}.empty-state p{max-width:460px;color:var(--muted);margin:6px 0 0}.modal-backdrop{z-index:20;background:#0000009e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);background:var(--panel);width:min(520px,100%);box-shadow:var(--shadow);border-radius:8px;padding:15px}.modal-title{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:10px;display:grid}.modal-title h2{margin:0;font-size:18px}.modal-title svg{color:var(--yellow)}.modal-body{color:var(--muted)}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:min(440px,100%)}.auth-mode,.auth-form,.auth-footnote{margin-top:14px}.auth-form{gap:12px;display:grid}.auth-footnote{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.loading-panel{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;padding:18px 22px}.td5-model-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-vin-field{margin-top:16px}.history-list,.map-file-list,.history-vehicle-list{gap:10px;display:grid}.history-vehicle-row{border:1px solid var(--line);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#0b1118b8;border-radius:8px;grid-template-columns:auto minmax(0,1fr) minmax(180px,auto);align-items:center;gap:12px;padding:12px;display:grid}.history-vehicle-row:hover:not(:disabled),.history-vehicle-row.selected{background:#122a3eb8;border-color:#4fa3ff8a}.history-vehicle-row:disabled{cursor:wait;opacity:.72}.history-vehicle-row svg{color:var(--blue)}.history-vehicle-row div{gap:3px;min-width:0;display:grid}.history-vehicle-row span{color:var(--muted);font-size:13px}.history-vehicle-row strong{overflow-wrap:anywhere}.history-row,.map-file-row,.map-action-row{border:1px solid var(--line);background:#0b1118b8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.history-row div,.map-file-row div,.map-action-row div{gap:3px;min-width:0;display:grid}.history-row span,.map-file-row span,.map-action-row span{color:var(--muted);font-size:13px}.fault-history-row{grid-template-columns:1fr;align-items:start}.history-row .fault-read-summary{justify-content:space-between;align-items:start;gap:12px;display:flex}.history-row .fault-read-summary>div{gap:3px;min-width:0;display:grid}.fault-history-empty{border:1px dashed var(--line);color:var(--muted);background:#101720b8;border-radius:8px;padding:10px 12px;font-size:13px}.history-row .fault-history-table{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;display:grid;overflow:hidden}.history-row .fault-history-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(82px,.18fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.history-row .fault-history-item:last-child{border-bottom:0}.fault-code-label{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px}.fault-history-item p{min-width:0;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.4}.history-row .fault-history-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:max-content;display:flex}.fault-chip-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:560px;display:flex}.soft-chip{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:12px}.map-file-row code{overflow-wrap:anywhere;color:var(--muted-2);font-size:11px}.map-file-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.map-operation-card{border-color:#4fa3ff52}.map-operation-card p{color:var(--muted);margin:0}.map-operation-card.blocked{border-color:#f0bd466b}.map-operation-card.error{border-color:#ff6b6b7a}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.dashboard-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.top-status-bar,.filter-grid,.live-layout,.special-layout,.calibration-layout,.tuning-grid,.selection-grid,.session-controls,.history-row,.map-file-row,.map-action-row{grid-template-columns:1fr}.gauge-grid,.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.selection-shell,.dashboard-main{width:min(100% - 20px,1320px);margin:0 auto;padding:14px 0 22px}.page-header,.selection-hero,.details-heading,.card-header{flex-direction:column}.sidebar{padding:12px 10px}.brand-lockup{min-height:44px;margin-bottom:10px;padding:0 6px}.brand-lockup strong{font-size:16px}.brand-lockup span{font-size:11px}.brand-grid,.form-grid,.metric-grid,.fault-summary-grid,.gauge-grid,.parameter-grid,.special-parameters,.fault-layout{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nav-item{justify-content:flex-start;min-height:38px;padding:0 10px;font-size:13px}.top-status-bar{gap:8px;margin-bottom:14px}.status-group{min-height:60px;padding:8px 10px}.status-disconnect-button{min-height:26px}.fault-chip-list,.history-row .fault-history-meta,.map-file-actions{justify-content:flex-start}.history-vehicle-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.history-vehicle-row>div:last-child{grid-column:2}.history-row .fault-read-summary{flex-direction:column}.history-row .fault-history-item{grid-template-columns:1fr;align-items:start}.history-row .fault-history-meta{min-width:0}.data-table,.calibration-table{min-width:760px}}
