.cat-rail-empty[data-v-5df9a632]{margin:12px 12px 4px;padding:14px 12px;text-align:center;font-size:12.5px;font-weight:600;color:#0b25458c;background:rgba(11,37,69,.04);border:1px dashed rgba(11,37,69,.15);border-radius:6px}.loc-bar[data-v-fcedc831]{padding:3px 22px 6px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex-shrink:0}.loc-bar-label[data-v-fcedc831]{font-size:10px;color:var(--gray-500);letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding-right:10px;margin-right:4px;border-right:1px solid var(--gray-200);line-height:1;display:inline-flex;align-items:center;height:22px}.loc-pill[data-v-fcedc831]{padding:5px 11px;font-size:11.5px;font-weight:600;border-radius:100px;background:var(--gray-50);color:var(--gray-500);border:1px solid transparent;transition:all .15s ease;cursor:pointer}.loc-pill[data-v-fcedc831]:hover{background:var(--gray-100);color:var(--navy)}.loc-pill.active[data-v-fcedc831]{background:var(--brand-aqua, var(--navy));color:var(--paper)}.product-debug-btn[data-v-1a8ff327]{position:absolute;top:6px;right:30px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,80,80,.6);background:rgba(255,0,0,.85);color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 1px 3px #00000059;z-index:3}.product-debug-btn svg[data-v-1a8ff327]{width:14px;height:14px}.product-debug-btn[data-v-1a8ff327]:hover{background:rgba(255,30,30,.95)}.finish-inset[data-v-1a8ff327]{position:absolute;bottom:6px;left:6px;width:28px;height:28px;border-radius:50%;background-size:cover;background-position:center;border:2px solid white;box-shadow:0 1px 4px #00000040;z-index:3;pointer-events:none}.product-override-dot[data-v-1a8ff327]{position:absolute;top:6px;left:6px;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#f4a533 0%,#d87c0c 100%);border:1.5px solid white;box-shadow:0 1px 3px #00000059;z-index:3;pointer-events:auto;cursor:default}.struct-card[data-v-c4cb61c7]{position:relative}.struct-debug-btn[data-v-c4cb61c7]{position:absolute;top:6px;right:50px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,80,80,.6);background:rgba(255,0,0,.85);color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 1px 3px #00000059;z-index:3}.struct-debug-btn svg[data-v-c4cb61c7]{width:14px;height:14px}.struct-debug-btn[data-v-c4cb61c7]:hover{background:rgba(255,30,30,.95)}.theme-hero-img[data-v-3638fce5]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.theme-palette-bg[data-v-3638fce5]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--aqua-soft, rgba(0, 169, 183, .18)) 0%,var(--gray-50, #f5f6f8) 100%);color:var(--navy, #0b2545)}.theme-palette-icon[data-v-3638fce5]{width:44%;height:44%;opacity:.78}.theme-default-pill[data-v-3638fce5]{background:var(--brand-accent, #f4a533);color:#fff}.theme-count-pill[data-v-3638fce5]{background:rgba(11,37,69,.78);color:#fff;font-weight:600}.theme-product-card.is-disabled[data-v-3638fce5]{opacity:.55;cursor:not-allowed}.theme-product-card.is-disabled[data-v-3638fce5]:hover{transform:none;box-shadow:none}.theme-product-card[data-v-3638fce5]:not(.active):has(.theme-default-pill){border-color:#f4a53373}.theme-debug-btn[data-v-3638fce5]{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,80,80,.6);background:rgba(255,0,0,.85);color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 1px 3px #00000059;z-index:4}.theme-debug-btn svg[data-v-3638fce5]{width:14px;height:14px}.theme-debug-btn[data-v-3638fce5]:hover{background:rgba(255,30,30,.95)}.export-btn[data-v-aa248641]:disabled{opacity:.45;cursor:not-allowed}.total-label[data-v-aa248641]{display:inline-flex;align-items:center;gap:6px}.tb-info-wrap[data-v-aa248641]{position:relative;display:inline-flex;align-items:center;cursor:help;padding:2px;border-radius:50%}.tb-info[data-v-aa248641]{width:14px;height:14px;opacity:.55;transition:opacity .12s ease}.tb-info-wrap:hover .tb-info[data-v-aa248641],.tb-info-wrap:focus-visible .tb-info[data-v-aa248641]{opacity:1}.tb-info-wrap[data-v-aa248641]:focus-visible{outline:2px solid var(--aqua, #00a9b7);outline-offset:1px}.tb-info-pop[data-v-aa248641]{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);min-width:200px;padding:8px 10px;background:rgba(11,37,69,.96);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:12px;line-height:1.4;box-shadow:0 6px 18px #00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;z-index:12;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.tb-info-wrap:hover .tb-info-pop[data-v-aa248641],.tb-info-wrap:focus-visible .tb-info-pop[data-v-aa248641]{opacity:1;transform:translate(-50%) translateY(0)}.tb-info-row[data-v-aa248641]{display:flex;justify-content:space-between;gap:18px;padding:2px 0}.tb-info-key[data-v-aa248641]{opacity:.78;font-weight:500}.tb-info-val[data-v-aa248641]{font-variant-numeric:tabular-nums;font-weight:600}.tb-info-divider[data-v-aa248641]{height:1px;background:rgba(255,255,255,.18);margin:4px 0}.tb-info-row--total .tb-info-key[data-v-aa248641],.tb-info-row--total .tb-info-val[data-v-aa248641]{font-weight:700;font-size:13px;opacity:1}.floorplan-2d-viewer[data-v-228c908f]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--off-white);pointer-events:none;opacity:0;transition:opacity var(--dur-md, .2s) ease;overflow:hidden}.floorplan-2d-viewer.shown[data-v-228c908f]{pointer-events:auto;opacity:1}.floorplan-2d-img[data-v-228c908f]{position:absolute;left:50%;top:50%;transform-origin:center center}.fp2d-svg-card[data-v-228c908f]{width:min(92vw,1600px);height:min(82vh,1100px);background:transparent;overflow:hidden}.fp2d-svg-host[data-v-228c908f]{width:100%;height:100%}.fp2d-svg-host>svg[data-v-228c908f]{display:block!important;width:100%!important;height:100%!important}.fp2d-legacy-img[data-v-228c908f]{display:block;max-width:100%;max-height:100%;object-fit:contain}.fp2d-spinner[data-v-228c908f]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3}.fp2d-spinner-ring[data-v-228c908f]{width:44px;height:44px;border:3px solid rgba(11,37,69,.12);border-top-color:var(--navy);border-radius:50%;animation:fp2d-spin-228c908f .8s linear infinite}@keyframes fp2d-spin-228c908f{to{transform:rotate(360deg)}}.floorplan-2d-controls[data-v-228c908f]{position:absolute;top:50%;right:16px;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;z-index:2}.floorplan-2d-controls button[data-v-228c908f]{width:32px;height:32px;background:rgba(255,255,255,.95);border:1px solid rgba(11,37,69,.18);border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;color:#0b2545}.floorplan-2d-controls button[data-v-228c908f]:hover{border-color:#00a9b7;color:#00a9b7}.exterior-2d-render[data-v-f21af3d8]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--off-white);pointer-events:none;opacity:0;transition:opacity var(--dur-md, .2s) ease;overflow:hidden}.exterior-2d-render.shown[data-v-f21af3d8]{pointer-events:auto;opacity:1}.exterior-2d-render img[data-v-f21af3d8]{width:100%;height:100%;object-fit:cover;object-position:center bottom;display:block}.plt-stack[data-v-1b491f1e]{position:absolute;left:50%;bottom:132px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:5;pointer-events:none}.plt-stack--empty[data-v-1b491f1e]{display:none}.plt-pill[data-v-1b491f1e]{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:rgba(11,37,69,.94);color:#fff;border-radius:999px;font-size:13px;font-weight:500;box-shadow:0 6px 18px #00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;animation:plt-fade-in-1b491f1e .18s ease-out both}.plt-pill--done[data-v-1b491f1e]{background:rgba(0,169,183,.95)}.plt-pill--failed[data-v-1b491f1e]{background:rgba(200,50,60,.95)}.plt-icon[data-v-1b491f1e]{display:inline-flex;align-items:center}.plt-label[data-v-1b491f1e]{display:inline-flex;gap:6px;align-items:baseline;flex-wrap:wrap}.plt-prefix[data-v-1b491f1e]{opacity:.78;font-weight:500}.plt-name[data-v-1b491f1e]{font-weight:700}.plt-progress[data-v-1b491f1e]{display:inline-flex;align-items:center;gap:6px;margin-left:4px}.plt-progress[data-v-1b491f1e]:before{content:"";display:inline-block;width:60px;height:4px;border-radius:999px;background:rgba(255,255,255,.22);position:relative;overflow:hidden}.plt-progress[data-v-1b491f1e]{position:relative}.plt-progress-fill[data-v-1b491f1e]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:4px;border-radius:999px;background:rgba(255,255,255,.92);transition:width .24s cubic-bezier(.22,1,.36,1);pointer-events:none}.plt-progress-pct[data-v-1b491f1e]{font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;opacity:.9;margin-left:64px}.plt-spin[data-v-1b491f1e]{animation:plt-rotate-1b491f1e 1.6s linear infinite;transform-origin:50% 50%}@keyframes plt-rotate-1b491f1e{to{transform:rotate(360deg)}}@keyframes plt-fade-in-1b491f1e{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.aigen-toast[data-v-c35561fa]{position:absolute;left:50%;bottom:188px;transform:translate(-50%);z-index:5;display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;background:linear-gradient(135deg,rgba(11,37,69,.96),rgba(0,169,183,.96));color:#fff;border-radius:999px;box-shadow:0 8px 28px #00000059,0 2px 6px #00a9b766;font-size:13px;font-weight:600;letter-spacing:.01em;max-width:90vw;pointer-events:auto;-webkit-user-select:none;user-select:none}.aigen-toast.is-clickable[data-v-c35561fa]{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.aigen-toast.is-clickable[data-v-c35561fa]:hover{transform:translate(-50%) translateY(-1px);box-shadow:0 10px 32px #0006,0 3px 8px #f4a53399}.aigen-toast.is-done[data-v-c35561fa]{background:linear-gradient(135deg,rgba(0,169,183,.96),rgba(11,37,69,.96))}.aigen-badge[data-v-c35561fa]{width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center}.aigen-spinner[data-v-c35561fa]{width:100%;height:100%;animation:aigen-spin-c35561fa 1.4s linear infinite,aigen-pulse-c35561fa 2.2s ease-in-out infinite}.aigen-check[data-v-c35561fa]{width:100%;height:100%;animation:aigen-pop-c35561fa .4s cubic-bezier(.34,1.56,.64,1)}.aigen-badge.is-thumb[data-v-c35561fa]{width:44px;height:44px;flex:0 0 44px;border-radius:8px;overflow:hidden;position:relative;box-shadow:0 0 0 2px #ffffff40,0 4px 14px #00a9b773;animation:aigen-thumb-pop-c35561fa .45s cubic-bezier(.34,1.56,.64,1)}.aigen-thumb[data-v-c35561fa]{width:100%;height:100%;object-fit:cover;display:block}.aigen-thumb-check[data-v-c35561fa]{position:absolute;right:2px;bottom:2px;width:16px;height:16px;border-radius:50%;background:#00a9b7;color:#fff;display:grid;place-items:center;box-shadow:0 1px 3px #0006}.aigen-thumb-check svg[data-v-c35561fa]{width:10px;height:10px}@keyframes aigen-thumb-pop-c35561fa{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes aigen-spin-c35561fa{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes aigen-pulse-c35561fa{0%,to{filter:drop-shadow(0 0 0 rgba(244,165,51,0))}50%{filter:drop-shadow(0 0 6px rgba(244,165,51,.7))}}@keyframes aigen-pop-c35561fa{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.aigen-text[data-v-c35561fa]{display:flex;flex-direction:column;gap:2px;min-width:0}.aigen-title[data-v-c35561fa]{font-size:13px;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aigen-status[data-v-c35561fa]{font-size:11.5px;font-weight:500;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aigen-toast.is-done .aigen-status[data-v-c35561fa]{opacity:1;font-weight:600}.aigen-fade-enter-active[data-v-c35561fa]{transition:opacity .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.aigen-fade-leave-active[data-v-c35561fa]{transition:opacity .4s ease,transform .4s ease}.aigen-fade-enter-from[data-v-c35561fa]{opacity:0;transform:translate(-50%) translateY(8px)}.aigen-fade-leave-to[data-v-c35561fa]{opacity:0;transform:translate(-50%) translateY(-4px)}.cold-start-fade[data-v-b0577847]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff;z-index:5;pointer-events:none}.csf-fade-leave-active[data-v-b0577847]{transition:opacity .6s ease}.csf-fade-leave-to[data-v-b0577847]{opacity:0}.csf-fade-enter-active[data-v-b0577847],.csf-fade-enter-from[data-v-b0577847]{transition:none;opacity:1}.vfade-overlay[data-v-11dbb19d]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#0B2545;opacity:0;pointer-events:none;will-change:opacity;transform:translateZ(0);display:flex;align-items:center;justify-content:center;padding:24px}.vfade-overlay.vfade-idle[data-v-11dbb19d]{opacity:0;pointer-events:none;transition:opacity 0ms}.vfade-overlay.vfade-in[data-v-11dbb19d]{opacity:1;pointer-events:auto;transition:opacity .25s cubic-bezier(.4,0,.2,1)}.vfade-overlay.vfade-covered[data-v-11dbb19d]{opacity:1;pointer-events:auto;transition:opacity 0ms}.vfade-overlay.vfade-out[data-v-11dbb19d]{opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.4,0,.6,1)}.vfade-content[data-v-11dbb19d]{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;-webkit-user-select:none;user-select:none;animation:vfade-content-slide-11dbb19d .36s cubic-bezier(.22,1,.36,1) both}.vfade-title[data-v-11dbb19d]{color:#e8f4f6;font-size:28px;font-weight:700;letter-spacing:.02em;text-shadow:0 0 24px rgba(0,169,183,.45),0 2px 8px rgba(0,0,0,.5)}.vfade-title-text[data-v-11dbb19d]{background:linear-gradient(100deg,#E8F4F6 0%,#E8F4F6 35%,#FFFFFF 50%,#00E0F0 60%,#E8F4F6 75%,#E8F4F6 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:vfade-shimmer-11dbb19d 2.4s ease-in-out infinite}.vfade-dots[data-v-11dbb19d]{display:inline-flex;align-items:center;gap:10px;height:12px}.vfade-dot[data-v-11dbb19d]{width:10px;height:10px;border-radius:50%;background:#00A9B7;box-shadow:0 0 8px #00a9b7cc;animation:vfade-dot-pulse-11dbb19d 1.2s ease-in-out infinite}.vfade-dot[data-v-11dbb19d]:nth-child(1){animation-delay:0s}.vfade-dot[data-v-11dbb19d]:nth-child(2){animation-delay:.18s}.vfade-dot[data-v-11dbb19d]:nth-child(3){animation-delay:.36s}@keyframes vfade-shimmer-11dbb19d{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes vfade-dot-pulse-11dbb19d{0%,to{transform:scale(.7);opacity:.4;background:#007984;box-shadow:0 0 4px #00a9b766}50%{transform:scale(1);opacity:1;background:#00A9B7;box-shadow:0 0 12px #00a9b7f2}}@keyframes vfade-content-slide-11dbb19d{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 720px){.vfade-title[data-v-11dbb19d]{font-size:22px}.vfade-content[data-v-11dbb19d]{gap:14px}.vfade-dot[data-v-11dbb19d]{width:8px;height:8px}}.hover-label[data-v-efaba931]{position:absolute;z-index:500;pointer-events:none;transform:translate(12px,calc(-100% - 6px));padding:6px 18px 7px;background:rgba(255,255,255,.95);color:#0b2545;font-family:Poppins,sans-serif;border-radius:999px;white-space:nowrap;max-width:360px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(11,37,69,.15);box-shadow:0 2px 8px #0006}.hover-label-line1[data-v-efaba931]{font-size:10px;font-weight:400;letter-spacing:.04em;color:#00a9b7;margin-bottom:2px}.hover-label-line2[data-v-efaba931]{font-size:12px;font-weight:600;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis}.hover-label-enter-active[data-v-efaba931]{transition:opacity .12s ease,transform .12s ease}.hover-label-leave-active[data-v-efaba931]{transition:opacity 80ms ease}.hover-label-enter-from[data-v-efaba931]{opacity:0;transform:translate(12px,calc(-80% - 6px))}.hover-label-leave-to[data-v-efaba931]{opacity:0}.scm-overlay[data-v-05b1dac3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:rgba(11,37,69,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}.scm-card[data-v-05b1dac3]{width:420px;max-width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--paper, #fff);border-radius:16px;box-shadow:0 18px 50px #00000059;overflow:hidden}.scm-head[data-v-05b1dac3]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--gray-100, #e6eaee)}.scm-head strong[data-v-05b1dac3]{font-size:14px;color:var(--navy, #0b2545)}.scm-x[data-v-05b1dac3]{border:none;background:transparent;cursor:pointer;color:var(--gray-400, #8a96a3);font-size:14px;line-height:1;padding:2px 4px}.scm-x[data-v-05b1dac3]:hover:not(:disabled){color:var(--navy, #0b2545)}.scm-x[data-v-05b1dac3]:disabled{opacity:.4;cursor:not-allowed}.scm-body[data-v-05b1dac3]{padding:14px 16px;overflow:auto}.scm-field[data-v-05b1dac3]{display:block;margin-bottom:14px}.scm-label[data-v-05b1dac3]{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400, #8a96a3);margin-bottom:6px}.scm-input[data-v-05b1dac3]{width:100%;box-sizing:border-box;padding:9px 11px;border-radius:9px;border:1px solid var(--gray-200, #cfd6dd);font-size:13px;color:var(--navy, #0b2545);outline:none}.scm-input[data-v-05b1dac3]:focus{border-color:var(--aqua, #00a9b7)}.scm-rooms-head[data-v-05b1dac3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.scm-all[data-v-05b1dac3]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--navy, #0b2545);cursor:pointer}.scm-group-label[data-v-05b1dac3]{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy, #0b2545);margin:14px 0 7px}.scm-group-label[data-v-05b1dac3]:first-of-type{margin-top:4px}.scm-rooms[data-v-05b1dac3]{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.scm-room[data-v-05b1dac3]{display:flex;align-items:center;gap:7px;padding:8px 10px;background:var(--gray-50, #f4f6f8);border:1px solid var(--gray-100, #e6eaee);border-radius:9px;font-size:12.5px;color:var(--navy, #0b2545);cursor:pointer}.scm-room.on[data-v-05b1dac3]{border-color:var(--aqua, #00a9b7);background:var(--aqua-soft, #e6f7f9)}.scm-note[data-v-05b1dac3],.scm-hint[data-v-05b1dac3],.scm-warn[data-v-05b1dac3]{font-size:12px;margin:12px 0 0}.scm-note[data-v-05b1dac3],.scm-hint[data-v-05b1dac3]{color:var(--gray-400, #8a96a3)}.scm-warn[data-v-05b1dac3]{color:#b26a00;background:#fff6e6;border-radius:9px;padding:9px 11px}.scm-foot[data-v-05b1dac3]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--gray-100, #e6eaee)}.scm-btn[data-v-05b1dac3],.scm-btn-sec[data-v-05b1dac3]{padding:9px 16px;border-radius:9px;font-size:12.5px;font-weight:600;cursor:pointer}.scm-btn[data-v-05b1dac3]{background:var(--navy, #0b2545);color:#fff;border:1px solid var(--navy, #0b2545)}.scm-btn[data-v-05b1dac3]:hover:not(:disabled){background:#123a66}.scm-btn[data-v-05b1dac3]:disabled{opacity:.45;cursor:not-allowed}.scm-btn-sec[data-v-05b1dac3]{background:transparent;color:var(--navy, #0b2545);border:1px solid var(--gray-200, #cfd6dd)}.scm-btn-sec[data-v-05b1dac3]:hover:not(:disabled){background:var(--gray-100, #e6eaee)}.scm-btn-sec[data-v-05b1dac3]:disabled{opacity:.45;cursor:not-allowed}.cmp-overlay[data-v-b2439fa5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:rgba(11,37,69,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:12px}.cmp-card[data-v-b2439fa5]{width:96vw;height:95vh;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);display:flex;flex-direction:column;background:var(--paper, #fff);border-radius:16px;box-shadow:0 18px 50px #0006;overflow:hidden}.cmp-head[data-v-b2439fa5]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--gray-100, #e6eaee)}.cmp-title[data-v-b2439fa5]{font-size:14px;color:var(--navy, #0b2545);white-space:nowrap}.cmp-x[data-v-b2439fa5]{border:none;background:transparent;cursor:pointer;color:var(--gray-400, #8a96a3);font-size:14px;padding:2px 4px}.cmp-x[data-v-b2439fa5]:hover{color:var(--navy, #0b2545)}.cmp-pickers[data-v-b2439fa5]{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center}.cmp-pick[data-v-b2439fa5]{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-400, #8a96a3)}.cmp-pick select[data-v-b2439fa5]{padding:6px 9px;border-radius:8px;border:1px solid var(--gray-200, #cfd6dd);font-size:12.5px;color:var(--navy, #0b2545);background:#fff;max-width:220px}.cmp-body[data-v-b2439fa5]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px}.cmp-empty[data-v-b2439fa5]{max-width:460px;padding:30px 24px;text-align:center;color:var(--gray-400, #8a96a3);font-size:13px}.cmp-stage[data-v-b2439fa5]{position:relative;aspect-ratio:16 / 9;height:100%;width:auto;max-width:100%;background:#000;border-radius:10px;overflow:hidden;cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none}.cmp-img[data-v-b2439fa5]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}.cmp-top[data-v-b2439fa5]{z-index:1}.cmp-divider[data-v-b2439fa5]{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #00000059;z-index:2;pointer-events:none}.cmp-handle[data-v-b2439fa5]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:#fff;color:var(--navy, #0b2545);display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 8px #0006}.cmp-tag-layer[data-v-b2439fa5]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.cmp-tag[data-v-b2439fa5]{position:absolute;top:10px;padding:4px 9px;border-radius:100px;font-size:11px;font-weight:700;background:rgba(11,37,69,.78);color:#fff;pointer-events:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-tag-a[data-v-b2439fa5]{left:10px}.cmp-tag-b[data-v-b2439fa5]{right:10px}.cmp-tag-dim[data-v-b2439fa5]{background:rgba(42,50,62,.6);color:#fff6}.sc-control[data-v-980edc7d]{position:relative}.sc-btn[data-v-980edc7d]{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;background:var(--navy, #0b2545);color:#fff;border:none;border-radius:100px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-md, 0 4px 14px rgba(0, 0, 0, .18));transition:background .15s,transform .15s}.sc-btn[data-v-980edc7d]:hover,.sc-btn.active[data-v-980edc7d]{background:#123a66}.sc-btn-label[data-v-980edc7d]{line-height:1}.sc-btn-count[data-v-980edc7d]{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:100px;background:var(--aqua, #00a9b7);color:#fff;font-size:10px;font-weight:700}.sc-panel[data-v-980edc7d]{position:absolute;top:calc(100% + 8px);left:0;width:360px;max-width:calc(100vw - 36px);max-height:calc(100vh - 120px);overflow:auto;background:var(--paper, #fff);border-radius:14px;box-shadow:0 10px 34px #00000042;padding:12px;z-index:20}.sc-panel-head[data-v-980edc7d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sc-panel-head strong[data-v-980edc7d]{font-size:13px;color:var(--navy, #0b2545)}.sc-x[data-v-980edc7d]{border:none;background:transparent;color:var(--gray-400, #8a96a3);cursor:pointer;font-size:13px;line-height:1;padding:2px 4px}.sc-x[data-v-980edc7d]:hover{color:var(--navy, #0b2545)}.sc-list[data-v-980edc7d]{display:flex;flex-direction:column;gap:6px}.sc-row[data-v-980edc7d]{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:9px 10px;background:var(--gray-50, #f4f6f8);border:1px solid var(--gray-100, #e6eaee);border-radius:10px}.sc-rename[data-v-980edc7d]{display:flex;align-items:center;gap:5px}.sc-row-main[data-v-980edc7d]{display:flex;align-items:center;gap:8px;min-width:0}.sc-name[data-v-980edc7d]{font-size:12.5px;font-weight:600;color:var(--navy, #0b2545);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-current[data-v-980edc7d]{font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--aqua, #00a9b7);white-space:nowrap}.sc-meta[data-v-980edc7d]{font-size:10px;font-weight:600;color:var(--gray-400, #8a96a3);white-space:nowrap;margin-left:auto}.sc-row-actions[data-v-980edc7d]{display:flex;gap:4px;flex-wrap:wrap}.sc-mini[data-v-980edc7d]{padding:4px 9px;border-radius:7px;border:1px solid var(--navy, #0b2545);background:var(--navy, #0b2545);color:#fff;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .15s,background .15s}.sc-mini[data-v-980edc7d]:hover{background:#123a66}.sc-mini[data-v-980edc7d]:disabled{opacity:.45;cursor:not-allowed}.sc-mini-ghost[data-v-980edc7d]{background:transparent;color:var(--navy, #0b2545);border-color:var(--gray-200, #cfd6dd)}.sc-mini-ghost[data-v-980edc7d]:hover{background:var(--gray-100, #e6eaee)}.sc-mini-danger[data-v-980edc7d]{background:transparent;color:#c0392b;border-color:#c0392b66}.sc-mini-danger[data-v-980edc7d]:hover{background:rgba(192,57,43,.1)}.sc-empty[data-v-980edc7d]{font-size:12px;color:var(--gray-400, #8a96a3);padding:10px 4px;text-align:center}.sc-add[data-v-980edc7d]{margin-top:10px;display:flex;flex-direction:column;gap:4px}.sc-add-btn[data-v-980edc7d]{width:100%;padding:8px;border-radius:9px;border:1px dashed var(--gray-200, #cfd6dd);background:transparent;color:var(--navy, #0b2545);font-size:12px;font-weight:600;cursor:pointer}.sc-add-btn[data-v-980edc7d]:hover:not(:disabled){background:var(--gray-50, #f4f6f8);border-color:var(--aqua, #00a9b7)}.sc-add-btn[data-v-980edc7d]:disabled{opacity:.5;cursor:not-allowed}.sc-add-note[data-v-980edc7d]{margin:0;padding:0 2px;font-size:11px;color:var(--gray-400, #8a96a3)}.sc-input[data-v-980edc7d]{flex:1;min-width:0;padding:7px 9px;border-radius:8px;border:1px solid var(--gray-200, #cfd6dd);font-size:12.5px;color:var(--navy, #0b2545);outline:none}.sc-input[data-v-980edc7d]:focus{border-color:var(--aqua, #00a9b7)}.ai-capture-error[data-v-e6b916b2]{color:var(--danger, #c8323c);font-size:11.5px;margin:6px 0 0;line-height:1.4}.ai-capture-video[data-v-e6b916b2]{width:100%;height:100%;border-radius:8px;object-fit:cover;background:#000}.ai-capture-placeholder[data-v-e6b916b2]{color:inherit;font-size:inherit}.ai-disclaimer[data-v-e6b916b2]{margin:10px 0 0;font-size:10.5px;line-height:1.4;color:var(--text-muted, var(--gray-400, #888));font-style:italic}#ai-chat-surface .ai-disclaimer[data-v-e6b916b2]{padding:0 16px 10px}.ai-intro-sub[data-v-e6b916b2]{font-size:12px}.ai-msg.ai-thinking[data-v-e6b916b2]{opacity:.65;font-style:italic}.ai-msg.ai-error[data-v-e6b916b2]{color:var(--danger, #c8323c);font-style:italic}.ai-picker-strip[data-v-e6b916b2]{display:flex;gap:6px;padding:6px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.ai-picker-strip[data-v-e6b916b2]::-webkit-scrollbar{height:6px}.ai-picker-strip[data-v-e6b916b2]::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.ai-picker-thumb[data-v-e6b916b2]{position:relative;flex:0 0 64px;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;background:var(--gray-100);transition:border-color .15s ease,transform .15s ease}.ai-picker-thumb[data-v-e6b916b2]:hover{border-color:var(--aqua, #00a9b7);transform:translateY(-1px)}.ai-picker-thumb img[data-v-e6b916b2]{width:100%;height:100%;object-fit:cover;display:block}.ai-picker-tag[data-v-e6b916b2]{position:absolute;top:2px;left:2px;font-size:9px;font-weight:700;letter-spacing:.06em;background:linear-gradient(135deg,var(--aqua, #00a9b7),var(--brand-accent, #f4a533));color:#fff;padding:1px 4px;border-radius:3px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ai-capture-actions button.active[data-v-e6b916b2]{background:var(--aqua, #00a9b7);color:#fff;border-color:var(--aqua, #00a9b7)}.ai-clarify[data-v-e6b916b2]{margin:4px 16px 8px;padding:10px 12px;background:rgba(0,169,183,.06);border:1px solid rgba(0,169,183,.3);border-radius:10px}.ai-clarify-question[data-v-e6b916b2]{font-size:12.5px;font-weight:600;color:var(--navy, #0b2545);margin-bottom:8px;line-height:1.4}.ai-clarify-chips[data-v-e6b916b2]{display:flex;flex-wrap:wrap;gap:6px}.ai-clarify-chip[data-v-e6b916b2]{padding:6px 12px;background:white;color:var(--navy, #0b2545);border:1px solid var(--aqua, #00a9b7);border-radius:999px;font-size:11.5px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease;text-align:left;line-height:1.3}.ai-clarify-chip[data-v-e6b916b2]:hover:not(:disabled){background:var(--aqua, #00a9b7);color:#fff;transform:translateY(-1px)}.ai-clarify-chip[data-v-e6b916b2]:disabled{opacity:.5;cursor:not-allowed}.ai-clarify-chip.ai-clarify-cancel[data-v-e6b916b2]{border-color:var(--gray-300, #ccc);color:var(--gray-500, #666)}.ai-clarify-chip.ai-clarify-cancel[data-v-e6b916b2]:hover:not(:disabled){background:var(--gray-100, #f4f4f4);color:var(--navy, #0b2545)}.stream-area[data-v-9bc68377]{position:absolute;top:0;right:0;bottom:0;left:0;background:#111;overflow:hidden;isolation:isolate}.stream-area.measure-armed[data-v-9bc68377]{cursor:crosshair}.stream-area iframe[data-v-9bc68377]{position:absolute;top:50%;left:50%;width:1920px;height:1080px;border:none;display:block;transform:translate(-50%,-50%) scale(1);transform-origin:center center;min-width:0;min-height:0}.stream-placeholder-default[data-v-9bc68377]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#888}.stream-placeholder-default .hint[data-v-9bc68377]{font-size:.75rem;color:#555}.stream-placeholder-svg[data-v-9bc68377]{width:100%;height:100%;object-fit:cover;display:block}.gallery-tool-btn.is-pulsing[data-v-9bc68377]{animation:gallery-pulse-bg-9bc68377 1.1s cubic-bezier(.34,1.56,.64,1) 1,gallery-pulse-scale-9bc68377 1.1s cubic-bezier(.34,1.56,.64,1) 1}.gallery-tool-btn.is-pulsing .gallery-count[data-v-9bc68377]{animation:gallery-pulse-count-9bc68377 1.1s cubic-bezier(.34,1.56,.64,1) 1}@keyframes gallery-pulse-bg-9bc68377{0%,to{background-color:transparent}30%{background-color:#00a9b733}70%{background-color:#00a9b71a}}@keyframes gallery-pulse-scale-9bc68377{0%,to{transform:scale(1)}20%{transform:scale(1.18)}60%{transform:scale(.96)}}@keyframes gallery-pulse-count-9bc68377{0%,to{transform:scale(1);box-shadow:0 0 #f4a53300}30%{transform:scale(1.35);box-shadow:0 0 0 6px #f4a53373}60%{transform:scale(1.1);box-shadow:0 0 0 10px #f4a53300}}.cart-base-line[data-v-2e644da6]{display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px;background:rgba(0,169,183,.08);border-left:3px solid var(--brand-aqua, #00A9B7);border-radius:4px;margin-bottom:10px}.cart-base-label[data-v-2e644da6]{font-weight:600;font-size:14px}.cart-base-value[data-v-2e644da6]{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}.cart-room-head[data-v-2e644da6]{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0 8px;border-bottom:1px solid var(--border, rgba(0,0,0,.08));margin-bottom:6px}.cart-room-title[data-v-2e644da6]{font-weight:600;font-size:14px;color:var(--text, inherit)}.cart-room-total[data-v-2e644da6]{font-weight:600;font-size:14px;color:var(--brand-aqua, #00A9B7);font-variant-numeric:tabular-nums}.cart-subtotal[data-v-2e644da6]{display:flex;justify-content:space-between;align-items:baseline;padding-top:6px;margin-top:6px;border-top:1px dashed var(--border, rgba(0,0,0,.08));font-size:12px;color:var(--gray-500, #888)}.cart-subtotal strong[data-v-2e644da6]{color:var(--text, inherit);font-variant-numeric:tabular-nums}.cart-item[data-v-2e644da6]{display:grid;grid-template-columns:56px 1fr auto;align-items:flex-start;gap:14px;padding:14px 0}.cart-thumb[data-v-2e644da6]{width:56px;height:56px;border-radius:8px;background-color:var(--gray-100, #f1f3f5);border:1px solid var(--gray-200, #e5e7eb);position:relative;overflow:hidden;flex-shrink:0}.cart-thumb.is-empty[data-v-2e644da6]{display:flex;align-items:center;justify-content:center;color:var(--gray-400, #9ca3af)}.cart-thumb-fallback[data-v-2e644da6]{width:22px;height:22px}.cart-thumb-inset[data-v-2e644da6]{position:absolute;right:4px;bottom:4px;width:22px;height:22px;border-radius:50%;border:2px solid var(--paper, #fff);background-size:cover;background-position:center;box-shadow:0 1px 3px #00000040}.cart-item-info[data-v-2e644da6]{min-width:0;display:flex;flex-direction:column;gap:4px}.cart-item-name[data-v-2e644da6]{font-size:13.5px;font-weight:600;color:var(--navy);letter-spacing:-.005em;line-height:1.3;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.cart-item-meta[data-v-2e644da6]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--gray-500);line-height:1.3}.cart-item-tag[data-v-2e644da6]{background:var(--gray-50, #f8f9fa);border:1px solid var(--gray-200, #e5e7eb);border-radius:100px;padding:2px 8px;font-size:10.5px;font-weight:600;color:var(--navy);letter-spacing:.01em}.cart-item-tag.dim[data-v-2e644da6]{color:var(--gray-500);font-weight:500}.cart-formula[data-v-2e644da6]{display:inline-block;font-size:9.5px;color:var(--aqua);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:2px;padding:3px 7px;background:var(--aqua-soft, rgba(0, 169, 183, .1));border-radius:3px;width:max-content;max-width:100%;white-space:normal;line-height:1.25}.cart-code[data-v-2e644da6]{font-size:10px;background:rgba(0,0,0,.06);padding:1px 5px;border-radius:3px;font-family:SF Mono,Menlo,monospace;color:var(--gray-500)}.cart-item-aside[data-v-2e644da6]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap;padding-top:1px}.cart-item-price[data-v-2e644da6]{font-size:14.5px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;text-align:right}.cart-item-price.included[data-v-2e644da6]{color:var(--gray-400);font-weight:500;font-size:12px}.export-option.disabled[data-v-3dd6103f]{opacity:.55;cursor:not-allowed}.export-option.disabled input[data-v-3dd6103f]{cursor:not-allowed}.export-option--room input[type=checkbox][data-v-3dd6103f]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.export-option-tick[data-v-3dd6103f]{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--gray-300, rgba(11, 37, 69, .32));background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:background-color .12s ease,border-color .12s ease}.export-option--room.selected .export-option-tick[data-v-3dd6103f]{background:var(--aqua);border-color:var(--aqua)}.export-option-tick svg[data-v-3dd6103f]{width:10px;height:10px}.export-option-mode[data-v-3dd6103f]{margin-left:auto;padding:3px 9px;border-radius:999px;background:rgba(11,37,69,.06);border:1px solid rgba(11,37,69,.12);color:var(--gray-500, #5D5C57);font-size:10.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;flex-shrink:0;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.export-option-mode.is-featured[data-v-3dd6103f]{background:var(--aqua, #00A9B7);border-color:var(--aqua, #00A9B7);color:#fff}.export-option-mode[data-v-3dd6103f]:disabled{opacity:.45;cursor:not-allowed}.export-coming-soon[data-v-3dd6103f]{font-weight:400;color:var(--gray-400);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.btn-pri[disabled][data-v-3dd6103f]{opacity:.6;cursor:not-allowed}.btn-pri.accent[disabled][data-v-3dd6103f],.btn-pri.accent[disabled][data-v-3dd6103f]:hover{background:var(--accent);color:var(--navy)}.export-section-label[data-v-3dd6103f]{margin-top:18px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);margin-bottom:10px}.export-fields[data-v-3dd6103f]{display:flex;flex-direction:column;gap:10px}.export-field[data-v-3dd6103f]{display:flex;flex-direction:column;gap:4px}.export-field-label[data-v-3dd6103f]{font-size:12px;font-weight:600;color:var(--gray-500, #5D5C57)}.export-field-label .req[data-v-3dd6103f]{color:#d11;cursor:help;margin-right:3px}.export-field input[data-v-3dd6103f]{padding:8px 10px;border:1px solid var(--gray-300, rgba(11, 37, 69, .32));border-radius:8px;font:inherit;color:var(--navy, #0B2545);background:#fff}.export-field input[data-v-3dd6103f]:focus{outline:none;border-color:var(--aqua, #00A9B7)}.export-consent[data-v-3dd6103f]{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;line-height:1.45;color:var(--gray-500, #5D5C57);cursor:pointer}.export-consent input[data-v-3dd6103f]{margin-top:2px;flex-shrink:0}.export-submit-wrap[data-v-3dd6103f]{display:inline-flex}.rm-room-btn[data-v-d491c351]{padding:14px 12px;text-align:left;font-size:13px}.rm-room-name[data-v-d491c351]{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--navy)}.rm-room-text[data-v-d491c351]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-room-palette[data-v-d491c351]{width:14px;height:14px;flex-shrink:0;color:var(--aqua, #00a9b7)}.rm-room-sub[data-v-d491c351]{font-size:11px;color:var(--gray-400);margin-top:2px}.gallery-head-actions[data-v-89ef36a6]{display:flex;align-items:center;gap:10px}.gallery-clear-all-btn[data-v-89ef36a6]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:white;color:var(--danger, #c8323c);border:1px solid rgba(200,50,60,.4);border-radius:100px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.gallery-clear-all-btn[data-v-89ef36a6]:hover{background:rgba(200,50,60,.08);border-color:var(--danger, #c8323c)}.gallery-clear-all-btn svg[data-v-89ef36a6]{flex-shrink:0}.gallery-item-dl[data-v-89ef36a6]{position:absolute;top:6px;right:32px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .15s ease,background .15s ease;border:none;padding:0;cursor:pointer;z-index:2}.gallery-item:hover .gallery-item-dl[data-v-89ef36a6]{opacity:1}.gallery-item-dl[data-v-89ef36a6]:hover{background:rgba(0,169,183,.85)}.gallery-item-dl svg[data-v-89ef36a6]{width:11px;height:11px;display:block}.lightbox-overlay[data-v-d81ddc47]{z-index:200}.lightbox-modal[data-v-d81ddc47]{background:transparent;box-shadow:none;max-width:99vw;width:auto;overflow:visible;max-height:99vh}.lightbox-action.lightbox-download[data-v-d81ddc47]{position:absolute;top:6px;right:56px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:10;border:none;padding:0;transition:background .15s ease}.lightbox-action.lightbox-download[data-v-d81ddc47]:hover{background:rgba(0,169,183,.85)}.lightbox-action.lightbox-download svg[data-v-d81ddc47]{width:16px;height:16px}.shared-dropdown[data-v-fb177e07]{position:fixed!important;top:52px;right:16px;z-index:1000}.shared-dropdown.profile-panel[data-v-fb177e07]{width:260px}.shared-dropdown.notif-panel[data-v-fb177e07]{right:auto;left:calc(var(--sidebar-w) + 12px);transition:left .3s cubic-bezier(.2,.8,.2,1)}.app.sidebar-collapsed .shared-dropdown.notif-panel{left:52px}@media (max-width: 700px){.shared-dropdown[data-v-fb177e07]{top:16px;right:12px;left:12px;width:auto!important}.shared-dropdown.notif-panel[data-v-fb177e07]{left:12px;right:12px}}.devtools-button[data-v-4409e800]{position:fixed;right:16px;bottom:88px;z-index:900;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:#d11;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 4px 14px #0006;transition:transform .12s ease,background .12s ease}.devtools-button[data-v-4409e800]:hover{transform:rotate(22deg);background:#e33}.devtools-button.active[data-v-4409e800]{background:#ffa500;border-color:#fff}.devtools-button.mode-on[data-v-4409e800]{box-shadow:0 0 0 3px #ffc8008c,0 4px 14px #0006}.devtools-button svg[data-v-4409e800]{width:22px;height:22px}.devtools-dot[data-v-4409e800]{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#fc0;border:2px solid white}.dt-info-btn[data-v-6aecc5a5]{flex-shrink:0;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:#ffffff73;cursor:pointer;transition:background .12s ease,color .12s ease}.dt-info-btn[data-v-6aecc5a5]:hover:not(:disabled){background:rgba(255,255,255,.12);color:#eee}.dt-info-btn[data-v-6aecc5a5]:disabled{opacity:.35;cursor:default}.dt-info-btn.active[data-v-6aecc5a5]{background:rgba(0,169,183,.2);color:var(--aqua)}.dt-info-btn.is-warning.active[data-v-6aecc5a5]{background:rgba(255,204,0,.2);color:#fc0}.dt-info-btn svg[data-v-6aecc5a5]{width:16px;height:16px}.devtools-panel[data-v-1308891e]{position:fixed;right:16px;bottom:142px;z-index:950;width:360px;max-height:calc(100vh - 166px);display:flex;flex-direction:column;overflow:hidden;background:#1a1f27;color:#eee;border:1px solid #d11;border-radius:16px;box-shadow:0 10px 30px #00000080;padding:0 0 8px;font-family:system-ui,-apple-system,sans-serif;font-size:13px}.dt-scroll[data-v-1308891e]{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.dt-scroll[data-v-1308891e]::-webkit-scrollbar{width:6px}.dt-scroll[data-v-1308891e]::-webkit-scrollbar-track{background:transparent}.dt-scroll[data-v-1308891e]::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:3px}.dt-scroll[data-v-1308891e]::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.4)}.dt-header[data-v-1308891e]{flex:0 0 auto;padding:12px 14px 8px;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0}.dt-title[data-v-1308891e]{display:inline-flex;gap:8px;align-items:center;font-weight:600}.dt-dot[data-v-1308891e]{width:10px;height:10px;border-radius:50%;background:#d11}.dt-close[data-v-1308891e]{background:none;border:none;color:#aaa;cursor:pointer;padding:4px;border-radius:4px}.dt-close[data-v-1308891e]:hover{color:#fff;background:rgba(255,255,255,.08)}.dt-close svg[data-v-1308891e]{width:16px;height:16px}.dt-subtitle[data-v-1308891e]{opacity:.65;margin-top:3px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.dt-header-text[data-v-1308891e]{min-width:0}.dt-plan-id-row[data-v-1308891e]{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.dt-plan-id-label[data-v-1308891e]{font-size:11px;opacity:.7;text-transform:uppercase;letter-spacing:.04em}.dt-plan-id-controls[data-v-1308891e]{display:flex;gap:6px;align-items:stretch}.dt-plan-id-input[data-v-1308891e]{flex:1;background:#0e1218;color:#eee;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:6px 8px;font-family:ui-monospace,Menlo,monospace;font-size:12px;min-width:0}.dt-plan-id-input[data-v-1308891e]:focus{outline:none;border-color:#d11}.dt-plan-id-input[data-v-1308891e]:disabled{opacity:.6;cursor:wait}.dt-plan-id-hint[data-v-1308891e]{font-size:10.5px;opacity:.55}.dt-plan-id-hint code[data-v-1308891e]{font-size:10.5px;opacity:.8}.dt-plan-id-err[data-v-1308891e]{display:block;color:#ff8a8a;opacity:.9;margin-top:2px}.dt-section[data-v-1308891e]{border-top:1px solid rgba(255,255,255,.08);padding:10px 0}.dt-section[data-v-1308891e]:first-of-type{border-top:none}.dt-section-primary[data-v-1308891e]{background:rgba(255,60,60,.08);margin:0 -14px;padding:10px 14px}.dt-section-muted[data-v-1308891e]{opacity:.9}.dt-subtitle-h[data-v-1308891e]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#bbb;margin-bottom:4px}.dt-row[data-v-1308891e]{display:flex;gap:10px;align-items:flex-start}.dt-row-body[data-v-1308891e]{flex:1;min-width:0}.dt-row-title[data-v-1308891e]{font-weight:600;font-size:13px}.dt-row-head[data-v-1308891e]{display:flex;align-items:center;justify-content:space-between;gap:8px}.dt-warn-toggle[data-v-1308891e]{display:inline-flex;align-items:center;gap:6px}.dt-warn-count[data-v-1308891e]{font-size:11px;font-weight:700;color:#fc0;font-variant-numeric:tabular-nums}.dt-warn-count.is-zero[data-v-1308891e]{color:#fff6}.dt-row-note[data-v-1308891e]{font-size:11px;opacity:.75;margin-top:2px;line-height:1.35}.dt-row-note code[data-v-1308891e]{background:rgba(255,255,255,.08);padding:1px 4px;border-radius:3px;font-size:10px}.dt-toggle[data-v-1308891e]{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.dt-toggle input[data-v-1308891e]{opacity:0;width:0;height:0}.dt-toggle-slider[data-v-1308891e]{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:#444;border-radius:10px;transition:.2s}.dt-toggle-slider[data-v-1308891e]:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;background:white;border-radius:50%;transition:.2s}.dt-toggle input:checked+.dt-toggle-slider[data-v-1308891e]{background:#d11}.dt-toggle input:checked+.dt-toggle-slider[data-v-1308891e]:before{transform:translate(16px)}.dt-chips[data-v-1308891e]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.dt-chip[data-v-1308891e]{padding:2px 6px;border-radius:8px;font-size:11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}.dt-chip-ok[data-v-1308891e]{background:rgba(40,160,90,.25);border-color:#28a05a80}.dt-chip-warn[data-v-1308891e]{background:rgba(240,170,40,.25);border-color:#f0aa2880}.dt-chip-err[data-v-1308891e]{background:rgba(230,60,60,.3);border-color:#e63c3c99}.dt-btn[data-v-1308891e]{padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.15);cursor:pointer;font-size:11px}.dt-btn[data-v-1308891e]:hover{background:rgba(255,255,255,.18)}.dt-btn-slim[data-v-1308891e]{padding:1px 6px}.dt-kv[data-v-1308891e]{display:flex;justify-content:space-between;font-size:11px;padding:1px 0}.dt-kv code[data-v-1308891e]{background:rgba(255,255,255,.06);padding:1px 4px;border-radius:3px;font-size:11px}.dt-error[data-v-1308891e]{margin-top:8px;color:#f99;font-size:12px}.dt-probe[data-v-1308891e]{margin-top:8px;padding:6px 8px;border-radius:6px;font-size:11px;line-height:1.4}.dt-probe-ok[data-v-1308891e]{background:rgba(40,160,90,.2);color:#a6e7a6}.dt-probe-err[data-v-1308891e]{background:rgba(230,60,60,.2);color:#f9a6a6}.dt-warnings[data-v-1308891e]{margin:0;padding-left:16px;font-size:11px}.dt-warnings li[data-v-1308891e]{margin-bottom:4px}.dt-row-stack[data-v-1308891e]{display:flex;flex-direction:column;align-items:stretch}.dt-mode-row[data-v-1308891e]{display:flex;gap:6px;margin-top:8px;align-items:center;flex-wrap:wrap}.dt-mode-btn[data-v-1308891e]{padding:6px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#ffffffd9;border-radius:999px;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .12s ease}.dt-mode-btn[data-v-1308891e]:hover:not(:disabled){background:rgba(255,255,255,.12);border-color:#ffffff38}.dt-mode-btn.is-active[data-v-1308891e],.dt-mode-btn[data-v-1308891e]:disabled{background:var(--aqua, #00a9b7);border-color:var(--aqua, #00a9b7);color:#fff;cursor:default;opacity:1}.dt-mode-reset[data-v-1308891e]{background:transparent;border:none;color:#ffffff8c;font-size:11px;text-decoration:underline;cursor:pointer;padding:4px 6px}.dt-mode-reset[data-v-1308891e]:hover{color:#ffffffd9}.dt-badge[data-v-1308891e]{display:inline-block;margin-left:6px;padding:1px 6px;background:rgba(244,165,51,.22);color:#ffdca0f2;border-radius:999px;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}.dt-badge-dev[data-v-1308891e]{background:rgba(0,169,183,.22);color:#78e6f0f2}.dt-stream-dev[data-v-1308891e]{color:#78e6f0f2;font-weight:700}.dt-stream-url-row[data-v-1308891e]{margin-top:10px;display:flex;flex-direction:column;gap:4px}.dt-stream-url-label[data-v-1308891e]{font-size:11px;font-weight:600;color:#ffffffb3;letter-spacing:.04em;text-transform:uppercase}.dt-stream-url-controls[data-v-1308891e]{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.dt-stream-url-input[data-v-1308891e]{flex:1 1 240px;min-width:160px;padding:6px 10px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:6px;font-size:11.5px;font-family:var(--font-mono, monospace)}.dt-stream-url-input[data-v-1308891e]:focus{outline:none;border-color:var(--aqua, #00a9b7)}.dt-stream-url-hint[data-v-1308891e]{font-size:10.5px;color:#ffdca0d9;margin-top:2px}.pc-panel[data-v-3f5336a4]{position:fixed;z-index:900;width:440px;max-height:calc(100vh - 48px);overflow-y:auto;background:#1a1f27;color:#eee;border:1px solid #d11;border-radius:12px;box-shadow:0 10px 30px #00000073;padding:12px 14px;font-family:system-ui,-apple-system,sans-serif;font-size:12px;left:16px;bottom:88px;-webkit-user-select:none;user-select:none}.pc-panel.dragging[data-v-3f5336a4]{box-shadow:0 18px 48px #0009;cursor:grabbing}.pc-header[data-v-3f5336a4]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;cursor:grab;padding:4px 2px 8px;border-bottom:1px dashed rgba(255,255,255,.08);touch-action:none;position:sticky;top:-12px;background:#1a1f27;z-index:1}.pc-header[data-v-3f5336a4]:active{cursor:grabbing}.pc-grip[data-v-3f5336a4]{display:inline-block;margin-right:4px;color:#777;font-size:13px;letter-spacing:-2px}.pc-title[data-v-3f5336a4]{display:inline-flex;gap:8px;align-items:center;font-weight:600}.pc-dot[data-v-3f5336a4]{width:10px;height:10px;border-radius:50%;background:#d11}.pc-close[data-v-3f5336a4]{background:none;border:none;color:#aaa;cursor:pointer;padding:4px;border-radius:4px}.pc-close[data-v-3f5336a4]:hover{color:#fff;background:rgba(255,255,255,.08)}.pc-close svg[data-v-3f5336a4]{width:16px;height:16px}.pc-summary[data-v-3f5336a4]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.pc-chip[data-v-3f5336a4]{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:6px 8px;background:rgba(255,255,255,.05);display:flex;flex-direction:column;gap:2px}.pc-chip span[data-v-3f5336a4]{font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.75}.pc-chip code[data-v-3f5336a4]{font-weight:600;font-size:13px}.pc-chip-struct[data-v-3f5336a4]{background:rgba(244,165,51,.15)}.pc-chip-fin[data-v-3f5336a4]{background:rgba(99,179,237,.15)}.pc-chip-total[data-v-3f5336a4]{background:rgba(0,169,183,.25);border-color:#00a9b780}.pc-section[data-v-3f5336a4]{margin-top:8px}.pc-section-title[data-v-3f5336a4]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#bbb;margin-bottom:6px;border-top:1px solid rgba(255,255,255,.08);padding-top:8px}.pc-hidden-note[data-v-3f5336a4]{margin-left:8px;font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;color:#888;font-style:italic}.pc-line[data-v-3f5336a4]{display:grid;grid-template-columns:1fr auto;column-gap:10px;padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.06)}.pc-line-name[data-v-3f5336a4]{font-weight:500}.pc-line-meta[data-v-3f5336a4]{grid-column:1 / 2;font-size:10.5px;opacity:.75;display:flex;flex-wrap:wrap;gap:8px}.pc-line-total[data-v-3f5336a4]{grid-row:span 2;align-self:center;font-weight:600;color:#fc6;font-variant-numeric:tabular-nums}.pc-code[data-v-3f5336a4]{background:rgba(255,255,255,.08);padding:1px 4px;border-radius:3px;font-size:10px}.pc-room[data-v-3f5336a4]{color:#9ad}.pc-formula[data-v-3f5336a4]{font-style:italic;opacity:.9}.pc-tag[data-v-3f5336a4]{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:6px;background:rgba(255,255,255,.1);margin-left:6px;vertical-align:middle}.pc-tag-area-based[data-v-3f5336a4]{background:rgba(0,169,183,.3)}.pc-tag-lump-sum[data-v-3f5336a4]{background:rgba(244,165,51,.3)}.pc-tag-per-unit[data-v-3f5336a4]{background:rgba(99,179,237,.3)}.pc-tag-included[data-v-3f5336a4]{background:rgba(120,200,120,.3)}.pc-tag-not-priced[data-v-3f5336a4]{background:rgba(150,150,150,.3)}.pc-empty[data-v-3f5336a4]{color:#aaa;padding:16px 0;text-align:center;font-style:italic}.pd-backdrop[data-v-115e48fe]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55);z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px}.pd-card[data-v-115e48fe]{background:#1a1f27;color:#eee;border:1px solid #d11;border-radius:12px;max-width:560px;width:100%;max-height:80vh;overflow-y:auto;padding:14px 16px;box-shadow:0 20px 60px #0009;font-family:system-ui,-apple-system,sans-serif;font-size:12px}.pd-header[data-v-115e48fe]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pd-title[data-v-115e48fe]{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14px}.pd-dot[data-v-115e48fe]{width:10px;height:10px;border-radius:50%;background:#d11}.pd-close[data-v-115e48fe]{background:none;border:none;color:#aaa;cursor:pointer;padding:4px;border-radius:4px}.pd-close[data-v-115e48fe]:hover{color:#fff;background:rgba(255,255,255,.08)}.pd-close svg[data-v-115e48fe]{width:16px;height:16px}.pd-section[data-v-115e48fe]{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.pd-section[data-v-115e48fe]:first-of-type{border-top:none}.pd-label[data-v-115e48fe]{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#bbb;margin-bottom:4px}.pd-kv[data-v-115e48fe]{display:flex;justify-content:space-between;gap:10px;padding:1px 0;font-size:11.5px}.pd-kv>span[data-v-115e48fe]{color:#aaa;flex-shrink:0}.pd-kv>code[data-v-115e48fe]{background:rgba(255,255,255,.06);padding:1px 5px;border-radius:4px;font-size:11px;text-align:right}.pd-pill[data-v-115e48fe]{padding:2px 6px;border-radius:8px;text-transform:uppercase;font-size:10px}.pd-pill-area-based[data-v-115e48fe]{background:rgba(0,169,183,.3)}.pd-pill-lump-sum[data-v-115e48fe]{background:rgba(244,165,51,.3)}.pd-pill-per-unit[data-v-115e48fe]{background:rgba(99,179,237,.3)}.pd-pill-included[data-v-115e48fe]{background:rgba(120,200,120,.3)}.pd-pill-structural[data-v-115e48fe]{background:rgba(200,130,255,.3)}.pd-pill-not-priced[data-v-115e48fe]{background:rgba(150,150,150,.3)}.pd-table[data-v-115e48fe]{width:100%;border-collapse:collapse}.pd-table th[data-v-115e48fe],.pd-table td[data-v-115e48fe]{text-align:left;padding:3px 6px;font-size:11px;border-bottom:1px dashed rgba(255,255,255,.08)}.pd-table th[data-v-115e48fe]{color:#aaa;font-weight:500;text-transform:uppercase;font-size:10px}.pd-list[data-v-115e48fe]{margin:0;padding-left:16px;font-size:11px}.pd-json[data-v-115e48fe]{background:rgba(0,0,0,.25);border-radius:6px;padding:8px;font-family:SF Mono,Menlo,monospace;font-size:10.5px;overflow-x:auto;max-height:180px;margin:4px 0 0}.pd-footer[data-v-115e48fe]{margin-top:10px;font-size:10px;color:#888;text-align:right}.pd-footer code[data-v-115e48fe]{background:rgba(255,255,255,.06);padding:1px 4px;border-radius:3px}.pd-pill-override[data-v-115e48fe]{background:rgba(244,165,51,.3);border:1px solid rgba(244,165,51,.5);margin-left:6px}.pd-pill-inherit[data-v-115e48fe]{background:rgba(120,200,120,.18);border:1px solid rgba(120,200,120,.35);margin-left:6px;opacity:.85}.pd-row-override td[data-v-115e48fe]{background:rgba(244,165,51,.08)}.pd-section-room[data-v-115e48fe]{background:rgba(0,169,183,.07);border-radius:6px;margin:6px -8px 0;padding:8px 10px!important}.pd-room-banner[data-v-115e48fe]{margin-bottom:6px;padding:6px 8px;background:rgba(0,169,183,.15);border-left:3px solid #00a9b7;border-radius:4px}.pd-room-name[data-v-115e48fe]{font-size:14px;font-weight:600;color:#d6f1f4}.pd-room-codes[data-v-115e48fe]{margin-top:4px;font-size:11px;color:#aab}.pd-room-codes code[data-v-115e48fe]{margin-left:4px;background:rgba(255,255,255,.1);padding:1px 5px;border-radius:3px}.pd-warn[data-v-115e48fe]{color:#ffb86b}.pd-empty[data-v-115e48fe]{padding:6px 8px;font-size:11px;color:#aaa;font-style:italic}.pd-note[data-v-115e48fe]{margin-top:4px;padding:4px 6px;font-size:11px;color:#ccc;background:rgba(255,255,255,.04);border-radius:4px}.pd-pill-info[data-v-115e48fe]{background:rgba(99,179,237,.25);border:1px solid rgba(99,179,237,.5);margin-left:6px;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.pd-formula-block[data-v-115e48fe]{margin-top:6px;padding:8px 10px;background:rgba(0,0,0,.18);border-radius:6px;border-left:3px solid #f4a533}.pd-formula-label[data-v-115e48fe]{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#aaa;margin-bottom:4px}.pd-formula[data-v-115e48fe]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:11.5px}.pd-formula-text[data-v-115e48fe]{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:4px}.pd-formula-eq[data-v-115e48fe]{color:#888;font-weight:600}.pd-formula-total[data-v-115e48fe]{background:rgba(244,165,51,.25);border:1px solid rgba(244,165,51,.5);padding:2px 8px;border-radius:4px;font-weight:700;color:#ffd9a3}.pd-formula-tag[data-v-115e48fe]{font-size:9.5px;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-left:4px}.pd-override-tag[data-v-115e48fe]{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:6px;font-size:9px;text-transform:uppercase;letter-spacing:.04em;background:rgba(244,165,51,.3);border:1px solid rgba(244,165,51,.5);color:#fca}.adlo-backdrop[data-v-87adbe12]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10005;display:flex;align-items:center;justify-content:center;background:rgba(11,37,69,.55);backdrop-filter:blur(6px) saturate(.85);-webkit-backdrop-filter:blur(6px) saturate(.85);pointer-events:auto}.adlo-card[data-v-87adbe12]{display:inline-flex;align-items:center;gap:16px;padding:18px 26px 18px 18px;background:linear-gradient(135deg,rgba(11,37,69,.96),rgba(0,169,183,.96));color:#fff;border-radius:999px;box-shadow:0 12px 40px #00000073,0 4px 12px #00a9b773;font-weight:600;letter-spacing:.01em;-webkit-user-select:none;user-select:none}.adlo-badge[data-v-87adbe12]{width:52px;height:52px;flex:0 0 52px;display:inline-flex;align-items:center;justify-content:center}.adlo-spinner[data-v-87adbe12]{width:100%;height:100%;animation:adlo-spin-87adbe12 1.4s linear infinite,adlo-pulse-87adbe12 2.2s ease-in-out infinite}@keyframes adlo-spin-87adbe12{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes adlo-pulse-87adbe12{0%,to{filter:drop-shadow(0 0 0 rgba(244,165,51,0))}50%{filter:drop-shadow(0 0 8px rgba(244,165,51,.7))}}.adlo-text[data-v-87adbe12]{display:flex;flex-direction:column;gap:3px;min-width:0}.adlo-title[data-v-87adbe12]{font-size:16px;font-weight:700}.adlo-status[data-v-87adbe12]{font-size:12.5px;opacity:.9}.adlo-bar[data-v-87adbe12]{margin-top:8px;width:100%;min-width:180px;height:6px;border-radius:100px;background:rgba(255,255,255,.22);overflow:hidden}.adlo-bar-fill[data-v-87adbe12]{height:100%;border-radius:100px;background:#fff;transition:width .3s ease}.adlo-fade-enter-active[data-v-87adbe12]{transition:opacity .2s ease}.adlo-fade-leave-active[data-v-87adbe12]{transition:opacity .4s ease,backdrop-filter .4s ease}.adlo-fade-enter-from[data-v-87adbe12],.adlo-fade-leave-to[data-v-87adbe12]{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}.slp-toast[data-v-418daf7c]{position:fixed;left:20px;bottom:20px;z-index:9999;display:inline-flex;align-items:center;gap:14px;padding:12px 20px 12px 12px;background:linear-gradient(135deg,rgba(11,37,69,.96),rgba(0,169,183,.96));color:#fff;border-radius:999px;box-shadow:0 10px 32px #0006,0 2px 8px #00a9b773;font-weight:600;letter-spacing:.01em;max-width:90vw;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform,opacity;transform:translateZ(0)}.slp-toast.is-ready[data-v-418daf7c]{background:linear-gradient(135deg,rgba(0,169,183,.96),rgba(11,37,69,.96))}.slp-toast.is-error[data-v-418daf7c]{background:linear-gradient(135deg,rgba(180,50,50,.96),rgba(140,30,30,.96));box-shadow:0 10px 32px #0006,0 2px 8px #dc323273}.slp-toast.is-trouble[data-v-418daf7c]{background:linear-gradient(135deg,rgba(217,119,6,.96),rgba(180,83,9,.96));box-shadow:0 10px 32px #0006,0 2px 8px #f59e0b8c}.slp-badge[data-v-418daf7c]{width:44px;height:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center}.slp-spinner[data-v-418daf7c]{width:100%;height:100%;animation:slp-spin-418daf7c 2.4s linear infinite,slp-pulse-418daf7c 2.2s ease-in-out infinite}.slp-ring-fg[data-v-418daf7c]{transition:stroke-dasharray .32s cubic-bezier(.22,1,.36,1)}.slp-check[data-v-418daf7c],.slp-error[data-v-418daf7c]{width:100%;height:100%;animation:slp-pop-418daf7c .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slp-spin-418daf7c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slp-pulse-418daf7c{0%,to{filter:drop-shadow(0 0 0 rgba(244,165,51,0))}50%{filter:drop-shadow(0 0 8px rgba(244,165,51,.7))}}@keyframes slp-pop-418daf7c{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.slp-text[data-v-418daf7c]{display:flex;flex-direction:column;gap:3px;min-width:0}.slp-title[data-v-418daf7c]{font-size:14px;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slp-status[data-v-418daf7c]{font-size:12px;font-weight:500;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slp-toast.is-ready .slp-status[data-v-418daf7c],.slp-toast.is-error .slp-status[data-v-418daf7c]{opacity:1;font-weight:600}.slp-fade-enter-active[data-v-418daf7c]{transition:opacity .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}.slp-fade-leave-active[data-v-418daf7c]{transition:opacity .4s ease,transform .4s ease}.slp-fade-enter-from[data-v-418daf7c],.slp-fade-leave-to[data-v-418daf7c]{opacity:0;transform:translateZ(0) translate(-20px)}.idle-stopped-overlay[data-v-959d2706]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10020;display:flex;align-items:center;justify-content:center;background:rgba(11,37,69,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;animation:idle-stopped-fade-in-959d2706 .2s ease-out}@keyframes idle-stopped-fade-in-959d2706{0%{opacity:0}to{opacity:1}}.idle-stopped-panel[data-v-959d2706]{background:var(--paper, #ffffff);color:var(--navy, #0b2545);border-radius:14px;padding:32px 36px;max-width:440px;width:calc(100% - 48px);text-align:center;box-shadow:0 18px 56px #0000006b;display:flex;flex-direction:column;align-items:center;gap:14px}.idle-stopped-icon[data-v-959d2706]{width:52px;height:52px;color:var(--aqua, #00a9b7);display:inline-flex;align-items:center;justify-content:center}.idle-stopped-icon svg[data-v-959d2706]{width:100%;height:100%}.idle-stopped-panel h2[data-v-959d2706]{font-size:22px;font-weight:700;margin:0;letter-spacing:-.005em}.idle-stopped-panel p[data-v-959d2706]{font-size:14px;line-height:1.5;margin:0;color:var(--gray-600, #5d5c57)}.idle-stopped-btn[data-v-959d2706]{margin-top:4px;padding:12px 26px;font-size:14px;font-weight:700;letter-spacing:.01em;border:none;border-radius:8px;cursor:pointer;background:var(--aqua, #00a9b7);color:#fff;transition:background-color .12s ease,transform .12s ease}.idle-stopped-btn[data-v-959d2706]:hover{background:var(--aqua-hot, #008b96)}.idle-stopped-btn[data-v-959d2706]:active{transform:translateY(1px)}.idle-curtain[data-v-ff8ba12b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10010;display:flex;align-items:center;justify-content:center;background:rgba(11,37,69,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto;animation:idle-fade-in-ff8ba12b .2s ease-out}@keyframes idle-fade-in-ff8ba12b{0%{opacity:0}to{opacity:1}}.idle-panel[data-v-ff8ba12b]{background:var(--paper, #ffffff);color:var(--navy, #0b2545);border-radius:14px;padding:28px 32px;max-width:440px;width:calc(100% - 48px);text-align:center;box-shadow:0 18px 48px #00000059;display:flex;flex-direction:column;align-items:center;gap:12px}.idle-icon[data-v-ff8ba12b]{width:48px;height:48px;color:var(--aqua, #00a9b7);display:inline-flex;align-items:center;justify-content:center}.idle-icon svg[data-v-ff8ba12b]{width:100%;height:100%}.idle-panel h2[data-v-ff8ba12b]{font-size:20px;font-weight:700;margin:0;letter-spacing:-.005em}.idle-panel p[data-v-ff8ba12b]{font-size:14px;line-height:1.5;margin:0;color:var(--gray-600, #5d5c57)}.idle-panel p strong[data-v-ff8ba12b]{color:var(--navy, #0b2545);font-variant-numeric:tabular-nums}.idle-btn[data-v-ff8ba12b]{margin-top:4px;padding:11px 22px;font-size:13.5px;font-weight:700;letter-spacing:.01em;border:none;border-radius:8px;cursor:pointer;transition:background-color .12s ease,transform .12s ease}.idle-btn-primary[data-v-ff8ba12b]{background:var(--aqua, #00a9b7);color:#fff}.idle-btn-primary[data-v-ff8ba12b]:hover{background:var(--aqua-hot, #008b96)}.idle-btn-primary[data-v-ff8ba12b]:active{transform:translateY(1px)}.idle-curtain.is-engagement .idle-panel[data-v-ff8ba12b]{max-width:700px}.idle-btn.engage-left[data-v-ff8ba12b]{align-self:flex-start;margin-left:12px}.idle-btn.engage-right[data-v-ff8ba12b]{align-self:flex-end;margin-right:12px}.customer-logo[data-v-cdd48fdc]{display:block;width:100%;height:100%}.exp-gate[data-v-6896bea6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff;z-index:10030;display:flex;align-items:center;justify-content:center;pointer-events:auto}.exp-stage[data-v-6896bea6]{display:flex;flex-direction:column;align-items:center;gap:28px;padding:32px;text-align:center}.exp-livesite[data-v-6896bea6]{width:clamp(270px,48vw,450px);height:auto;display:block}.exp-spinner[data-v-6896bea6]{width:36px;height:36px;border-radius:50%;border:3px solid rgba(11,37,69,.14);border-top-color:var(--aqua, #00a9b7);animation:exp-spin-6896bea6 .9s linear infinite}@keyframes exp-spin-6896bea6{to{transform:rotate(360deg)}}.exp-loading-text[data-v-6896bea6]{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-400, rgba(11, 37, 69, .5))}.exp-stage--choice[data-v-6896bea6]{width:100%;box-sizing:border-box;height:100%;position:relative;justify-content:center;gap:24px}.exp-customer[data-v-6896bea6]{position:absolute;top:clamp(24px,4vh,44px);left:clamp(28px,4vw,60px);width:clamp(130px,16vw,200px);height:auto}.exp-welcome[data-v-6896bea6]{position:absolute;top:clamp(30px,5vh,60px);left:50%;transform:translate(-50%);margin:0;white-space:nowrap;font-size:clamp(18px,2.4vw,24px);font-weight:600;line-height:1.3;color:var(--navy, #0b2545)}.exp-header-rule[data-v-6896bea6]{position:absolute;top:clamp(100px,15vh,150px);left:0;width:100%;height:1px;background:rgba(11,37,69,.16)}.exp-header-rule[data-v-6896bea6]:after{content:"";position:absolute;top:100%;left:0;right:0;height:8px;background:linear-gradient(to bottom,rgba(11,37,69,.18),rgba(11,37,69,0));pointer-events:none}.exp-subheading[data-v-6896bea6]{margin:0;font-size:clamp(16px,2vw,20px);font-weight:600;line-height:1.35;color:var(--navy, #0b2545)}.exp-choices-row[data-v-6896bea6]{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:20px;flex-wrap:wrap;width:min(820px,94vw)}.exp-card[data-v-6896bea6]{flex:1 1 0;min-width:300px;max-width:400px;padding:30px 32px;border-radius:18px;background:#fff;border:1.5px solid var(--gray-200, #cfd6dd);box-shadow:0 6px 22px #0b25451a;color:var(--navy, #0b2545);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;text-align:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.exp-card[data-v-6896bea6]:hover{transform:translateY(-3px);box-shadow:0 14px 32px #0b254529}.exp-card[data-v-6896bea6]:active{transform:translateY(-1px)}.exp-card-title[data-v-6896bea6]{font-size:clamp(19px,2.4vw,23px);font-weight:700;letter-spacing:.01em;line-height:1.25}.exp-card-desc[data-v-6896bea6]{font-size:14px;line-height:1.5;max-width:34ch;color:#0b2545b8}.exp-card-note[data-v-6896bea6]{font-size:12.5px;line-height:1.45;font-style:italic;max-width:34ch;color:#0b254580}.exp-card--primary[data-v-6896bea6]{border-color:#3f98cc80}.exp-card--primary[data-v-6896bea6]:hover{border-color:#3f98cc}.exp-card--primary .exp-card-title[data-v-6896bea6]{color:#2f7fb5}.exp-card--secondary[data-v-6896bea6]{border-color:#b06ec880}.exp-card--secondary[data-v-6896bea6]:hover{border-color:#b06ec8}.exp-card--secondary .exp-card-title[data-v-6896bea6]{color:#a25cbf}@media (max-width: 700px){.exp-customer[data-v-6896bea6]{left:50%;transform:translate(-50%);top:clamp(20px,4vh,40px);width:clamp(180px,56vw,300px)}.exp-welcome[data-v-6896bea6]{white-space:normal;width:88vw;top:clamp(82px,15vh,130px);font-size:17px}.exp-header-rule[data-v-6896bea6]{top:clamp(150px,28vh,220px)}.exp-subheading[data-v-6896bea6]{font-size:15px}.exp-choices-row[data-v-6896bea6]{flex-direction:column;width:min(440px,92vw);gap:12px}.exp-card[data-v-6896bea6]{flex:none;width:100%;min-width:0;max-width:none;padding:20px 22px;gap:8px}.exp-card-title[data-v-6896bea6]{font-size:17px}.exp-card-desc[data-v-6896bea6],.exp-card-note[data-v-6896bea6]{max-width:none}}.gate-fade-leave-active[data-v-6896bea6]{transition:opacity .5s ease}.gate-fade-leave-to[data-v-6896bea6]{opacity:0}.exp-content-enter-active[data-v-6896bea6]{transition:opacity .4s ease}.exp-content-leave-active[data-v-6896bea6]{transition:opacity .2s ease}.exp-content-enter-from[data-v-6896bea6],.exp-content-leave-to[data-v-6896bea6]{opacity:0}:root{--navy: #0B2545;--navy-2: #13315C;--aqua: #00A9B7;--aqua-soft: #D6F1F3;--accent: #F4A533;--accent-hot: #E87722;--off-white: #FAFAF7;--paper: #FFFFFF;--gray-50: #F4F4F1;--gray-100: #ECECE7;--gray-200: #DDDCD6;--gray-300: #C6C5BE;--gray-400: #8E8D86;--gray-500: #5D5C57;--gray-700: #2F2E2B;--nav-tint: #EEF1F5;--nav-tint-2: #E4E9F0;--shadow-sm: 0 1px 2px rgba(11,37,69,.06);--shadow-md: 0 4px 18px rgba(11,37,69,.08);--shadow-lg: 0 14px 40px rgba(11,37,69,.14);--sidebar-w: 420px;--radius: 10px;--radius-lg: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;overflow:hidden}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--off-white);color:var(--navy);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.display{font-family:Poppins,sans-serif;font-weight:400;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh;width:100vw;transition:grid-template-columns .3s cubic-bezier(.2,.8,.2,1)}.app.sidebar-collapsed{grid-template-columns:0 1fr}html:fullscreen,html:-webkit-full-screen{background:var(--off-white)}html::backdrop,html::-webkit-backdrop{background:var(--off-white)}.sidebar{transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s ease}.app.sidebar-collapsed .sidebar{transform:translate(-100%);opacity:0;pointer-events:none}.collapse-tab{position:absolute;top:50%;left:var(--sidebar-w);transform:translateY(-50%);width:22px;height:56px;background:var(--paper);color:var(--navy);border:1px solid var(--gray-200);border-left:none;border-radius:0 8px 8px 0;display:grid;place-items:center;cursor:pointer;z-index:4;box-shadow:4px 0 12px #0b25451f;transition:left .3s cubic-bezier(.2,.8,.2,1),background .15s ease,color .15s ease}.collapse-tab:hover{background:var(--navy);color:var(--paper)}.collapse-tab svg{width:14px;height:14px;transition:transform .3s ease}.app.sidebar-collapsed .collapse-tab{left:0}.app.sidebar-collapsed .collapse-tab svg{transform:rotate(180deg)}.sidebar-expand-btn{display:none!important}.sidebar{background:var(--off-white);display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;position:relative;z-index:5;box-shadow:6px 0 18px #0b254514}.brand{padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--gray-100);background:var(--off-white);flex-shrink:0}.brand-mark{display:flex;align-items:center;min-width:0;flex:1}.brand-logo-img{width:auto;height:32px;max-width:100%;display:block}.brand-logo{height:40px;padding:0 14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:Poppins,sans-serif;font-weight:500;font-size:18px;border-radius:3px;letter-spacing:-.01em}.brand-actions{display:flex;gap:2px;flex-shrink:0}.icon-btn{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:var(--gray-500);transition:background .15s ease,color .15s ease;position:relative}.icon-btn svg{width:14px;height:14px}.icon-btn:hover{background:var(--gray-100);color:var(--navy)}.icon-btn.has-badge:after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--accent);border:1.5px solid var(--off-white)}.icon-btn.fav-wiggle svg{transform-origin:50% 50%;animation:fav-wiggle .9s cubic-bezier(.36,.07,.19,.97) both}.icon-btn.fav-wiggle .fav-count{animation:fav-count-pop .9s cubic-bezier(.36,.07,.19,.97) both}@keyframes fav-wiggle{0%{transform:scale(1) rotate(0)}15%{transform:scale(1.35) rotate(-14deg)}30%{transform:scale(1.25) rotate(12deg)}45%{transform:scale(1.3) rotate(-10deg)}60%{transform:scale(1.2) rotate(7deg)}75%{transform:scale(1.1) rotate(-4deg)}90%{transform:scale(1.04) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes fav-count-pop{0%{transform:scale(1);box-shadow:0 0 #f4a5338c}15%{transform:scale(1.35);box-shadow:0 0 0 4px #f4a53359}55%{transform:scale(1.15);box-shadow:0 0 0 8px #f4a53300}to{transform:scale(1);box-shadow:0 0 #f4a53300}}@media (prefers-reduced-motion: reduce){.icon-btn.fav-wiggle svg,.icon-btn.fav-wiggle .fav-count{animation:none}}.dropdown-panel{position:absolute;top:calc(100% + 8px);right:16px;width:300px;background:var(--paper);border:1px solid var(--gray-100);border-radius:12px;box-shadow:var(--shadow-lg);z-index:50;display:none;animation:slideUp .2s cubic-bezier(.2,.8,.2,1);overflow:hidden}.dropdown-panel.open{display:block}.dropdown-head{padding:14px 16px 10px;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center}.dropdown-head h4{font-family:Poppins,sans-serif;font-size:15px;font-weight:500;color:var(--navy);letter-spacing:-.01em}.dropdown-head .count{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--aqua);background:var(--aqua-soft);padding:3px 7px;border-radius:4px}.dropdown-body{max-height:360px;overflow-y:auto}.notif-item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 16px;border-bottom:1px solid var(--gray-50);cursor:pointer;transition:background .12s ease}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--gray-50)}.notif-item.unread{background:rgba(0,169,183,.04)}.notif-item.unread:hover{background:rgba(0,169,183,.08)}.notif-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--nav-tint);color:var(--navy);flex-shrink:0}.notif-icon svg{width:13px;height:13px}.notif-icon.accent{background:rgba(244,165,51,.15);color:var(--accent)}.notif-icon.aqua{background:var(--aqua-soft);color:var(--aqua)}.notif-body{min-width:0}.notif-title{font-size:12.5px;font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:2px}.notif-meta{font-size:11px;color:var(--gray-500);line-height:1.4}.notif-time{font-size:10px;color:var(--gray-400);margin-top:3px;letter-spacing:.02em}.dropdown-foot{padding:10px 16px;border-top:1px solid var(--gray-100);text-align:center;background:var(--off-white)}.dropdown-foot button{font-size:11.5px;color:var(--navy);font-weight:600;padding:4px 8px}.dropdown-foot button:hover{color:var(--aqua)}.profile-header{padding:16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--gray-100);background:var(--nav-tint)}.profile-avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--paper);display:grid;place-items:center;font-family:Poppins,sans-serif;font-size:16px;font-weight:500;letter-spacing:-.01em;flex-shrink:0}.profile-info{min-width:0}.profile-name{font-size:13.5px;font-weight:700;color:var(--navy);line-height:1.2}.profile-email{font-size:11.5px;color:var(--gray-500);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu{padding:6px 0}.profile-menu-item{width:100%;padding:9px 16px;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--navy);font-weight:500;text-align:left;transition:background .12s ease;letter-spacing:0}.profile-menu-item:hover{background:var(--gray-50)}.profile-menu-item svg{width:14px;height:14px;color:var(--gray-500)}.profile-menu-item.danger{color:#b4453a}.profile-menu-item.danger svg{color:#b4453a}.profile-menu-divider{height:1px;background:var(--gray-100);margin:4px 0}.brand{position:relative}.mode-tabs{display:flex;padding:14px 14px 6px;gap:3px;background:transparent;position:relative}.mode-tab{flex:1;padding:9px 4px;font-size:11.5px;font-weight:700;color:var(--gray-500);letter-spacing:.02em;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;border-radius:7px;background:transparent}.mode-tab:hover{color:var(--navy);background:rgba(255,255,255,.6)}.mode-tab.active{color:var(--paper);background:var(--navy);box-shadow:0 2px 8px #0b25452e}.mode-tab.active:before{content:none}.mode-tab.active:after{content:none}.mode-tab{flex-direction:column;gap:0;padding:6px 4px 4px;line-height:1}.mode-tab-main{display:inline-flex;align-items:center;gap:6px;line-height:1}.mode-tab-loading{display:inline-flex;align-items:center;gap:4px;font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);line-height:1;margin-top:2px}.mode-tab.active .mode-tab-loading{color:#ffffffbf}.mode-tab.loading{cursor:not-allowed;opacity:.72}.mode-tab.loading:hover{color:var(--gray-500);background:transparent}.mode-tab-spinner{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--gray-300);border-top-color:var(--aqua);animation:modeTabSpin .9s linear infinite;display:inline-block;flex-shrink:0}.mode-tab.active .mode-tab-spinner{border-color:#ffffff59;border-top-color:#fff}@keyframes modeTabSpin{to{transform:rotate(360deg)}}.mode-tab.pulse-3d:not(.active):not(.loading),.vp-view-toggle button.pulse-3d:not(.loading){animation:tabPulse3d 1.6s ease-in-out infinite;border:1px solid var(--aqua, #00a9b7);color:var(--navy, #0b2545)}@keyframes tabPulse3d{0%,to{box-shadow:0 0 #00a9b773,0 0 #00a9b700;transform:scale(1)}50%{box-shadow:0 0 0 6px #00a9b700,0 0 14px 4px #00a9b78c;transform:scale(1.03)}}.mode-tab.pulse-3d[data-mode=exterior]:not(.active):not(.loading){animation-delay:.8s}.nav-module{background:var(--navy);color:var(--paper);position:relative;flex-shrink:0}.context-bar{padding:14px 20px;display:flex;flex-direction:column;gap:10px}.context-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.context-title{min-width:0;flex:1}.context-kicker{font-size:11.5px;color:#ffffff8c;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.context-heading{font-family:Poppins,sans-serif;font-size:24px;letter-spacing:-.015em;color:var(--paper);margin-top:4px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-sub{font-size:13px;color:#ffffffa6;margin-top:3px}.plan-actions-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;min-height:30px}.plan-actions-row .plan-desc-toggle,.plan-actions-row .room-picker{align-self:center}.room-picker{display:inline-flex;flex-direction:column;align-items:stretch;justify-content:center;gap:1px;padding:5px 10px 5px 11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;color:var(--paper);font-weight:600;transition:background .15s ease,border-color .15s ease;flex-shrink:0;min-width:108px;max-width:60%;text-align:left}.room-picker:hover{background:rgba(255,255,255,.14);border-color:#ffffff52}.room-picker .picker-label{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c;font-weight:700;line-height:1.1}.room-picker .picker-value{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--paper);line-height:1.1}.room-picker .picker-value>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-picker .picker-value svg{width:11px;height:11px;flex-shrink:0;opacity:.6}.plan-stats{display:flex;flex-direction:column;gap:8px;padding:10px 0 0;border-top:1px solid rgba(255,255,255,.1)}.plan-stat-primary{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.plan-stat-primary-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;font-weight:700}.plan-stat-primary-label svg{width:14px;height:14px;opacity:.8;flex-shrink:0}.plan-stat-primary-value{font-family:Poppins,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.01em;color:var(--paper);font-variant-numeric:tabular-nums}.plan-stat-row{display:flex;align-items:center;gap:0;justify-content:space-between}.plan-stat-item{display:flex;align-items:center;gap:6px;padding:0 2px;flex:1;min-width:0}.plan-stat-item+.plan-stat-item{border-left:1px solid rgba(255,255,255,.1);padding-left:10px}.plan-stat-item svg{width:20px;height:20px;opacity:.8;color:var(--paper);flex-shrink:0}.plan-stat-item-text{display:flex;flex-direction:column;min-width:0;line-height:1.1}.plan-stat-item-value{font-size:14px;font-weight:700;color:var(--paper);font-variant-numeric:tabular-nums}.plan-stat-item-label{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;font-weight:700;margin-top:2px}.plan-desc-toggle{display:flex;align-items:center;gap:5px;font-size:10.5px;color:#ffffffb3;font-weight:600;padding:0;transition:color .15s ease;letter-spacing:.02em;flex-shrink:0}.plan-desc-toggle:hover{color:var(--paper)}.plan-desc-toggle svg{width:11px;height:11px;transition:transform .2s ease}.plan-desc-toggle.expanded svg{transform:rotate(180deg)}.plan-desc{font-size:11.5px;color:#ffffffbf;line-height:1.55;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease,padding .3s ease;padding:0}.plan-desc.expanded{max-height:200px;opacity:1;padding-top:2px}.mode-cat-module{background:var(--off-white);position:relative;padding:12px 16px 4px;display:flex;flex-direction:column;flex-shrink:0}.mode-row{display:flex;align-items:stretch;gap:8px;margin-bottom:12px}.mode-tabs{display:flex;padding:3px;gap:0;background:var(--nav-tint);border-radius:9px;position:relative;flex:1;min-width:0}.mode-tab{flex:1;padding:8px 4px;font-size:11.5px;font-weight:700;color:var(--gray-500);letter-spacing:.02em;position:relative;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;border-radius:6px;background:transparent}.mode-tab svg{width:13px;height:13px}.mode-tab:hover:not(.active){color:var(--navy)}.mode-tab.active{color:var(--paper);background:var(--navy);box-shadow:0 1px 3px #0b254533}.mode-tab:not(.active)+.mode-tab:not(.active):before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:var(--nav-tint-2)}.section-label{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-400);font-weight:700;padding:0 4px 6px}.category-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:0 0 10px;border-bottom:1px solid var(--gray-100)}.cat-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 3px 8px;min-height:58px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--gray-500);transition:all .15s ease;text-align:center}.cat-chip:hover:not(.active){background:var(--nav-tint);color:var(--navy)}.cat-chip.active{background:var(--navy);color:var(--paper);border-color:var(--navy);box-shadow:0 2px 6px #0b25452e}.cat-chip.active .cat-icon{color:var(--paper)}.cat-icon{width:17px;height:17px;color:currentColor;transition:color .15s ease;flex-shrink:0}.cat-label{font-size:9.5px;font-weight:700;letter-spacing:.02em;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.subcat-bar{padding:14px 22px 4px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex-shrink:0}.subcat-label{font-size:10px;color:var(--gray-500);letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding-right:10px;margin-right:4px;border-right:1px solid var(--gray-200);line-height:1;display:inline-flex;align-items:center;height:22px}.subcat-pill{padding:5px 11px;font-size:11.5px;font-weight:600;border-radius:100px;background:var(--gray-50);color:var(--gray-500);border:1px solid transparent;transition:all .15s ease}.subcat-pill:hover{background:var(--gray-100);color:var(--navy)}.subcat-pill.active{background:var(--navy);color:var(--paper)}.scope-selector{margin:0 22px 10px;padding:10px 12px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:8px;display:flex;align-items:center;gap:10px;font-size:11.5px;flex-shrink:0}.scope-selector.hidden{display:none}.scope-selector-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);font-weight:700;white-space:nowrap}.scope-group{display:flex;gap:2px;padding:2px;background:var(--paper);border:1px solid var(--gray-200);border-radius:100px;flex:1}.scope-btn{flex:1;padding:5px 8px;font-size:11px;font-weight:600;color:var(--gray-500);border-radius:100px;transition:all .15s ease;white-space:nowrap}.scope-btn:hover{color:var(--navy)}.scope-btn.active{background:var(--navy);color:var(--paper)}.search-bar{padding:14px 22px 0;display:flex;gap:8px;align-items:center;flex-shrink:0}.search-input-wrap{flex:1;position:relative}.search-input-wrap svg.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--gray-400);pointer-events:none}.search-input{width:100%;padding:8px 32px;background:var(--gray-50);border:1px solid transparent;border-radius:8px;font-size:12.5px;color:var(--navy);outline:none;transition:all .15s ease;font-family:inherit}.search-input:focus{background:var(--paper);border-color:var(--aqua);box-shadow:0 0 0 3px var(--aqua-soft)}.search-input::placeholder{color:var(--gray-400)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:18px;height:18px;display:none;place-items:center;border-radius:50%;background:var(--gray-200);color:var(--gray-500)}.search-clear.shown{display:grid}.search-clear:hover{background:var(--gray-300);color:var(--navy)}.search-clear svg{width:9px;height:9px}.level-filter{padding:8px 16px 10px;display:flex;align-items:center;gap:4px;justify-content:flex-start;flex-shrink:0;flex-wrap:nowrap;overflow:hidden;min-width:0}.filter-chip{position:relative;display:inline-flex;align-items:center;gap:3px;padding:4px 7px 4px 8px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--gray-500);background:var(--gray-50);border:1px solid transparent;border-radius:100px;transition:all .15s ease;cursor:pointer;white-space:nowrap;flex-shrink:1;min-width:0}.filter-chip:hover{color:var(--navy);background:var(--gray-100)}.filter-chip.active{color:var(--navy);background:var(--paper);border-color:var(--aqua)}.filter-chip.active .chip-count{background:var(--aqua);color:#fff}.filter-chip .chip-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.filter-chip .chip-count{margin-left:3px;background:var(--gray-300);color:var(--gray-700);border-radius:100px;padding:1px 6px;font-size:10px;line-height:1.3;font-weight:700;min-width:16px;text-align:center}.filter-chip .chip-caret{width:9px;height:9px;margin-left:1px;color:currentColor;opacity:.75}.filter-menu{position:fixed;background:var(--paper);border:1px solid var(--gray-100);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;min-width:200px;max-height:340px;overflow-y:auto;z-index:1000;display:none}.filter-menu.open{display:block}.filter-menu-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);padding:4px 8px;border-bottom:1px solid var(--gray-100);margin-bottom:4px}.filter-menu-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12.5px;color:var(--navy);transition:background .1s}.filter-menu-row:hover{background:var(--gray-50)}.filter-menu-row.selected{background:var(--aqua-soft)}.filter-menu-row input[type=checkbox]{accent-color:var(--aqua);margin:0;width:14px;height:14px;flex-shrink:0}.filter-menu-row .row-label{flex:1}.filter-menu-row .row-count{font-size:10.5px;color:var(--gray-500);font-weight:600}.filter-menu-actions{display:flex;justify-content:space-between;gap:8px;padding:6px 2px 0;margin-top:4px;border-top:1px solid var(--gray-100)}.filter-menu-actions button{font-size:11px;font-weight:600;color:var(--aqua);padding:4px 8px;border-radius:6px}.filter-menu-actions button:hover{background:var(--aqua-soft)}.filter-notice{display:flex;align-items:flex-start;gap:8px;margin:0 22px 8px;padding:9px 12px;background:#FFF8E6;border:1px solid #F3D58A;border-radius:8px;font-size:11.5px;color:#6a4b00;line-height:1.4}.filter-notice svg{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:#c47f00}.filter-notice .notice-close{margin-left:auto;color:#6a4b00;opacity:.7;padding:0 2px}.filter-notice .notice-close:hover{opacity:1}.sort-wrap{position:relative}.sort-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--gray-500);padding:4px 6px;border-radius:6px;font-weight:600;flex-shrink:0}.sort-btn:hover{color:var(--navy);background:var(--gray-50)}.sort-btn svg{width:12px;height:12px}.chips-crowded #sort-label{display:none}.level-filter .filter-chip .chip-label{max-width:84px;overflow:hidden;text-overflow:ellipsis}.sort-btn.open{color:var(--navy);background:var(--gray-50)}.sort-menu{position:fixed;background:var(--paper);border:1px solid var(--gray-100);border-radius:10px;box-shadow:var(--shadow-lg);padding:4px;min-width:200px;z-index:1000;display:none;animation:fadeIn .14s ease}.sort-menu.open{display:block}.sort-option{width:100%;text-align:left;padding:8px 12px;font-size:12px;color:var(--navy);border-radius:6px;display:flex;align-items:center;gap:8px;font-weight:500}.sort-option:hover{background:var(--gray-50)}.sort-option.selected{color:var(--aqua);font-weight:700}.sort-option.selected:before{content:"✓";font-weight:700;margin-right:-4px}.sort-option:not(.selected):before{content:"";width:10px;display:inline-block}.product-scroll{flex:1 1 0;min-height:0;overflow-y:auto;padding:16px 20px 20px;scroll-behavior:smooth}.product-scroll.structural-mode{padding-top:4px}.product-scroll::-webkit-scrollbar{width:6px}.product-scroll::-webkit-scrollbar-track{background:transparent}.product-scroll::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}.product-scroll::-webkit-scrollbar-thumb:hover{background:var(--gray-300)}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.app.force-cols-2 .product-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}.app.force-cols-3 .product-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.product-card{background:var(--paper);border:1.5px solid var(--gray-100);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .2s ease;position:relative}.product-card:hover{border-color:var(--gray-300);transform:translateY(-1px);box-shadow:var(--shadow-md)}.product-card.active{border-color:var(--aqua);box-shadow:0 0 0 2px var(--aqua-soft),var(--shadow-sm)}.product-card.active .product-thumb:before{content:"";position:absolute;top:8px;left:8px;width:20px;height:20px;border-radius:50%;background:var(--aqua);z-index:3;box-shadow:0 0 0 3px var(--paper)}.product-card.active .product-thumb:after{content:"✓";position:absolute;top:8px;left:8px;width:20px;height:20px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;z-index:4}.product-thumb{aspect-ratio:4 / 3;width:100%;display:block;max-height:320px;position:relative;overflow:hidden;background:var(--gray-50);min-height:0;flex-shrink:0}.product-thumb .thumb-swatch{position:absolute;top:0;right:0;bottom:0;left:0}.product-level{position:absolute;bottom:7px;left:7px;padding:3px 7px;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--navy);background:rgba(255,255,255,.95);border-radius:4px;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.product-level.lvl-0{font-size:8px;padding:3px 6px;letter-spacing:.06em}.product-level.lvl-2,.product-level.lvl-3,.product-level.lvl-4,.product-level.lvl-5,.product-level.lvl-6,.product-level.lvl-7,.product-level.lvl-8,.product-level.lvl-9,.product-level.lvl-10,.product-level.lvl-11,.product-level.lvl-12,.product-level.lvl-13{color:var(--navy);background:rgba(255,255,255,.95)}.scope-badge{position:absolute;bottom:7px;left:7px;padding:3px 7px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--paper);background:var(--aqua);border-radius:4px;z-index:3;box-shadow:0 1px 2px #0003}.product-fav-btn{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;transition:background .15s ease,transform .15s ease,color .15s ease;color:var(--gray-300);background:transparent;margin:-3px -3px 0 0}.product-fav-btn:hover{background:rgba(244,165,51,.12);transform:scale(1.08);color:#f4a533}.product-fav-btn.active{color:#f4a533}.product-fav-btn svg{width:15px;height:15px;transition:transform .18s ease}.product-fav-btn.active svg{animation:heartPop .35s ease}@keyframes heartPop{0%{transform:scale(.8)}50%{transform:scale(1.35)}to{transform:scale(1)}}.product-card{opacity:0;transform:translateY(8px);animation:cardFadeIn .28s cubic-bezier(.2,.7,.3,1) forwards}@keyframes cardFadeIn{to{opacity:1;transform:translateY(0)}}.product-info-btn{position:absolute;top:7px;right:7px;width:24px;height:24px;padding:0;border:0;box-sizing:border-box;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;transition:background .15s ease,transform .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:4;box-shadow:0 1px 3px #00000014;flex-shrink:0}.product-info-btn:hover{background:white;transform:scale(1.08)}.product-info-btn svg{width:14px;height:14px;color:var(--navy);display:block}.product-meta{padding:9px 11px 11px;display:flex;flex-direction:column;gap:1px}.product-meta-row{display:flex;align-items:flex-start;gap:8px}.product-meta-row .product-name{flex:1 1 0;min-width:0}.product-name{font-size:12.5px;font-weight:500;color:var(--navy);line-height:1.3;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.product-type-tag{font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-type-tag .tt-finish{color:var(--gray-400);font-weight:500}.product-price-pill{position:absolute;bottom:7px;right:7px;padding:3px 7px;font-size:10px;font-weight:700;letter-spacing:.01em;color:var(--aqua);background:rgba(255,255,255,.95);border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-variant-numeric:tabular-nums;z-index:3}.product-price-pill.included{color:var(--gray-500);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.empty-hint{grid-column:1 / -1;padding:28px 18px;text-align:center;font-size:12px;color:var(--gray-400);font-style:italic}.total-bar{padding:14px 22px;border-top:1px solid var(--gray-100);background:var(--paper);display:flex;align-items:center;gap:12px;flex-shrink:0;margin-top:auto}.total-info{flex:1;min-width:0}.total-label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400)}.total-amount{font-family:Poppins,sans-serif;font-size:22px;color:var(--navy);letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1}.total-amount .prefix{color:var(--gray-400);font-size:14px;margin-right:2px}.cart-btn{padding:11px 16px;background:var(--navy);color:var(--paper);font-size:12px;font-weight:600;letter-spacing:.02em;border-radius:8px;display:inline-flex;align-items:center;gap:7px;transition:background .15s ease}.cart-btn:hover{background:var(--navy-2)}.cart-btn svg{width:13px;height:13px}#open-favorites{position:relative}#open-favorites:hover{color:var(--accent)}.fav-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:100px;background:var(--gray-200);color:var(--navy);font-size:9.5px;font-weight:700;display:grid;place-items:center;border:1.5px solid var(--off-white);transition:background .15s ease,color .15s ease;font-variant-numeric:tabular-nums}#open-favorites.has-favs .fav-count,#open-favorites:hover .fav-count{background:var(--accent);color:var(--navy)}#open-favorites:not(.has-favs) .fav-count{display:none}.export-btn{padding:11px 16px;background:var(--accent);color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.02em;border-radius:8px;display:inline-flex;align-items:center;gap:6px;transition:background .15s ease}.export-btn:hover{background:var(--accent-hot);color:var(--paper)}.export-btn svg{width:13px;height:13px}.viewport{position:relative;background:#0F1A2C;overflow:hidden}.viewport iframe{width:100%;height:100%;border:none;display:block}.viewport .stream-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.vp-top{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none;z-index:10}.vp-top>*{pointer-events:auto}.vp-top-left{display:flex;align-items:flex-start;gap:8px;min-width:0}.vp-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:100px;font-size:12px;color:var(--navy);box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.4)}.vp-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--aqua);animation:pulse 1.8s infinite ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.vp-pill strong{font-weight:600}.vp-pill .sep{color:var(--gray-300)}.tod-mini-btn,.tod-slider .tod-close{display:none}.tod-slider{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:100px;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.4);z-index:10;min-width:320px}.tod-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--navy);flex-shrink:0;transition:color .2s ease}.tod-icon svg{width:15px;height:15px}.tod-icon.night{color:var(--navy-2)}.tod-icon.day{color:var(--accent)}.tod-track-wrap{flex:1;display:flex;align-items:center;position:relative;height:20px;--thumb-size: 16px}.tod-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:4px;border-radius:2px;background:linear-gradient(90deg,#1a2544 0%,#2d4373 10%,#f4a533 30%,#f8d88f 50%,#f4a533 70%,#2d4373 90%,#1a2544 100%);z-index:1;pointer-events:none}.tod-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;background:transparent;outline:none;position:relative;z-index:3;margin:0}.tod-slider input[type=range]::-webkit-slider-runnable-track{background:transparent;height:4px;border:none}.tod-slider input[type=range]::-moz-range-track{background:transparent;height:4px;border:none}.tod-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--paper);border-radius:50%;cursor:pointer;border:2px solid var(--navy);box-shadow:0 2px 6px #0b254540,0 0 0 2px var(--aqua-soft);transition:transform .15s ease;margin-top:-6px}.tod-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}.tod-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--paper);border-radius:50%;cursor:pointer;border:2px solid var(--navy);box-shadow:0 2px 6px #0b254540,0 0 0 2px var(--aqua-soft)}.tod-ghost{position:absolute;top:50%;left:0;width:16px;height:16px;background:rgba(11,37,69,.45);border:1.5px solid rgba(11,37,69,.75);border-radius:50%;box-shadow:0 1px 3px #0b254533;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transform:translate(-50%,-50%);pointer-events:none;z-index:2;transition:left 1.2s cubic-bezier(.4,0,.2,1)}.tod-progress{position:absolute;top:50%;height:4px;background:var(--aqua);border-radius:2px;pointer-events:none;z-index:1;transform:translateY(-50%);transition:left 1.2s cubic-bezier(.4,0,.2,1),width 1.2s cubic-bezier(.4,0,.2,1),opacity .25s ease;opacity:0}.tod-progress.active{opacity:1;animation:todPulse 1s ease-in-out infinite}@keyframes todPulse{0%,to{box-shadow:0 0 #00a9b700}50%{box-shadow:0 0 0 4px #00a9b726}}.tod-time{font-size:11.5px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:52px;text-align:right;transition:color .15s ease}.tod-time.transitioning{color:var(--aqua)}.vp-tools{display:flex;gap:6px;padding:4px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.4);transition:gap .2s ease,padding .2s ease}.vp-tools.collapsed .vp-tool:not(.vp-tools-toggle){display:none!important}.vp-tools-toggle svg{transition:transform .2s ease}.vp-tools-toggle:not(.collapsed){background:var(--aqua-soft);border:1px solid var(--aqua)}.vp-tools-toggle:not(.collapsed):hover{background:var(--aqua);color:var(--paper)}.vp-tools-toggle.collapsed{width:auto;min-width:92px;padding:0 10px;gap:6px;display:inline-flex;align-items:center;justify-content:center}.vp-tools-toggle .tools-glyph{width:16px;height:16px}.vp-tools-toggle .tools-label{font-size:12px;font-weight:600;color:var(--navy);letter-spacing:.01em}.vp-tools-toggle .tools-arrow{width:16px;height:16px;opacity:1}.vp-tool{width:34px;height:34px;display:grid;place-items:center;color:var(--navy);border-radius:8px;transition:background .15s ease}.vp-tool:hover{background:var(--gray-100)}.vp-tool.active{background:var(--navy);color:var(--paper)}.vp-tool:focus{outline:none}.vp-tool:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.vp-tool svg{width:16px;height:16px}.furniture-toggle .furn-on{display:block}.furniture-toggle .furn-off{display:none}.furniture-toggle:not(.active) .furn-on{display:none}.furniture-toggle:not(.active) .furn-off{display:block}.furniture-toggle.active{background:transparent;color:var(--navy)}.furniture-toggle:not(.active){color:var(--gray-400)}.furniture-toggle:hover{background:var(--gray-100)}.vp-top-center{position:absolute;top:18px;left:50%;transform:translate(-50%);display:flex;gap:10px;align-items:center;z-index:10;transition:top .22s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1);pointer-events:none}.vp-top-center>*{pointer-events:auto}@media (max-width: 1000px){.viewport:has(.vp-tools:not(.collapsed)) .vp-top-center:has(.connect-btn){transform:translate(-50%) translate(-120px)}}.vp-view-toggle{display:none;gap:2px;padding:4px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:10px;box-shadow:var(--shadow-md)}.vp-view-toggle.shown{display:flex}.vp-view-toggle button{padding:7px 14px;font-size:11.5px;font-weight:600;color:var(--gray-500);border-radius:7px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px}.vp-view-toggle button.active{background:var(--navy);color:var(--paper)}.vp-view-toggle button.loading{cursor:not-allowed;opacity:.72;color:var(--gray-500)}.vp-view-toggle button.loading:hover{background:transparent}.vp-view-toggle button.loading .mode-tab-spinner{border-color:var(--gray-300);border-top-color:var(--aqua)}.connect-btn{padding:7px 14px;border-radius:10px;border:2px solid;font-size:11.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s,opacity .15s;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-md);white-space:nowrap}.connect-btn.connected{background:#1b4332;color:#95d5b2;border-color:#2d6a4f}.connect-btn.connecting,.connect-btn.reconnecting{background:#3a3000;color:#ffd60a;border-color:#5a5020;cursor:wait}.connect-btn.disconnected{background:rgba(255,255,255,.9);color:var(--navy);border-color:var(--navy)}.connect-btn.error{background:#3a1010;color:#f08080;border-color:#5a2020}.connect-btn:hover{opacity:.88}@media (max-width: 700px){.vp-top-center{top:58px}.viewport:has(.vp-tools:not(.collapsed)) .vp-top-center{top:108px}.connect-btn{padding:6px 12px;font-size:11px;border-radius:9px}.vp-view-toggle button{padding:6px 12px;font-size:11px}}.ai-bubble{position:absolute;bottom:22px;right:22px;width:56px;height:56px;background:var(--navy);border-radius:50%;display:grid;place-items:center;color:var(--paper);cursor:pointer;box-shadow:0 10px 30px #0b254559,0 0 0 6px #ffffff14;transition:transform .2s ease,background .2s ease;z-index:20}.ai-bubble:hover{transform:scale(1.06);background:var(--navy-2)}.ai-bubble:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:conic-gradient(from 0deg,var(--aqua),var(--accent),var(--aqua));opacity:0;z-index:-1;animation:spin 4s linear infinite;transition:opacity .2s ease}.ai-bubble:hover:before{opacity:.8}@keyframes spin{to{transform:rotate(360deg)}}.ai-bubble svg{width:24px;height:24px}.ai-label{position:absolute;right:166px;bottom:33px;padding:8px 14px;background:var(--navy);color:var(--paper);font-size:11.5px;font-weight:500;border-radius:100px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translate(6px);z-index:20}.ai-bubble:hover+.ai-label,.ai-label.persistent{opacity:1;transform:translate(0)}.contact-bubble{position:absolute;bottom:22px;right:96px;width:56px;height:56px;background:var(--paper);color:var(--accent);border-radius:50%;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px #0b254540,0 0 0 6px #ffffff14;transition:transform .2s ease,background .2s ease,color .2s ease;z-index:20;border:1px solid var(--gray-100)}.contact-bubble:hover{transform:scale(1.06);background:var(--accent);color:var(--navy)}.contact-bubble.active{background:var(--accent);color:var(--navy)}.contact-bubble svg{width:22px;height:22px}.contact-label{position:absolute;right:162px;bottom:33px;padding:8px 14px;background:var(--navy);color:var(--paper);font-size:11.5px;font-weight:500;border-radius:100px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;transform:translate(6px);z-index:20}.contact-bubble:hover+.contact-label,.contact-label.persistent{opacity:1;transform:translate(0)}.contact-panel{position:absolute;bottom:90px;right:22px;width:340px;background:var(--paper);border-radius:16px;box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);display:none;flex-direction:column;overflow:hidden;z-index:30}.contact-panel.open{display:flex;animation:slideUp .24s cubic-bezier(.2,.8,.2,1)}.contact-panel-head{padding:14px 16px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.contact-panel-head h3{font-family:Poppins,sans-serif;font-size:16px;font-weight:500;color:var(--navy);letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.contact-panel-body{padding:14px 16px 16px}.contact-consultant{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--gray-100);margin-bottom:10px}.contact-avatar{width:42px;height:42px;border-radius:50%;background:var(--navy);color:var(--paper);font-weight:700;font-size:13px;display:grid;place-items:center;letter-spacing:.05em;flex-shrink:0}.contact-name{font-weight:700;color:var(--navy);font-size:14px}.contact-role{font-size:11px;color:var(--gray-500);margin-top:2px}.contact-detail-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12.5px;color:var(--navy)}.contact-detail-row svg{width:14px;height:14px;color:var(--gray-500);flex-shrink:0}.contact-detail-row a{color:var(--navy);text-decoration:none;font-weight:500}.contact-detail-row a:hover{color:var(--accent);text-decoration:underline}.contact-detail-row.contact-detail-stacked{align-items:flex-start}.contact-detail-row.contact-detail-stacked svg{margin-top:2px}.contact-detail-row.contact-detail-stacked a{line-height:1.4}.contact-hours{color:var(--gray-600);font-weight:500}.contact-actions{display:flex;flex-direction:column;gap:6px;margin-top:12px}.contact-action{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;background:var(--paper);border:1px solid var(--gray-200);color:var(--navy);font-size:12.5px;font-weight:600;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease;cursor:pointer}.contact-action:hover{background:var(--gray-50);border-color:var(--gray-300)}.contact-action svg{width:15px;height:15px;color:var(--gray-500)}.contact-action.primary{background:var(--accent);border-color:var(--accent);color:var(--navy)}.contact-action.primary:hover{background:var(--accent-hot);color:var(--paper);border-color:var(--accent-hot)}.contact-action.primary svg{color:currentColor}.contact-footer-note{margin-top:10px;font-size:10.5px;color:var(--gray-400);text-align:center;letter-spacing:.02em}@media (max-width: 700px){.contact-bubble{bottom:88px;right:22px}.contact-label{right:88px;bottom:99px}}.ai-panel{position:absolute;bottom:90px;right:22px;width:340px;max-height:460px;background:var(--paper);border-radius:16px;box-shadow:var(--shadow-lg);display:none;flex-direction:column;overflow:hidden;z-index:30;border:1px solid var(--gray-100)}.ai-panel.open{display:flex;animation:slideUp .24s cubic-bezier(.2,.8,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-panel.above-debug,.contact-panel.above-debug{bottom:142px}.ai-header{padding:14px 16px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.ai-header h3{font-family:Poppins,sans-serif;font-size:16px;color:var(--navy);font-weight:500;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.ai-header h3 span.badge{font-size:9px;letter-spacing:.12em;color:var(--aqua);background:var(--aqua-soft);padding:2px 6px;border-radius:3px;font-family:Poppins,sans-serif;font-weight:700;text-transform:uppercase}.ai-messages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.ai-msg{padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.45;max-width:86%}.ai-msg.bot{background:var(--gray-50);color:var(--navy);align-self:flex-start;border-bottom-left-radius:4px}.ai-msg.user{background:var(--navy);color:var(--paper);align-self:flex-end;border-bottom-right-radius:4px}.ai-suggestions{display:flex;flex-wrap:wrap;gap:5px;padding:0 16px 10px}.ai-sug{padding:5px 9px;background:var(--gray-50);border-radius:100px;font-size:11px;color:var(--navy-2);border:1px solid var(--gray-100);transition:all .15s ease}.ai-sug:hover{background:var(--aqua-soft);border-color:var(--aqua)}.ai-sug--disabled{opacity:.45;cursor:not-allowed}.ai-sug--disabled:hover{background:var(--gray-50);border-color:var(--gray-100)}.ai-input-row{padding:10px 12px;border-top:1px solid var(--gray-100);display:flex;gap:8px;align-items:center}.ai-input{flex:1;padding:9px 12px;background:var(--gray-50);border-radius:100px;border:1px solid transparent;font-size:13px;outline:none;transition:all .15s ease}.ai-input:focus{background:var(--paper);border-color:var(--aqua)}.ai-mic,.ai-send{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--navy);transition:background .15s ease}.ai-mic:hover,.ai-send:hover{background:var(--gray-50)}.ai-mic.recording{background:var(--accent);color:var(--paper);animation:recording 1s infinite}.ai-mic.transcribing{background:var(--aqua);color:var(--paper);animation:transcribing 1.4s ease-in-out infinite}.ai-mic.no-mic{opacity:.4}.ai-mic.no-mic:hover{opacity:.6}@keyframes recording{50%{background:var(--accent-hot)}}@keyframes transcribing{50%{opacity:.5}}.ai-send{background:var(--navy);color:var(--paper)}.ai-send:hover{background:var(--navy-2)}.ai-mic svg,.ai-send svg{width:15px;height:15px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(11,37,69,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}.modal-overlay.open{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border-radius:16px;box-shadow:var(--shadow-lg);width:92%;max-width:720px;max-height:88vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlide .25s cubic-bezier(.2,.8,.2,1)}.modal.modal-wide{max-width:780px}.modal.modal-narrow{max-width:480px}@keyframes modalSlide{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-head{padding:20px 26px 18px;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-family:Poppins,sans-serif;font-size:22px;color:var(--navy);letter-spacing:-.015em;font-weight:500}.modal-close{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--gray-500)}.modal-close:hover{background:var(--gray-50);color:var(--navy)}.modal-close svg{width:14px;height:14px}.modal-body{padding:22px 26px;overflow-y:auto}.fav-section{margin-bottom:24px}.fav-section:last-child{margin-bottom:0}.fav-section-head{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--gray-100)}.fav-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 560px){.fav-grid{grid-template-columns:1fr}}.fav-item{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--gray-100);border-radius:10px;transition:border-color .15s ease,background .15s ease}.fav-item:hover{border-color:var(--gray-200);background:var(--gray-50)}.fav-thumb{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden}.fav-info{min-width:0}.fav-name{font-size:12.5px;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-price{font-size:11px;color:var(--gray-500);margin-top:2px}.fav-remove{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--gray-400);transition:background .15s ease,color .15s ease}.fav-remove:hover{background:#FEF2E0;color:var(--accent)}.fav-remove svg{width:14px;height:14px}.segmented{display:flex;gap:0;background:var(--gray-100);border-radius:8px;padding:3px}.segmented button{flex:1;padding:7px 10px;font-size:12px;font-weight:600;color:var(--gray-500);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease}.segmented button.active{background:var(--paper);color:var(--navy);box-shadow:var(--shadow-sm)}.segmented button:hover:not(.active){color:var(--navy)}.setting-row{padding:14px 0;border-bottom:1px solid var(--gray-100)}.setting-row:last-child{border-bottom:none}.setting-row .sr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.setting-row h4{font-size:13px;font-weight:600;color:var(--navy)}.setting-row .val{font-size:12px;color:var(--aqua);font-weight:600;font-variant-numeric:tabular-nums}.setting-row .desc{font-size:11.5px;color:var(--gray-400);margin-bottom:10px}.range-wrap{position:relative}input[type=range]{-webkit-appearance:none;width:100%;height:4px;background:var(--gray-100);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--navy);border-radius:50%;cursor:pointer;border:3px solid var(--paper);box-shadow:0 0 0 1px var(--navy);transition:transform .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--navy);border-radius:50%;cursor:pointer;border:3px solid var(--paper);box-shadow:0 0 0 1px var(--navy)}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--gray-100)}.toggle-row:last-child{border-bottom:none}.toggle-row h4{font-size:13px;font-weight:600;color:var(--navy);margin-bottom:2px}.toggle-row p{font-size:11.5px;color:var(--gray-400)}.toggle-switch{position:relative;width:40px;height:22px;background:var(--gray-200);border-radius:100px;transition:background .2s ease}.toggle-switch.on{background:var(--aqua)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--paper);border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 2px #00000026}.toggle-switch.on:after{transform:translate(18px)}.cart-list{display:flex;flex-direction:column;gap:0}.cart-mode-header{font-family:Poppins,sans-serif;font-size:17px;font-weight:500;color:var(--navy);letter-spacing:-.01em;padding:18px 0 10px;border-bottom:2px solid var(--navy);margin-bottom:4px}.cart-mode-header:first-child{padding-top:4px}.cart-category-block{padding:8px 0 4px}.cart-category-title{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-500);font-weight:700;padding:10px 0 6px}.cart-item{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--gray-50)}.cart-item:last-of-type{border-bottom:none}.cart-thumb{width:52px;height:52px;border-radius:6px;flex-shrink:0;position:relative;overflow:hidden}.cart-item-info{min-width:0}.cart-item-name{font-size:13px;font-weight:600;color:var(--navy);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-item-loc{font-size:11.5px;color:var(--gray-500);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-item-lvl{display:inline-block;font-size:9.5px;color:var(--aqua);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;padding:2px 6px;background:var(--aqua-soft);border-radius:3px}.cart-item-price{font-size:14px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cart-item-price.included{color:var(--gray-400);font-weight:500;font-size:11.5px}.cart-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 4px;margin-top:8px;border-top:2px solid var(--navy)}.cart-total-label{font-size:13px;font-weight:600;color:var(--navy)}.cart-total-sum{font-family:Poppins,sans-serif;font-size:28px;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.cart-subline{font-size:11.5px;color:var(--gray-400);text-align:right;margin-bottom:12px}.export-preview{background:var(--gray-50);border-radius:10px;padding:16px;margin-bottom:16px}.export-preview h4{font-family:Poppins,sans-serif;font-size:16px;color:var(--navy);margin-bottom:4px}.export-preview p{font-size:12px;color:var(--gray-500)}.export-options{display:flex;flex-direction:column;gap:8px}.export-option{display:flex;align-items:center;gap:10px;padding:12px;background:var(--gray-50);border:1.5px solid transparent;border-radius:10px;cursor:pointer;transition:all .15s ease}.export-option:hover{border-color:var(--gray-200)}.export-option.selected{background:var(--aqua-soft);border-color:var(--aqua)}.export-option input{accent-color:var(--aqua)}.export-option .label{flex:1}.export-option .label strong{font-size:13px;font-weight:600;color:var(--navy);display:block}.export-option .label span{font-size:11.5px;color:var(--gray-500)}.modal-foot{padding:12px 22px;border-top:1px solid var(--gray-100);display:flex;justify-content:flex-end;gap:8px;background:var(--off-white)}.btn-sec{padding:7px 13px;font-size:12px;font-weight:600;color:var(--navy);background:var(--paper);border:1px solid var(--gray-200);border-radius:7px;transition:background .15s ease;line-height:1.3}.btn-sec:hover{background:var(--gray-50)}.btn-pri{padding:7px 14px;font-size:12px;font-weight:600;color:var(--paper);background:var(--navy);border-radius:7px;transition:background .15s ease;display:inline-flex;align-items:center;gap:6px;line-height:1.3}.btn-pri:hover{background:var(--navy-2)}.btn-pri.accent{background:var(--accent);color:var(--navy)}.btn-pri.accent:hover{background:var(--accent-hot);color:var(--paper)}.btn-pri svg,.btn-sec svg{width:12px;height:12px;flex-shrink:0}.info-pop{position:fixed;background:var(--paper);border:1px solid var(--gray-100);border-radius:14px;box-shadow:var(--shadow-lg);padding:16px;width:280px;z-index:200;display:none;animation:fadeIn .18s ease}.info-pop.open{display:block}.info-pop-close{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--gray-500);background:transparent;cursor:pointer;transition:background .15s ease,color .15s ease}.info-pop-close:hover{background:var(--gray-100);color:var(--navy)}.info-pop-close svg{width:12px;height:12px}.info-pop h5{font-family:Poppins,sans-serif;font-size:15px;color:var(--navy);margin-bottom:2px}.info-pop .ai-tag{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;color:var(--aqua);font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.info-pop .ai-tag svg{width:10px;height:10px}.info-pop p{font-size:12px;color:var(--gray-500);line-height:1.5;margin-bottom:10px}.info-pop .attr-row{display:flex;justify-content:space-between;padding:5px 0;border-top:1px dashed var(--gray-100);font-size:11.5px}.info-pop .attr-row span:first-child{color:var(--gray-500)}.info-pop .attr-row span:last-child{color:var(--navy);font-weight:600}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:11px 20px;background:var(--navy);color:var(--paper);border-radius:100px;font-size:12.5px;font-weight:500;box-shadow:var(--shadow-lg);z-index:300;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;display:inline-flex;align-items:center;gap:8px}.toast.shown{opacity:1;transform:translate(-50%)}.toast svg{width:14px;height:14px;color:var(--aqua)}.help-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.help-section h5{font-family:Poppins,sans-serif;font-size:15px;color:var(--navy);font-weight:500;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--gray-100);letter-spacing:-.01em}.help-list{display:flex;flex-direction:column;gap:10px}.help-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;font-size:12.5px}.help-keys{display:inline-flex;gap:3px;flex-shrink:0;align-items:center}.help-key{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:10.5px;font-weight:700;font-family:Poppins,monospace;color:var(--navy);background:var(--gray-50);border:1px solid var(--gray-200);border-bottom-width:2px;border-radius:4px;letter-spacing:0}.help-plus{color:var(--gray-400);font-size:10px;font-weight:600}.help-desc{color:var(--gray-500);line-height:1.45;padding-top:2px}.help-desc strong{color:var(--navy);font-weight:600}.help-intro{background:var(--aqua-soft);border:1px solid var(--aqua);border-radius:10px;padding:14px 16px;margin-bottom:20px;font-size:12.5px;color:var(--navy-2);line-height:1.5}.help-intro strong{color:var(--navy);font-weight:700}@media (max-width: 700px){.help-sections{grid-template-columns:1fr;gap:20px}}.sw{width:100%;height:100%;position:relative}.sw:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 30% 20%,rgba(255,255,255,.2),transparent 60%)}.sw-off{background:#ffffff;box-shadow:inset 0 0 0 1px var(--gray-100)}.sw-off:before{display:none}.product-thumb .sw-icon-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:2;color:var(--gray-500);pointer-events:none}.product-thumb .sw-icon-overlay svg{width:46%;height:46%;max-width:40px;max-height:40px}.product-card.active .product-thumb .sw-icon-overlay{color:var(--navy)}.sw-roof-charcoal{background:linear-gradient(135deg,#3a3d40 0%,#2b2e31 50%,#1f2124 100%)}.sw-roof-slate{background:linear-gradient(135deg,#5d6a72 0%,#465159 50%,#333c42 100%)}.sw-roof-rust{background:linear-gradient(135deg,#8b4a3a 0%,#6b3628 50%,#4d241a 100%)}.sw-roof-terracotta{background:linear-gradient(135deg,#b7583d 0%,#9a4330 50%,#742e20 100%)}.sw-stucco-cream{background:linear-gradient(135deg,#e8ddc8 0%,#ccc0a9 100%)}.sw-stucco-warm{background:linear-gradient(135deg,#d4b68c 0%,#b89968 100%)}.sw-stucco-sand{background:linear-gradient(135deg,#c8b393 0%,#a89572 100%)}.sw-wood-oak{background:linear-gradient(135deg,#b78b5d 0%,#8f6a44 50%,#6d4f30 100%)}.sw-wood-walnut{background:linear-gradient(135deg,#6f503a 0%,#523a2a 50%,#33241a 100%)}.sw-wood-ash{background:linear-gradient(135deg,#d8c3a4 0%,#b19976 50%,#8a7a5d 100%)}.sw-wood-ebony{background:linear-gradient(135deg,#2a2420 0%,#1a1612 100%)}.sw-marble-white{background:linear-gradient(135deg,#f2eee7 0%,#e0dacf 100%),repeating-linear-gradient(25deg,transparent,transparent 8px,rgba(0,0,0,.04) 8px,rgba(0,0,0,.04) 9px);background-blend-mode:multiply}.sw-marble-calacatta{background:linear-gradient(135deg,#faf7f0 0%,#ebe4d1 100%)}.sw-marble-black{background:linear-gradient(135deg,#24262a 0%,#12141a 100%)}.sw-quartz-grey{background:linear-gradient(135deg,#c7c4be 0%,#94918b 100%)}.sw-quartz-taupe{background:linear-gradient(135deg,#a79c88 0%,#7f7560 100%)}.sw-tile-herring{background:repeating-linear-gradient(45deg,#e8e0d1,#e8e0d1 12px,#d8cfbd 12px,#d8cfbd 24px)}.sw-tile-subway{background:linear-gradient(180deg,#f2ebde 0%,#d8cfbd 100%)}.sw-tile-navy{background:linear-gradient(180deg,#1a3457 0%,#0b2545 100%)}.sw-brick-red{background:linear-gradient(135deg,#8a4132 0%,#6e2f24 100%)}.sw-brick-grey{background:linear-gradient(135deg,#8e8780 0%,#625c54 100%)}.sw-stone-lime{background:linear-gradient(135deg,#cec5ae 0%,#a39b84 100%)}.sw-paint-dove{background:#efece5}.sw-paint-mist{background:#dbe4e2}.sw-paint-clay{background:#c3a58c}.sw-paint-char{background:#4a4a47}.sw-paint-white{background:#f6f4ed}.sw-paint-sage{background:#a8ac94}.sw-hw-brushed{background:linear-gradient(135deg,#c9c9c5 0%,#9a9a94 100%)}.sw-hw-matte{background:linear-gradient(135deg,#2c2c2a 0%,#1a1a18 100%)}.sw-hw-brass{background:linear-gradient(135deg,#c89c5c 0%,#9a7434 100%)}.sw-hw-chrome{background:linear-gradient(135deg,#e6e6e4 0%,#b0b0ac 100%)}.sw-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.12) 100%),radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 55%)}.vp-loader{position:absolute;top:0;right:0;bottom:0;left:0;background:#0F1A2C;display:grid;place-items:center;z-index:5;transition:opacity .5s ease}.vp-loader.hidden{opacity:0;pointer-events:none}.vp-loader-inner{text-align:center;color:var(--paper)}.vp-loader-mark{font-family:Poppins,sans-serif;font-size:24px;letter-spacing:-.02em;margin-bottom:18px;opacity:.9}.vp-loader-dots{display:flex;gap:5px;justify-content:center}.vp-loader-dots span{width:6px;height:6px;border-radius:50%;background:var(--aqua);animation:dot 1.4s infinite ease-in-out}.vp-loader-dots span:nth-child(2){animation-delay:.15s}.vp-loader-dots span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.vp-loader-text{font-size:11.5px;color:#ffffff8c;margin-top:16px;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 1100px){.app{grid-template-columns:380px 1fr}:root{--sidebar-w: 380px}}@media (max-width: 900px){.app{grid-template-columns:340px 1fr}:root{--sidebar-w: 340px}.category-rail{grid-template-columns:repeat(4,1fr)}.product-grid{gap:8px}}@media (min-width: 1500px){.app{grid-template-columns:440px 1fr}:root{--sidebar-w: 440px}.product-grid{grid-template-columns:repeat(3,1fr);gap:8px}.context-bar{padding:14px 18px;gap:6px}.context-kicker{font-size:10px}.context-heading{font-size:19px;margin-top:2px}.context-sub{font-size:11px}.plan-stat-primary-label{font-size:9.5px}.plan-stat-primary-value{font-size:19px}.plan-stat-item svg{width:16px;height:16px}.plan-stat-item-value{font-size:12px}.plan-stat-item-label{font-size:9px}.plan-actions-row{margin-top:6px;min-height:26px}.plan-desc-toggle{font-size:11px}.room-picker{padding:5px 10px}.room-picker .picker-label{font-size:9px}.room-picker .picker-value{font-size:11px}}@media (min-width: 1900px){.app{grid-template-columns:500px 1fr}:root{--sidebar-w: 500px}}@media (max-width: 700px){:root{--sidebar-w: 100vw}.app{grid-template-columns:1fr;grid-template-rows:var(--mobile-viewport-h, 50vh) var(--mobile-sidebar-h, 50vh)}.app[data-mode=interior]{--mobile-viewport-h: 50vh;--mobile-sidebar-h: 50vh}.app[data-mode=exterior]{--mobile-viewport-h: 54vh;--mobile-sidebar-h: 46vh}.app[data-mode=floorplan]{--mobile-viewport-h: 58vh;--mobile-sidebar-h: 42vh}.app.sidebar-collapsed{grid-template-columns:1fr;grid-template-rows:100vh 0}.sidebar{order:2;border-right:none;border-top:1px solid var(--gray-100)}.app.sidebar-collapsed .sidebar{transform:translateY(100%)}.viewport{order:1}.brand{padding:7px 14px}.brand-logo-img{height:24px;width:auto;max-width:50%}.plan-stats,.plan-desc-toggle,.plan-desc{display:none}.nav-module.mobile-expanded .plan-stats{display:grid}.nav-module.mobile-expanded .plan-desc-toggle{display:flex}.nav-module.mobile-expanded .plan-desc{display:block}.mobile-plan-toggle{display:none!important}.context-top-row{position:relative}.mobile-top-right{display:flex!important;flex-direction:row;gap:6px;align-items:center;flex-shrink:0;position:absolute;top:0;right:0;z-index:2}.context-title{padding-right:210px}.brand-actions-mobile{display:inline-flex!important;gap:2px}.brand-actions-mobile .mob-icon{color:#ffffffe6!important;width:34px;height:34px;background:rgba(255,255,255,.06)}.brand-actions-mobile .mob-icon svg{width:16px;height:16px}.brand-actions-mobile .mob-icon:hover{background:rgba(255,255,255,.18);color:#fff!important}.brand-actions-mobile .mob-icon.has-badge:after{border-color:var(--navy)}.brand-actions-mobile .fav-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:100px;background:var(--gray-200);color:var(--navy);font-size:9.5px;font-weight:700;display:grid;place-items:center;border:1.5px solid var(--navy);transition:background .15s ease,color .15s ease;font-variant-numeric:tabular-nums}.mob-favorites.has-favs .fav-count{background:var(--accent);color:var(--navy)}.mob-favorites:not(.has-favs) .fav-count{display:none}.plan-actions-row>.room-picker{display:none!important}.mobile-room-picker{display:inline-flex!important}.plan-stats{display:none!important}.mobile-stats-price-row{display:grid!important;grid-template-columns:1fr .8fr .9fr .7fr minmax(150px,auto);align-items:center;gap:8px;margin-top:6px;width:100%}.mobile-stats-price-row .mob-stat{display:flex;align-items:center;gap:6px;padding:0 4px;min-width:0}.mobile-stats-price-row .mob-stat+.mob-stat{border-left:1px solid rgba(255,255,255,.1)}.mobile-stats-price-row .mob-stat svg{width:18px;height:18px;opacity:.85;flex-shrink:0}.mobile-stats-price-row .mob-stat .plan-stat-item-value{font-size:14px;white-space:nowrap}.mobile-stats-price-row .mob-stat .plan-stat-item-label{font-size:10px;margin-top:1px;white-space:nowrap}.mobile-stats-price-row .mobile-base-price{justify-self:end;text-align:right;padding-left:10px;border-left:1px solid rgba(255,255,255,.15)}.mobile-base-price{display:block;position:static;text-align:right;flex-shrink:0;pointer-events:none}.mobile-base-price .mbp-label{font-size:10px;margin-bottom:4px;color:#ffffffb3}.mobile-base-price .mbp-value{font-size:26px;line-height:1}.context-bar{gap:2px;padding:10px 14px}.plan-actions-row{margin-top:2px;gap:6px;min-height:0}.plan-desc-toggle{font-size:13px;padding:2px 0}.plan-desc-toggle svg{width:13px;height:13px}.context-heading,.context-sub{margin-top:2px}.mobile-stats-price-row{margin-top:6px!important}.sidebar{min-height:0}.total-bar{flex-shrink:0!important}.product-scroll{flex:1 1 0;min-height:0}.plan-desc{display:none}.nav-module.plan-desc-open .plan-desc{display:block;margin-top:8px}.plan-desc-toggle{display:inline-flex!important}.context-heading{font-size:20px;line-height:1.2}.context-kicker{font-size:11px;letter-spacing:.12em}.context-sub{font-size:12.5px}.room-picker{padding:7px 12px}.room-picker .picker-label{font-size:10px}.room-picker .picker-value{font-size:12.5px}.mode-cat-module{padding:4px 12px 6px;gap:0}.mode-row{margin-bottom:4px}.elevation-selector{padding:4px 0 6px!important}.mode-tabs{margin-bottom:4px;padding:3px}.mode-tab{padding:10px 6px;font-size:13px;gap:6px}.mode-tab svg{width:16px;height:16px}.section-label,.elevation-selector-label{padding:2px 4px 6px!important;font-size:11.5px!important;letter-spacing:.14em!important}.category-rail{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;grid-template-rows:repeat(2,auto);gap:6px;padding:4px 12px 10px;margin:0;border-bottom:1px solid var(--gray-100);overflow:hidden}.cat-chip{width:100%;min-height:68px;padding:10px 6px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.cat-label{font-size:11px;font-weight:600}.cat-icon{width:22px;height:22px}.search-bar{padding:8px 12px 0}.level-filter{padding:6px 12px 8px}.level-btn{padding:4px 8px;font-size:11px}.subcat-bar{padding:8px 12px 0}.product-scroll{padding:6px 0 10px;flex:1 1 0;min-height:0;overflow:hidden;display:flex;align-items:center}.product-grid{display:flex;grid-template-columns:none;gap:8px;padding:4px 12px 10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent;width:100%}.product-grid::-webkit-scrollbar{height:5px;display:block}.product-grid::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.product-card{flex:0 0 auto;width:132px;scroll-snap-align:start}.product-thumb{aspect-ratio:1 / 1}.product-name{font-size:12px;line-height:1.25;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-level{font-size:8.5px;padding:2px 5px}.product-fav-btn{width:22px;height:22px}.product-fav-btn svg{width:12px;height:12px}.product-thumb{aspect-ratio:4 / 3}.product-meta{padding:7px 9px 9px}.product-name{font-size:11.5px;line-height:1.25;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-price-pill{font-size:9px;padding:2px 5px}.product-level{font-size:8.5px;padding:2px 5px;top:7px;left:7px;bottom:auto}.product-card.active .product-level{display:none}.sidebar{overflow:hidden}.total-bar{padding:10px 14px;gap:8px;flex-shrink:0;margin-top:auto;box-shadow:0 -1px 0 var(--gray-100),0 -4px 12px #0b25450a;background:var(--paper);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.total-amount{font-size:18px}.cart-btn,.export-btn{padding:10px 14px;font-size:13px;gap:6px}.cart-btn svg,.export-btn svg{width:15px;height:15px}.collapse-tab{top:0;left:50%!important;transform:translate(-50%,-100%)!important;width:72px;height:28px;border:1px solid var(--gray-200);border-bottom:none;border-radius:14px 14px 0 0;box-shadow:0 -4px 14px #0b25452e;background:linear-gradient(transparent 0 40%,var(--gray-300) 40% 60%,transparent 60% 100%) center / 32px 100% no-repeat,var(--paper)}.collapse-tab svg{display:none}.collapse-tab:hover{background:linear-gradient(transparent 0 40%,var(--paper) 40% 60%,transparent 60% 100%) center / 32px 100% no-repeat,var(--navy)}.app.sidebar-collapsed .collapse-tab{top:auto;bottom:0;left:50%!important;transform:translate(-50%,100%)!important;border:1px solid var(--gray-200);border-top:none;border-bottom:none;border-radius:0 0 14px 14px;box-shadow:0 4px 14px #0b25452e}.dropdown-panel{width:calc(100vw - 32px)!important;right:16px;left:16px}#profile-panel{width:calc(100vw - 32px)!important}.modal{width:96%;max-height:92vh}.help-sections{grid-template-columns:1fr}.ai-panel{width:calc(100vw - 24px);right:12px;bottom:86px;max-height:calc(100vh - 120px)}.ai-panel .ai-capture-preview{aspect-ratio:auto;height:110px;margin-bottom:8px}.ai-panel .ai-capture-panel{padding:10px 12px}.ai-panel .ai-capture-actions button{padding:7px 8px;font-size:11.5px}.ai-panel .ai-capture-prompt{min-height:44px;font-size:12.5px}.tod-slider{display:none;min-width:0;width:auto;max-width:none;left:14px;right:88px;transform:none;padding:8px 12px;gap:8px}.tod-slider.mobile-expanded{display:flex}.tod-slider .tod-track-wrap{flex:1}#tod-time{min-width:54px;text-align:right;flex-shrink:0}.tod-mini-btn{display:grid!important;position:absolute;bottom:22px;left:18px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--accent);place-items:center;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.4);z-index:15;cursor:pointer;transition:transform .15s ease,opacity .2s ease}.tod-mini-btn.is-hidden{opacity:0!important;pointer-events:none;transform:scale(.8)}.tod-slider .tod-close{display:grid}.tod-mini-btn svg{width:22px;height:22px}.tod-mini-btn:hover{transform:scale(1.05)}.tod-slider .tod-close{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:transparent;color:var(--gray-500);flex-shrink:0}.tod-slider .tod-close:hover{background:var(--gray-100);color:var(--navy)}.tod-slider .tod-close svg{width:12px;height:12px}}.ai-messages::-webkit-scrollbar{width:6px}.ai-messages::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}.gallery-count{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--accent);color:var(--navy);font-size:9px;font-weight:700;line-height:14px;text-align:center;pointer-events:none}.vp-tool{position:relative}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:4px 0}.gallery-empty{text-align:center;padding:40px 20px;color:var(--gray-500)}.gallery-empty-mark{font-size:40px;margin-bottom:8px}.gallery-empty h4{font-family:Poppins,sans-serif;color:var(--navy);margin-bottom:4px;font-weight:500}.gallery-item{position:relative;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:var(--gray-100);cursor:pointer;border:1px solid var(--gray-200);transition:transform .15s ease,box-shadow .15s ease}.gallery-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.gallery-item-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.gallery-item-label{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;font-size:10px;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.68),transparent);display:flex;align-items:center;justify-content:space-between;gap:6px}.gallery-item-label .type-badge{background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.gallery-item-label .type-badge.ai-image{background:rgba(244,165,51,.9)}.gallery-item-label .type-badge.ai-video{background:rgba(0,169,183,.9)}.gallery-item-del{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .15s ease}.gallery-item:hover .gallery-item-del{opacity:1}.gallery-item-del svg{width:10px;height:10px}.lightbox-modal{display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;padding-top:48px}.lightbox-stage-wrap{display:flex;align-items:center;gap:12px;max-width:100%}.lightbox-stage{max-width:100%;max-height:88vh;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lg)}.lightbox-stage img,.lightbox-stage video{display:block;max-width:96vw;max-height:88vh}.lightbox-meta{color:#fff;font-size:12px;text-align:center}.lightbox-close{position:absolute;top:6px;right:6px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:10;transition:background .15s ease}.lightbox-close:hover{background:rgba(0,0,0,.9)}.lightbox-close svg{width:16px;height:16px}.lightbox-nav{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,transform .15s ease}.lightbox-nav:hover{background:rgba(0,0,0,.85);transform:scale(1.06)}.lightbox-nav:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.lightbox-nav svg{width:20px;height:20px}.lightbox-thumbs{display:flex;gap:6px;padding:6px 2px;max-width:min(84vw,720px);overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.lightbox-thumbs::-webkit-scrollbar{height:6px}.lightbox-thumbs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:3px}.lightbox-thumb{flex:0 0 auto;width:64px;height:48px;border-radius:6px;overflow:hidden;border:2px solid transparent;opacity:.55;cursor:pointer;transition:opacity .15s ease,border-color .15s ease,transform .15s ease;background:#000}.lightbox-thumb:hover{opacity:.9}.lightbox-thumb.active{opacity:1;border-color:var(--aqua)}.lightbox-thumb img,.lightbox-thumb video{width:100%;height:100%;object-fit:cover;display:block}.ai-gen-toast{position:fixed;bottom:20px;right:20px;background:var(--navy);color:#fff;padding:12px 16px;border-radius:10px;display:none;align-items:center;gap:10px;box-shadow:var(--shadow-lg);z-index:500;font-size:13px}.ai-gen-toast.shown{display:flex}.ai-gen-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:var(--aqua);animation:aiSpin .9s linear infinite}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-gen-thumb{position:fixed;bottom:20px;right:20px;background:var(--paper);border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);border-radius:12px;padding:8px;display:none;align-items:center;gap:12px;cursor:pointer;z-index:500;max-width:300px}.ai-gen-thumb.shown{display:flex;animation:popIn .25s ease-out}@keyframes popIn{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-gen-thumb-img{width:56px;height:56px;border-radius:8px;background:var(--gray-100) center/cover;flex-shrink:0}.ai-gen-thumb-text{display:flex;flex-direction:column;font-size:12px;color:var(--gray-500)}.ai-gen-thumb-text strong{color:var(--navy);font-size:13px;margin-bottom:2px}.ai-mode-toggle{display:flex;gap:4px;padding:4px;background:var(--gray-100);border-radius:8px;margin:10px 14px}.ai-mode-toggle button{flex:1;padding:6px 8px;font-size:11px;font-weight:600;border-radius:6px;color:var(--gray-500);display:flex;align-items:center;justify-content:center;gap:4px}.ai-mode-toggle button.active{background:var(--paper);color:var(--navy);box-shadow:var(--shadow-sm)}.ai-mode-toggle svg{width:11px;height:11px}.ai-capture-panel{display:none;padding:12px 14px;border-top:1px solid var(--gray-100);flex:1;min-height:0;overflow-y:auto}.ai-capture-panel.shown{display:block}#ai-chat-surface{display:flex;flex:1;min-height:0;flex-direction:column}.ai-panel{max-height:min(640px,calc(100vh - 120px))}.ai-capture-preview{aspect-ratio:4 / 3;width:100%;border-radius:8px;background:var(--gray-100) center/cover;margin-bottom:10px;border:1px solid var(--gray-200);display:grid;place-items:center;color:var(--gray-400);font-size:12px}.ai-capture-actions{display:flex;gap:8px;margin-bottom:8px}.ai-capture-actions button{flex:1;padding:8px 10px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--gray-200);background:var(--paper);color:var(--navy)}.ai-capture-actions button.primary{background:var(--aqua);color:#fff;border-color:var(--aqua)}.ai-capture-actions button.primary:disabled{opacity:.5;cursor:not-allowed}.ai-capture-prompt{width:100%;padding:10px;font-size:13px;border:1px solid var(--gray-200);border-radius:6px;resize:vertical;min-height:56px;font-family:inherit}@property --ai-btn-hue{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.ai-capture-actions button.ai-gradient-btn{--ai-btn-hue: 0deg;position:relative;padding:10px 18px;color:var(--paper);font-weight:600;font-size:13px;cursor:pointer;border:2px solid transparent;border-radius:10px;background:linear-gradient(var(--navy),var(--navy)) padding-box,linear-gradient(var(--navy),var(--navy)) border-box;transition:background .15s ease}.ai-capture-actions button.ai-gradient-btn:hover{color:var(--paper);background:linear-gradient(var(--navy-2),var(--navy-2)) padding-box,conic-gradient(from var(--ai-btn-hue),var(--aqua),var(--accent),var(--aqua)) border-box;animation:aiBtnSpin 4s linear infinite}@keyframes aiBtnSpin{to{--ai-btn-hue: 360deg}}.ai-capture-actions button.ai-gradient-btn:disabled{color:var(--gray-500);cursor:not-allowed;background:linear-gradient(var(--gray-200),var(--gray-200)) padding-box,linear-gradient(var(--gray-200),var(--gray-200)) border-box;animation:none}.tod-inline-btn{width:24px;height:24px;border-radius:6px;background:transparent;color:var(--navy);display:grid;place-items:center;transition:background .15s ease;margin-left:2px;flex-shrink:0}.tod-inline-btn:hover{background:var(--gray-100)}.tod-inline-btn.active{background:var(--navy);color:#fff}.tod-inline-btn svg{width:13px;height:13px}.tod-live-btn{width:auto;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.05em;border-radius:12px;gap:4px;display:inline-flex;align-items:center;height:22px;color:var(--accent);background:transparent;border:1px solid var(--gray-200)}.tod-live-btn .live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.tod-live-btn.active{background:var(--accent);color:var(--navy);border-color:var(--accent)}.tod-live-btn.active .live-dot{background:#fff;animation:pulseDot 1.4s infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.tod-popover{position:absolute;display:none;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);background:var(--paper);border:1px solid var(--gray-200);border-radius:12px;padding:14px;box-shadow:var(--shadow-lg);z-index:250;width:220px}.tod-popover.shown{display:block;animation:popIn .18s ease}.tod-pop-section{margin-bottom:12px}.tod-pop-section:last-child{margin-bottom:0}.tod-pop-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-bottom:6px}.tod-month{display:flex;align-items:center;justify-content:space-between;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;padding:4px 6px;font-size:13px;font-weight:600;color:var(--navy)}.tod-month-arrow{width:22px;height:22px;border-radius:4px;display:grid;place-items:center;color:var(--gray-500)}.tod-month-arrow:hover{background:var(--gray-100);color:var(--navy)}.tod-month-arrow svg{width:10px;height:10px}.tod-popover .compass-dial{margin:0 auto}.compass-dial{position:relative;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0%,var(--nav-tint) 100%);border:2px solid var(--gray-200);-webkit-user-select:none;user-select:none;cursor:grab}.compass-dial:active{cursor:grabbing}.compass-label{position:absolute;font-size:10px;font-weight:700;color:var(--navy);transform:translate(-50%,-50%)}.compass-label.n{top:8px;left:50%}.compass-label.s{bottom:8px;left:50%;top:auto;transform:translate(-50%,50%)}.compass-label.e{top:50%;right:8px;left:auto;transform:translate(50%,-50%)}.compass-label.w{top:50%;left:8px}.compass-arrow{position:absolute;top:50%;left:50%;width:4px;height:54px;background:linear-gradient(to top,transparent 50%,var(--accent) 50%);transform-origin:50% 50%;transform:translate(-50%,-50%) rotate(0);transition:transform .1s ease}.compass-arrow:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%,-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid var(--accent)}.compass-center{position:absolute;top:50%;left:50%;width:10px;height:10px;border-radius:50%;background:var(--navy);transform:translate(-50%,-50%)}.compass-readout{font-size:11px;color:var(--gray-500);text-align:center;margin-top:8px}.ui-collapse-toggle{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:44px;height:22px;border-radius:11px 11px 0 0;background:var(--paper);border:1px solid var(--gray-200);border-bottom:none;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:25}.ui-collapse-toggle svg{width:14px;height:14px;transition:transform .2s ease;transform:rotate(180deg)}.app.ui-hidden .ui-collapse-toggle svg{transform:rotate(0)}.floor-pills{display:none;padding:8px 16px;background:var(--off-white);border-bottom:1px solid var(--gray-100)}.floor-pills.shown{display:block}.floor-pills-track{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--gray-100);border-radius:100px;padding:3px}.floor-pills-indicator{position:absolute;top:3px;bottom:3px;width:calc(50% - 3px);background:var(--paper);border-radius:100px;box-shadow:var(--shadow-sm);transform:translate(var(--ind-x, 0));transition:transform .22s cubic-bezier(.2,.8,.2,1);z-index:0}.floor-pill{position:relative;z-index:1;padding:7px 14px;background:transparent;color:var(--gray-500);font-size:12px;font-weight:600;border-radius:100px;transition:color .18s ease}.floor-pill.active{color:var(--navy)}.structural-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:2px 0;width:100%;box-sizing:border-box}.struct-group{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden;background:var(--paper)}.struct-group-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:var(--gray-50);color:var(--navy);font-size:12.5px;font-weight:700;letter-spacing:.02em;text-align:left;cursor:pointer;transition:background .15s ease}.struct-group-head:hover{background:var(--gray-100)}.struct-group-chev{width:14px;height:14px;flex-shrink:0;color:var(--gray-500);transition:transform .2s ease}.struct-group.open .struct-group-chev{transform:rotate(90deg);color:var(--navy)}.struct-group-name{flex:1;min-width:0}.struct-group-meta{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600}.struct-group-badge{background:var(--aqua);color:#fff;min-width:18px;padding:1px 6px;border-radius:9px;font-size:10.5px;letter-spacing:0;text-align:center}.struct-group-count{color:var(--gray-400);font-variant-numeric:tabular-nums}.struct-group-body{display:flex;flex-direction:column;gap:8px;padding:8px 8px 10px}.struct-mobile-groups{display:none}.struct-pill-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none;border-bottom:1px solid var(--gray-100)}.struct-pill-strip::-webkit-scrollbar{display:none}.struct-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:100px;background:var(--gray-50);color:var(--navy);font-size:12.5px;font-weight:600;transition:background .15s ease,color .15s ease;cursor:pointer}.struct-pill:hover{background:var(--gray-100)}.struct-pill.active{background:var(--navy);color:var(--paper)}.struct-pill-badge{min-width:18px;padding:1px 6px;background:var(--aqua);color:#fff;border-radius:9px;font-size:10.5px;font-weight:700;text-align:center;line-height:1.35}.struct-pill.active .struct-pill-badge{background:var(--accent);color:var(--navy)}.struct-pill-body{display:flex;flex-direction:row;gap:10px;padding:10px 0 6px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.struct-pill-body::-webkit-scrollbar{height:6px}.struct-pill-body::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.struct-pill-body .struct-card{flex:0 0 auto;width:168px;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;padding:12px;min-height:128px}.struct-pill-body .struct-card .struct-info{width:100%}.struct-pill-body .struct-card .struct-name{font-size:12.5px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.struct-pill-body .struct-card .struct-price{font-size:11px;margin-top:2px}.struct-pill-body .struct-card .struct-conflict{font-size:9.5px;line-height:1.3;white-space:normal}.struct-pill-body .struct-card .struct-toggle{align-self:flex-end}.struct-pill-total{flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center;padding:0 12px;font-size:11px;color:var(--gray-500);letter-spacing:.02em;background:var(--gray-50);border-radius:10px;white-space:nowrap}.struct-pill-total strong{color:var(--navy);font-weight:700;font-variant-numeric:tabular-nums;margin-left:4px}.struct-group-body .struct-card{border-color:var(--gray-100);padding:12px}.struct-group-total{color:var(--navy);background:var(--aqua-soft);font-size:11px;font-weight:700;letter-spacing:0;padding:2px 8px;border-radius:100px;font-variant-numeric:tabular-nums}#product-grid:has(>.structural-grid),.product-grid:has(>.structural-grid){display:block!important;grid-template-columns:none!important;padding:8px 8px 12px;width:100%}.app[data-mode=floorplan] .product-grid{display:block!important;grid-template-columns:none!important;padding:8px 8px 12px}.struct-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--paper);border:1px solid var(--gray-200);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%;cursor:pointer}.struct-card.enabled{border-color:var(--aqua);background:var(--aqua-soft)}.struct-card.disabled{opacity:.55;cursor:not-allowed}.struct-card .struct-info{flex:1;min-width:0}.struct-card .struct-name{font-weight:600;color:var(--navy);font-size:14px;margin-bottom:3px}.struct-card .struct-price{font-size:12px;color:var(--gray-500)}.struct-card .struct-conflict{font-size:10px;color:var(--accent-hot);margin-top:4px}.struct-toggle{width:26px;height:26px;border-radius:50%;position:relative;flex-shrink:0;background:var(--gray-100);border:2px solid var(--gray-200);transition:background .15s ease,border-color .15s ease,color .15s ease;display:grid;place-items:center;color:var(--gray-300)}.struct-toggle svg{width:14px;height:14px;color:inherit;transition:color .15s ease}.struct-toggle.on{background:var(--aqua);border-color:var(--aqua);color:#fff}.floorplan-2d-viewer{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;display:none;overflow:hidden;cursor:grab}.floorplan-2d-viewer.shown{display:block}.floorplan-2d-viewer:active{cursor:grabbing}.floorplan-2d-img{position:absolute;top:50%;left:50%;transform-origin:center center;transition:transform .02s linear;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none}.floorplan-2d-controls{position:absolute;top:50%;right:16px;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:4px;background:var(--paper);border:1px solid var(--gray-200);border-radius:8px;padding:4px;box-shadow:var(--shadow-md)}.floorplan-2d-controls button{width:32px;height:32px;border-radius:4px;color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:16px}.floorplan-2d-controls button:hover{background:var(--gray-100)}.elev-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#c9d3e2 0%,#e7ecf3 50%,#d6deeb 100%);display:grid;place-items:center;color:var(--navy);font-family:Poppins,sans-serif;font-size:18px;text-align:center}.elevation-selector{display:none;padding:10px 0 14px}.elevation-selector.shown{display:block}.elevation-selector-label{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-400);font-weight:700;padding:0 4px 6px}.elevation-thumbs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.elev-thumb{display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:8px;border:1px solid var(--gray-200);background:var(--paper);transition:border-color .15s ease,box-shadow .15s ease}.elev-thumb.active{border-color:var(--aqua);box-shadow:0 0 0 1px var(--aqua)}.elev-thumb-img{width:100%;aspect-ratio:16 / 9;border-radius:4px;overflow:hidden;background:var(--gray-50)}.elev-thumb-img svg{display:block;width:100%;height:100%}.elev-thumb-name{font-size:10px;font-weight:600;color:var(--navy);text-align:center;line-height:1.2;padding:2px 0}.mobile-top-right,.mobile-room-picker,#plan-stat-row-inline,.mobile-stats-price-row{display:none}.mobile-back-btn{display:none;align-items:center;gap:8px;padding:10px 14px;background:var(--gray-50);color:var(--navy);font-size:13px;font-weight:600;border-radius:0;width:100%;border-bottom:1px solid var(--gray-200)}.mobile-back-btn svg{width:16px;height:16px}.mobile-back-btn:hover{background:var(--gray-100)}.mobile-base-price{display:none;position:absolute;right:14px;bottom:10px;text-align:right;z-index:2;pointer-events:none}.mobile-base-price .mbp-label{display:block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff9;line-height:1;margin-bottom:3px}.mobile-base-price .mbp-value{font-family:Poppins,sans-serif;font-weight:500;font-size:16px;color:var(--paper);letter-spacing:-.01em;line-height:1}.brand-actions-mobile{display:none}@media (max-width: 700px){.app.hide-brand-on-mobile .brand{display:none}.nav-module{position:relative}.mobile-base-price{display:block;right:14px;bottom:10px}.nav-module.mobile-expanded .plan-stat-primary{display:none}.nav-module.mobile-expanded .mobile-base-price{right:16px;bottom:14px}.nav-module.mobile-expanded .mobile-base-price .mbp-label{font-size:10px;margin-bottom:5px;color:#ffffffb3}.nav-module.mobile-expanded .mobile-base-price .mbp-value{font-size:22px}.nav-module.mobile-expanded .plan-stat-row{width:62%;max-width:62%;gap:4px}.nav-module.mobile-expanded .plan-stat-item{gap:7px;padding:0 2px}.nav-module.mobile-expanded .plan-stat-item+.plan-stat-item{padding-left:8px}.nav-module.mobile-expanded .plan-stat-item svg{width:18px;height:18px;opacity:.8}.nav-module.mobile-expanded .plan-stat-item-value{font-size:14px}.nav-module.mobile-expanded .plan-stat-item-label{font-size:10px;margin-top:2px}.brand-actions-mobile{display:inline-flex;gap:4px;flex-shrink:0}.brand-actions-mobile .icon-btn{color:#ffffffd9;width:28px;height:28px}.brand-actions-mobile .icon-btn:hover{background:rgba(255,255,255,.12);color:#fff}.brand-actions-mobile .fav-count{color:#fff}.mobile-plan-toggle{margin-left:6px!important}.app.mobile-cat-selecting .subcat-bar,.app.mobile-cat-selecting .search-bar,.app.mobile-cat-selecting .level-filter,.app.mobile-cat-selecting #scope-selector,.app.mobile-cat-selecting .product-scroll,.app.mobile-cat-selecting .filter-notice{display:none!important}.app.mobile-cat-selecting .cat-chip.active{background:transparent;color:var(--gray-500);border-color:transparent;box-shadow:none}.app.mobile-cat-selecting .cat-chip.active .cat-icon{color:var(--gray-500)}.app.mobile-in-category .mobile-back-btn{display:flex}.app[data-mode=floorplan].mobile-in-category .mobile-back-btn,.app[data-mode=floorplan].mobile-in-category .mobile-nav-row{display:none!important}.app.mobile-in-category .category-rail,.app.mobile-in-category #categories-label,.app.mobile-in-category .elevation-selector{display:none}.app.mobile-in-category .mode-cat-module{padding:8px 12px 0}.app.mobile-in-category .mode-tabs{margin-bottom:0}.app.mobile-in-category .mobile-nav-row{display:flex;align-items:center;gap:14px;padding:8px 12px 4px;min-width:0}.app.mobile-in-category .mobile-back-btn{display:inline-flex;width:auto;padding:6px 10px;gap:4px;border-bottom:none;border-radius:8px;background:var(--gray-100);color:var(--navy);flex-shrink:0;font-size:12px}.app.mobile-in-category .mobile-back-btn .back-label{display:inline}.app.mobile-in-category .mobile-back-btn svg{width:14px;height:14px}.app.mobile-in-category .subcat-bar{flex:1;min-width:0;padding:0;margin:0;overflow-x:auto;scrollbar-width:none;display:flex!important;gap:6px;align-items:center}.app.mobile-in-category .subcat-bar::-webkit-scrollbar{display:none}.app.mobile-in-category .subcat-bar .subcat-label{font-size:12px;font-weight:700;color:var(--navy);flex-shrink:0;padding-right:4px}.app.mobile-in-category .mobile-filter-row{display:flex;align-items:center;gap:8px;padding:6px 12px;min-width:0}.app.mobile-in-category .search-bar{padding:0;flex:0 1 200px;min-width:0}.app.mobile-in-category .search-input-wrap{height:32px}.app.mobile-in-category .search-input{font-size:13px;padding:4px 28px;height:32px}.app.mobile-in-category .level-filter{padding:0;flex:1;min-width:0;overflow:hidden}.app.mobile-in-category .filter-chip{font-size:12.5px;padding:6px 10px;gap:4px}.app.mobile-in-category .filter-chip .chip-count{font-size:11px;padding:1px 7px}.app.mobile-in-category .sort-btn{font-size:12.5px;padding:6px 8px}.app.mobile-in-category .sort-btn svg{width:14px;height:14px}.app.mobile-in-category .product-scroll{align-items:stretch;padding:8px 0}.app.mobile-in-category .product-grid{align-items:stretch;height:100%;padding:0 12px 0 14px}.app.mobile-in-category .product-card{display:flex;flex-direction:column;height:100%}.app.mobile-in-category .product-thumb{flex:1 1 auto;aspect-ratio:auto;min-height:0}.app.mobile-in-category .product-meta{flex:0 0 auto}.collapse-tab{display:none!important}.ui-collapse-toggle{display:flex;position:absolute;top:var(--mobile-viewport-h, 50vh);left:50%;transform:translate(-50%,-50%);width:80px;height:26px;border-radius:13px;background:var(--paper);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);z-index:50}}.app{position:relative}.ui-collapse-toggle{display:none}@media (max-width: 700px){.ui-collapse-toggle{display:flex}}.app.ui-hidden .sidebar{transform:translateY(100%);opacity:0;pointer-events:none}@media (max-width: 700px){.app.ui-hidden{grid-template-rows:100vh 0!important}}.app.ui-hidden .ui-collapse-toggle{position:fixed;top:auto;bottom:0;left:50%;transform:translate(-50%);z-index:100;border-radius:11px 11px 0 0;background:var(--paper);border:1px solid var(--gray-200);border-bottom:none;box-shadow:0 -4px 14px #0b25452e;pointer-events:auto}.review-tray{position:absolute;top:0;left:0;bottom:0;width:320px;max-width:86vw;background:var(--paper);border-right:1px solid var(--gray-100);box-shadow:4px 0 20px #0b25451f;transform:translate(-100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;z-index:40}.review-tray.open{transform:translate(0)}.review-head{padding:14px 16px 12px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.review-head h3{font-family:Poppins,sans-serif;font-weight:500;font-size:18px;color:var(--navy)}.review-close{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:var(--gray-500);transition:background .15s ease,color .15s ease}.review-close:hover{background:var(--gray-100);color:var(--navy)}.review-close svg{width:14px;height:14px}.review-actions{padding:12px 16px;border-bottom:1px solid var(--gray-100)}.review-capture-btn{width:100%;padding:12px 14px;background:var(--navy);color:var(--paper);border-radius:10px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease}.review-capture-btn:hover{background:var(--navy-2)}.review-capture-btn svg{width:14px;height:14px}.review-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px}.review-empty{padding:28px 16px;text-align:center;font-size:12.5px;color:var(--gray-500);line-height:1.55}.review-item{display:flex;align-items:center;gap:10px;padding:8px;margin-bottom:6px;border-radius:10px;border:1px solid var(--gray-100);background:var(--paper);cursor:pointer;transition:background .15s ease,border-color .15s ease}.review-item:hover{background:var(--gray-50)}.review-item.active{border-color:var(--aqua);background:var(--aqua-soft)}.review-thumb{position:relative;flex-shrink:0;width:64px;height:48px;border-radius:6px;overflow:hidden;background:var(--gray-100)}.review-thumb img{width:100%;height:100%;object-fit:cover;display:block}.review-index{position:absolute;top:2px;left:2px;background:rgba(11,37,69,.82);color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:100px;display:grid;place-items:center;padding:0 4px}.review-item-meta{flex:1;min-width:0}.review-item-title{font-size:12.5px;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-item-sub{font-size:11px;color:var(--gray-500);margin-top:2px}.review-item-del{width:24px;height:24px;border-radius:6px;flex-shrink:0;display:grid;place-items:center;color:var(--gray-400);transition:background .15s ease,color .15s ease}.review-item-del:hover{background:var(--gray-100);color:var(--accent)}.review-item-del svg{width:12px;height:12px}.review-foot{padding:12px 16px;border-top:1px solid var(--gray-100);background:var(--off-white)}.review-submit{width:100%;padding:11px 14px;font-size:13px;font-weight:600}.review-submit:disabled{background:var(--gray-200);color:var(--gray-400);cursor:not-allowed}.review-editor{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(11,37,69,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;display:flex;flex-direction:column}.review-editor-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--paper);border-bottom:1px solid var(--gray-100);flex-shrink:0}.review-editor-bar .btn-sec{display:inline-flex;align-items:center;gap:6px}.review-editor-bar .btn-sec svg{width:14px;height:14px}.review-editor-title{margin-left:auto;font-size:12px;color:var(--gray-500)}.review-tools{display:inline-flex;gap:4px;padding:3px;background:var(--gray-100);border-radius:8px}.review-tool{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--gray-500);border-radius:6px;transition:background .15s ease,color .15s ease}.review-tool:hover{color:var(--navy)}.review-tool.active{background:var(--paper);color:var(--navy);box-shadow:var(--shadow-sm)}.review-tool svg{width:14px;height:14px}.review-tool.review-undo{padding:6px 8px}.review-canvas{flex:1;min-height:0;position:relative;display:grid;place-items:center;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.review-canvas.tool-pin,.review-canvas.tool-pencil{cursor:crosshair}.review-img{display:block;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}.review-drawings{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.review-marker{position:absolute;transform:translate(-50%,-100%);z-index:2}.review-marker-dot{position:relative;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--navy);font-size:12px;font-weight:700;display:grid;place-items:center;box-shadow:0 2px 8px #0b254559;cursor:pointer;border:2px solid #fff}.review-marker-dot:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--navy);color:#fff;font-size:11.5px;font-weight:500;padding:6px 10px;border-radius:6px;white-space:pre-wrap;width:max-content;max-width:240px;text-align:center;line-height:1.4;pointer-events:none;opacity:0;transition:opacity .12s ease;z-index:5;box-shadow:var(--shadow-md)}.review-marker-dot:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--navy);opacity:0;transition:opacity .12s ease;pointer-events:none;z-index:5}.review-marker:hover .review-marker-dot:after,.review-marker:hover .review-marker-dot:before{opacity:1}.review-marker:hover .review-marker-dot:not(.has-note):after{font-style:italic;color:#ffffffe6}.review-marker-note{position:absolute;top:-10px;left:32px;display:none;background:var(--paper);border-radius:10px;box-shadow:var(--shadow-lg);padding:10px;width:240px;border:1px solid var(--gray-100)}.review-marker-note.open{display:block}.review-marker-note textarea{width:100%;min-height:64px;border:1px solid var(--gray-200);border-radius:6px;padding:8px;font-size:12.5px;font-family:inherit;resize:vertical}.review-marker-note-actions{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}.review-marker-note-actions .btn-sec{padding:4px 10px;font-size:11.5px}.review-marker-note-actions .btn-sec.danger{color:#b4453a;border-color:#e8bdb7}@media (max-width: 700px){.review-tray{width:280px}.review-marker-note{width:220px;left:28px}}.measure-tray{position:absolute;top:74px;right:18px;bottom:auto;width:320px;max-width:calc(100vw - 36px);max-height:calc(100vh - 180px);background:var(--paper);border:1px solid var(--gray-100);border-radius:14px;box-shadow:var(--shadow-lg);transform:translate(calc(100% + 32px));opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease;display:flex;flex-direction:column;overflow:hidden;z-index:40}.measure-tray.open{transform:translate(0);opacity:1;pointer-events:auto}.measure-head{padding:14px 16px 12px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between}.measure-head h3{font-family:Poppins,sans-serif;font-weight:500;font-size:18px;color:var(--navy)}.measure-close{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:var(--gray-500);transition:background .15s ease,color .15s ease}.measure-close:hover{background:var(--gray-100);color:var(--navy)}.measure-close svg{width:14px;height:14px}.measure-tools{padding:12px 16px;border-bottom:1px solid var(--gray-100)}.measure-tool-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);margin-bottom:8px}.measure-tool-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;background:var(--gray-50);border-radius:10px}.measure-tool-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;font-size:10.5px;font-weight:600;color:var(--gray-500);background:transparent;border-radius:7px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.measure-tool-pill svg{width:16px;height:16px}.measure-tool-pill:hover{color:var(--navy)}.measure-tool-pill.active{background:var(--paper);color:var(--navy);box-shadow:var(--shadow-sm)}.measure-tool-pill.is-future:disabled{opacity:.45;cursor:not-allowed}.measure-tool-pill.is-future:disabled:hover{color:var(--gray-500)}.measure-add-btn{width:100%;margin-top:10px;padding:10px 14px;background:var(--navy);color:var(--paper);border-radius:10px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s ease}.measure-add-btn:hover{background:var(--navy-2)}.measure-add-btn svg{width:14px;height:14px}.measure-tool-hint{margin-top:8px;font-size:11px;line-height:1.4;color:var(--gray-500)}.measure-tool-status{margin-top:8px;font-size:11px;line-height:1.4}.measure-tool-status-off{color:var(--gray-400)}.measure-tool-status-on{color:#10b981;font-weight:600}.measure-tool-status-measuring{color:#f4a533;font-weight:600}.measure-list-head{padding:10px 16px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--gray-100)}.measure-count{background:var(--gray-100);color:var(--navy);min-width:18px;padding:1px 6px;border-radius:9px;font-size:10px;letter-spacing:0}.measure-list{flex:1 1 auto;overflow-y:auto;padding:6px 0}.measure-empty{padding:28px 20px;text-align:center;color:var(--gray-500)}.measure-empty-mark{font-size:32px;margin-bottom:8px}.measure-empty-title{font-family:Poppins,sans-serif;color:var(--navy);font-size:14px;font-weight:500;margin-bottom:4px}.measure-empty-sub{font-size:12px;line-height:1.4}.measure-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--gray-100);transition:background .15s ease}.measure-item:hover{background:var(--gray-50)}.measure-item.hidden{opacity:.5}.measure-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:0 0 0 1px #0b254526}.measure-item.hidden .measure-swatch{background:var(--gray-300)!important}.measure-item-main{flex:1;min-width:0;display:flex;flex-direction:column}.measure-item-name{font-size:12.5px;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.measure-item-value{font-size:11px;color:var(--gray-500);font-variant-numeric:tabular-nums}.measure-icon-btn{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:var(--gray-500);background:transparent;transition:background .15s ease,color .15s ease;flex-shrink:0}.measure-icon-btn:hover{background:var(--gray-100);color:var(--navy)}.measure-icon-btn.off{color:var(--gray-300)}.measure-icon-btn.danger:hover{background:rgba(180,69,58,.1);color:#b4453a}.measure-icon-btn svg{width:15px;height:15px}@media (max-width: 700px){.measure-tray{width:280px}.structural-grid{display:none!important}.struct-mobile-groups{display:block!important}}
