:root{--ink:#20231f;--muted:#74786f;--line:#d9dbd3;--paper:#f4f3ee;--card:#fff;--accent:#d8ff50;--dark:#1c1f1b;--shadow:0 20px 60px rgba(31,35,29,.08)}
.controls input[type=text]{width:100%;height:42px;border:1px solid #d5d8cf;background:#fafaf7;border-radius:9px;color:var(--ink);font:650 14px inherit;margin-top:7px;padding:0 11px;outline:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:86px;padding:0 34px;display:flex;align-items:center;gap:15px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar h1{font-size:19px;margin:1px 0 0;letter-spacing:-.02em}.brand-mark{width:39px;height:39px;border-radius:9px;background:var(--dark);display:flex;gap:5px;padding:9px}.brand-mark span{display:block;border:2px solid var(--accent);flex:1}.eyebrow{margin:0;color:#777c72;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:750}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.topbar .compact{margin-left:0;padding:9px 14px}.percent-page-button{text-decoration:none;min-width:38px;text-align:center;font-size:16px;line-height:1}.workspace{display:grid;grid-template-columns:370px minmax(0,1fr);gap:20px;padding:20px;max-width:1580px;margin:auto}.controls,.preview-panel,.calculation-panel{background:var(--card);border:1px solid #e1e3dc;border-radius:18px;box-shadow:var(--shadow)}.controls{overflow:hidden;align-self:start}.preview-column{display:grid;gap:20px;min-width:0}.control-section{padding:22px 24px;border-bottom:1px solid #e4e5df}.control-section:last-child{border-bottom:0}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px}.section-heading span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--dark);color:var(--accent);font:700 10px/1 Inter,sans-serif}.section-heading h2,.preview-header h2,.constructive-heading h2,.calculation-heading h2{font-size:16px;margin:0;letter-spacing:-.01em}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}label,legend{display:block;color:#62675e;font-size:11px;font-weight:700;letter-spacing:.03em}input[type=number],select{width:100%;height:42px;border:1px solid #d5d8cf;background:#fafaf7;border-radius:9px;color:var(--ink);font:650 14px inherit;margin-top:7px;padding:0 11px;outline:none}input:focus,select:focus{border-color:#849c30;box-shadow:0 0 0 3px rgba(216,255,80,.35)}.hint{font-size:10px;color:#92968d;margin:10px 0 0}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#f0f1ec;border-radius:9px;padding:3px}.segmented input{position:absolute;opacity:0}.segmented span{display:block;text-align:center;padding:9px 4px;border-radius:7px;font-size:11px;cursor:pointer}.segmented input:checked+span{background:#fff;color:#20231f;box-shadow:0 2px 7px rgba(0,0,0,.08)}.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ced1c7;background:#fff;border-radius:9px;padding:10px 15px;font:700 11px inherit;color:var(--ink);cursor:pointer;text-decoration:none}.secondary:hover{background:#f5f6f1}.preview-panel{padding:24px;min-width:0}.preview-header,.constructive-heading,.calculation-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.preview-header h2{font-size:20px;margin-top:3px}.canvas-shell{min-height:520px;background:linear-gradient(145deg,#ebece5,#dfe2d8);border-radius:13px;overflow:hidden;display:grid;place-items:center;padding:14px}.canvas-shell canvas,.top-view-shell canvas{display:block;width:100%;height:auto}.background-controls{display:flex;align-items:center;gap:15px;margin-top:14px}.upload{display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px dashed #bdc1b6;border-radius:10px;cursor:pointer;background:#fafbf7}.upload input{display:none}.upload-icon{display:grid;place-items:center;width:34px;height:34px;background:var(--accent);border-radius:8px;color:#1c1f1b;font-size:21px}.upload strong,.upload small{display:block}.upload strong{font-size:11px;color:var(--ink)}.upload small{margin-top:3px;color:#999d94;font-size:9px}.text-button{border:0;background:none;padding:0;color:#687524;font:650 10px inherit;cursor:pointer}.constructive-view{padding-bottom:18px}.constructive-heading{align-items:end;margin-bottom:10px}.constructive-heading h2,.calculation-heading h2{margin-top:3px;font-size:17px}.overlap-note,.calculation-heading>span{color:#6f746b;font-size:10px;font-weight:650}.top-view-shell{min-height:160px;padding:10px 14px;overflow:hidden;display:grid;place-items:center;border:1px solid #dde0d6;border-radius:13px;background:linear-gradient(145deg,#f6f7f2,#eceee7)}.calculation-panel{padding:24px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e0e2db;border:1px solid #e0e2db;border-radius:10px;overflow:hidden}.summary div{background:#fafbf8;padding:13px 14px}.summary span,.summary strong{display:block}.summary span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#8a8e85}.summary strong{font-size:13px;margin-top:5px}.price-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0;padding:17px 18px;border-radius:11px;background:var(--dark);color:#fff}.price-total span{font-size:12px;font-weight:700}.price-total strong{font-size:24px;color:var(--accent)}.table-wrap{overflow:auto;border:1px solid #dfe1da;border-radius:11px}table{width:100%;border-collapse:collapse;min-width:620px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid #e6e8e1;font-size:11px}th{background:#f2f3ee;color:#74796f;text-transform:uppercase;letter-spacing:.06em;font-size:9px}tbody tr:last-child td{border-bottom:0}td:not(:first-child),th:not(:first-child){text-align:center}.error{min-height:16px;margin:9px 0 0;color:#a33b37;font-size:11px;text-align:center}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr}.control-section{border-right:1px solid #e4e5df}.summary{grid-template-columns:1fr 1fr}.canvas-shell{min-height:420px}}
@media(max-width:600px){.topbar{padding:0 16px}.topbar .eyebrow{display:none}.workspace{padding:10px}.controls{display:block}.preview-panel,.calculation-panel{padding:15px}.summary{grid-template-columns:1fr 1fr}.canvas-shell{min-height:300px}.preview-header,.constructive-heading,.calculation-heading{align-items:flex-end}.overlap-note,.calculation-heading>span{max-width:130px;text-align:right}.field-grid{grid-template-columns:1fr}.background-controls{align-items:flex-start;flex-direction:column}}

.hardware-section{padding-left:16px;padding-right:16px}.hardware-hint{margin:-7px 0 13px}.hardware-grid{display:grid;grid-template-columns:28px minmax(0,1fr) 48px 70px;gap:5px;align-items:center}.hardware-head{padding:0 2px 6px;color:#8a8e85;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.hardware-rows{display:grid;gap:6px}.hardware-row{padding-top:6px;border-top:1px solid #eceee7}.hardware-row:first-child{padding-top:0;border-top:0}.hardware-index{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#eef0e9;color:#4e554b;font-size:9px;font-weight:800}.hardware-row label{position:relative;margin:0}.hardware-row label>span{position:absolute;left:7px;top:50%;transform:translateY(-50%);z-index:1;color:#9a9e95;font-size:8px}.hardware-row input[type=text],.hardware-row textarea{width:100%;margin:0;border:1px solid #daddd4;border-radius:7px;background:#fafaf7;color:var(--ink);font:600 10px Inter,ui-sans-serif,system-ui,sans-serif;outline:none;min-width:0}.hardware-row input[type=text]{height:34px;padding:0 7px}.hardware-row textarea{min-height:48px;padding:7px;line-height:1.3;resize:none;overflow-y:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.hardware-row label input{padding-left:23px}.hardware-row input:focus,.hardware-row textarea:focus{border-color:#849c30;box-shadow:0 0 0 2px rgba(216,255,80,.3)}.hardware-row input::placeholder,.hardware-row textarea::placeholder{color:#b0b3ab;font-weight:500}
.drawing-panel .order-hardware-summary{padding:22px 18px 18px}.order-hardware-summary .hardware-hint{margin-top:-4px}.order-hardware-summary .hardware-rows,.order-hardware-summary .hardware-head{max-width:900px}
.additional-hardware-fields{display:grid;grid-template-columns:minmax(0,1fr) 88px auto;gap:9px;align-items:end}.additional-hardware-fields input[type=number]{text-align:center}.additional-hardware-fields input:disabled{background:#eef0e9;color:#9a9e95}.additional-hardware-add{height:42px;padding:0 11px}.selected-additional-hardware{display:grid;gap:6px;margin-top:12px}.selected-additional-row{display:grid;grid-template-columns:minmax(0,1fr) 70px 28px;gap:7px;align-items:center;padding:7px;border:1px solid #e1e3dc;border-radius:9px;background:#fafbf7}.selected-additional-row span{font-size:10px;line-height:1.3;color:#4f544c}.selected-additional-row input[type=number]{height:32px;margin:0;text-align:center}.selected-additional-remove{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #d6d9d0;border-radius:7px;background:#fff;color:#8b3f3a;cursor:pointer;font-weight:850}@media(max-width:600px){.additional-hardware-fields{grid-template-columns:1fr 82px}.additional-hardware-add{grid-column:1/-1}.selected-additional-row{grid-template-columns:minmax(0,1fr) 64px 28px}}
.markup-rows{display:grid;gap:8px}.markup-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #eceee7}.markup-row:first-child{padding-top:0}.markup-row:last-child{border-bottom:0;padding-bottom:0}.markup-row>span:first-child{font-size:11px;line-height:1.35;color:#4f544c}.percent-input{position:relative;display:block}.percent-input input[type=number]{height:36px;margin:0;padding:0 25px 0 9px;text-align:right;background:#e1f4ee;border-color:#54c7bd}.percent-input b{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:700;color:#4b5b56;pointer-events:none}
@media(max-width:1000px) and (min-width:601px){.hardware-section,.markup-section{grid-column:1/-1}}
.glass-catalog-table{min-width:780px}.glass-catalog-table th:first-child,.glass-catalog-table td:first-child{width:25%;text-align:left}.glass-catalog-table td{padding:8px}.glass-catalog-table input{width:100%;height:34px;margin:0;border:1px solid #daddd4;border-radius:7px;background:#fafaf7;color:var(--ink);font:600 11px Inter,ui-sans-serif,system-ui,sans-serif;padding:0 8px;outline:none;text-align:center}.glass-catalog-table input:focus{border-color:#849c30;box-shadow:0 0 0 2px rgba(216,255,80,.3)}.glass-catalog-table input[readonly]{background:#eef0e9;color:#43483f;border-color:#d5d8cf;cursor:default}.glass-catalog-table input[readonly]:focus{box-shadow:none;border-color:#d5d8cf}.glass-size-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;min-width:190px}.glass-size-inputs span{color:#858a81;font-size:12px;font-weight:700}.glass-cost{font-weight:750;white-space:nowrap}
.order-glass-catalog-summary .glass-cost{color:#5e711b;font-weight:850}
.services-section{padding-left:16px;padding-right:16px}.services-grid{display:grid;grid-template-columns:minmax(0,1fr) 62px 72px;gap:5px;align-items:center}
.drawing-panel .order-services-summary{padding:22px 18px 18px}.order-services-summary .hardware-hint{margin-top:-4px}.order-services-summary .hardware-rows{max-width:900px}
.service-row.is-calculated [data-field="price"]{background:#eef0e9;color:#465044;border-color:#d5d8cf;cursor:default}
@media(max-width:1000px) and (min-width:601px){.services-section{grid-column:1/-1}}
.standalone-page{max-width:760px;margin:0 auto;padding:34px 20px}.markup-card{padding:28px;background:#fff;border:1px solid #e1e3dc;border-radius:18px;box-shadow:var(--shadow)}.markup-card-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.markup-card-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:var(--dark);color:var(--accent);font-size:24px;font-weight:850}.markup-card h2{margin:3px 0 0;font-size:22px}.markup-card .markup-rows{margin-top:4px}.markup-page-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #e4e5df}.save-status{margin:0;color:#758524;font-size:11px;font-weight:700}@media(max-width:600px){.standalone-page{padding:18px 10px}.markup-card{padding:20px}.topbar-actions{gap:5px}.topbar .compact{padding:8px 10px}}
.main-calculator-page .drawing-panel{display:none}html.order-mode .topbar,html.order-mode .controls,html.order-mode .preview-column>section:not(.drawing-panel),html.opt-mode .topbar,html.opt-mode .controls,html.opt-mode .preview-column>section:not(.drawing-panel){display:none!important}html.order-mode .workspace,html.opt-mode .workspace{display:block;max-width:none;padding:0}html.order-mode .preview-column,html.opt-mode .preview-column{display:block}html.order-mode .drawing-panel,html.opt-mode .drawing-panel{display:block!important;border:0;border-radius:0;box-shadow:none}html.order-mode .panel-cost-summary,html.order-mode .order-glass-catalog-summary,html.order-mode .order-hardware-summary,html.order-mode .order-fittings-summary,html.order-mode .order-services-summary{display:none!important}html.opt-mode .drawing-panel>.preview-header,html.opt-mode .drawing-panel>.profile-order-summary:not(.panel-cost-summary):not(.order-glass-catalog-summary):not(.order-hardware-summary):not(.order-fittings-summary):not(.order-services-summary){display:none!important}.order-page-shell{height:calc(100vh - 86px);background:var(--paper)}.order-frame{display:block;width:100%;height:100%;border:0;background:var(--paper)}
html.order-mode .panel-cost-table th:nth-child(n+5),html.order-mode .panel-cost-table td:nth-child(n+5),html.order-mode .upper-guide-order-table th:nth-child(n+5),html.order-mode .upper-guide-order-table td:nth-child(n+5),html.order-mode .embedded-beam-order-table th:nth-child(n+5),html.order-mode .embedded-beam-order-table td:nth-child(n+5),html.order-mode .cornice-order-table th:nth-child(n+6),html.order-mode .cornice-order-table td:nth-child(n+6){display:none!important}html.order-mode .panel-cost-table tfoot,html.order-mode .upper-guide-order-table tfoot th:nth-last-child(-n+2),html.order-mode .cornice-order-table tfoot th:nth-last-child(-n+2),html.order-mode .embedded-beam-order-table tfoot th:nth-last-child(-n+2){display:none!important}
html.services-mode .topbar,html.services-mode .controls,html.services-mode .preview-column>section:not(.installation-estimate-summary){display:none!important}html.services-mode .workspace{display:block;max-width:none;padding:0}html.services-mode .preview-column{display:block}html.services-mode .installation-estimate-summary{display:block!important;border:0;border-radius:0;box-shadow:none}
.model-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.model-card{appearance:none;border:1px solid #dfe1da;border-radius:7px;background:#fafbf8;padding:5px 4px 4px;color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.model-card:hover{border-color:#aeb59c;transform:translateY(-1px)}.model-card:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(216,255,80,.55)}.model-card.is-active{border-color:#758b24;box-shadow:0 0 0 2px rgba(216,255,80,.7)}.model-card canvas{display:block;width:100%;height:90px;border-radius:4px;background:linear-gradient(145deg,#f2eee6,#e4e7df)}.model-card span{display:block;margin-top:4px;text-align:center;font-size:8px;font-weight:750;white-space:nowrap}.model-catalog-panel .preview-header{margin-bottom:14px}@media(max-width:600px){.model-catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.model-card{padding:3px}.model-card canvas{height:72px}.model-card span{font-size:7px}}
.drawing-sheets{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}.drawing-sheet{margin:0;border:1px solid #dfe1da;border-radius:12px;background:#f7f8f4;padding:8px;overflow:hidden}.drawing-sheet canvas{display:block;width:100%;height:auto;max-width:460px;margin:auto;border-radius:7px;background:#fff}.drawing-panel .preview-header{margin-bottom:14px}@media(max-width:600px){.drawing-sheets{grid-template-columns:1fr}.drawing-sheet{padding:5px}}
.profile-order-summary{margin-top:24px;padding-top:22px;border-top:1px solid #dfe1da}.drawing-panel>.profile-order-summary:first-of-type{margin-top:0}.profile-order-summary .drawing-sheets{margin-bottom:16px}.profile-order-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:13px}.profile-order-heading h3{margin:3px 0 0;font-size:17px}.profile-order-heading>span{color:#6f746b;font-size:10px;font-weight:650}.profile-order-table{min-width:650px}.profile-order-table tfoot th{background:#e8eadf;color:#343934;font-size:10px}.profile-order-table tfoot th:first-child{text-align:right}.profile-order-table tfoot th:last-child{text-align:center;color:#5e711b;font-size:13px}@media(max-width:600px){.profile-order-heading{align-items:flex-start;flex-direction:column}.profile-order-heading>span{margin-top:-8px}}
.upper-guide-order-table{min-width:780px}.upper-guide-order-table td:first-child,.upper-guide-order-table th:first-child{text-align:left}.upper-guide-order-table td:last-child{font-weight:800;color:#5e711b}.upper-guide-order-summary .hint{margin-bottom:0}
.glass-order-summary{padding:22px 18px 18px;border:1px solid #cfd6b8;border-left:5px solid #879d2d;border-radius:12px;background:#fafbf6}.glass-order-summary .profile-order-heading h3{font-size:19px;font-weight:900}.glass-order-table tfoot th{font-weight:850}.glass-order-table tfoot th:nth-last-child(-n+2){text-align:center;color:#5e711b;font-size:12px}
.glass-order-visual{margin-bottom:16px;padding:8px;border:1px solid #dfe3d3;border-radius:10px;background:#fff;overflow:hidden}.glass-order-visual canvas{display:block;width:100%;height:auto;max-width:900px;margin:auto}
.installation-estimate-table{min-width:700px}.installation-estimate-table tbody td:nth-child(n+3){text-align:center}.installation-estimate-table tbody td:last-child{color:#5e711b;font-weight:850}
@page{size:A4 portrait;margin:10mm}
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{width:auto!important;min-width:0!important;background:#fff!important}
  body{font-size:10pt}
  .topbar{position:static;height:auto;min-height:0;padding:0 0 8mm;border-bottom:1px solid #bbb;box-shadow:none}
  .topbar-actions,.print-button,.background-controls,.text-button,#downloadButton{display:none!important}
  .workspace{display:block!important;width:100%;max-width:none;padding:0;margin:0}
  .controls{display:block!important;margin:0 0 8mm;border:1px solid #bbb;border-radius:0;box-shadow:none;overflow:visible}
  .control-section{break-inside:avoid;page-break-inside:avoid;padding:5mm;border-right:0}
  .preview-column{display:block!important}
  .preview-panel,.calculation-panel{display:block;margin:0 0 8mm;padding:5mm;border:1px solid #bbb;border-radius:0;box-shadow:none;break-inside:auto}
  .drawing-sheet,.markup-card{break-inside:avoid;page-break-inside:avoid}
  .profile-order-heading,.preview-header,.constructive-heading,.calculation-heading,thead,tr{break-inside:avoid;page-break-inside:avoid}
  .canvas-shell,.top-view-shell{min-height:0;padding:3mm;background:#fff}
  canvas{max-width:100%!important;height:auto!important}
  .table-wrap{overflow:visible;border-radius:0;break-inside:auto;page-break-inside:auto}
  table,.profile-order-table,.upper-guide-order-table,.installation-estimate-table{min-width:0!important;width:100%!important}
  th,td{padding:2.2mm 1.5mm;font-size:7.5pt}
  .standalone-page{max-width:none;padding:0}
  .markup-card{border-radius:0;box-shadow:none}
  html.order-mode .workspace{padding:0}
  html.order-mode .drawing-panel{padding:0!important}
}
.paint-profiles-summary{padding-top:22px}.paint-profile-group{margin-top:18px;padding-top:18px;border-top:1px dashed #dfe1da}.paint-profile-group:first-of-type{margin-top:0;padding-top:0;border-top:0}.paint-profile-group h4{margin:0 0 10px;font-size:13px;font-weight:850;color:#343934}

.services-estimate-block{margin-top:20px}.services-estimate-block:first-of-type{margin-top:16px}.services-estimate-block h4{margin:0 0 10px;font-size:16px;font-weight:700}

/* v197 — compact Opt layout */
html.opt-mode .drawing-panel{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:14px!important;
  background:var(--paper);
}
html.opt-mode .drawing-panel>.panel-cost-summary{grid-column:1/-1}
html.opt-mode .drawing-panel>.order-hardware-summary,
html.opt-mode .drawing-panel>.order-fittings-summary,
html.opt-mode .drawing-panel>.production-assembly-summary{grid-column:auto}
html.opt-mode .drawing-panel>.profile-order-summary{
  margin-top:0;
  padding:16px 14px 14px;
  border:1px solid #dfe1da;
  border-radius:12px;
  background:#fff;
  min-width:0;
}
html.opt-mode .profile-order-heading{margin-bottom:9px;gap:10px}
html.opt-mode .profile-order-heading h3{font-size:15px}
html.opt-mode .hardware-hint{margin:-3px 0 9px;font-size:9px}
html.opt-mode .hardware-rows{gap:3px}
html.opt-mode .hardware-row{padding-top:3px}
html.opt-mode .hardware-row input[type=text]{height:30px;font-size:9px}
html.opt-mode .hardware-grid{gap:4px}
html.opt-mode .hardware-head{padding-bottom:4px}
html.opt-mode .table-wrap th,
html.opt-mode .table-wrap td{padding:9px 10px}
@media(max-width:1050px){
  html.opt-mode .drawing-panel{grid-template-columns:1fr}
  html.opt-mode .drawing-panel>.panel-cost-summary{grid-column:auto}
}

/* v199 — adaptive layout for common desktop/laptop resolutions */
html{min-width:0}
body{min-width:0;overflow-x:hidden}
img,svg,canvas{max-width:100%}
.topbar{min-height:72px;height:auto;flex-wrap:wrap;row-gap:8px;padding-block:12px}
.topbar-actions{flex-wrap:wrap;justify-content:flex-end}
.workspace{width:100%;grid-template-columns:clamp(300px,24vw,370px) minmax(0,1fr)}
.controls,.preview-column,.preview-panel,.calculation-panel{min-width:0}
.table-wrap{max-width:100%}

/* 17-inch / Full HD and larger */
@media (min-width:1600px){
  .workspace{max-width:1720px;grid-template-columns:390px minmax(0,1fr);gap:22px;padding:22px}
  .canvas-shell{min-height:540px}
  html.opt-mode .drawing-panel{max-width:1720px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px!important}
}

/* Typical 15–17-inch laptops: 1366–1599 px */
@media (min-width:1280px) and (max-width:1599px){
  .topbar{padding-left:22px;padding-right:22px}
  .workspace{max-width:1440px;grid-template-columns:330px minmax(0,1fr);gap:16px;padding:16px}
  .control-section{padding:18px 18px}
  .preview-panel,.calculation-panel{padding:20px}
  .canvas-shell{min-height:450px}
  .model-card canvas{height:78px}
  html.opt-mode .drawing-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px!important}
  html.opt-mode .drawing-panel>.profile-order-summary{padding:13px 12px 12px}
  html.opt-mode .profile-order-table{min-width:560px}
}

/* Compact laptops / smaller desktop windows */
@media (min-width:1001px) and (max-width:1279px){
  .topbar{padding-left:16px;padding-right:16px;gap:10px}
  .topbar h1{font-size:17px}
  .topbar .compact{padding:8px 10px;font-size:10px}
  .workspace{grid-template-columns:300px minmax(0,1fr);gap:12px;padding:12px}
  .control-section{padding:16px 14px}
  .preview-panel,.calculation-panel{padding:16px}
  .canvas-shell{min-height:390px}
  .summary div{padding:10px}
  th,td{padding:9px 10px}
  html.opt-mode .drawing-panel{grid-template-columns:1fr;gap:10px;padding:10px!important}
  html.opt-mode .drawing-panel>.panel-cost-summary{grid-column:auto}
  html.opt-mode .profile-order-table{min-width:540px}
}

/* Tablet / very small laptop window */
@media (max-width:1000px){
  .topbar{padding-left:14px;padding-right:14px}
  .topbar-actions{width:100%;margin-left:54px;justify-content:flex-start}
  .workspace{padding:12px;gap:12px}
  .controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .control-section{padding:16px}
  .preview-panel,.calculation-panel{padding:16px}
  .canvas-shell{min-height:360px}
  .profile-order-table,.upper-guide-order-table,.glass-catalog-table,.installation-estimate-table{min-width:560px}
  .order-page-shell{height:calc(100vh - 118px)}
}

@media (max-width:760px){
  .topbar{align-items:flex-start}
  .brand-mark{flex:0 0 auto}
  .topbar-actions{margin-left:0;width:100%;gap:6px}
  .topbar .compact{padding:8px 9px;font-size:10px}
  .controls{display:block}
  .control-section{border-right:0}
  .summary{grid-template-columns:1fr 1fr}
  .drawing-sheets{grid-template-columns:1fr}
  .profile-order-heading{align-items:flex-start;flex-direction:column}
  .profile-order-heading>span{margin-top:-6px}
  html.opt-mode .drawing-panel{padding:8px!important}
  html.opt-mode .drawing-panel>.profile-order-summary{padding:12px 10px}
  .order-page-shell{height:calc(100vh - 142px)}
}

@media (max-width:600px){
  .topbar{padding:10px 10px}
  .topbar h1{font-size:16px}
  .brand-mark{width:34px;height:34px;padding:8px}
  .topbar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .topbar .compact{width:100%;min-width:0;padding:8px 5px;white-space:nowrap}
  .workspace{padding:8px}
  .preview-panel,.calculation-panel{padding:12px}
  .control-section{padding:14px 12px}
  .section-heading{margin-bottom:12px}
  .canvas-shell{min-height:270px;padding:8px}
  .summary{grid-template-columns:1fr}
  .price-total{padding:13px 14px}
  .price-total strong{font-size:20px}
  table{min-width:520px}
  th,td{padding:8px 8px;font-size:10px}
  .profile-order-table,.upper-guide-order-table,.glass-catalog-table,.installation-estimate-table{min-width:520px}
  .order-page-shell{height:calc(100vh - 176px)}
}

@media (max-width:420px){
  .topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace{padding:6px}
  .preview-panel,.calculation-panel{padding:10px}
  .field-grid{grid-template-columns:1fr}
  .canvas-shell{min-height:230px}
  .background-controls{gap:8px}
  .order-page-shell{height:calc(100vh - 216px)}
}

/* v202 — параметры доставки / установки / подъёма */
.lift-option-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,.42fr);gap:10px;align-items:end}
.lift-option-grid label{margin:0}
#liftFloorField[hidden]{display:none!important}
@media (max-width:1180px){.lift-option-grid{grid-template-columns:1fr}}

/* v209: service options live only on the Services sheet */
.main-calculator-page:not(.services-mode) .service-options-section,
.main-calculator-page:not(.services-mode) .installation-estimate-summary{display:none!important}

html.services-mode .topbar,
html.services-mode .controls>.control-section:not(.service-options-section),
html.services-mode .preview-column>section:not(.installation-estimate-summary){display:none!important}
html.services-mode .workspace{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;max-width:1240px;padding:20px;margin:0 auto}
html.services-mode .controls{display:block!important;overflow:hidden;align-self:start}
html.services-mode .preview-column{display:block;min-width:0}
html.services-mode .installation-estimate-summary{display:block!important;border:1px solid #e1e3dc;border-radius:18px;box-shadow:var(--shadow)}
html.services-mode .service-options-section:last-child{border-bottom:0}
@media(max-width:800px){
  html.services-mode .workspace{grid-template-columns:1fr;padding:10px}
  html.services-mode .controls{display:block!important}
}

/* v211: services page must always expose all service controls and estimate sections */
html.services-mode body.main-calculator-page .service-options-section,
html.services-mode body.main-calculator-page .installation-estimate-summary,
html.services-mode body.main-calculator-page #installationServicesBlock,
html.services-mode body.main-calculator-page #deliveryServicesBlock {
  display:block !important;
}
html.services-mode body.main-calculator-page .controls {
  display:block !important;
}
html.services-mode body.main-calculator-page #liftFloorField {
  display:block !important;
}


/* v218: export only the "Стекло для заказа" block to PDF via browser print/save-as-PDF. */
.glass-order-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.glass-pdf-button{white-space:nowrap}

@media print{
  html.glass-pdf-export body{background:#fff!important}
  html.glass-pdf-export .topbar,
  html.glass-pdf-export .controls,
  html.glass-pdf-export .preview-column>.drawing-panel>.preview-header,
  html.glass-pdf-export .drawing-panel>.profile-order-summary:not(.glass-order-summary){display:none!important}
  html.glass-pdf-export .workspace,
  html.glass-pdf-export .preview-column,
  html.glass-pdf-export .drawing-panel{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
  html.glass-pdf-export .glass-order-summary{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:12mm 10mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;page-break-inside:avoid;break-inside:avoid}
  html.glass-pdf-export .glass-pdf-button{display:none!important}
  html.glass-pdf-export .glass-order-actions{justify-content:flex-end}
  html.glass-pdf-export .glass-order-visual{border:1px solid #dfe3d3!important;background:#fff!important;page-break-inside:avoid;break-inside:avoid}
  html.glass-pdf-export .glass-order-visual canvas{max-width:180mm!important;max-height:125mm!important;object-fit:contain}
  html.glass-pdf-export .glass-order-table{min-width:0!important;width:100%!important;page-break-inside:avoid;break-inside:avoid}
  html.glass-pdf-export .glass-order-summary .hint{color:#555!important}
  @page{size:A4 landscape;margin:8mm}
}


/* v219 — readable text specification for Order drawing sheets */
html.order-mode .drawing-sheets{grid-template-columns:1fr;gap:18px}
html.order-mode .drawing-sheet{padding:14px;background:#fff;overflow:visible}
html.order-mode .drawing-sheet canvas{max-width:620px;border:1px solid #eceee7}
.drawing-sheet-details{margin-top:14px}
.drawing-sheet-text-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#eef0e9;color:#343934}
.drawing-sheet-text-heading strong{font-size:13px}.drawing-sheet-text-heading span{font-size:11px;font-weight:750;color:#6c7268}
.drawing-sheet-details h4{margin:14px 0 8px;font-size:12px;font-weight:850;color:#343934}
.drawing-text-table-wrap{overflow:visible}
.drawing-text-table{min-width:0!important;width:100%;table-layout:auto}
.drawing-text-table th,.drawing-text-table td{font-size:10px;padding:8px 10px;vertical-align:top}
.drawing-parameters-table td:first-child{width:32%;font-weight:800;color:#52584f;text-align:left}
.drawing-parameters-table td:last-child{text-align:left;font-weight:650;white-space:normal;overflow-wrap:anywhere}
.drawing-cut-table th,.drawing-cut-table td{text-align:center}
.drawing-cut-table th:nth-child(2),.drawing-cut-table td:nth-child(2){text-align:left;width:34%}
@media(max-width:700px){.drawing-sheet-text-heading{align-items:flex-start;flex-direction:column}.drawing-text-table-wrap{overflow:auto}.drawing-cut-table{min-width:720px!important}}
@media print{
  html.order-mode .drawing-sheets{display:block!important}
  html.order-mode .drawing-sheet{margin:0 0 7mm;padding:3mm;border:1px solid #bbb;break-inside:avoid;page-break-inside:avoid}
  html.order-mode .drawing-sheet canvas{display:block;max-width:125mm!important;margin:0 auto 3mm;border:0}
  .drawing-sheet-details{margin-top:2mm}
  .drawing-sheet-text-heading{padding:2mm 2.5mm;margin-bottom:2mm;border:1px solid #ccc;background:#f2f2f2!important}
  .drawing-sheet-details h4{margin:2.5mm 0 1.5mm;font-size:9pt}
  .drawing-text-table th,.drawing-text-table td{padding:1.5mm 1.3mm;font-size:7.5pt;line-height:1.25}
  .drawing-text-table-wrap{border:1px solid #bbb}
  .drawing-parameters-table td:first-child{width:32%}
}

/* v220 — group identical order leaf drawings */
html.order-mode .drawing-sheet-grouped{border-color:#cfd7b4}
html.order-mode .drawing-sheet-grouped .drawing-sheet-text-heading{background:#f0f4e5;color:#30372c}
@media print{
  html.order-mode .drawing-sheet-grouped .drawing-sheet-text-heading{background:#f4f4f0!important}
}

/* v221 — компактная иерархия заголовков листа «Заказ» */
html.order-mode .order-main-header {
  min-height: 0;
  padding-bottom: 10px;
  margin-bottom: 14px;
}
html.order-mode .order-main-header h2 {
  margin: 0;
}
html.order-mode .compact-section-heading {
  min-height: 0;
  margin-bottom: 10px;
}
html.order-mode .compact-section-heading h3 {
  margin: 0;
}


/* v222 — one consolidated cutting list for the whole order */
.consolidated-cut-summary{margin:14px 0 18px}
.consolidated-cut-summary h4{margin:0 0 5px;font-size:14px;font-weight:850;color:#343934}
.consolidated-cut-summary>.hint{margin:0 0 9px}
.consolidated-drawing-cut-table tfoot th{background:#e8eadf;font-weight:850}
.consolidated-drawing-cut-table tfoot th:first-child{text-align:right}
@media print{
  .consolidated-cut-summary{margin:4mm 0 5mm;break-inside:avoid;page-break-inside:avoid}
  .consolidated-cut-summary h4{font-size:10pt;margin:0 0 1.5mm}
  .consolidated-cut-summary>.hint{font-size:7.5pt;margin:0 0 2mm}
}

/* v224 — production overview on the order sheet */
.order-production-overview-summary{margin-top:0;padding-top:0;border-top:0}
.order-production-views{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:14px}
.order-production-view-card{min-width:0;border:1px solid #dfe1da;border-radius:14px;background:#fbfbf8;overflow:hidden}
.order-production-view-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 12px 8px;border-bottom:1px solid #e2e4dd}
.order-production-view-heading strong{font-size:14px;color:#252a27}
.order-production-view-heading span{font-size:11px;font-weight:650;color:#72776f;text-align:right}
.order-production-canvas-shell{background:#f5f6f1;padding:6px}
.order-production-canvas-shell canvas{display:block;width:100%;height:auto;background:#f5f6f1}
.order-production-legend{margin-top:8px;font-size:11px;font-weight:650;color:#6f756d}
@media (max-width:1100px){.order-production-views{grid-template-columns:1fr}}
@media print{
  html.order-mode .order-production-overview-summary{margin:0 0 5mm;padding:0;break-inside:avoid;page-break-inside:avoid}
  html.order-mode .order-production-views{grid-template-columns:1.45fr 1fr;gap:3mm}
  html.order-mode .order-production-view-card{border:1px solid #aaa;border-radius:2mm}
  html.order-mode .order-production-view-heading{padding:2mm 2.5mm 1.5mm}
  html.order-mode .order-production-view-heading strong{font-size:9pt}
  html.order-mode .order-production-view-heading span{font-size:6.8pt}
  html.order-mode .order-production-canvas-shell{padding:1mm}
  html.order-mode .order-production-legend{font-size:6.8pt;margin-top:1.5mm}
}

/* v227 — split Opt catalog into Profiles and Fittings while keeping stable internal indices */
.hardware-master-rows{display:none!important}

/* v233 — compact single markup control */
.markup-single-card{padding:24px 28px}.markup-single-row{display:grid;grid-template-columns:auto minmax(280px,1fr);align-items:center;gap:28px}.markup-single-row h2{margin:0;font-size:24px}.markup-scale{display:grid;grid-template-columns:minmax(180px,1fr) 96px 58px;align-items:center;gap:12px}.markup-scale input[type=range]{width:100%;accent-color:#758b24;cursor:pointer}.markup-manual{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #cfd5c3;border-radius:9px;background:#fff;overflow:hidden}.markup-manual input{width:100%;min-width:0;height:38px;border:0!important;border-radius:0!important;padding:0 6px 0 10px!important;background:transparent!important;font:inherit;font-weight:800;color:#273022;outline:none}.markup-manual span{padding-right:10px;color:#758524;font-weight:850}.markup-scale .markup-direct{display:block;min-width:58px;width:58px;height:38px;margin:0;padding:0 6px;text-align:center;border:1px solid #cfd5c3;border-radius:9px;background:#f3f5ee;color:#3f4934;font:850 14px Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;outline:none;cursor:text}.markup-scale .markup-direct:focus{border-color:#849c30;box-shadow:0 0 0 3px rgba(216,255,80,.35);background:#fff}.markup-scale .markup-direct::placeholder{color:#3f4934;opacity:1}.markup-scale .markup-direct::-webkit-inner-spin-button,.markup-scale .markup-direct::-webkit-outer-spin-button{opacity:0}.markup-single-actions{margin-top:18px;padding-top:14px}.markup-single-actions .secondary{padding:9px 16px}@media(max-width:600px){.markup-single-row{grid-template-columns:1fr;gap:16px}.markup-scale{grid-template-columns:minmax(0,1fr) 88px 56px;gap:8px}.markup-single-card{padding:20px}}

/* v237 — compact printable configuration summary on the main calculator */
.print-parameters-summary{display:none}
@media print{
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .controls{display:none!important}
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-parameters-summary{display:block!important;margin:0 0 5mm;border:1px solid #aaa;background:#fff;break-inside:avoid;page-break-inside:avoid}
  .print-parameters-title{padding:2.2mm 2.5mm;background:#eef0e9;border-bottom:1px solid #bbb;font-size:10pt;font-weight:850}
  .print-parameters-table{width:100%!important;min-width:0!important;table-layout:fixed;border-collapse:collapse}
  .print-parameters-table td{padding:1.55mm 2mm!important;border-right:1px solid #d4d4d0;border-bottom:1px solid #d8d8d4;font-size:7.7pt!important;line-height:1.22;vertical-align:top;text-align:left!important;white-space:normal;overflow-wrap:anywhere}
  .print-parameters-table tr:last-child td{border-bottom:0}
  .print-parameters-table td:last-child{border-right:0}
  .print-parameters-table .print-param-label{width:16%;font-weight:800;color:#555b53;background:#f7f7f4}
  .print-parameters-table .print-param-value{width:34%;font-weight:650;color:#20231f}
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .topbar{padding-bottom:4mm;margin-bottom:4mm}
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .preview-panel,
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .calculation-panel{margin-bottom:5mm;padding:3.5mm}
}


/* v238 — deterministic four-page print layout for the main calculator */
@media print{
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .topbar{display:none!important}
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .workspace{display:block!important}

  /* Page 1 — parameters only. */
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-parameters-summary{
    display:block!important;
    margin:0!important;
    min-height:0;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:page!important;
    page-break-after:always!important;
  }

  /* Page 2 — front view only. */
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-front{
    display:block!important;
    margin:0!important;
    break-before:page!important;
    page-break-before:always!important;
    break-after:page!important;
    page-break-after:always!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-front .canvas-shell{
    min-height:0!important;
    padding:2mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-front canvas{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    max-height:235mm!important;
    margin:0 auto!important;
  }

  /* Page 3 — top view and model catalog together. */
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-top{
    display:block!important;
    margin:0 0 3mm!important;
    break-before:page!important;
    page-break-before:always!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-catalog{
    display:block!important;
    margin:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-top .top-view-shell{
    min-height:0!important;
    padding:1.5mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-top canvas{
    max-height:68mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-catalog .preview-header{
    margin-bottom:2mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-catalog .model-catalog-grid{
    grid-template-columns:repeat(10,minmax(0,1fr))!important;
    gap:1.2mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-catalog .model-card{
    padding:.8mm!important;
    border-radius:1mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-catalog .model-card canvas{
    height:25mm!important;
    max-height:25mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-catalog .model-card span{
    margin-top:.5mm!important;
    font-size:6pt!important;
  }

  /* Page 4 — calculation block intact. */
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-calculation{
    display:block!important;
    margin:0!important;
    break-before:page!important;
    page-break-before:always!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-calculation .summary div{
    padding:2mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-calculation .price-total{
    margin:2.5mm 0!important;
    padding:2.5mm 3mm!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-calculation .price-total strong{
    font-size:15pt!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-calculation table{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-calculation th,
  html:not(.order-mode):not(.opt-mode):not(.services-mode) .print-page-calculation td{
    padding:1.45mm 1.2mm!important;
    font-size:7pt!important;
    line-height:1.15!important;
  }
}

/* RAL Metallic PDF catalog card */
.ral-catalog-card{
  margin-top:14px;
  padding:14px;
  border:1px solid #d7dbcf;
  border-radius:14px;
  background:#f6f7f2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.ral-catalog-card[hidden]{display:none!important;}
.ral-catalog-card__text{display:flex;flex-direction:column;gap:3px;min-width:0;}
.ral-catalog-card__text strong{font-size:14px;color:#20251f;}
.ral-catalog-card__text span{font-size:12px;line-height:1.35;color:#747a70;}
.ral-catalog-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid #bbc2ae;
  border-radius:12px;
  background:#fff;
  color:#263018;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
}
.ral-catalog-card__button:hover{border-color:#809225;background:#f2f5e7;}
@media (max-width:720px){
  .ral-catalog-card{align-items:stretch;flex-direction:column;}
  .ral-catalog-card__button{width:100%;white-space:normal;text-align:center;}
}

/* v264 — responsive calculator layout and RAL catalog cards */
.ral-catalog-card{
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  max-width:100%;
  overflow:hidden;
}
.ral-catalog-card__text,
.ral-catalog-card__text strong,
.ral-catalog-card__text span{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.ral-catalog-card__button{
  width:100%;
  max-width:100%;
  min-width:0;
  padding:10px 12px;
  white-space:normal;
  text-align:center;
  line-height:1.25;
  overflow-wrap:anywhere;
}

/* Keep the two-column desktop layout fluid instead of allowing controls to overflow. */
@media (min-width:1001px){
  .workspace{grid-template-columns:minmax(280px,clamp(300px,23vw,390px)) minmax(0,1fr)}
  .controls{width:100%;max-width:100%}
  .control-section{min-width:0}
  .control-section>*{max-width:100%}
  .topbar-actions{min-width:0}
}

/* On ordinary laptop windows give navigation and content more room to reflow. */
@media (max-width:1450px){
  .topbar{gap:10px;padding-left:16px;padding-right:16px}
  .topbar-actions{gap:6px}
  .topbar .compact{padding:8px 9px}
  .workspace{grid-template-columns:minmax(285px,315px) minmax(0,1fr);gap:12px;padding:12px}
  .control-section{padding-left:14px;padding-right:14px}
  .model-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}
}

/* Switch to a single content column before the left rail becomes cramped. */
@media (max-width:1120px){
  .workspace{grid-template-columns:1fr}
  .controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .control-section{min-width:0;border-right:1px solid #e4e5df}
  .control-section:nth-child(2n){border-right:0}
  .topbar-actions{width:100%;margin-left:54px;justify-content:flex-start}
}

@media (max-width:760px){
  .controls{display:block}
  .control-section{border-right:0}
  .topbar-actions{margin-left:0}
  .model-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}
}

/* v271 — separate product / delivery / installation markups */
.markup-category-list{display:grid;gap:0;border-top:1px solid #e4e5df}.markup-category-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);align-items:center;gap:28px;padding:22px 0;border-bottom:1px solid #e4e5df}.markup-category-copy{display:grid;gap:6px}.markup-category-copy strong{font-size:16px;color:#20251f}.markup-category-copy span{font-size:12px;line-height:1.45;color:#777d73}.markup-category-row .markup-scale{grid-template-columns:minmax(160px,1fr) 96px 58px}@media(max-width:760px){.markup-category-row{grid-template-columns:1fr;gap:14px}.markup-category-row .markup-scale{grid-template-columns:minmax(0,1fr) 88px 56px}}

/* v274 — role-based production passport for Order */
.order-role-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.order-role-button.is-active{background:var(--dark);border-color:var(--dark);color:var(--accent)}
html.order-mode .order-passport-summary{border:1px solid #d8ddd0;background:#fbfcf8}
.order-passport-grid,.order-driver-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dde1d8;border:1px solid #dde1d8;border-radius:10px;overflow:hidden}
.order-passport-grid>div,.order-driver-metrics>div{padding:12px 14px;background:#fff;min-width:0}
.order-passport-grid span,.order-driver-metrics span{display:block;font-size:9px;line-height:1.25;text-transform:uppercase;letter-spacing:.07em;color:#868c82}
.order-passport-grid strong,.order-driver-metrics strong{display:block;margin-top:5px;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.order-supply-grid{display:grid;gap:16px}
.order-supply-grid section{min-width:0}
.order-supply-grid h4{margin:0 0 8px;font-size:12px}
.order-driver-metrics{margin-bottom:14px}
.order-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;padding:4px 0}
.order-checklist-grid label{font-size:11px;color:#333a31;padding:8px 10px;border:1px solid #e1e4dc;border-radius:8px;background:#fafbf8}

html.order-role-assembler .drawing-panel>.profile-order-summary:not(.role-all):not(.role-assembler),
html.order-role-installer .drawing-panel>.profile-order-summary:not(.role-all):not(.role-installer),
html.order-role-driver .drawing-panel>.profile-order-summary:not(.role-all):not(.role-driver),
html.order-role-supply .drawing-panel>.profile-order-summary:not(.role-all):not(.role-supply){display:none!important}
html.order-role-supply .paint-profiles-summary .drawing-sheets,
html.order-role-supply .paint-profiles-summary .consolidated-cut-summary{display:none!important}
html.order-role-assembler .paint-profiles-summary .paint-profile-order-table,
html.order-role-assembler .paint-profiles-summary #paintProfileOrderNote{display:none!important}

@media (max-width:1050px){
  .order-passport-grid,.order-driver-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .order-page-shell{height:calc(100vh - 130px)}
}
@media (max-width:650px){
  .order-passport-grid,.order-driver-metrics,.order-checklist-grid{grid-template-columns:1fr}
  .order-role-toolbar{width:100%}
}

@media print{
  html.order-mode .order-passport-summary{margin:0 0 4mm!important;padding:3mm!important;break-inside:avoid;page-break-inside:avoid}
  html.order-mode .order-passport-grid{grid-template-columns:repeat(4,1fr);gap:.4mm}
  html.order-mode .order-passport-grid>div{padding:2mm}
  html.order-mode .order-passport-grid span{font-size:6.5pt}
  html.order-mode .order-passport-grid strong{font-size:8pt}
  html.order-mode .order-driver-metrics{grid-template-columns:repeat(4,1fr);margin-bottom:3mm}
  html.order-mode .order-checklist-grid{grid-template-columns:repeat(2,1fr);gap:2mm}
  html.order-mode .order-checklist-grid label{font-size:8pt;padding:2mm;border:1px solid #aaa}
  html.order-mode .order-supply-procurement-summary,
  html.order-mode .order-driver-load-summary,
  html.order-mode .order-assembler-checklist-summary{break-inside:avoid;page-break-inside:avoid}
}


/* v276 — order master data and printable identification */
.order-data-card{background:#f7f8f3}
.order-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.order-data-grid label{min-width:0}
.order-data-grid input,.order-data-grid textarea{width:100%;box-sizing:border-box}
.order-data-grid textarea{resize:vertical;min-height:74px}
.order-data-wide{grid-column:1/-1}
.order-identity-summary{border:1px solid #c8d0bd!important;background:#f7f9f2!important}
.order-document-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#20231f;color:#d8ff50;font-weight:900;letter-spacing:.06em;font-size:12px}
.order-identity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.order-identity-grid>div{padding:9px 10px;border:1px solid #dde1d7;border-radius:8px;background:#fff;min-width:0}
.order-identity-grid span{display:block;margin-bottom:3px;color:#70766e;font-size:11px;font-weight:750}
.order-identity-grid strong{display:block;color:#20231f;font-size:13px;line-height:1.28;overflow-wrap:anywhere}
.order-identity-wide{grid-column:span 2}
.order-print-mini-identity{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin:0 0 10px;padding:9px 11px;border:1px solid #d4d8cf;border-radius:8px;background:#f8f9f5}
.order-print-mini-identity strong{font-size:12px}
.order-print-mini-identity span{font-size:11px;color:#656a63;text-align:right}
@media (max-width:760px){
  .order-data-grid{grid-template-columns:1fr}
  .order-data-wide{grid-column:auto}
  .order-identity-grid{grid-template-columns:1fr 1fr}
  .order-identity-wide{grid-column:1/-1}
  .order-print-mini-identity{display:block}
  .order-print-mini-identity span{display:block;margin-top:4px;text-align:left}
}
@media print{
  html.order-mode .order-identity-summary{display:block!important;margin:0 0 4mm!important;padding:3mm!important;break-inside:avoid;page-break-inside:avoid}
  html.order-mode .order-identity-grid{grid-template-columns:repeat(4,1fr);gap:.5mm}
  html.order-mode .order-identity-grid>div{padding:1.6mm 2mm;border:1px solid #bbb;border-radius:0}
  html.order-mode .order-identity-grid span{font-size:6.2pt}
  html.order-mode .order-identity-grid strong{font-size:7.6pt}
  html.order-mode .order-document-badge{padding:1.3mm 2.4mm;border-radius:2mm;font-size:7pt}
  html.glass-pdf-export .glass-order-summary .order-print-mini-identity{display:flex!important;padding:2mm 2.5mm;margin:0 0 3mm;border:1px solid #aaa;border-radius:0}
  html.glass-pdf-export .glass-order-summary .order-print-mini-identity strong{font-size:8pt}
  html.glass-pdf-export .glass-order-summary .order-print-mini-identity span{font-size:7pt}
}


/* v277 — отдельный лист «Данные заказа» */
.order-data-page{max-width:1120px;margin:0 auto;padding:24px}
.order-data-standalone-card{width:100%;max-width:none;box-sizing:border-box}
.order-data-intro{margin:0 0 20px;color:#676b64;line-height:1.55}
.order-data-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.order-data-page-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.order-data-page-grid input,.order-data-page-grid textarea{font-weight:500}
.order-data-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e3e5df}
@media(max-width:760px){.order-data-page{padding:12px}.order-data-page-grid{grid-template-columns:1fr}.order-data-actions{align-items:stretch;flex-direction:column}}
@media print{.order-data-actions{display:none}.order-data-page{max-width:none;padding:0}.order-data-standalone-card{box-shadow:none}}

/* v280 — RAL Classic live profile preview */
#profileRalNumber{width:100%;height:42px;border:1px solid #d5d8cf;background:#fafaf7;border-radius:9px;color:var(--ink);font:650 14px Inter,ui-sans-serif,system-ui,sans-serif;margin-top:7px;padding:0 11px;outline:none;}
#profileRalNumber:focus{border-color:#849c30;box-shadow:0 0 0 3px rgba(216,255,80,.35);}
.ral-preview-status{display:flex;align-items:center;gap:9px;margin-top:9px;padding:9px 10px;border:1px solid #dfe2d8;border-radius:9px;background:#f8f9f5;color:#73786f;font-size:10px;font-weight:650;line-height:1.3;}
.ral-preview-status[hidden]{display:none!important;}
.ral-preview-swatch{width:28px;height:28px;flex:0 0 28px;border-radius:7px;border:1px solid rgba(30,35,31,.22);background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);}
.ral-preview-status.is-valid{border-color:#cbd6aa;background:#f5f8ec;color:#52611c;}
.ral-preview-status.is-invalid{border-color:#e5c4c1;background:#fff6f5;color:#9b3e37;}
.ral-preview-status.is-invalid .ral-preview-swatch{background:repeating-linear-gradient(45deg,#f4e5e3,#f4e5e3 4px,#fff 4px,#fff 8px)!important;}

/* v283 — painting selector fields must truly hide when switching palette type */
#ralClassicNumberField[hidden],
#ralMetallicCodeField[hidden]{
  display:none!important;
}


/* v293 client/landing mode */
.client-mode body{background:#f7f5f1}
.client-mode .topbar{display:none!important}
.client-mode .workspace{max-width:1460px;margin:0 auto;padding:20px;gap:20px}
.client-mode .client-hidden-control,
.client-mode .service-options-section{display:none!important}
.client-mode .print-parameters-summary,
.client-mode .drawing-panel,
.client-mode .installation-estimate-summary{display:none!important}
.client-mode .calculation-panel .table-wrap{display:none!important}
.client-mode .calculation-heading span{display:none!important}
.client-mode .calculation-panel{border:1px solid #d8d3cc;background:#fff;border-radius:24px}
.client-mode .client-price-total{margin-top:16px;padding:18px 20px;background:#302f2d;color:#fff;border-radius:18px}
.client-mode .client-price-total span{color:#d7d0ca}
.client-mode .client-price-total strong{font-size:24px}
.client-mode:not(.client-price-open) .client-price-total strong{font-size:0}
.client-mode:not(.client-price-open) .client-price-total strong::after{content:'Расчёт готов';font-size:24px}
.client-lead-gate,.client-price-unlocked{display:none}
.client-mode .client-lead-gate{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px;padding:24px;border:1px solid #d8d3cc;border-radius:20px;background:#f7f5f1}
.client-mode.client-price-open .client-lead-gate{display:none}
.client-mode .client-price-unlocked:not([hidden]){display:block;margin-top:16px;padding:24px;border-radius:20px;background:#f0ebe4;border:1px solid #d8d3cc}
.client-mode .client-price-unlocked h3{font-size:28px;margin:5px 0 8px}
.client-mode .client-price-unlocked p{margin:0;color:#65615c}
.client-lead-gate__copy h3{font-size:28px;line-height:1.1;margin:6px 0 10px}
.client-lead-gate__copy p{color:#65615c}
.client-lead-form{display:grid;gap:12px}
.client-lead-form label{font-weight:700}
.client-lead-form input[type=tel]{width:100%;margin-top:6px;padding:13px 14px;border:1px solid #d8d3cc;border-radius:12px;background:#fff}
.client-lead-form fieldset{border:0;padding:0;margin:0;display:flex;gap:10px;flex-wrap:wrap}
.client-lead-form legend{font-weight:700;margin-bottom:7px}
.client-lead-form fieldset label{padding:9px 11px;background:#fff;border:1px solid #d8d3cc;border-radius:11px;font-size:13px}
.client-lead-form .primary{border:0;border-radius:13px;padding:14px 18px;background:#8c6b4d;color:#fff;font-weight:900;cursor:pointer}
.client-mode .summary{grid-template-columns:repeat(3,minmax(0,1fr))}
.client-mode .controls{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow:auto}
.client-mode .preview-column{min-width:0}
@media(max-width:900px){
 .client-mode .workspace{display:block;padding:10px}
 .client-mode .controls{position:static;max-height:none;margin-bottom:14px}
 .client-mode .client-lead-gate{grid-template-columns:1fr}
 .client-mode .summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v294 landing funnel: phone first -> CRM -> price -> messenger */
.client-ready-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px;color:#4e4a46}
.client-ready-list li{position:relative;padding-left:23px}
.client-ready-list li::before{content:'✓';position:absolute;left:0;top:0;color:#8c6b4d;font-weight:900}
.client-bitrix-form-wrap{padding:18px;border-radius:16px;background:#fff;border:1px solid #e0dbd4;align-self:start}
.client-bitrix-form-title{font-size:18px;font-weight:850;margin-bottom:8px;color:#272727}
.client-bitrix-form-mount{min-height:190px}
.client-bitrix-loading{padding:18px;border-radius:12px;background:#f7f5f1;color:#65615c;text-align:center}
.client-bitrix-form-wrap .hint{margin:10px 0 0;font-size:12px;line-height:1.45}
.client-after-messengers{margin-top:18px;padding-top:16px;border-top:1px solid #d8d3cc}
.client-after-messengers>span{display:block;font-weight:750;margin-bottom:10px}
.client-after-messenger-buttons{display:flex;flex-wrap:wrap;gap:8px}
.client-after-messenger-buttons button{border:1px solid #cfc7be;background:#fff;border-radius:11px;padding:9px 13px;font-weight:750;cursor:pointer;color:#302f2d}
.client-after-messenger-buttons button:hover{border-color:#8c6b4d;background:#faf7f3}

/* v293 — adaptive front-view display modes */
.front-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 12px}
.front-view-real-size{display:flex;align-items:baseline;gap:8px;min-width:0}
.front-view-real-size span{font-size:10px;color:#7d8278;font-weight:650;letter-spacing:.02em}
.front-view-real-size strong{font-size:14px;color:var(--ink);white-space:nowrap}
.front-view-mode-switch{display:grid;grid-template-columns:1fr 1fr;width:min(100%,270px);flex:0 0 auto}
.front-view-mode-switch label{min-width:0}
.front-view-mode-switch span{white-space:nowrap;padding:8px 10px}
.front-view-mode-hint{margin:10px 2px 0;color:#858a80;font-size:10px;line-height:1.45;text-align:center}
.front-view-canvas-shell canvas{margin-inline:auto}
@media(max-width:760px){
  .front-view-header{margin-bottom:12px}
  .front-view-toolbar{align-items:stretch;flex-direction:column;gap:9px;margin-bottom:10px}
  .front-view-real-size{justify-content:space-between;padding:0 2px}
  .front-view-mode-switch{width:100%;max-width:none}
  .front-view-mode-switch span{padding:8px 6px;font-size:10px}
  .front-view-canvas-shell{min-height:250px;padding:8px;overflow:hidden}
  .front-view-canvas-shell canvas{width:min(100%,432px);height:auto;max-width:100%;margin:auto}
  .front-view-mode-hint{font-size:9px;margin-top:8px}
}
@media(max-width:360px){
  .front-view-real-size{align-items:flex-start;flex-direction:column;gap:3px}
  .front-view-mode-switch span{font-size:9px}
}
@media print{
  .front-view-mode-switch{display:none!important}
  .front-view-mode-hint{display:none!important}
}


/* v8 — conversion-friendly lead gate */
.client-lead-form-card{position:relative;overflow:hidden}
.client-lead-form{display:grid;gap:10px;margin-top:18px}
.client-phone-field{display:grid;gap:7px;text-align:left}
.client-phone-field>span{font-size:12px;font-weight:800;color:#65615c}
.client-phone-field input{
  width:100%;min-height:58px;padding:0 16px;border:1px solid #d8d3cc;border-radius:14px;
  background:#fff;color:#272727;font:700 18px/1 Inter,Arial,sans-serif;outline:none;
}
.client-phone-field input:focus{border-color:#8c6b4d;box-shadow:0 0 0 3px rgba(140,107,77,.12)}
.client-consent{display:flex;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;font-size:12px;line-height:1.38;color:#65615c}
.client-consent input{width:19px;height:19px;min-width:19px;margin:1px 0 0;accent-color:#302f2d}
.client-consent a{color:#4f493f;text-decoration:underline;text-underline-offset:2px}
.client-field-error{min-height:0;color:#a13c32;font-size:11px;text-align:left}
.client-field-error:not(:empty){margin-top:-4px}
.client-show-price-button{
  width:100%;min-height:58px;border:0;border-radius:15px;padding:14px 18px;
  background:#302f2d;color:#fff;font:900 17px/1.1 Inter,Arial,sans-serif;cursor:pointer;
  transition:transform .15s ease,opacity .15s ease;
}
.client-show-price-button:hover{transform:translateY(-1px)}
.client-show-price-button:disabled{opacity:.62;cursor:wait;transform:none}
.client-lead-reassurance{margin-top:12px!important}
/* Bitrix остаётся подключенным, но не участвует визуально в клиентском пути. */
.client-bitrix-transport{
  position:absolute!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;
  opacity:.001!important;
  pointer-events:none!important;
  left:-10000px!important;top:0!important;
}
.client-lead-gate.is-complete .client-lead-form-card{display:none}

@media(max-width:760px){
  .client-phone-field input,.client-show-price-button{min-height:54px}
  .client-consent{font-size:11px}
}


/* v10 — mobile client sequence */
.client-mobile-flow{display:none}
@media(max-width:760px){
  html.client-mode .client-mobile-flow{
    display:grid;
    gap:14px;
    padding:12px 12px 20px;
    max-width:100%;
    overflow:visible;
  }
  html.client-mode .client-mobile-flow[hidden]{display:none}
  html.client-mode.client-mobile-flow-active .workspace{
    display:none!important;
  }
  html.client-mode .client-mobile-flow > section{
    width:100%;
    min-width:0;
    margin:0;
  }
  html.client-mode .client-mobile-flow .control-section,
  html.client-mode .client-mobile-flow .preview-panel,
  html.client-mode .client-mobile-flow .calculation-panel{
    border-radius:18px;
  }
  html.client-mode .client-mobile-flow .model-catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  html.client-mode .client-mobile-flow .model-card{
    padding:8px 7px 7px;
    border-radius:12px;
  }
  html.client-mode .client-mobile-flow .model-card canvas{
    height:120px;
    border-radius:8px;
  }
  html.client-mode .client-mobile-flow .model-card span{
    margin-top:6px;
    font-size:10px;
    font-weight:800;
  }
  html.client-mode .client-mobile-flow .model-card.is-active{
    box-shadow:0 0 0 3px rgba(216,255,80,.72);
  }
}
@media(max-width:430px){
  html.client-mode .client-mobile-flow .model-card{
    padding:7px 6px 6px;
  }
  html.client-mode .client-mobile-flow .model-card canvas{
    height:108px;
  }
  html.client-mode .client-mobile-flow .model-card span{
    font-size:9px;
  }
}


/* v11 — calculator viewport hardening */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
*, *::before, *::after { box-sizing: border-box; min-width: 0; }

@media(max-width:760px){
  html.client-mode body{
    width:100%;
    max-width:100%;
    margin:0;
    overflow-x:hidden;
  }
  html.client-mode .app-shell,
  html.client-mode .workspace,
  html.client-mode .client-mobile-flow,
  html.client-mode .control-section,
  html.client-mode .preview-panel,
  html.client-mode .calculation-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  html.client-mode .client-mobile-flow{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  html.client-mode canvas,
  html.client-mode img,
  html.client-mode svg{
    max-width:100%!important;
  }
  html.client-mode .model-catalog-grid{
    width:100%;
    max-width:100%;
  }
  html.client-mode input,
  html.client-mode select,
  html.client-mode button{
    max-width:100%;
  }
}


/* v13 — simplified client catalog/front view */
html.client-mode .client-front-eyebrow,
html.client-mode .client-front-download,
html.client-mode .client-front-toolbar,
html.client-mode .client-front-hint,
html.client-mode .client-hidden-summary{
  display:none!important;
}

/* Компактный заголовок вида спереди после удаления лишних элементов. */
html.client-mode .client-front-view-header{
  margin-bottom:10px!important;
  min-height:0!important;
}

/* Каталог моделей всегда демонстрирует одно и то же соотношение полотна 1:2.2. */
html.client-mode .model-card canvas{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 2.2;
  object-fit:contain;
}

@media(max-width:760px){
  html.client-mode .client-mobile-flow .model-catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  html.client-mode .client-mobile-flow .model-card{
    padding:8px 8px 7px;
    border-radius:12px;
  }
  html.client-mode .client-mobile-flow .model-card canvas{
    height:auto!important;
    aspect-ratio:1 / 2.2;
  }
  html.client-mode .client-mobile-flow .model-card span{
    margin-top:6px;
    font-size:10px;
    font-weight:800;
  }
}


/* v16 — direct client opening-type choices */
html.client-mode .client-flow-opening > label{
  display:none!important;
}
html.client-mode .client-opening-choices{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
html.client-mode .client-opening-choice{
  appearance:none;
  width:100%;
  min-height:48px;
  padding:10px 14px;
  border:1px solid #d8d3cc;
  border-radius:12px;
  background:#fff;
  color:#272727;
  font:700 13px/1.25 Inter,ui-sans-serif,system-ui,sans-serif;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
html.client-mode .client-opening-choice:hover{
  border-color:#b09a83;
}
html.client-mode .client-opening-choice.is-active{
  border-color:#8c6b4d;
  background:#f7f5f1;
  box-shadow:0 0 0 2px rgba(140,107,77,.14);
}
html.client-mode .client-opening-choice:focus-visible{
  outline:2px solid #8c6b4d;
  outline-offset:2px;
}
@media(max-width:760px){
  html.client-mode .client-opening-choice{
    min-height:48px;
    font-size:13px;
    padding:10px 12px;
  }
}


/* v18 — direct glass choices for client calculator */
html.client-mode .client-flow-glass > label{
  display:none!important;
}
html.client-mode .client-glass-choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
html.client-mode .client-glass-choice{
  appearance:none;
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid #d8d3cc;
  border-radius:12px;
  background:#fff;
  color:#272727;
  font:700 13px/1.25 Inter,ui-sans-serif,system-ui,sans-serif;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
html.client-mode .client-glass-choice:hover{
  border-color:#b09a83;
}
html.client-mode .client-glass-choice.is-active{
  border-color:#8c6b4d;
  background:#f7f5f1;
  box-shadow:0 0 0 2px rgba(140,107,77,.14);
}
html.client-mode .client-glass-choice:focus-visible{
  outline:2px solid #8c6b4d;
  outline-offset:2px;
}
@media(max-width:390px){
  html.client-mode .client-glass-choices{
    grid-template-columns:1fr;
  }
}


/* v19 — glass controls placement fix + compact lead form */
html.client-mode .client-flow-glass > label{
  display:none!important;
}
html.client-mode .client-flow-glass #clientGlassChoices{
  display:grid!important;
}
html.client-mode .client-lead-form h2:empty,
html.client-mode .client-lead-form h3:empty,
html.client-mode .client-lead-form strong:empty{
  display:none!important;
}


/* v26 — client catalog without model names */
html.client-mode .model-card span{
  display:none!important;
}
html.client-mode .model-card{
  padding-bottom:8px;
}

/* v43 — result messenger selection and project summary */
.client-messenger-choice{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;margin:2px 0 0!important}
.client-messenger-choice legend{grid-column:1/-1;font-size:12px;font-weight:800;color:#65615c;margin-bottom:1px}
.client-messenger-choice label{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:46px;padding:8px!important;border:1px solid #d8d3cc!important;border-radius:12px!important;background:#fff!important;cursor:pointer}
.client-messenger-choice input{position:absolute;opacity:0;pointer-events:none}
.client-messenger-choice span{font-size:13px;font-weight:800}
.client-messenger-choice label:has(input:checked){border-color:#302f2d!important;box-shadow:0 0 0 2px rgba(48,47,45,.12);background:#f4f0ea!important}
.client-result-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
.client-result-summary>div{padding:10px 12px;border:1px solid #d8d3cc;border-radius:12px;background:#fff}
.client-result-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#7b756e}
.client-result-summary strong{display:block;margin-top:3px;font-size:13px;color:#272727}
.client-after-messenger-buttons a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfc7be;background:#fff;border-radius:11px;padding:9px 13px;font-weight:750;cursor:pointer;color:#302f2d;text-decoration:none}
@media(max-width:420px){
  .client-messenger-choice{grid-template-columns:1fr!important}
  .client-result-summary{grid-template-columns:1fr}
}
