:root { color-scheme: light; font-family: system-ui, sans-serif; color: #15251e; background: #f3f5f3; }
* { box-sizing: border-box; }
body { margin: 0; padding: 32px 20px; }
main { max-width: 440px; margin: 4vh auto; background: white; border-radius: 24px; padding: 28px; }
.eyebrow { font-size: 12px; font-weight: 750; letter-spacing: .16em; color: #286a4b; }
h1 { font-size: clamp(28px, 7vw, 36px); line-height: 1.12; letter-spacing: -.04em; margin: 28px 0 20px; }
.intro { line-height: 1.6; color: #59665e; }
#status { min-height: 44px; font-size: 14px; line-height: 1.5; margin: 26px 0 20px; }
button { width: 100%; min-height: 50px; border: 0; border-radius: 12px; background: #17613f; color: white; font: inherit; font-weight: 650; cursor: pointer; padding: 12px; }
button:disabled { opacity: .45; cursor: default; }
.secondary { margin-top: 10px; color: #17613f; background: #edf4ef; }
.note { font-size: 11px; line-height: 1.6; color: #737d76; margin-top: 26px; }
button:focus-visible { outline: 3px solid #75b899; outline-offset: 3px; }
[hidden] { display:none !important; }
h2 { font-size:18px; margin:28px 0 14px; }
label { display:block; font-size:13px; margin-bottom:8px; }
input { display:block; width:100%; min-height:44px; margin:8px 0 12px; padding:10px; border:1px solid #cdd7d0; border-radius:8px; font:inherit; font-size:14px; }
article { padding:16px 0; border-bottom:1px solid #e3e9e5; }
article .note { margin:10px 0; }
#totals { line-height:1.7; }
.routing .eyebrow, .routing h1, .routing #identity { display:none; }
.routing main { background:transparent; padding:12px; margin:20vh auto; }
.routing #status { text-align:center; color:#59665e; }
