:root { color-scheme: light; font-family: system-ui, sans-serif; color: #172033; background: #f4f7fb; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
.shell { max-width: 680px; margin: 0 auto; padding: 24px 16px 56px; }
.header { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 20px; }
h1, h2, p { margin-top: 0; }
.eyebrow { color: #3167c9; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; margin-bottom: 6px; }
.muted { color: #64748b; }
.card { background: white; border: 1px solid #dce3ee; border-radius: 16px; padding: 22px; box-shadow: 0 8px 30px #1d3d6710; }
form { display: grid; gap: 14px; }
label { display: grid; gap: 6px; font-weight: 650; }
input, select, textarea { width: 100%; border: 1px solid #b8c4d5; border-radius: 9px; padding: 11px 12px; font: inherit; background: white; color: inherit; }
button, .button { border: 0; border-radius: 9px; padding: 11px 15px; font: inherit; font-weight: 700; cursor: pointer; text-align: center; text-decoration: none; background: #3167c9; color: white; }
button:disabled { opacity: .55; cursor: wait; }
.secondary { background: transparent; color: #3167c9; border: 1px solid #b8c4d5; }
.notice { background: #eef5ff; color: #214d97; padding: 12px; border-radius: 9px; }
.consent { grid-template-columns: auto 1fr; align-items: start; font-weight: 500; }
.consent input { width: auto; margin-top: 4px; }
.error { color: #b42318; min-height: 1.2em; margin: 0; }
.hidden { display: none !important; }
@media (max-width: 480px) { .header { flex-direction: column; } .header button { align-self: flex-start; } .card { padding: 17px; } }
