/* ============================================================
   AGENDA TÁCTICAS — Hoja de estilos
   Paleta y tipografía según el manual de marca.
   ============================================================ */

/* Inter servida desde el propio servidor: funciona sin internet */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('fuentes/Inter-Regular.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;
  src:url('fuentes/Inter-Medium.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('fuentes/Inter-SemiBold.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;
  src:url('fuentes/Inter-Bold.woff2') format('woff2')}

:root{
  /* Marca */
  --azul:#053755;
  --azul-osc:#032538;
  --azul-cla:#0a5580;
  --rojo:#ED1A38;
  --rojo-osc:#c41230;
  --gris:#ACACAC;
  --negro:#141414;
  --crema:#FFFEF3;

  /* Tema claro */
  --fondo:#FFFEF3;
  --sup:#ffffff;
  --sup2:#f4f2e4;
  --sup3:#e8e5d4;
  --txt:#141414;
  --txt2:#5c5c56;
  --txt3:#93918a;
  --linea:rgba(5,55,85,.13);
  --linea2:rgba(5,55,85,.26);

  --ok-f:#e0f0de; --ok-t:#1d5c1a;
  --pro-f:#fdeecd; --pro-t:#78470a;
  --ale-f:#fce1e5; --ale-t:#a10f28;
  --inf-f:#dbe7ef; --inf-t:#053755;
  --esp-f:#eae6f4; --esp-t:#483879;

  --r:10px; --r-g:14px;
  --sombra:0 1px 2px rgba(5,55,85,.05),0 4px 14px rgba(5,55,85,.045);
}

[data-tema="oscuro"]{
  --fondo:#141414; --sup:#1c1c1c; --sup2:#242424; --sup3:#2e2e2e;
  --txt:#f0efe8; --txt2:#a3a29b; --txt3:#6e6d67;
  --linea:rgba(255,255,255,.10); --linea2:rgba(255,255,255,.19);
  --ok-f:#16301a; --ok-t:#7ec981;
  --pro-f:#33260c; --pro-t:#e8a93c;
  --ale-f:#38121a; --ale-t:#f2707f;
  --inf-f:#0d2c41; --inf-t:#79b4da;
  --esp-f:#241f38; --esp-t:#a396d8;
  --sombra:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.22);
}

[data-tema="azul"]{
  --fondo:#053755; --sup:#07445f; --sup2:#0a506f; --sup3:#0d5d80;
  --txt:#FFFEF3; --txt2:#b3cfdf; --txt3:#7ba3bd;
  --linea:rgba(255,255,255,.14); --linea2:rgba(255,255,255,.25);
  --ok-f:rgba(60,170,90,.22); --ok-t:#8ee0a2;
  --pro-f:rgba(237,160,40,.2); --pro-t:#ffc76a;
  --ale-f:rgba(237,26,56,.24); --ale-t:#ff97a5;
  --inf-f:rgba(255,255,255,.12); --inf-t:#cfe6f3;
  --esp-f:rgba(160,140,220,.2); --esp-t:#c3b4ee;
  --sombra:0 1px 2px rgba(0,0,0,.18),0 4px 14px rgba(0,0,0,.15);
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--fondo)}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  font-size:14px;color:var(--txt);background:var(--fondo);line-height:1.5;
  -webkit-font-smoothing:antialiased;transition:background .25s,color .25s;
}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
h1,h2,h3{font-weight:600;line-height:1.25}
h1{font-size:21px} h2{font-size:17px} h3{font-size:15px}

/* ---------- Logo ---------- */
.logo{background:currentColor;
  -webkit-mask:url(logo-h.svg) no-repeat center/contain;
  mask:url(logo-h.svg) no-repeat center/contain;
  width:142px;height:43px;flex-shrink:0}
.logo-v{background:currentColor;
  -webkit-mask:url(logo-v.svg) no-repeat center/contain;
  mask:url(logo-v.svg) no-repeat center/contain;
  width:110px;height:122px;flex-shrink:0}

/* ---------- Estructura ---------- */
.barra{display:flex;align-items:center;gap:15px;padding:11px 20px;
  border-bottom:1px solid var(--linea);background:var(--sup);
  position:sticky;top:0;z-index:40;flex-wrap:wrap}
.principal{padding:20px;max-width:1340px;width:100%;margin:0 auto}
.expandir{flex:1}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 15px;border-radius:var(--r);border:1px solid var(--linea2);
  background:transparent;cursor:pointer;font-size:13px;font-weight:500;
  transition:all .14s;white-space:nowrap}
.btn:hover{background:var(--sup2)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-pri{background:var(--rojo);border-color:var(--rojo);color:#fff}
.btn-pri:hover{background:var(--rojo-osc);border-color:var(--rojo-osc)}
.btn-az{background:var(--azul);border-color:var(--azul);color:var(--crema)}
.btn-az:hover{background:var(--azul-osc)}
[data-tema="azul"] .btn-az{background:var(--crema);border-color:var(--crema);color:var(--azul)}
.btn-ch{padding:5px 11px;font-size:12px;border-radius:8px}
.btn-mini{padding:3px 9px;font-size:11px;border-radius:7px}

.pestanas{display:flex;gap:3px;background:var(--sup2);padding:3px;border-radius:var(--r);flex-wrap:wrap}
.pest{padding:6px 14px;border:none;background:transparent;color:var(--txt2);
  border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .14s}
.pest:hover{color:var(--txt)}
.pest.on{background:var(--sup);color:var(--txt);box-shadow:var(--sombra)}
[data-tema="azul"] .pest.on{background:rgba(255,255,255,.18)}

/* ---------- Formularios ---------- */
input[type=text],input[type=email],input[type=password],input[type=date],
input[type=number],select,textarea{
  width:100%;padding:8px 11px;border:1px solid var(--linea2);border-radius:9px;
  background:var(--sup);color:var(--txt);font-size:13px;
  transition:border-color .14s,box-shadow .14s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--azul);
  box-shadow:0 0 0 3px rgba(5,55,85,.10)}
[data-tema="oscuro"] input:focus,[data-tema="oscuro"] select:focus,[data-tema="oscuro"] textarea:focus,
[data-tema="azul"] input:focus,[data-tema="azul"] select:focus,[data-tema="azul"] textarea:focus{
  border-color:var(--rojo);box-shadow:0 0 0 3px rgba(237,26,56,.18)}
textarea{resize:vertical;min-height:72px;line-height:1.55}
select{cursor:pointer;appearance:none;padding-right:32px;text-overflow:ellipsis;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),
                   linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 10px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.etq{display:block;font-size:11px;font-weight:600;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.055em;margin-bottom:5px}
.req::after{content:' *';color:var(--rojo)}
.ayuda{font-size:11px;color:var(--txt3);margin-top:4px;line-height:1.45}
.campo{margin-bottom:14px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:760px){.g2,.g3{grid-template-columns:1fr}}

.marca{display:flex;align-items:flex-start;gap:8px;padding:5px 0;cursor:pointer;font-size:13px}
.marca input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--rojo);cursor:pointer}
.marcas{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:1px 14px}

/* ---------- Tarjetas ---------- */
.tarj{background:var(--sup);border:1px solid var(--linea);border-radius:var(--r-g);
  padding:18px;box-shadow:var(--sombra)}
.panel{background:var(--sup2);border-radius:var(--r-g);padding:15px}
.titulo-sec{font-size:11px;font-weight:700;color:var(--txt2);text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.titulo-sec::after{content:'';flex:1;height:1px;background:var(--linea)}

/* ---------- Distintivos ---------- */
.d{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;
  font-size:11px;font-weight:600;white-space:nowrap}
.d-ok{background:var(--ok-f);color:var(--ok-t)}
.d-pro{background:var(--pro-f);color:var(--pro-t)}
.d-ale{background:var(--ale-f);color:var(--ale-t)}
.d-inf{background:var(--inf-f);color:var(--inf-t)}
.d-esp{background:var(--esp-f);color:var(--esp-t)}
.d-nt{background:var(--sup3);color:var(--txt2)}
.punto{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}

/* ---------- Resultado de una acción ---------- */
.aviso-ok,.aviso-ale{padding:11px 14px;border-radius:var(--r-m);font-size:13px;line-height:1.55}
.aviso-ok{background:var(--ok-f);color:var(--ok-t)}
.aviso-ale{background:var(--ale-f);color:var(--ale-t)}

/* ---------- Dirección para copiar ---------- */
.copiable{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.copiable input{flex:1;min-width:240px;font-family:ui-monospace,Consolas,monospace;font-size:12px}
.folio{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:var(--txt3)}
.ini{width:28px;height:28px;border-radius:50%;background:var(--azul);color:var(--crema);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}
[data-tema="azul"] .ini{background:var(--crema);color:var(--azul)}

/* ---------- Cifras ---------- */
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:18px}
.cifra{background:var(--sup2);border-radius:var(--r);padding:12px 14px;border:1px solid transparent}
.cifra.alerta{border-color:var(--rojo);background:var(--ale-f)}
.cifra-e{font-size:10px;color:var(--txt2);text-transform:uppercase;letter-spacing:.07em;
  font-weight:600;margin-bottom:4px}
.cifra-v{font-size:25px;font-weight:600;line-height:1}

/* ---------- Avisos ---------- */
.aviso{display:flex;gap:11px;align-items:flex-start;padding:12px 15px;border-radius:var(--r);
  background:var(--ale-f);border-left:3px solid var(--rojo);margin-bottom:15px}
.aviso-pro{background:var(--pro-f);border-left-color:#e8a93c}
.aviso-inf{background:var(--inf-f);border-left-color:var(--azul)}
.aviso-t{font-weight:600;font-size:13px;margin-bottom:3px}
.aviso-d{font-size:12px;color:var(--txt2);line-height:1.5}

/* ---------- Filas ---------- */
.fila{display:flex;align-items:center;gap:12px;padding:12px 15px;background:var(--sup);
  border:1px solid var(--linea);border-radius:var(--r);margin-bottom:7px;
  cursor:pointer;transition:all .14s}
.fila:hover{border-color:var(--linea2);transform:translateX(2px)}
.fila.ale{border-left:3px solid var(--rojo)}
.fila.esp{border-left:3px solid #7a6ac4}
.fila-c{flex:1;min-width:0}
.fila-t{font-weight:600;font-size:13.5px;margin-bottom:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fila-s{font-size:11.5px;color:var(--txt2);display:flex;gap:9px;flex-wrap:wrap;align-items:center}

/* ---------- Tabla ---------- */
.tabla-c{overflow-x:auto;border:1px solid var(--linea);border-radius:var(--r-g);background:var(--sup)}
table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:880px}
th{padding:10px 12px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:var(--txt2);border-bottom:1px solid var(--linea);
  background:var(--sup2);white-space:nowrap}
td{padding:9px 12px;border-bottom:1px solid var(--linea);vertical-align:middle}
tbody tr{cursor:pointer;transition:background .12s}
tbody tr:hover{background:var(--sup2)}
tbody tr:last-child td{border-bottom:none}

/* ---------- Calendario ---------- */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-h{font-size:10px;text-align:center;color:var(--txt2);padding:5px 0;
  text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.cal-d{min-height:80px;border:1px solid var(--linea);border-radius:7px;padding:5px;background:var(--sup)}
.cal-d.fuera{opacity:.33}
.cal-d.hoy{border-color:var(--rojo);border-width:1.5px}
.cal-n{font-size:11px;color:var(--txt2);margin-bottom:3px;font-weight:500}
.cal-e{font-size:9.5px;border-radius:4px;padding:2px 5px;margin-bottom:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;font-weight:600;cursor:pointer}

.meses{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
@media(max-width:900px){.meses{grid-template-columns:repeat(2,1fr)}}
.mes{background:var(--sup);border:1px solid var(--linea);border-radius:var(--r);
  overflow:hidden;cursor:pointer;transition:all .14s}
.mes:hover{border-color:var(--linea2);transform:translateY(-2px);box-shadow:var(--sombra)}
.mes.actual{border-color:var(--rojo)}
.mes-h{padding:9px 13px;border-bottom:1px solid var(--linea);display:flex;
  justify-content:space-between;align-items:center}
.mes-b{padding:10px 13px;min-height:60px}
.barra-p{display:flex;gap:2px;height:4px;border-radius:2px;overflow:hidden;margin:6px 0}

/* ---------- Tablero ---------- */
.tablero{display:flex;gap:11px;overflow-x:auto;padding-bottom:10px;align-items:flex-start}
.col{background:var(--sup2);border-radius:var(--r-g);padding:11px;min-width:230px;flex:1}
.col-h{display:flex;justify-content:space-between;align-items:center;font-size:10px;
  font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.ficha{background:var(--sup);border:1px solid var(--linea);border-radius:var(--r);
  padding:11px 12px;margin-bottom:7px;cursor:pointer;transition:all .14s}
.ficha:hover{border-color:var(--linea2);transform:translateY(-1px)}
.ficha.ale{border-left:3px solid var(--rojo)}

/* ---------- Carga ---------- */
.carga{display:flex;align-items:center;gap:12px;padding:11px 0}
.carga-b{flex:1;height:8px;background:var(--sup3);border-radius:4px;overflow:hidden}
.carga-f{height:100%;transition:width .4s;border-radius:4px}

/* ---------- Ventana ---------- */
.capa{position:fixed;inset:0;background:rgba(5,25,40,.55);backdrop-filter:blur(3px);
  z-index:100;display:flex;align-items:flex-start;justify-content:center;
  padding:24px 16px;overflow-y:auto}
.vent{background:var(--fondo);border-radius:var(--r-g);width:100%;max-width:840px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);margin-bottom:40px;overflow:hidden}
.vent-ch{max-width:520px}
.vent-h{display:flex;align-items:center;gap:12px;padding:15px 20px;
  border-bottom:1px solid var(--linea);background:var(--sup);position:sticky;top:0;z-index:5}
.vent-b{padding:20px}
.vent-p{display:flex;gap:9px;justify-content:flex-end;padding:14px 20px;
  border-top:1px solid var(--linea);background:var(--sup);flex-wrap:wrap}

/* ---------- Lista de verificación ---------- */
.ver{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;transition:background .12s}
.ver:hover{background:var(--sup2)}
.ver.listo .ver-t{text-decoration:line-through;color:var(--txt3)}
.ver-t{flex:1;font-size:13px}

/* ---------- Notas y preguntas ---------- */
.nota{padding:11px 13px;background:var(--sup2);border-radius:var(--r);margin-bottom:8px}
.nota-h{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.nota-a{font-size:11.5px;font-weight:600}
.nota-f{font-size:10.5px;color:var(--txt3)}
.nota-t{font-size:13px;line-height:1.55;white-space:pre-wrap}
.preg{border-left:3px solid var(--azul);background:var(--inf-f)}
.preg.resuelta{border-left-color:#3faa5a;background:var(--ok-f)}
.preg-r{margin-top:9px;padding-top:9px;border-top:1px solid var(--linea2);font-size:13px;line-height:1.55}

/* ---------- Varios ---------- */
.vacio{padding:44px 20px;text-align:center;color:var(--txt3);font-size:13px}
.etiq{display:inline-flex;align-items:center;gap:5px;background:var(--sup3);border-radius:16px;
  padding:3px 10px;font-size:11.5px;margin:3px 3px 0 0}
.etiq button{background:none;border:none;cursor:pointer;color:var(--txt3);font-size:13px;
  line-height:1;padding:0 1px}
.etiq button:hover{color:var(--rojo)}

.paso{display:flex;align-items:center;margin:16px 0}
.paso-i{flex:1;text-align:center;position:relative;font-size:10.5px;color:var(--txt3)}
.paso-p{width:11px;height:11px;border-radius:50%;background:var(--sup3);margin:0 auto 5px;
  border:2px solid var(--fondo);position:relative;z-index:2}
.paso-i.on .paso-p{background:var(--rojo)}
.paso-i.hecho .paso-p{background:#3faa5a}
.paso-i::before,.paso-i::after{content:'';position:absolute;top:5px;height:2px;
  background:var(--sup3);z-index:1}
.paso-i::before{left:0;right:50%}
.paso-i::after{left:50%;right:0}
.paso-i:first-child::before,.paso-i:last-child::after{display:none}
.paso-i.hecho::before,.paso-i.hecho::after,.paso-i.on::before{background:#3faa5a}
.paso-i.on{color:var(--txt);font-weight:600}

.puerta{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.puerta-c{max-width:400px;width:100%}

.color{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;
  transition:border-color .14s;flex-shrink:0}
.color.on{border-color:var(--txt)}
.temas{display:flex;align-items:center;gap:6px;background:var(--sup2);border-radius:20px;padding:4px 10px}

.mensaje{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--negro);
  color:#fff;padding:11px 20px;border-radius:10px;font-size:13px;z-index:999;
  box-shadow:0 8px 24px rgba(0,0,0,.3);max-width:90vw}
.mensaje.err{background:var(--rojo)}

::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--linea2);border-radius:5px}
::-webkit-scrollbar-thumb:hover{background:var(--txt3)}

@media print{.barra,.btn,.pestanas{display:none}}
