.auth-page { min-height: 100vh; display: flex; flex-direction: column; }
.auth-main { flex: 1; display: flex; align-items: center; justify-content: center; padding: 48px 16px; }
.auth-card { width: 100%; max-width: 460px; padding: 36px 32px; }
@media (max-width: 480px) { .auth-card { padding: 28px 20px; } }
.auth-card h1 { margin: 0 0 6px; font-family: var(--f-cond); font-weight: 700; font-size: 40px; text-transform: uppercase; letter-spacing: .01em; }
.auth-card .sub { margin: 0 0 24px; color: var(--muted); }
.auth-card form { display: flex; flex-direction: column; gap: 16px; }
.auth-card .btn { justify-content: center; width: 100%; }
.auth-alt { margin: 20px 0 0; color: var(--muted); text-align: center; }
.auth-alt a { color: var(--cyan); }
.plan-pick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.plan-pick label { display: flex; flex-direction: column; gap: 2px; padding: 12px; border: 1px solid var(--line-2); cursor: pointer; text-transform: none; letter-spacing: 0; font-family: var(--f-body); font-size: 14px; color: var(--text); }
.plan-pick input { position: absolute; opacity: 0; }
.plan-pick label:has(input:checked) { border-color: var(--yellow); background: rgba(255,210,31,.08); }
.plan-pick label:has(input:focus-visible) { outline: 2px solid var(--yellow); }
.plan-pick b { font-family: var(--f-tech); letter-spacing: .06em; text-transform: uppercase; }
.plan-pick span { color: var(--muted-2); font-size: 13px; }
