.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;background:var(--surface-2)}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.25rem 2rem}.auth-logo{font-family:var(--font-serif),serif;font-size:22px;color:var(--ink);text-decoration:none;display:inline-block;margin-bottom:1.5rem}.auth-card h1{font-size:22px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}.auth-sub{font-size:14px;color:var(--ink-3);margin-bottom:1.75rem}.auth-field{margin-bottom:14px}.auth-field label{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:6px}.auth-field input{width:100%;padding:12px 14px;border:1.5px solid var(--border-strong);border-radius:10px;font-size:15px;font-family:var(--font-sans),sans-serif;outline:none;background:#fff;color:var(--ink);transition:border-color .15s}.auth-field input:focus{border-color:var(--accent)}.auth-checkbox{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;cursor:pointer}.auth-checkbox input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.auth-checkbox span{font-size:13px;line-height:1.5;color:var(--ink-2)}.auth-checkbox a{color:var(--accent);text-decoration:underline;font-weight:500}.auth-checkbox a:hover{color:var(--accent-hover)}.auth-submit{width:100%;background:var(--accent);color:#fff;border:none;padding:13px 16px;border-radius:10px;font-size:15px;font-weight:500;font-family:var(--font-sans),sans-serif;cursor:pointer;margin-top:6px;transition:background .15s}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px}.auth-error,.auth-success{font-size:13px;padding:10px 12px;margin-bottom:14px}.auth-success{background:var(--green-bg);border:1px solid var(--green-border);color:var(--green);border-radius:8px}.auth-switch{text-align:center;font-size:13px;color:var(--ink-3);margin-top:1.25rem}.auth-switch a{color:var(--accent);text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}