.page { min-height:100vh; background:radial-gradient(ellipse at top,#d4af3710,transparent 65%),#F6EFE9; padding:40px 20px; }
.card { max-width:480px; padding:30px !important; border-radius:20px; box-shadow:0 16px 50px #2D0A180A; }
.brand { display:flex; align-items:center; gap:10px; color:#2D0A18; font-size:13px; font-weight:800; text-decoration:none; }
.brand > span { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,#4A141E,#2B0A11); color:#D4AF37; font-size:12px; }
.brand small { display:block; margin-top:4px; color:#806827; font-size:8px; letter-spacing:.14em; }
.steps { display:flex; justify-content:space-between; gap:8px; list-style:none; padding:22px 0; margin:22px 0 26px; border-block:1px solid #eee6de; }
.steps li { display:flex; align-items:center; gap:6px; font-size:9px; font-weight:600; color:#83747a; }
.steps li:first-child { color:#286653; }
.steps li[aria-current] { color:#731F32; font-weight:800; }
.steps li > span { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#f2ece5; font-size:9px; }
.steps li[aria-current] > span { background:#731F32; color:white; }
.icon { margin:0 auto 18px; width:48px; height:48px; border-radius:14px; background:#f5eedb; }
.card h1 { text-align:center; color:#2D0A18 !important; font-size:28px; line-height:1.25; letter-spacing:-.025em; }
.card h1 + p { text-align:center; font-size:12px; line-height:1.7; color:#66515A !important; }
.card form { margin-top:24px; }
.card label { text-transform:none; letter-spacing:0; font-size:11px; font-weight:700; }
.card input { min-height:44px; border-radius:9px; font-size:13px; background:#fffefc; }
.card input:focus { border-color:#731F32 !important; box-shadow:0 0 0 3px #731F3212; }
.card input[autocomplete=one-time-code] { min-height:58px; font-size:26px; font-weight:700; letter-spacing:.4em; padding-left:calc(16px + .4em); background:#faf7f3; }
.card input::placeholder { color:#c9bec2; opacity:1; }
.card p.help { font-size:10px; line-height:1.7; color:#83747a; }
.card button[type=submit] { min-height:46px; padding:12px; border-radius:10px; background:#4A141E !important; font-size:13px; }
.card button[type=submit]:hover { background:#2B0A11 !important; }
.card > div:last-child { margin-top:22px; padding-top:20px; border-top:1px solid #eee6de; font-size:11px; }
.card :is(a,button):focus-visible { outline:2px solid #731F32; outline-offset:4px; }
@media(max-width:480px) { .page { padding:20px 12px; }.card { padding:24px 20px !important; }.steps { gap:5px; }.steps li { font-size:8px; gap:4px; } }
