.auth-shell{background:var(--background);min-height:80vh;padding:64px 24px}.auth-card{border:1px solid var(--border);background:var(--card);border-radius:20px;max-width:460px;margin:0 auto;padding:40px 34px;box-shadow:0 12px 50px #00000005}.auth-brand{letter-spacing:.15em;color:var(--muted-foreground);margin-bottom:34px;font-size:10px;font-weight:700;display:inline-block}.auth-card h1{letter-spacing:-.035em;margin:14px 0;font-size:clamp(30px,4vw,38px);font-weight:600;line-height:1.12}.auth-intro{color:var(--muted-foreground);margin-bottom:28px;font-size:15px;line-height:1.65}.auth-form form,.auth-providers{gap:16px;display:grid}.auth-form label{gap:8px;font-size:13px;font-weight:600;display:grid}.auth-form input{border:1px solid var(--border);background:var(--background);border-radius:8px;width:100%;min-height:48px;padding:12px 14px;font-size:16px;font-weight:400}.auth-form input:focus-visible,.auth-form button:focus-visible,.auth-form a:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.auth-form small{color:var(--muted-foreground);font-size:12px;font-weight:400;line-height:1.5}.auth-providers button{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:8px;min-height:48px;font-size:14px;font-weight:600}.auth-providers button:hover{background:var(--muted)}.auth-divider{color:var(--muted-foreground);align-items:center;gap:12px;margin:24px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-forgot{justify-self:end;min-height:24px;font-size:12px;text-decoration:underline}.auth-submit{cursor:pointer;border-radius:8px;justify-content:center;width:100%;min-height:48px}.auth-form button:disabled{opacity:.55;cursor:default}.auth-error,.auth-notice{border-radius:8px;margin:18px 0;padding:14px;font-size:13px;line-height:1.6;display:block}.auth-error{color:#991b1b;background:#fef2f2}.auth-notice{background:var(--muted);color:var(--foreground)}.auth-switch{text-align:center;margin-top:24px;font-size:13px}.auth-switch a,.auth-privacy a,.auth-notice a,.auth-text-button{text-underline-offset:3px;text-decoration:underline}.auth-text-button{cursor:pointer;min-height:44px;font-size:13px}.auth-privacy{color:var(--muted-foreground);text-align:center;margin-top:26px;font-size:11px;line-height:1.7}@media (max-width:540px){.auth-shell{padding:32px 16px}.auth-card{padding:28px 22px}}
