* { box-sizing: border-box; }
:root { font-family: Arial, sans-serif; color: #163d32; background: #f6f7f3; line-height: 1.6; }
body { margin: 0; }
header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.5rem max(1.25rem, calc((100vw - 64rem) / 2)); border-bottom: 1px solid #c8d2c8; }
.brand { font-weight: 700; }
nav { display: flex; gap: .5rem; }
a { color: #163d32; padding: .65rem; text-underline-offset: .25rem; }
a[aria-current] { font-weight: 700; }
:focus-visible { outline: 3px solid #805400; outline-offset: 4px; }
main { max-width: 48rem; margin: 5rem auto; padding: 0 1.5rem; }
main:focus { outline: none; }
h1 { font-size: clamp(2rem, 7vw, 3.5rem); line-height: 1.15; margin: 1rem 0; }
.eyebrow { font-weight: 700; letter-spacing: .05em; }
.connection { background: #e4ebe1; border-left: 4px solid #52714c; padding: 1rem; margin-top: 2rem; }
.skip-link { position: absolute; top: -6rem; left: 1rem; background: white; }
.skip-link:focus { top: 1rem; }
@media (max-width: 34rem) { header { flex-direction: column; align-items: flex-start; } main { margin-top: 3rem; } }

section { margin-top: 3rem; border-top: 1px solid #c8d2c8; padding-top: 1.5rem; }
h2 { font-size: 1.35rem; line-height: 1.3; }
.muted { color: #455c50; font-size: .95rem; }
.account-email { overflow-wrap: anywhere; }

form { display: grid; gap: .75rem; max-width: 30rem; margin-top: 2rem; }
label { font-weight: 700; }
input, button { font: inherit; min-height: 3rem; border: 1px solid #52714c; border-radius: .3rem; padding: .65rem .85rem; width: 100%; }
input { color: #163d32; background: white; min-width: 0; }
button, .action { background: #163d32; color: white; font-weight: 700; cursor: pointer; }
.action { display: inline-block; border-radius: .3rem; padding: .7rem 1.1rem; }
.feedback { border-left: 4px solid #805400; padding: 1rem; background: #fff0d3; }

.language-choice { display: flex; gap: .5rem; margin: 0; }
.language-choice button { width: auto; border: 0; background: transparent; color: #163d32; font-weight: 400; text-decoration: underline; text-underline-offset: .25rem; padding: .65rem; }
.language-choice button[aria-current] { font-weight: 700; }

.destructive-confirmation { display: flex; align-items: flex-start; gap: .75rem; }
.destructive-confirmation input { width: 1.5rem; min-height: 1.5rem; height: 1.5rem; flex: 0 0 1.5rem; margin-top: .2rem; }
button.destructive { background: #8b2323; border-color: #8b2323; }

.vehicle-page { overflow-wrap: anywhere; }
.vehicle-list { list-style: none; padding: 0; }
.vehicle-list li { border-top: 1px solid #c8d2c8; padding: 1rem 0; }
.vehicle-list h2, .vehicle-list p { margin: .5rem 0; }
.vehicle-list h2 a { display: inline-block; }
.vehicle-form { max-width: 100%; gap: 1.5rem; }
.vehicle-field { display: grid; gap: .5rem; min-width: 0; }
.vehicle-field textarea { font: inherit; width: 100%; min-width: 0; padding: .65rem .85rem; color: #163d32; background: white; border: 1px solid #52714c; border-radius: .3rem; resize: vertical; }
.field-hint, .field-error { margin: 0; }
.field-error { color: #8b2323; font-weight: 700; }
[aria-invalid="true"] { border: 2px solid #8b2323; }
.technical { margin: 1.5rem 0; border-block: 1px solid #c8d2c8; padding: 1rem 0; }
.technical summary { font-weight: 700; cursor: pointer; padding: .5rem; }
.technical .vehicle-field { margin-top: 1.5rem; }
.vehicle-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: .75rem 1.5rem; }
.vehicle-details dt { font-weight: 700; }
.vehicle-details dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 34rem) { .vehicle-details { grid-template-columns: minmax(0, 1fr); gap: .25rem; } .vehicle-details dd { margin-bottom: 1rem; } }

select { font: inherit; min-height: 3rem; width: 100%; min-width: 0; padding: .65rem .85rem; color: #163d32; background: white; border: 1px solid #52714c; border-radius: .3rem; }
.timeline h3 { margin: .5rem 0; }
.document-list a { display: inline-block; overflow-wrap: anywhere; }
.document-list p { margin: .5rem 0; }
.storage-guidance p:first-child { font-weight: 700; }
.upload-form { max-width: 100%; }
.upload-results button { width: auto; margin: .5rem .75rem .5rem 0; }
[hidden] { display: none !important; }
button:disabled { cursor: wait; opacity: .7; }

.vehicle-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
