:root{--bg:#f7f9fb;--surface:#fff;--surface-strong:#0f172a;--text:#43515b;--text-strong:#0b151b;--muted:#687884;--border:#dce4ea;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#eff6ff;--warning:#b45309;--warning-soft:#fff2d6;--danger:#b42318;--danger-soft:#fde8e5;--success:#137333;--success-soft:#e2f6e8;--shadow:0 22px 55px #0c1e2824;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,p{margin:0}#app,.app-shell{min-height:100svh}.site-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-bottom:1px solid #2563eb1f;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:14px 18px;display:flex}.brand-link{color:var(--surface-strong);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.05rem;font-weight:900;text-decoration:none;display:inline-flex}.brand-link__logo,.auth-brand__logo,.dashboard-header__logo,.page-brand__logo{object-fit:contain;height:auto;display:block}.brand-link__logo{width:42px}.site-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.site-nav__link{color:var(--text);border:1px solid #0000;border-radius:999px;padding:10px 14px;font-size:.94rem;font-weight:800;text-decoration:none;transition:background .14s,border-color .14s,color .14s}.site-nav__link:hover,.site-nav__link--active{background:var(--accent-soft);color:var(--accent-strong);border-color:#2563eb24}.public-page{background:linear-gradient(180deg, #2563eb1f, #2563eb00 320px), var(--bg);min-height:100svh;padding:18px}.qr-shell,.state-panel{width:min(100%,720px);margin:0 auto}.qr-shell{gap:18px;display:grid}.page-header{padding:22px 4px 2px}.page-brand,.auth-brand{justify-content:center;display:flex}.page-brand{justify-content:flex-start;margin-bottom:16px}.page-brand__logo{width:min(220px,48vw)}.auth-brand{margin-bottom:2px}.auth-brand__logo{width:min(220px,56vw)}.eyebrow,.vehicle-label{color:var(--accent-strong);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.page-header h1,.state-panel h1{color:var(--text-strong);max-width:13ch;margin-top:8px;font-size:clamp(2rem,9vw,3.65rem);line-height:1.02}.page-header p,.state-panel p{color:var(--text);max-width:34rem;margin-top:14px;font-size:1.03rem}.vehicle-panel,.state-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.vehicle-panel{grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:16px;display:grid}.vehicle-icon{aspect-ratio:1;background:var(--surface-strong);border-radius:8px;place-items:center;width:76px;display:grid}.vehicle-icon span{background:#f97316;border-radius:7px 7px 3px 3px;width:50px;height:25px;display:block;position:relative}.vehicle-icon span:before,.vehicle-icon span:after{background:var(--surface-strong);content:"";border-radius:50%;width:13px;height:13px;position:absolute;bottom:-7px}.vehicle-icon span:before{left:6px}.vehicle-icon span:after{right:6px}.vehicle-panel h2{color:var(--text-strong);margin-top:3px;font-size:1.35rem;line-height:1.15}.vehicle-panel p:last-child{color:var(--muted);margin-top:4px}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quick-action{background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;min-height:92px;padding:15px;text-decoration:none}.quick-action strong,.quick-action span{display:block}.quick-action strong{color:var(--text-strong);font-weight:850}.quick-action span{color:var(--muted);margin-top:4px;font-size:.88rem;line-height:1.25}.call-action{background:var(--accent);border-color:var(--accent)}.call-action strong,.call-action span{color:#fff}.urgent-action{background:var(--danger-soft);border-color:#b423183d}.urgent-action strong{color:var(--danger)}.call-status{background:var(--accent-soft);color:var(--accent-strong);border:1px solid #2563eb2e}.action-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:18px;display:grid}.action-panel h2{color:var(--text-strong);margin-top:4px;font-size:1.45rem;line-height:1.15}.action-panel p{color:var(--muted);margin-top:6px}.urgent-panel{background:#fff8f7;border-color:#b4231847}.urgent-eyebrow{color:var(--danger)}.field span{color:var(--text-strong);margin-bottom:8px;font-size:.95rem;font-weight:800;display:block}.field em{color:var(--muted);font-style:normal;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);color:var(--text-strong);background:#fff;border-radius:8px;outline:none;width:100%;padding:13px 14px;display:block}.field textarea{resize:vertical;min-height:116px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px #2563eb24}.primary-action,.danger-action{color:#fff;border:0;border-radius:8px;width:100%;min-height:54px;padding:14px 18px;font-weight:850}.primary-action{background:var(--accent)}.primary-action:hover:not(:disabled){background:var(--accent-strong)}.danger-action{background:var(--danger)}.danger-action:hover:not(:disabled){background:#8f1d14}.success-panel{background:var(--success-soft);box-shadow:var(--shadow);border:1px solid #13733338;border-radius:8px;gap:8px;padding:18px;display:grid}.success-panel h2{color:var(--success);font-size:1.55rem;line-height:1.15}.success-panel p{color:#245b34}.urgent-success-panel{background:var(--danger-soft);border-color:#b4231847}.urgent-success-panel h2{color:var(--danger)}.urgent-success-panel p{color:#7a241c}.compact-action{justify-self:start;min-height:44px;margin-top:8px;padding:10px 14px}.quick-action:focus-visible,.primary-action:focus-visible,.danger-action:focus-visible,.secondary-action:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px #2563eb24}.privacy-note{background:var(--warning-soft);color:#6f3b05;border:1px solid #b453092e;border-radius:8px;padding:12px 14px}.secondary-action{background:var(--accent);color:#fff;border:0;border-radius:8px;min-height:52px;margin-top:22px;padding:14px 18px;font-weight:800}.secondary-action:hover:not(:disabled){background:var(--accent-strong)}.form-alert{border-radius:8px;padding:13px 14px;font-weight:700}.form-alert.success{background:var(--success-soft);color:var(--success)}.form-alert.error{background:var(--danger-soft);color:var(--danger)}.state-panel{margin-top:max(20px,12svh);padding:26px}.owner-page{background:var(--bg);min-height:100svh;padding:18px}.owner-card,.owner-dashboard{width:min(100%,760px);margin:0 auto}.owner-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:22px;display:grid}.owner-card h1,.owner-card h2,.dashboard-header h1{color:var(--text-strong);line-height:1.1}.owner-card h1,.dashboard-header h1{font-size:clamp(2rem,8vw,3.2rem)}.owner-copy,.owner-link{color:var(--muted)}.owner-link a,.vehicle-list a{color:var(--accent-strong);font-weight:800;text-decoration-color:#1d4ed852}.owner-inline-link{justify-content:flex-end;margin-top:-4px;display:flex}.owner-inline-link a{color:var(--accent-strong);font-size:.94rem;font-weight:800;text-decoration:none}.owner-inline-link a:hover{text-decoration:underline}.owner-form,.owner-dashboard{gap:16px;display:grid}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;display:flex}.dashboard-header__brand,.dashboard-header__copy{gap:0;display:grid}.dashboard-header__copy{flex:320px}.dashboard-header__logo{width:164px}.vehicle-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.vehicle-list li{border:1px solid var(--border);background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.vehicle-summary{align-items:center;gap:14px;display:flex}.sticker-preview{aspect-ratio:3/4;border:1px solid var(--border);object-fit:contain;background:#fff;border-radius:6px;flex:none;place-items:center;height:104px;padding:4px;display:grid;box-shadow:0 8px 18px #0c1e2814}.placeholder-preview{color:var(--accent-strong);font-size:.7rem;font-weight:850}.vehicle-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.vehicle-list strong,.vehicle-list span{display:block}.vehicle-list span{color:var(--muted);font-size:.92rem}.text-action{color:var(--accent-strong);background:0 0;border:0;padding:0;font-weight:800}.message-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.message-list li{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:10px;padding:14px;display:grid}.message-list li.urgent-message{background:var(--danger-soft);border-color:#b4231847}.message-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.message-header strong{color:var(--text-strong)}.urgent-pill{background:var(--danger);color:#fff;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:850}.message-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.message-meta dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.message-meta dd{color:var(--text-strong);overflow-wrap:anywhere;margin:2px 0 0}.loader{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=760px){.public-page{padding:34px 24px}.page-header{padding-top:34px}.action-panel{padding:22px}}@media (width<=520px){.site-header__inner{flex-direction:column;align-items:flex-start}.site-nav{width:100%}.site-nav__link{text-align:center}.public-page{padding:12px}.qr-shell{gap:14px}.page-header{padding-top:14px}.page-header h1,.state-panel h1{max-width:100%;font-size:2.15rem}.vehicle-panel{grid-template-columns:auto 1fr;gap:13px;padding:14px}.vehicle-icon{width:58px}.vehicle-icon span{width:40px;height:20px}.quick-actions{grid-template-columns:1fr}.quick-action{min-height:76px}.action-panel,.success-panel{padding:16px}.owner-page{padding:12px}.owner-card{padding:16px}.dashboard-header,.vehicle-list li{flex-direction:column;align-items:stretch}.dashboard-header__logo{width:144px}.vehicle-summary{align-items:flex-start}.sticker-preview{height:96px}.vehicle-actions{justify-content:flex-start}.message-header{flex-direction:column;align-items:flex-start}.message-meta{grid-template-columns:1fr}}
