@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-base:oklch(18% .02 240);--bg-surface:oklch(24% .03 240);--bg-surface-elevated:oklch(28% .03 240);--primary:oklch(65% .22 210);--primary-hover:oklch(72% .2 210);--accent:oklch(68% .19 35);--accent-hover:oklch(74% .17 35);--text-primary:oklch(96% .01 240);--text-secondary:oklch(80% .02 240);--text-muted:oklch(60% .02 240);--border-color:oklch(32% .03 240);--border-focus:oklch(65% .15 210);--success:oklch(70% .15 140);--error:oklch(65% .18 20);--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 40px #0006;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", var(--font-sans);accent-color:var(--primary)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);width:100%;max-width:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}body{flex-direction:column;min-height:100vh;display:flex}#root{flex-direction:column;width:100%;min-width:0;max-width:100%;min-height:100vh;display:flex}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-weight:700}h1{font-size:2rem;line-height:1.2}h2{margin-bottom:1rem;font-size:1.5rem}p{color:var(--text-secondary)}.container{flex:1;width:100%;min-width:0;max-width:800px;margin:0 auto;padding:1.5rem}.owner-banner-slot{border:1px dashed var(--border-color);border-radius:var(--radius-md);background:color-mix(in oklab, var(--bg-surface) 82%, var(--primary));width:100%;max-width:640px;min-height:88px;color:var(--primary);align-items:center;gap:.75rem;margin:2.5rem auto 0;padding:1rem 1.15rem;display:flex}.owner-banner-slot strong{color:var(--text-primary);font-size:.95rem;display:block}.owner-banner-slot p{color:var(--text-secondary);margin-top:.15rem;font-size:.82rem}.app-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:100;background-color:#181b23cc;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;width:100%;min-width:0;max-width:800px;margin:0 auto;padding:1rem 1.5rem;display:flex}.brand{font-family:var(--font-display);color:var(--text-primary);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:800;text-decoration:none;transition:opacity .2s;display:flex}.brand:hover{opacity:.9}.brand-icon{color:var(--primary)}.nav-links{gap:1.25rem;min-width:0;display:flex}.mobile-nav{display:block;position:relative}.mobile-menu-button{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);width:44px;height:44px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-nav-menu{z-index:110;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-surface-elevated);width:min(280px,100vw - 2rem);box-shadow:var(--shadow-lg);flex-direction:column;padding:.5rem;display:flex;position:absolute;top:calc(100% + .65rem);right:0}.mobile-nav-item{border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;padding:.7rem .85rem;font-size:.95rem;text-decoration:none;display:flex}.mobile-nav-item:hover,.mobile-nav-item:focus-visible{color:var(--primary);background:#68baff1a}.mobile-nav-logout{border-top:1px solid var(--border-color);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:oklch(80% .08 20);margin-top:.25rem}@media (width<=599px){.header-content{gap:.5rem;padding:.85rem 1rem}}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-link:hover,.nav-link.active{color:var(--primary);background-color:#68baff14}.app-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);background-color:var(--bg-surface);padding:2rem;font-size:.85rem}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-md);margin-bottom:1.5rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-lg)}.card-title-section{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.form-group{min-width:0;margin-bottom:1.25rem}.form-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-control{background-color:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;min-width:0;max-width:100%;color:var(--text-primary);font-family:var(--font-sans);padding:.85rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #68baff26}.form-row{grid-template-columns:1fr;gap:1rem;display:grid}.form-row>.form-group{min-width:0}.fixed-date-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#ffffff05;flex-direction:column;gap:.2rem;width:100%;min-width:0;padding:.85rem 1rem;display:flex}.fixed-date-card strong{color:var(--text-primary);font-size:1rem}.fixed-date-card span{color:var(--text-muted);font-size:.78rem;line-height:1.4}.maintenance-checklist-section{min-width:0;margin-bottom:1.5rem}.maintenance-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.maintenance-chip,.maintenance-category-header,.maintenance-check-item{min-width:0}.maintenance-chip{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-surface);color:var(--text-primary);cursor:pointer;min-height:50px;font:inherit;text-align:center;justify-content:center;align-items:center;gap:.45rem;padding:.85rem;font-weight:600;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.maintenance-chip:hover,.maintenance-chip.active{border-color:var(--primary);color:var(--primary);background-color:#68baff14}.maintenance-category{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-surface);margin-bottom:.75rem;overflow:hidden}.maintenance-category-header{width:100%;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:1rem;font-weight:700;display:flex}.maintenance-category-header>span:first-child{flex:1;min-width:0}.maintenance-selected-count{background-color:var(--primary);color:var(--bg-base);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:800}.maintenance-category-body{border-top:1px solid var(--border-color);background-color:var(--bg-base);grid-template-columns:1fr;gap:.5rem;padding:1rem;display:grid}.maintenance-check-item{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);align-items:center;gap:.75rem;padding:.75rem .85rem;transition:border-color .2s,background-color .2s,color .2s;display:flex}.maintenance-check-item.active{border-color:var(--primary);color:var(--primary);background-color:#68baff14;font-weight:600}.maintenance-check-item input{flex:none}.maintenance-check-item span{min-width:0}@media (width>=600px){.form-row{grid-template-columns:1fr 1fr}.maintenance-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.maintenance-category-body{grid-template-columns:repeat(2,minmax(0,1fr))}}.radio-group{gap:1rem;margin-top:.5rem;display:flex}.radio-option{flex:1}.radio-label{background-color:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-weight:500;transition:all .2s;display:flex}.radio-option input[type=radio]{display:none}.radio-option input[type=radio]:checked+.radio-label{border-color:var(--primary);color:var(--primary);background-color:#68baff14}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--bg-base)}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-secondary:hover{border-color:var(--text-secondary);background-color:#ffffff0d}.btn-accent{background-color:var(--accent);color:var(--bg-base)}.btn-accent:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.btn-block{width:100%;display:flex}.checklist-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem;display:grid}@media (width>=600px){.checklist-grid{grid-template-columns:1fr 1fr}}.checklist-item{background-color:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .2s;display:flex}.checklist-item:hover{border-color:var(--text-muted)}.checklist-item input[type=checkbox]{cursor:pointer;width:1.2rem;height:1.2rem}.nav-hub{grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width>=768px){.nav-hub{grid-template-columns:1fr 1fr}}.hub-card{flex-direction:column;height:100%;padding:2rem;display:flex}.hub-card-header{color:var(--primary);align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.hub-card-header.accent{color:var(--accent)}.hub-card p{flex-grow:1;margin-bottom:1.5rem}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}@media (width>=600px){.info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.info-item{background-color:var(--bg-base);border-radius:var(--radius-sm);border:1px solid var(--border-color);min-width:0;padding:.75rem 1rem}.info-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem}.info-value{min-width:0;color:var(--text-primary);overflow-wrap:anywhere;font-size:1.1rem;font-weight:600;line-height:1.4}.shop-vehicle-specification{background-color:var(--bg-base);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:0;margin-top:1rem;padding:1rem}.shop-vehicle-model-type{color:var(--text-primary);overflow-wrap:anywhere;margin-bottom:.75rem;font-size:1.2rem;font-weight:700}.shop-vehicle-spec-row{border-top:1px solid var(--border-color);color:var(--text-secondary);justify-content:space-between;gap:.75rem;padding-top:.5rem;font-size:.82rem;display:flex}.shop-vehicle-spec-row+.shop-vehicle-spec-row{margin-top:.5rem}.shop-vehicle-spec-row strong{min-width:0;color:var(--text-primary);text-align:right;overflow-wrap:anywhere}.shop-vehicle-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.5rem;display:grid}.shop-vehicle-stat-grid .info-item{padding:.65rem .75rem}.shop-read-only-notice{flex:100%;margin:0}.connected-vehicle-link{border-top:1px solid var(--border-color);align-items:center;gap:.75rem;min-width:0;padding:1rem 0;text-decoration:none;display:flex}.connected-vehicle-link>svg{flex:none}.connected-vehicle-details{flex:auto;min-width:0}.connected-vehicle-details p,.connected-vehicle-details strong{overflow-wrap:anywhere}.shop-qr-scanner{gap:.9rem;margin-bottom:1rem;display:grid}.shop-qr-scanner-message{margin:0}.shop-qr-spinner{animation:1s linear infinite shop-qr-spin}@keyframes shop-qr-spin{to{transform:rotate(360deg)}}.shop-qr-camera{display:none}.shop-qr-camera.is-open{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-base);gap:.8rem;margin-top:.2rem;padding:.85rem;display:grid}.shop-qr-video{border-radius:var(--radius-sm);object-fit:cover;background:#000;width:100%;max-width:420px;min-height:220px;margin:0 auto;display:block}.shop-qr-camera-frame{aspect-ratio:1;border:2px solid var(--primary);border-radius:var(--radius-sm);width:min(58vw,220px);color:var(--primary);pointer-events:none;place-items:center;margin:-1px auto 0;display:grid}.shop-qr-camera p,.shop-qr-manual-note{font-size:.85rem;line-height:1.5}.shop-qr-manual-note{color:var(--text-muted);margin:0 0 1rem}@media (width<=599px){.container,.card{padding:1rem}}.timeline{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.timeline-item{background-color:var(--bg-surface-elevated);border-left:4px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem;position:relative}.timeline-header{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.timeline-date{color:var(--text-primary);font-weight:700}.timeline-mileage{color:var(--primary);font-weight:600}.timeline-content{margin-top:.5rem}.timeline-work{color:var(--text-primary);font-size:1rem;font-weight:500}.timeline-meta{border-top:1px dashed var(--border-color);color:var(--text-muted);grid-template-columns:1fr;gap:.25rem;margin-top:.5rem;padding-top:.5rem;font-size:.8rem;display:grid}@media (width>=600px){.timeline-meta{grid-template-columns:auto auto;justify-content:space-between}}.timeline-memo{color:var(--text-secondary);background-color:var(--bg-base);border-radius:var(--radius-sm);border:1px solid var(--border-color);margin-top:.5rem;padding:.5rem;font-size:.85rem}.owner-vehicle-detail{--owner-panel:#22362c;--owner-panel-elevated:#2a4034;--owner-border:#43594c;--owner-muted:#aaa89e;--owner-accent:#cf672d;--owner-accent-muted:#563a28}.owner-vehicle-detail .back-link{color:var(--owner-muted)}.owner-vehicle-detail .back-link:hover{color:var(--text-primary)}.owner-vehicle-detail .card{border-color:var(--owner-border);background:var(--owner-panel)}.owner-vehicle-overview,.owner-vehicle-connection-card,.owner-history-card{border-radius:1.5rem}.owner-vehicle-overview{padding:clamp(1.25rem,4vw,2rem)}.owner-vehicle-eyebrow{color:var(--owner-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;font-size:.82rem;font-weight:700}.owner-vehicle-detail .maker-badge{color:var(--owner-muted);border-color:var(--owner-border);background:#00000024}.owner-vehicle-registration-badge{border:1px solid var(--owner-border);border-radius:999px;flex:none;padding:.3rem .7rem;font-size:.78rem;font-weight:700}.owner-vehicle-registration-badge.is-new{color:#bfdbc6;background:#508e5e33}.owner-vehicle-registration-badge.is-used{color:#f0bc98;background:var(--owner-accent-muted)}.owner-vehicle-mileage-card{border:1px solid var(--owner-border);background:var(--owner-panel-elevated);border-radius:1.35rem;margin-top:1.5rem}.owner-vehicle-detail .hero-stat-label{color:var(--owner-muted)}.owner-vehicle-detail .hero-stat-value,.owner-vehicle-detail .hero-stat-value .unit{color:var(--text-primary)}.owner-vehicle-initial-mileage{text-align:right;color:var(--text-secondary)}.owner-vehicle-detail .spec-disclosure{border-color:var(--owner-border);background:#0000001f;margin-top:1rem}.owner-vehicle-detail .spec-disclosure summary,.owner-vehicle-detail .spec-label{color:var(--owner-muted)}.owner-vehicle-detail .spec-item{border-color:var(--owner-border);background:#0000001f}.owner-vehicle-detail .btn-primary{background:var(--owner-accent);color:#fff}.owner-vehicle-detail .btn-primary:hover{background:#df7438}.owner-maintenance-timeline{gap:1.25rem;padding-left:3.5rem;position:relative}.owner-maintenance-timeline:before{content:"";border-left:3px dashed #77766e;position:absolute;top:1.35rem;bottom:1.35rem;left:1.25rem}.owner-maintenance-timeline-item{background:0 0;border:0;padding:0;position:relative}.owner-maintenance-timeline-icon{z-index:1;border:3px solid var(--owner-accent);width:2.55rem;height:2.55rem;color:var(--text-secondary);background:#20251f;border-radius:.75rem;place-items:center;display:grid;position:absolute;top:1.1rem;left:-3.35rem}.owner-maintenance-record-card{border:1px solid var(--owner-border);background:var(--owner-panel-elevated);border-radius:1.3rem;padding:1.15rem}.owner-maintenance-record-header{align-items:center;margin-bottom:.75rem}.owner-maintenance-record-source{gap:.4rem}.owner-maintenance-record-date{color:var(--owner-muted);white-space:nowrap;font-size:.9rem;font-weight:700}.owner-maintenance-revised{color:#f0bc98;font-size:.78rem;font-weight:700}.owner-maintenance-work{font-size:clamp(1.15rem,4.2vw,1.45rem);font-weight:800;line-height:1.35}.owner-maintenance-record-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-top:1rem;display:flex}.owner-maintenance-mileage{border:1px solid var(--owner-border);width:fit-content;color:var(--owner-muted);border-radius:999px;padding:.25rem .72rem;font-size:.86rem}.owner-maintenance-delete{border-color:var(--error);min-height:32px;color:var(--error);padding:.3rem .6rem;font-size:.78rem}.owner-maintenance-shop-meta{border-color:var(--owner-border);grid-template-columns:1fr;margin-top:.9rem;padding-top:.8rem}.owner-vehicle-detail .timeline-memo{border-color:var(--owner-border);background:#0000002e}@media (width<=420px){.owner-maintenance-timeline{padding-left:3rem}.owner-maintenance-timeline-icon{width:2.2rem;height:2.2rem;left:-2.9rem}.owner-maintenance-record-card{padding:1rem}}.shop-workspace{--shop-panel:#22362c;--shop-panel-elevated:#2a4034;--shop-border:#43594c;--shop-muted:#aaa89e;--shop-accent:#cf672d}.shop-workspace .card{border-color:var(--shop-border);background:var(--shop-panel)}.shop-workspace .back-link{color:var(--shop-muted)}.shop-workspace .back-link:hover{color:var(--text-primary)}.shop-workspace .btn-primary,.shop-workspace .btn-accent{background:var(--shop-accent);color:#fff}.shop-workspace .btn-primary:hover,.shop-workspace .btn-accent:hover{background:#df7438}.shop-workspace-identity,.shop-connected-vehicles-card,.shop-connection-card,.shop-vehicle-overview,.shop-history-card,.shop-record-workflow .card{border-radius:1.5rem}.shop-workspace-eyebrow{color:var(--shop-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem;font-size:.82rem;font-weight:700}.shop-workspace-section-label{color:var(--shop-accent);font-size:.82rem;font-weight:800}.shop-connected-vehicle-list{gap:.8rem;margin-top:1rem;display:grid}.shop-workspace .connected-vehicle-link{border:1px solid var(--shop-border);background:var(--shop-panel-elevated);border-radius:1.1rem;padding:1rem}.shop-workspace .connected-vehicle-link:hover{border-color:var(--shop-accent);background:#30483a}.shop-connected-vehicle-icon{color:var(--shop-accent)}.shop-workspace .connected-vehicle-details p{color:var(--shop-muted)}.shop-workspace .connect-method-tab{border-color:var(--shop-border);color:var(--shop-muted);background:#00000026}.shop-workspace .connect-method-tab.active{border-color:var(--shop-accent);color:#f6c4a4;background:#cf672d24}.shop-workspace .shop-qr-camera.is-open,.shop-workspace .shop-qr-camera-frame{border-color:var(--shop-border);background:#0000002e}.shop-vehicle-overview{padding:clamp(1.25rem,4vw,2rem)}.shop-vehicle-owner{color:#f6c4a4;margin-top:.35rem;font-weight:700}.shop-workspace .shop-vehicle-specification,.shop-workspace .info-item{border-color:var(--shop-border);background:#00000024}.shop-workspace .shop-vehicle-spec-row{border-color:var(--shop-border)}.shop-vehicle-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.shop-maintenance-timeline{gap:1.25rem;padding-left:3.5rem;position:relative}.shop-maintenance-timeline:before{content:"";border-left:3px dashed #77766e;position:absolute;top:1.35rem;bottom:1.35rem;left:1.25rem}.shop-maintenance-timeline-item{background:0 0;border:0;padding:0;position:relative}.shop-maintenance-timeline-icon{z-index:1;border:3px solid var(--shop-accent);width:2.55rem;height:2.55rem;color:var(--text-secondary);background:#20251f;border-radius:.75rem;place-items:center;display:grid;position:absolute;top:1.1rem;left:-3.35rem}.shop-maintenance-record-card{border:1px solid var(--shop-border);background:var(--shop-panel-elevated);border-radius:1.3rem;padding:1.15rem}.shop-maintenance-record-header{align-items:center;margin-bottom:.75rem}.shop-maintenance-record-source{gap:.4rem}.shop-maintenance-record-date{color:var(--shop-muted);white-space:nowrap;font-size:.9rem;font-weight:700}.shop-maintenance-revised{color:#f0bc98;font-size:.78rem;font-weight:700}.shop-maintenance-work{font-size:clamp(1.15rem,4.2vw,1.45rem);font-weight:800;line-height:1.35}.shop-maintenance-record-footer{align-items:center;margin-top:1rem;display:flex}.shop-maintenance-mileage{border:1px solid var(--shop-border);width:fit-content;color:var(--shop-muted);border-radius:999px;padding:.25rem .72rem;font-size:.86rem}.shop-maintenance-meta{border-color:var(--shop-border);grid-template-columns:1fr;margin-top:.9rem;padding-top:.8rem}.shop-workspace .timeline-memo{border-color:var(--shop-border);background:#0000002e}.shop-maintenance-edit{margin-top:.75rem}.shop-record-workflow .fixed-date-card,.shop-record-workflow .maintenance-category,.shop-record-workflow .maintenance-check-item,.shop-record-workflow .maintenance-chip{border-color:var(--shop-border);background:#00000024}.shop-record-workflow .maintenance-chip.active,.shop-record-workflow .maintenance-check-item.active{border-color:var(--shop-accent);color:#f6c4a4;background:#cf672d24}.shop-record-workflow .maintenance-category-body{border-color:var(--shop-border);background:#0000001a}.shop-record-workflow .maintenance-selected-count{background:var(--shop-accent);color:#fff}@media (width<=420px){.shop-maintenance-timeline{padding-left:3rem}.shop-maintenance-timeline-icon{width:2.2rem;height:2.2rem;left:-2.9rem}.shop-maintenance-record-card{padding:1rem}}.qr-container{border-radius:var(--radius-md);background-color:#fff;flex-direction:column;justify-content:center;align-items:center;max-width:240px;margin:1rem auto;padding:1.5rem;display:flex}.qr-label{color:#333;text-align:center;margin-top:.5rem;font-size:.75rem;font-weight:600}.alert{border-radius:var(--radius-sm);border-left:4px solid #0000;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.alert-info{border-color:var(--primary);color:var(--text-primary);background-color:#68baff14}.alert-warning{border-color:var(--accent);color:var(--text-primary);background-color:#ffb34014}.back-link{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--primary)}.empty-state{text-align:center;color:var(--text-muted);background-color:var(--bg-surface);border-radius:var(--radius-md);border:2px dashed var(--border-color);padding:3rem 1.5rem}.empty-icon{color:var(--border-color);margin-bottom:1rem;font-size:2.5rem}.vehicle-list{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=768px){.vehicle-list{grid-template-columns:1fr 1fr}}.vehicle-item{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;padding:1.25rem;text-decoration:none;transition:all .2s;display:flex}.vehicle-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.vehicle-item-info h3{margin-bottom:.25rem;font-size:1.1rem}.vehicle-item-info p{color:var(--text-muted);font-size:.85rem}.vehicle-item-arrow{color:var(--text-muted);transition:transform .2s}.vehicle-item:hover .vehicle-item-arrow{color:var(--primary);transform:translate(3px)}.hero-stat-card{background:linear-gradient(135deg, var(--bg-surface-elevated), var(--bg-surface));border:1px solid var(--border-color);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;padding:1.1rem 1.25rem;display:flex}.hero-stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-size:.72rem}.hero-stat-value{font-family:var(--font-display);color:var(--text-primary);align-items:baseline;gap:.3rem;font-size:2rem;font-weight:700;display:flex}.hero-stat-value .unit{color:var(--text-muted);font-size:.9rem;font-weight:500}.spec-disclosure{border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-surface);margin-bottom:1.5rem;overflow:hidden}.spec-disclosure summary{cursor:pointer;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.85rem;list-style:none;display:flex}.spec-disclosure summary::-webkit-details-marker{display:none}.spec-disclosure summary:after{content:"⌄";color:var(--text-muted);flex-shrink:0;font-size:1rem;transition:transform .2s}.spec-disclosure[open] summary:after{transform:rotate(180deg)}.spec-disclosure-body{padding:0 1rem 1rem}.source-badge{white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:.3rem;margin:0 .4rem;padding:.15rem .55rem;font-size:.72rem;font-weight:700;line-height:1.5;display:inline-flex}.source-badge--diy{color:var(--primary);background-color:#68baff1a;border:1px solid #68baff59}.source-badge--shop{color:var(--accent);background-color:#ffb3401a;border:1px solid #ffb34059}.selected-items-summary{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1.25rem;display:flex}.selected-chip{color:var(--primary);background-color:#68baff1a;border:1px solid #68baff4d;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.selected-chip button{color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.connect-method-tabs{gap:.5rem;margin-bottom:1.25rem;display:flex}.connect-method-tab{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-base);color:var(--text-secondary);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.75rem;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.connect-method-tab.active{border-color:var(--primary);color:var(--primary);background:#68baff14}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.flex{display:flex}.flex-col{flex-direction:column}.gap-2{gap:.5rem}.gap-4{gap:1rem}.justify-between{justify-content:space-between}.align-center{align-items:center}
