.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 28px 16px; }
.auth-card { width: min(100%, 450px); margin: 0; padding: 32px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.auth-card.setup-card { width: min(100%, 650px); }
.auth-card .brand-mark { margin-bottom: 24px; }
.auth-card h1 { margin-bottom: 12px; font-size: 30px; line-height: 1.15; }
.auth-card > p { margin-bottom: 24px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.auth-card .warning-box { margin-bottom: 22px; }
.auth-card .stack { gap: 18px; }
.auth-card > small { display: block; margin-top: 25px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.auth-card label > span { font-size: 14px; }
.auth-card fieldset { display: grid; gap: 16px; margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: 13px; }
.auth-card legend { padding: 0 7px; font-weight: 750; }
.logout-form { margin: 0; }
.topbar .logout-form .button { min-height: 32px; font-size: 12px; }
.topbar .logout-form .button::after { content: none; }
@media (max-width: 760px) { .auth-card { padding: 24px; } .auth-card fieldset { padding: 15px; } }
