/* =====================================================================
   Repertorio de narrativa de la Guerra Civil española
   Paleta sobria, tipografía serif para lo bibliográfico.
   Colores comprobados para daltonismo (no se codifica nada solo por color).
   ===================================================================== */
:root{
  --tinta:#1a1a1a; --tinta2:#4a4a4a; --tinta3:#767676;
  --papel:#faf9f7; --papel2:#fff; --linea:#e3e0da; --linea2:#cfcbc3;
  --rojo:#8C2F39; --rojo2:#BF4342; --azul:#4A6FA5; --oro:#C9A227;
  --aviso-bg:#fdf6e3; --aviso-bd:#C9A227;
  --sombra:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--papel);color:var(--tinta);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--azul)}
button{font-family:inherit;font-size:inherit;cursor:pointer}

/* ---------- cabecera (hero con imagen) ---------- */
header{position:relative;color:#f5f3ef;padding:92px 32px 0;background:#151312 url("portada.jpg") 50% 27%/cover no-repeat}
header::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(21,19,18,.94) 0%,rgba(21,19,18,.84) 32%,rgba(21,19,18,.46) 64%,rgba(21,19,18,.24) 100%),linear-gradient(180deg,rgba(21,19,18,.55) 0%,rgba(21,19,18,0) 34%,rgba(21,19,18,0) 62%,rgba(21,19,18,.74) 100%)}
.hwrap{position:relative;z-index:1;max-width:1500px;margin:0 auto}
header h1{font-family:var(--serif);font-size:27px;font-weight:600;letter-spacing:-.2px;line-height:1.2;text-shadow:0 1px 14px rgba(0,0,0,.6)}
header .sub{color:#c8c3ba;font-size:13.5px;margin-top:5px;text-shadow:0 1px 8px rgba(0,0,0,.55)}
header .cred{color:#a49f96;font-size:12px;margin-top:9px;font-style:italic;text-shadow:0 1px 8px rgba(0,0,0,.55);max-width:640px}
.tabs{display:flex;gap:2px;margin-top:20px}
.tab{background:none;border:0;color:#a8a29a;padding:10px 18px;border-radius:6px 6px 0 0;font-size:13.5px;font-weight:500;border-bottom:2px solid transparent}
.tab:hover{color:#f5f3ef;background:rgba(255,255,255,.05)}
.tab.activa{background:var(--papel);color:var(--tinta);border-bottom-color:var(--rojo);font-weight:600}

/* ---------- banda provisional ---------- */
.banda{background:var(--aviso-bg);border-bottom:1px solid var(--aviso-bd);padding:9px 32px;font-size:12.5px;color:#6b5518}
.banda .w{max-width:1500px;margin:0 auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.banda strong{color:#4a3a10}
.banda a{color:#6b5518;font-weight:600}

/* ---------- estructura ---------- */
main{max-width:1500px;margin:0 auto;padding:22px 32px 60px}
.panel{display:none} .panel.activo{display:block}
.cols{display:grid;grid-template-columns:262px 1fr;gap:24px;align-items:start}

/* ---------- filtros ---------- */
aside{position:sticky;top:14px;background:var(--papel2);border:1px solid var(--linea);border-radius:8px;box-shadow:var(--sombra);max-height:calc(100vh - 28px);overflow-y:auto}
.aside-h{padding:13px 15px;border-bottom:1px solid var(--linea);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--papel2);z-index:2}
.aside-h h2{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--tinta3);font-weight:700}
#limpiar{background:none;border:1px solid var(--linea2);border-radius:5px;padding:4px 9px;font-size:11.5px;color:var(--tinta2)}
#limpiar:hover{background:var(--papel);border-color:var(--rojo);color:var(--rojo)}
.busca{padding:13px 15px;border-bottom:1px solid var(--linea)}
#q{width:100%;padding:8px 10px;border:1px solid var(--linea2);border-radius:6px;font-size:13.5px;font-family:inherit}
#q:focus{outline:2px solid var(--azul);outline-offset:-1px;border-color:transparent}
.rango{padding:13px 15px;border-bottom:1px solid var(--linea)}
.rango-h{display:flex;justify-content:space-between;font-size:12px;color:var(--tinta3);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
#rango-lbl{color:var(--rojo);font-weight:700;letter-spacing:0;text-transform:none}
.rango-in{display:flex;gap:7px;align-items:center}
.rango-in input{width:100%;padding:5px 7px;border:1px solid var(--linea2);border-radius:5px;font-size:12.5px;font-family:inherit}
.faceta{border-bottom:1px solid var(--linea)}
.faceta-tit{padding:10px 15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--tinta2);user-select:none}
.faceta-tit:hover{background:var(--papel)}
.faceta-n{background:var(--papel);border:1px solid var(--linea);border-radius:9px;padding:1px 6px;font-size:10.5px;color:var(--tinta3);font-weight:600}
.faceta-body{padding:0 15px 10px}
.faceta-body.plegado{display:none}
.op{display:flex;align-items:center;gap:7px;padding:3px 0;font-size:13px;cursor:pointer;border-radius:4px}
.op:hover .op-n{color:var(--rojo)}
.op.oculto{display:none}
.op input{margin:0;accent-color:var(--rojo);flex-shrink:0}
.op-n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.op-c{color:var(--tinta3);font-size:11px;font-variant-numeric:tabular-nums}
.mas{background:none;border:0;color:var(--azul);font-size:12px;padding:5px 0;text-decoration:underline}

/* ---------- chips ---------- */
#chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;min-height:26px;align-items:center}
.chip{background:var(--papel2);border:1px solid var(--linea2);border-radius:13px;padding:3px 5px 3px 11px;font-size:12px;display:inline-flex;align-items:center;gap:5px}
.chip button{background:none;border:0;color:var(--tinta3);font-size:15px;line-height:1;padding:0 3px;border-radius:50%}
.chip button:hover{color:var(--rojo)}
.chip-vacio{color:var(--tinta3);font-size:12.5px;font-style:italic}

/* ---------- KPIs ---------- */
#kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}
.kpi{background:var(--papel2);border:1px solid var(--linea);border-radius:8px;padding:14px 16px;box-shadow:var(--sombra)}
.kpi-t{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--tinta3);font-weight:700}
.kpi-v{font-family:var(--serif);font-size:27px;font-weight:600;color:var(--rojo);margin:3px 0 1px;font-variant-numeric:tabular-nums}
.kpi-s{font-size:11.5px;color:var(--tinta3)}

/* ---------- tarjetas de gráfico ---------- */
.rej{display:grid;gap:16px;margin-bottom:16px}
.rej.c2{grid-template-columns:1fr 1fr}
.rej.c3{grid-template-columns:repeat(3,1fr)}
.tar{background:var(--papel2);border:1px solid var(--linea);border-radius:8px;padding:16px 18px;box-shadow:var(--sombra);min-width:0}
.tar h3{font-family:var(--serif);font-size:16px;font-weight:600;margin-bottom:2px}
.tar .d{font-size:12.5px;color:var(--tinta3);margin-bottom:12px;line-height:1.45}
.tar .d em{color:var(--tinta2)}
svg.g{width:100%;height:auto;display:block;overflow:visible}
.grid{stroke:var(--linea);stroke-width:1}
.eje{stroke:var(--linea2);stroke-width:1}
.ax{font-size:10px;fill:var(--tinta3);font-family:var(--sans)}
.ar{text-anchor:end} .am{text-anchor:middle}
.bar{transition:opacity .12s}
.bar:hover{opacity:.72}
.leyenda{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:var(--tinta2)}
.leg{display:inline-flex;align-items:center;gap:5px}
.leg i{width:10px;height:10px;border-radius:2px;display:inline-block}
.vacio{color:var(--tinta3);font-style:italic;font-size:13px;padding:26px 0;text-align:center}

/* ---------- avisos ---------- */
.aviso{background:var(--aviso-bg);border:1px solid var(--aviso-bd);border-left-width:4px;border-radius:6px;padding:13px 16px;margin-bottom:16px;font-size:13px;color:#5c4a14}
.aviso-tit{font-weight:700;margin-bottom:6px;color:#4a3a10;font-size:13.5px}
.aviso ul{margin:7px 0 7px 19px}
.aviso li{margin:2px 0}
.aviso-pie{margin-top:8px;font-size:12.5px;padding-top:8px;border-top:1px solid #e8dcb8}
.aviso a{color:#6b5518;font-weight:600}
.nota{font-size:12px;color:var(--tinta3);background:var(--papel);border-left:3px solid var(--linea2);padding:8px 11px;border-radius:0 4px 4px 0;margin-top:11px;line-height:1.5}
.nota strong{color:var(--tinta2)}

/* ---------- tabla ---------- */
.tabla-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;flex-wrap:wrap;gap:10px}
#tabla-info{font-size:13px;color:var(--tinta2)}
#exportar{background:var(--rojo);color:#fff;border:0;border-radius:6px;padding:8px 15px;font-size:13px;font-weight:600}
#exportar:hover{background:var(--rojo2)}
.tabla-wrap{background:var(--papel2);border:1px solid var(--linea);border-radius:8px;overflow:hidden;box-shadow:var(--sombra)}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{background:var(--papel);text-align:left;padding:9px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--tinta3);font-weight:700;border-bottom:1px solid var(--linea);position:sticky;top:0;cursor:pointer;user-select:none;white-space:nowrap}
th:hover{color:var(--rojo)}
th.asc::after{content:" ▲";font-size:8px} th.desc::after{content:" ▼";font-size:8px}
td{padding:8px 12px;border-bottom:1px solid var(--linea);vertical-align:top}
tbody tr{cursor:pointer}
tbody tr:hover{background:#fdfbf7}
.c-aut{font-weight:600;width:19%}
.c-tit{font-family:var(--serif);font-size:14.5px;width:31%}
.c-ed{color:var(--tinta2);font-size:12.5px}
.c-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mini{font-size:10px;color:var(--tinta3);background:var(--papel);border:1px solid var(--linea);border-radius:3px;padding:0 4px;margin-left:5px;white-space:nowrap;font-weight:500}
.mini.alerta{background:var(--aviso-bg);border-color:var(--aviso-bd);color:#6b5518}
#pag{display:flex;gap:5px;justify-content:center;align-items:center;padding:13px;font-size:13px}
#pag button{background:var(--papel2);border:1px solid var(--linea2);border-radius:5px;padding:5px 11px;color:var(--tinta2)}
#pag button:hover:not(:disabled){border-color:var(--rojo);color:var(--rojo)}
#pag button:disabled{opacity:.35;cursor:default}
#pag span{padding:0 11px;color:var(--tinta3);font-variant-numeric:tabular-nums}

/* ---------- modales ---------- */
.modal{display:none;position:fixed;inset:0;background:rgba(26,26,26,.5);z-index:50;padding:36px 20px;overflow-y:auto}
.modal.abierto{display:block}
.modal-in{background:var(--papel2);max-width:720px;margin:0 auto;border-radius:10px;padding:28px 32px;position:relative;box-shadow:0 12px 40px rgba(0,0,0,.2)}
.cerrar{position:absolute;top:12px;right:14px;background:none;border:0;font-size:24px;color:var(--tinta3);line-height:1;padding:4px 8px;border-radius:5px}
.cerrar:hover{background:var(--papel);color:var(--rojo)}
#modal-cuerpo h2{font-family:var(--serif);font-size:23px;font-weight:600;padding-right:30px;line-height:1.25}
.ficha-aut{color:var(--rojo);font-weight:600;margin:5px 0 16px;font-size:14.5px}
.ficha-alerta{background:var(--aviso-bg);border:1px solid var(--aviso-bd);border-radius:5px;padding:9px 12px;font-size:12.5px;color:#5c4a14;margin-bottom:14px}
dl.ficha{margin-bottom:18px}
.fr{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:6px 0;border-bottom:1px solid var(--linea);font-size:13.5px}
.fr dt{color:var(--tinta3);font-size:12px;text-transform:uppercase;letter-spacing:.4px;font-weight:600;padding-top:2px}
#modal-cuerpo h3{font-family:var(--serif);font-size:16px;margin:20px 0 8px;padding-bottom:5px;border-bottom:2px solid var(--linea)}
.ficha-cita{background:var(--papel);border:1px solid var(--linea);border-radius:6px;padding:11px 13px;margin-top:18px;font-size:12.5px}
.ficha-cita code{display:block;margin-top:5px;font-size:11.5px;color:var(--tinta2);font-family:ui-monospace,Menlo,Consolas,monospace;line-height:1.5}
.ficha-exp{display:flex;gap:8px;margin-top:14px}
.ficha-exp button{background:var(--papel);border:1px solid var(--linea2);border-radius:5px;padding:6px 13px;font-size:12.5px;color:var(--tinta2)}
.ficha-exp button:hover{border-color:var(--rojo);color:var(--rojo)}
.exp-campos{display:grid;gap:11px;margin:16px 0}
.exp-campos label{font-size:12px;color:var(--tinta3);text-transform:uppercase;letter-spacing:.4px;font-weight:600;display:block;margin-bottom:3px}
.exp-campos input{width:100%;padding:8px 10px;border:1px solid var(--linea2);border-radius:5px;font-size:13.5px;font-family:inherit}
.exp-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}
.exp-btns button{background:var(--papel);border:1px solid var(--linea2);border-radius:6px;padding:13px 9px;text-align:center}
.exp-btns button:hover{border-color:var(--rojo);background:#fdfbf7}
.exp-btns b{display:block;font-size:13.5px;color:var(--tinta);margin-bottom:2px}
.exp-btns span{font-size:11px;color:var(--tinta3)}
#exp-error{color:var(--rojo);font-size:12.5px;margin-top:9px;min-height:16px}
#exp-ok{color:#2d6a3e;font-size:12.5px;margin-top:5px;font-weight:600;min-height:16px}

/* ---------- presunciones ---------- */
.pres{background:var(--papel2);border:1px solid var(--linea);border-radius:7px;margin-bottom:8px;box-shadow:var(--sombra)}
.pres[open]{border-color:var(--linea2)}
.pres.destacada{border-color:var(--rojo);box-shadow:0 0 0 3px rgba(140,47,57,.13)}
.pres summary{padding:11px 15px;cursor:pointer;display:flex;align-items:center;gap:11px;list-style:none;font-size:14px}
.pres summary::-webkit-details-marker{display:none}
.pres summary::before{content:"▸";color:var(--tinta3);font-size:11px;transition:transform .15s}
.pres[open] summary::before{transform:rotate(90deg)}
.pres-id{background:var(--tinta);color:#fff;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700;font-family:ui-monospace,Menlo,monospace}
.pres-as{flex:1;font-weight:500}
.pres-cf{font-size:11px;padding:2px 8px;border-radius:9px;font-weight:600;white-space:nowrap}
.c-alta{background:#e6f0e8;color:#2d6a3e} .c-media{background:var(--aviso-bg);color:#8a6d1f} .c-baja{background:#fbeaea;color:#9c3232}
.pres-body{padding:0 15px 15px 15px;font-size:13.5px;color:var(--tinta2);line-height:1.6}
.pres-body p{margin-bottom:7px}
.pres-body code{background:var(--papel);border:1px solid var(--linea);border-radius:3px;padding:1px 6px;font-size:12.5px;color:var(--rojo);font-family:ui-monospace,Menlo,monospace}
.pres-body strong{color:var(--tinta)}
.pres-cita{margin:8px 0 10px 0;padding:9px 14px;border-left:3px solid var(--rojo);background:var(--papel);font-style:italic;color:var(--tinta);border-radius:0 3px 3px 0}
.pres-cita footer{margin-top:5px;font-style:normal;font-size:12px;color:var(--tinta2)}

/* Despliegue sin la pestaña de decisiones (scripts/preparar_despliegue.py le pone esta clase
   al <body>). Hay referencias a presunciones repartidas por todo el portal, unas en el HTML y
   otras generadas por app.js; sin panel al que saltar serían enlaces muertos. Aquí se leen como
   texto corriente. Con la pestaña presente la regla no llega a aplicarse. */
body.sin-decisiones a[data-pres]{color:inherit;font-weight:inherit;text-decoration:none;cursor:text;pointer-events:none}
body.sin-decisiones .banda a[data-pres]{color:#6b5518;font-weight:600}

.doc{background:var(--papel2);border:1px solid var(--linea);border-radius:8px;padding:26px 32px;box-shadow:var(--sombra);max-width:900px;font-size:14.5px;line-height:1.65}
.doc h2{font-family:var(--serif);font-size:21px;margin:22px 0 9px} .doc h2:first-child{margin-top:0}
.doc h3{font-family:var(--serif);font-size:16.5px;margin:18px 0 6px}
.doc p{margin-bottom:11px;color:var(--tinta2)}
.doc ul{margin:0 0 12px 20px;color:var(--tinta2)}
.doc li{margin-bottom:4px}
.doc table{font-size:13.5px;margin:12px 0}
.doc td,.doc th{padding:6px 11px;border:1px solid var(--linea)}
.doc th{cursor:default;position:static}
.doc code{background:var(--papel);border:1px solid var(--linea);padding:1px 5px;border-radius:3px;font-size:12.5px;color:var(--rojo)}
.doc strong{color:var(--tinta)}

/* ---------- carga y pie ---------- */
#cargando{text-align:center;padding:90px 20px;color:var(--tinta3)}
.spin{width:26px;height:26px;border:2.5px solid var(--linea);border-top-color:var(--rojo);border-radius:50%;margin:0 auto 14px;animation:g 1s linear infinite}
@keyframes g{to{transform:rotate(360deg)}}
footer{border-top:1px solid var(--linea);margin-top:36px;padding:22px 32px 40px;font-size:12px;color:var(--tinta3)}
.fwrap{max-width:1500px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media (max-width:1180px){
  .cols{grid-template-columns:1fr} aside{position:static;max-height:none}
  #kpis{grid-template-columns:repeat(2,1fr)} .rej.c2,.rej.c3{grid-template-columns:1fr}
  main,header,.banda,footer{padding-left:16px;padding-right:16px}
  header{padding-top:58px;background-position:58% 25%}
  header h1{font-size:22px}
  .c-ed,th:nth-child(6){display:none}
}
/* ---------- móvil y tableta estrecha ----------------------------------------
   Medido con Chrome a 375 px: la fila de pestañas se salía 132 px de la ventana
   y el panel de filtros, al apilarse encima, obligaba a recorrer las siete
   facetas antes de llegar a los resultados. Aquí se arreglan las dos cosas. */
#abrir-filtros{display:none}

@media (max-width:760px){
  /* las pestañas envuelven en vez de desbordar */
  .tabs{flex-wrap:wrap;gap:4px;margin-top:16px}
  .tab{padding:9px 13px;font-size:13px}

  /* los filtros se pliegan: en una pantalla estrecha lo primero tiene que ser
     el contenido, no siete facetas que hay que recorrer para llegar a él */
  #abrir-filtros{display:flex;justify-content:space-between;align-items:center;width:100%;
    background:var(--papel2);border:1px solid var(--linea);border-radius:8px;
    padding:12px 15px;font-size:13px;font-weight:600;color:var(--tinta);
    box-shadow:var(--sombra);margin-bottom:12px;min-height:44px}
  #abrir-filtros::after{content:"▾";color:var(--tinta3);margin-left:8px}
  #abrir-filtros[aria-expanded="true"]::after{content:"▴"}
  #abrir-filtros-n{color:var(--rojo);font-weight:700;font-size:12px}
  aside{display:none;margin-bottom:14px}
  aside.abierto{display:block}

  /* la mano no es un ratón: 44 px es el mínimo cómodo para un dedo */
  #q,.rango-in input,#limpiar,#exportar,#pag button{min-height:40px}
  .faceta label{padding-top:7px;padding-bottom:7px}
  .faceta input[type=checkbox]{width:18px;height:18px}
  #pag button{min-width:44px}

  main{padding-top:14px}
  header h1{font-size:19px}
  #kpis{gap:8px}
  .modal-in{padding:20px 16px}
}

@media (max-width:560px){
  /* con menos de 560 px no caben cinco columnas legibles: se dejan las tres que
     identifican la obra. La ficha completa sigue a un toque de distancia */
  th:nth-child(4),td:nth-child(4),th:nth-child(5),td:nth-child(5){display:none}
  .c-tit{font-size:14px}
  #kpis{grid-template-columns:1fr}
}

@media print{
  aside,.tabs,#exportar,#pag,.banda{display:none}
  header{background:#1a1a1a}
  header::before{display:none}
  header h1,header .sub,header .cred{text-shadow:none}
  .tar,.kpi{break-inside:avoid;box-shadow:none}
}

/* ---------- añadidos: tipo de presunción y notas ---------- */
.pres-tipo{font-size:10px;padding:2px 7px;border-radius:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.t-param{background:#e8eef5;color:#2f5480}
.t-doc{background:#f0eeea;color:#6b6459}
.mini-b{font-size:12px;color:var(--tinta3);background:var(--papel);border-radius:4px;padding:7px 10px;margin-top:9px;line-height:1.55}
.mini-b code{font-size:11.5px}
.pres-body dd,.fr dd{margin:0}

/* ---------- módulo de edición (prototipo) ---------- */
.ed-barra{display:flex;gap:14px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.ed-barra label{font-size:12px;color:var(--tinta3);text-transform:uppercase;letter-spacing:.4px;font-weight:600;display:flex;gap:7px;align-items:center}
.ed-barra input{padding:7px 10px;border:1px solid var(--linea2);border-radius:5px;font-size:13.5px;font-family:inherit;text-transform:none;letter-spacing:0}
.ed-ok{color:#2d6a3e;font-size:13px;font-weight:600}
.ed-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.btn-pri{background:var(--rojo);color:#fff;border:0;border-radius:6px;padding:8px 15px;font-size:13px;font-weight:600}
.btn-pri:hover{background:var(--rojo2)}
.btn-sec{background:var(--papel2);border:1px solid var(--linea2);border-radius:6px;padding:7px 13px;font-size:13px;color:var(--tinta2)}
.btn-sec:hover{border-color:var(--rojo);color:var(--rojo)}
.btn-mini{background:var(--papel);border:1px solid var(--linea2);border-radius:4px;padding:3px 9px;font-size:11.5px;color:var(--tinta2)}
.btn-mini:hover{border-color:var(--rojo);color:var(--rojo)}
.ed-exp{display:flex;gap:8px;padding:13px 0 0;align-items:center}
.ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin-bottom:6px}
.ed-grid label{font-size:12px;color:var(--tinta3);text-transform:uppercase;letter-spacing:.4px;font-weight:600;display:flex;flex-direction:column;gap:4px}
.ed-grid label.ancho{grid-column:1/-1}
.ed-grid label.chk{flex-direction:row;align-items:center;gap:7px;text-transform:none;font-size:13px;color:var(--tinta2)}
.ed-grid input,.ed-grid select{padding:7px 9px;border:1px solid var(--linea2);border-radius:5px;font-size:13.5px;font-family:inherit;text-transform:none;letter-spacing:0;color:var(--tinta);width:100%}
.ed-grid input:focus,.ed-grid select:focus{outline:2px solid var(--azul);outline-offset:-1px}
.ay{font-weight:400;text-transform:none;letter-spacing:0;color:var(--tinta3);font-size:11.5px;font-style:italic}
.ed-autor{display:flex;gap:8px;align-items:center;margin-bottom:7px}
.ed-autor input{flex:1;padding:7px 9px;border:1px solid var(--linea2);border-radius:5px;font-size:13.5px;font-family:inherit}
.ed-autor select{padding:7px 9px;border:1px solid var(--linea2);border-radius:5px;font-size:12.5px;font-family:inherit}
.chips-ed{display:flex;gap:5px;flex-wrap:wrap;align-items:center;border:1px solid var(--linea2);border-radius:5px;padding:6px;min-height:36px}
.chips-ed input{border:0;outline:0;flex:1;min-width:110px;font-size:13px;font-family:inherit;padding:2px}
.ed-aviso{background:var(--aviso-bg);border:1px solid var(--aviso-bd);border-radius:6px;padding:11px 14px;font-size:12.5px;color:#5c4a14;margin-bottom:14px}
.ed-aviso ul{margin:6px 0 0 18px}
.ed-error{background:#fbeaea;border:1px solid #d99;border-radius:6px;padding:11px 14px;font-size:13px;color:#8a2b2b;margin-bottom:14px}
.ed-error ul{margin:6px 0 0 18px}
.ed-pie{display:flex;gap:9px;justify-content:flex-end;margin-top:20px;padding-top:14px;border-top:1px solid var(--linea)}
#modal-ed-cuerpo h3{font-family:var(--serif);font-size:15.5px;margin:20px 0 9px;padding-bottom:5px;border-bottom:2px solid var(--linea)}
@media (max-width:1180px){.ed-grid{grid-template-columns:1fr}.ed-kpis{grid-template-columns:1fr}}
