:root{--ground: #F3F6F7;--surface: #FFFFFF;--surface-2: #E9EDEF;--surface-3: #DFE5E8;--line: #D2D9DC;--line-soft: #E3E8EA;--ink: #0F1619;--ink-2: #45535A;--ink-3: #6D7E86;--accent: #0A6F7E;--accent-ink: #08525E;--accent-soft:#D8EEF1;--on-accent: #FFFFFF;--ok: #17703F;--ok-soft: #DBEEE2;--warn: #9A5B00;--warn-soft: #F7E9D2;--crit: #A8221B;--crit-soft: #F8DEDC;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--display: "Avenir Next Condensed", "HelveticaNeue-CondensedBold", "Helvetica Neue", "Arial Narrow", sans-serif;--brand: #1E6B47;--brand-ink: #FFFFFF;--radius: 6px;--shadow: 0 1px 2px rgba(15, 22, 25, .06), 0 8px 24px -18px rgba(15, 22, 25, .35);--header-h: 56px;--sidebar-w: 320px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #0C1013;--surface: #141A1D;--surface-2: #1C2328;--surface-3: #242D33;--line: #2A343A;--line-soft: #1F272C;--ink: #E3EAED;--ink-2: #9FAEB5;--ink-3: #72838B;--accent: #45C9DB;--accent-ink: #7BDDEB;--accent-soft:#0E323A;--on-accent: #06181C;--brand: #2E8B5E;--brand-ink: #F2F7F3;--ok: #4FD08A;--ok-soft: #102E20;--warn: #E0A33C;--warn-soft: #332510;--crit: #F0736A;--crit-soft: #371815;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 30px -20px rgba(0, 0, 0, .9)}}:root[data-theme=dark]{--ground:#0C1013;--surface:#141A1D;--surface-2:#1C2328;--surface-3:#242D33;--line:#2A343A;--line-soft:#1F272C;--ink:#E3EAED;--ink-2:#9FAEB5;--ink-3:#72838B;--accent:#45C9DB;--accent-ink:#7BDDEB;--accent-soft:#0E323A;--on-accent:#06181C;--ok:#4FD08A;--ok-soft:#102E20;--warn:#E0A33C;--warn-soft:#332510;--crit:#F0736A;--crit-soft:#371815;--brand:#2E8B5E;--brand-ink:#F2F7F3;--shadow: 0 1px 2px rgba(0,0,0,.5), 0 10px 30px -20px rgba(0,0,0,.9)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.app{display:grid;grid-template-rows:var(--header-h) 1fr;grid-template-columns:var(--sidebar-w) 1fr;grid-template-areas:"header header" "sidebar main";height:100%}.header{grid-area:header;display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:10px;min-width:0}.brand-mark{font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-ink);background:var(--brand);padding:4px 9px;border-radius:3px;white-space:nowrap}.brand-tool{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.brand small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500;white-space:nowrap}@media(max-width:720px){.brand small{display:none}}.header-spacer{flex:1}.sidebar{grid-area:sidebar;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding:16px}.main{grid-area:main;overflow-y:auto;padding:20px 24px 64px}@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-areas:"header" "sidebar" "main";grid-template-rows:var(--header-h) auto 1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;display:block}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.main .card{box-shadow:var(--shadow)}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}h1{font-size:15px;margin:0}h2{font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0 0 12px}h3{font-size:14px;margin:0 0 4px;font-weight:600}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--ink-3)}.small{font-size:12px}button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:7px 12px;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:500;transition:background .12s ease,border-color .12s ease}button:hover:not(:disabled){background:var(--surface-3)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-ink);border-color:var(--accent-ink)}button.danger{color:var(--crit);border-color:var(--crit);background:transparent}button.danger:hover:not(:disabled){background:var(--crit-soft)}button.ghost{background:transparent}button.tiny{padding:3px 8px;font-size:12px}input[type=text],input[type=password],input[type=number],select{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);color:var(--ink)}input::placeholder{color:var(--ink-3)}label.field{display:block}label.field>span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink-3);background:var(--surface-2);white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pill.ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}.pill.warn{color:var(--warn);background:var(--warn-soft);border-color:transparent}.pill.crit{color:var(--crit);background:var(--crit-soft);border-color:transparent}.pill.info{color:var(--accent);background:var(--accent-soft);border-color:transparent}.pill.live .dot{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{border:0;background:transparent;border-bottom:2px solid transparent;border-radius:0;padding:8px 14px;color:var(--ink-3);font-weight:500}.tabs button:hover{background:var(--surface-2)}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.tabs .count{font-family:var(--mono);font-size:11px;margin-left:6px;padding:1px 5px;border-radius:999px;background:var(--surface-3);color:var(--ink-3)}.vehicle{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;justify-content:space-between}.vehicle .title{font-size:22px;font-weight:650;letter-spacing:-.02em;margin:0 0 2px}.vin{font-family:var(--mono);font-size:13px;letter-spacing:.06em;color:var(--ink-2)}.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:16px}.spec{background:var(--surface);padding:10px 12px}.spec .k{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:3px}.spec .v{font-size:14px;font-weight:550;font-variant-numeric:tabular-nums}.vitals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.vital{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px 12px}.vital .k{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block}.vital .v{font-family:var(--mono);font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px}.vital .u{font-size:11px;color:var(--ink-3);font-weight:400;margin-left:2px}.dtc-list{display:flex;flex-direction:column;gap:8px}.dtc{display:grid;grid-template-columns:4px 88px 1fr auto;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0;overflow:hidden;text-align:left;width:100%;cursor:pointer}.dtc:hover{border-color:var(--accent)}.dtc[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft)}.dtc .stripe{align-self:stretch;background:var(--ink-3)}.dtc.sev-critical .stripe{background:var(--crit)}.dtc.sev-high .stripe{background:var(--crit);opacity:.7}.dtc.sev-moderate .stripe{background:var(--warn)}.dtc.sev-low .stripe{background:var(--ok)}.dtc .code{font-family:var(--mono);font-size:15px;font-weight:650;letter-spacing:.04em;padding:12px 0}.dtc .desc{padding:12px 0;min-width:0;display:flex;flex-direction:column;gap:1px}.dtc .desc .sys{font-size:11px;color:var(--ink-3)}.dtc .meta{padding:12px 14px 12px 0;display:flex;gap:6px;align-items:center}.chip{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3)}.chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.vital.streaming{border-color:var(--accent)}.spark{display:block;width:100%;height:24px;margin-top:6px;overflow:visible}.spark-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.spark-base{stroke:var(--line);stroke-width:1}.spark-head{fill:var(--accent);stroke:var(--surface-2);stroke-width:1.5}.date-pref{width:auto;padding:4px 6px;font-family:var(--mono);font-size:11px;background:var(--surface);border-color:var(--line);max-width:190px}@media(max-width:1100px){.date-pref{display:none}}.unit-switch{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.unit-switch button{border:0;border-radius:0;padding:4px 10px;font-family:var(--mono);font-size:11px;background:var(--surface);color:var(--ink-3)}.unit-switch button+button{border-left:1px solid var(--line)}.unit-switch button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.freeze{margin:-2px 0 4px 24px;border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px 14px}.freeze>header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px;color:var(--ink-2)}.freeze .vital{background:var(--surface)}.freeze-vital .then{display:block;font-family:var(--mono);font-size:10px;color:var(--ink-3);margin-top:3px;font-variant-numeric:tabular-nums}.empty{text-align:center;padding:36px 20px;color:var(--ink-3);border:1px dashed var(--line);border-radius:var(--radius)}.empty strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}.part-candidate{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;background:var(--surface)}.part-candidate>header{padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.part-candidate .note{padding:8px 14px;font-size:12px;color:var(--ink-2);background:var(--warn-soft);border-bottom:1px solid var(--line)}table.offers{width:100%;border-collapse:collapse;font-size:13px}table.offers th{text-align:left;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding:8px 14px;border-bottom:1px solid var(--line)}table.offers td{padding:9px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}table.offers tr:last-child td{border-bottom:0}table.offers td.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.stock-in{color:var(--ok);font-weight:600}.stock-dc{color:var(--warn)}.scroll-x{overflow-x:auto}.timeline{display:flex;flex-direction:column;gap:10px}.scan-row{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.scan-row .when{font-family:var(--mono);font-size:12px;color:var(--ink-2)}.delta{display:flex;gap:6px;flex-wrap:wrap}.delta .added,.delta .removed{font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:3px}.delta .added{background:var(--crit-soft);color:var(--crit)}.delta .removed{background:var(--ok-soft);color:var(--ok)}.summary{border-left:3px solid var(--ink-3)}.summary.verdict-critical{border-left-color:var(--crit)}.summary.verdict-attention{border-left-color:var(--warn)}.summary.verdict-watch{border-left-color:var(--accent)}.summary.verdict-good{border-left-color:var(--ok)}.summary-head{margin-bottom:14px}.summary .headline{font-family:var(--display);font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:650;letter-spacing:-.01em;margin:6px 0 0;text-wrap:balance;max-width:60ch}.findings{display:flex;flex-direction:column;gap:10px}.finding{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.finding .badge{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;line-height:1}.finding .title{font-weight:600;margin:0 0 3px;max-width:none}.finding .detail{margin:0;font-size:13px;color:var(--ink-2);max-width:68ch}.finding .evidence{margin:6px 0 0;font-size:11px;color:var(--ink-3);max-width:none;overflow-wrap:anywhere}.finding.sev-critical{border-color:var(--crit);background:var(--crit-soft)}.finding.sev-critical .badge{background:var(--crit);color:var(--surface)}.finding.sev-attention{border-color:var(--warn)}.finding.sev-attention .badge{background:var(--warn);color:var(--surface)}.finding.sev-watch .badge{background:var(--surface-3);color:var(--ink-2)}.finding.sev-good{border-color:transparent;background:var(--ok-soft)}.finding.sev-good .badge{background:var(--ok);color:var(--surface)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.recall{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.recall-head{display:grid;grid-template-columns:110px 1fr auto auto;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-radius:0;padding:10px 14px;background:var(--surface-2)}.recall-head:hover{background:var(--surface-3)}.recall-head .campaign{font-weight:650;font-size:13px}.recall-head .published{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.recall-head .published .date{font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.recall-head .published .dim{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.recall-head .component{font-size:13px;min-width:0;display:flex;flex-direction:column;gap:1px}.recall-head .applies{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink-3)}.recall-body{padding:12px 14px 14px;border-top:1px solid var(--line)}.recall-body p{max-width:62ch}.recall.closed .recall-head{opacity:.62}.recall.closed .campaign{text-decoration:line-through;text-decoration-thickness:1px}.recall-body .eyebrow{margin-top:10px}.recall-body .eyebrow:first-child{margin-top:0}.monitor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;margin-top:6px}.monitor{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);font-size:13px}.monitor .mark{font-weight:700;text-align:center}.monitor .state{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.monitor.done{border-color:transparent;background:var(--ok-soft)}.monitor.done .mark,.monitor.done .state{color:var(--ok)}.monitor.pending{border-color:var(--warn)}.monitor.pending .mark,.monitor.pending .state{color:var(--warn)}.scan-entry{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.scan-entry .scan-row{border:0;border-radius:0}.scan-detail{padding:12px 14px 14px;border-top:1px solid var(--line);background:var(--surface-2)}.scan-detail .terminal{max-height:260px}.scan-detail .card{box-shadow:none;margin-bottom:12px;background:var(--surface)}.scan-detail .card:last-of-type{margin-bottom:12px}.scan-detail details summary{cursor:pointer}textarea{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);color:var(--ink);font-family:inherit;font-size:13px;resize:vertical}.terminal{background:var(--ground);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--mono);font-size:11.5px;line-height:1.55;padding:10px 12px;overflow-y:auto;max-height:340px;white-space:pre-wrap;word-break:break-all}.terminal .tx{color:var(--accent)}.terminal .rx{color:var(--ink-2)}.terminal .info{color:var(--ok)}.terminal .error{color:var(--crit)}.terminal .t{color:var(--ink-3)}.banner{border-radius:var(--radius);padding:10px 14px;font-size:13px;border:1px solid transparent}.banner.error{background:var(--crit-soft);color:var(--crit);border-color:var(--crit)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.info{background:var(--accent-soft);color:var(--accent-ink)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.progress{height:3px;background:var(--surface-3);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent);transition:width .25s ease}.divider{height:1px;background:var(--line);border:0;margin:4px 0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:640px){.main{padding:14px 12px 48px}.sidebar{padding:12px;gap:14px}.card{padding:13px}button{min-height:44px;padding:10px 14px}button.tiny{min-height:36px;padding:7px 11px;font-size:13px}input[type=text],input[type=password],input[type=number],select,textarea{font-size:16px;min-height:44px}.tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto;min-height:44px}.vitals{grid-template-columns:repeat(2,1fr);gap:8px}.vital{padding:9px 10px}.vital .v{font-size:16px}.row.wrap{gap:6px}.row.stack-mobile{flex-direction:column;align-items:stretch}.row.stack-mobile>button{width:100%}table,.terminal,.raw-log,pre{display:block;overflow-x:auto;max-width:100%}.terminal{font-size:12px}.finding{gap:8px}.finding .title{font-size:14px}.dtc{padding:10px}.scan-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center}.scan-row .when{grid-column:1;grid-row:1;font-size:12px}.scan-row>.stack{grid-column:1 / -1;grid-row:2}.scan-row>.row{grid-column:2;grid-row:1;justify-content:flex-end;flex-wrap:wrap;gap:6px}.headline{font-size:17px;line-height:1.3}.eyebrow{font-size:11px}}@supports (padding: max(0px)){@media(max-width:640px){.header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.main{padding-bottom:max(48px,env(safe-area-inset-bottom))}}}@media(max-width:900px){.app{grid-template-rows:var(--header-h) auto 1fr}.header{position:sticky;top:0;z-index:20}}.app{max-width:100%}.main,.sidebar,.card,.stack,.findings,.dtc-list,.timeline{min-width:0}.row>*{min-width:0}.mono,.vin,.evidence,.detail,.desc{overflow-wrap:anywhere}@media(max-width:640px){html,body{overflow-x:hidden;max-width:100%}.scan-detail,.vital,.finding,.dtc,.recall{min-width:0}.vitals{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}}.header{min-width:0}.header>*{min-width:0}@media(max-width:640px){.header{gap:8px;padding:0 10px}.brand{flex:0 1 auto;overflow:hidden}.brand .name,.header .pill{display:none}.unit-switch{flex:none}}.urgency{display:flex;align-items:center;gap:8px;margin:2px 0 6px;font-size:12px;line-height:1;flex-wrap:wrap}.urgency .meter{display:inline-flex;gap:2px;flex:none}.urgency .meter i{width:12px;height:4px;border-radius:2px;background:var(--line)}.urgency .word{font-weight:600;letter-spacing:.01em}.urgency .when{color:var(--ink-3)}.finding.sev-critical .urgency{--urgency: var(--crit)}.finding.sev-attention .urgency{--urgency: var(--warn)}.finding.sev-watch .urgency{--urgency: var(--ink-2)}.finding.sev-good .urgency{--urgency: var(--ok)}.urgency .word{color:var(--urgency)}.urgency .meter i.on{background:var(--urgency)}@media(max-width:640px){.urgency{font-size:11px;gap:6px}.urgency .meter i{width:10px}}@media(max-width:640px){.recall-head{grid-template-columns:auto 1fr;gap:6px 10px;align-items:start}.recall-head .campaign{grid-column:1;grid-row:1}.recall-head .pill{grid-column:2;grid-row:1;justify-self:end}.recall-head .component{grid-column:1 / -1;grid-row:2;overflow-wrap:anywhere}.recall-head .published{grid-column:1 / -1;grid-row:3;display:flex;flex-direction:row;align-items:baseline;gap:6px;text-align:left}}
