/* OPS-141 : feuille de la page de connexion. Servie AVANT requireAuth
   (montage /css/public dans server.js) — sinon un visiteur non connecté
   serait redirigé vers /login pour la feuille elle-même. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --navy: #0D1A35; --primary: #3A47FF; --bg3: #eef0f4; --text: #2A2A2A; --text2: #5f6368; --danger: #a32d2d; --danger-bg: #fcebeb; --radius-lg: 12px; }
@media (prefers-color-scheme: dark) {
  :root { --navy: #0D1A35; --primary: #6b75ff; --bg3: #0a1228; --text: #f0efea; --text2: #b4b8c4; --danger: #f09595; --danger-bg: #791f1f; }
}
body { font-family: 'Lato', sans-serif; background: var(--bg3); color: var(--text); min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.login-card { background: white; border-radius: var(--radius-lg); padding: 3rem 2.5rem; text-align: center; max-width: 400px; width: 90%; box-shadow: 0 4px 24px rgba(0,0,0,0.08); }
.login-card .logo { height: 32px; width: auto; margin-bottom: 1.5rem; }
.logo-dark { display: none; }
@media (prefers-color-scheme: dark) { .login-card { background: #132244; } .logo-light { display: none; } .logo-dark { display: inline-block; } }
.login-card h1 { font-family: 'Noto Sans', sans-serif; font-size: 20px; font-weight: 600; margin-bottom: 0.5rem; }
.login-card p { font-size: 14px; color: var(--text2); margin-bottom: 2rem; }
.google-btn { display: inline-flex; align-items: center; gap: 10px; padding: 12px 28px; border-radius: 8px; border: 1px solid #dadce0; background: white; color: #3c4043; font-size: 15px; font-weight: 500; cursor: pointer; text-decoration: none; transition: box-shadow .2s; }
.google-btn:hover { box-shadow: 0 1px 3px rgba(0,0,0,0.15); }
.google-btn svg { width: 20px; height: 20px; }
.error { background: var(--danger-bg); color: var(--danger); font-size: 13px; padding: 10px 16px; border-radius: 8px; margin-bottom: 1.5rem; }
