/* Sign-in uses the same surfaces, type and logo as the workspace. */
.auth-page { min-height:100svh; background:var(--bg); color:var(--text); display:flex; flex-direction:column; -webkit-font-smoothing:antialiased; }
.auth-header { display:flex; align-items:center; justify-content:space-between; padding:28px 40px; }
.auth-header .crm-logo { padding:0; height:auto; }
.auth-header .theme-toggle { width:44px; height:44px; background:var(--surface); color:var(--text-soft); border:1px solid var(--border); }
.auth-main { flex:1; display:grid; place-items:center; padding:32px 24px 64px; }
.auth-panel { width:100%; max-width:440px; padding:36px; background:var(--surface); border:1px solid var(--border); border-radius:20px; box-shadow:0 24px 72px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.035); }
.auth-symbol { display:grid; place-items:center; width:56px; height:56px; border-radius:16px; background:var(--accent-soft); color:var(--accent); margin-bottom:28px; box-shadow:inset 0 0 0 1px var(--accent-line); }
.auth-panel h1 { font-size:28px; font-weight:650; letter-spacing:-.9px; line-height:1.2; text-wrap:balance; margin:0 0 10px; }
.auth-intro { color:var(--muted); font-size:14px; line-height:1.6; margin-bottom:30px; }
.auth-form { display:grid; gap:22px; }
.auth-field { display:grid; gap:9px; }
.auth-field label { font-size:13px; font-weight:550; color:var(--text-soft); }
.auth-field input { width:100%; height:48px; border:1px solid var(--border); border-radius:9px; background:var(--bg); color:var(--text); padding:0 14px; font:inherit; font-size:16px; transition:border-color 160ms ease,box-shadow 160ms ease; }
.auth-field input::placeholder { color:var(--muted); font-size:14px; }
.auth-page :is(input,button,a):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.auth-field input:focus { border-color:var(--accent); }
.auth-password { position:relative; }
.auth-password input { padding-right:72px; }
.auth-password-toggle { position:absolute; top:2px; right:3px; min-width:62px; height:44px; border:0; border-radius:7px; background:transparent; color:var(--muted); font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.auth-password-toggle:hover { color:var(--text); background:var(--surface-2); }
.auth-submit { display:flex; justify-content:center; align-items:center; gap:10px; width:100%; min-height:48px; margin-top:4px; border:1px solid transparent; border-radius:9px; background:var(--button-bg); color:var(--button-text); font:inherit; font-size:14px; font-weight:600; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 3px 8px rgba(0,0,0,.12); transition:background-color 160ms ease,transform 160ms ease; }
.auth-submit:hover { background:var(--button-hover); }
.auth-submit:active { transform:scale(.96); }
.auth-submit:disabled { cursor:wait; opacity:.75; }
.auth-help { border-top:1px solid var(--border); margin-top:28px; padding-top:22px; color:var(--muted); font-size:12px; line-height:1.7; text-align:center; text-wrap:pretty; }
.auth-help a { color:var(--accent); display:inline-flex; align-items:center; min-height:40px; }
.auth-error { margin:0 0 22px; padding:12px 14px; background:var(--danger-soft); color:var(--danger); border:1px solid var(--danger); border-radius:9px; font-size:13px; line-height:1.5; }
.auth-footer { padding:0 24px 24px; text-align:center; color:var(--muted); font-size:11px; letter-spacing:.02em; }
[data-theme="light"] .auth-panel { box-shadow:0 24px 72px rgba(30,22,50,.06),0 2px 8px rgba(30,22,50,.03); }
@media (max-width:520px) { .auth-header { padding:20px 24px; } .auth-main { padding:20px 16px 40px; } .auth-panel { padding:28px 24px; } }
@media (prefers-reduced-motion:reduce) { .auth-page * { transition:none; } .auth-submit:active { transform:none; } }
