:root { color-scheme: light; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #172d2a; background: #f2f4ef; }
* { box-sizing: border-box; }
body { margin: 0; }
.verification { max-width: 850px; margin: 0 auto; padding: 40px 24px; }
.eyebrow { font-size: .8rem; font-weight: 750; letter-spacing: .12em; color: #42635a; }
h1 { font-size: clamp(1.9rem, 5vw, 2.75rem); line-height: 1.15; letter-spacing: -.035em; margin: 18px 0; }
h1 span { display: block; }
.intro { font-size: 1.15rem; color: #42554e; line-height: 1.5; }
.scan-panel { margin-top: 30px; background: #fff; padding: 28px; border: 1px solid #cbd7ce; border-top: 5px solid #21634f; border-radius: 12px; box-shadow: 0 8px 30px #18392b09; }
h2 { font-size: 1.3rem; margin: 0 0 10px; }
p, li { line-height: 1.55; }
label { display: block; font-size: 1rem; font-weight: 700; margin: 24px 0 10px; }
input { display: block; width: 100%; min-height: 68px; padding: 16px; border: 2px solid #6d8277; border-radius: 7px; font: inherit; font-size: 1.4rem; color: #172d2a; background: #fbfcfa; }
input[aria-invalid="true"] { border-color: #a32b20; }
:focus-visible { outline: 4px solid #d99022; outline-offset: 3px; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
button { font: inherit; font-weight: 700; min-height: 56px; padding: 14px 20px; border: 1px solid #6d8277; border-radius: 7px; cursor: pointer; background: #fff; color: #174936; }
button:hover { background: #eaf1e9; }
button.primary { background: #18543f; color: #fff; border-color: #18543f; flex: 1; }
button.primary:hover { background: #103c2d; }
#scan-status { min-height: 3.1em; margin-bottom: 0; color: #3e5549; }
#scan-status.error, .error { color: #9b241a; font-weight: 650; }
.instructions { margin: 30px 4px; }
ol { padding-left: 24px; }
li { padding-left: 4px; margin: 9px 0; }
footer { border-top: 1px solid #cbd7ce; padding-top: 20px; font-size: .9rem; color: #496054; line-height: 1.5; }
@media (max-width: 520px) { .verification { padding: 24px 16px; } .scan-panel { padding: 20px; } .actions { flex-direction: column; } input { font-size: 1.1rem; } }
[hidden] { display: none !important; }
select { width:100%; min-height:56px; padding:12px; font:inherit; border:1px solid #6d8277; border-radius:7px; background:white; color:#172d2a; }
.button { display:inline-block; min-height:56px; padding:14px 20px; border:1px solid #6d8277; border-radius:7px; background:white; color:#174936; font-weight:700; text-decoration:none; }
.button:hover { background:#eaf1e9; }
.step { margin-top:30px; }
#status { padding:20px; border-left:5px solid #21634f; background:white; line-height:1.5; }
#status.error { border-color:#9b241a; color:#9b241a; }
