/* Tiza Sun · Diseño y presupuesto (/v2/diseno.html). Same tokens and rules as tizagrp.com: square corners, flat panels,
   1 px lines, magenta accent; print = consultancy report (like informe.css of the tizagrp.com tools). */
.dz-hero h1 { font-size: clamp(1.7rem, 2.35vw, 2.2rem); font-weight: 600; font-stretch: 112%; letter-spacing: -.01em; margin: 0 0 10px; }
.dz-hero .lead { max-width: 760px; }
.dz { padding: 28px 0 48px; }
.dz-form { margin-bottom: 28px; }
.dz-escala { border: 0; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 0; }
.dz-escala legend { font-size: .86rem; color: var(--texto-2); margin-bottom: 8px; padding: 0; }
.dz-escala label { display: block; }
.dz-escala input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.dz-escala span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 16px; border: 1px solid var(--linea-2); margin-right: -1px; cursor: pointer; color: var(--texto-2); font-size: .9rem; }
.dz-escala input:checked + span { background: var(--tiza); border-color: var(--tiza); color: #fff; }
.dz-escala input:focus-visible + span { outline: 2px solid var(--tiza-luz); outline-offset: 2px; }
.dz-campos { grid-template-columns: repeat(4, 1fr); }
.dz-sup .campos { grid-template-columns: repeat(4, 1fr); }
.dz-kpis { grid-template-columns: repeat(4, 1fr); }
.dz-kpis .kpi:nth-child(4n+1) { border-left: 0; }
.dz-kpis .kpi:nth-child(n+5) { border-top: 1px solid var(--linea); }
.dz-sec { margin: 0 0 34px; }
.dz-sec h2 { font-size: 1.25rem; font-weight: 600; font-stretch: 112%; margin: 0 0 14px; display: flex; gap: 12px; align-items: baseline; }
.dz-num { color: var(--tiza-luz); font-variant-numeric: tabular-nums; }
.dz-sec h3 { font-size: 1rem; margin: 18px 0 8px; }
.dz-sec h4 { font-size: .92rem; margin: 14px 0 6px; color: var(--fuerte); }
.dz-sec p, .dz-sec li { color: var(--texto-2); font-size: .92rem; line-height: 1.55; }
.dz-t th { text-align: left; font-weight: 500; color: var(--texto); }
.dz-t td { font-variant-numeric: tabular-nums; }
.dz-t .dz-n { color: var(--gris); font-size: .82rem; }
.dz-t td:last-child.dz-n { text-align: left; }
.dz-c { text-align: right !important; white-space: nowrap; }
.dz-pc { text-align: center; color: var(--gris); font-style: italic; }
.dz-pres tfoot th, .dz-pres tfoot td { border-top: 1px solid var(--linea-2); font-weight: 600; }
.dz-pres .dz-ref th, .dz-pres .dz-ref td { font-weight: 400; color: var(--gris); }
.dz-fl { font-size: .75rem; color: var(--tiza-luz); }
.dz-v { color: var(--prueba); font-size: .72rem; }
.dz-scroll { overflow-x: auto; }
.dz-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.dz-pasos { padding-left: 20px; }
.dz-on th, .dz-on td { color: var(--fuerte) !important; font-weight: 600; }
.dz-kb { border-left: 4px solid var(--tiza); background: var(--panel); padding: 4px 18px 10px; margin: 0 0 16px; }
.dz-fte { font-size: .8rem !important; color: var(--gris) !important; }
.dz-fte a { color: var(--gris); }
.dz-fig { margin: 18px 0 0; }
.dz-fig svg { width: 100%; height: auto; max-height: 190px; display: block; }
.dz-fig rect { fill: var(--tiza); }
.dz-fig text { fill: var(--gris); font-size: 11px; text-anchor: middle; font-family: var(--font); }
.dz-fig .dz-cons { stroke: var(--prueba); stroke-width: 1.5; stroke-dasharray: 5 4; }
.dz-fig figcaption { font-size: .8rem; color: var(--gris); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.dz-fig i { display: inline-block; width: 12px; height: 8px; }
.dz-lp { background: var(--tiza); }
.dz-lc { border-top: 2px dashed var(--prueba); height: 0 !important; }
.dz-sups li { margin-bottom: 4px; }
.dz-acc { display: flex; gap: 12px; flex-wrap: wrap; }
.dz-cierre { margin-top: 10px; }
.imp-cab { display: none; }
@media (max-width: 860px) {
  .dz-campos, .dz-sup .campos { grid-template-columns: 1fr 1fr; }
  .dz-kpis { grid-template-columns: 1fr 1fr; }
  .dz-kpis .kpi { border-left: 1px solid var(--linea); }
  .dz-kpis .kpi:nth-child(odd) { border-left: 0; }
  .dz-kpis .kpi:nth-child(n+3) { border-top: 1px solid var(--linea); }
  .dz-dos { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 560px) {
  .dz-campos, .dz-sup .campos { grid-template-columns: 1fr; }
  .dz-escala span { padding: 0 10px; font-size: .84rem; }
  .dz-t .dz-n { display: none; }
  .dz-pres thead { display: none; }
  .dz-pres tr { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px 8px; padding: 8px 0; border-bottom: 1px solid var(--linea); }
  .dz-pres th, .dz-pres td { border: 0 !important; padding: 0 !important; text-align: left !important; }
  .dz-pres th[scope="row"], .dz-pres .dz-cant, .dz-pres .dz-pc { grid-column: 1 / -1; }
  .dz-pres td:empty { display: none; }
  .dz-pres td[data-l]::before { content: attr(data-l); display: block; font-size: .7rem; color: var(--gris); }
  .dz-pres .dz-cant { display: flex; gap: 6px; } .dz-pres .dz-cant::before { display: inline !important; font-size: .8rem !important; }
  .dz-pres .dz-pc { text-align: left !important; }
  .dz-kpis .kpi b { font-size: 1.05rem; }
}

/* ===== PDF ===== */
@media print {
  @page { size: auto; margin: 18mm 18mm 22mm;
    @bottom-left { content: "Generado con sun.tizagrp.com"; font-family: "Archivo Variable", sans-serif; font-size: 7pt; color: #555; white-space: pre; vertical-align: top; padding-top: 2.6mm; border-top: .5pt solid #b5b5b5; }
    @bottom-right { content: counter(page) " / " counter(pages); font-family: "Archivo Variable", sans-serif; font-size: 7pt; color: #555; vertical-align: top; padding-top: 2.6mm; border-top: .5pt solid #b5b5b5; width: 30mm; text-align: right; } }
  html:root { --negro: #fff; --panel: #fff; --panel-2: #fff; --texto: #1a1a1a; --texto-2: #333; --fuerte: #1a1a1a; --gris: #555; --gris-2: #666; --linea: #e3e3e3; --linea-2: #c9c9c9; --tiza-luz: #921b84; --prueba: #876500; }
  html, body { background: #fff !important; color: #1a1a1a !important; font-size: 9pt; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; animation: none !important; }
  .menu, .foot, .skip, .dz-hero, .dz-form, .dz-acc, .dz-cierre, .dz-fl { display: none !important; }
  .caja { width: 100% !important; }
  .dz { padding: 0; }
  .imp-cab { display: block; margin: 0 0 6mm; }
  .imp-marca { display: flex; align-items: flex-end; gap: 6mm; padding-bottom: 4mm; border-bottom: .75pt solid #1a1a1a; }
  .imp-logo { width: 31mm; height: auto; }
  .imp-sin-marca .imp-logo { display: none; }
  .imp-logo-cli { max-width: 46mm; max-height: 15mm; }
  .imp-tit { flex: 1; }
  .imp-tit p { margin: 0; font-size: 8pt; color: #555; }
  .imp-tit h2 { margin: 1mm 0 0; font-size: 15pt; font-weight: 700; font-stretch: 112%; }
  .imp-qr { width: 20mm; height: 20mm; }
  .imp-meta { display: flex; gap: 10mm; margin: 3mm 0 0; font-size: 8pt; }
  .imp-meta div { display: flex; gap: 2mm; } .imp-meta dt { color: #555; } .imp-meta dd { margin: 0; font-weight: 600; }
  .dz-kpis { border: .5pt solid #c9c9c9; break-inside: avoid; }
  .dz-kpis .kpi { padding: 2.5mm 3mm; }
  .dz-kpis .kpi b { font-size: 11pt; color: #1a1a1a; }
  .dz-kpis .kpi:first-child b { color: #921b84; }
  .dz-sec { margin: 0 0 6mm; }
  .dz-sec h2 { font-size: 11.5pt; margin: 0 0 2.5mm; break-after: avoid; }
  .dz-sec h3, .dz-sec h4 { break-after: avoid; }
  .dz-sec p, .dz-sec li, .tabla { font-size: 8.5pt !important; }
  .tabla th, .tabla td { padding: 1.2mm 2mm; border-bottom: .5pt solid #e3e3e3; }
  .dz-t .dz-n { display: table-cell !important; }
  tr, .dz-kb, .dz-fig { break-inside: avoid; }
  .dz-kb { border-left: 2pt solid #921b84; padding: 1mm 4mm; }
  .dz-fig svg { max-height: 40mm; }
  .dz-dos { grid-template-columns: 1fr 1fr; gap: 6mm; }
  .dz-scroll { overflow: visible; }
  a { color: inherit; text-decoration: none; }
}
