[hidden]{display:none!important}
:root{--green:#214e46;--ink:#22312e;--muted:#66736f;--bg:#f6f5f1;--line:#dbdfd9;--paper:#fff;--warn:#9c3525}*{box-sizing:border-box}body{margin:0;font-family:Arial,system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;color:var(--ink)}button{cursor:pointer}button.active,button[type=submit]{background:var(--green);color:#fff;border-color:var(--green)}button:disabled{opacity:.55;cursor:not-allowed}.off-header{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:#fff;border-bottom:1px solid var(--line);gap:12px}.off-brand{font-size:20px;font-weight:800;color:var(--green);text-decoration:none}.off-header-actions{display:flex;align-items:center;gap:12px}.off-header-actions a{color:var(--green)}.off-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,370px);gap:14px;max-width:1700px;margin:auto;padding:14px}.off-view,.off-panel{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}.off-view{display:flex;flex-direction:column;min-height:690px}.off-view-head{padding:17px 18px 6px}.off-view-head h1{font-size:22px;margin:0 0 7px}.off-view-head p{font-size:14px;margin:0;color:var(--muted)}.off-tools{padding:12px 16px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.off-tools button{font-size:13px;padding:8px 11px}.off-tools label{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:13px}.off-tools input{width:95px;padding:0}.off-canvas{position:relative;flex:1;min-height:470px;background:#eeece6;overflow:hidden}.off-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.off-dims{position:absolute;left:14px;bottom:12px;background:#ffffffca;padding:7px 10px;border-radius:7px;font-weight:bold;font-size:13px}.off-hint{padding:8px 18px;color:var(--muted);font-size:12px}.off-price{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f4f7f4;padding:14px 18px;flex-wrap:wrap}.off-price #price{font-size:21px;font-weight:800;color:var(--green)}.off-price #priceNote{font-size:12px;color:var(--muted);max-width:340px}.off-error{padding:11px 17px;color:var(--warn)}.off-panel{padding:17px;overflow-y:auto;max-height:calc(100vh - 110px);position:sticky;top:10px}.off-panel h2{font-size:16px;margin:13px 0 10px}.off-grid-types{display:grid;grid-template-columns:1fr 1fr;gap:7px}.off-grid-types button{text-align:left;font-size:13px;min-height:55px}.off-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.off-fields label,.off-lead label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:5px}.off-fields input,.off-fields select{width:100%}.off-help{color:var(--muted);font-size:12px;line-height:1.45}.off-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.off-actions button{font-size:12px;flex:1}.off-lead{border-top:1px solid var(--line);padding-top:7px}.off-lead form{display:grid;gap:9px}.off-lead input,.off-lead select,.off-lead textarea{width:100%}.off-lead button[type=submit]{font-weight:bold}.off-trap{position:absolute;left:-10000px;opacity:0}.off-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;padding:14px 20px;font-size:12px;color:var(--muted)}.off-footer a{color:var(--green)}#orderResult{font-size:13px;line-height:1.5;margin:0} @media(max-width:900px){.off-shell{grid-template-columns:1fr}.off-panel{position:static;max-height:none}.off-view{min-height:520px}.off-canvas{min-height:400px}.off-header{padding:12px}.off-view-head h1{font-size:19px}}@media(max-width:500px){.off-header-actions a{font-size:11px}.off-grid-types button{font-size:12px}.off-tools label{margin-left:0}.off-canvas{min-height:330px}.off-price #price{font-size:19px}}
.off-lead .off-consent{display:flex;flex-direction:row;align-items:center;gap:9px;line-height:1.45;font-size:12px;font-weight:400}.off-lead .off-consent input{width:18px;height:18px;flex:none;margin:0}

.off-inspector{background:#f4f7f4;border:1px solid #d6e4dc;border-radius:10px;margin-top:16px;padding:12px}.off-inspector h2{font-size:15px;margin:0 0 8px}.off-selected-name{font-size:13px;font-weight:bold;margin:6px 0}.off-part-size{font-size:12px;color:#526963;margin:5px 0 8px}.off-position-row{display:flex;align-items:end;flex-wrap:wrap;gap:7px}.off-position-row label,#drawerGapRow label{font-size:12px;font-weight:bold;display:flex;flex-direction:column;gap:4px;flex:1;min-width:118px}.off-position-row input,#drawerGapRow input{width:100%}.off-position-row button{font-size:12px;padding:10px 8px}.off-position-row button.active{background:#214e46;color:white}#drawerGapRow{margin-top:8px}.off-inspector .off-help{margin-bottom:0}.off-canvas canvas{cursor:crosshair}@media(max-width:500px){.off-position-row label{min-width:100%}.off-position-row button{flex:1}}

.off-pick-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600}.off-pick-label select{width:100%;font-size:12px;padding:8px}

.off-annex{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.off-annex h2{color:var(--green)}

/* A1330: original BAZIS thumbnail and provenance; responsive */
.off-a1330-reference{display:flex;align-items:center;gap:12px;margin:12px 0;padding:10px;border:1px solid #dadfd9;border-radius:8px;background:#f7f8f5;font-size:12px;color:#40514a}.off-a1330-reference[hidden]{display:none!important}.off-a1330-reference img{width:90px;height:90px;object-fit:contain;background:white;border:1px solid #eee;border-radius:6px;flex-shrink:0}.off-a1330-reference p{margin:0;line-height:1.45}

.off-underlap{display:flex;flex-direction:column;gap:6px;margin:12px 0;padding:11px;border:1px solid #b7d4c3;background:#f0f7f1;border-radius:8px;font-size:12px;line-height:1.45;color:#194f3c}.off-underlap[hidden]{display:none!important}

/* v0.1.142: keep fit and server quote visible like the base constructor. */
.off-price{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;background:#f2f8f5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.off-price-main{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.off-price-main span{font-size:12px;font-weight:700;color:#44655b}.off-price #price{font-size:20px;font-weight:800;color:var(--green)}.off-price #priceNote{flex:1;max-width:450px}.off-price #partSummary{font-size:12px;color:#4d655d;white-space:normal}.off-tools button:disabled{opacity:.42}.off-canvas{max-width:100%;}.off-canvas canvas{margin:0 auto}.off-actions button{min-width:130px}
@media(max-width:500px){.off-price{padding:8px 12px}.off-price #price{font-size:18px}.off-actions button{min-width:45%}}

/* v0.1.143: accessible, reversible mirror control for all office models. */
.off-mirror-control{display:grid;gap:7px;padding:10px;margin-bottom:14px;border:1px solid #bdd3c8;border-radius:9px;background:#f2f7f4;}
.off-mirror-control button{background:#fff;border:1px solid #477565;color:#194c3d;padding:11px 12px;border-radius:8px;text-align:left;font-weight:650;cursor:pointer;}
.off-mirror-control button[aria-pressed="true"]{background:#e4f3e9;}
.off-mirror-control button:focus-visible{outline:3px solid #e69c32;outline-offset:2px;}
.off-mirror-control small{color:#496358;font-size:12px;line-height:1.4;}

/* v0.1.236: context actions on office shelves; structural parts stay protected. */
.mb-office-quick[hidden],.mb-office-undo[hidden]{display:none!important}
.mb-office-quick{margin:7px 0;padding:8px;border:1px solid #b5cfc5;background:#f2f8f4;border-radius:9px}
.mb-office-quick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.mb-office-quick-row button{min-width:0;min-height:42px;font-size:12px;padding:6px 3px;white-space:normal;font-weight:650}
.mb-office-quick-row button.mb-office-delete{background:#fff2ef;color:#953a27;border-color:#d6aba3}
.mb-office-quick .off-help{margin:5px 0 0}
.mb-office-undo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border:1px solid #b5cfc5;border-radius:8px;background:#f6f9f4;padding:9px;margin:8px 0;font-size:12px}
.mb-office-undo button{min-height:40px;font-size:12px;font-weight:700;color:#24534b}
