/* Mainline — auth pages (centered card on muted background) */
.auth-main { min-height: 100vh; display: grid; place-items: center; background: var(--muted); padding: 48px 20px; }
.auth-box { width: 100%; max-width: 420px; }
.auth-logo { display: flex; justify-content: center; margin-bottom: 26px; }
.auth-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--shadow-md); padding: clamp(28px, 5vw, 40px); }
.auth-card h1 { font-size: var(--text-xl); font-weight: var(--weight-semibold); letter-spacing: -0.015em; text-align: center; }
.auth-sub { margin-top: 8px; text-align: center; font-size: var(--text-sm); color: var(--ink-2); line-height: 1.55; }
.auth-sub b { color: var(--foreground); }
.auth-form { margin-top: 26px; display: flex; flex-direction: column; gap: 16px; }
.auth-form .btn { margin-top: 6px; width: 100%; }
.field-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.field-row .mini-link { font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--primary); }
.field-row .mini-link:hover { text-decoration: underline; }
.input[readonly] { background: var(--muted); color: var(--ink-2); cursor: not-allowed; }
.auth-links { margin-top: 22px; text-align: center; font-size: var(--text-sm); color: var(--ink-2); }
.auth-links a { color: var(--primary); font-weight: var(--weight-medium); }
.auth-links a:hover { text-decoration: underline; }
.auth-foot { margin-top: 26px; text-align: center; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--ink-3); }
.auth-foot a:hover { color: var(--foreground); }
.auth-ok { text-align: center; padding: 8px 0 4px; }
.auth-ok .s-ic { width: 60px; height: 60px; border-radius: 50%; background: color-mix(in oklch, var(--success) 16%, var(--background)); color: var(--success); border: 1px solid color-mix(in oklch, var(--success) 30%, transparent); display: grid; place-items: center; margin: 0 auto 20px; }
.auth-ok .s-ic svg { width: 28px; height: 28px; }
.auth-ok h1 { text-align: center; }
.auth-alert { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: var(--radius-md); background: color-mix(in oklch, var(--warning) 14%, var(--background)); border: 1px solid color-mix(in oklch, var(--warning) 40%, transparent); color: var(--warning-foreground); font-size: var(--text-sm); line-height: 1.5; }
.auth-alert svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; color: oklch(0.55 0.13 78); }
.org-badge { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--muted); margin-top: 22px; }
.org-badge .org-av { width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--mauve-950); color: var(--mauve-50); display: grid; place-items: center; font-weight: var(--weight-semibold); font-size: var(--text-xs); flex: 0 0 auto; }
.org-badge b { display: block; font-size: var(--text-sm); }
.org-badge span { font-size: var(--text-xs); color: var(--ink-3); font-family: var(--font-mono); }
