@font-face{font-family:CopernicoV1;src:url('../assets/fonts/IBMPlexSans-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:CopernicoV1;src:url('../assets/fonts/IBMPlexSans-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:block}
@font-face{font-family:CopernicoV1;src:url('../assets/fonts/IBMPlexSans-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:block}
:root{--ink:#013442;--muted:#52676d;--green:#013442;--mint:#dcecf3;--paper:#fff;--line:#010242;--bg:#edf1f3;--warm:#f2f6f8;--cyan:#039de1;--table-blue:#346794;--violet:#332786;--shadow:0 18px 50px rgba(1,52,66,.14)}
html,button,input,textarea,select{font-family:CopernicoV1,sans-serif}
.proposal-pages{display:grid;gap:26px}
.print-page{position:relative;background:var(--paper);width:210mm;height:297mm;margin:0 auto;box-shadow:var(--shadow);padding:31mm 21mm 30mm;color:var(--ink);overflow:hidden}
.print-page-content{height:100%;min-height:0}
.proposal-header{height:30mm;top:0;padding:3mm 10mm 0;border-bottom:1.5px solid var(--line);font-size:10pt;letter-spacing:0;text-transform:none;color:#111;align-items:flex-start}
.proposal-header img{display:block;width:36mm;height:auto;object-fit:contain;object-position:left top;margin:0}
.proposal-date{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;padding-top:7mm;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.proposal-cover{display:flex;flex-direction:column;min-height:0;padding:5mm 10mm 6mm;border:0}
.proposal-cover h1{font-size:32pt;line-height:1.08;letter-spacing:.01em;color:var(--ink);font-weight:700;max-width:145mm}
.proposal-reference{font-size:10pt;line-height:1.35;color:var(--ink);margin:5mm 0 0}
.proposal-data{display:block;margin-top:10mm}
.proposal-data>div{display:flex;align-items:baseline;gap:2mm;margin-top:5mm}
.proposal-data span,.proposal-data strong{display:inline;font-size:13pt;letter-spacing:0;color:#111;font-weight:400;margin:0}
.proposal-content{padding-top:0;margin-top:0}
.content-block{margin-bottom:10mm;break-inside:avoid;page-break-inside:avoid}
.content-block h2{font-size:17pt;line-height:1.15;letter-spacing:.02em;color:var(--ink);font-weight:700;margin:0 0 5mm;text-transform:uppercase}
.content-block h3{font-size:11pt;line-height:1.3;color:var(--ink);font-weight:700;margin:0 0 2mm}
.content-block p{font-size:10.5pt;line-height:1.35;color:var(--ink);margin:0 0 4mm}
.section-block{padding-top:0;border:0;break-after:avoid;page-break-after:avoid}
.section-block h2{font-size:24pt;line-height:1.12;margin-bottom:3mm}
.section-block p{font-size:14pt;font-weight:600;text-transform:uppercase}
.items-list{margin:3mm 0 0}
.items-list li{grid-template-columns:4mm 1fr auto;gap:3mm;padding:2.2mm 0;border:0}
.item-marker{width:1.7mm;height:1.7mm;border:0;background:var(--ink);margin-top:1.7mm}
.checkbox .item-marker{width:3.4mm;height:3.4mm;border:1.2px solid var(--violet);background:transparent;margin-top:.6mm}
.item-prices{min-width:42mm;gap:5mm}
.value-pair span{font-size:7.5pt;letter-spacing:.02em;color:var(--muted)}
.value-pair strong{font-size:10.5pt;color:var(--ink);font-weight:700;white-space:nowrap}
.block-value{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8mm;margin-top:4mm;padding:3mm 4mm;border:0;border-left:4px solid var(--cyan);background:#f3f7f9;color:var(--ink);font-weight:700}
.block-value .value-pair{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:2mm;text-align:left}
.block-value .value-pair:first-child{grid-template-columns:max-content max-content;justify-content:start;gap:.35em}
.block-value .value-pair strong{text-align:right}
.block-value .value-pair span{font-size:10.5pt;color:var(--ink);text-transform:none;white-space:nowrap}
.block-value .value-pair span::after{content:':'}.block-value .value-pair strong{font-size:11pt}
.economic-table{font-size:9.5pt;border-collapse:collapse}
.economic-table th{font-size:9pt;letter-spacing:0;text-transform:none;color:#111;font-weight:700;padding:3.5mm 3mm;border-top:1px solid var(--line);border-bottom:1px solid #111}
.economic-table td{padding:4mm 3mm;border-bottom:1px solid #111}
.economic-table tbody td:first-child{background:var(--table-blue);color:#fff;font-weight:700}
.economic-table tbody tr:last-child td:first-child{background:#000;color:#fff}
.economic-table tbody td:not(:first-child){color:#111}
.highlight-block{background:transparent;color:var(--ink);padding:8mm 11mm;border:1.5px solid var(--line)}
.highlight-block h2{font-size:12pt;color:var(--ink);text-transform:none;margin-bottom:4mm}
.highlight-block p{color:var(--ink)}
.proposal-footer{height:25mm;left:12mm;right:12mm;border-top:1.5px solid var(--line);color:var(--muted);font-size:8pt;letter-spacing:0;text-transform:none;padding:3mm 9mm 0;align-items:flex-start;justify-content:flex-end}
.proposal-header,.proposal-footer{left:0;right:0;padding-left:10mm;padding-right:10mm}
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:.8mm;padding-top:1mm;line-height:1.2;text-align:right}
.footer-contact span,.footer-contact a{padding:0;color:var(--muted);text-decoration:none;white-space:nowrap}

/* Vista previa: la hoja conserva 210 × 297 mm y ocupa una superficie exclusiva. */
body.preview-only{overflow-x:hidden}
.preview-only .workspace{display:block;width:100%;min-width:0}
.preview-only .editor{display:none!important}
.preview-only .preview-stage{display:flex;width:100%;max-width:100vw;min-width:0;justify-content:center;align-items:flex-start;overflow-x:hidden;padding:26px max(16px,calc((100vw - 210mm)/2))}
.preview-only .proposal-pages{width:210mm;margin:0 auto}
.preview-only .print-page{flex:0 0 210mm;width:210mm;margin:0}
