.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:1.2rem}.auth-card h1,.auth-logo{font-weight:700;color:var(--text)}.auth-card h1{font-size:1.5rem;margin-bottom:.375rem}.auth-sub{color:var(--text-2);font-size:.9rem;margin-bottom:2rem}.auth-form{gap:1.25rem}.auth-form,.field{display:flex;flex-direction:column}.field{gap:.375rem}.field label{font-size:.85rem;font-weight:500;color:var(--text-2)}.field input{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:.95rem;padding:.6rem .875rem;outline:none;transition:border-color .15s}.field input:focus{border-color:var(--accent)}.field input::-moz-placeholder{color:var(--text-3)}.field input::placeholder{color:var(--text-3)}.auth-error{background:var(--bad-bg);border:1px solid var(--bad-border);border-radius:var(--r-xs);color:var(--bad);font-size:.85rem;padding:.5rem .75rem}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:var(--r-sm);font-size:.95rem;font-weight:600;padding:.7rem 1.25rem;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.w-full{width:100%}.auth-links{margin-top:1.25rem;text-align:center}.auth-links a{color:var(--accent);font-size:.9rem;font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}