.auth-pending { visibility: hidden; }
.session-profile > div { min-width: 0; }
.session-profile strong { overflow-wrap: anywhere; }
.session-logout { width: 100%; margin-top: 14px; }
.auth-error { margin: 2rem; }
.login-page { min-height: 100vh; min-height: 100svh; padding: 32px 16px; display: grid; place-items: center; }
.login-card { width: min(100%, 420px); padding: clamp(24px, 5vw, 40px); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.login-brand { margin-bottom: 30px; }
.login-card h1 { font-size: 26px; margin: 0 0 8px; line-height: 1.25; letter-spacing: -.7px; }
.login-card p { font-size: 14px; color: var(--muted); }
.login-card label { display: block; margin: 22px 0 8px; font-size: 13px; font-weight: 600; }
.login-card input { width: 100%; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 12px 14px; background: var(--surface); font-size: 16px; }
.login-card input:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.login-card button { width: 100%; }
.login-card button:disabled { opacity: .65; cursor: wait; }
#login-error { color: var(--red); min-height: 1.5em; margin: 14px 0; }
