:root { color-scheme: dark; font-family: Inter, system-ui, sans-serif; background: #09090b; color: #fafafa; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top right, #312e81 0, #09090b 42%); }
.shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.card { width: min(100%, 460px); padding: 34px; border: 1px solid #27272a; border-radius: 24px; background: rgba(24,24,27,.94); box-shadow: 0 24px 80px #0008; }
.eyebrow { color: #a78bfa; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
h1 { margin: 10px 0; font-size: clamp(28px, 6vw, 42px); line-height: 1.05; }
.muted { color: #a1a1aa; line-height: 1.6; }
.tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 5px; margin: 24px 0; border-radius: 12px; background: #09090b; }
button, input { font: inherit; }
.tabs button { border: 0; border-radius: 9px; padding: 10px; color: #a1a1aa; background: transparent; cursor: pointer; }
.tabs button.active { color: #fff; background: #27272a; }
form { display: grid; gap: 16px; }
label { display: grid; gap: 7px; color: #d4d4d8; font-size: 14px; font-weight: 650; }
input { width: 100%; border: 1px solid #3f3f46; border-radius: 11px; padding: 12px 13px; color: #fff; background: #09090b; outline: none; }
input:focus { border-color: #8b5cf6; box-shadow: 0 0 0 3px #8b5cf633; }
.check { grid-template-columns: auto 1fr; align-items: start; font-weight: 400; line-height: 1.45; }
.check input { width: auto; margin-top: 3px; }
.primary { border: 0; border-radius: 11px; padding: 13px 16px; color: #fff; background: #7c3aed; font-weight: 800; cursor: pointer; }
.error { min-height: 20px; margin: 0; color: #fca5a5; font-size: 14px; }
.hidden { display: none; }
