.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: var(--space-5); background: linear-gradient(var(--overlay-scrim), var(--overlay-scrim)), radial-gradient(circle at 20% 20%, rgba(var(--accent-rgb), 0.25), transparent 45%), var(--bg-canvas); } .login-card { width: 100%; max-width: 380px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--space-6) var(--space-5); display: flex; flex-direction: column; align-items: center; gap: var(--space-5); animation: pidScaleIn 200ms ease; } .login-card__logo { width: 200px; height: auto; object-fit: contain; } .login-card__title { font-family: "Bree Serif", serif; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.02em; color: var(--text-primary); text-align: center; } .login-form { width: 100%; display: flex; flex-direction: column; gap: var(--space-4); } .field { display: flex; flex-direction: column; gap: var(--space-2); } .field label { font-size: 0.8rem; font-weight: 600; color: var(--text-secondary); } .field__control { display: flex; align-items: center; gap: var(--space-2); background: var(--bg-canvas); border: 1px solid var(--border-subtle); border-radius: var(--radius-sm); padding: 0 var(--space-3); transition: border-color var(--transition-fast); } .field__control:focus-within { border-color: var(--accent); } .field__control svg { color: var(--text-muted); } .field__control input { flex: 1; border: none; background: none; outline: none; padding: var(--space-3) 0; font-size: 0.95rem; } .field__toggle { color: var(--text-muted); display: flex; align-items: center; padding: var(--space-1); } .field__toggle:hover { color: var(--text-secondary); } .field__error { min-height: 1em; font-size: 0.78rem; color: var(--danger); } .btn-primary { display: flex; align-items: center; justify-content: center; gap: var(--space-2); background: var(--accent); color: var(--accent-contrast); font-weight: 600; font-size: 0.95rem; padding: var(--space-3); border-radius: var(--radius-sm); transition: background var(--transition-fast); } .btn-primary:hover { background: var(--accent-hover); } .login-help { font-size: 0.8rem; color: var(--text-muted); text-align: center; } .login-help a { color: var(--accent); font-weight: 600; } .login-help a:hover { text-decoration: underline; }