.app-shell .project-assets-form{background:#faf8fb;border:1px solid #59237f2e;border-radius:14px;gap:10px;margin:14px 0;padding:14px;display:grid}.app-shell .project-assets-form>fieldset{display:contents}.app-shell .project-assets-form>fieldset:disabled{opacity:.62}.app-shell .project-assets-form .project-assets-consent{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;line-height:1.45}.app-shell .project-assets-form .project-assets-consent input{width:18px;height:18px;accent-color:var(--purple);margin:1px 0 0}.app-shell .project-assets-form .project-assets-consent a{color:var(--purple)}.app-shell .project-assets-form>div,.app-shell .project-assets-form label{gap:4px;display:grid}.app-shell .project-assets-form p{color:#5c5560;margin:0;line-height:1.45}.app-shell .project-assets-form select,.app-shell .project-assets-form input[type=file]{color:#171419;background:#fff;border:1px solid #d8d0dc;border-radius:10px;width:100%;min-height:44px;padding:9px}.app-shell .project-assets-form button{color:#fff;background:#59237f;border:0;border-radius:10px;min-height:44px;font-weight:750}.app-shell .project-assets-form button:disabled{cursor:not-allowed}.app-shell .project-assets-form ul{color:#2f6b45;gap:4px;margin:0;padding-left:18px;display:grid}.app-shell .server-status-offline,.app-shell .server-status-conflict{color:#8a5c21}.app-shell{background:#f5f3f5;min-height:100vh}.topbar{border-bottom:1px solid var(--border);z-index:20;background:#fffffff7;grid-template-columns:250px 1fr auto;align-items:center;height:72px;padding:0 20px;display:grid;position:relative}.brand-block{align-items:center;gap:12px;min-width:0;display:flex}.brand-block img{object-fit:contain;object-position:left center;width:160px;height:29px}.brand-block span{letter-spacing:.16em;text-transform:uppercase;color:#5c5560;border-left:1px solid #ddd7dd;padding-left:12px;font-size:10px}.project-steps{justify-content:center;align-items:center;gap:0;display:flex}.project-steps button{-webkit-appearance:none;appearance:none;cursor:pointer;color:#979098;background:0 0;border:0;align-items:center;gap:7px;padding:9px 28px;font-size:12px;font-weight:700;display:flex;position:relative}.project-steps button:not(:last-child):after{content:"";background:#ddd7dd;width:16px;height:1px;position:absolute;right:-8px}.project-steps i{border:1px solid #d9d2d9;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;font-style:normal;display:grid}.project-steps .active,.project-steps button:hover{color:var(--purple)}.project-steps .active i{color:#fff;border-color:var(--purple);background:var(--purple);box-shadow:0 0 0 4px var(--purple-soft)}.top-actions{justify-content:flex-end;gap:8px;min-width:0;display:flex}.mobile-project-button,.summary-mobile-close,.mobile-summary-rail,.quote-label-mobile,.rail-label-mobile,.summary-project-actions{display:none}.project-save-button,.project-new-button,.quote-button,.qr-button{cursor:pointer;border-radius:10px;height:42px;padding:0 16px;font-size:12px;font-weight:800}.project-save-button,.project-new-button{border:1px solid var(--border);background:#fff}.qr-button{color:var(--purple);background:#f7f2fa;border:1px solid #d8cadf;align-items:center;gap:8px;display:flex}.desktop-history-button{color:#665f67;cursor:pointer;background:#fff;border:1px solid #ded6e1;border-radius:10px;height:42px;padding:0 10px;font-size:9px;font-weight:800}.desktop-history-button:disabled{opacity:.38}.qr-button span{font-size:16px}.qr-button b{font-size:10px}.quote-button{background:var(--purple);color:#fff;border:0;box-shadow:0 8px 20px #5a258f2b}.quote-button:disabled{opacity:.55;box-shadow:none;cursor:not-allowed}.quote-button span{margin-left:10px}.workspace{grid-template-columns:78px 300px minmax(480px,1fr) 310px;min-height:calc(100vh - 72px);display:grid}.tool-rail{border-right:1px solid var(--border);z-index:8;background:#fff;flex-direction:column;gap:7px;padding:16px 8px 12px;display:flex;position:relative}.tool-rail button{cursor:pointer;color:#777078;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:61px;padding:8px 3px;font-size:9px;font-weight:700;transition:all .2s;display:flex}.tool-rail b{font-size:21px;font-weight:500;line-height:1}.tool-rail button:hover,.tool-rail button.active{color:var(--purple);background:var(--purple-soft)}.tool-rail button.active:before{content:"";background:var(--purple);border-radius:0 3px 3px 0;width:3px;height:28px;position:absolute;left:0}.rail-spacer{flex:1}.tool-rail .ar-rail{background:var(--purple-dark);color:#fff}.tool-rail .ar-rail:hover{background:var(--purple);color:#fff}.ar-rail b{border:1px solid #fff9;border-radius:5px;padding:4px;font-size:15px}.catalog-panel{border-right:1px solid var(--border);scrollbar-width:thin;background:#fbfafb;max-height:calc(100vh - 72px);padding:24px 18px;overflow-y:auto}.panel-heading{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.panel-heading small,.summary-heading>small,.quote-modal>small,.success-state small{color:var(--purple);letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:800;display:block}.panel-heading h1{letter-spacing:-.03em;margin:0;font-size:21px;line-height:1.15}.panel-heading>span{color:#9c969c;background:#efedef;border-radius:20px;padding:5px 8px;font-size:11px}.layout-switcher{background:#efedef;border-radius:10px;grid-template-columns:1fr 1fr;gap:3px;padding:4px;display:grid}.layout-switcher button{color:#777078;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 6px;font-size:10px}.layout-switcher i{color:#9b949b;margin-right:7px;font-style:normal}.layout-switcher button.active{color:var(--purple);background:#fff;font-weight:800;box-shadow:0 2px 8px #32193714}.panel-hint{color:#857e85;margin:14px 2px 16px;font-size:10px;line-height:1.55}.module-list{flex-direction:column;gap:7px;display:flex}.module-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e8e3e8;border-radius:11px;grid-template-columns:48px 1fr 24px;align-items:center;gap:10px;width:100%;padding:10px;transition:all .2s;display:grid}.module-card:hover{border-color:#b89dcd;transform:translateY(-1px);box-shadow:0 7px 17px #361e3d14}.module-card>strong{width:24px;height:24px;color:var(--purple);border:1px solid #ded7de;border-radius:7px;place-items:center;display:grid}.module-sketch{background:linear-gradient(145deg,#fff,#efebed);border:1px solid #bdb7bd;flex-direction:column;width:48px;height:48px;display:flex;position:relative;box-shadow:3px 3px #ddd7dd}.module-sketch i{border-bottom:1px solid #cbc4cb;flex:1}.sketch-upper{height:38px}.sketch-tall{width:35px;height:55px;margin-left:6px}.module-copy{flex-direction:column;min-width:0;display:flex}.module-copy b{font-size:11px}.module-copy small{color:#5f5960;margin:2px 0;font-size:9px}.module-copy em{color:#a19ba1;font-size:8px;font-style:normal}.material-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.material-category-tabs{scrollbar-width:thin;gap:5px;margin:-2px 0 11px;padding-bottom:3px;display:flex;overflow-x:auto}.material-category-tabs button{color:#786f79;cursor:pointer;background:#fff;border:1px solid #ded6e2;border-radius:16px;flex:none;height:27px;padding:0 9px;font-size:7px;font-weight:800}.material-category-tabs button.active{border-color:var(--purple);background:var(--purple);color:#fff}.material-card{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:11px;min-width:0;padding:7px;transition:transform .2s,border-color .2s,box-shadow .2s}.material-card:hover{border-color:#cdbbd7;transform:translateY(-2px);box-shadow:0 8px 20px #331d3d14}.material-card.active{border-color:var(--purple);box-shadow:0 0 0 2px var(--purple-soft)}.material-chip{background-position:50%;background-size:cover;border-radius:7px;height:82px;margin-bottom:8px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #14141414}.material-chip:after{content:"";mix-blend-mode:soft-light;background:linear-gradient(115deg,#0000 10%,#ffffff29 48%,#0000 70%);position:absolute;inset:0}.material-card b,.material-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.material-card b{font-size:9px}.material-card small{color:#938d93;margin-top:3px;font-size:8px}.material-card em{color:var(--purple);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:6px;font-style:normal;font-weight:800;display:block;overflow:hidden}.surface-list,.handle-list{flex-direction:column;gap:8px;display:flex}.surface-card,.handle-card{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:65px 1fr 18px;align-items:center;gap:10px;padding:8px;display:grid}.surface-card.active,.handle-card.active{border-color:var(--purple);box-shadow:0 0 0 2px var(--purple-soft)}.surface-sample{background-position:50%;background-size:cover;border-radius:6px;width:65px;height:48px;box-shadow:inset 0 0 0 1px #00000012}.surface-card b,.handle-card b{font-size:10px;display:block}.surface-card small,.handle-card small{color:#938d93;margin-top:4px;font-size:8px;display:block}.surface-card>i,.handle-card>i{color:#0000;font-style:normal}.surface-card.active>i,.handle-card.active>i{color:var(--purple)}.sample-marble-light{background-image:linear-gradient(120deg,#0000 35%,#70696a59 37%,#0000 40%),linear-gradient(60deg,#0000 60%,#90888640 62%,#0000 65%)}.sample-stone-dark{background-image:radial-gradient(circle at 20% 30%,#5a5651 0 2px,#0000 3px),radial-gradient(circle at 70% 60%,#262625 0 2px,#0000 3px),linear-gradient(135deg,#46423f,#242424)}.sample-oak{background-image:repeating-linear-gradient(92deg,#0000 0 6px,#522b1624 7px 8px),linear-gradient(#b78a5d,#8b623f)}.sample-stone-warm{background-image:radial-gradient(at 30% 20%,#fff3,#0000 24%),linear-gradient(135deg,#9a8174,#645249)}.handle-preview{background:#f0edef;border-radius:6px;place-items:center;width:65px;height:48px;display:grid}.handle-preview i{background:#a9a7a8;border-radius:5px;width:42px;height:3px;display:block;box-shadow:0 2px 3px #0003}.preview-edge i{background:#d3c47d;width:30px}.preview-black i{background:#222}.preview-steel i{background:linear-gradient(#eee,#8e8f90)}.preview-rail i{background:#777;width:52px;height:4px;box-shadow:7px 3px 0 -2px #777,-7px 3px 0 -2px #777}.stage{background:var(--canvas);grid-template-rows:58px minmax(430px,1fr) 82px;min-width:0;max-height:calc(100vh - 72px);display:grid}.stage-toolbar{border-bottom:1px solid var(--border);background:#fffc;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.view-toggle{background:#e9e6e8;border-radius:9px;padding:3px;display:flex}.view-toggle button{color:#817a81;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:9px}.view-toggle button.active{color:#302c30;background:#fff;font-weight:800;box-shadow:0 2px 7px #28142d14}.room-size{color:#8a848a;align-items:center;gap:9px;font-size:9px;display:flex}.room-size b{color:#373237}.room-size button{color:var(--purple);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800}.room-scene{perspective:1200px;background:linear-gradient(#f8f5ef 0 72%,#c8b9a8 72%);place-items:center;min-height:430px;display:grid;position:relative;overflow:hidden}.scene-window{opacity:.88;background:linear-gradient(140deg,#dcebf0,#a8c4ce);border:8px solid #f4f0eb;width:20%;height:54%;position:absolute;top:7%;left:3.5%;box-shadow:0 16px 35px #2b393e21}.scene-window:before,.scene-window:after{content:"";z-index:2;background:#f4f0eb;position:absolute}.scene-window:before{width:5px;top:0;bottom:0;left:48%}.scene-window:after{height:5px;top:54%;left:0;right:0}.scene-window i{background:#4f6e794d;width:70%;height:1px;position:absolute;top:32%;left:15%;transform:rotate(-28deg)}.scene-window i:last-child{top:70%}.scene-sun{background:linear-gradient(105deg,#fff4d16b,#0000 65%);width:48%;height:120%;position:absolute;top:-20%;left:8%;transform:skew(-12deg)}.scene-floor{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);background:repeating-linear-gradient(92deg,#50331e14 0 1px,#0000 1px 73px),linear-gradient(120deg,#cbbba9,#b9a694);position:absolute;inset:72% 0 0}.scene-plant{z-index:3;width:60px;height:110px;position:absolute;bottom:15%;right:2.5%}.scene-plant b{background:#765f4c;border-radius:4px 4px 12px 12px;width:42px;height:42px;position:absolute;bottom:0;left:12px}.scene-plant i{transform-origin:bottom;background:#657655;border-radius:100% 0;width:16px;height:52px;position:absolute;bottom:35px;left:27px;transform:rotate(-34deg)}.scene-plant i:nth-child(2){background:#788867;height:64px;transform:rotate(18deg)}.scene-plant i:nth-child(3){height:48px;transform:rotate(53deg)}.scene-plant i:nth-child(4){height:70px;transform:rotate(-6deg)}.scene-profiler{color:#f4f0f6;white-space:pre;pointer-events:none;background:#141116d1;border:1px solid #fffc;border-radius:10px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;position:absolute;top:16px;left:16px}.wall-visibility{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffc7;border:1px solid #fffc;border-radius:11px;align-items:center;gap:4px;margin:0;padding:5px 7px;display:flex;position:absolute;top:16px;right:16px}.wall-visibility legend{float:left;color:#8b848b;letter-spacing:.06em;text-transform:uppercase;padding:0 6px 0 2px;font-size:10px;font-weight:800}.wall-visibility label{color:#635d64;cursor:pointer;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700}.wall-visibility label.is-active{background:var(--purple);color:#fff}.wall-visibility input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.wall-visibility label:focus-within{outline:2px solid var(--purple);outline-offset:1px}@media (max-width:680px){.wall-visibility{padding:4px;top:10px;right:10px}.wall-visibility legend{display:none}.wall-visibility label{padding:6px 8px;font-size:10px}}.scene-caption{color:#716b71;gap:9px;font-size:8px;display:flex;position:absolute;bottom:16px;left:18px}.scene-caption span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #fffc;border-radius:7px;padding:6px 9px}.scene-caption b{padding:6px 0}.kitchen-system{--front-color:#8b9a83;--counter-color:#eee;z-index:4;filter:drop-shadow(0 22px 18px #2d221e33);transform-origin:bottom;align-items:flex-end;display:flex;position:relative;transform:translate(3%,2%)rotateY(-3deg)scale(.87)}.kitchen-wall-set{width:fit-content;padding-top:7px;position:relative}.upper-row,.lower-row{justify-content:center;align-items:flex-end;display:flex}.upper-row{align-items:stretch;gap:2px;height:116px}.lower-row{align-items:stretch;gap:2px;height:112px}.cabinet{-webkit-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--front-color) 76%,#222);background:var(--front-color);color:var(--front-text);width:var(--cabinet-width);cursor:pointer;min-width:46px;padding:0;transition:all .15s;position:relative;overflow:visible;box-shadow:inset -4px 0 #ffffff09,inset 0 1px #fff3}.cabinet:hover{filter:brightness(1.04)}.cabinet-upper{height:116px}.cabinet-lower{height:112px}.cabinet-tall{height:254px;width:var(--cabinet-width);min-width:64px}.tall-row{align-items:end;height:254px;margin-left:3px;display:flex}.tall-row .cabinet:before{content:"";background:#1e1e1e47;height:1px;position:absolute;top:46%;left:0;right:0}.cabinet.is-selected{outline:2px solid var(--purple);outline-offset:3px;z-index:3}.selection-tag{background:var(--purple);color:#fff;z-index:8;border-radius:5px;padding:3px 6px;font-size:8px;position:absolute;bottom:-27px;left:50%;transform:translate(-50%)}.selection-tag:before{content:"";border-style:solid;border-width:0 3px 3px;border-color:transparent transparent var(--purple);position:absolute;top:-3px;left:calc(50% - 3px)}.backsplash{background-color:#d7d1c9;height:73px;margin:0 1px;position:relative;overflow:hidden}.backsplash:after{content:"";background:linear-gradient(120deg,#ffffff2e,#0000 40%,#4d3e3314);position:absolute;inset:0}.rail-light{z-index:2;background:linear-gradient(#fff1c4,#0000);height:8px;position:absolute;top:0;left:0;right:0}.tap{z-index:2;color:#544b45;font-size:32px;position:absolute;bottom:5px;left:19%;transform:rotate(-12deg)}.countertop{background:var(--counter-color);z-index:2;height:9px;margin:0 -4px;position:relative;box-shadow:0 3px 5px #1c141040}.plinth{background:#5b5754;height:9px;margin:0 6px}.handle{background:#282828b3;border-radius:3px;width:2px;height:26px;position:absolute;top:50%;right:6px}.cabinet-lower .handle{width:27px;height:2px;top:11px;left:50%;transform:translate(-50%)}.handle-edge{background:#c7b97b;transform:translate(-50%);width:28px!important;height:2px!important;top:2px!important;left:50%!important;right:auto!important}.cabinet-upper .handle-edge{transform:none;width:2px!important;height:27px!important;top:45%!important;left:auto!important;right:1px!important}.handle-black{background:#1d1d1d}.handle-steel{background:linear-gradient(90deg,#eee,#727272)}.handle-rail{background:#555;width:36px!important}.drawer-lines{border-top:1px solid #19191942;border-bottom:1px solid #19191942;position:absolute;inset:33% 0 0}.oven-face{background:#171717;border:3px solid #292929;position:absolute;inset:12px 7px 9px;box-shadow:inset 0 0 17px #000}.oven-face:before{content:"";background:#888;height:2px;position:absolute;top:9px;left:18%;right:18%}.oven-face i{border:1px solid #aaa;border-radius:50%;width:4px;height:4px;position:absolute;top:4px;left:8px}.sink-bowl{z-index:3;background:#454545;border:2px solid #313131;border-radius:2px 2px 12px 12px;height:16px;position:absolute;top:-11px;left:14%;right:14%}.glass-face{border:4px solid color-mix(in srgb,var(--front-color) 90%,#222);background:linear-gradient(120deg,#ffffff8c,#41494b59);position:absolute;inset:6px}.kitchen-measure{color:#6f686f;letter-spacing:.05em;font-size:8px;position:absolute}.measure-top{text-align:center;border-top:1px solid #9f999f;height:1px;top:-13px;left:0;right:66px}.measure-top:before,.measure-top:after{content:"";border-left:1px solid #9f999f;height:7px;position:absolute;top:-3px}.measure-top:before{left:0}.measure-top:after{right:0}.measure-top span{background:#f6f2ed;padding:0 5px;position:relative;top:-12px}.measure-side{writing-mode:vertical-rl;text-align:center;border-right:1px solid #9f999f;top:0;bottom:0;right:-28px}.measure-side span{background:#f6f2ed;padding:4px 0;position:relative;top:42%;right:-12px}.kitchen-return{background:color-mix(in srgb,var(--front-color) 88%,#111);transform-origin:0 0;border-top:7px solid var(--counter-color);width:160px;height:48px;display:flex;position:absolute;bottom:-48px;left:5px;transform:skew(-48deg)}.kitchen-return i{border-right:1px solid #0003;flex:1}.reference-view{background:#201d20;position:relative;overflow:hidden}.reference-view>img{object-fit:cover;opacity:.93;width:100%;height:100%;display:block}.reference-view>div{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1f1b1fc7;border-radius:12px;max-width:320px;padding:15px 17px;position:absolute;bottom:20px;left:20px}.reference-view small,.reference-view b{display:block}.reference-view small{color:#c8a8dd;text-transform:uppercase;letter-spacing:.16em;font-size:8px}.reference-view b{margin:5px 0;font-size:12px}.reference-view p{color:#d3ced3;margin:0;font-size:9px;line-height:1.5}.stage-footer{border-top:1px solid var(--border);z-index:7;background:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 14px;display:grid;position:relative}.selected-summary{align-items:center;gap:10px;min-width:0;display:flex}.selection-icon{background:var(--purple-soft);width:38px;height:38px;color:var(--purple);border-radius:8px;place-items:center;font-size:18px;display:grid}.selected-summary div{flex-direction:column;min-width:0;display:flex}.selected-summary small,.project-stats small,.ar-main-button small{color:#989198;font-size:8px}.selected-summary b{font-size:10px}.selected-summary em{color:#8f888f;font-size:8px;font-style:normal}.selected-summary button{color:#a25a66;cursor:pointer;background:0 0;border:0;margin-left:4px;font-size:8px}.selected-summary button:disabled{opacity:.35}.project-stats{border-left:1px solid var(--border);border-right:1px solid var(--border);gap:15px;padding:0 14px;display:flex}.project-stats div{flex-direction:column;display:flex}.project-stats b{font-size:11px}.ar-main-button{color:#fff;text-align:left;cursor:pointer;background:linear-gradient(135deg,#371650,#6e2da7);border:0;border-radius:12px;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;min-width:196px;height:56px;padding:0 13px;display:grid;box-shadow:0 8px 20px #43196333}.ar-main-button>span{border:1px solid #ffffffa6;border-radius:7px;place-items:center;width:30px;height:30px;font-size:10px;font-weight:800;display:grid}.ar-main-button div{flex-direction:column;display:flex}.ar-main-button small{color:#cdbada}.ar-main-button b{font-size:9px}.ar-main-button i{font-style:normal}.summary-panel{border-left:1px solid var(--border);background:#fff;max-height:calc(100vh - 72px);padding:25px 20px;overflow-y:auto}.planner-catalog-alert{z-index:60;background:#fffaf1;border:1px solid #d8b98a;border-radius:12px;width:min(680px,100% - 24px);padding:14px;position:fixed;top:82px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #3a2a1b29}.planner-catalog-alert.is-stacked{top:176px}.planner-catalog-alert div{gap:3px;display:grid}.planner-catalog-alert b{font-size:14px}.planner-catalog-alert span{color:#6b5a45;font-size:12px;line-height:1.4}.planner-storage-alert{z-index:60;background:#fff7f8;border:1px solid #d9aeb7;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;width:min(680px,100% - 24px);padding:14px;display:flex;position:fixed;top:82px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #3a1b232e}.planner-storage-alert div{gap:3px;display:grid}.planner-storage-alert b{font-size:14px}.planner-storage-alert span{color:#6b555a;font-size:12px;line-height:1.4}.planner-storage-alert button{color:#fff;cursor:pointer;background:#59237f;border:0;border-radius:9px;min-height:44px;padding:0 15px;font-size:12px;font-weight:800}.planner-storage-alert .planner-recovery-actions{flex-wrap:wrap;grid-template-columns:none;gap:8px;display:flex}.planner-storage-alert button.is-secondary{color:#59237f;background:#fff;border:1px solid #8f6aa7}.summary-exact-parameters{border:1px solid #ded6e1;border-radius:10px;margin:10px 0;padding:10px}.summary-exact-parameters summary,.exact-parameters summary{color:#59237f;cursor:pointer;align-items:center;min-height:44px;font-size:12px;font-weight:850;display:flex}.summary-exact-parameters p{color:#6b636d;font-size:12px;line-height:1.45}.scene-caption.exact-parameters{background:#ffffffdb;border-radius:8px;padding:0 8px;display:block}.scene-caption.exact-parameters summary{min-height:32px}.scene-caption.exact-parameters[open]{max-width:min(540px,100% - 36px);padding-bottom:8px}.scene-caption.exact-parameters[open] span,.scene-caption.exact-parameters[open] b{display:block}.summary-heading{border-bottom:1px solid var(--border);padding-bottom:17px;position:relative}.summary-heading h2{letter-spacing:-.03em;margin:3px 0 4px;font-size:19px}.summary-heading>span{color:#8f898f;font-size:8px}.summary-heading:after{content:"✓";color:#4d774a;background:#e6f1e5;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid;position:absolute;top:10px;right:0}.mini-plan{background:#f4f1f3;border-radius:11px;place-items:center;height:80px;margin:15px 0 11px;display:grid;position:relative}.plan-line{height:29px;display:flex;box-shadow:0 5px 9px #3226321a}.plan-line i{background:#fff;border:1px solid #9e979e;width:38px}.plan-line i:nth-child(2){width:50px}.plan-line i:last-child{border-color:var(--purple);background:#d6c4e2}.mini-plan>span{color:#8b858b;border-top:1px solid #b5afb5;padding:2px 24px 0;font-size:7px;position:absolute;bottom:7px}.chosen-specs{flex-direction:column;display:flex}.chosen-specs button{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #eee9ee;grid-template-columns:34px 1fr 12px;align-items:center;gap:9px;padding:10px 0;display:grid}.chosen-specs button>div{min-width:0}.chosen-specs small,.chosen-specs b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.chosen-specs small{color:#989198;font-size:8px}.chosen-specs b{margin-top:2px;font-size:9px}.chosen-specs button>i{color:#a19aa1;font-style:normal}.spec-dot{background-position:50%;background-size:cover;border-radius:7px;width:32px;height:32px;box-shadow:inset 0 0 0 1px #00000012}.surface-dot{border-radius:7px}.spec-handle{background:#eee;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.spec-handle i{background:#777;width:24px;height:2px}.price-box{background:var(--purple-soft);border-radius:12px;margin:16px 0 10px;padding:14px}.price-box div span,.price-box div small{display:block}.price-box span{color:#625b62;font-size:8px}.price-box small{color:#928a93;margin-top:2px;font-size:7px}.price-box strong{color:var(--purple-dark);letter-spacing:-.03em;margin:9px 0 4px;font-size:19px;display:block}.price-box p{color:#827783;margin:0;font-size:7px;line-height:1.45}.project-review-card{background:#faf8fb;border:1px solid #ded5e4;border-radius:14px;gap:12px;margin:18px 0 12px;padding:16px;display:grid}.project-review-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.project-review-heading small{color:#6d3b8d;margin-bottom:3px;font-size:12px;font-weight:750;display:block}.project-review-heading h3{color:#211a25;margin:0;font-size:16px;line-height:1.25}.review-status{color:#59485f;background:#eee8f2;border-radius:999px;flex:none;padding:5px 7px;font-size:12px;font-weight:750}.review-allowed,.review-allowed_with_requirements{color:#245c3b;background:#e3f1e8}.project-review-card>p,.project-tier p{color:#645b68;margin:0;font-size:12px;line-height:1.5}.project-tier-list{gap:8px;display:grid}.project-tier{background:#fff;border:1px solid #ddd5e2;border-radius:11px;min-height:52px;padding:10px 11px}.project-tier.is-available{border-color:#7c4f9b;box-shadow:0 0 0 2px #eee3f5}.project-tier{grid-template-columns:1fr auto;align-items:center;gap:6px 9px;display:grid}.project-tier.is-intent-selected{border-color:#59237f;box-shadow:0 0 0 2px #eee3f5}.project-tier summary,.project-tier.is-available{cursor:pointer}.project-tier b{color:#261d2b;font-size:13px}.project-tier span{color:#6f3e8e;font-size:12px;font-weight:750}.project-tier small{color:#746b78;grid-column:1/3;font-size:12px;line-height:1.4}.project-tier button{color:#59237f;background:#faf7fc;border:1px solid #cdbed7;border-radius:9px;grid-column:1/3;min-height:44px;font-size:12px;font-weight:800}.project-tier button:disabled{color:#817785;cursor:not-allowed;opacity:.72}.project-tier p{padding-top:8px}.proposal-owner-link{color:#59237f;border:1px solid #59237f;border-radius:10px;justify-content:center;align-items:center;min-height:44px;margin:8px auto;padding:0 16px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.summary-cta{color:#fff;background:var(--purple);cursor:pointer;border:0;border-radius:10px;width:100%;height:44px;font-size:10px;font-weight:800}.summary-cta span{margin-left:25px}.download-spec{width:100%;color:var(--purple);cursor:pointer;background:0 0;border:0;padding:11px;font-size:9px;font-weight:700}.consult-note{border-top:1px solid var(--border);align-items:center;gap:10px;padding-top:12px;display:flex}.consult-note>span{width:29px;height:29px;color:var(--purple);border:1px solid #bda6cd;border-radius:50%;place-items:center;font-size:9px;display:grid}.consult-note p{color:#918b91;margin:0;font-size:7px;line-height:1.45}.consult-note b{color:#443f44;font-size:8px;display:block}.ar-overlay{z-index:100;color:#fff;background:#171717;position:fixed;inset:0;overflow:hidden}.ar-overlay>video,.ar-overlay>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ar-overlay>img{opacity:.78}.camera-live>img{display:none}.ar-shade{background:linear-gradient(#0c080e94,#0000 24% 68%,#0c080eb8);position:absolute;inset:0}.ar-overlay>header{z-index:5;grid-template-columns:45px 1fr auto;align-items:center;gap:13px;padding:18px 22px;display:grid;position:absolute;top:0;left:0;right:0}.ar-overlay>header button{color:#fff;cursor:pointer;background:#00000038;border:1px solid #ffffff59;border-radius:50%;width:40px;height:40px;font-size:23px}.ar-overlay>header div{flex-direction:column;display:flex}.ar-overlay>header small{color:#d6bfeb;text-transform:uppercase;letter-spacing:.16em;font-size:9px}.ar-overlay>header b{margin-top:3px;font-size:13px}.ar-overlay>header>span{background:#2f7c44b3;border-radius:20px;padding:7px 10px;font-size:8px}.scan-frame{z-index:3;border:1px solid #ffffff2e;position:absolute;inset:18% 10% 19%}.scan-frame i{border-style:solid;border-color:#fff;width:34px;height:34px;position:absolute}.scan-frame i:first-child{border-width:2px 0 0 2px;top:-1px;left:-1px}.scan-frame i:nth-child(2){border-width:2px 2px 0 0;top:-1px;right:-1px}.scan-frame i:nth-child(3){border-width:0 2px 2px 0;bottom:-1px;right:-1px}.scan-frame i:nth-child(4){border-width:0 0 2px 2px;bottom:-1px;left:-1px}.scan-frame span{white-space:nowrap;background:#2b7a44c7;border-radius:20px;padding:6px 10px;font-size:8px;position:absolute;top:-32px;left:50%;transform:translate(-50%)}.ar-kitchen{z-index:4;transform-origin:50%;position:absolute;top:56%;left:50%}.ar-kitchen .kitchen-system{filter:drop-shadow(0 23px 20px #0006);transform:none}.ar-kitchen .kitchen-measure,.ar-kitchen .selection-tag{display:none}.ar-controls{z-index:7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#171219c2;border:1px solid #ffffff26;border-radius:18px;align-items:center;gap:12px;padding:9px 11px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.ar-controls>button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:50%;width:34px;height:34px}.ar-controls>div{grid-template-columns:1fr auto;align-items:center;gap:3px 9px;min-width:210px;display:grid}.ar-controls small{color:#bbb2bd;font-size:8px}.ar-controls b{font-size:8px}.ar-controls input{accent-color:#b678e4;grid-column:1/3}.ar-controls .ar-shot{color:#fff;border:4px solid #fff;width:48px;height:48px;font-size:22px;line-height:1}.camera-note{z-index:6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#2d1b36e0;border:1px solid #fff3;border-radius:10px;max-width:400px;padding:11px 13px;position:absolute;top:104px;left:50%;transform:translate(-50%)}.camera-note b,.camera-note span{display:block}.camera-note b{font-size:10px}.camera-note span{color:#d6ced8;margin-top:3px;font-size:8px;line-height:1.4}.room-photo-button{color:var(--purple-dark);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;margin-top:8px;padding:8px 12px;font-size:8px;font-weight:800;display:inline-flex}.room-photo-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.modal-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#19131a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.quote-modal{background:#fff;border-radius:20px;width:min(520px,100%);padding:30px;position:relative;box-shadow:0 30px 80px #180e1c47}.modal-close{color:#635d63;cursor:pointer;background:#f0edf0;border:0;border-radius:50%;width:32px;height:32px;font-size:20px;position:absolute;top:17px;right:17px}.quote-modal h2{letter-spacing:-.04em;margin:3px 0 8px;font-size:25px}.quote-modal>p{color:#756e75;max-width:420px;margin:0 0 16px;font-size:11px;line-height:1.55}.modal-project{background:#f5f2f5;border-radius:12px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-bottom:16px;padding:10px;display:grid}.modal-project>span{background-position:50%;background-size:cover;border-radius:8px;width:38px;height:38px}.modal-project b,.modal-project small{display:block}.modal-project b{font-size:9px}.modal-project small{color:#8e878e;margin-top:3px;font-size:8px}.modal-project strong{color:var(--purple);font-size:12px}.qr-modal{text-align:center;background:#fff;border-radius:22px;width:min(450px,100%);padding:28px 30px 24px;position:relative;box-shadow:0 30px 80px #180e1c47}.qr-modal>small:first-of-type{color:var(--purple);letter-spacing:.16em;text-transform:uppercase;font-size:8px;font-weight:800}.qr-modal h2{letter-spacing:-.04em;margin:5px 0 7px;font-size:23px}.qr-modal>p{color:#756e75;max-width:320px;margin:0 auto 15px;font-size:10px;line-height:1.5}.qr-frame{background:#fff;border:1px solid #e2d9e7;border-radius:17px;place-items:center;width:220px;height:220px;margin:0 auto 14px;padding:9px;display:grid;box-shadow:0 10px 30px #4420521f}.qr-frame img{border-radius:8px;width:100%;height:100%;display:block}.qr-frame>span{color:#918a91;font-size:9px}.phone-address{text-align:left;display:block}.phone-address span{color:#777078;margin:0 0 4px 3px;font-size:8px;display:block}.phone-address input{color:#3d343e;text-align:center;background:#f8f6f8;border:1px solid #ded7de;border-radius:9px;outline:none;width:100%;height:40px;padding:0 10px;font-size:10px}.phone-address input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.copy-phone-link{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:9px;width:100%;height:41px;margin-top:8px;font-size:9px;font-weight:800}.wifi-note{color:#817a81;text-align:left;grid-template-columns:20px 1fr auto 20px 1fr auto 20px 1fr;align-items:center;gap:5px;margin-top:15px;display:grid}.wifi-note b{background:var(--purple-soft);width:19px;height:19px;color:var(--purple);border-radius:50%;place-items:center;font-size:7px;display:grid}.wifi-note span{font-size:7px}.wifi-note i{color:#c3bcc3;font-size:9px;font-style:normal}.local-warning{color:#a19aa1;margin-top:13px;font-size:7px;line-height:1.4;display:block}.quote-modal form{grid-template-columns:1fr 1fr;gap:11px;display:grid}.quote-modal label{flex-direction:column;gap:5px;display:flex}.quote-modal label:first-child{grid-column:1/3}.quote-modal label span{font-size:9px;font-weight:700}.quote-modal input,.quote-modal select{background:#fff;border:1px solid #ded8de;border-radius:9px;outline:none;width:100%;height:42px;padding:0 11px;font-size:10px}.quote-modal input:focus,.quote-modal select:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.quote-modal form button,.success-state button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;grid-column:1/3;height:45px;font-size:10px;font-weight:800}.quote-modal form button span{margin-left:18px}.quote-modal form>small{text-align:center;color:#989198;grid-column:1/3;font-size:7px}.quote-modal .quote-consent{color:#655e65;grid-column:1/3;grid-template-columns:20px 1fr;align-items:start;gap:8px;line-height:1.4;display:grid}.quote-modal .quote-consent input{width:18px;height:18px;accent-color:var(--purple);margin:0;padding:0}.quote-modal .quote-consent span{font-weight:500}.quote-error{color:#8c2331;background:#fff0f2;border-radius:8px;grid-column:1/3;margin:0;padding:9px 11px;font-size:9px;line-height:1.45}.quote-modal form button:disabled{opacity:.65;cursor:wait}.quote-success{text-align:center;padding:9px 4px 4px}.quote-success>span{color:#fff;background:#317a4b;border-radius:50%;place-items:center;width:46px;height:46px;margin:0 auto 10px;font-size:23px;display:grid}.quote-success h3{margin:0 0 7px;font-size:19px}.quote-success p{color:#625b62;font-size:10px;line-height:1.55}.quote-success small{color:#837b83;max-width:360px;margin:8px auto 14px;font-size:8px;line-height:1.5;display:block}.quote-success button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;min-width:180px;height:45px;font-size:10px;font-weight:800}.success-state{text-align:center;padding:20px 15px 10px}.success-state>span{color:#4c8047;background:#e6f2e5;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 15px;font-size:24px;display:grid}.success-state h2{margin-top:5px}.success-state p{color:#777078;max-width:350px;margin:0 auto 18px;font-size:10px;line-height:1.6}.success-state button{padding:0 22px}.project-tier summary{min-height:44px}.modal-backdrop{overscroll-behavior:contain;overflow:hidden}.quote-modal{overscroll-behavior:contain;max-height:calc(100dvh - 40px);scroll-padding-block:12px 24px;overflow:hidden auto}.modal-close{place-items:center;width:44px;height:44px;display:grid}.quote-modal input,.quote-modal select{height:44px}.quote-modal .quote-consent{align-items:center;min-height:44px}.toast{z-index:150;color:#fff;background:#231d24;border-radius:12px;align-items:center;gap:9px;padding:11px 16px;font-size:10px;animation:.25s toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #140e1647}.toast span{background:#6d9c68;border-radius:50%;place-items:center;width:20px;height:20px;font-size:9px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.mobile-project-actions{display:none}@media (min-width:901px) and (max-width:1500px){.topbar{grid-template-columns:160px minmax(280px,1fr) minmax(0,560px);gap:8px;height:auto;min-height:76px;padding:7px 12px}.brand-block span{display:none}.brand-block img{width:145px;height:auto}.project-steps{min-width:0}.project-steps button{min-width:0;padding:8px 7px}.top-actions{flex-wrap:wrap;gap:5px;min-width:0;max-width:560px}.project-save-button,.project-new-button,.quote-button,.qr-button,.desktop-history-button,.project-brief-button{height:34px;min-height:34px;padding:0 8px}.desktop-history-button{font-size:0}.desktop-history-button:first-letter{font-size:14px}.quote-button span{margin-left:4px}}@media (min-width:901px){.app-shell{flex-direction:column;height:100dvh;min-height:100dvh;display:flex;overflow:hidden}.topbar{flex:none}.workspace{flex:auto;height:auto;min-height:0}.tool-rail,.catalog-panel,.stage,.summary-panel{height:100%;min-height:0;max-height:none}}@media (max-width:1220px){.workspace{grid-template-columns:72px 275px minmax(430px,1fr)}.summary-panel{display:none}.kitchen-system{transform:translate(4%,2%)rotateY(-3deg)scale(.78)}.stage-footer{grid-template-columns:1fr auto}.project-stats{display:none}}@media (max-width:900px){.desktop-history-button{display:none}body{overflow:auto}.topbar{grid-template-columns:1fr auto;height:62px;padding:0 13px}.brand-block img{width:134px;height:auto}.brand-block span,.project-steps,.project-save-button,.project-new-button{display:none}.quote-button,.qr-button{height:44px;padding:0 11px}.qr-button b{display:none}.workspace{grid-template-columns:62px 240px minmax(0,1fr);min-height:calc(100vh - 62px)}.catalog-panel{max-height:calc(100vh - 62px);padding:18px 13px}.stage{grid-template-rows:58px minmax(320px,1fr) auto auto;max-height:calc(100vh - 62px)}.catalog-panel{max-height:calc(100vh - 62px)}.tool-rail{padding-left:5px;padding-right:5px}.stage-footer{grid-template-columns:1fr}.selected-summary{display:none}.ar-main-button{width:100%}.room-size span,.room-size button{display:none}.kitchen-system{transform:translate(6%,4%)rotateY(-3deg)scale(.64)}.scene-window{width:26%}.stage-toolbar{padding:0 10px}.mobile-project-actions{border-top:1px solid var(--border);background:#fffffff5;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:5px 8px;display:grid}.mobile-project-actions button{color:#5d565e;cursor:pointer;background:0 0;border:0;border-radius:9px;min-width:0;min-height:48px;padding:3px 1px;font-size:7px;font-weight:800}.mobile-project-actions button span{color:var(--purple);margin-bottom:2px;font-size:17px;line-height:1;display:block}.mobile-project-actions button.is-danger,.mobile-project-actions button.is-danger span{color:#9b4250}.mobile-project-actions button:disabled{opacity:.32}}@media (max-width:680px){.app-shell{padding-bottom:66px}.workspace{flex-direction:column;min-height:auto;display:flex}.tool-rail{z-index:30;border:0;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;flex-direction:row;height:66px;padding:5px 7px;position:fixed;bottom:0;left:0;right:0}.tool-rail button{flex:20%;gap:3px;min-width:0;min-height:55px}.tool-rail button b{font-size:18px}.tool-rail button span{font-size:8px}.tool-rail button.active:before{border-radius:0 0 3px 3px;width:26px;height:3px;top:0;left:auto}.tool-rail .rail-secondary,.tool-rail .ar-rail{display:none}.tool-rail .mobile-summary-rail{display:flex}.rail-spacer{display:none}.catalog-panel{border:0;order:2;max-height:none;padding:20px 14px 30px;overflow:visible}.stage{order:1;grid-template-rows:50px 430px 74px;max-height:none}.summary-panel{display:none}.material-grid{grid-template-columns:repeat(3,1fr)}.material-chip{height:68px}.module-list{grid-template-columns:1fr 1fr;display:grid}.module-card{grid-template-columns:44px 1fr}.module-card>strong{display:none}.scene-window{width:32%;left:-3%}.scene-plant{right:0}.kitchen-system{transform:translate(4%,5%)rotateY(-2deg)scale(.58)}.measure-side{display:none}.measure-top{right:50px}.reference-view>div{left:14px;right:14px}.quote-modal{padding:25px 18px}.modal-project{grid-template-columns:34px 1fr}.modal-project strong{grid-column:2}.ar-overlay>header{grid-template-columns:40px 1fr;padding:12px}.ar-overlay>header>span{display:none}.ar-overlay>header b{font-size:10px}.scan-frame{inset:17% 4% 22%}.ar-kitchen{transform-origin:50%}.ar-kitchen .kitchen-system{transform:scale(.66)}.ar-controls{gap:6px;bottom:16px}.ar-controls>div{min-width:145px}.ar-controls .ar-shot{width:42px;height:42px}.camera-note{width:calc(100% - 28px);top:82px}}@media (max-width:430px){.quote-button{font-size:10px}.top-actions{gap:5px}.stage{grid-template-rows:48px 385px 72px}.view-toggle button{padding:7px 9px}.kitchen-system{transform:translate(7%,8%)rotateY(-2deg)scale(.48)}.room-scene{min-height:385px}.module-list{grid-template-columns:1fr}.material-grid{grid-template-columns:1fr 1fr}.ar-main-button{height:52px}.quote-modal form{grid-template-columns:1fr}.quote-modal label:first-child,.quote-modal form button,.quote-modal form>small{grid-column:1}.modal-backdrop{padding:10px}.ar-controls>button:not(.ar-shot){display:none}.qr-modal{padding:25px 17px 20px}.qr-frame{width:200px;height:200px}}.room-scene-three{contain:layout paint;perspective:none;background:#eeeae5;min-width:0;min-height:0;display:block;position:relative;overflow:hidden}.three-host,.three-scene{contain:strict;touch-action:none;min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.three-host canvas,.three-scene canvas{cursor:grab;outline:0;width:100%;max-width:100%;height:100%;max-height:100%;display:block;position:absolute;inset:0}.three-host canvas:active,.three-scene canvas:active{cursor:grabbing}.webgl-fallback{z-index:4;color:#171419;text-align:center;touch-action:auto;background:linear-gradient(145deg,#eeeae5,#f8f6f3);align-content:center;justify-items:center;gap:12px;padding:clamp(24px,6vw,72px);display:grid;position:absolute;inset:0}.webgl-fallback h2{margin:0;font-size:clamp(22px,3vw,32px)}.webgl-fallback p{color:#5c5560;max-width:650px;margin:0;font-size:14px;line-height:1.6}.webgl-fallback>div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.webgl-fallback a,.webgl-fallback button{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#59237f;border:1px solid #59237f;border-radius:11px;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.webgl-fallback button{color:#59237f;background:#fff}.webgl-fallback :is(a,button):focus-visible{outline-offset:3px;outline:3px solid #59237f59}.three-scene-hint{z-index:2;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;top:15px;left:15px}.three-scene-hint span,.three-scene-hint b{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd1;border-radius:8px;padding:6px 9px;font-size:7px;box-shadow:0 5px 18px #2a1f2b14}.three-scene-hint span{color:#6f696f}.three-scene-hint b{color:var(--purple)}.room-scene-three .scene-caption{z-index:3}.ar-export-state{flex-direction:column;justify-content:center;align-items:center;min-height:285px;padding:32px 15px 15px;display:flex}.ar-export-state>span:not(.ar-spinner){color:#a23f3f;background:#f8e7e7;border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:14px;font-weight:900;display:grid}.ar-export-state b{font-size:13px}.ar-export-state p{color:#777078;max-width:300px;margin:7px 0 0;font-size:9px;line-height:1.55}.ar-export-state button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:9px;height:38px;margin-top:16px;padding:0 20px;font-size:9px;font-weight:800}.ar-spinner{border:4px solid #e9dff0;border-top-color:var(--purple);border-radius:50%;width:44px;height:44px;margin-bottom:15px;animation:.8s linear infinite ar-spin}.local-warning.is-secure{color:#48804b}.local-warning.is-secure:before{content:"✓ ";font-weight:900}@keyframes ar-spin{to{transform:rotate(360deg)}}.manager-console{gap:18px;display:grid}.manager-form{gap:12px;max-width:620px;display:grid}.manager-form label{color:#5d565d;gap:5px;font-size:13px;display:grid}.manager-form input{background:#fff;border:1px solid #ddd3e2;border-radius:11px;min-height:46px;padding:0 12px;font-size:15px}.manager-actions{flex-wrap:wrap;gap:10px;display:flex}.manager-actions button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:48px;padding:0 20px;font-size:14px;font-weight:800}.manager-actions button.is-secondary{color:var(--purple);background:#fff;border:1px solid #d9cfe0}.manager-actions button:disabled{opacity:.6;cursor:progress}.manager-error{color:#a4353b;margin:0;font-size:14px}.manager-result{border:1px solid var(--border);background:#fff;border-radius:18px;padding:20px}.manager-result header h2{margin:0 0 6px;font-size:20px}.manager-result header p{color:#6d666d;margin:0 0 16px;font-size:13px}.manager-share{grid-template-columns:minmax(0,200px) minmax(0,1fr);align-items:start;gap:18px;margin:18px 0;display:grid}.manager-share .qr-frame{border:1px solid var(--border);background:#fff;border-radius:14px;padding:10px}.manager-share .qr-frame img{width:100%;height:auto;display:block}.manager-share-actions{gap:10px;display:grid}.manager-share-actions input{background:#faf8fb;border:1px solid #ddd3e2;border-radius:11px;min-height:44px;padding:0 12px;font-size:13px}.manager-share-actions button{border:1px solid var(--purple);background:var(--purple-soft);min-height:44px;color:var(--purple);cursor:pointer;border-radius:11px;font-size:13px;font-weight:800}.manager-review-queue{border:1px solid var(--border);background:#fff;border-radius:18px;gap:16px;margin-top:20px;padding:20px;display:grid}.manager-review-queue>header,.manager-review-list article>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.manager-review-queue h2{margin:3px 0 0;font-size:22px}.manager-review-queue small{color:#6d6470}.manager-review-queue button{border:1px solid var(--purple);background:var(--purple);color:#fff;cursor:pointer;border-radius:10px;min-height:44px;padding:0 14px;font-weight:800}.manager-review-queue button.is-secondary{color:var(--purple);background:#fff}.manager-review-queue button:disabled{opacity:.55;cursor:not-allowed}.manager-review-tabs{border-bottom:1px solid #e7dfea;flex-wrap:wrap;gap:8px;padding-bottom:12px;display:flex}.manager-review-tabs button[aria-selected=true]{background:var(--purple);color:#fff}.manager-review-tabs button[aria-selected=false]{color:var(--purple);background:#fff}.manager-review-list{gap:12px;display:grid}.manager-review-list article{border:1px solid #e2dae7;border-radius:14px;gap:12px;padding:16px;display:grid}.manager-review-list article header>div,.manager-review-list label,.manager-share-ready label{gap:5px;display:grid}.manager-review-list article header>span{color:#59237f;background:#f2ecf5;border-radius:99px;padding:6px 9px;font-size:12px;font-weight:800}.manager-review-list select,.manager-review-list textarea,.manager-share-ready input{width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #d9cfe0;border-radius:10px;padding:10px 12px}.manager-review-list textarea{resize:vertical;min-height:88px}.manager-review-actions,.manager-share-ready{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.manager-share-ready label{flex:280px}.manager-review-more{justify-self:center;min-width:180px}@media (max-width:680px){.manager-share{grid-template-columns:1fr}}@media (max-width:480px){.manager-review-queue{padding:14px}.manager-review-queue>header,.manager-review-list article>header{flex-direction:column;align-items:stretch}.manager-review-actions button,.manager-review-tabs button,.manager-review-more{width:100%}.manager-review-more{justify-self:stretch}}.proposal-page{color:#211a25;width:min(840px,100% - 32px);margin:0 auto;padding:64px 0 88px}.proposal-page>header{max-width:700px;margin-bottom:28px}.proposal-page>header small,.proposal-page section>small,.proposal-page section div>small{color:#6b368e;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.proposal-page h1{letter-spacing:-.04em;margin:7px 0 12px;font-size:clamp(30px,5vw,52px);line-height:1.05}.proposal-page header p,.proposal-page section p{color:#625a66;font-size:15px;line-height:1.65}.proposal-status,.proposal-variant,.proposal-modules,.proposal-warnings,.proposal-share-unavailable{background:#fff;border:1px solid #ded5e4;border-radius:16px;margin:14px 0;padding:22px}.proposal-status{grid-template-columns:1fr auto;gap:8px 16px;display:grid}.proposal-status h2,.proposal-variant h2,.proposal-modules h2{margin:4px 0;font-size:22px}.proposal-status>span{color:#542978;background:#eee7f3;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.proposal-status>p{grid-column:1/3;margin:0}.proposal-review-note{background:#fbf5ea;border-left:4px solid #8a5c21;border-radius:8px;padding:12px 14px;color:#4e3617!important}.proposal-variant>b{color:#3f3250;font-size:14px;display:block}.proposal-modules ul{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.proposal-modules li{border-top:1px solid #eee8f0;justify-content:space-between;gap:12px;padding:11px 0;display:flex}.proposal-modules li span{color:#746b78;font-size:12px}.proposal-warnings summary{cursor:pointer;align-items:center;min-height:44px;font-weight:800;display:flex}.proposal-share-unavailable{color:#594f5e;background:#f6f2f8;font-size:14px;line-height:1.55}@media (max-width:480px){.proposal-page{width:min(100% - 24px,840px);padding-top:32px}.proposal-status,.proposal-variant,.proposal-modules,.proposal-warnings,.proposal-share-unavailable{padding:16px}.proposal-status{grid-template-columns:1fr}.proposal-status>p{grid-column:1}}.catalog-page{max-width:1120px;margin:0 auto;padding:26px 20px 60px}.catalog-breadcrumbs{color:#8b848b;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;display:flex}.catalog-breadcrumbs a{color:var(--purple);font-weight:700;text-decoration:none}.catalog-index-header,.catalog-module-header{margin-bottom:22px}.catalog-index-header small,.catalog-module-header small{color:var(--purple);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.catalog-index-header h1,.catalog-module-header h1{letter-spacing:-.04em;margin:8px 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.05}.catalog-index-header p{color:#6d666d;max-width:640px;margin:0 0 16px;font-size:15px;line-height:1.6}.catalog-module-code{color:#6d666d;margin:0;font-size:14px}.catalog-module-ar{gap:12px;display:grid}.catalog-module-scene{border:1px solid var(--border);background:linear-gradient(160deg,#f3f1ee,#ddd6ce);border-radius:20px;min-height:420px;position:relative;overflow:hidden}.catalog-module-scene>div{position:absolute;inset:0}.catalog-ar-button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:13px;min-height:54px;padding:0 22px;font-size:15px;font-weight:800}.catalog-ar-button:disabled{opacity:.62;cursor:progress}.catalog-ar-note{color:#8a6135;background:#fff8ef;border:1px solid #edcfaa;border-radius:12px;margin:0;padding:13px 15px;font-size:13px;line-height:1.5}.catalog-ar-error{color:#a4353b;margin:0;font-size:13px}.catalog-module-specs{margin-top:26px}.catalog-module-specs dl{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:0 0 16px;display:grid}.catalog-module-specs dt{color:#8b848b;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800}.catalog-module-specs dd{margin:4px 0 0;font-size:15px;font-weight:700}.catalog-module-badges{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.catalog-module-badges li{border:1px solid var(--border);color:#5f595f;background:#fff;border-radius:20px;padding:7px 12px;font-size:12px}.catalog-module-note{color:#6d666d;margin:0 0 18px;font-size:13px;line-height:1.6}.catalog-module-cta{background:var(--purple);color:#fff;border-radius:12px;align-items:center;min-height:50px;padding:0 22px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.catalog-series{margin-top:30px}.catalog-series h2{margin:0 0 12px;font-size:18px}.catalog-series-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.catalog-series-list a{border:1px solid var(--border);color:inherit;background:#fff;border-radius:14px;gap:3px;padding:14px;text-decoration:none;display:grid}.catalog-series-list b{color:var(--purple);font-size:14px}.catalog-series-list span{font-size:13px}.catalog-series-list small{color:#8b848b;font-size:12px}.ar-scope-picker{border:0;gap:8px;margin:0 0 16px;padding:0;display:grid}.ar-scope-picker legend{color:#8b848b;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px;padding:0;font-size:11px;font-weight:800}.ar-scope-picker label{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:4px 10px;padding:11px 13px;display:grid}.ar-scope-picker label.is-active{border-color:var(--purple);background:var(--purple-soft)}.ar-scope-picker input{grid-row:span 2;width:18px;height:18px;margin-top:2px}.ar-scope-picker b{font-size:14px}.ar-scope-picker small{color:#6d666d;font-size:12px;line-height:1.4}.ar-scope-picker:disabled label{opacity:.6;cursor:progress}.catalog-ar-hint{color:#6d666d;margin:0;font-size:13px;line-height:1.55}.ar-page-shell{background:radial-gradient(circle at 50% 0,#eee5f4 0,#0000 38%),#f3f1f3;min-height:100vh;padding:22px}.ar-page-header{justify-content:space-between;align-items:center;width:min(1120px,100%);height:60px;margin:0 auto 18px;display:flex}.ar-brand img{width:172px;height:auto;display:block}.ar-page-header>span{color:var(--purple);background:#ffffffb3;border:1px solid #d8cbe0;border-radius:20px;padding:7px 10px;font-size:11px;font-weight:800}.ar-viewer-card{background:#fff;border:1px solid #50345c1a;border-radius:26px;grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);width:min(1120px,100%);min-height:calc(100vh - 122px);margin:auto;display:grid;overflow:hidden;box-shadow:0 28px 80px #321c3d24}.ar-viewer-wrap{background:linear-gradient(160deg,#f3f1ee,#ddd6ce);min-height:630px;position:relative}.ar-viewer-wrap model-viewer{--poster-color:transparent;--progress-bar-color:var(--purple);width:100%;height:100%;min-height:630px;display:block}.model-ar-button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:13px;min-width:225px;height:50px;padding:0 23px;font-size:14px;font-weight:900;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #431c5947}.model-progress{background:#ddd4df;border-radius:8px;height:3px;position:absolute;bottom:12px;left:12%;right:12%;overflow:hidden}.model-progress span{background:var(--purple);width:60%;height:100%;animation:1.1s ease-in-out infinite alternate model-progress;display:block}.model-progress span.is-ready{opacity:0;width:100%;transition:opacity .3s;animation:none}@keyframes model-progress{0%{transform:translate(-70%)}to{transform:translate(150%)}}.ar-page-copy{flex-direction:column;justify-content:flex-start;padding:clamp(28px,4vw,56px);display:flex}.ar-page-copy>small:first-child{color:var(--purple);letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:900}.ar-page-copy h1{letter-spacing:-.05em;margin:8px 0 14px;font-size:clamp(27px,3vw,40px);line-height:1.04}.ar-page-copy>p{color:#716b71;margin:0;font-size:14px;line-height:1.6}.ar-status-line{color:#635d64;background:#f5f2f6;border-radius:11px;align-items:flex-start;gap:9px;margin-top:22px;padding:12px;font-size:13px;line-height:1.45;display:flex}.ar-status-line i{background:#b993d2;border-radius:50%;flex:none;width:8px;height:8px;margin-top:2px;box-shadow:0 0 0 4px #eee3f5}.ar-status-line i.ready{background:#69a36b;box-shadow:0 0 0 4px #e1efe2}.ar-security-warning{color:#8a6135;background:#fff8ef;border:1px solid #edcfaa;border-radius:10px;margin-top:10px;padding:11px;font-size:13px;line-height:1.5}.quick-look-fallback{border-top:1px solid #eee9ee;margin-top:18px;padding-top:17px}.quick-look-fallback>span{color:#827b82;margin-bottom:8px;font-size:12px;display:block}.quick-look-fallback a{background:#fff;border:1px solid #dcd5dc;border-radius:10px;justify-content:flex-start;align-items:center;width:100%;height:45px;padding:0 14px;text-decoration:none;display:flex;position:relative;overflow:hidden}.quick-look-fallback a img{object-fit:contain;width:114px;height:auto}.quick-look-fallback a:after{content:"Открыть в Apple Quick Look  ↗";color:var(--purple);margin-left:auto;font-size:12px;font-weight:900}.ar-expiry-note{color:#8f898f;margin-top:16px;font-size:12px}.ar-cta{background:linear-gradient(#faf6fd,#fff);border:1px solid #e3d8ea;border-radius:16px;margin-top:22px;padding:18px}.ar-cta h2{letter-spacing:-.02em;margin:0 0 6px;font-size:19px}.ar-cta-note{color:#6d666d;margin:0 0 14px;font-size:13px;line-height:1.5}.ar-cta-primary{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;min-height:52px;padding:0 18px;font-size:15px;font-weight:800}.ar-cta-primary:disabled{opacity:.62;cursor:progress}.ar-cta-channels{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.ar-cta-channels a{min-height:46px;color:var(--purple);background:#fff;border:1px solid #ddd3e2;border-radius:11px;flex:120px;justify-content:center;align-items:center;font-size:14px;font-weight:800;text-decoration:none;display:flex}.ar-cta-channels a.ar-cta-call{flex-basis:100%}.ar-quote-form{gap:10px;display:grid}.ar-quote-form label{color:#5d565d;gap:5px;font-size:13px;display:grid}.ar-quote-form input,.ar-quote-form select{background:#fff;border:1px solid #ddd3e2;border-radius:11px;min-height:48px;padding:0 12px;font-size:16px}.ar-consent{grid-template-columns:auto 1fr;align-items:start;gap:9px;font-size:12px;line-height:1.45}.ar-consent input{width:20px;height:20px;min-height:auto}.ar-quote-error{color:#a4353b;margin:0;font-size:13px}.ar-quote-success{gap:8px;display:grid}.ar-quote-success b{font-size:17px}.ar-quote-success span{color:#5f595f;font-size:13px;line-height:1.5}.ar-unsupported{background:#fff8ef;border:1px solid #edcfaa;border-radius:14px;margin-top:18px;padding:16px}.ar-unsupported h2{color:#8a6135;margin:0 0 8px;font-size:16px}.ar-unsupported p{color:#7a5a35;margin:0 0 12px;font-size:13px;line-height:1.55}.ar-share{border-top:1px solid #eee9ee;margin-top:18px;padding-top:16px}.ar-share h2{margin:0 0 10px;font-size:15px}.ar-share-row{flex-wrap:wrap;gap:8px;display:flex}.ar-share-row button,.ar-share-row a{min-height:44px;color:var(--purple);cursor:pointer;background:#fff;border:1px solid #ddd3e2;border-radius:11px;flex:108px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.ar-share-row button{border-color:var(--purple);background:var(--purple-soft);flex-basis:100%}.ar-share-note{color:#6d666d;margin-top:8px;font-size:12px;display:block}.ar-spec{border-top:1px solid #eee9ee;margin-top:20px;padding-top:18px}.ar-spec h2{margin:0 0 12px;font-size:16px}.ar-spec-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0;display:grid}.ar-spec-grid dt{color:#8b848b;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:800}.ar-spec-grid dd{margin:3px 0 0;font-size:14px;font-weight:700}.ar-spec-grid dd small{color:#7d767d;margin-top:2px;font-size:12px;font-weight:500;display:block}.ar-spec-room{color:#6d666d;margin:12px 0 0;font-size:13px}.ar-spec-details{border-top:1px solid #f0ecf0;margin-top:10px;padding-top:10px}.ar-spec-details summary{cursor:pointer;color:var(--purple);font-size:13px;font-weight:800}.ar-spec-details ul{color:#5f595f;margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.ar-spec-details small{color:#8b848b}.ar-error-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ar-error-actions a.is-secondary{color:var(--purple);background:#fff;border:1px solid #d9cfe0}.ar-page-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.ar-page-error>img{width:200px}.ar-page-error h1{margin:22px 0 8px}.ar-page-error p{color:#716b71;max-width:430px}.ar-page-error a{background:var(--purple);color:#fff;border-radius:10px;margin-top:16px;padding:12px 19px;font-size:11px;font-weight:800;text-decoration:none}@media (max-width:820px){.ar-page-shell{padding:10px}.ar-page-header{height:52px;margin-bottom:10px}.ar-brand img{width:145px}.ar-viewer-card{border-radius:18px;grid-template-columns:1fr;min-height:auto}.ar-viewer-wrap,.ar-viewer-wrap model-viewer{min-height:58vh}.ar-page-copy{padding:24px 16px 30px}.ar-page-copy h1{font-size:29px}}@media (max-width:680px){.room-scene-three,.three-host,.three-scene{min-height:430px}.three-scene-hint span{display:none}.three-scene-hint{top:10px;left:10px}}@media (max-width:430px){.room-scene-three,.three-host,.three-scene{min-height:385px}.model-ar-button{min-width:205px;height:47px}.ar-page-header>span{font-size:8px}.ar-viewer-wrap,.ar-viewer-wrap model-viewer{min-height:55vh}}.catalog-sheet-close{display:none}.catalog-search{gap:5px;margin-bottom:8px;display:grid}.catalog-search label,.catalog-filters label>span,.option-label{color:#716a72;letter-spacing:.045em;font-size:8px;font-weight:800}.catalog-search input,.catalog-filters select{width:100%;min-width:0;height:38px;color:var(--ink);background:#fff;border:1px solid #ded8de;border-radius:9px;outline:none;padding:0 10px;font-size:9px}.catalog-search input::placeholder{color:#a39da3}.catalog-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin-bottom:14px;display:grid}.catalog-filters label{gap:4px;min-width:0;display:grid}.catalog-filters .filter-wide{grid-column:1/-1}.option-label{margin:0 0 7px 2px;display:block}.option-switcher{margin-bottom:14px}.option-switcher button:disabled{opacity:.42;cursor:not-allowed}.layout-switcher-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.instance-editor{background:linear-gradient(145deg,#fff,#faf7fc);border:1px solid #d9cbe1;border-radius:12px;margin-bottom:14px;padding:12px;box-shadow:0 7px 20px #4524520f}.instance-editor-kicker{color:var(--purple);letter-spacing:.08em;font-size:8px;font-weight:900;display:block}.instance-editor-name{margin:5px 0;font-size:11px;line-height:1.35;display:block}.instance-editor-meta{color:#777178;font-size:8px;line-height:1.5;display:block}.instance-height-control{color:#706a70;grid-template-columns:1fr auto;align-items:center;gap:5px 8px;margin-top:10px;font-size:8px;display:grid}.instance-height-control select{width:100%;min-height:38px;color:var(--ink);background:#fff;border:1px solid #dcd4de;border-radius:9px;grid-column:1/-1;padding:0 10px;font-size:9px}.kinematics-range{-webkit-appearance:none;appearance:none;width:100%;height:44px;accent-color:var(--purple);cursor:pointer;background:0 0;grid-column:1/-1;margin:0;padding:0}.kinematics-range::-webkit-slider-runnable-track{background:#d8cedd;border-radius:999px;height:4px}.kinematics-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--purple);border:2px solid #fff;border-radius:50%;width:22px;height:22px;margin-top:-9px;box-shadow:0 1px 5px #351d4047}.kinematics-range::-moz-range-track{background:#d8cedd;border:0;border-radius:999px;height:4px}.kinematics-range::-moz-range-progress{background:var(--purple);border-radius:999px;height:4px}.kinematics-range::-moz-range-thumb{background:var(--purple);border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 5px #351d4047}.kinematics-range:focus-visible{outline:2px solid var(--purple);outline-offset:-6px;border-radius:8px}.kinematics-range:disabled{cursor:not-allowed;opacity:.5}.instance-editor-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;display:grid}.instance-action-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:9px;width:100%;min-height:40px;padding:0 7px;font-size:9px;font-weight:800}.instance-action-button.is-danger{color:#963f4c;background:#fff8f9;border-color:#ead2d6}.room-editor-section{background:#fff;border:1px solid #e2dbe4;border-radius:12px;gap:9px;margin-bottom:13px;padding:11px;display:grid}.room-editor-section>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-editor-section h2{color:#413a42;margin:0;font-size:10px}.room-editor-section header button,.room-remove{min-height:34px;color:var(--purple);cursor:pointer;background:#f7f2fa;border:1px solid #d8cce0;border-radius:8px;padding:0 9px;font-size:8px;font-weight:800}.room-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.room-field-grid label,.room-item label{color:#777078;gap:4px;min-width:0;font-size:7px;font-weight:700;display:grid}.room-number-field{background:#fff;border:1px solid #ddd5df;border-radius:8px;grid-template-columns:minmax(0,1fr) 24px;align-items:center;display:grid;overflow:hidden}.room-number-field input,.room-item select,.placement-editor select{width:100%;min-width:0;height:38px;color:var(--ink);background:#fff;border:1px solid #ddd5df;border-radius:8px;padding:0 7px;font-size:9px}.room-number-field input{border:0;border-radius:0}.room-number-field i{color:#8b838b;text-align:center;font-size:8px;font-style:normal}.room-item{background:#faf8fb;border:1px solid #eee9ef;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px;display:grid}.room-item .room-remove{color:#963f4c;background:#fff8f9;border-color:#ead2d6;grid-column:1/-1}.nudge-pad{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.nudge-pad button{min-height:40px;color:var(--purple);cursor:pointer;background:#f7f2fa;border:1px solid #d8cce0;border-radius:8px;font-size:16px}.room-lock{color:#5f585f;align-items:center;gap:7px;font-size:9px;font-weight:700;display:flex}.room-lock input{width:18px;height:18px;accent-color:var(--purple)}.room-violations{color:#8c2331;background:#fff0f2;border-radius:8px;margin:0;padding:9px 9px 9px 24px;font-size:8px;line-height:1.45}.room-dimension-actions{grid-template-columns:1fr 1fr;gap:7px;display:grid}.room-dimension-actions button{background:var(--purple);color:#fff;cursor:pointer;border:1px solid #d8cce0;border-radius:8px;min-height:40px;font-size:8px;font-weight:800}.room-dimension-actions button+button{color:#6d6570;background:#f4f0f5}.room-dimension-actions button:disabled{opacity:.4}.persistence-status{color:#746d75;background:#f7f4f8;border:1px solid #ddd5df;border-radius:7px;width:fit-content;margin-top:7px;padding:4px 7px;font-size:7px;font-style:normal;font-weight:700;line-height:1.4;display:block}.persistence-status.status-loaded,.persistence-status.status-saved{color:#356945;background:#eaf4ec;border-color:#c9dfce}.persistence-status.status-invalid{color:#884b40;background:#fff1ee;border-color:#ead0c8}.module-card{align-items:start}.module-copy{gap:2px}.module-copy em{white-space:normal;line-height:1.42}.equipment-badges,.catalog-status-row{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.equipment-badges i,.source-status{border-radius:5px;width:fit-content;padding:3px 5px;font-size:6px;font-style:normal;font-weight:800;line-height:1.3;display:inline-flex}.equipment-badges i{color:#4e5260;background:#f0f1f4}.source-status{border:1px solid #0000}.status-verified{color:#356945;background:#e8f3eb;border-color:#cde3d3}.status-inferred{color:#705626;background:#faf2dc;border-color:#ead9aa}.status-needs-confirmation{color:#8a493d;background:#fff0ed;border-color:#efcec7}.status-price{color:var(--purple);background:var(--purple-soft);border-color:#dccce7}.compatibility-warning{color:#815a31;background:#fff8ed;border:1px solid #e6c48e;border-radius:9px;padding:10px;font-size:8px;line-height:1.55}.handle-card.is-incompatible{opacity:.5;cursor:not-allowed;filter:grayscale(.28)}.mobile-material-line{display:none}.project-validation{color:#815a31;background:#fff8ed;border:1px solid #e6c48e;border-radius:8px;grid-column:1/-1;margin:0;padding:7px 10px;font-size:8px;line-height:1.45}.new-project-modal{background:#fff;border-radius:20px;width:min(500px,100%);padding:30px;position:relative;box-shadow:0 30px 80px #180e1c47}.new-project-modal>small{color:var(--purple);letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:900}.new-project-modal h2{letter-spacing:-.04em;margin:6px 0 8px;font-size:25px}.new-project-modal>p{color:#756e75;margin:0 0 18px;font-size:11px;line-height:1.55}.new-project-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.new-project-choices button{text-align:left;cursor:pointer;background:#fbf8fc;border:1px solid #ddd4e2;border-radius:12px;min-height:96px;padding:14px}.new-project-choices b,.new-project-choices span{display:block}.new-project-choices b{color:var(--purple-dark);font-size:11px}.new-project-choices span{color:#777078;margin-top:5px;font-size:9px;line-height:1.4}.new-project-cancel{color:#5f595f;cursor:pointer;background:#f0edf0;border:0;border-radius:10px;width:100%;min-height:44px;margin-top:12px;font-size:10px;font-weight:800}.equipment-context{background:linear-gradient(145deg,#fff,#f7f2fa);border:1px solid #dcd3e1;border-radius:11px;gap:4px;margin-bottom:10px;padding:11px;display:grid}.equipment-context small,.placed-equipment-heading small{color:var(--purple);letter-spacing:.1em;font-size:7px;font-weight:900}.equipment-context b{font-size:10px;line-height:1.4}.equipment-context span{color:#7b747c;font-size:8px;line-height:1.45}.equipment-library,.placed-equipment-list{flex-direction:column;gap:8px;display:flex}.equipment-card{background:#fff;border:1px solid #e4dfe4;border-radius:11px;grid-template-columns:58px minmax(0,1fr) 28px;align-items:center;gap:9px;min-width:0;padding:9px;display:grid}.equipment-card.is-compatible{border-color:#c6dccb;box-shadow:inset 3px 0 #78a581}.equipment-card.is-incompatible{background:#faf9fa}.equipment-card>div{min-width:0}.equipment-card b,.equipment-card small,.equipment-card em,.equipment-card div>span{display:block}.equipment-card b{font-size:9px;line-height:1.35}.equipment-card small{color:#716b72;margin-top:3px;font-size:7px;line-height:1.4}.equipment-card em{color:#9a7190;margin-top:4px;font-size:6px;font-style:normal;font-weight:800}.equipment-card div>span{color:#8a6338;margin-top:4px;font-size:6px;line-height:1.4}.equipment-card.is-compatible div>span{color:#42704b}.equipment-card>button{width:28px;height:28px;color:var(--purple);cursor:pointer;background:#f7f2fa;border:1px solid #d8ccdf;border-radius:8px;font-size:17px;font-weight:800}.equipment-card>button:hover{background:var(--purple);color:#fff}.equipment-preview{background:linear-gradient(145deg,#f3f1f2,#dedadd);border-radius:8px;width:58px;height:54px;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #271f2814}.equipment-preview i{display:block;position:absolute}.equipment-preview-sink i:first-child{background:#555e62;border:4px solid #979da0;border-radius:6px 6px 12px 12px;width:29px;height:27px;top:11px;left:7px;box-shadow:inset 0 5px 8px #ffffff4d}.equipment-preview-sink i:nth-child(2){background:repeating-linear-gradient(90deg,#a4a9ab 0 2px,#e0e2e2 2px 4px);width:16px;height:25px;top:12px;right:5px}.equipment-preview-sink i:nth-child(3){border:3px solid #8e9496;border-bottom:0;border-radius:9px 9px 0 0;width:13px;height:16px;top:3px;left:14px}.equipment-preview-sink i:nth-child(4){border:1px solid #bdc1c2;border-radius:50%;width:5px;height:5px;top:26px;left:20px}.equipment-preview-cooktop{background:linear-gradient(145deg,#25272a,#08090b)}.equipment-preview-cooktop i{border:2px solid #85888b;border-radius:50%;width:17px;height:17px}.equipment-preview-cooktop i:first-child{top:8px;left:9px}.equipment-preview-cooktop i:nth-child(2){width:20px;height:20px;top:7px;right:8px}.equipment-preview-cooktop i:nth-child(3){width:20px;height:20px;bottom:7px;left:8px}.equipment-preview-cooktop i:nth-child(4){bottom:9px;right:10px}.equipment-preview-oven,.equipment-preview-microwave{background:linear-gradient(145deg,#3d4144,#101214)}.equipment-preview-oven i:first-child{background:linear-gradient(145deg,#16202a,#050607);border:3px solid #555c61;border-radius:4px;inset:17px 7px 6px}.equipment-preview-oven i:nth-child(2){background:#b2b6b7;border-radius:3px;height:3px;top:14px;left:10px;right:10px}.equipment-preview-oven i:nth-child(3),.equipment-preview-oven i:nth-child(4){border:2px solid #aeb2b3;border-radius:50%;width:7px;height:7px;top:6px}.equipment-preview-oven i:nth-child(3){left:9px}.equipment-preview-oven i:nth-child(4){right:9px}.equipment-preview-microwave i:first-child{background:linear-gradient(145deg,#1a2830,#07090b);border:3px solid #62696e;border-radius:4px;inset:7px 16px 7px 6px}.equipment-preview-microwave i:nth-child(2){background:#4c838c;border-radius:2px;width:6px;height:12px;top:9px;right:7px}.equipment-preview-microwave i:nth-child(3),.equipment-preview-microwave i:nth-child(4){border:1px solid #aeb2b3;border-radius:50%;width:5px;height:5px;right:8px}.equipment-preview-microwave i:nth-child(3){top:28px}.equipment-preview-microwave i:nth-child(4){top:38px}.placed-equipment-heading{justify-content:space-between;align-items:center;margin:18px 2px 8px;display:flex}.placed-equipment-heading b{color:#787178;font-size:8px}.placed-equipment{background:#fff;border:1px solid #e5e0e5;border-radius:10px;grid-template-columns:minmax(0,1fr) 34px;gap:5px;display:grid;overflow:hidden}.placed-equipment.active{border-color:var(--purple);box-shadow:0 0 0 2px var(--purple-soft)}.placed-equipment>button:first-child{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.placed-equipment>button span:nth-child(2){min-width:0}.placed-equipment b,.placed-equipment small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.placed-equipment b{font-size:8px}.placed-equipment small{color:#918a91;margin-top:3px;font-size:7px}.equipment-mini{background:#eee9f1;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.equipment-mini:after{color:var(--purple);font-size:12px;font-weight:900}.equipment-mini-sink:after{content:"◡"}.equipment-mini-cooktop:after{content:"⊙"}.equipment-mini-oven:after{content:"▣"}.equipment-mini-microwave:after{content:"▤"}.equipment-remove{color:#a26363;cursor:pointer;background:#faf8fa;border:0;border-left:1px solid #ece7ec;font-size:17px}.spec-equipment{width:34px;height:34px;color:var(--purple);background:#eee7f3;border-radius:8px;place-items:center;font-size:19px;font-weight:900;display:grid}:where(button,input,select,a):focus-visible{outline-offset:2px;outline:3px solid #5a258f6b;box-shadow:0 0 0 5px #efe8f5e6}:where(button,input,select)[disabled]{cursor:not-allowed}.module-card[aria-pressed=true],.material-card[aria-pressed=true],.surface-card[aria-pressed=true],.handle-card[aria-pressed=true]{border-color:var(--purple)}@media (max-width:680px){body.planner-route-active{overflow:hidden}.app-shell{height:100svh;padding-bottom:calc(66px + env(safe-area-inset-bottom));overflow:hidden}.workspace{height:calc(100svh - 62px - 66px - env(safe-area-inset-bottom));min-height:0;display:block}.stage{grid-template-rows:48px minmax(0,1fr) auto;width:100%;height:100%;max-height:none}.room-scene,.room-scene-three,.three-host,.three-scene{min-height:0}.catalog-panel{z-index:37;left:0;right:0;bottom:calc(66px + env(safe-area-inset-bottom));overscroll-behavior:contain;background:#fcfafcfb;border:0 solid #ddd4df;border-top-width:1px;border-radius:22px 22px 0 0;width:100%;max-height:min(56svh,580px);padding:8px 14px 24px;transition:transform .28s,visibility .28s;position:fixed;overflow-y:auto;transform:translateY(0);box-shadow:0 -22px 60px #26142b33}.catalog-panel:before{content:"";background:#cfc7cf;border-radius:4px;width:42px;height:4px;margin:2px auto 4px;display:block}.catalog-panel.is-closed{visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 12px))}.catalog-sheet-close{z-index:4;width:44px;height:44px;color:var(--purple);cursor:pointer;background:#fffffff2;border:1px solid #ded6e1;border-radius:22px;place-items:center;margin:0 0 -44px auto;font-size:21px;display:grid;position:sticky;top:0;box-shadow:0 5px 15px #2f193814}.panel-heading{padding-right:46px}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.module-list{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:8px;display:grid}.module-card{grid-template-columns:48px minmax(0,1fr) 24px;min-height:122px}.material-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.stage-footer{grid-template-columns:1fr;gap:8px;padding:8px 12px}.mobile-project-actions{display:none}.layout-switcher button,.instance-action-button,.catalog-search input,.catalog-filters select,.instance-height-control select,.view-toggle button,.qr-button,.quote-button,.catalog-sheet-close,.mobile-project-actions button,.material-category-tabs button,.material-card,.surface-card,.handle-card,.placed-equipment>button{min-width:44px;min-height:44px}.equipment-card{grid-template-columns:58px minmax(0,1fr) 44px}.equipment-card>button{width:44px;min-width:44px;height:44px;min-height:44px}.placed-equipment{grid-template-columns:minmax(0,1fr) 44px}.modal-backdrop button,.modal-backdrop input,.modal-backdrop select,.ar-export-state button,.phone-address input,.copy-phone-link{min-width:44px;min-height:44px}.modal-close{width:44px;height:44px}.modal-backdrop .quote-modal>.modal-close{z-index:4;margin:0 0 -44px auto;position:sticky;top:0;right:auto}.ar-modal-backdrop{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overscroll-behavior:contain;overflow:hidden}.ar-modal-backdrop .qr-modal{width:min(450px,100%);max-height:calc(100dvh - max(20px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom)));overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scroll-padding-block:12px 24px;overflow:hidden auto}.ar-modal-backdrop .qr-modal>.modal-close{z-index:4;place-items:center;margin:0 0 -44px auto;display:grid;position:sticky;top:0;right:auto}.ar-modal-backdrop .wifi-note{grid-template-columns:20px minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr)}.ar-modal-backdrop .wifi-note span{overflow-wrap:anywhere;min-width:0}.ar-modal-backdrop .wifi-note i{display:none}.selected-summary{min-height:46px;display:flex}.selected-summary>div{min-width:0}.selected-summary button{display:none}.selected-summary em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-material-line{color:#857e85;text-overflow:ellipsis;white-space:nowrap;max-width:min(68vw,330px);margin-top:2px;font-size:7px;display:block;overflow:hidden}.ar-main-button{height:48px}.tool-rail{height:calc(66px + env(safe-area-inset-bottom));padding-bottom:max(5px,env(safe-area-inset-bottom))}.tool-rail .rail-label-full{display:none}.tool-rail .rail-label-mobile{display:inline}.scene-caption{max-width:calc(100% - 20px);bottom:9px;left:10px}.scene-caption span{display:none}.room-field-grid,.room-item{grid-template-columns:repeat(2,minmax(0,1fr))}.room-number-field input,.room-item select,.placement-editor select,.room-editor-section header button,.room-remove,.nudge-pad button{min-height:44px}.mobile-project-button,.qr-button,.quote-label-full{display:none}.quote-label-mobile{display:inline}.summary-panel.is-mobile-open{width:100%;max-width:100%;inset:62px 0 0;overflow-x:hidden}.summary-project-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px;display:grid}.summary-project-actions button{min-width:0;min-height:54px;color:var(--purple);background:#fff;border:1px solid #e1d9e4;border-radius:10px;place-items:center;gap:2px;padding:6px 3px;font-weight:850;display:grid}.summary-project-actions button span{color:#5d565e;font-size:var(--customer-text-min)}.summary-project-actions button.is-danger,.summary-project-actions button.is-danger span{color:#9b4250}.summary-project-actions button:disabled{opacity:.35}.app-shell,.workspace,.stage,.tool-rail{max-width:100vw;overflow-x:hidden}}@media (max-width:430px){.catalog-panel{max-height:58svh;padding-left:11px;padding-right:11px}.catalog-filters{gap:6px}.module-list{grid-template-columns:1fr}.module-card{min-height:118px}.material-grid{grid-template-columns:1fr 1fr}.selected-summary .selection-icon{display:none}.mobile-material-line{max-width:78vw}.new-project-modal{padding:26px 17px 18px}.new-project-choices{grid-template-columns:1fr}}@media (pointer:coarse){button,select,input:not([type=range]){min-height:44px}button{min-width:44px}.material-category-tabs button{min-height:44px}.modal-close{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ar-spinner{border-top-color:#e9dff0;border-right-color:var(--purple);animation:none}}.app-shell,.catalog-page,.ar-page-shell{--customer-text-min:.75rem}.app-shell{font-size:.875rem}.app-shell :is(.brand-block span,.project-steps i,.desktop-history-button,.qr-button b,.tool-rail button,.panel-heading small,.summary-heading>small,.quote-modal>small,.success-state small,.panel-heading>span,.layout-switcher button,.panel-hint,.module-copy b,.module-copy small,.module-copy em,.material-category-tabs button,.material-card b,.material-card small,.material-card em,.surface-card b,.handle-card b,.surface-card small,.handle-card small,.view-toggle button,.room-size,.room-size button,.scene-profiler,.wall-visibility legend,.wall-visibility label,.scene-caption,.selection-tag,.kitchen-measure,.reference-view small,.reference-view p,.selected-summary small,.project-stats small,.ar-main-button small,.selected-summary b,.selected-summary em,.selected-summary button,.project-stats b,.ar-main-button>span,.ar-main-button b,.summary-heading>span,.mini-plan>span,.chosen-specs small,.chosen-specs b,.price-box span,.price-box small,.price-box p,.summary-cta,.download-spec,.consult-note>span,.consult-note p,.consult-note b,.ar-overlay>header small,.ar-overlay>header b,.ar-overlay>header>span,.scan-frame span,.ar-controls small,.ar-controls b,.camera-note b,.camera-note span,.room-photo-button,.quote-modal>p,.modal-project b,.modal-project small,.qr-modal>small:first-of-type,.qr-modal>p,.qr-frame>span,.phone-address span,.phone-address input,.copy-phone-link,.wifi-note b,.wifi-note span,.wifi-note i,.local-warning,.quote-modal label span,.quote-modal input,.quote-modal select,.quote-modal form button,.success-state button,.quote-modal form>small,.quote-error,.quote-success p,.quote-success small,.quote-success button,.success-state p,.toast,.toast span,.mobile-project-actions button,.tool-rail button span,.quote-button,.three-scene-hint span,.three-scene-hint b,.ar-export-state p,.ar-export-state button,.catalog-search label,.catalog-filters label>span,.option-label,.catalog-search input,.catalog-filters select,.instance-editor-kicker,.instance-editor-name,.instance-editor-meta,.instance-height-control,.instance-height-control select,.instance-action-button,.room-editor-section h2,.room-editor-section header button,.room-remove,.room-field-grid label,.room-item label,.room-number-field input,.room-item select,.placement-editor select,.room-number-field i,.room-lock,.room-violations,.room-dimension-actions button,.persistence-status,.equipment-badges i,.source-status,.compatibility-warning,.project-validation,.new-project-modal>small,.new-project-modal>p,.new-project-choices b,.new-project-choices span,.new-project-cancel,.equipment-context small,.placed-equipment-heading small,.equipment-context b,.equipment-context span,.equipment-card b,.equipment-card small,.equipment-card em,.equipment-card div>span,.placed-equipment-heading b,.placed-equipment b,.placed-equipment small,.mobile-material-line),.app-shell .summary-heading:after,.catalog-page :is(.catalog-index-header small,.catalog-module-header small,.catalog-module-specs dt,.ar-scope-picker legend),.ar-page-shell :is(.ar-page-header>span,.ar-page-copy>small:first-child,.ar-spec-grid dt,.ar-page-error a){font-size:var(--customer-text-min)}.catalog-series h2 small,.catalog-series-list small,.catalog-module-specs dt,.project-steps button{color:#655d67}.layout-switcher button,.layout-switcher i,.view-toggle button,.panel-heading>span,.panel-hint,.room-size,.selected-summary small,.selected-summary em,.project-stats small,.mobile-material-line,.mini-plan>span,.chosen-specs small{color:#5c5560}.toast span{background:#2f6b45}
