: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{min-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";min-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);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-logo{width:20px;height:20px;flex:none;display:block}.brand-lockup{display:inline-flex;align-items:stretch;border:1.5px solid var(--brand);border-radius:7px;overflow:hidden;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 4px 7px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.brand-tool{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:var(--brand);display:inline-flex;align-items:center;padding:4px 10px}.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;padding-left:10px;border-left:1px solid var(--line);overflow:hidden;text-overflow:ellipsis}@media(max-width:720px){.brand small{display:none}.brand-logo{width:18px;height:18px}}.header-spacer{flex:1}.sidebar{grid-area:sidebar;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px;padding:16px;position:sticky;top:var(--header-h);align-self:start;max-height:calc(100vh - var(--header-h));max-height:calc(100dvh - var(--header-h));overflow-y:auto}.main{grid-area:main;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);position:static;max-height:none;overflow:visible}}.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:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],input[type=date],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:minmax(150px,max-content) 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);display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:nowrap}.scan-row .when .odo-read,.scan-row .when .scan-by{margin-left:0}.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:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],input[type=search],input[type=date],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}}.term{text-decoration:underline dotted currentColor;text-underline-offset:3px;cursor:help}.pill .term{text-decoration:none;border-bottom:1px dashed currentColor;opacity:.95}.scan-row .when{display:flex;flex-direction:column;gap:2px}.scan-row .odo-read{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.history{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;align-items:start}.vehicle-rail{position:sticky;top:12px}.vehicle-list{max-height:min(58vh,560px);max-height:min(58dvh,560px);overflow-y:auto;gap:6px}.history-detail{min-width:0}.section-nav{display:flex;gap:4px;flex-wrap:wrap;padding-bottom:2px}.section-nav a{font-size:13px;color:var(--ink-2);text-decoration:none;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.section-nav a:hover,.section-nav a:focus-visible{color:var(--accent);border-color:var(--accent)}#veh-summary,#veh-details,#veh-recalls,#veh-maint,#veh-scans{scroll-margin-top:calc(var(--header-h) + 12px)}@media(max-width:900px){.history{grid-template-columns:minmax(0,1fr)}.vehicle-rail{position:static}.vehicle-list{max-height:320px}}.odo-field{max-width:260px}.odo-input{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;gap:6px}.odo-input input{width:100%}.odo-input .unit{display:flex;align-items:center;font-size:12px;color:var(--ink-3);font-family:var(--mono)}.odo-input button{margin:0}.odo{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ok-text{color:var(--ok)}.crit-text{color:var(--crit)}.maint-list{display:flex;flex-direction:column;gap:2px;margin-top:10px}.maint-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 12px;border-radius:var(--radius);border-left:3px solid var(--line);background:var(--surface-2)}.maint-row.state-overdue{border-left-color:var(--crit);background:var(--crit-soft)}.maint-row.state-due{border-left-color:var(--warn);background:var(--warn-soft)}.maint-row.state-soon{border-left-color:var(--warn)}.maint-row.state-ok{border-left-color:var(--ok)}.maint-main{display:flex;flex-direction:column;gap:2px;min-width:0}.maint-item{font-weight:550}.maint-interval{font-size:11.5px;color:var(--ink-3)}.maint-status{display:flex;align-items:center;gap:8px}.maint-bar{width:64px;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.maint-bar i{display:block;height:100%;background:currentColor;opacity:.8}.maint-pct{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.maint-detail{grid-column:1 / -1;color:var(--ink-2);margin:2px 0 0}@media(max-width:640px){.maint-row{grid-template-columns:minmax(0,1fr)}.maint-status{justify-content:flex-start}}.maint-unrecorded{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.maint-unrecorded summary{cursor:pointer;font-size:13px;font-weight:550;color:var(--ink-2)}.maint-unrecorded summary:hover{color:var(--accent)}.maint-unrecorded>p{max-width:70ch;margin:8px 0 10px}.scan-detail [id^=s]{scroll-margin-top:calc(var(--header-h) + 12px)}.scan-detail .section-nav{margin-bottom:12px}.fleet{margin-top:4px}.fleet-tally{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tally{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:8px 9px;display:flex;flex-direction:column;gap:1px}.tally.crit{border-color:var(--crit);background:var(--crit-soft)}.tally.warn{border-color:var(--warn);background:var(--warn-soft)}.tally-n{font-family:var(--display);font-size:20px;font-weight:700;line-height:1}.tally-label{font-size:10.5px;color:var(--ink-3);letter-spacing:.02em}.fleet-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;text-align:left;padding:7px 9px;background:transparent;border:1px solid transparent;border-radius:var(--radius)}.fleet-row:hover{background:var(--surface-2);border-color:var(--line)}.fleet-name{font-size:13px;flex:1 1 100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-flags{display:flex;flex-wrap:wrap;align-items:center;gap:5px;flex:1 1 auto}.fleet-odo{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.history.single{grid-template-columns:minmax(0,1fr)}.fleet-row[aria-current=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.dtc-list button.dtc{cursor:pointer;position:relative}.dtc-list button.dtc:hover,.dtc-list button.dtc[aria-pressed=true]{border-color:var(--accent)}.dtc-list button.dtc[aria-pressed=true]{background:var(--accent-soft)}.dtc-list button.dtc .meta:after{content:"›";color:var(--ink-3);font-size:15px;opacity:0;transition:opacity .12s ease}.dtc-list button.dtc:hover .meta:after,.dtc-list button.dtc:focus-visible .meta:after{opacity:1}.dtc-list button.dtc[aria-pressed=true] .meta:after{content:"⌄";opacity:1;color:var(--accent)}.section-nav .count{margin-left:6px;font-size:11px;background:var(--crit);color:#fff;border-radius:999px;padding:1px 6px}.summary-action{margin:12px 0 4px}.pill.accent{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.fleet-when{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.sidebar-grip{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:25;background:transparent;touch-action:none}.sidebar-grip:after{content:"";position:absolute;top:0;right:2px;bottom:0;left:2px;background:var(--accent);opacity:0;transition:opacity .12s ease}.sidebar-grip:hover:after,.sidebar-grip:focus-visible:after{opacity:.55}.sidebar-grip:focus-visible{outline:none}@media(max-width:900px){.sidebar-grip{display:none}}@media(max-width:900px){.sidebar{position:static;max-height:none;overflow:visible}.vehicle-list{max-height:none}}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--ground)}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px}.auth-card h1{font-family:var(--display);font-size:26px;margin:0}.auth-card .field{gap:4px}.wordmark-lg{align-self:flex-start;font-family:var(--display);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:12px;color:#fff;background:var(--brand);padding:4px 8px;border-radius:3px}.auth-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:2px}.linkish{background:none;border:0;padding:0;min-height:0;color:var(--accent);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.linkish:hover{color:var(--accent-ink)}.people-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.person-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.person-main{display:flex;flex-direction:column;gap:2px;min-width:0}.person-name{display:flex;align-items:center;gap:6px;font-weight:600}.person-main .mono{overflow-wrap:anywhere}.person-state{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.person-actions{display:flex;align-items:center;gap:6px}.person-actions select{padding:4px 6px;font-size:.85rem}.pill.tiny-pill{font-size:.7rem;padding:1px 6px}@media(max-width:640px){.person-row{grid-template-columns:minmax(0,1fr)}.person-state,.person-actions{justify-content:flex-start}}.who{display:flex;align-items:center;gap:6px;min-width:0}.who strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}@media(max-width:720px){.who strong{max-width:12ch}}.who-name{background:none;border:0;padding:0;min-height:0;font:inherit;font-size:13px;font-weight:600;color:inherit;cursor:pointer;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px dashed transparent}.who-name:hover,.who-name:focus-visible{border-bottom-color:var(--ink-3)}.who-input{font-size:13px;padding:3px 6px;width:18ch}@media(max-width:720px){.who-name{max-width:12ch}.who-input{width:12ch}}.who-edit{flex-wrap:wrap;gap:4px}.who-edit .who-input{width:11ch}.person-row.is-disabled .person-main{opacity:.6}.person-row.is-disabled .person-main .pill.warn{opacity:1}.person-edit{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.person-edit label{flex:1 1 130px}.person-dates{display:flex;flex-direction:column;gap:1px;text-align:right}.person-dates .warn-text{color:var(--warn)}@media(max-width:640px){.person-dates{text-align:left}}.person-username{font-weight:400;color:var(--ink-3)}.platform-filter{font-size:13px;padding:5px 8px;min-width:220px}.pill.brandish{background:var(--brand);color:var(--brand-ink)}@media(max-width:640px){.platform-filter{width:100%}}.platform-tree{display:flex;flex-direction:column;gap:8px}.platform-company{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.platform-company>summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.platform-company-name{font-weight:600;display:flex;align-items:center;gap:6px}.platform-counts{flex:1}.platform-company-actions{display:flex;gap:6px;margin:10px 0 0}.platform-company .people-list{margin-top:8px}.platform-company .person-row{background:transparent}.person-confirm{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px 12px;border:1px solid var(--crit);border-radius:8px;background:var(--crit-soft)}.person-confirm p{margin:0}.confirm-ask{font-size:13px}.confirm-ask strong{font-weight:600;word-break:break-all}.confirm-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.confirm-input{flex:1 1 24ch;min-width:0;font-size:13px;padding:5px 8px}.person-confirm.is-edit{border-color:var(--line);background:var(--surface-2)}.marketing{max-width:68rem;margin:0 auto;padding:20px 20px 0}.mk-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 28px}.mk-nav-cta{padding:7px 16px}.mk-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;padding:24px 0 56px}.mk-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);margin:0 0 14px;font-weight:600}.mk-hero h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.1rem);line-height:1.08;letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance;max-width:16ch}.mk-lede{font-size:1.06rem;line-height:1.65;color:var(--ink-2);max-width:42ch;margin:0 0 26px}.mk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.mk-secondary{color:var(--brand);font-weight:600;font-size:.95rem;text-decoration:none;border-bottom:1px solid transparent}.mk-secondary:hover{border-bottom-color:var(--brand)}.mk-fineprint{font-size:.85rem;color:var(--ink-3);margin:16px 0 0}.mk-art{width:100%;height:auto;display:block}.mk-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:20px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mk-strip div{display:flex;flex-direction:column;gap:4px}.mk-strip strong{font-size:.95rem}.mk-strip span{font-size:.88rem;color:var(--ink-3);line-height:1.5}.mk-audiences,.mk-how,.mk-close{padding:56px 0}.marketing h2{font-family:var(--display);font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.015em;margin:0 0 10px;text-wrap:balance}.mk-section-lede{color:var(--ink-2);max-width:48ch;margin:0 0 30px}.mk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:18px}.mk-card{border:1px solid var(--line);border-radius:12px;padding:22px 24px;background:var(--panel)}.mk-card .mk-art{max-width:160px;margin-bottom:16px}.mk-card h3{font-family:var(--display);font-size:1.12rem;margin:0 0 8px}.mk-card p{color:var(--ink-2);margin:0 0 14px;line-height:1.6}.mk-card ul{margin:0;padding-left:18px;color:var(--ink-3);font-size:.9rem}.mk-card li{margin:5px 0}.mk-steps{list-style:none;margin:0;padding:0;display:grid;gap:20px;max-width:44rem}.mk-steps li{display:flex;gap:16px;align-items:flex-start}.mk-step-n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.82rem;font-weight:700;background:var(--brand);color:var(--brand-ink)}.mk-steps h3{font-size:1rem;margin:4px 0}.mk-steps p{color:var(--ink-2);margin:0;line-height:1.6}.mk-close{border-top:1px solid var(--line)}.mk-close p{color:var(--ink-2);max-width:48ch;margin:0 0 22px;line-height:1.65}.mk-footer{border-top:1px solid var(--line);padding:22px 0 34px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}@media(max-width:820px){.mk-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:40px}.mk-hero-art{order:-1}.mk-audiences,.mk-how,.mk-close{padding:40px 0}}.mk-claims{padding:56px 0;border-top:1px solid var(--line)}.mk-claim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:22px 28px;margin-top:26px}.mk-claim{display:flex;flex-direction:column;gap:6px}.mk-claim-n{font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.12em;color:var(--brand);margin-bottom:2px}.mk-claim h3{font-family:var(--display);font-size:1.05rem;margin:0;line-height:1.3;text-wrap:balance}.mk-claim p{margin:0;color:var(--ink-2);font-size:.93rem;line-height:1.6}.mk-aside{margin:32px 0 0;padding-left:16px;border-left:3px solid var(--brand);color:var(--ink);font-size:1.02rem;line-height:1.55;max-width:44rem}.mk-art-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;fill:var(--ink-2)}.mk-art-source{font-family:var(--mono);font-size:10px;letter-spacing:.06em;fill:var(--ink-2);opacity:1}.mk-art-question{font-family:var(--sans);font-size:15px;font-weight:600;fill:var(--ink)}.mk-art-hero{max-width:420px;margin:0 auto}@media(max-width:820px){.mk-art-hero{max-width:100%}}.mk-claim-art{width:120px;height:56px;display:block;margin:2px 0 4px}.mk-claim-art-text{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.06em;fill:var(--brand-ink)}.device-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.device-line strong{color:var(--ink)}.scan-by{color:var(--ink-3);font-size:11px;margin-left:8px}.empty a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.customer-note{padding:10px 12px;border:1px solid var(--line);border-radius:8px;line-height:1.5}.fleet-providers{display:block;margin-top:2px;font-size:11px}.shared-by{margin:10px 0 0;padding:8px 10px;border-left:3px solid var(--brand);background:transparent;color:var(--ink-2);line-height:1.5}.invite-summary{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-left:3px solid var(--brand);border-radius:0 6px 6px 0;background:var(--surface);line-height:1.5}.auth-card input[readonly]{background:var(--surface);color:var(--ink-2);cursor:default}
