/* Pantalla de login de Botine (modo servidor). Sin dependencias: mismos colores y letra que app.css. */
@font-face { font-family: 'Geist'; font-style: normal; font-weight: 400 600;
  font-display: swap; src: url('/static/fonts/geist.woff2') format('woff2'); }
:root {
  --bg: #F8F9FA; --card: #FFFFFF; --line: #E6E7EA;
  --text: #202020; --text-2: #646464; --text-3: #838383;
  --error-bg: #FDECEC; --error-text: #A1261F;
  --shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 8px 32px rgb(16 24 40 / 8%);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0E0E10; --card: #161618; --line: #2A2A30;
    --text: #F3F3F5; --text-2: #A3A3AC; --text-3: #6E6E77;
    --error-bg: #3A1614; --error-text: #FFB4AE;
    --shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 8px 32px rgb(0 0 0 / 35%);
  }
}
:root[data-theme="dark"] {
  --bg: #0E0E10; --card: #161618; --line: #2A2A30;
  --text: #F3F3F5; --text-2: #A3A3AC; --text-3: #6E6E77;
  --error-bg: #3A1614; --error-text: #FFB4AE;
  --shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 8px 32px rgb(0 0 0 / 35%);
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
  display: flex; align-items: center; justify-content: center; padding: 24px 16px;
}
.login {
  width: 100%; max-width: 420px; text-align: center;
  background: var(--card); border: 1px solid var(--line); border-radius: 20px;
  box-shadow: var(--shadow); padding: 40px 32px 32px;
}
.logo { display: block; width: 200px; max-width: 70%; height: auto; margin: 0 auto 24px; }
h1 { font-size: 20px; line-height: 1.3; font-weight: 600; margin: 0 0 10px; letter-spacing: -0.01em; text-wrap: balance; }
.lead { font-size: 14.5px; line-height: 1.55; color: var(--text-2); margin: 0 0 28px; text-wrap: pretty; }
.error {
  font-size: 13.5px; line-height: 1.45; text-align: left;
  background: var(--error-bg); color: var(--error-text);
  border-radius: 10px; padding: 10px 12px; margin: -8px 0 20px;
}
.google {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  width: 100%; min-height: 46px; padding: 0 16px; border-radius: 10px;
  background: #FFFFFF; color: #1F1F1F; border: 1px solid #DADCE0;
  font: 500 15px/1 'Geist', system-ui, sans-serif; text-decoration: none;
  transition: background .15s, box-shadow .15s;
}
.google:hover { background: #F7F8F8; box-shadow: 0 1px 3px rgb(60 64 67 / 20%); }
.google:focus-visible { outline: 2px solid #6647F0; outline-offset: 2px; }
.logo-dark { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .logo-light { display: none; }
  :root:not([data-theme="light"]) .logo-dark { display: block; }
}
:root[data-theme="dark"] .logo-light { display: none; }
:root[data-theme="dark"] .logo-dark { display: block; }
.note { font-size: 12.5px; color: var(--text-3); margin: 16px 0 0; }
@media (max-width: 480px) { .login { padding: 32px 20px 24px; border-radius: 16px; } }
