.vehicle-layout { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:1.5rem; align-items:start; }
.vehicle-stack { display:grid; gap:1.25rem; min-width:0; }
.vehicle-panel { padding:1.5rem; border-radius:1.5rem; min-width:0; }
.vehicle-panel h2 { font-size:1.05rem; font-weight:800; margin-bottom:.5rem; }
.vehicle-panel p, .vehicle-panel li { font-size:.875rem; line-height:1.6; color:var(--text-secondary); }
.vehicle-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.vehicle-fields label { display:block; font-size:.875rem; font-weight:700; min-width:0; }
.vehicle-fields label small { display:block; font-weight:400; color:var(--text-secondary); line-height:1.5; margin-top:.3rem; }
.vehicle-fields input, .vehicle-fields select { display:block; width:100%; min-width:0; border:1px solid var(--border-main); background:var(--bg-secondary); color:var(--text-primary); border-radius:.75rem; padding:.75rem; margin-top:.45rem; font:inherit; min-height:48px; }
.vehicle-fields .vehicle-wide { grid-column:1/-1; }
.vehicle-check { display:flex; align-items:start; gap:.6rem; font-size:.875rem; line-height:1.5; margin-top:1rem; }
.vehicle-check input { width:20px; height:20px; flex-shrink:0; margin-top:.1rem; }
.vehicle-panel details { border-top:1px solid var(--border-main); margin-top:1.2rem; padding-top:1rem; }
.vehicle-panel summary { cursor:pointer; font-size:.875rem; font-weight:700; min-height:44px; align-content:center; }
.vehicle-panel summary::marker { color:var(--accent-emerald-ink); }
.vehicle-hero { background:#164a48; color:#fff; border:2px solid var(--border-main); border-radius:1.5rem; padding:1.5rem; box-shadow:var(--card-shadow); }
.vehicle-hero h2 { color:#fff; font-size:1.15rem; font-weight:700; }
.vehicle-hero p { color:#e1f4f1; font-size:.875rem; line-height:1.5; }
.vehicle-payments { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 1rem; }
.vehicle-payment { border:1px solid #73aaa5; border-radius:1rem; padding:1rem; }
.vehicle-payment strong { display:block; font-size:clamp(1.5rem,3vw,2.2rem); margin:.5rem 0; overflow-wrap:anywhere; }
.vehicle-payment span { font-size:.875rem; }
.vehicle-tabs { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1rem; }
.vehicle-tabs button { border:1px solid var(--border-main); background:var(--bg-secondary); color:var(--text-primary); padding:.65rem 1rem; border-radius:2rem; font:inherit; font-size:.875rem; font-weight:700; min-height:44px; }
.vehicle-tabs button[aria-pressed=true] { background:var(--accent-gold); color:#111; }
.vehicle-hero .vehicle-tabs button { border-color:#73aaa5; }
.vehicle-table { width:100%; border-collapse:collapse; font-size:.8125rem; }
.vehicle-table th, .vehicle-table td { padding:.8rem .55rem; text-align:right; border-bottom:1px solid var(--border-main); font-variant-numeric:tabular-nums; white-space:nowrap; }
.vehicle-table th:first-child { text-align:left; white-space:normal; min-width:130px; }
.vehicle-table thead th { font-weight:800; }
.vehicle-table .vehicle-total { background:var(--accent-emerald-light); font-weight:800; }
.vehicle-table caption:not(.sr-only) { text-align:left; font-weight:700; padding:.5rem 0; }
.vehicle-note { padding:1rem; margin-top:1rem; border-left:3px solid var(--accent-emerald); background:var(--accent-emerald-light); border-radius:.5rem; }
.vehicle-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.vehicle-actions button { border:1px solid var(--border-main); padding:.7rem 1rem; border-radius:.75rem; min-height:44px; font:inherit; font-size:.875rem; font-weight:700; color:var(--accent-emerald-ink); background:var(--bg-surface); }
.vehicle-jumps { display:none; }
.vehicle-panel ul { padding-left:1.2rem; list-style:disc; }
.vehicle-panel a { color:var(--accent-emerald-ink); text-decoration:underline; }
.vehicle-panel [id], #vehicle-inputs, #calculator-result { scroll-margin-top:110px; }
@media(max-width:1000px) { .vehicle-layout { grid-template-columns:1fr; } }
@media(max-width:600px) { .vehicle-panel, .vehicle-hero { padding:1.1rem; } .vehicle-fields { grid-template-columns:1fr; } .vehicle-payments { gap:.6rem; } .vehicle-payment { padding:.75rem; } .vehicle-jumps { display:flex; gap:1rem; position:sticky; bottom:.5rem; margin:1rem auto; width:max-content; z-index:35; border:2px solid var(--border-main); background:var(--bg-surface); border-radius:2rem; padding:.3rem; box-shadow:var(--card-shadow); } .vehicle-jumps a { padding:.65rem 1rem; color:var(--text-primary); font-size:.875rem; font-weight:700; } }
@media print { header, footer, .vehicle-jumps, .vehicle-actions, .skip-link { display:none!important; } .vehicle-layout { display:block; } .vehicle-stack { margin-bottom:1rem; } details { display:block; } }

.vehicle-active { font-size:.8125rem!important; margin-top:.5rem; color:var(--accent-emerald-ink)!important; }
@media(max-width:380px) { .vehicle-payments { grid-template-columns:1fr; } .vehicle-payment strong { font-size:1.75rem; } }
.vehicle-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.8rem; margin-top:1rem; }
.vehicle-summary-card { border:1px solid var(--border-main); border-radius:1rem; padding:1rem; background:var(--bg-secondary); }
.vehicle-summary-card h3 { font-size:.9rem; font-weight:800; }
.vehicle-summary-card p { font-size:.75rem; margin-top:.8rem; }
.vehicle-summary-card strong { display:block; font-size:1.15rem; color:var(--text-primary); overflow-wrap:anywhere; }
.vehicle-summary-card p:last-child strong { color:var(--accent-emerald-ink); }
.vehicle-small { font-size:.8125rem!important; }
[hidden] { display:none!important; }
@media(max-width:600px) { .vehicle-summary { grid-template-columns:1fr; } .vehicle-summary-card p { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; } .vehicle-summary-card strong { flex-shrink:0; } }
