/* Gala Worklab · Transparencia (registro retributivo y manuales). Solo componentes de esta sección:
   los tokens y la base vienen de /assets/gala-worklab.css y /assets/tienda/tienda.css, no se redefinen aquí. */

body{--prod:var(--prod-transparencia)}
.migas{font-size:13px; color:var(--ink-3); margin:0 0 14px}
.migas a{color:var(--ink-2); text-decoration:none}
.migas a:hover{color:var(--accent)}
.migas span{margin:0 6px}
.tabla-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:12px; max-width:100%}
.oculto{display:none !important}
[hidden]{display:none !important}

/* ---------- Herramienta ---------- */
.rr{margin-top:28px; padding:28px}
@media(max-width:600px){.rr{padding:20px 16px; border-radius:var(--radius-md)}}
.rr-paso{padding-top:26px; margin-top:26px; border-top:1px solid var(--hairline); scroll-margin-top:84px}
.rr-paso:first-child{padding-top:0; margin-top:0; border-top:0}
.paso-cab{display:flex; gap:14px; align-items:flex-start; margin-bottom:14px}
.paso-num{flex:none; width:32px; height:32px; border-radius:50%; background:var(--accent); color:var(--on-accent); font-weight:800; display:grid; place-items:center}
.paso-cab .nota{margin-top:4px}
.rr-campos{display:grid; grid-template-columns:repeat(4,1fr); gap:14px 18px}
@media(max-width:980px){.rr-campos{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rr-campos{grid-template-columns:1fr}}
.rr-campos .ancho{grid-column:span 2}
@media(max-width:560px){.rr-campos .ancho{grid-column:auto}}
.rr-radios{display:flex; gap:8px; flex-wrap:wrap}
.rr-radios label{display:inline-flex; align-items:center; gap:8px; margin:0; height:40px; padding:0 14px; border:1px solid var(--hairline); border-radius:var(--radius-sm); background:var(--paper-0); font-weight:600; cursor:pointer}
.rr-radios input{width:16px; height:16px; margin:0}
.rr-radios label:has(input:checked){border-color:var(--accent); box-shadow:var(--ring)}
.ayuda{font-size:12px; color:var(--ink-3); margin-top:5px; line-height:1.4}
.carga{border:2px dashed var(--hairline); border-radius:var(--radius-md); padding:24px; transition:background 180ms var(--ease), border-color 180ms var(--ease)}
.carga.encima{border-color:var(--accent-2); background:var(--soft-green)}
.carga .h3{margin-bottom:4px}
.acciones{display:flex; gap:10px; align-items:center; margin-top:16px; flex-wrap:wrap}
.error-msg{color:var(--danger); font-weight:700; font-size:14px; margin:8px 0 0}
.enlace-texto{background:none; border:0; padding:0; font:inherit; font-weight:700; color:var(--accent); text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.opciones-archivo{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px}
@media(max-width:880px){.opciones-archivo{grid-template-columns:1fr}}
.opcion{background:var(--paper-1); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:16px}
.opcion h4{margin:8px 0 0; font-size:15px; font-weight:800; color:var(--ink-1); line-height:1.25}
.opcion p{font-size:13px; color:var(--ink-2); margin-top:6px}
.pildora.mini{font-size:9px; padding:4px 10px}
.rr-recuperado{display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:space-between; background:var(--soft-green); border-radius:var(--radius-sm); padding:10px 14px; font-size:14px; margin-bottom:18px}

/* Revisión */
.aviso-linea{margin:8px 0 0; padding:10px 14px; border-radius:var(--radius-sm); font-size:13.5px; line-height:1.45}
.aviso-linea.info{background:var(--soft-blue); color:var(--ink-1)}
.aviso-linea.oro{background:var(--soft-gold); color:var(--ink-1)}
.aviso-linea.error{background:var(--soft-red); color:var(--danger); font-weight:700}
.plegable{background:var(--paper-1); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:14px 16px; margin-top:12px}
.plegable summary{font-size:15px; font-weight:800; color:var(--accent); cursor:pointer}
.plegable summary small{display:block; font-size:13px; font-weight:400; color:var(--ink-2); margin-top:2px}
table.compacta tbody td{padding:7px 8px; font-size:13px; vertical-align:middle}
table.compacta thead th{padding:0 8px 8px}
table.compacta select, table.compacta input{height:34px; font-size:13px; padding:0 8px}
table.compacta input.corto{width:70px}
table.compacta input[type=checkbox]{width:18px; height:18px}
td.ejemplo{font-size:12px; color:var(--ink-3); max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
td.centro{text-align:center}
td.motivo{font-size:12px; color:var(--warning); min-width:150px}
tr.apagada td{opacity:.5}
select.falta{border-color:var(--danger); background:var(--soft-red)}
.deducido{display:block; font-size:11px; color:var(--ink-3); margin-top:2px}
#rr-t-columnas select{min-width:220px}
#rr-t-grupos select{min-width:240px}
.rr-personas{margin-top:18px}
.rr-personas h4{margin:0; font-size:15px; font-weight:800; color:var(--accent)}
.personas-scroll{max-height:460px; overflow:auto}
.personas-scroll table{min-width:860px}
.personas-scroll thead th{position:sticky; top:0; background:var(--paper-0); z-index:1}
#rr-t-personas select{min-width:104px}
#rr-t-personas input[data-campo=grupo]{min-width:170px}

/* Resultado */
.rr-kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
@media(max-width:880px){.rr-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.rr-kpis{grid-template-columns:1fr}}
.rr-kpis .card{padding:18px}
.rr-kpis .valor{font-size:28px}
.rr-igual{margin-top:20px; background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:18px}
.rr-igual .h3{font-size:17px}
#rr-t-igual input{min-width:200px}
.rr-justificar{margin-top:20px; background:var(--soft-gold); border-radius:var(--radius-md); padding:18px}
.rr-justificar .h3{font-size:17px}
.rr-just{margin-top:16px; padding-top:14px; border-top:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}
.rr-just-cab{margin:0 0 8px}
.rr-motivos{display:grid; gap:6px; margin-bottom:10px}
.rr-motivos .check{display:flex; gap:8px; align-items:flex-start; font-size:13px; font-weight:400; margin:0}
.rr-motivos .check input{width:16px; height:16px; margin-top:2px; flex:none}
.rr-cierre{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; margin-top:22px; align-items:start}
@media(max-width:980px){.rr-cierre{grid-template-columns:1fr}}
.rr-cierre > *{min-width:0}
.rr-compra,.rr-descargas{position:sticky; top:84px; background:var(--gradient-ink); color:#fff; border-radius:var(--radius-lg); padding:24px; box-shadow:var(--shadow-md)}
@media(max-width:980px){.rr-compra,.rr-descargas{position:static; order:-1}}
:root[data-theme="dark"] .rr-compra,:root[data-theme="dark"] .rr-descargas{background:#1C2650}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .rr-compra,:root:not([data-theme="light"]) .rr-descargas{background:#1C2650}}
.rr-compra .kpi-label,.rr-descargas .kpi-label{color:var(--accent-2)}
.rr-compra .precio{font-size:34px; font-weight:800; letter-spacing:-.02em; margin:6px 0 2px; font-variant-numeric:tabular-nums}
.rr-compra .precio small{font-size:13px; font-weight:600; color:rgba(255,255,255,.65)}
.rr-compra p,.rr-descargas p{color:rgba(255,255,255,.72); font-size:13.5px}
.rr-compra ul{list-style:none; padding:0; margin:14px 0 18px; display:grid; gap:7px; font-size:14px}
.rr-compra li{padding-left:20px; position:relative}
.rr-compra li::before{content:''; position:absolute; left:2px; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--accent-2)}
.rr-compra .btn{width:100%; white-space:normal; height:auto; min-height:48px; padding:10px 18px}
.rr-descargas .btn{width:100%; margin-top:10px; justify-content:flex-start}
.rr-descargas .btn.secundario{background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
.rr-descargas .btn.secundario:hover{background:rgba(255,255,255,.08)}
.rr-trabajando{display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:var(--ink-2)}
.rr-descargas .rr-trabajando{color:#fff; margin-top:12px}
.rr-reiniciar{margin-top:14px; font-size:13px}

/* Vista previa con marca de agua */
.rr-vista{position:relative; background:var(--doc-papel); color:var(--doc-tinta); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:28px; box-shadow:var(--shadow-sm); overflow:hidden}
@media(max-width:600px){.rr-vista{padding:18px 14px}}
.rr-vista.bloqueada::after{content:''; position:absolute; inset:0; pointer-events:none; z-index:3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='220'%3E%3Ctext x='20' y='130' transform='rotate(-24 180 110)' font-family='Barlow,Arial,sans-serif' font-size='26' font-weight='800' fill='%232B3A67' fill-opacity='0.10' letter-spacing='1'%3EVista previa · Gala Worklab.%3C/text%3E%3C/svg%3E")}
.rr-vista.bloqueada{user-select:none; -webkit-user-select:none}
.rr-vista .velado{filter:blur(5px); opacity:.55; pointer-events:none}
.velo-aviso{position:relative; z-index:4; margin:18px 0 10px; padding:12px 16px; border-radius:8px; background:var(--doc-verde-suave); color:var(--doc-tinta); font-weight:700; font-size:14px}

/* ---------- Documento (vista previa e impresión) ---------- */
/* Papel del documento (vista previa, PDF): valores de la identidad v2.0 (Identidad-GALA/v2/gala-worklab-tokens-v2.css).
   Son fijos a propósito: un documento es papel y no cambia con el modo oscuro. Si cambia la marca, se cambia solo aquí. */
.rr-vista,#rr-impresion,.doc{--doc-papel:#FFFFFF; --doc-tinta:#121A33; --doc-indigo:#2B3A67; --doc-texto-2:#46506B; --doc-texto-3:#8A91A3;
  --doc-linea:#E1E4EC; --doc-banda:#EEF0F7; --doc-punto:#8FAF2E; --doc-producto:#6B8420; --doc-error:#B5533C; --doc-oro:#C98A1B; --doc-verde-suave:#EDF2DC}
/* Logotipo «Gala Worklab. │ Transparencia» y signo al 8 % en la portada (manual v2, papelería) */
.doc-logo{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:800; color:var(--doc-indigo); letter-spacing:-.01em; margin-bottom:18px}
.doc-logo svg{width:16px; height:16px}
.doc-logo i{font-style:normal; color:var(--doc-punto)}
.doc-logo .wl{color:#6170A6}
.doc-logo .sep{color:var(--doc-linea); font-weight:400}
.doc-logo .prod{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--doc-producto)}
.doc-portada{position:relative; overflow:hidden}
.doc-portada .doc-fondo{position:absolute; right:-18px; top:-10px; width:190px; height:190px; opacity:.08; pointer-events:none}
.doc-portada > *:not(.doc-fondo){position:relative}
.doc svg circle{fill:var(--doc-indigo)} .doc svg circle.activo{fill:var(--doc-punto)}


.doc{font-family:'Barlow',system-ui,sans-serif; color:var(--doc-tinta); font-size:13px; line-height:1.5}
.doc .doc-titulo{font-size:30px; font-weight:800; line-height:1.1; color:var(--doc-indigo); margin:6px 0 0; letter-spacing:-.02em}
.doc h4{font-size:13.5px; color:var(--doc-tinta); margin:16px 0 2px}
.doc h2{font-size:18px; color:var(--doc-indigo); margin:28px 0 8px; padding-top:12px; border-top:2px solid var(--doc-tinta)}
.doc h3{font-size:14px; color:var(--doc-tinta); margin:20px 0 4px}
.doc h3 span{font-weight:400; color:var(--doc-texto-2); font-size:12.5px; margin-left:8px}
.doc ul{padding-left:18px; margin:8px 0}
.doc li{margin:4px 0}
.doc p{margin:8px 0 0}
.doc-marca{font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; color:var(--doc-producto); margin:0}
.doc-sub{font-size:15px; color:var(--doc-texto-2); margin-top:4px}
.doc-portada{padding-bottom:16px; border-bottom:1px solid var(--doc-linea)}
.doc-portada.corta{border:0; padding-bottom:0; margin-bottom:12px}
.doc-portada.corta .doc-titulo{font-size:22px}
.doc-campos{width:100%; border-collapse:collapse; margin-top:16px}
.doc-campos th{text-align:left; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--doc-texto-3); padding:6px 12px 6px 0; width:30%; vertical-align:top; border-bottom:1px solid var(--doc-linea)}
.doc-campos td{padding:6px 0; border-bottom:1px solid var(--doc-linea); font-size:13px}
.doc-tabla{width:100%; border-collapse:collapse; min-width:640px; font-variant-numeric:tabular-nums}
.doc-tabla thead th{font-size:9.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--doc-texto-3); padding:0 6px 6px; border-bottom:2px solid var(--doc-tinta); text-align:left; vertical-align:bottom}
.doc-tabla td{padding:6px; border-bottom:1px solid var(--doc-linea); font-size:12.5px}
.doc-tabla .num{text-align:right; white-space:nowrap}
.doc-tabla tfoot td{font-weight:800; color:var(--doc-indigo); border-top:2px solid var(--doc-tinta); border-bottom:0}
.doc-tabla tr.subtotal td{font-weight:700; background:var(--doc-banda)}
.doc-tabla .nat{display:block; font-size:10.5px; color:var(--doc-texto-3)}
.doc-tabla td.marca25{color:var(--doc-error); font-weight:800}
.doc-nota{font-size:12px; color:var(--doc-texto-2); background:var(--doc-banda); border-left:3px solid var(--doc-punto); padding:8px 12px; border-radius:0 6px 6px 0}
.doc-just{border-left:3px solid var(--doc-oro); padding:4px 12px; margin-top:10px}
.doc-firmas{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:44px; font-size:12px; color:var(--doc-texto-2)}
.doc-firmas .raya{display:block; border-bottom:1px solid var(--doc-tinta); height:48px; margin-bottom:6px}
.doc-pie{font-size:10.5px; color:var(--doc-texto-3); margin-top:28px !important; border-top:1px solid var(--doc-linea); padding-top:8px}
.doc .salto{height:0; margin:36px 0; border-top:1px dashed var(--doc-linea)}
.doc-grupo{break-inside:avoid}

#rr-impresion{display:none}
@media print{
  @page{size:A4; margin:14mm 12mm}
  body.rr-imprimiendo{background:#fff}
  body.rr-imprimiendo > *:not(#rr-impresion){display:none !important}
  body.rr-imprimiendo #rr-impresion{display:block}
  #rr-impresion .tabla-scroll{overflow:visible}
  #rr-impresion .doc-tabla{min-width:0}
  #rr-impresion .doc-tabla td{font-size:10.5px; padding:4px}
  #rr-impresion .doc-tabla thead th{font-size:8px; padding:0 4px 4px}
  #rr-impresion .doc h2{break-after:avoid}
  #rr-impresion .doc-portada{min-height:0}
  #rr-impresion .doc .salto{break-after:page; border:0; margin:0}
  /* Sin pago, la vista previa no se imprime */
  body:not(.rr-imprimiendo) main{display:none !important}
  body:not(.rr-imprimiendo)::before{content:'Para imprimir o guardar el registro en PDF, usa el botón «Registro en PDF» tras desbloquearlo en galaworklab.es'; display:block; font:16px Barlow,sans-serif; padding:40px}
}

/* ---------- Páginas de captación y manuales ---------- */
.hero-tr{padding:56px 0 28px}
@media(max-width:600px){.hero-tr{padding:36px 0 16px}}
.lead.grande{font-size:19px; max-width:760px}
.cifras{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px}
@media(max-width:760px){.cifras{grid-template-columns:1fr}}
.cifra-card{background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:20px; border-top:3px solid var(--prod-transparencia)}
.cifra-card b{display:block; font-size:34px; font-weight:800; letter-spacing:-.02em; color:var(--accent); line-height:1.05; font-variant-numeric:tabular-nums}
.cifra-card span{display:block; font-size:14px; color:var(--ink-2); margin-top:6px}

/* Tamaño de empresa: tres columnas que crecen */
.tamanos{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
@media(max-width:1000px){.tamanos{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tamanos{grid-template-columns:1fr}}
.tamano{background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:20px; display:flex; flex-direction:column; gap:10px}
.tamano .quien{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3)}
.tamano .cuantos{font-size:30px; font-weight:800; color:var(--accent); letter-spacing:-.02em; line-height:1}
.tamano ul{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.tamano li{font-size:14px; color:var(--ink-2); padding-left:22px; position:relative; line-height:1.4}
.tamano li::before{content:''; position:absolute; left:3px; top:.45em; width:9px; height:9px; border-radius:50%; background:var(--accent-2)}
.tamano li.futuro::before{background:transparent; border:2px solid var(--celeste); width:7px; height:7px}
.tamano li.hereda{color:var(--ink-3)}
.tamano li.hereda::before{background:var(--hairline)}
.leyenda-puntos{display:flex; gap:18px; flex-wrap:wrap; font-size:13px; color:var(--ink-2); margin-top:14px}
.leyenda-puntos span{display:inline-flex; align-items:center; gap:8px}
.leyenda-puntos i{width:10px; height:10px; border-radius:50%; background:var(--accent-2); display:inline-block}
.leyenda-puntos i.futuro{background:transparent; border:2px solid var(--celeste); width:8px; height:8px}

/* Semáforo de multas */
.multas{display:grid; gap:12px}
.multa{display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:start; background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:18px 20px; border-left:6px solid var(--hairline)}
@media(max-width:600px){.multa{grid-template-columns:1fr; gap:8px}}
.multa.leve{border-left-color:var(--celeste)}
.multa.grave{border-left-color:var(--gold)}
.multa.muy-grave{border-left-color:var(--danger)}
.multa.no{border-left-color:var(--accent-2)}
.multa .importe{font-size:22px; font-weight:800; color:var(--accent); letter-spacing:-.01em; line-height:1.1; font-variant-numeric:tabular-nums}
.multa .importe small{display:block; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-top:4px}
.multa h3{font-size:17px; margin:0}
.multa p{margin:6px 0 0; color:var(--ink-2); font-size:14px}
.multa .norma{font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--ink-3); margin-top:8px}

/* Línea de tiempo */
.calendario{list-style:none; padding:0; margin:0; position:relative}
.calendario::before{content:''; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:var(--hairline)}
.calendario li{position:relative; padding:0 0 26px 44px}
.calendario li::before{content:''; position:absolute; left:4px; top:4px; width:16px; height:16px; border-radius:50%; background:var(--paper-0); border:3px solid var(--accent)}
.calendario li.hecho::before{background:var(--accent); border-color:var(--accent)}
.calendario li.hoy::before{background:var(--accent-2); border-color:var(--accent-2); box-shadow:0 0 0 5px var(--soft-green)}
.calendario li.futuro::before{border-color:var(--celeste); border-style:dashed}
.calendario .cuando{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--ink-3)}
.calendario h3{font-size:17px; margin:2px 0 0}
.calendario p{margin:4px 0 0; color:var(--ink-2); font-size:14px; max-width:720px}
.calendario .estado{margin-left:8px; vertical-align:2px}

/* Checklist de inspección */
.checklist{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px}
@media(max-width:760px){.checklist{grid-template-columns:1fr}}
.checklist li{background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-sm); padding:14px 16px 14px 48px; position:relative; font-size:14.5px; color:var(--ink-2)}
.checklist li b{display:block; color:var(--ink-1); font-size:15px}
.checklist li::before{content:''; position:absolute; left:16px; top:16px; width:18px; height:18px; border-radius:5px; border:2px solid var(--accent-2-deep);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%236B8420' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* Bloques «sí / no» */
.si-no{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media(max-width:760px){.si-no{grid-template-columns:1fr}}
.si-no > div{border-radius:var(--radius-md); padding:20px}
.si-no .si{background:var(--soft-green)}
.si-no .no{background:var(--soft-red)}
.si-no h3{font-size:16px; margin:0 0 8px}
.si-no ul{margin:0; padding-left:18px; color:var(--ink-1); font-size:14px; display:grid; gap:6px}

/* Pasos numerados grandes */
.pasos-grandes{list-style:none; padding:0; margin:0; counter-reset:p; display:grid; gap:12px}
.pasos-grandes li{counter-increment:p; display:grid; grid-template-columns:48px 1fr; gap:14px; align-items:start; background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:16px 18px}
.pasos-grandes li::before{content:counter(p); width:40px; height:40px; border-radius:50%; background:var(--accent); color:var(--on-accent); font-weight:800; font-size:18px; display:grid; place-items:center}
.pasos-grandes h3{font-size:16px; margin:2px 0 0}
.pasos-grandes p{margin:4px 0 0; color:var(--ink-2); font-size:14px}
.ruta{font-family:'IBM Plex Mono',monospace; font-size:12.5px; background:var(--paper-2); border-radius:6px; padding:2px 8px; color:var(--ink-1); white-space:normal}

/* Comparativa */
.versus{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media(max-width:760px){.versus{grid-template-columns:1fr}}
.versus > div{background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:20px}
.versus .nuestro{border:2px solid var(--accent-2-deep)}
.versus .tiempo{font-size:34px; font-weight:800; color:var(--accent); letter-spacing:-.02em; line-height:1.05}
.versus ul{padding-left:18px; color:var(--ink-2); font-size:14px; display:grid; gap:5px; margin:10px 0 0}

/* Tarjetas de manuales */
.manuales{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
@media(max-width:980px){.manuales{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.manuales{grid-template-columns:1fr}}
.manual{display:flex; flex-direction:column; gap:8px; text-decoration:none; color:inherit; background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:22px; border-top:3px solid var(--prod-transparencia); transition:border-color 180ms var(--ease), transform 180ms var(--ease)}
.manual:hover{border-color:var(--accent); transform:translateY(-2px)}
.manual .num{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-3)}
.manual b{font-size:19px; color:var(--accent); font-weight:800; line-height:1.2}
.manual span{font-size:14px; color:var(--ink-2)}
.manual .ir{margin-top:auto; padding-top:6px; font-weight:800; color:var(--accent)}
.manual .ir::after{content:' →'}

.pendiente-boe{display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--celeste); background:var(--soft-blue); border-radius:var(--radius-pill); padding:5px 12px}
.pendiente-boe::before{content:''; width:8px; height:8px; border-radius:50%; border:2px dashed currentColor}
.estado-norma{display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-lg); padding:22px 24px; box-shadow:var(--shadow-sm)}
@media(max-width:600px){.estado-norma{grid-template-columns:1fr}}
.estado-norma .luz{width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:var(--soft-blue); color:var(--celeste); font-weight:800; font-size:22px}
.estado-norma.publicado .luz{background:var(--soft-green); color:var(--accent-2-deep)}
.estado-norma h2{font-size:22px}
.estado-norma p{margin:6px 0 0; color:var(--ink-2)}
.cambios{display:grid; gap:10px}
.cambio{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--hairline); border-radius:var(--radius-md); overflow:hidden; background:var(--paper-0)}
@media(max-width:700px){.cambio{grid-template-columns:1fr}}
.cambio > div{padding:16px 18px}
.cambio .hoy{background:var(--paper-2)}
.cambio .kpi-label{display:block; margin-bottom:4px}
.cambio h3{font-size:15px; margin:0}
.cambio p{margin:4px 0 0; font-size:14px; color:var(--ink-2)}

.siguiente{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
@media(max-width:980px){.siguiente{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.siguiente{grid-template-columns:1fr}}
.siguiente a{display:grid; gap:4px; text-decoration:none; color:inherit; background:var(--paper-0); border:1px solid var(--hairline); border-radius:var(--radius-md); padding:18px}
.siguiente a:hover{border-color:var(--accent)}
.siguiente b{color:var(--accent); font-size:16px}
.siguiente span{font-size:13.5px; color:var(--ink-2)}
.fuentes{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px}
.fuentes a.fuente{text-decoration:none}
.bloque-cta{margin-top:8px}
.bloque-cta .gw-acciones .btn.secundario{background:transparent; color:#fff; border-color:rgba(255,255,255,.4)}
.mock-excel{border:1px solid var(--hairline); border-radius:var(--radius-md); overflow:auto; background:var(--paper-0)}
.mock-excel table{min-width:760px; font-size:12.5px}
.mock-excel thead th{background:var(--paper-2); color:var(--ink-1); letter-spacing:.04em; font-size:10px; padding:10px; border-bottom:1px solid var(--hairline)}
.mock-excel td{padding:8px 10px; font-size:12.5px; border-bottom:1px solid var(--hairline)}
