*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;margin:0;background:#f4f6f8;color:#111;line-height:1.45}
.container{max-width:940px;margin:0 auto;background:#fff;padding:18px}
.progress{display:flex;gap:8px;margin-bottom:18px;font-size:13px;flex-wrap:wrap}
.stepTag{padding:6px 10px;border-radius:4px;background:#e0e0e0}
.stepTag.active{background:#2c7be5;color:#fff}
.step{display:none}.step.active{display:block}
h1,h2,h3,h4{margin:0 0 12px 0}.muted{color:#555}
.sectionBox{border:1px solid #d9e1ea;background:#fafbfd;padding:14px;margin:14px 0;border-radius:6px}
.stack{display:flex;flex-direction:column;gap:12px}
label{display:block;margin-bottom:6px;font-weight:600}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea{padding:10px;margin-top:6px;width:100%;border:1px solid #cfd8e3;border-radius:4px;background:#fff;font-size:16px}
button{padding:10px 16px;margin-top:10px;font-size:15px;cursor:pointer;border:0;border-radius:4px;background:#2c7be5;color:#fff}
button.secondary{background:#6c7a89}.buttonRow{display:flex;gap:10px;flex-wrap:wrap}.linkButton{display:inline-block;padding:10px 16px;margin-top:10px;font-size:15px;text-decoration:none;border-radius:4px;background:#2c7be5;color:#fff}.linkButton.secondaryLink{background:#6c7a89}.catalogBox{page-break-inside:avoid;break-inside:avoid}.catalogActions{display:flex;gap:10px;flex-wrap:wrap}
.option{display:flex;align-items:flex-start;gap:8px;margin:8px 0;text-align:left;font-weight:normal}.option input{margin-top:3px}
.listItem{border:1px solid #ddd;padding:10px;margin:6px 0;cursor:pointer;background:#fff;border-radius:4px}
.listItem:hover{background:#f2f6ff}.listItem.selected{background:#e8f0ff;border-color:#9bb8ff}.listItem.sold{background:#f1f1f1;color:#777;border-color:#ccc;cursor:not-allowed}.listItem.sold:hover{background:#f1f1f1}.soldBadge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:10px;background:#777;color:#fff;font-size:12px;font-weight:700}
.hidden{display:none!important}.small{font-size:13px;color:#444}.tiny{font-size:12px;color:#555}
.notice{margin-top:12px;padding:10px;border:1px solid #d9e1ea;background:#fff7e6;page-break-inside:avoid;break-inside:avoid}
.warning{margin-top:12px;padding:10px;border:1px solid #f0c36d;background:#fff8df;page-break-inside:avoid;break-inside:avoid}
.imageCard{border:1px solid #d9e1ea;background:#fff;padding:12px;border-radius:6px}.planImage,.offerImage{width:100%;height:auto;display:block;border:1px solid #ccc;border-radius:4px;background:#fafafa}.imageCaption{margin-top:8px;font-size:13px;color:#555}
.calcCard,.personBlock{padding:12px;border:1px solid #d9e1ea;background:#fff;border-radius:6px;margin-top:12px;page-break-inside:avoid;break-inside:avoid}.calcCardTitle,.personTitle{font-weight:700;margin-bottom:10px}.calcLine,.kv{margin:6px 0;overflow-wrap:anywhere}.kv strong{display:inline-block;min-width:260px}.tag{display:inline-block;padding:3px 7px;border-radius:12px;background:#eef3ff;font-size:12px;margin:2px 4px 2px 0}.tag.warn{background:#fff0d9}.tag.good{background:#e7f7ec}
.miniTable{width:100%;border-collapse:collapse;margin-top:12px}.miniTable th,.miniTable td{border:1px solid #d9e1ea;padding:8px;text-align:left;vertical-align:top;font-size:14px}.miniTable th{background:#f7f9fc}
.offerWrap{background:#fff;padding:0;border:0}.offerSection{margin-top:16px;padding-top:12px;border-top:1px solid #d9e1ea;page-break-inside:auto;break-inside:auto}.offerSection.keepTogether{page-break-inside:avoid;break-inside:avoid}.offerImage{page-break-inside:avoid;break-inside:avoid;max-height:240mm;object-fit:contain}.printBreak{page-break-before:auto;break-before:auto}
.offerTitle{font-size:24px;font-weight:700;margin-bottom:8px}.offerSub{font-size:14px;color:#444}.offerHeader{display:block;margin-bottom:16px}.offerHeaderLogos{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:12px}.offerLogo{max-height:72px;max-width:220px;width:auto;height:auto;display:block}.offerHeaderContact{font-size:14px;color:#222;line-height:1.6}.finalSection{page-break-inside:auto;break-inside:auto}.signatureBlock{margin-top:10px;display:flex;justify-content:flex-end;page-break-before:avoid;break-before:avoid;page-break-inside:avoid;break-inside:avoid}.signatureBox{width:280px;padding-top:4px;text-align:center;font-size:13px}.signatureSeal{display:block;max-width:88px;width:100%;height:auto;margin:0 auto 6px auto}.signatureLine{border-top:1px solid #000;padding-top:6px}.catalogPrint{page-break-before:always;break-before:page;background:#fff}.simplePresentation{font-size:14px;line-height:1.45}.annexPage{page-break-before:always;break-before:page;page-break-inside:auto;break-inside:auto;padding:10mm 8mm}.annexPage:first-child{page-break-before:auto;break-before:auto}.annexTitle{font-size:26px;font-weight:700;margin-bottom:8px}.annexLead{font-size:15px;color:#333;margin-bottom:18px}.annexBlock{margin:12px 0;page-break-inside:avoid;break-inside:avoid}.annexBlock h3{font-size:18px;margin:0 0 8px 0}.annexBlock h4{font-size:15px;margin:10px 0 6px 0}.annexBlock p{margin:6px 0}.annexBlock ul,.annexBlock ol{margin:6px 0 8px 22px;padding:0}.annexBlock li{margin:4px 0}.annexNote{border:1px solid #d9e1ea;background:#fafbfd;padding:10px;border-radius:6px;margin-top:10px}.annexColumns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.annexBadge{display:inline-block;background:#eef3ff;border-radius:12px;padding:3px 8px;font-size:12px;margin:2px 4px 2px 0}.annexSmall{font-size:12px;color:#555}
.pvContactBlock{margin:10px 0 14px 0;padding:9px 11px;border:1px solid #d9e1ea;background:#f7f9fc;border-radius:6px;font-size:13px;line-height:1.45;page-break-inside:avoid;break-inside:avoid}.pvContactBlock.compact{font-size:12px;margin:8px 0 10px 0}.offerHeaderContact strong{font-weight:700}


.compactAnnex{font-size:12.2px;line-height:1.28}
.compactAnnex .annexPage{padding:7mm 7mm;page-break-inside:auto;break-inside:auto}
.compactAnnex .annexTitle{font-size:22px;margin-bottom:4px}
.compactAnnex .annexLead{font-size:12.5px;margin-bottom:8px;color:#333}
.compactAnnex .annexBlock{margin:6px 0;padding:0;page-break-inside:avoid;break-inside:avoid}
.compactAnnex .annexBlock h3{font-size:14px;margin:0 0 4px 0;border-bottom:1px solid #d9e1ea;padding-bottom:2px}
.compactAnnex .annexBlock h4{font-size:12px;margin:5px 0 2px 0}
.compactAnnex .annexBlock p{margin:3px 0}
.compactAnnex .annexBlock ul,.compactAnnex .annexBlock ol{margin:3px 0 4px 18px;padding:0}
.compactAnnex .annexBlock li{margin:1px 0}
.compactAnnex .annexGrid,.compactAnnex .constructionGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:start}
.compactAnnex .wide{grid-column:1/-1}
.compactAnnex .compactList{columns:2;column-gap:18px}
.compactAnnex .annexNote{padding:7px;margin-top:5px;border-radius:4px}
.compactAnnex .annexBadge{padding:2px 6px;font-size:10.5px;margin:1px 3px 1px 0}
.compactAnnex .annexSmall{font-size:10.8px;color:#555}
@media print{.compactAnnex{font-size:9.8px;line-height:1.16}.compactAnnex .annexPage{padding:0;page-break-before:always;break-before:page}.compactAnnex .annexPage:first-child{page-break-before:auto;break-before:auto}.compactAnnex .annexTitle{font-size:17px;margin-bottom:3px}.compactAnnex .annexLead{font-size:10.2px;margin-bottom:6px}.compactAnnex .annexBlock{margin:4px 0}.compactAnnex .annexBlock h3{font-size:11.5px;margin:0 0 3px 0;padding-bottom:1px}.compactAnnex .annexBlock h4{font-size:10px;margin:3px 0 1px 0}.compactAnnex .annexBlock p{margin:2px 0}.compactAnnex .annexBlock ul,.compactAnnex .annexBlock ol{margin:2px 0 3px 14px}.compactAnnex .annexBlock li{margin:0}.compactAnnex .annexGrid,.compactAnnex .constructionGrid{gap:5px 9px}.compactAnnex .compactList{column-gap:14px}.compactAnnex .annexNote{padding:5px;margin-top:3px}.compactAnnex .annexSmall{font-size:9.2px}}
@page{size:A4;margin:14mm 12mm 14mm 12mm}
@media print{body{background:#fff;color:#000;font-size:12px;line-height:1.32}.progress,button,.noPrint{display:none!important}.container{max-width:none;margin:0;padding:0}.sectionBox,.imageCard,.calcCard,.personBlock{border-color:#ddd;background:#fff}.offerSection{border-top:1px solid #ddd}.printBreak{page-break-before:always;break-before:page}h1,h2,h3,h4,strong{page-break-after:avoid}.kv strong{min-width:210px}.offerLogo{max-height:52px}.offerImage{max-height:198mm;object-fit:contain}.miniTable th,.miniTable td{font-size:11px;padding:5px}.notice,.warning,.calcCard,.personBlock{page-break-inside:avoid;break-inside:avoid}.finalSection{page-break-inside:auto;break-inside:auto}.signatureBlock{margin-top:8px;page-break-before:avoid;break-before:avoid;page-break-inside:avoid;break-inside:avoid}.signatureSeal{max-width:78px}.signatureBox{font-size:11px;width:260px}.catalogPrint{page-break-before:always;break-before:page}.simplePresentation{font-size:11.2px;line-height:1.25}.annexPage{page-break-before:always;break-before:page;padding:0;page-break-inside:auto;break-inside:auto}.annexPage:first-child{page-break-before:auto;break-before:auto}.annexTitle{font-size:20px;margin-bottom:6px}.annexLead{font-size:12px;margin-bottom:10px}.annexBlock{margin:8px 0;page-break-inside:avoid;break-inside:avoid}.annexBlock h3{font-size:14px;margin-bottom:5px}.annexBlock h4{font-size:12px;margin:7px 0 4px 0}.annexBlock p{margin:4px 0}.annexBlock ul,.annexBlock ol{margin:4px 0 6px 16px}.annexBlock li{margin:2px 0}.annexNote{padding:7px}.annexColumns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.annexBadge{font-size:10px;padding:2px 6px}}
@media print{.pvContactBlock{font-size:10.5px;padding:6px 8px;margin:6px 0 8px 0}.catalogActions{display:none!important}.catalogBox{page-break-inside:avoid;break-inside:avoid}.linkButton{display:none!important}}