[hidden] { display: none !important; }
.auth-shell { width:100%; max-width:none; min-height:100vh; display:grid; grid-template-columns:minmax(0,1fr); place-items:center; margin:0; padding:24px 16px; }
.auth-card { width:min(100%, 460px); padding:clamp(22px, 5vw, 36px); background:#fff; border:1px solid var(--line, #cbd9de); border-radius:12px; box-shadow:0 8px 28px rgb(22 54 66 / 9%); }
.auth-purpose { display:inline-block; margin:0 0 10px; padding:4px 9px; border-radius:4px; background:#e7f3f6; color:#0b5268; font-size:13px; font-weight:700; }
.auth-card h1 { margin:0 0 8px; color:var(--ink, #18323a); font-size:clamp(23px, 5vw, 29px); line-height:1.35; }
.auth-intro { margin:0 0 20px; color:var(--muted, #52666c); line-height:1.7; }
.auth-card form { display:grid; gap:10px; }
.auth-card label { margin-top:6px; color:var(--ink, #18323a); font-weight:700; }
.auth-card input { width:100%; min-height:46px; padding:10px 12px; border:1px solid #778d95; border-radius:7px; background:#fff; color:var(--ink, #18323a); font:inherit; }
.auth-card input:focus-visible, .auth-primary:focus-visible, .auth-link:focus-visible { outline:3px solid #b4501b; outline-offset:3px; }
.auth-primary { min-height:46px; margin-top:10px; border:0; border-radius:7px; background:#185f47; color:#fff; font:inherit; font-weight:700; cursor:pointer; }
.auth-primary:hover { background:#104b38; }
.auth-primary:disabled { opacity:.65; cursor:wait; }
.auth-link { display:inline-block; margin-top:18px; color:#0b5268; font-weight:700; text-underline-offset:3px; }
.auth-message { min-height:1.5em; margin:14px 0 0; color:#8f2f10; line-height:1.6; }
.auth-message[data-kind="success"] { color:#185f47; }
.auth-help { margin:0; color:var(--muted, #52666c); font-size:14px; line-height:1.6; }
@media (max-width:420px) { .auth-shell { padding:12px; } .auth-card { border-radius:9px; } }
