/* Hojas tamaño carta compartidas por los informes: hoja fija, portada, encabezado, pie, impresión y PDF. */
  :root{--navy:#2a2672;--navy2:#1b1850;--ink:#1f1d3d;--ink2:#55537a;--muted:#8a88a3;--line:#e7e5f3;--soft:#f5f4fb;--orange:#e0661f;--blue:#2a8fb3;--green:#5a9e32;--violet:#4a43b0;--grape:#9a5bd0;--good:#2e8540}
  *{box-sizing:border-box}
  html,body{margin:0}
  body{background:#e4e2ee;font-family:Poppins,system-ui,sans-serif;color:var(--ink);font-size:11.5px;line-height:1.5;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .toolbar{position:sticky;top:0;z-index:5;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;flex-wrap:wrap}
  .toolbar .grp{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .toolbar button,.toolbar label,.toolbar a{font:inherit;font-size:12.5px;font-weight:600;border:0;border-radius:999px;padding:8px 14px;cursor:pointer;background:rgba(255,255,255,.14);color:#fff;display:inline-flex;gap:6px;align-items:center;text-decoration:none}
  .toolbar .hot{background:var(--orange)}
  .toolbar .on{background:#fff;color:var(--navy)}
  .toolbar button:disabled{opacity:.6}
  .aviso{background:#fff8db;color:#6b5600;text-align:center;padding:8px;font-size:12px}
  #doc{padding:10px 0 30px}

  /* Hoja tamaño carta: 215,9 × 279,4 mm. Cada hoja tiene alto fijo y su contenido nunca se parte. */
  .page{width:215.9mm;height:279.4mm;margin:18px auto;background:#fff;padding:12mm 15mm 17mm;box-shadow:0 12px 40px rgba(31,29,61,.16);position:relative;overflow:hidden;display:flex;flex-direction:column}
  .pb{flex:1;min-height:0;overflow:hidden}
  .blk{display:flow-root}
  .ph{display:flex;justify-content:space-between;align-items:center;padding-bottom:7px;margin-bottom:9mm;font-size:9px;color:var(--muted);border-bottom:2px solid var(--soft);position:relative;flex:none}
  .ph::after{content:"";position:absolute;left:0;bottom:-2px;width:28mm;height:2px;background:var(--orange)}
  .ph img{height:22px}
  .ph span{text-transform:uppercase;letter-spacing:.12em}
  .pf{position:absolute;bottom:7mm;left:15mm;right:15mm;display:flex;justify-content:space-between;align-items:center;font-size:8.5px;color:var(--muted)}
  .pf .pn{background:var(--navy);color:#fff;font-weight:600;border-radius:999px;padding:2px 10px}

  /* Portada */
  .cover{padding:0;background:var(--navy2);color:#fff}
  .cover .bg{position:absolute;inset:0;background:linear-gradient(155deg,#16134a 0%,#2a2672 50%,#4a43b0 100%)}
  .cover .c1,.cover .c2,.cover .c3{position:absolute;border-radius:50%}
  .cover .c1{width:150mm;height:150mm;right:-60mm;top:-50mm;background:rgba(255,255,255,.06)}
  .cover .c2{width:90mm;height:90mm;right:20mm;top:60mm;background:rgba(242,107,33,.16)}
  .cover .c3{width:70mm;height:70mm;left:-25mm;bottom:40mm;background:rgba(92,198,226,.10)}
  .cover .in{position:relative;flex:1;display:flex;flex-direction:column;padding:22mm 20mm 0}
  .cover .logo{width:60mm;background:#fff;border-radius:16px;padding:9px 12px}
  .cover .kick{margin-top:30mm;letter-spacing:.3em;text-transform:uppercase;font-size:10.5px;color:#ffd9bf;font-weight:600}
  .cover h1{font-family:Fraunces,Georgia,serif;font-size:48px;line-height:1.04;margin:10px 0 14px;max-width:165mm}
  .cover .per{display:inline-block;align-self:flex-start;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:500}
  .cover .hero{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:5mm}
  .cover .hero div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:5mm 6mm}
  .cover .hero b{display:block;font-size:34px;line-height:1.1;font-weight:700}
  .cover .hero span{font-size:10.5px;opacity:.85}
  .cover .meta{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm;font-size:10px;padding:9mm 0 12mm;margin-top:9mm;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.75)}
  .cover .meta b{display:block;font-size:12px;color:#fff;font-weight:600}
  .bandas{position:relative;height:9px;background:linear-gradient(90deg,#5cc6e2 0 25%,#6ab43e 25% 50%,#f26b21 50% 75%,#ffd400 75%);flex:none}

  /* Títulos */
  .sec{display:flex;align-items:flex-end;gap:12px;margin:0 0 6mm}
  .sec .n{font-family:Fraunces,Georgia,serif;font-size:40px;line-height:.9;color:var(--orange);font-weight:700}
  .sec h2{font-family:Fraunces,Georgia,serif;font-size:25px;line-height:1.1;color:var(--navy);margin:0}
  .sec p{margin:2px 0 0;color:var(--muted);font-size:10.5px}
  .cont{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:0 0 5mm}
  .cont b{color:var(--orange)}
  h3{font-size:11px;margin:0 0 3mm;text-transform:uppercase;letter-spacing:.1em;color:var(--navy)}

  .velo{position:fixed;inset:0;background:rgba(27,24,80,.72);color:#fff;display:grid;place-items:center;z-index:30;font-size:16px;font-weight:600;text-align:center;padding:20px}
  .velo[hidden]{display:none}
  @page{size:letter;margin:0}
  @media print{
    body{background:#fff}
    .toolbar,.aviso,.panel,.velo{display:none!important}
    #doc{zoom:1!important;padding:0}
    .page{margin:0;box-shadow:none;break-after:page;page-break-after:always}
    .page:last-child{break-after:auto;page-break-after:auto}
    [contenteditable]{outline:0;background:none}
  }
  @media screen and (max-width:820px){.toolbar{padding:8px 10px}.toolbar>b{display:none}.toolbar button,.toolbar label,.toolbar a{padding:7px 11px;font-size:12px}.page{margin:12px auto}}
  html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
  .loading{text-align:center;padding:80px;color:var(--muted);font-size:16px}
  .sep{margin-top:9mm}
  .pb > .blk:first-child .sep{margin-top:0}
