:root { font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#42444d; background:#f9f9fb; }
* { box-sizing:border-box; }
body { margin:0; }
.auth-shell { width:min(440px,calc(100% - 32px)); margin:0 auto; padding:44px 0 28px; }
.auth-brand { display:block; margin-bottom:30px; color:#30323b; font-size:25px; font-weight:650; letter-spacing:-1px; text-align:center; text-decoration:none; }
.auth-card { padding:32px; border:1px solid #eaeaee; border-radius:18px; background:#fff; }
h1 { margin:0 0 12px; font:500 28px/1.2 Georgia,serif; color:#30323b; }
.auth-intro,.auth-help { font-size:14px; line-height:1.65; color:#737781; margin:0 0 22px; overflow-wrap:anywhere; }
a { color:#42444d; text-underline-offset:3px; }
.auth-google,button { display:flex; justify-content:center; align-items:center; gap:10px; min-height:46px; width:100%; border:1px solid #dcdde2; border-radius:9px; padding:10px 14px; font-family:inherit; font-size:14px; font-weight:500; line-height:1.5; text-decoration:none; background:#fff; color:#42444d; }
.auth-google svg { width:19px; height:19px; flex-shrink:0; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:24px 0; color:#81848d; font-size:12px; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; background:#eaeaee; flex:1; }
form { display:flex; flex-direction:column; gap:8px; margin:0; }
label { font-size:13px; margin-top:8px; }
input:not([type=checkbox]):not([type=hidden]) { width:100%; min-width:0; min-height:46px; border:1px solid #dcdde2; border-radius:8px; padding:10px 12px; font:inherit; font-size:16px; background:#fff; color:#30323b; }
input:focus { outline:2px solid #727681; outline-offset:2px; }
input[aria-invalid=true] { border-color:#a94a45; }
small { font-size:12px; color:#737781; line-height:1.5; }
button { cursor:pointer; margin-top:14px; background:#383b45; border-color:#383b45; color:#fff; font-family:inherit; font-size:14px; }
button:hover { background:#242731; }
button:focus-visible,a:focus-visible { outline:2px solid #727681; outline-offset:3px; }
button:disabled { opacity:.65; cursor:wait; }
.auth-secondary { background:#fff; color:#42444d; border-color:#dcdde2; }
.auth-secondary:hover,.auth-google:hover { background:#f7f7f9; }
.auth-options { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:7px 0; font-size:12px; }
.auth-check { display:flex; align-items:center; gap:7px; margin:0; min-height:38px; font-size:12px; }
.auth-check input { width:16px; height:16px; }
.auth-switch { margin:24px 0 0; font-size:13px; text-align:center; line-height:1.6; }
.auth-notice { padding:12px; margin:0 0 20px; background:#f2f4f3; border-radius:8px; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.auth-notice p { margin:0; }.auth-notice ul { padding-left:18px; margin:6px 0 0; }
.auth-error { background:#fcf2f1; color:#873f39; }
.auth-footer { text-align:center; font-size:12px; color:#81848d; margin:24px 0 0; }
@media(max-width:480px) { .auth-shell { padding-top:24px; }.auth-card { padding:24px 20px; }h1 { font-size:26px; } }
