/* Plus Ézer — Estilos base (mobile-first, alto contraste, botones grandes).
   El diseño fino es Fase 3: aquí solo lo funcional. */
@import url("variables.css");

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  font-family: var(--fuente-base);
  font-size: var(--texto-md);
  line-height: 1.5;
  color: var(--color-texto);
  background: var(--color-fondo-alt);
}

.contenedor {
  width: 100%;
  max-width: var(--ancho-max);
  margin: 0 auto;
  padding: var(--esp-3) var(--esp-2);
}

h1 { font-size: var(--texto-xxl); margin: 0 0 var(--esp-2); }
h2 { font-size: var(--texto-xl); margin: 0 0 var(--esp-2); }
p  { margin: 0 0 var(--esp-2); }

a { color: var(--color-primario-oscuro); }

/* Botones grandes tipo tarjeta */
.boton,
button.boton,
a.boton {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-1);
  width: 100%;
  min-height: var(--boton-min-alto);
  padding: var(--esp-2);
  margin-bottom: var(--esp-2);
  font-size: var(--texto-lg);
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: var(--color-primario);
  border: none;
  border-radius: var(--radio);
  box-shadow: var(--sombra);
  cursor: pointer;
}

.boton--secundario { background: var(--color-fondo); color: var(--color-primario-oscuro); border: 2px solid var(--color-primario); }
.boton--peligro    { background: var(--color-peligro); }
.boton:active      { transform: translateY(1px); }

/* Banner permanente de líneas de emergencia (Nivel 3) */
.emergencia {
  background: var(--color-peligro);
  color: #fff;
  padding: var(--esp-2);
  font-size: var(--texto-sm);
  font-weight: 700;
  text-align: center;
}
.emergencia a { color: #fff; text-decoration: underline; }

/* Formularios */
label { display: block; font-weight: 700; margin-bottom: var(--esp-1); }
input, select, textarea {
  width: 100%;
  padding: var(--esp-2);
  font-size: var(--texto-md);
  font-family: inherit;
  border: 2px solid var(--color-borde);
  border-radius: var(--radio);
  margin-bottom: var(--esp-3);
  background: var(--color-fondo);
}
textarea { min-height: 120px; resize: vertical; }

.tarjeta {
  background: var(--color-fondo);
  border-radius: var(--radio-lg);
  box-shadow: var(--sombra);
  padding: var(--esp-3);
  margin-bottom: var(--esp-3);
}

.aviso        { padding: var(--esp-2); border-radius: var(--radio); margin-bottom: var(--esp-2); }
.aviso--error { background: #fdecea; color: var(--color-peligro); }
.aviso--ok    { background: #e8f5e9; color: var(--color-exito); }
.aviso--info  { background: #fff8e1; color: #7a5c00; }

/* ---- Paneles con sesión (admin / servidor) ---- */
.barra { background: var(--color-primario-oscuro); color: #fff; }
.barra__inner {
  max-width: var(--ancho-max); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--esp-2);
}
.barra__logo { color: #fff; font-weight: 800; font-size: var(--texto-lg); text-decoration: none; }
.barra__rol { font-size: var(--texto-xs); opacity: .85; }
.menu {
  max-width: var(--ancho-max); margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: var(--esp-1); padding: 0 var(--esp-2) var(--esp-2);
}
.menu__item {
  color: #fff; text-decoration: none; padding: var(--esp-1) var(--esp-2);
  border-radius: var(--radio); background: rgba(255,255,255,.12); font-size: var(--texto-sm);
}
.menu__item--activo { background: var(--color-acento); color: #222; font-weight: 700; }
.menu__item--salir { margin-left: auto; background: transparent; text-decoration: underline; }

.saludo { color: var(--color-texto-suave); margin-bottom: 0; }
.pie {
  max-width: var(--ancho-max); margin: var(--esp-4) auto 0; padding: var(--esp-3) var(--esp-2);
  font-size: var(--texto-xs); color: var(--color-texto-suave); border-top: 1px solid var(--color-borde);
}

/* ---- Tarjetas de estadísticas ---- */
.tarjetas-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--esp-2); margin-bottom: var(--esp-3); }
.stat {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: var(--esp-2); background: var(--color-fondo); border-radius: var(--radio);
  box-shadow: var(--sombra); text-decoration: none; color: var(--color-texto);
}
.stat__num { font-size: var(--texto-xxl); font-weight: 800; color: var(--color-primario); }
.stat__lbl { font-size: var(--texto-xs); }

/* ---- Filtros ---- */
.filtros { display: flex; flex-wrap: wrap; gap: var(--esp-1); margin-bottom: var(--esp-3); }
.filtro {
  padding: var(--esp-1) var(--esp-2); border-radius: var(--radio); text-decoration: none;
  background: var(--color-fondo); border: 2px solid var(--color-borde); color: var(--color-texto);
  font-size: var(--texto-sm);
}
.filtro--activo { border-color: var(--color-primario); background: var(--color-primario); color: #fff; font-weight: 700; }

/* ---- Etiquetas / varios ---- */
.etq {
  display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: var(--texto-xs);
  background: var(--color-fondo-alt); border: 1px solid var(--color-borde); color: var(--color-texto-suave);
}
.etq--off { background: #fdecea; color: var(--color-peligro); border-color: #f5c6c0; }
.fecha { font-size: var(--texto-xs); color: var(--color-texto-suave); }
.acciones { display: flex; flex-wrap: wrap; gap: var(--esp-2); }
.acciones form { flex: 1; min-width: 180px; }
.acciones .boton { margin-bottom: 0; }

.check { display: flex; align-items: flex-start; gap: var(--esp-1); font-weight: 400; font-size: var(--texto-sm); }
.check input { width: auto; margin: 4px 0 0; }

.bloque { border-top: 1px solid var(--color-borde); padding-top: var(--esp-2); margin-top: var(--esp-2); }
.bloque--sub { background: var(--color-fondo-alt); padding: var(--esp-2); border-radius: var(--radio); }
.bloque--nuevo { background: #eef5ee; padding: var(--esp-2); border-radius: var(--radio); }

.bitacora { list-style: none; padding: 0; margin: 0 0 var(--esp-2); }
.bitacora li { padding: var(--esp-1) 0; border-bottom: 1px dashed var(--color-borde); font-size: var(--texto-sm); }

details summary { cursor: pointer; padding: var(--esp-1) 0; font-size: var(--texto-md); }

/* ---- Flujo público /ayuda ---- */
.contenedor--ayuda { padding-top: var(--esp-3); }
.volver { display: inline-block; margin-bottom: var(--esp-2); font-size: var(--texto-md); text-decoration: none; }
.paso { font-size: var(--texto-md); color: var(--color-texto-suave); }
.ayuda-desc { font-size: var(--texto-sm); color: var(--color-texto-suave); }

@media (max-width: 360px) {
  .tarjetas-stats { grid-template-columns: 1fr; }
}
