:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f0f5fc;background:#0b101c;font-synthesis:none;--bg:#0b101c;--pane:#121b2a;--pane2:#182438;--text:#f0f5fc;--muted:#a0adc2;--border:#2b3a4e;--mint:#70f0c5;--yellow:#fbc66d;--red:#ff857f;--radius:19px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--mint)}.shell{max-width:1500px;margin:auto;display:grid;grid-template-columns:250px 1fr;min-height:100vh}.rail{padding:34px 20px;border-right:1px solid #263247;background:#0d1421;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px 34px}.brandMark,.mark{background:linear-gradient(135deg,var(--mint),#3cb7d1);color:#071a20;font-weight:1000;border-radius:14px;padding:13px 11px;font-size:15px;box-shadow:0 15px 45px #2edeba22}.brand strong{font-size:20px;letter-spacing:-.5px}.brand small{display:block;color:var(--muted);letter-spacing:2px;font-size:9px;text-transform:uppercase}.nav{width:100%;display:flex;align-items:center;gap:13px;border:0;background:transparent;color:#acb8c9;padding:15px 15px;margin:3px 0;border-radius:13px;text-align:left;font-weight:700}.nav.active,.nav:hover{background:#1b293c;color:var(--mint)}.nav svg{width:20px;height:20px}.railFoot{position:absolute;bottom:34px;color:#8999b0;padding:10px 15px;font-size:13px}.main{padding:34px min(4vw,60px) 110px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:var(--mint)}h1{font-size:clamp(29px,3vw,44px);margin:7px 0 12px;letter-spacing:-1.5px}h2{font-size:23px;margin:0 0 12px;letter-spacing:-.5px}h3{font-size:17px;margin:0 0 9px}.muted,small{color:var(--muted)}p{line-height:1.55}.avatar{background:#24364b;color:var(--mint);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-weight:800}.primary,.secondary,.ghost,.danger{border:0;border-radius:13px;padding:12px 17px;font-weight:800;display:inline-flex;gap:9px;align-items:center;justify-content:center}.primary{background:var(--mint);color:#0b2627}.secondary{background:#26354a;color:#fff}.ghost{background:transparent;color:#d5e1f2;border:1px solid var(--border)}.danger{color:#ffd2d0;border:1px solid #8e4346;background:#4c292f}.btnSm{padding:8px 12px;font-size:12px}.buttonRow{display:flex;gap:9px;flex-wrap:wrap}.sectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 18px}.sectionHead h2{margin:0}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.heroPanel{background:radial-gradient(ellipse at 100% 0,#20616355,transparent 50%),linear-gradient(130deg,#1d3442,#152033 75%);padding:29px;border:1px solid #31575f;border-radius:24px;min-height:230px}.heroPanel p{max-width:540px}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.kpi{padding:22px;background:var(--pane);border:1px solid var(--border);border-radius:19px}.kpi b{font-size:29px;display:block;margin:13px 0 5px;font-variant-numeric:tabular-nums}.kpi span{color:var(--muted);font-size:12px}.cars{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px}.car{background:var(--pane);border:1px solid var(--border);border-radius:22px;overflow:hidden;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s}.car:hover{transform:translateY(-3px);border-color:#61c8ac}.carImage{width:100%;height:180px;object-fit:cover;background:linear-gradient(135deg,#2b4c53,#1c2941)}.placeholder{height:180px;display:grid;place-items:center;color:#69bfae;background:radial-gradient(ellipse at center,#2b4b54,#172031 70%)}.placeholder svg{width:135px;height:70px}.carBody{padding:19px}.car h3{margin:0 0 6px;font-size:19px}.pills{display:flex;gap:7px;flex-wrap:wrap}.pill{font-size:11px;font-weight:800;border-radius:50px;background:#233445;color:#becde2;padding:6px 9px}.pill.good{background:#173f38;color:#7af7c9}.pill.warn{background:#55411f;color:#ffd78d}.pill.bad{background:#512b31;color:#ffada5}.vehicleHero{position:relative;min-height:250px;border:1px solid var(--border);background:linear-gradient(125deg,#182f3b,#1c2540);border-radius:24px;overflow:hidden;display:flex;align-items:flex-end}.vehicleHero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vehicleHero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 28%,#08111ded)}.vehicleHeroContent{padding:25px;z-index:1;position:relative;width:100%;display:flex;align-items:end;justify-content:space-between;gap:15px}.vehicleHero h1{margin:5px 0}.tabs{display:flex;gap:8px;margin:23px 0;overflow-x:auto;padding:3px}.tab{white-space:nowrap;border:1px solid var(--border);color:#c1d0e2;background:#172131;border-radius:99px;padding:11px 16px;font-weight:750}.tab.active{color:#072723;background:var(--mint);border-color:var(--mint)}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.stack{display:grid;gap:13px}.panel,.item{background:var(--pane);border:1px solid var(--border);border-radius:19px;padding:20px}.item{display:flex;justify-content:space-between;align-items:center;gap:15px}.item small{font-size:12px}.item strong{display:block;margin:5px 0}.itemMain{min-width:0}.itemAside{text-align:right;flex-shrink:0}.cardMuted{background:#111927;color:#a4b2c5;border:1px dashed #344459;padding:22px;border-radius:17px}.alert{border-left:3px solid var(--yellow)}.alert.expired{border-color:var(--red)}.alert h3{font-size:15px}.alert button{margin-top:10px}.field{display:grid;gap:7px;margin:12px 0}.field label{font-size:12px;font-weight:750;color:#b6c5d7}.field input,.field select,.field textarea{width:100%;background:#0b1421;border:1px solid #3a4b60;color:#fff;padding:13px;border-radius:12px;font-size:16px}.field textarea{min-height:86px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #70f0c599;border-color:var(--mint)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}.full{grid-column:1/-1}.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.editor{background:#131d2d;border:1px solid #3a4d63;color:white;border-radius:22px;padding:0;max-width:min(92vw,680px);width:680px;max-height:88vh;overflow:auto;box-shadow:0 25px 90px #0009}.editor::backdrop{background:#060a13cf}.modalContent{padding:26px}.modalContent h2{padding-right:30px}.closeX{float:right;color:#b5c6d9;border:0;background:transparent;font-size:26px;padding:0 0 0 15px}.loginPage{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 60% 15%,#154b5760,transparent 60%)}.loginCard{width:min(100%,460px);background:#141f30;border:1px solid #304357;border-radius:27px;padding:34px;box-shadow:0 30px 100px #02040a77}.loginCard h1{margin:18px 0 8px}.loginCard .mark{display:inline-block}.loginCard .primary{width:100%;margin-top:16px}.loginCard p{color:#aebdd1}.toast{position:fixed;z-index:99;bottom:90px;left:50%;transform:translateX(-50%) translateY(30px);opacity:0;transition:.25s;pointer-events:none;background:#233448;color:white;border:1px solid #50716b;border-radius:12px;padding:13px 20px;min-width:220px;text-align:center;box-shadow:0 9px 35px #0009}.toast.on{transform:translateX(-50%) translateY(0);opacity:1}.bottomNav{display:none}.docLink{color:#83e9cb;text-decoration:none}.miniIcon{font-size:18px}.tiny{font-size:11px}.statNumber{font-size:31px;letter-spacing:-.5px;font-weight:900}.simpleTable{width:100%;border-collapse:collapse}.simpleTable td,.simpleTable th{border-bottom:1px solid #2c3c50;padding:11px;text-align:left;font-size:13px}.simpleTable th{color:#9dadc5}.boot{min-height:100vh;display:grid;place-content:center;text-align:center}.boot .mark{margin:auto}.emptyArt{font-size:39px;margin-bottom:15px}.dangerText{color:var(--red)}.warningText{color:var(--yellow)}.okText{color:var(--mint)}.workItem{display:flex;gap:10px;align-items:center;margin:7px 0}.workItem input{flex:1}.workItem select{flex:0 0 165px}.serviceDesc{margin-top:6px;font-size:13px;color:#b3c3d5}.sourceNotes{color:#91a7be;font-size:12px}.banner{background:#493822;border:1px solid #805e2e;color:#ffe5a4;border-radius:13px;padding:11px 14px;margin:14px 0}
@media(max-width:980px){.hero,.split{grid-template-columns:1fr}.rail{width:200px}.shell{grid-template-columns:200px 1fr}.main{padding:25px 25px 100px}}
@media(max-width:700px){.shell{display:block}.rail{display:none}.main{padding:24px 18px 100px}.topbar{margin-bottom:18px}.heroPanel{min-height:190px;padding:24px}.kpis{grid-template-columns:repeat(2,1fr)}.kpi{padding:17px}.kpi b{font-size:25px}.sectionHead{align-items:flex-start}.cars{grid-template-columns:1fr}.carImage,.placeholder{height:225px}.bottomNav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;z-index:20;background:#0e1624ee;backdrop-filter:blur(15px);border-top:1px solid #35445a;padding:9px 10px calc(9px + env(safe-area-inset-bottom))}.bottomNav button{display:grid;gap:2px;place-items:center;background:transparent;color:#8c9db6;border:0;font-size:10px;min-width:60px}.bottomNav button.active{color:var(--mint)}.bottomNav button span{font-size:22px}.vehicleHero{min-height:220px}.vehicleHeroContent{padding:20px}.vehicleHero h1{font-size:24px}.formGrid{grid-template-columns:1fr}.modalContent{padding:20px}.workItem{flex-wrap:wrap}.workItem select{flex:1 1 100%}.item{padding:15px}.itemAside{max-width:105px}.topbar .eyebrow{font-size:9px}}

/* v1.2: dealer and repair search links in the privacy-safe vehicle finder */
.serviceMapsLink{text-decoration:none;display:flex;min-height:48px;text-align:center}

/* v1.3 — touch-first layout shared by iPhone and Android */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{overflow-x:hidden}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,.scanPicker:focus-within{outline:3px solid var(--mint);outline-offset:3px}button,.primary,.secondary,.ghost,.danger{min-height:44px}button{user-select:none}#content{max-width:1150px}.railQuick{width:100%;border:1px solid #346456;background:#153f39;color:#83efce;border-radius:15px;padding:15px 10px;font-weight:800;min-height:52px}.railQuick:hover{background:#1d534a}.quickActionsSection{margin-top:22px}.quickActionsSection>.eyebrow{margin-bottom:12px}.quickActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quickAction{min-height:126px;min-width:0;background:var(--pane);border:1px solid var(--border);border-radius:20px;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:6px;padding:18px;transition:border-color .15s,transform .15s}.quickAction:active{transform:scale(.98)}.quickAction.scanAction{background:linear-gradient(135deg,#1f524a,#153b39);border-color:#399781}.quickAction strong{font-size:16px}.quickAction small{font-size:12px}.quickIcon{font-size:30px;color:var(--mint);display:block;line-height:1.15}.vehicleQuickActions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.mobileInstall{display:none}.scanPickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:19px 0}.scanPicker{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-align:center;min-height:146px;padding:19px 10px;border:1px solid #51637a;background:#1a2a3d;border-radius:18px}.scanPicker.primaryPicker{background:#1a4a41;border-color:#57b69a}.scanPicker>span{font-size:31px}.scanPicker strong{font-size:15px}.scanPicker small{font-size:12px;color:#bacbdb}.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.scanPreview{min-height:76px;display:flex;align-items:center;gap:12px;padding:12px;background:#0f1b2b;border:1px dashed #446079;border-radius:14px;color:#bfccdb;font-size:13px;overflow-wrap:anywhere}.scanPreview img{width:74px;height:82px;object-fit:cover;border-radius:9px}.scanPreview strong,.scanPreview small{display:block}.scanPreview .fileIcon{font-size:34px}.installSteps{line-height:1.65}.installSteps strong{color:var(--mint)}
@media(max-width:700px){
 :root{--radius:16px}html{scroll-padding-bottom:100px}.main{padding:18px 16px calc(105px + env(safe-area-inset-bottom));}.topbar{margin-bottom:18px}.topbar .eyebrow{letter-spacing:1.2px}.main h1{font-size:clamp(28px,8vw,36px);line-height:1.12;letter-spacing:-.8px}.heroPanel{min-height:0;padding:21px;border-radius:20px}.heroPanel h2{font-size:24px!important;line-height:1.14}.heroPanel p{font-size:14px}.heroPanel .buttonRow{margin-top:15px}.heroPanel .buttonRow button{flex:1}.kpis{gap:9px}.kpi{padding:15px;border-radius:16px}.kpi b{margin:7px 0;font-size:25px}.kpi span{font-size:11px}.quickActionsSection{margin-top:20px}.quickActions{gap:8px}.quickAction{padding:12px 10px;min-height:110px;border-radius:16px;align-items:center;text-align:center;gap:5px}.quickAction strong{font-size:12px;line-height:1.25}.quickAction small{font-size:10px;line-height:1.25}.quickIcon{font-size:26px}.mobileInstall{display:block;margin:12px 0 7px}.mobileInstall button{width:100%;font-size:12px}.cars{gap:14px}.car{border-radius:18px}.carImage,.placeholder{height:190px}.carBody{padding:15px}.sectionHead{margin:24px 0 13px}.sectionHead h2{font-size:19px}.vehicleHero{min-height:190px;border-radius:19px}.vehicleHeroContent{display:flex;flex-wrap:wrap;align-items:end;gap:7px;padding:17px}.vehicleHeroContent>.secondary{font-size:12px}.vehicleHero .muted{font-size:12px}.vehicleQuickActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vehicleQuickActions button{padding:12px 8px}.vehicleQuickActions button:last-child{grid-column:1/-1}.tabs{margin:18px -2px 14px;padding-bottom:8px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:12px 15px;min-height:46px;font-size:13px}.item{flex-wrap:wrap;gap:9px}.itemAside{text-align:left;max-width:none}.item .buttonRow{width:100%}.item .buttonRow button{flex:1}.bottomNav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:7px 5px calc(8px + env(safe-area-inset-bottom));min-height:68px;background:#0c1523f5}.bottomNav button{font-size:11px;font-weight:750;min-width:0;min-height:48px;min-width:0;border-radius:10px;padding:6px 2px;gap:2px}.bottomNav button span{font-size:22px;line-height:1.05}.bottomNav .dockScan{color:#85f5d0;background:#194d42;margin:0 4px}.bottomNav button.active{background:#19283a}.editor{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:calc(100dvh - 20px);margin:0;border-radius:24px 24px 0 0;overflow:auto;overscroll-behavior:contain}.modalContent{padding:23px 17px calc(20px + env(safe-area-inset-bottom))}.modalContent h2{font-size:23px}.modalActions{position:sticky;bottom:0;margin-top:16px;padding:10px 0 calc(4px + env(safe-area-inset-bottom));background:#131d2d;z-index:1;justify-content:stretch}.modalActions button{flex:1;padding-left:10px;padding-right:10px}.scanPicker{min-height:138px}.scanPreview{min-height:84px}.field{margin:13px 0}.field input,.field select,.field textarea{min-height:48px;font-size:16px}.loginPage{padding:17px}.loginCard{padding:26px 21px;border-radius:20px}.loginCard h1{font-size:32px}
}
@media(max-width:370px){.main{padding-left:12px;padding-right:12px}.quickAction{padding:10px 6px}.quickAction strong{font-size:11px}.quickAction small{font-size:9px}.quickIcon{font-size:25px}.vehicleHero h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.quickAction,.toast,.car{transition:none!important}}

@media(max-width:700px){.heroPanel p{display:none}.heroPanel h2{margin:10px 0!important;font-size:22px!important}.heroPanel{padding:17px 19px}.quickActionsSection{margin:15px 0}.hero{margin-top:20px}}

/* Version 1.3 private-document vault */
.privateDocsSection{margin-top:24px;border:1px solid #295f66}.privateDocsSection .buttonRow{gap:8px;flex-wrap:wrap}.privateDocsSection #privateDocsList{margin-top:17px}
@media(max-width:700px){.bottomNav{grid-template-columns:repeat(5,minmax(0,1fr))}.bottomNav button{font-size:10px}.privateDocsSection .buttonRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.privateDocsSection .buttonRow button{font-size:12px}.privateDocsSection .buttonRow button:last-child{grid-column:1/-1}}

/* v1.4: first-phone-login Home Screen onboarding. */
.installWelcome{max-width:620px;margin:0 auto}
.installWelcomeIcon{display:grid;place-items:center;width:64px;height:64px;margin:6px 0 18px;border-radius:18px;background:#22483e;font-size:32px}
.installSteps{padding:20px;margin-top:16px;border:1px solid #3c5661;background:#192b37;border-radius:15px}
.installStepsList{list-style:decimal;padding-left:23px;margin:0;display:grid;gap:13px;line-height:1.55}
.installStepsList li{padding-left:3px}
.installWelcomeActions{display:flex;gap:10px;flex-wrap:wrap}
.installWelcomeActions button{min-height:48px}
@media(max-width:700px){.installWelcome{padding-top:6px}.installSteps{padding:15px}.installStepsList{gap:10px}.installWelcomeActions{display:grid;grid-template-columns:1fr}.installWelcomeActions button{width:100%}}

/* VIN-assisted car creation, accessible on phone and desktop. */
.vinLookup{border:1px solid #375c6f;border-radius:17px;padding:17px;background:#102635;margin:12px 0 21px}
.vinLookup h3{margin:6px 0 8px}.vinLookup .muted{margin:8px 0 12px}.vinSearchControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.vinSearchControls .field{margin:0}.vinSearchControls input{text-transform:uppercase;letter-spacing:1px}.vinSearchControls button{margin-bottom:0;min-width:145px}.vinLookupResult{border:1px dashed #486173;padding:11px 13px;border-radius:11px;margin-top:14px;color:#bdcad7;font-size:13px;overflow-wrap:anywhere}.vinLookupResult.vinMatch{color:#adf2d3;border-color:#428e78;background:#19382f}.vinLookupResult .tiny{margin-top:5px}
@media(max-width:540px){.vinLookup{padding:14px}.vinSearchControls{grid-template-columns:1fr}.vinSearchControls button{width:100%}}
