.auth-page{min-height:100vh;background:var(--app-canvas)}
.auth-frame{display:grid;min-height:100vh;place-items:center;padding:24px}
.auth-card{width:min(100%,430px);padding:28px;border:1px solid var(--app-line);border-top:3px solid var(--app-teal-600);border-radius:var(--app-radius-md);background:#fff}
.auth-card__header{display:flex;align-items:center;gap:13px;margin-bottom:18px}.auth-card__header>div{display:grid;gap:2px}
.auth-card__header span{color:var(--app-muted);font-size:.72rem;font-weight:700;line-height:1.7;text-wrap:balance}.auth-card__header h1{margin:0;color:var(--app-navy-950);font-size:1.22rem}
.auth-brand-logo{width:72px;height:72px;flex:0 0 72px;border-radius:var(--app-radius-md);background:#fff;object-fit:contain}
.auth-card__lead{margin-bottom:24px;color:var(--app-muted);font-size:.82rem;line-height:1.9}.auth-form{display:grid;gap:18px}
.auth-card__footer{margin-top:22px;padding-top:16px;border-top:1px solid var(--app-line);color:var(--app-muted);font-size:.68rem;text-align:center}
.auth-otp-input{text-align:center;font-size:1.35rem;letter-spacing:.35em;font-variant-numeric:tabular-nums}
.auth-denied-icon{display:grid;width:52px;height:52px;margin-inline:auto;place-items:center;border-radius:50%;color:var(--app-danger);background:#fbeaec;font-size:1.5rem;font-weight:900}
.validation-summary-valid,.field-validation-valid{display:none!important}
@media(max-width:575.98px){.auth-frame{align-items:start;padding:18px 14px}.auth-card{margin-top:8vh;padding:22px 18px}.auth-brand-logo{width:62px;height:62px;flex-basis:62px}}
