:root { --ink:#142a3f; --blue:#007ebd; --line:#d9e2e8; --soft:#f4f8fa; --green:#e6f0dd; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--soft); font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.shell { max-width:980px; margin:0 auto; padding:56px 24px 80px; }
header { margin-bottom:28px; }
.eyebrow { margin:0 0 6px; color:var(--blue); font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:.78rem; }
h1 { margin:0; font-size:clamp(2rem,5vw,3.2rem); letter-spacing:-.04em; }
h2 { margin:0 0 7px; font-size:1.3rem; }
.intro { max-width:650px; margin:10px 0 0; color:#4d6170; }
.card { display:grid; grid-template-columns:48px 1fr; gap:18px; margin:18px 0; padding:28px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 3px 12px #142a3f0d; }
.card.disabled { opacity:.58; }
.step { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#fff; background:var(--blue); font-weight:800; }
.card p { margin:0 0 16px; }
.grid { display:grid; grid-template-columns:minmax(0, 560px); gap:16px; margin:20px 0 12px; }
label { display:grid; gap:6px; font-weight:650; font-size:.9rem; }
select, button, .file-input span { min-height:42px; border-radius:7px; border:1px solid #b9c8d2; background:#fff; padding:0 11px; font:inherit; color:inherit; }
select:focus, button:focus-visible, .file-input:focus-within span { outline:3px solid #87cbec; outline-offset:2px; }
.file-input { display:inline-grid; cursor:pointer; width:max-content; }.file-input input { position:absolute; width:1px; height:1px; opacity:0; }.file-input span, button { display:grid; place-items:center; background:var(--blue); color:#fff; border-color:var(--blue); font-weight:700; cursor:pointer; }
button:disabled, select:disabled { cursor:not-allowed; opacity:.55; }
.status { color:#4d6170; font-size:.92rem; }.hint { background:var(--green); padding:10px 12px; border-radius:6px; font-size:.9rem; }.check { align-self:end; display:flex; align-items:center; gap:8px; min-height:42px; }.check input { width:17px; height:17px; }
.geography-status { min-height:1.5em; margin:0; color:#176e9e; font-weight:650; }
select[aria-busy="true"] { background:linear-gradient(90deg,#fff,#edf7fb,#fff); color:#527182; }
.field-help { min-height:1.25em; color:#647786; font-size:.82rem; font-weight:500; }
.field-help.is-loading { color:#176e9e; font-weight:700; }
code { color:#005d92; }
@media (max-width:680px) { .shell { padding:32px 16px 56px; }.card { padding:20px; grid-template-columns:1fr; gap:10px; }.grid { grid-template-columns:1fr; }.step { width:32px; height:32px; } }
