:root{
  --tinta:#16202e; --tinta2:#3b4a5e; --suave:#6b7a90; --linea:#dde3ea;
  --fondo:#f5f7fa; --papel:#fff; --azul:#1f3864; --azul2:#2f5597;
  --verde:#1a7f4b; --verde-f:#e6f4ec; --ambar:#8a6100; --ambar-f:#fdf3dc;
  --rojo:#b3261e; --rojo-f:#fdeceb; --morado:#5b3a8e;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--tinta);
  font:15px/1.5 "Segoe UI",system-ui,-apple-system,Arial,sans-serif}
a{color:var(--azul2);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:23px;margin:0 0 4px}
h2{font-size:17px;margin:26px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--linea)}
.sub{color:var(--suave);margin:0 0 18px}

.marca-agua{position:fixed;right:-58px;top:44%;transform:rotate(-90deg);
  font-size:11px;color:#c3ccd8;letter-spacing:.09em;pointer-events:none;z-index:1;
  white-space:nowrap;user-select:none}
.aviso-empate{background:var(--rojo-f);color:var(--rojo);border-bottom:1px solid #f2bdb9;
  padding:8px 16px;font-size:13px;text-align:center}

.cab{display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  background:var(--azul);color:#fff;padding:11px 18px}
.cab .logo{color:#fff;font-weight:700;font-size:16px}
.cab .logo span{opacity:.6;font-weight:400}
.cab nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}
.cab nav a{color:#cfd9ea;padding:7px 13px;border-radius:6px;font-size:14px}
.cab nav a:hover{background:#2c4a7c;text-decoration:none;color:#fff}
.cab nav a.on{background:#fff;color:var(--azul);font-weight:600}
.cab .yo{display:flex;gap:12px;align-items:center;font-size:13px;color:#cfd9ea}
.cab .yo a{color:#fff;text-decoration:underline}

main{max-width:1500px;margin:0 auto;padding:22px 16px 60px}
.pie{max-width:1500px;margin:0 auto;padding:16px;color:var(--suave);
  font-size:12px;border-top:1px solid var(--linea)}

.tarjetas{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:18px 0}
.t{background:var(--papel);border:1px solid var(--linea);border-radius:10px;padding:15px 17px}
.t .n{font-size:30px;font-weight:700;line-height:1.1}
.t .r{color:var(--suave);font-size:13px;margin-top:3px}
.t.ok .n{color:var(--verde)} .t.mal .n{color:var(--rojo)} .t.aviso .n{color:var(--ambar)}

.caja{background:var(--papel);border:1px solid var(--linea);border-radius:10px;padding:16px 18px;margin:14px 0}
table{width:100%;border-collapse:collapse;background:var(--papel);font-size:14px}
th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--linea);vertical-align:top}
th{background:#eef2f7;font-size:12px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--tinta2);position:sticky;top:0;z-index:2}
tbody tr:hover{background:#f8fafc}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.envoltura{overflow:auto;max-height:74vh;border:1px solid var(--linea);border-radius:10px}

.et{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;white-space:nowrap}
.si-mano{background:var(--verde-f);color:var(--verde);font-weight:600}
.si-li{background:#eaf0fb;color:var(--azul2)}
.dudoso{background:var(--ambar-f);color:var(--ambar)}
.no{color:#b8c1cd}
.b-NUESTRO{background:var(--verde-f);color:var(--verde);font-weight:600}
.b-RIVAL{background:var(--rojo-f);color:var(--rojo);font-weight:600}
.b-DISPUTA{background:var(--ambar-f);color:var(--ambar)}
.b-SIN_DATO{background:#eef1f5;color:var(--suave)}
.d-FIRMADA{background:var(--verde-f);color:var(--verde);font-weight:600}
.d-PROMETIDA{background:var(--ambar-f);color:var(--ambar)}
.d-PEDIDA{background:#eaf0fb;color:var(--azul2)}
.d-SIN_PEDIR{color:#b8c1cd}
.supuesto{background:#f1ecf9;color:var(--morado);font-size:11px;padding:1px 7px;border-radius:20px}

.filtros{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:14px 0}
input[type=text],input[type=email],input[type=password],select,textarea{
  padding:7px 10px;border:1px solid #c6d0dc;border-radius:7px;font:inherit;background:#fff}
input[type=text]:focus,select:focus{outline:2px solid var(--azul2);border-color:var(--azul2)}
.btn{display:inline-block;background:var(--azul);color:#fff;border:0;border-radius:7px;
  padding:8px 15px;cursor:pointer;font:inherit}
.btn:hover{background:var(--azul2);text-decoration:none;color:#fff}
.btn.gris{background:#5c6a7d}
.btn.rojo{background:var(--rojo)}
.btn.peq{padding:4px 10px;font-size:13px}

.acceso{max-width:390px;margin:9vh auto;background:var(--papel);
  border:1px solid var(--linea);border-radius:12px;padding:30px}
.acceso h1{text-align:center}
.acceso label{display:block;margin:14px 0 5px;font-size:13px;color:var(--tinta2)}
.acceso input{width:100%}
.acceso .btn{width:100%;margin-top:20px;padding:11px}
.error{background:var(--rojo-f);color:var(--rojo);padding:9px 12px;border-radius:7px;
  font-size:14px;margin-top:14px}
.ok{background:var(--verde-f);color:var(--verde);padding:9px 12px;border-radius:7px;
  font-size:14px;margin-top:14px}

.barra{height:9px;background:#e7ecf2;border-radius:5px;overflow:hidden;margin-top:6px}
.barra i{display:block;height:100%;background:var(--azul2)}
.barra i.ok{background:var(--verde)} .barra i.mal{background:var(--rojo)}
.mini{font-size:12px;color:var(--suave)}
.nota{font-size:12px;color:var(--suave);font-style:italic}

@media (max-width:760px){
  .marca-agua{display:none}
  .cab{gap:10px;padding:9px 12px}
  .cab nav{order:3;width:100%}
  main{padding:14px 11px 50px}
  th,td{padding:6px 7px;font-size:13px}
  .t .n{font-size:25px}
}

/* personas.php: la tabla lleva una columna por cada miembro de la junta (11),
   así que esas celdas van compactas para que la fila siga siendo legible. */
th.mcol,td.mcol{text-align:center;padding:6px 5px;white-space:nowrap}
td.mcol .et{font-size:11px;padding:1px 6px}
.filtros label.mini{display:inline-flex;align-items:center;gap:5px}
.paginas{justify-content:center;margin-top:16px}

/* Anadidos para admin.php y comprobar.php */
.et.bien{background:var(--verde-f);color:var(--verde);font-weight:600}
.et.ojo{background:var(--ambar-f);color:var(--ambar);font-weight:600}
.et.mal{background:var(--rojo-f);color:var(--rojo);font-weight:600}
.enlinea{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.clave{display:inline-block;user-select:all;background:#fff;border:1px solid var(--linea);
  border-radius:7px;padding:7px 13px;margin-top:6px;letter-spacing:.07em;
  font:600 18px/1.3 Consolas,"Courier New",monospace}
.diag{max-width:1000px;margin:0 auto;padding:24px 16px 60px}

/* Simulador: mandos de los supuestos, veredicto y linea de corte */
.mandos{display:grid;gap:13px;grid-template-columns:repeat(auto-fit,minmax(265px,1fr))}
.mando{border:1px solid var(--linea);border-radius:9px;padding:11px 13px;background:#fbfcfe}
.mando label{display:block;font-size:13px;font-weight:600;color:var(--tinta2);margin-bottom:2px}
.mando .fila{display:flex;align-items:center;gap:9px;margin-top:8px}
.mando input[type=range]{flex:1;min-width:90px;accent-color:var(--azul2)}
.mando input[type=number]{width:78px;text-align:right}
.veredicto{border:1px solid var(--linea);border-radius:10px;padding:15px 18px;margin:14px 0;
  font-size:20px;font-weight:700;line-height:1.3}
.veredicto .porque{display:block;font-size:14px;font-weight:400;margin-top:6px;color:var(--tinta2)}
.veredicto.gana{background:var(--verde-f);color:var(--verde);border-color:#bfe3cf}
.veredicto.pierde{background:var(--rojo-f);color:var(--rojo);border-color:#f2bdb9}
tr.corte td{background:#eaf0fb;border-top:2px solid var(--azul2);border-bottom:2px solid var(--azul2)}

/* Marcado rapido desde el listado */
th.yo,td.yo{width:186px;position:sticky;left:0;background:#fff;z-index:1}
th.yo{background:#eef2f7;z-index:3}
.marcar{display:flex;gap:3px;align-items:center;flex-wrap:wrap}
.marcar.guardado{outline:2px solid var(--verde);border-radius:6px}
.pin{border:1px solid #c6d0dc;background:#fff;border-radius:6px;padding:2px 8px;
  cursor:pointer;font:inherit;font-size:13px;line-height:1.4}
.pin:hover{border-color:var(--azul2)}
.pin.on{background:var(--verde);color:#fff;border-color:var(--verde);font-weight:600}
.pin.dud.on{background:var(--ambar);border-color:var(--ambar)}
.pin.off.on{background:#e7ecf2;color:var(--suave);border-color:#c6d0dc;font-weight:400}
.marcar .via{font-size:12px;padding:2px 4px;max-width:118px}
@media (max-width:760px){ th.yo,td.yo{position:static;width:auto} }

/* Simulador: caja de contexto, regla del empate y ajustes de movil.
   El empate lleva ademas su color en el atributo style= de la pagina, para que siga
   viendose en rojo aunque el navegador tenga cacheada una version antigua de esta hoja. */
.caja.aviso-fuerte{background:var(--ambar-f);border-color:#e8d5a3;color:var(--tinta)}
.empate-regla{background:var(--papel);color:var(--rojo);border:1px solid #f2bdb9;
  border-left:4px solid var(--rojo);border-radius:10px;padding:12px 16px;margin:14px 0;
  font-size:14px;line-height:1.45}
.veredicto{font-size:22px}
.mando .mini{display:block;line-height:1.35}
.t .r .mini{display:inline-block;margin-top:2px}
@media (max-width:760px){
  .veredicto{font-size:18px;padding:13px 14px}
  .veredicto .porque{font-size:13px}
  .mandos{grid-template-columns:1fr}
  .tarjetas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
  .filtros #nombre-escenario{flex:1;min-width:150px}
}

/* Simulador: separar a la vista lo medido de lo supuesto, y la cuenta final */
.tit3{font-size:15px;margin:20px 0 8px;color:var(--tinta2);display:flex;align-items:center;gap:8px}
.et.medido{background:var(--verde-f);color:var(--verde);font-size:11px;font-weight:600;
  padding:1px 7px;border-radius:20px}
.caja.aviso-modelo{border-left:4px solid var(--morado);background:var(--papel);color:var(--tinta)}
.caja.aviso-rojo{border-left:4px solid var(--rojo);background:var(--rojo-f);color:#7d1b15}
.caja.aviso-rojo a{color:#7d1b15;text-decoration:underline}
.caja.vacio{border-left:4px solid var(--ambar);background:var(--ambar-f);color:#6b4b00}
.caja.vacio a{color:#6b4b00;text-decoration:underline}
tr.apagada td{color:var(--suave)}
tr.suma-total td{background:#eef2f7;border-top:2px solid var(--linea)}
#tabla-suma td:first-child{white-space:normal}
.mando.cero{background:#fbf9fd;border-color:#ddd2ee}
.mini.contador{display:block;margin-top:3px}
code{background:#eef2f7;border-radius:4px;padding:1px 5px;font:12px/1.4 Consolas,"Courier New",monospace}
