.login-page { max-width: 420px; margin: 0 auto; padding: 96px 24px 64px; }
    .login-page h1 { margin-bottom: 8px; text-align: center; }
    .login-page .lead { color: var(--text-secondary); margin-bottom: 32px; text-align: center; }
    .login-form label { display: block; font-size: 0.85rem; color: var(--text-secondary); margin-bottom: 6px; }
    .login-form input[type=email] {
      width: 100%; padding: 12px 14px; border-radius: var(--radius);
      background: var(--bg-raised); border: 1px solid var(--border); color: var(--text);
      font-size: 1rem;
    }
    .login-form input[type=email]:focus { border-color: var(--accent); outline: none; box-shadow: 0 0 0 3px var(--accent-dim); }
    .login-form .btn { width: 100%; margin-top: 16px; }
    .divider { display: flex; align-items: center; gap: 12px; margin: 28px 0 20px; color: var(--text-muted); font-size: 0.8rem; }
    .divider::before, .divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
    .login-msg { margin-top: 16px; padding: 12px 14px; border-radius: var(--radius); font-size: 0.9rem; display: none; }
    .login-msg.success { background: rgba(39, 174, 96, 0.12); border: 1px solid var(--success); color: var(--success); display: block; }
    .login-msg.error   { background: rgba(231, 76, 60, 0.12); border: 1px solid var(--danger); color: var(--danger); display: block; }
    .smallprint { color: var(--text-muted); font-size: 0.8rem; text-align: center; margin-top: 24px; }
    .smallprint a { color: var(--accent); }
