.auth-page {display:flex; justify-content:center; padding:3rem 1rem 5rem;}
.auth-card {width:100%; max-width:28rem; padding:2rem; border:1px solid var(--border); border-radius:1rem; background:var(--background);}
.auth-card h1 {font-size:1.875rem; line-height:1.2; font-weight:700;}
.auth-intro {margin-top:.75rem; color:var(--muted-foreground); font-size:.9375rem;}
.auth-form {display:flex; flex-direction:column; gap:1rem; margin-top:1.5rem;}
.auth-error {padding:.75rem; border:1px solid #b91c1c; border-radius:.5rem; color:#b91c1c; font-size:.875rem;}
html[data-theme=dark] .auth-error {border-color:#fca5a5; color:#fca5a5;}
.auth-form label {display:flex; flex-direction:column; gap:.375rem; font-size:.875rem; font-weight:600;}
.auth-form input {min-height:2.75rem; width:100%; padding:.625rem .75rem; border:1px solid var(--border); border-radius:.5rem; background:var(--background); color:var(--foreground);}
.auth-form input:focus-visible,.auth-links a:focus-visible {outline:2px solid var(--ring); outline-offset:2px;}
.auth-form button {min-height:2.75rem; margin-top:.25rem; padding:.625rem 1rem; border:0; border-radius:.5rem; background:#0b5374; color:#fff; font-weight:600; cursor:pointer;}
.auth-form button:hover {background:#083e59;}
.auth-links {display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; margin-top:1.5rem; font-size:.875rem;}
.auth-links a {text-decoration:underline; text-underline-offset:3px;}
@media(max-width:639px) {.auth-page {padding:2rem 1rem 4rem;} .auth-card {padding:1.25rem;}}

.auth-page, .auth-card, .auth-form, .auth-form label {min-width:0;}
.auth-card, .auth-form input {box-sizing:border-box;}
.auth-links, .auth-intro {overflow-wrap:anywhere;}
