/* EQUILIBRIO - Estilos de las pantallas internas (administracion y acceso).
   Compartida por todas para no repetir el mismo CSS en cada archivo. */

:root {
  --oxford: #0D244D;
  --oxford-deep: #081a33;
  --leon: #9C8E71;
  --leon-light: #cbbfa2;
  --cream: #F0E5D4;
  --rose: #E8B4B8;
  --cambridge: #92A48B;
  --warn: #9C4A2E;
  --oxford-75: rgba(13,36,77,0.75);
  --oxford-55: rgba(13,36,77,0.55);
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

body {
  margin: 0;
  background: var(--cream);
  font-family: 'Montserrat', sans-serif;
  color: var(--oxford);
  min-height: 100vh;
}

.wrap { max-width: 720px; margin: 0 auto; padding: 22px 18px 60px; }

/* Cabecera */
.cabecera { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.cabecera h1 { font-family:'Arsenal',sans-serif; font-weight:700; font-size:20px; letter-spacing:0.04em; margin:0; }
.volver { display:inline-block; font-size:12px; color:var(--oxford-55); text-decoration:none; margin-bottom:14px; }
.volver:hover { color:var(--oxford); }
.salir { background:none; border:none; font-family:'Montserrat',sans-serif; font-size:12px;
  color:var(--oxford-55); text-decoration:underline; cursor:pointer; padding:0; }

/* Navegacion entre secciones */
.nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.nav a { font-size:12px; font-weight:600; color:var(--oxford); text-decoration:none;
  background:#fff; border:1px solid rgba(13,36,77,0.1); border-radius:20px; padding:8px 15px; }
.nav a:hover { background:var(--oxford); color:var(--cream); }
.nav a.principal { background:var(--oxford); color:var(--cream); border-color:var(--oxford); }

/* Tarjetas y filas */
.tarjeta { background:#fff; border:1px solid rgba(13,36,77,0.05); border-radius:14px;
  padding:18px 20px; margin-bottom:12px; box-shadow:0 2px 10px rgba(13,36,77,0.05); }
.fila { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid rgba(13,36,77,0.05);
  border-radius:12px; padding:14px 16px; margin-bottom:9px; box-shadow:0 2px 8px rgba(13,36,77,0.05); }
.fila .datos { flex:1; min-width:0; }
.fila .titulo { display:block; font-size:14px; font-weight:700; margin-bottom:3px; }
.fila .titulo a { color:var(--oxford); text-decoration:none; }
.fila .titulo a:hover { text-decoration:underline; }
.fila .detalle { display:block; font-size:11.5px; color:var(--oxford-55); }
.acciones { display:flex; align-items:center; gap:10px; flex-shrink:0; }

/* Etiquetas de estado */
.marca { font-size:10px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
  padding:4px 9px; border-radius:20px; flex-shrink:0; }
.marca.activa { background:rgba(146,164,139,0.22); color:#4a5a45; }
.marca.inactiva { background:rgba(13,36,77,0.08); color:var(--oxford-55); }

/* Botones */
.boton { display:inline-block; background:var(--oxford); color:var(--cream); border:none; border-radius:30px;
  padding:13px 26px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:13.5px;
  cursor:pointer; text-decoration:none; text-align:center; }
.boton.ancho { display:block; width:100%; }
.boton-linea { background:none; border:none; font-family:'Montserrat',sans-serif; font-size:11.5px;
  color:var(--oxford-55); text-decoration:underline; cursor:pointer; padding:0; }
.boton-linea.peligro { color:var(--warn); }
a.boton-linea { color:var(--oxford-55); }

/* Formularios */
.campo { margin-bottom:18px; }
.campo label { display:block; font-size:12px; font-weight:700; color:var(--oxford); margin-bottom:6px; }
.campo .pista { display:block; font-size:11px; font-weight:400; color:var(--oxford-55); margin-top:3px; }
.campo input, .campo textarea { width:100%; padding:13px 14px; border:1.5px solid var(--leon-light);
  border-radius:10px; font-size:15px; font-family:inherit; background:#fff; color:var(--oxford); }
.campo input:focus, .campo textarea:focus { outline:none; border-color:var(--oxford); }
.campo textarea { min-height:90px; resize:vertical; }

/* Avisos */
.error-box { background:rgba(156,74,46,0.1); border:1px solid rgba(156,74,46,0.3); color:var(--warn);
  padding:11px 15px; border-radius:10px; font-size:13px; margin-bottom:16px; }
.nota { font-size:12px; color:var(--oxford-55); line-height:1.55; margin:0 0 18px; }
.vacio { text-align:center; font-size:12.5px; color:var(--oxford-55); padding:30px 0; }

h2 { font-family:'Arsenal',sans-serif; font-weight:700; font-size:15px; letter-spacing:0.03em; margin:26px 0 12px; }

/* Barra comun de Administracion (23/09/2026): los tres botones de siempre,
   mas pequenos para que entren en una fila y en todas las pantallas. */
.nav.nav-comun { gap:5px; margin-bottom:18px; flex-wrap:nowrap; align-items:center; }
/* El tamano va en vw (ancho de la pantalla), no en px: asi los tres botones
   siguen en UNA sola fila aunque el movil tenga la letra grande del sistema
   (decision de Ia Experto, 23/09/2026). */
.nav.nav-comun a { font-size:min(3.1vw, 12px); padding:min(1.9vw, 7px) min(3vw, 13px);
  white-space:nowrap; line-height:1.3; }
.nav.nav-comun[style*="font-size"] a { font-size:inherit; }
.nav.nav-comun a.aqui { background:var(--oxford); color:var(--cream); border-color:var(--oxford); }

/* Franja verde de Administracion (23/09/2026) */
.franja-admin { display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--cambridge); color:#fff; margin:-22px -18px 18px; padding:14px 18px 13px; }
.franja-admin .titulos { display:flex; flex-direction:column; min-width:0; }
.franja-admin .grande { font-family:'Arsenal',sans-serif; font-weight:700; font-size:17px;
  letter-spacing:0.05em; line-height:1.15; }
.franja-admin .chico { font-size:10.5px; letter-spacing:0.04em; color:rgba(255,255,255,0.85); margin-top:3px; }
.franja-admin form { margin:0; flex-shrink:0; }
.franja-admin button { background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.5);
  color:#fff; font-family:'Montserrat',sans-serif; font-size:11.5px; font-weight:600;
  padding:7px 13px; border-radius:20px; cursor:pointer; white-space:nowrap; }

/* Pestañas Premios / Estadisticas dentro de una campaña (23/09/2026) */
.tabs-campana { display:flex; gap:8px; margin:0 0 16px; }
.tabs-campana a { flex:1 1 0; text-align:center; border:1px solid transparent;
  border-radius:12px; padding:13px 10px; text-decoration:none; color:var(--oxford-deep);
  font-family:'Arsenal',sans-serif; font-weight:700; font-size:14px; letter-spacing:0.03em;
  box-shadow:0 2px 8px rgba(13,36,77,0.05); }
/* Cada pestaña con su color de marca: premios en leon, estadisticas en rosa.
   La que estas mirando, en color fuerte; la otra, en su tono claro. */
.tabs-campana a.premios { background:rgba(203,191,162,0.38); border-color:var(--leon-light); }
.tabs-campana a.premios.aqui { background:var(--leon); border-color:var(--leon); color:#fff; }
.tabs-campana a.stats { background:rgba(232,180,184,0.35); border-color:var(--rose); }
.tabs-campana a.stats.aqui { background:var(--rose); border-color:var(--rose); color:var(--oxford-deep); }
