:root{--icf-red:#7f3345;--icf-red2:#672939;--icf-ink:#171817;--icf-muted:#77746f;--icf-line:#e3ded6;--icf-bg:#f3f0eb;--icf-panel:#fffdfa;--icf-green:#45c14c;--icf-shadow:0 14px 40px rgba(44,38,30,.10)}
*{box-sizing:border-box}.icf-root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--icf-ink);background:var(--icf-bg);min-height:calc(100vh - 32px)}
.icf-root button,.icf-root input,.icf-root select,.icf-root textarea{font:inherit}.icf-root button{cursor:pointer}.icf-app{height:calc(100vh - 32px);min-height:720px;display:flex;flex-direction:column;background:linear-gradient(180deg,#f7f4ef 0,#efebe5 100%)}
.icf-header{height:78px;display:grid;grid-template-columns:285px minmax(520px,1fr) 180px;align-items:center;gap:22px;padding:0 24px;background:rgba(255,255,255,.94);border-bottom:1px solid #e5e0d9;backdrop-filter:blur(12px);z-index:10}.icf-brand{display:flex;align-items:center;gap:12px}.icf-brand img{width:92px;height:auto;max-height:34px;object-fit:contain}.icf-brand div{display:flex;flex-direction:column;gap:2px}.icf-brand strong{font-size:12px;letter-spacing:.13em}.icf-brand span{font-size:10px;color:#88827b}
.icf-steps{display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));gap:5px}.icf-steps button{height:45px;border:0;background:transparent;border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#8b8680}.icf-steps button b{width:25px;height:25px;border:1px solid #d9d3cb;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#fff}.icf-steps button span{font-size:11px;font-weight:700;white-space:nowrap}.icf-steps button.active{background:#fff;box-shadow:0 5px 18px rgba(25,22,18,.08);color:#1d1c1a}.icf-steps button.active b{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-steps button.done b{background:var(--icf-green);border-color:var(--icf-green);color:#fff}.icf-steps button.done{color:#34322f}

.icf-main{flex:1;min-height:0;display:grid;grid-template-columns:348px minmax(560px,1fr) 300px;gap:14px;padding:14px}.icf-sidebar,.icf-stage,.icf-inspector{background:var(--icf-panel);border:1px solid #e4dfd7;border-radius:18px;box-shadow:var(--icf-shadow);min-height:0}.icf-sidebar{display:flex;flex-direction:column;overflow:hidden}.icf-step-panel{flex:1;overflow:auto;padding:26px 24px 18px;scrollbar-width:thin}.icf-nav{padding:12px 14px;border-top:1px solid #e8e3dc;background:#fff;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.38fr);align-items:stretch;gap:8px;overflow:hidden}.icf-nav .icf-btn{width:100%;min-width:0;max-width:100%;height:42px;min-height:42px;padding:0 10px;font-size:13px;flex:none}.icf-nav [data-submit]{font-size:12px;padding-inline:8px;white-space:normal;line-height:1.05}.icf-kicker{color:var(--icf-red);font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:8px}.icf-step-panel h2{font-size:24px;line-height:1.15;margin:0 0 7px;font-weight:600;letter-spacing:-.025em}.icf-step-panel h3{font-size:12px;margin:22px 0 10px}.icf-lead{font-size:12px;line-height:1.55;color:#77726b;margin:0 0 20px}.icf-options{display:grid;gap:9px}.icf-option{position:relative;border:1px solid #ded8cf;background:#fff;border-radius:14px;text-align:left;padding:16px 15px;min-height:74px;display:flex;flex-direction:column;gap:3px;transition:.18s}.icf-option:hover{border-color:#c4bab0;transform:translateY(-1px)}.icf-option.active{border-color:var(--icf-red);background:#fff8f8;box-shadow:0 0 0 1px rgba(127,51,69,.08)}.icf-option strong{font-size:14px}.icf-option small{font-size:10px;line-height:1.4;color:#807b74;padding-right:24px}.icf-check{position:absolute;right:12px;top:12px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--icf-red);color:white;font-size:11px}.icf-option:not(.active) .icf-check{display:none}
.icf-segment{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ddd7cf;border-radius:12px;padding:3px;background:#f7f5f2}.icf-segment button{border:0;background:transparent;border-radius:9px;padding:10px 6px;font-size:11px;font-weight:700}.icf-segment button.active{background:#1e1f1f;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.13)}
.icf-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.icf-formgrid label,.icf-widefield,.icf-ins-field{font-size:10px;color:#625e58;font-weight:700}.icf-formgrid label span,.icf-widefield span{float:right;color:#a6a099;font-weight:500}.icf-formgrid input,.icf-widefield input,.icf-ins-field input,.icf-ins-field select,.icf-formgrid select{display:block;width:100%;margin-top:6px;height:44px;border:1px solid #d8d2ca;border-radius:10px;background:#fff;padding:0 12px;color:#191919;font-weight:650;outline:none}.icf-formgrid input:focus,.icf-widefield input:focus,.icf-ins-field input:focus,.icf-ins-field select:focus{border-color:#b9a99d;box-shadow:0 0 0 3px rgba(120,104,90,.08)}.icf-formgrid.compact input{height:40px}.icf-note{margin-top:16px;border:1px solid #eadfbf;background:#fff9e7;border-radius:11px;padding:12px;font-size:10px;line-height:1.5;color:#745e25}
.icf-label{font-size:10px;font-weight:800;color:#68635d}.icf-count{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:8px 0 16px}.icf-count button{border:1px solid #ddd7cf;background:#fff;border-radius:9px;height:38px;font-weight:800}.icf-count button.active{border-color:var(--icf-red);background:var(--icf-red);color:#fff}.icf-modulewidths{display:grid;gap:7px}.icf-modulewidths label{display:grid;grid-template-columns:34px 1fr 66px;align-items:center;gap:7px;border:1px solid #e3ddd5;border-radius:10px;padding:7px 9px;font-size:10px;font-weight:700}.icf-modulewidths input{height:32px;border:0;background:#f3f1ed;border-radius:7px;padding:0 8px;font-weight:700;width:100%}.icf-modulewidths span{font-size:9px;color:#8b857e}.icf-linkbtn,.icf-ins-wide{border:0;background:transparent;color:var(--icf-red);font-size:10px;font-weight:800;padding:10px 0;text-align:left}.icf-switchrow{margin-top:14px;border-top:1px solid #ebe6df;padding-top:15px;display:flex;align-items:center;justify-content:space-between}.icf-switchrow div{display:flex;flex-direction:column;gap:3px}.icf-switchrow strong{font-size:11px}.icf-switchrow small{font-size:9px;color:#8b857e}.icf-switch{position:relative}.icf-switch input{display:none}.icf-switch span{display:block;width:40px;height:22px;background:#d5d1cc;border-radius:20px;position:relative}.icf-switch span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.18s;box-shadow:0 1px 4px rgba(0,0,0,.2)}.icf-switch input:checked+span{background:var(--icf-red)}.icf-switch input:checked+span:after{left:21px}.icf-widefield{display:block;margin-top:13px}.icf-widefield input{display:inline-block;width:105px;margin-left:8px;height:36px}
.icf-modtabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:9px}.icf-modtabs button{border:1px solid #ded8d0;background:#fff;border-radius:10px;padding:8px 4px;display:flex;flex-direction:column;gap:2px}.icf-modtabs b{font-size:11px}.icf-modtabs span{font-size:8px;color:#8d877f}.icf-modtabs button.active{border-color:var(--icf-red);background:#fff6f6}.icf-moduleinfo{font-size:9px;color:#79736c;background:#f4f1ed;border-radius:9px;padding:10px;margin-bottom:12px}.icf-moduleinfo strong{display:block;color:#242321;margin-top:2px}.icf-catalog{display:grid;gap:7px}.icf-catalog>button{display:grid;grid-template-columns:38px 1fr 24px;align-items:center;gap:8px;text-align:left;border:1px solid #e0dad2;border-radius:11px;background:#fff;padding:8px 9px}.icf-catalog>button:hover{border-color:#bcaea3;box-shadow:0 4px 12px rgba(0,0,0,.05)}.icf-cat-icon{width:34px;height:34px;border-radius:9px;background:#f1eeea;display:grid;place-items:center;font-size:15px}.icf-catalog strong{display:block;font-size:10px}.icf-catalog small{display:block;font-size:8px;color:#938c84;margin-top:2px}.icf-catalog b{color:var(--icf-red);font-size:16px}.icf-list{display:grid;gap:5px;margin-top:5px}.icf-list button{border:1px solid #e2dcd4;background:#fff;border-radius:9px;text-align:left;padding:7px 9px;display:flex;justify-content:space-between;align-items:center}.icf-list button.active{border-color:var(--icf-red);background:#fff8f8}.icf-list span{font-size:9px;font-weight:700}.icf-list small{font-size:8px;color:#8d877f}.icf-list em{font-size:9px;color:#9c968f;padding:7px}
.icf-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.icf-swatches button{border:1px solid #ded8d0;background:#fff;border-radius:10px;padding:7px 5px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:8px}.icf-swatches button.active{border-color:var(--icf-red);box-shadow:inset 0 0 0 1px var(--icf-red)}.sw{width:30px;height:30px;border-radius:50%;border:1px solid rgba(0,0,0,.09);display:block}.sw.white{background:#f3f1eb}.sw.oak{background:repeating-linear-gradient(90deg,#d0aa7b 0,#c69a69 3px,#dfbd91 6px)}.sw.walnut{background:repeating-linear-gradient(90deg,#513522 0,#765039 3px,#3e2a1e 6px)}.sw.grey{background:#b6b6b1}
.icf-front-panels{display:grid;gap:10px;margin-top:10px}.icf-front-panel-row{border:1px solid #e3ddd5;border-radius:11px;padding:10px;background:#fbfaf7}.icf-front-panel-row>span{display:block;font-size:10px;font-weight:800;color:#5d5852;margin-bottom:8px}.icf-swatches.compact button{padding:6px 4px}.icf-swatches.compact .sw{width:22px;height:22px}
.icf-summarygrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.icf-summarygrid div,.icf-ins-card{border:1px solid #e2dcd4;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.icf-summarygrid span,.icf-ins-card span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#99928a}.icf-summarygrid strong,.icf-ins-card strong{font-size:10px}.icf-summaryline{margin-top:8px;border:1px solid #e2dcd4;border-radius:10px;padding:10px;font-size:9px;line-height:1.45}.icf-validation{margin-top:8px;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.icf-validation.ok{background:#edf8f2;color:#276b50}.icf-validation.bad{background:#fff0f0;color:#9e1720}.icf-validation strong{font-size:9px}.icf-validation small{font-size:8px}.icf-step-panel textarea{margin-top:9px;width:100%;min-height:70px;border:1px solid #ddd6ce;border-radius:10px;padding:10px;resize:vertical}.icf-privacy{font-size:9px;display:flex;gap:7px;align-items:flex-start;margin-top:12px;line-height:1.4}.icf-privacy a{color:var(--icf-red)}.icf-submiterr{margin-top:9px;color:#9f1520;background:#fff0f1;border-radius:8px;padding:8px;font-size:9px}
.icf-btn{min-height:44px;height:44px;border-radius:11px;border:1px solid #dcd6ce;padding:0 18px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1.1;text-align:center;white-space:nowrap;vertical-align:middle}.icf-btn.primary{background:var(--icf-red);color:#fff;border-color:var(--icf-red)}.icf-btn.primary:hover{background:var(--icf-red2)}.icf-btn.ghost{background:#fff}.icf-btn:disabled{opacity:.35;cursor:not-allowed}
.icf-stage{display:flex;flex-direction:column;overflow:hidden;position:relative}.icf-toolbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border-bottom:1px solid #e7e2db;background:#fff}.icf-toolgroup{display:flex;gap:5px}.icf-toolbar button{border:1px solid #ddd7cf;background:#fff;border-radius:9px;height:34px;padding:0 10px;font-size:9px;font-weight:800;color:#3f3c38}.icf-toolbar button:hover{background:#f4f1ed}.icf-toolbar button.active{background:#1f201f;color:#fff;border-color:#1f201f}.icf-toolbar button:disabled{opacity:.3}.icf-viewer-wrap{position:relative;flex:1;min-height:0;background:#eeece8;overflow:hidden}.icf-viewer{position:absolute;inset:0;transition:opacity .15s}.icf-viewer.hide{opacity:0;pointer-events:none}.icf-viewer canvas{display:block;width:100%;height:100%;touch-action:none}.icf-technical{position:absolute;inset:0;display:none;background:#fbfaf7;padding:10px}.icf-technical.show{display:block}.icf-technical svg{width:100%;height:100%}.icf-measure{position:absolute;z-index:4;font-size:10px;font-weight:800;color:#30302e;background:rgba(255,255,255,.88);padding:4px 8px;border-radius:7px;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}.icf-measure-w{top:14px;left:50%;transform:translateX(-50%)}.icf-measure-h{right:14px;top:50%;transform:translateY(-50%) rotate(90deg)}.icf-canvas-hint{position:absolute;left:16px;bottom:12px;z-index:4;background:rgba(20,21,20,.76);color:#fff;border-radius:999px;padding:7px 11px;font-size:8px;pointer-events:none;backdrop-filter:blur(5px)}.icf-status{min-height:62px;border-top:1px solid #e6e1da;background:#fff;padding:8px 12px;display:flex;align-items:center;gap:14px;overflow:hidden}.icf-modelstatus{display:flex;align-items:center;gap:8px;min-width:240px}.icf-modelstatus i{width:9px;height:9px;border-radius:50%;background:var(--icf-green);box-shadow:0 0 0 4px rgba(69,193,76,.11)}.icf-modelstatus.bad i{background:var(--icf-red);box-shadow:0 0 0 4px rgba(127,51,69,.10)}.icf-modelstatus span{display:flex;flex-direction:column;gap:2px}.icf-modelstatus strong{font-size:9px}.icf-modelstatus small{font-size:8px;color:#8c867e}.icf-modelchips{display:flex;gap:5px;flex-wrap:wrap}.icf-modelchips b{font-size:8px;font-weight:650;color:#8a847d;border:1px solid #e4dfd8;border-radius:999px;padding:5px 8px}.icf-flash{width:100%;border-radius:9px;padding:10px;font-size:9px;font-weight:700}.icf-flash.ok{background:#edf8f2;color:#1f7754}.icf-flash.warn{background:#fff8e7;color:#856821}.icf-flash.error{background:#fff0f1;color:#a2141e}
.icf-inspector{padding:20px 17px;overflow:auto}.icf-ins-title span{font-size:8px;color:var(--icf-red);font-weight:800;letter-spacing:.12em}.icf-ins-title h3{font-size:19px;margin:5px 0 2px}.icf-ins-title small{font-size:7px;color:#aaa39b}.icf-ins-card{margin-top:8px}.icf-ins-card strong.green{color:var(--icf-green)}.icf-ins-card strong.red{color:var(--icf-red)}.icf-ins-help{margin-top:15px;border-top:1px solid #e5dfd7;padding-top:13px}.icf-ins-help b{font-size:10px}.icf-ins-help p{font-size:9px;color:#817a73;line-height:1.55}.icf-ins-field{display:block;margin-top:13px}.icf-ins-field small{display:block;font-size:8px;color:#979088;margin-top:4px;font-weight:500}.icf-ins-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.icf-ins-row button,.icf-ins-wide{border:1px solid #ddd6ce;background:#fff;border-radius:9px;min-height:36px;padding:0 8px;font-size:9px;font-weight:700}.icf-ins-row button.danger{color:#b3141e}.icf-ins-wide{width:100%;margin-top:7px;text-align:center;color:#554e47}
.icf-success{min-height:calc(100vh - 32px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f6f3ee;padding:40px}.icf-success img{width:160px;margin-bottom:28px}.icf-success>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--icf-green)}.icf-success h2{font-size:36px;margin:10px 0}.icf-success p{max-width:560px;color:#6f6b65;line-height:1.6}.icf-success .icf-btn{margin-top:14px}
@media(max-width:1380px){.icf-main{grid-template-columns:320px minmax(520px,1fr) 260px}.icf-header{grid-template-columns:235px 1fr 150px}.icf-brand span{display:none}.icf-steps button span{font-size:9px}.icf-inspector{padding:16px 13px}}
@media(max-width:1120px){.icf-app{height:auto;min-height:100vh}.icf-header{position:sticky;top:0;grid-template-columns:180px 1fr 130px}.icf-steps button span{display:none}.icf-main{grid-template-columns:330px 1fr;padding:10px}.icf-inspector{grid-column:1/2;grid-row:2;border-radius:14px}.icf-stage{min-height:650px}.icf-sidebar{min-height:650px}.icf-inspector{display:none}}
@media(max-width:760px){.icf-viewer canvas{touch-action:pan-y pinch-zoom}.icf-header{height:auto;padding:10px;grid-template-columns:1fr;gap:8px}.icf-brand{grid-column:1}.icf-steps{grid-column:1;grid-row:2}.icf-main{display:flex;flex-direction:column}.icf-sidebar{min-height:570px;order:2}.icf-stage{min-height:520px;order:1}.icf-viewer-wrap{min-height:410px}.icf-step-panel{padding:20px 16px}.icf-toolbar{overflow:auto}.icf-canvas-hint{display:none}.icf-status{display:none}.icf-formgrid{grid-template-columns:1fr}.icf-nav{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:stretch}.icf-nav .icf-btn{width:100%;min-width:0}}

.icf-module-config{border:1px solid #e3ddd5;border-radius:12px;padding:7px;background:#fff;display:grid;gap:7px}.icf-module-config>label{border:0!important;padding:0!important;border-radius:0!important}.icf-module-openings{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.icf-module-openings button{border:1px solid #ddd6ce;background:#f8f6f3;border-radius:8px;height:30px;font-size:8px;font-weight:800;color:#5f5a54}.icf-module-openings button.active{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-module-openings button:hover{border-color:var(--icf-red)}.icf-module-doors{display:grid;gap:5px}.icf-module-doors>span{font-size:10px;font-weight:800;color:#5f5a54}.icf-module-door-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.icf-module-door-counts button{border:1px solid #ddd6ce;background:#f8f6f3;border-radius:8px;height:28px;font-size:10px;font-weight:800;color:#5f5a54}.icf-module-door-counts button.active{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-module-doors small{font-size:9px;color:#8b857e;line-height:1.35}
.icf-helpbox{margin:12px 0 14px;padding:10px 12px;border:1px solid var(--icf-line);background:#faf7f3;border-radius:12px;font-size:12px;line-height:1.45;color:#5a564f}.icf-muted{display:block;margin-top:6px;font-size:11px;color:var(--icf-muted)}.icf-module-config input:disabled{background:#f1eeea;color:#8b857d;cursor:not-allowed}.icf-stockstamp{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 9px;border-radius:999px;background:#eef7ef;color:#2f6d45;font-size:9px;font-weight:800;border:1px solid #d7eadb}
.icf-material-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}
.icf-material-card{min-height:58px;border:1px solid #ded8d0;background:#fff;border-radius:10px;padding:7px;text-align:left;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;color:#3f3c38}
.icf-material-card:hover{border-color:var(--icf-red)}
.icf-material-card.active{border-color:var(--icf-red);box-shadow:inset 0 0 0 1px var(--icf-red);background:#fffafb}
.icf-material-card>i{display:block;width:38px;height:38px;border-radius:7px;border:1px solid rgba(0,0,0,.08);background-size:100% 100%!important}
.icf-material-card>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.icf-material-card b{font-size:9px;line-height:1.2;white-space:normal}
.icf-material-card small{font-size:7.5px;color:#847e76;line-height:1.2}
.icf-material-card em{font-style:normal;font-size:7.5px;color:#3f855b;font-weight:700}
.icf-ral-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px}
.icf-ral-grid button{border:1px solid #ded8d0;background:#fff;border-radius:9px;padding:6px;display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;text-align:left;font-size:8px;color:#4d4944}
.icf-ral-grid button i{width:24px;height:24px;border-radius:6px;border:1px solid rgba(0,0,0,.12)}
.icf-ral-grid button.active{border-color:var(--icf-red);box-shadow:inset 0 0 0 1px var(--icf-red)}
.icf-segment button:disabled{opacity:.35;cursor:not-allowed}
.icf-note.compact{margin-top:8px;font-size:8.5px;line-height:1.35;padding:8px 10px}
.icf-front-panel-row select{width:100%;height:34px;border:1px solid #ddd7cf;border-radius:8px;background:#fff;padding:0 8px;font-size:9px;color:#4b4742}
@media(max-width:700px){.icf-material-grid,.icf-ral-grid{grid-template-columns:1fr}.icf-material-card{min-height:54px}}
.icf-material-section{margin:14px 0 18px;padding:12px;border:1px solid #e2ddd5;border-radius:14px;background:#fff}.icf-material-section.compact{background:#fbfaf8}.icf-material-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.icf-material-section-head>div{display:flex;flex-direction:column;gap:2px}.icf-material-section-head span{font-size:8px;letter-spacing:.11em;font-weight:900;color:var(--icf-red)}.icf-material-section-head strong{font-size:11px;color:#252321}.icf-material-section-head>b{font-size:8px;padding:4px 7px;border-radius:999px;background:#f4f1ed;color:#655f57;white-space:nowrap}.icf-material-types{margin-bottom:10px}.icf-material-families{display:flex;gap:5px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.icf-material-families button{border:1px solid #ddd7cf;background:#faf8f5;color:#5a554e;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;white-space:nowrap}.icf-material-families button.active{background:var(--icf-red);border-color:var(--icf-red);color:#fff}.icf-material-card u{text-decoration:none;font-size:7px;color:#9a938b;white-space:normal}.icf-material-caption{font-size:9px;color:#6d675f;margin:0 0 8px}.icf-ral-search{margin:0 0 9px}.icf-ral-search input{width:100%;height:36px;border:1px solid #dcd6ce;border-radius:9px;padding:0 10px;font-size:10px;background:#fff}.icf-color-warning{font-size:8px;line-height:1.4;color:#7d756c;padding:8px 10px;border-radius:9px;background:#f7f4f0;margin-top:-3px;margin-bottom:8px}

.icf-viewer-wrap.plan2d-mode .icf-measure,.icf-viewer-wrap.plan2d-mode .icf-canvas-hint{display:none!important}.icf-viewer-wrap.plan2d-mode{background:#fbfaf7}.icf-technical.show{padding:6px 8px}

/* v1.6.0 · ofertas cargables */

.icf-startblank{margin:0 0 10px;padding:12px;border:1px solid #ddd7cf;border-radius:13px;background:#fff;display:block}
.icf-startblank>div{display:flex;min-width:0;flex-direction:column;gap:3px}.icf-startblank strong{font-size:11px}.icf-startblank small{font-size:8.5px;line-height:1.35;color:#827b74}
.icf-offers-cta{width:100%;min-height:46px;margin:0 0 20px;border:1px solid var(--icf-red);background:var(--icf-red);color:#fff;border-radius:11px;padding:0 14px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 7px 16px rgba(127,51,69,.18);transition:.18s}.icf-offers-cta:hover{background:var(--icf-red2);border-color:var(--icf-red2);transform:translateY(-1px)}
.icf-offers{display:grid;gap:8px;margin:0 0 20px}.icf-offers-title{padding:0 2px 4px;display:flex;flex-direction:column;gap:3px}.icf-offers-title strong{font-size:11px}.icf-offers-title small{font-size:8.5px;line-height:1.4;color:#827b74}
.icf-offer-card{border:1px solid #ddd7cf;border-radius:12px;background:#fff;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center}.icf-offer-card>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.icf-offer-card>div:first-child span{font-size:7.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--icf-red)}.icf-offer-card>div:first-child strong{font-size:11px}.icf-offer-card>div:first-child small{font-size:7.5px;line-height:1.35;color:#8b847c}
.icf-offer-price{text-align:right;display:flex;flex-direction:column;gap:1px;white-space:nowrap}.icf-offer-price{font-size:13px;font-weight:850;color:#302d2a}.icf-offer-price small{font-size:7px;font-weight:600;color:#918981}.icf-offer-price em{font-size:9px;font-style:normal;color:#918981}
.icf-offer-card>button{grid-column:1/-1;border:0;background:var(--icf-red);color:#fff;border-radius:9px;min-height:34px;font-size:9px;font-weight:800}.icf-offer-card>button:hover:not(:disabled){background:var(--icf-red2)}.icf-offer-card>button:disabled{cursor:not-allowed;background:#d8d2cb;color:#807970}.icf-offer-card.disabled{background:#f7f4f0;opacity:.82}.icf-offer-card>p{grid-column:1/-1;margin:0;font-size:7.5px;line-height:1.4;color:#8a5b32}
@media(max-width:760px){.icf-offer-card{grid-template-columns:1fr}.icf-offer-price{text-align:left}.icf-offers-cta{min-height:48px}}

/* v1.8.0 · Imágenes realistas IA */

/* v1.8.1 · Presentación comercial sin servicio IA */
.icf-presentation-card{margin:12px 0;border:1px solid #d9d2ca;border-radius:14px;background:linear-gradient(135deg,#fff 0,#fbf7f5 100%);padding:13px;box-shadow:0 8px 24px rgba(50,38,34,.05)}
.icf-presentation-card>div{display:flex;flex-direction:column;gap:3px}.icf-presentation-card span{font-size:8px;font-weight:900;letter-spacing:.12em;color:var(--icf-red)}.icf-presentation-card strong{font-size:12px}.icf-presentation-card p{margin:2px 0 0;font-size:9px;line-height:1.5;color:#746d66}

/* v1.8.7 · Biblioteca de proyectos por usuario */
/* v1.9.0 · armarios lineales / L / U */
.icf-layout-options{margin-bottom:18px}.icf-run-section{border:1px solid #ded7ce;border-radius:14px;padding:12px;margin:0 0 14px;background:#fff}.icf-run-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.icf-run-head span{display:block;font-size:9px;letter-spacing:.12em;color:#8e314b;font-weight:800}.icf-run-head h3{margin:2px 0 0;font-size:15px}.icf-run-head>b{font-size:12px;color:#5e5953;background:#f6f2ed;border:1px solid #e5ddd3;border-radius:9px;padding:6px 8px}.icf-run-section .icf-modulewidths{margin-top:10px}.icf-run-section .icf-linkbtn{margin-top:8px}

/* v1.9.5 · Tablet: navegación de pasos siempre accesible y viewport dinámico */
@media (pointer:coarse) and (max-width:1400px){
  .icf-root{min-height:100dvh;height:100dvh;overflow:hidden}
  .icf-app{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}
  .icf-main{min-height:0;overflow:hidden}
  .icf-sidebar{min-height:0!important;height:100%;max-height:100%;overflow:hidden}
  .icf-step-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:24px}
  .icf-nav{position:relative;bottom:auto;z-index:25;flex:0 0 auto;min-height:66px;padding-bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 18px rgba(44,38,32,.06)}
  .icf-nav .icf-btn{min-height:46px;touch-action:manipulation}
}
@media (pointer:coarse) and (max-width:1120px){
  .icf-app{height:100dvh!important;min-height:0!important}
  .icf-main{height:auto;flex:1;min-height:0}
  .icf-stage,.icf-sidebar{min-height:0!important}
}

/* v1.9.6 · Altillo no disponible por debajo de 1950 mm */
.icf-switchrow.disabled{opacity:.58}.icf-switchrow.disabled .icf-switch span{cursor:not-allowed;background:#d8d3cd}.icf-switchrow.disabled small{color:#8e3148;font-weight:700}

/* v2.0.5 · opción visible de puertas independientes de altillo */
.icf-front-altillo-option{margin:4px 0 12px;padding:11px 10px;border:1px solid #ded7cf;border-radius:11px;background:#faf8f5}.icf-front-altillo-option>div{padding-right:10px}.icf-front-altillo-option strong{font-size:10px}.icf-front-altillo-option small{font-size:8px;line-height:1.45}


/* v2.0.11 · fix cajoneras vistas sin hueco libre */
.icf-handle-config{margin-top:13px;padding-top:12px;border-top:1px solid #ebe6df}.icf-handle-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.icf-handle-title span{font-size:8px;letter-spacing:.11em;font-weight:900;color:var(--icf-red)}.icf-handle-title strong{font-size:10px}.icf-handle-type{margin-bottom:10px}.icf-handle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.icf-handle-grid label{font-size:9px;font-weight:800;color:#625e58}.icf-handle-grid input{width:100%;height:36px;margin-top:5px;border:1px solid #d8d2ca;border-radius:9px;background:#fff;padding:0 9px;font-weight:750}.icf-handle-grid span{display:block;margin-top:3px;font-size:7px;color:#9a938b;font-weight:500}.icf-handle-finish-label{font-size:8px;font-weight:900;color:#655f58;margin:10px 0 6px}.icf-handle-finishes{grid-template-columns:repeat(3,1fr)}.icf-handle-finishes button{display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px}.icf-handle-swatch{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex:0 0 auto}.icf-handle-swatch.stainless{background:linear-gradient(135deg,#cfd4da,#f3f5f7,#d9dde2)}.icf-handle-swatch.black{background:#242629}.icf-handle-swatch.brass{background:linear-gradient(135deg,#b78f00,#e0b900,#d2a900)}.icf-handle-safe{display:block;margin-top:7px;font-size:8px;line-height:1.45;color:#857e76}.icf-segment button.active .icf-handle-swatch{border-color:rgba(255,255,255,.55)}

/* IRISAL público: capa de solicitud, aislada del motor 3D. */
.icf-upload{display:block;margin:14px 0;padding:12px;border:1px dashed #cfc4b9;border-radius:12px;background:#fbfaf8;font-size:10px;font-weight:800;color:#57524d}.icf-upload span{display:flex;justify-content:space-between;gap:10px;align-items:center}.icf-upload small{font-weight:500;color:#8d857d}.icf-upload input{display:block;width:100%;margin-top:9px;font-size:10px}.icf-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.icf-turnstile{margin:12px 0;min-height:1px}.icf-data-note{margin:8px 0;background:transparent;border:0;padding:0;color:#8a837c}
@media(max-width:760px){.icf-upload span{display:block}.icf-upload small{display:block;margin-top:3px}}
/* v2.1.0 · módulos mixtos, frentes parciales y nichos personalizados */
.icf-front-composition{margin:0 0 14px;padding:12px;border:1px solid #e2dcd4;border-radius:13px;background:#fff}
.icf-front-module-tabs{margin:10px 0}.icf-front-mode{margin:8px 0 10px}
.icf-front-zone{border:1px solid #e5dfd8;border-radius:11px;padding:9px;margin:8px 0;background:#fbfaf8}
.icf-front-zone.open{background:#f5f9f7}.icf-front-zone.hinged{background:#fbf6f7}.icf-front-zone.drawer{background:#faf7ef}.icf-front-zone.fixed{background:#f4f2ef}
.icf-zone-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:7px}.icf-zone-head strong{font-size:10px}.icf-zone-head small{display:block;font-size:7px;color:#8d867e;margin-top:2px}.icf-zone-head b{font-size:8px;color:#8e3148;white-space:nowrap}
.icf-zone-types{display:grid;grid-template-columns:1fr 1fr;gap:5px}.icf-zone-types button,.icf-zone-door-count button{border:1px solid #d9d2ca;background:#fff;border-radius:8px;min-height:31px;font-size:8px;font-weight:800}.icf-zone-types button.active,.icf-zone-door-count button.active{background:#202222;color:#fff;border-color:#202222}
.icf-zone-fixed-type{font-size:8px;font-weight:800;color:#6d675f;padding:6px 0}.icf-zone-door-count{display:flex;align-items:center;gap:5px;margin-top:7px}.icf-zone-door-count span{font-size:8px;font-weight:800;margin-right:auto}.icf-zone-door-count button{min-width:34px;padding:0 8px}
.icf-zone-niche{display:block;margin-top:8px;font-size:8px;font-weight:800;color:#625d56}.icf-zone-niche select{width:100%;height:34px;margin-top:4px;border:1px solid #d9d2ca;border-radius:8px;background:#fff;padding:0 7px;font-size:8px}.icf-zone-niche small{display:block;margin-top:3px;font-size:7px;font-weight:500;color:#8c857c}
@media(max-width:720px){.icf-front-composition{padding:9px}.icf-zone-head{flex-direction:column}.icf-zone-types{grid-template-columns:1fr}}
.icf-front-summary{margin:10px 0;padding:10px 12px;border:1px solid #e4ddd5;border-radius:11px;background:#fbfaf8;display:grid;gap:6px}.icf-front-summary>strong{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--icf-red)}.icf-front-summary>div{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:start;font-size:9px}.icf-front-summary>div b{color:#332f2c}.icf-front-summary>div span{color:#6f675f;line-height:1.4}


/* IRISAL público v1.2.1 · ajuste visual final y nomenclatura comercial */
.icf-header{grid-template-columns:minmax(390px,470px) minmax(520px,1fr)}
.icf-brand{min-width:0}.icap-brand-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.icap-brand-copy>strong{font-size:10px;letter-spacing:.11em;line-height:1.2;white-space:normal}.icap-brand-copy>small{font-size:7px;line-height:1.25;color:#7a746e;font-weight:600}.icap-brand-contact{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:8px;line-height:1.2}.icap-brand-contact a{color:#5d5752;text-decoration:none;font-weight:800}.icap-brand-contact a:hover,.icap-brand-contact a:focus{color:var(--icf-red);text-decoration:underline}.icap-brand-contact i{font-style:normal;color:#b5ada5}
.icap-legal-short{flex:0 0 auto;padding:9px 14px 10px;text-align:center;color:var(--icf-red);font-size:15px;line-height:1.3;font-weight:800;letter-spacing:.01em;background:#fff;border-top:1px solid #eee8e1}
.icap-legal-full{margin:12px 0 4px;padding:11px 12px;border:1px solid rgba(142,49,72,.22);border-radius:10px;background:#fff8f9;color:var(--icf-red);font-size:8px;line-height:1.55}.icap-legal-full strong{display:block;margin-bottom:2px;font-size:8px}
@media(max-width:1240px){.icf-header{grid-template-columns:minmax(320px,390px) minmax(440px,1fr)}.icap-brand-copy>small{display:none}.icap-brand-contact{font-size:7px}}
@media(max-width:900px){.icf-header{grid-template-columns:1fr}.icap-brand-contact{gap:4px}.icap-brand-copy>strong{font-size:9px}.icap-legal-short{font-size:13px;padding:8px 9px}}
@media(max-width:520px){.icap-brand-contact i{display:none}.icap-brand-contact{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.icap-brand-contact a:first-child{grid-column:1/-1}.icap-legal-short{font-size:12px;padding:8px 7px}}
