/* ---------- Impresión: una sola hoja A4 con la propuesta ---------- */
.print-sheet { display: none; }
@media print {
  .print-sheet { display: flex !important; flex-direction: column; width: 194mm; max-height: 280mm; min-height: 264mm; padding: 0; margin: 0 !important; color: #173C5F; break-inside: avoid; page-break-inside: avoid; overflow: hidden; }
  .print-head { display: flex; justify-content: space-between; gap: 8mm; align-items: center; padding: 4mm 6mm; background: #082B5C; color: #fff; border-radius: 3mm; }
  .print-brand { display: flex; gap: 4mm; align-items: center; }
  .print-mark { height: 12mm; width: 12mm; flex: none; }
  .print-mark .logo { width: 100%; height: 100%; }
  .print-brand strong { font-size: 19pt; letter-spacing: -.07em; }
  .print-brand small { display: block; font-size: 6.5pt; letter-spacing: .14em; }
  .print-meta { text-align: right; display: grid; gap: 2mm; font-size: 8pt; font-weight: bold; }
  .print-meta small { font-size: 7pt; font-weight: normal; color: #D4E9F5; }
  .print-hero { padding: 6mm 1mm; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8mm; border-bottom: 1px solid #E2ECF3; }
  .print-label { font-size: 7.2pt; font-weight: bold; letter-spacing: .12em; color: #117DA1; }
  .print-hero h2 { margin: 1.4mm 0 1mm; font-size: 20pt; line-height: 1.08; color: #082B5C; overflow-wrap: anywhere; }
  .print-hero p { margin: 0; font-size: 8pt; color: #678096; }
  .print-total { text-align: right; background: #EAF8FF; padding: 3mm 4mm; border-radius: 2.5mm; display: grid; gap: 1mm; }
  .print-total small { font-size: 6.4pt; letter-spacing: .05em; color: #527B94; }
  .print-total strong { font-size: 19pt; letter-spacing: -.05em; color: #082B5C; }
  .print-total span { font-size: 7pt; color: #527B94; }
  .print-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8mm; padding-top: 5mm; flex: 1; min-height: 0; }
  .print-columns h2 { margin: 0 0 3mm; font-size: 11pt; color: #082B5C; border-bottom: 1px solid #DDE8EF; padding-bottom: 2mm; }
  .print-columns h3 { font-size: 9pt; margin: 5mm 0 2mm; color: #0B7194; }
  .print-left > p { font-size: 8pt; line-height: 1.4; color: #4D667C; max-height: 29mm; overflow: hidden; margin: 0 0 3mm; }
  .print-items { display: flex; flex-wrap: wrap; gap: 1.3mm; }
  .print-items > span { font-size: 7.2pt; background: #EBF7FE; border: 1px solid #DFEFF7; padding: 1.4mm 2mm; border-radius: 1.5mm; color: #215778; }
  .print-quota-line { font-size: 7.4pt; padding: 1mm 0; color: #375C76; line-height: 1.27; }
  .print-cost-line { display: flex; justify-content: space-between; gap: 3mm; align-items: start; border-bottom: 1px dotted #E3EBF0; padding: 1.65mm 0; font-size: 7.6pt; line-height: 1.2; }
  .print-cost-line span { flex: 1; }
  .print-cost-line b { white-space: nowrap; color: #092F57; font-size: 7.6pt; }
  .print-grand { display: flex; justify-content: space-between; gap: 3mm; font-size: 8pt; padding: 2.3mm 0; border-bottom: 1px solid #DCE7F1; }
  .print-grand.final { padding: 3mm 2.5mm; background: #082B5C; color: #fff; font-size: 10pt; border-radius: 1.5mm; margin-top: 2mm; }
  .print-grand.final strong { color: #fff; }
  .print-follow { font-size: 7.5pt; line-height: 1.4; background: #F4FAFD; padding: 3mm; border-radius: 2mm; margin-top: 5mm; }
  .print-follow b { font-size: 8pt; }
  .print-follow p { margin: 1.5mm 0 0; }
  .print-footer { display: grid; gap: 1mm; border-top: 1px solid #D8E6F0; padding: 3mm 0; margin-top: auto; font-size: 7pt; color: #56748C; }
  .print-footer b { color: #80620A; }
  .print-sheet[data-density="medium"] .print-columns { gap: 5mm; }
  .print-sheet[data-density="medium"] .print-cost-line { font-size: 7pt; padding: 1.2mm 0; }
  .print-sheet[data-density="medium"] .print-items span { font-size: 6.7pt; padding: 1.1mm 1.5mm; }
  .print-sheet[data-density="dense"] .print-hero { padding: 4mm 1mm; }
  .print-sheet[data-density="dense"] .print-columns { gap: 5mm; padding-top: 3mm; }
  .print-sheet[data-density="dense"] .print-cost-line { font-size: 6.4pt; padding: .8mm 0; }
  .print-sheet[data-density="dense"] .print-items span { font-size: 6.4pt; padding: .9mm 1.3mm; }
  .print-sheet[data-density="dense"] .print-follow { margin-top: 2mm; padding: 2mm; }
}
