@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/montserrat-400.ttf') format('truetype'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/montserrat-500.ttf') format('truetype'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/montserrat-600.ttf') format('truetype'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/montserrat-700.ttf') format('truetype'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 800; font-display: swap; src: url('fonts/montserrat-800.ttf') format('truetype'); }
[hidden] { display: none !important; }
#password-step, #code-step { display: grid; gap: 14px; }
.auth-text-button { border: 0; padding: 4px 0; color: var(--navy); background: none; text-align: left; text-decoration: underline; font-size: 14px; }
.setup-card { width: min(100%, 560px); }
.setup-card h1 { font-size: 30px; line-height: 1.2; }
.setup-card h2 { margin: 24px 0 10px; color: var(--navy); font-size: 19px; }
.setup-card p, .setup-card li { font-size: 14px; }
.setup-card .setup-logo { width: 180px; margin-bottom: 16px; }
.setup-card #setup-qr { width: min(100%, 284px); height: auto; margin: 12px auto; }
.setup-card code { display: block; overflow-wrap: anywhere; padding: 12px; background: var(--soft); font-size: 13px; user-select: all; }
.recovery-list { padding: 16px; background: var(--soft); font: 14px/2 monospace; white-space: pre-wrap; overflow-wrap: anywhere; user-select: all; }
.setup-card .auth-form { margin-top: 18px; }
@media (max-width: 480px) { .setup-card { padding: 20px; } .setup-card h1 { font-size: 26px; } }
