.auth-page, .auth-card { box-sizing: border-box; }
.auth-page { min-height: 100vh; display: grid; place-items: center; margin: 0; padding: 24px; background: var(--bg-primary, #18181b); color: var(--text-primary, #f4f4f5); }
.auth-card { width: min(100%, 420px); padding: 36px; border: 1px solid var(--border-color, #444); border-radius: 16px; background: var(--bg-secondary, #27272a); box-shadow: 0 16px 60px #0002; }
.auth-brand { font-size: 15px; font-weight: 700; text-decoration: none; color: inherit; }
.auth-card h1 { margin: 24px 0 12px; font-size: 28px; }
.auth-card p { line-height: 1.6; }
.auth-provider { display: block; width: 100%; padding: 12px 18px; margin: 14px 0; border: 1px solid var(--border-color, #666); border-radius: 8px; background: var(--bg-primary, #18181b); color: inherit; font: inherit; cursor: pointer; }
.auth-provider:hover { border-color: var(--text-primary, #fff); }
.auth-provider:focus-visible, .auth-card a:focus-visible { outline: 2px solid #7c91ff; outline-offset: 3px; }
.auth-remember { display: flex; align-items: center; gap: 10px; margin-top: 22px; font-size: 14px; }
.auth-remember input { width: 16px; height: 16px; }
.auth-hint { font-size: 13px; opacity: .7; margin-bottom: 0; }
.auth-notice { padding: 12px; border-left: 3px solid #d99039; background: #d9903915; }
