/* Pantalla de login. Paleta tomada del logo: azul #006699 y gris #999999. */

:root {
  --fondo: #eef2f5;
  --superficie: #ffffff;
  --texto: #1f2a33;
  --texto-suave: #5f6b75;
  --borde: #d5dde3;
  --primario: #006699;
  --primario-hover: #00557f;
  --primario-texto: #ffffff;
  --foco: rgba(0, 102, 153, 0.28);
  --error: #b42318;
  --error-fondo: #fdecea;
  --sombra: 0 10px 30px rgba(16, 38, 54, 0.10);
}

:root[data-theme="oscuro"] {
  --fondo: #0d171d;
  --superficie: #15232c;
  --texto: #e5edf2;
  --texto-suave: #9aabb6;
  --borde: #2a3c48;
  --primario: #3399cc;
  --primario-hover: #4aa9d9;
  --primario-texto: #06141c;
  --foco: rgba(51, 153, 204, 0.35);
  --error: #ff8a80;
  --error-fondo: rgba(255, 99, 88, 0.12);
  --sombra: 0 10px 30px rgba(0, 0, 0, 0.45);
}

* { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

body {
  background: var(--fondo);
  color: var(--texto);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.login {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px 16px;
}

.login-tarjeta {
  width: 100%;
  max-width: 380px;
  background: var(--superficie);
  border: 1px solid var(--borde);
  border-top: 4px solid var(--primario);
  border-radius: 14px;
  padding: 28px 24px;
  box-shadow: var(--sombra);
}

.login-logo {
  background: #ffffff;
  border-radius: 10px;
  padding: 8px 12px;
  display: flex;
  justify-content: center;
}
.login-logo img { display: block; max-width: 100%; height: auto; }

h1 { font-size: 1.25rem; margin: 20px 0 2px; }
.login-bajada { margin: 0 0 18px; color: var(--texto-suave); font-size: 0.95rem; }

label { display: block; font-weight: 600; font-size: 0.9rem; margin: 12px 0 6px; }

input[type="text"], input[type="password"] {
  width: 100%;
  font: inherit;
  color: var(--texto);
  background: var(--superficie);
  border: 1px solid var(--borde);
  border-radius: 8px;
  padding: 10px 12px;
}
input:focus-visible, button:focus-visible { outline: 3px solid var(--foco); outline-offset: 1px; border-color: var(--primario); }

.clave-envoltorio { position: relative; }
.clave-envoltorio input { padding-right: 64px; }
.ver-clave {
  position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
  border: 0; background: transparent; color: var(--primario);
  font-family: inherit; font-weight: 600; font-size: 0.85rem; line-height: 1;
  padding: 8px; cursor: pointer; border-radius: 6px;
}

.recordar {
  display: flex; align-items: center; gap: 8px;
  font-weight: 400; margin-top: 16px; cursor: pointer;
}
.recordar input { width: 18px; height: 18px; accent-color: var(--primario); margin: 0; }

.mensaje-login {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--error-fondo);
  color: var(--error);
  font-size: 0.92rem;
}

.boton-ingresar {
  width: 100%;
  margin-top: 18px;
  border: 0;
  border-radius: 8px;
  padding: 12px;
  font-family: inherit;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  background: var(--primario);
  color: var(--primario-texto);
  cursor: pointer;
}
.boton-ingresar:hover { background: var(--primario-hover); }
.boton-ingresar:disabled { opacity: 0.65; cursor: progress; }
