/* ============================================================
   Ficha técnica A4 · hoja de impresión Steigen
   Reemplaza íntegramente el bloque @media print de public/styles.css
   ============================================================ */
.print-report{display:none}

@media print{
  @page{size:A4;margin:0}
  body{background:#fff}
  body>*{display:none!important}
  body>.print-report{display:block!important;background:#fff;color:var(--stgn-slate-900);font-family:var(--stgn-font-brand);font-size:10px;line-height:1.4;font-variant-numeric:tabular-nums}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact}

  .print-page{width:210mm;min-height:297mm;display:flex;flex-direction:column}

  /* Cabecera institucional en degradé con retícula */
  .print-masthead{position:relative;overflow:hidden;background-image:var(--stgn-grid-overlay),var(--stgn-gradient);background-size:24px 24px,24px 24px,cover;color:#fff;padding:9mm 12mm 7mm;display:flex;flex-direction:column;gap:7mm;box-shadow:inset 0 -150px 130px -70px rgba(31,57,71,.62)}
  .print-mast-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
  .print-brand{background:#fff;border-radius:var(--stgn-radius-sm);padding:7px 14px;display:flex;align-items:center}
  .print-brand img{width:124px;height:auto;display:block}
  .print-doc{display:flex;align-items:stretch;gap:1px;background:rgba(255,255,255,.22)}
  .print-doc div{background:rgba(31,57,71,.32);padding:6px 12px;display:flex;flex-direction:column;gap:2px;min-width:96px}
  .print-doc span{font-size:6.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.92)}
  .print-doc strong{font-size:10px;font-weight:600}
  .print-mast-main{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
  .print-mast-main>div:first-child{display:flex;flex-direction:column;gap:4px;max-width:118mm}
  .print-kicker{margin:0;font-size:8px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#fff}
  .print-masthead h1{margin:0;font-size:26px;line-height:1.05;letter-spacing:-.015em;font-weight:600}
  .print-masthead h1 span{color:rgba(255,255,255,.86);font-weight:400}
  .print-sub{margin:2px 0 0;font-size:10px;color:rgba(255,255,255,.92)}
  .print-hero-total{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-align:right}
  .print-hero-total span:first-child{font-size:6.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff}
  .print-hero-total strong{font-size:33px;line-height:.95;font-weight:600}
  .print-hero-total strong i{font-style:normal;font-size:14px;color:var(--stgn-cyan-200)}
  .print-hero-total span:last-child{font-size:8px;color:rgba(255,255,255,.92)}

  /* Tira de indicadores · grilla de 1 px */
  .print-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--stgn-slate-300);border-bottom:1px solid var(--stgn-slate-300)}
  .print-strip>div{background:var(--stgn-surface-tint);padding:7px 12px;display:flex;flex-direction:column;gap:2px}
  .print-strip span{font-size:6.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--stgn-slate-600)}
  .print-strip strong{font-size:10px;font-weight:600;color:var(--stgn-blue-900)}
  .print-strip strong.is-warn{color:var(--stgn-warning)}

  .print-body{flex:1;padding:7mm 12mm 0;display:flex;flex-direction:column;gap:5.5mm;min-height:0}
  .print-cols{display:grid;grid-template-columns:1.02fr .98fr;gap:9mm}
  .print-cols-wide{display:grid;grid-template-columns:1.35fr 1fr;gap:9mm}
  .print-col{display:flex;flex-direction:column;gap:8px}

  /* Título de sección numerado sobre regla de 2 px */
  .print-head{display:flex;align-items:baseline;gap:8px;border-bottom:2px solid var(--stgn-slate-900);padding-bottom:5px}
  .print-head b{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--stgn-blue-500)}
  .print-head h2{margin:0;font-size:12px;font-weight:600;letter-spacing:-.01em;color:var(--stgn-blue-900)}
  .print-caption{margin:-4px 0 0;font-size:7px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--stgn-slate-600)}

  /* Ficha término/valor */
  .print-dl{margin:0;display:grid;gap:0}
  .print-dl>div{display:grid;grid-template-columns:31mm 1fr;gap:10px;padding:4px 0;border-bottom:1px solid var(--stgn-slate-100)}
  .print-dl>div:last-child{border-bottom:0}
  .print-dl dt{font-size:7px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--stgn-slate-600)}
  .print-dl dd{margin:0;font-size:10px;font-weight:600;color:var(--stgn-blue-900)}
  .print-dl dd.is-long{font-size:9.5px;font-weight:400;line-height:1.5;color:var(--stgn-slate-900)}
  .print-dl-narrow>div{grid-template-columns:26mm 1fr}

  /* Banderas de planta */
  .print-flags{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--stgn-slate-100)}
  .print-flags li{background:#fff;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:3px 0}
  .print-flags li span{font-size:9.5px}
  .print-flags li b{font-size:8px;font-weight:600;white-space:nowrap;color:var(--stgn-success)}
  .print-flags li.is-active{background:var(--stgn-warning-bg);border-left:3px solid var(--stgn-warning);padding:3px 8px}
  .print-flags li.is-active span{font-weight:600;color:var(--stgn-blue-900)}
  .print-flags li.is-active b{color:var(--stgn-warning)}

  /* Horas máquina · barras */
  .print-bars{display:grid;gap:1px;background:var(--stgn-slate-100)}
  .print-bars>div{background:#fff;display:grid;grid-template-columns:29mm 1fr 12mm 25mm;gap:10px;align-items:center;padding:4px 0}
  .print-bars .t{font-size:9.5px}
  .print-bars .track{display:block;height:9px;background:var(--stgn-slate-300)}
  .print-bars .fill{display:block;height:9px;background:var(--stgn-blue-500)}
  .print-bars .h{font-size:10px;font-weight:600;text-align:right;color:var(--stgn-blue-900)}
  .print-bars .n{font-size:8px;color:var(--stgn-slate-600)}
  .print-bars>div.is-peak .t{font-weight:600;color:var(--stgn-blue-900)}
  .print-bars>div.is-peak .fill{background:var(--stgn-blue-900)}
  .print-bars>div.is-peak .h{font-weight:700}
  .print-bars>div.is-peak .n{color:var(--stgn-warning);font-weight:600}

  /* Fuentes con píldoras de estado */
  .print-sources{display:grid;gap:1px;background:var(--stgn-slate-100)}
  .print-sources>div{background:#fff;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:4px 0}
  .print-sources span{font-size:9px}
  .print-pill{display:inline-flex;align-items:center;gap:4px;border-radius:var(--stgn-radius-pill);padding:2px 7px;font-size:7.5px;font-weight:600;white-space:nowrap}
  .print-pill-ok{background:var(--stgn-success-pill-bg);color:var(--stgn-success-pill-fg)}
  .print-pill-warn{background:var(--stgn-warning-pill-bg);color:var(--stgn-warning-pill-fg)}
  .print-pill-neutral{background:var(--stgn-info-pill-bg);color:var(--stgn-info-pill-fg)}
  .print-note{margin:0;font-size:8px;line-height:1.45;color:var(--stgn-slate-600)}
  .print-empty{margin:0;font-size:8.5px;line-height:1.45;color:var(--stgn-slate-600)}

  /* Aviso recto con barra izquierda de 3 px */
  .print-callout{background:var(--stgn-surface-tint);border-left:3px solid var(--stgn-blue-700);padding:7px 10px}
  .print-callout p{margin:0;font-size:8.5px;line-height:1.45;color:var(--stgn-slate-700)}
  .print-callout strong{color:var(--stgn-slate-900)}

  /* Pie: marco técnico con marcas de registro + QR */
  .print-foot{margin-top:auto;padding:5mm 12mm 7mm;display:flex;flex-direction:column;gap:4mm}
  .print-frame{position:relative;border:1px solid var(--stgn-slate-400);background:#fff;padding:7px 10px;display:grid;grid-template-columns:1fr 22mm;gap:12px;align-items:center}
  .print-frame i{position:absolute;width:11px;height:11px}
  .print-frame i.tl{top:-1px;left:-1px;border-left:1px solid var(--stgn-blue-500);border-top:1px solid var(--stgn-blue-500)}
  .print-frame i.tr{top:-1px;right:-1px;border-right:1px solid var(--stgn-blue-500);border-top:1px solid var(--stgn-blue-500)}
  .print-frame i.bl{bottom:-1px;left:-1px;border-left:1px solid var(--stgn-blue-500);border-bottom:1px solid var(--stgn-blue-500)}
  .print-frame i.br{bottom:-1px;right:-1px;border-right:1px solid var(--stgn-blue-500);border-bottom:1px solid var(--stgn-blue-500)}
  .print-frame-meta{display:flex;flex-direction:column;gap:3px}
  .print-frame-meta span{font-size:6.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--stgn-slate-600)}
  .print-frame-meta p{margin:0}
  .print-frame-meta .link{font-size:9px;font-weight:600;color:var(--stgn-blue-900);word-break:break-all}
  .print-frame-meta .desc{font-size:8px;line-height:1.4;color:var(--stgn-slate-700)}
  .print-qr{width:22mm;height:22mm;border:1px solid var(--stgn-slate-300);background:var(--stgn-surface-tint);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--stgn-slate-600);font-size:7px;line-height:1.3;padding:4px}
  .print-qr img{display:block;width:100%;height:100%;object-fit:contain}
  .print-legal{display:flex;justify-content:space-between;gap:16px;padding-top:5px;border-top:1px solid var(--stgn-slate-300);color:var(--stgn-slate-600);font-size:7.5px;line-height:1.4}
  .print-legal span:last-child{text-align:right;white-space:nowrap}
}
