:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#17212b;--ink-soft:#46515d;--muted:#697684;--line:#d7dde3;--line-strong:#c7d0d9;--border:#d7dde3;--page:#eef1f4;--surface:#fff;--surface-soft:#f8fafc;--surface-elevated:#fff;--surface-hover:#f1f5f9;--input-bg:#fff;--input-border:#d7dde3;--app-bg:radial-gradient(120% 80% at 100% 0%, #2a9d8f12 0%, #2a9d8f00 45%), radial-gradient(100% 70% at 0% 100%, #217c720f 0%, #217c7200 40%), #eef1f4;--chrome:#ffffffd1;--chrome-solid:#fff;--focus-ring:#2a9d8f2e;--link:#2d6cdf;--link-soft:#eaf1fe;--success:#1c7a4d;--success-soft:#e7f5f2;--warning:#b3791e;--warning-soft:#fff8ee;--danger:#b3261e;--danger-soft:#fff1f0;--brand:#2a9d8f;--brand-deep:#217c72;--brand-ink:#17413c;--brand-soft:#e7f5f2;--accent:#f2a33b;--ai:#7c3aed;--ai-deep:#5b21b6;--ai-soft:#f3e8ff;--ai-btn-from:#2d6cdf;--ai-btn-to:#6e49e8;--ai-btn-from-hover:#2961cf;--ai-btn-to-hover:#5e3ed8;--ai-btn-border:#5a47d6;--ai-btn-shadow:#5a47d62e;--brand-grad:linear-gradient(135deg, #2fb0a0 0%, #1f6f66 100%);--ink-grad:linear-gradient(135deg, #1f2c38 0%, #0f1820 100%);--shadow-sm:0 1px 2px #17212b0f, 0 2px 8px #17212b0d;--shadow-md:0 6px 18px #17212b14, 0 2px 6px #17212b0d;--shadow-lg:0 24px 60px #17212b2e;--shadow-brand:0 14px 30px #217c7252;--radius:12px;--radius-lg:18px;--ease:cubic-bezier(.22, 1, .36, 1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.brand-button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-height:34px;padding:0;display:inline-flex}.brand-logo{align-items:center;max-width:min(150px,42vw);height:26px;display:inline-flex}.brand-logo img{object-fit:contain;width:auto;max-width:100%;height:100%;display:block}@keyframes heroRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.google-login-area{justify-items:center;gap:8px;display:grid}.google-button-frame{width:100%;min-height:42px}.google-disabled{border:1px dashed var(--border);background:var(--surface-soft);width:100%;min-height:42px;color:var(--muted);border-radius:7px;font-weight:800}@keyframes demoRoomIn{0%,14%{opacity:.45;transform:scale(.72)rotate(-2deg)}30%,82%{opacity:1;transform:scale(1)rotate(0)}to{opacity:.75;transform:scale(.96)rotate(0)}}@keyframes logoRoomMorph{0%,to{background:#f8d7dae0;border-color:#f8d7da;width:.68em;height:1.05em;transform:translate(-50%,-50%)rotate(0)}25%{background:#dff3dfe6;border-color:#dff3df;width:.92em;height:.68em;transform:translate(-50%,-50%)rotate(0)}50%{background:#d8ecfbe6;border-color:#d8ecfb;width:.58em;height:.9em;transform:translate(-50%,-50%)rotate(0)}75%{background:#fff1bdeb;border-color:#fff1bd;width:.82em;height:.76em;transform:translate(-50%,-50%)rotate(0)}}@keyframes logoRoomLabel{0%,19%{opacity:1;transform:translateY(0)scale(1)}24%,to{opacity:0;transform:translateY(5px)scale(.94)}}@keyframes demoMarkerDrop{0%,18%{opacity:0;transform:translateY(-18px)scale(.8)}34%,86%{opacity:1;transform:translateY(0)scale(1)}to{opacity:.78;transform:translateY(4px)scale(.96)}}.stack{gap:14px;display:grid}.stack.compact{gap:8px;margin-top:12px}label{color:var(--ink-soft);gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--border);width:100%;min-height:40px;color:var(--ink);background:var(--surface);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);border-radius:9px;padding:9px 12px}input::placeholder,textarea::placeholder{color:var(--muted)}input:hover,select:hover,textarea:hover{border-color:#aab5bf}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #2a9d8f2e}.primary,.secondary,.ghost,.upload-button{-webkit-tap-highlight-color:transparent;transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), filter .18s var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.chip,.ghost,.secondary,.primary,.tool,.row,.icon-button,.upload-button{border:1px solid #0000;border-radius:7px;min-height:38px}.primary{color:#fff;background:var(--ink-grad);border-color:var(--ink);box-shadow:var(--shadow-sm)}.primary:hover{box-shadow:var(--shadow-md);filter:brightness(1.08);transform:translateY(-1px)}.primary:active{filter:brightness(.96);transform:translateY(0)}.primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.secondary{color:var(--ink);background:var(--surface-soft);border-color:var(--border)}.secondary:hover{border-color:var(--brand);background:var(--surface);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.ghost{border-color:var(--border);color:var(--ink);background:0 0;padding:0 12px}.ghost:hover{border-color:var(--brand);background:#17212b0a}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.error-line{color:#a33b2b;background:#fff1f0;border:1px solid #f2c4bd;border-radius:7px;padding:10px;font-size:13px}.app-shell{background:var(--app-bg);min-height:100vh}.topbar{-webkit-backdrop-filter:blur(14px)saturate(140%);z-index:5;background:#ffffffd1;border-bottom:1px solid #d7dde3cc;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 clamp(14px,3vw,26px);display:flex;position:sticky;top:0}.topbar-actions{color:var(--ink-soft);align-items:center;gap:12px;font-size:14px;display:flex}.topbar-brand{align-items:center;display:inline-flex}.topbar-search{background:var(--surface);border:1px solid var(--border,#d7dde3);color:var(--muted);border-radius:999px;align-items:center;gap:8px;min-width:260px;padding:6px 14px;display:inline-flex}.topbar-search input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-size:14px}@media (width<=720px){.topbar-search{display:none}}.topbar-brand .brand-logo{max-width:150px;height:25px}.topbar-menu{position:relative}.topbar-avatar{cursor:pointer;border:1px solid var(--border,#d7dde3);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 4px;list-style:none;display:inline-flex}.topbar-avatar::-webkit-details-marker{display:none}.topbar-menu[open]>.topbar-avatar{border-color:#2f6fde}.avatar-initials{color:#fff;background:#2f6fde;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.avatar-photo{object-fit:cover;border-radius:50%;width:28px;height:28px}.topbar-menu-panel{min-width:190px;left:auto;right:0}.topbar-menu-name{color:var(--muted,#667085);border-bottom:1px solid var(--border,#e4e7ec);margin-bottom:4px;padding:2px 8px 8px;font-size:12px}@media (width<=720px){.topbar{z-index:1000;-webkit-backdrop-filter:none;background:var(--surface);flex-wrap:nowrap;gap:8px;padding:0 12px;flex-direction:row!important;align-items:center!important;height:56px!important}.topbar-brand{display:inline-flex!important}.topbar-brand .brand-logo{max-width:104px;height:20px}.topbar-burger{margin-right:0}.topbar-actions{gap:8px;flex-direction:row!important;overflow:visible!important}.topbar-menu-panel{z-index:9999;min-width:210px;position:fixed;top:56px;left:auto;right:8px;box-shadow:0 12px 40px #00000038}}.app-shell.has-space-nav{padding-left:232px}.app-shell.has-space-nav .topbar-brand,.app-shell.has-space-nav .topbar-explore{display:none}.space-nav{z-index:40;background:var(--surface);border-right:1px solid var(--border,#e6e8eb);flex-direction:column;gap:18px;width:232px;padding:16px 14px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.space-nav-brand{cursor:pointer;background:0 0;border:none;padding:6px 8px 10px;display:flex}.space-nav-brand .brand-logo{max-width:150px;height:24px}.space-nav-section{flex-direction:column;gap:2px;display:flex}.space-nav-account{margin-top:auto}.space-nav-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 10px;font-size:11px;font-weight:700}.space-nav-item{cursor:pointer;width:100%;font:inherit;color:var(--ink-soft);text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:600;display:flex}.space-nav-item:hover{background:var(--surface-soft);color:#2d6cdf}.space-nav-item.active{color:#2d6cdf;background:#eaf1fe}.space-nav-backdrop{display:none}.topbar-burger{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;justify-content:center;align-items:center;margin-right:4px;padding:6px;display:none}@media (width<=900px){.app-shell.has-space-nav{padding-left:0}.app-shell.has-space-nav .topbar{-webkit-backdrop-filter:none;background:var(--surface);z-index:1000;flex-direction:row;align-items:center;gap:10px;height:56px;padding:0 12px}.app-shell.has-space-nav .topbar-brand,.app-shell.has-space-nav .topbar-explore,.app-shell.has-space-nav .topbar-burger{display:inline-flex}.app-shell.has-space-nav .topbar-actions{flex-direction:row;flex:1;overflow:visible}.space-nav{z-index:70;transition:transform .22s;transform:translate(-100%);box-shadow:0 12px 40px #00000040}.space-nav.open{transform:translate(0)}.space-nav-backdrop{z-index:65;background:#11182773;display:block;position:fixed;inset:0}}.dashboard-shell,.project-shell{grid-template-columns:minmax(0,1fr);gap:14px;width:min(1680px,100%);margin:0 auto;padding:clamp(12px,2vw,24px);display:grid}.dashboard-grid{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:14px;display:grid}.dashboard-grid.single{grid-template-columns:1fr}.project-form{gap:9px;display:grid}.modal-form{gap:10px}.installation-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.installation-picker.inline{grid-template-columns:repeat(3,minmax(150px,1fr))}.installation-picker.compact{grid-template-columns:repeat(3,minmax(130px,1fr))}.check-card{min-height:48px;color:var(--ink);background:var(--surface-soft);cursor:pointer;border:1.5px solid #d7dde3;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:800;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.check-card input{width:16px;height:16px;min-height:16px;accent-color:var(--install-color,var(--brand-deep,#1f6f66));cursor:pointer}.check-card.install-electricity{--install-color:#e0992b;--install-soft:#fdf3e2}.check-card.install-plumbing{--install-color:#2f86c9;--install-soft:#e7f1fb}.check-card.install-hvac{--install-color:#2aa39a;--install-soft:#e3f4f1}.check-card .check-card-icon{background:var(--install-soft,#eef2f6);width:30px;height:30px;color:var(--install-color,#6c7884);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.check-card .check-card-label{flex:auto}.check-card:hover{border-color:var(--install-color,#b9c2cc)}.check-card.checked{border-color:var(--install-color,var(--brand-deep,#1f6f66));background:var(--install-soft,#eef6f4);box-shadow:0 1px 4px #0000000f}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--brand-soft);min-height:26px;color:var(--brand-ink);border:1px solid #a6d9d1;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.project-table{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);display:grid;overflow:hidden}.project-table-head,.project-row{grid-template-columns:minmax(170px,1.5fr) minmax(50px,.35fr) minmax(64px,.45fr) minmax(92px,.55fr) minmax(96px,.6fr) minmax(122px,.85fr) minmax(90px,.55fr) minmax(86px,.5fr) minmax(100px,.6fr) minmax(150px,.85fr);align-items:center;gap:10px;padding:12px;display:grid}.project-table-head{color:var(--muted);background:var(--surface-soft);text-transform:uppercase;font-size:12px;font-weight:900}.project-row{border:0;border-top:1px solid var(--border);width:100%;color:var(--ink);background:var(--surface);text-align:left;border-radius:0}.project-row:hover{background:var(--surface-soft)}.project-row .metric{min-width:0;padding:7px 8px}.project-row .metric strong{margin-top:2px;font-size:15px}.project-row .metric span{font-size:11px}.project-row strong,.project-row small{display:block}.project-row small{color:var(--muted);margin-top:3px}.project-name-button{color:var(--ink);text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.project-name-button:hover strong{color:#217c72}.open-cell{color:#217c72;justify-self:end;font-weight:900}.project-actions{justify-content:flex-end;gap:6px;min-width:166px;display:flex}.empty-table{color:var(--muted);text-align:center;padding:20px;font-weight:800}.overview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.overview-head h1{letter-spacing:-.02em;margin:0;font-size:clamp(24px,3.4vw,34px)}.overview-head p{color:var(--muted);margin:6px 0 0}.overview-head-titles{align-items:center;gap:14px;display:flex}.group-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.group-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease);flex-direction:column;display:flex;overflow:hidden}.group-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.group-card-cover{color:#fff;align-items:flex-end;min-height:118px;padding:16px;display:flex;position:relative}.group-card-cover:after{content:"";pointer-events:none;background-image:radial-gradient(#ffffff1f 1px,#0000 1px);background-size:16px 16px;position:absolute;inset:0}.group-card-cover h2{letter-spacing:-.01em;text-shadow:0 1px 8px #00000047;margin:0;font-size:22px;position:relative}.group-card-delete{z-index:1;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:32px;height:32px;transition:background .16s var(--ease);background:#ffffff38;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.group-card-delete:hover{background:#d94b3deb}.group-card-body{gap:14px;padding:16px;display:grid}.group-kpis{gap:22px;display:flex}.group-kpis div{display:grid}.group-kpis strong{letter-spacing:-.01em;font-size:22px}.group-kpis span{color:var(--muted);font-size:12px;font-weight:800}.group-card-body .primary{width:100%}.impersonation-banner{color:#fff;background:#b45309;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:13px;font-weight:700;display:flex}.impersonation-banner span{align-items:center;gap:8px;display:inline-flex}.impersonation-banner strong{font-weight:900}.impersonation-banner .ghost{color:#fff;border:1px solid #fff9}.impersonation-banner.demo{background:#157347}.redeem-form{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.redeem-form input{border:1px solid var(--border);letter-spacing:1px;text-transform:uppercase;border-radius:10px;flex:200px;padding:10px 13px;font-size:15px}.codes-create{align-items:flex-end}.codes-field{color:var(--muted);gap:3px;font-size:12px;display:grid}.codes-field input,.codes-field select{border:1px solid var(--border);border-radius:9px;padding:8px 10px}.codes-field input[type=number]{width:90px}.codes-row{border-bottom:1px solid var(--border);grid-template-columns:1.2fr .6fr 1.4fr 1fr .7fr .8fr 44px;align-items:center;gap:8px;padding:8px 10px;display:grid}.codes-row.head{color:var(--ink-soft);border-bottom:2px solid var(--border);font-size:12px;font-weight:800}.impersonation-banner .ghost:hover{background:#ffffff26}.trial-banner{color:#fff;background:#0f766e;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;font-size:13px;font-weight:700;display:flex}.trial-banner.expired{background:#92400e}.trial-banner span{align-items:center;gap:8px;display:inline-flex}.trial-banner .ghost{color:#fff;border:1px solid #fff9}.trial-banner .ghost:hover{background:#ffffff26}.feature-paywall{text-align:center;color:#4f46e5;justify-items:center;gap:12px;padding:56px 24px;display:grid}.feature-paywall h2{color:var(--ink);margin:0}.feature-paywall p{color:var(--ink-soft);max-width:460px}.feature-paywall-actions{gap:10px;margin-top:6px;display:flex}.commercial-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.commercial-action{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:#4f46e5;text-align:left;transition:box-shadow .15s var(--ease), transform .15s var(--ease);border-radius:14px;justify-items:start;gap:4px;padding:16px;display:grid}.commercial-action:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.commercial-action span{color:var(--ink);font-size:15px;font-weight:800}.commercial-action small{color:var(--muted)}.ficha-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.ficha-grid label{color:var(--ink-soft);gap:4px;font-size:13px;font-weight:600;display:grid}.commercial-walls{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.commercial-wall-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:8px;padding:12px;display:grid}.commercial-wall-photo{aspect-ratio:3/2;background:var(--surface-soft);border-radius:8px;place-items:center;display:grid;overflow:hidden}.commercial-wall-photo img{object-fit:cover;width:100%;height:100%}.commercial-wall-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.file-button{cursor:pointer;position:relative}.pipeline-summary{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.pipeline-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;justify-items:center;gap:2px;min-width:84px;padding:10px 14px;display:grid}.pipeline-chip.active{border-color:#4f46e5;box-shadow:inset 0 0 0 1px #4f46e5}.pipeline-chip strong{font-size:20px}.pipeline-chip span{color:var(--muted);font-size:12px}.pipeline-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1.3fr) 160px;align-items:center;gap:12px;padding:10px 8px;display:grid}.pipeline-row.head{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}@media (width<=720px){.pipeline-row{grid-template-columns:1fr;gap:4px}.pipeline-row.head{display:none}}.icon-button.danger{color:#c0392b;background:var(--surface);border-color:#f3c9c2}.icon-button.danger:hover{background:#fdecea}button.danger{color:#fff;background:#c0392b;border:1px solid #c0392b}button.danger:hover{background:#a93226}.danger-text{color:#c0392b}.billing-current-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.billing-current-grid>div{gap:2px;display:grid}.billing-current-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:12px}.billing-current-grid strong{font-size:16px}.share-modal{width:min(620px,100%)}.share-state{color:var(--ink-soft);gap:6px;font-size:13px;font-weight:700;display:grid}.share-invite{grid-template-columns:minmax(0,1fr) 170px auto;align-items:center;gap:8px;display:grid}.share-members{gap:8px;display:grid}.share-members-head{color:var(--ink-soft);align-items:center;gap:8px;font-weight:850;display:flex}.share-members-head svg{color:var(--brand-deep)}.share-member{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.share-member select{flex:0 0 140px}.share-member-id{flex:200px;min-width:0;display:grid}.access-badge{border-radius:999px;padding:1px 7px;font-size:11px;font-weight:800;display:inline-block}.access-badge.ok{background:var(--brand-soft);color:#1f8a4c}.access-badge.warn{color:#b9770e;background:#fff3e0}.access-badge.danger{color:#c0392b;background:#fdeaea}.share-requests{background:#fffaf0;border:1px solid #f3d9a6;border-radius:10px;gap:8px;margin-bottom:4px;padding:10px;display:grid}.share-request{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.share-request-actions{align-items:center;gap:6px;display:flex}.invite-card{text-align:left;gap:14px;display:grid}.invite-card h1{margin:0;font-size:26px}.invite-card .auth-form{gap:10px;display:grid}.invite-card .auth-form input{border:1px solid var(--border);border-radius:10px;padding:11px 13px;font-size:15px}.invite-card .auth-form input[readonly]{background:var(--surface-soft);color:var(--muted)}.share-member-id small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.share-member-seen{color:var(--muted)!important}.commercial-badge{border:1px solid;border-radius:999px;align-items:center;width:fit-content;min-height:20px;margin-top:4px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.commercial-badge.state-active{color:var(--brand-ink);background:var(--brand-soft);border-color:#9ed6c8}.commercial-badge.state-paused,.commercial-badge.state-archived{color:var(--muted);background:var(--page);border-color:var(--border)}.commercial-badge.state-reserved{color:#6c4a13;background:#fff7e6;border-color:#f0d0a0}.commercial-badge.state-sold{color:#1f4e7a;background:var(--brand-soft);border-color:#a9cdec}.private-notes textarea{resize:vertical;min-height:72px}.private-notes-actions{justify-content:flex-end;margin-top:10px;display:flex}.shared-banner{background:var(--brand-soft);border:1px solid #9ed6c8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.shared-banner>div{gap:3px;display:grid}.shared-banner strong{color:var(--brand-ink)}.shared-banner span{color:var(--ink-soft);font-size:13px}.share-link-box{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;gap:8px;padding:12px;display:grid}.share-link-head{color:var(--ink-soft);align-items:center;gap:8px;font-weight:850;display:flex}.share-link-head svg{color:var(--brand-deep)}.share-link-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.share-link-row input{font-size:13px}.shared-with-me{gap:12px;display:grid}.project-row.shared-row,.project-table-head.shared-row{grid-template-columns:minmax(180px,2fr) minmax(110px,.8fr) minmax(140px,1fr) minmax(120px,.8fr)}.installer-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.installer-kpi{background:#ffffff1a;border:1px solid #ffffff29;border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.installer-kpi strong{color:#fff;font-size:22px;line-height:1.1}.installer-kpi span{text-transform:uppercase;letter-spacing:.03em;color:#ffffffb8;font-size:12px;font-weight:800}.installer-actions{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.installer-actions .primary{align-items:center;gap:8px;display:inline-flex}@media (width<=720px){.installer-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.installer-share-list{gap:10px;margin-top:12px;display:grid}.installer-share-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.installer-share-name{color:var(--ink);font-weight:850}.installer-share-actions{gap:8px;display:inline-flex}.installer-share-actions .mini-button{align-items:center;gap:6px;display:inline-flex}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease), box-shadow .18s var(--ease);background:linear-gradient(#fff,#f7fafa);align-items:center;gap:14px;padding:16px 18px;display:flex}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-icon{color:#fff;background:var(--brand-grad);width:46px;height:46px;box-shadow:var(--shadow-brand);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.kpi-cost .kpi-icon{background:linear-gradient(135deg,#f0b24b,#e0992b);box-shadow:0 12px 24px #e0992b4d}.kpi-body{gap:2px;min-width:0;display:grid}.kpi-body strong{letter-spacing:-.02em;color:var(--ink);font-size:26px;line-height:1.05}.kpi-body span{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.kpi-warn{color:#5c3f13;background:#fff8e8;border:1px solid #e9a23b;border-radius:999px;place-items:center;width:18px;height:18px;padding:0;display:inline-grid}.install-icons{flex-wrap:wrap;gap:6px;display:inline-flex}.install-chip{width:28px;height:28px;color:var(--install-color,#6b7785);background:var(--install-soft,#eef1f4);border:1px solid color-mix(in srgb, var(--install-color,#6b7785) 35%, transparent);border-radius:8px;place-items:center;display:grid}.install-chip.install-electricity{--install-color:#e0992b;--install-soft:#fdf3e2}.install-chip.install-plumbing{--install-color:#2f86c9;--install-soft:#e7f1fb}.install-chip.install-hvac{--install-color:#2aa39a;--install-soft:#e3f4f1}.cell-install{justify-items:start;gap:6px;display:grid}.cell-reforma{justify-items:start;display:grid}.install-cost{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.install-cost.warn{color:#8a5a12}.cost-warn-dot{color:#5c3f13;background:#fff8e8;border:1px solid #e9a23b;border-radius:999px;place-items:center;width:16px;height:16px;padding:0;display:inline-grid}.cell-visit{justify-items:start;gap:5px;display:grid}.visit-flag{border-radius:999px;align-items:center;gap:5px;min-height:22px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.visit-flag.yes{color:var(--brand-ink);background:var(--brand-soft);border:1px solid #9ed6c8}.visit-flag.no{color:#6c4a13;background:#fff7e6;border:1px solid #f0d0a0}.visit-progress-mini{background:var(--surface-soft);border-radius:999px;width:100%;height:6px;overflow:hidden}.visit-progress-mini span{border-radius:inherit;background:var(--brand-grad);height:100%;display:block}.cell-visit small{color:var(--muted);font-size:11px;font-weight:800}.cell-score{justify-items:start;gap:3px;display:grid}.score-stars{color:#d3d9df;letter-spacing:1px;font-size:14px}.score-badge{border:1px dashed var(--border);min-width:28px;height:22px;color:var(--muted);border-radius:999px;place-items:center;padding:0 8px;font-size:12px;font-weight:900;display:inline-grid}.cell-score small{color:var(--muted);font-size:11px;font-weight:700}.score-badge.ok{background:var(--brand-soft);color:#1f8a4c;border:1px solid #1f8a4c}.score-badge.warn{color:#b9770e;background:#fff3e0;border:1px solid #b9770e}.score-badge.low{color:#c0392b;background:#fdeaea;border:1px solid #c0392b}.cell-price strong{color:var(--ink);font-weight:900}.cell-price .pending{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.project-header{grid-template-columns:auto minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:16px;display:grid}.project-title h1{letter-spacing:0;margin:0;font-size:clamp(22px,3vw,30px);line-height:1.1}.project-title-line{align-items:center;gap:10px;min-width:0;display:flex}.project-title-line h1{min-width:0}.project-title p{color:var(--muted);margin:6px 0 0}.compact-metrics{min-width:0}.workspace{grid-template-columns:320px minmax(0,1fr);gap:14px;padding:14px;display:grid}.sidebar,.main-grid{align-content:start;gap:14px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.panel-title{color:var(--ink);align-items:center;gap:8px;margin-bottom:14px;font-size:15px;font-weight:850;display:flex}.panel-title svg{color:var(--brand-deep)}.panel-title .primary svg{color:inherit}.panel-title>span{align-items:center;gap:8px;display:inline-flex}.split-title{justify-content:space-between;gap:12px}.dashboard-title-row{align-items:center}.dashboard-title-row>span{flex:auto;min-width:0}.dashboard-title-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.project-modal>.modal-head,.group-modal>.modal-head{margin-bottom:12px}.header-actions{align-items:center;gap:8px;display:inline-flex}.room-title-3d-button{flex:0 0 30px;width:30px;height:30px}.segmented-control{background:var(--page);border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:inline-grid}.segmented-control button{min-height:36px;color:var(--muted);transition:background .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease);background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.segmented-control button.active{background:var(--surface);border-color:var(--border);color:var(--brand-deep);box-shadow:var(--shadow-sm)}.segmented-control button:disabled{cursor:not-allowed;opacity:.45}.list{gap:7px;display:grid}.row{text-align:left;width:100%;color:var(--ink);background:var(--surface-soft);border-color:var(--border);transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease);border-radius:10px;gap:3px;padding:11px 12px;display:grid}.row:hover{border-color:var(--brand);background:var(--surface)}.row span,.element-row span,.muted,.overview p{color:var(--muted);font-size:13px}.row.active,.chip.active,.tool.active{background:var(--brand-soft);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.two-cols{grid-template-columns:1fr 1fr;gap:8px;display:grid}.three-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.overview{justify-content:space-between;align-items:center;gap:16px;display:flex}.overview h1{letter-spacing:0;margin:0;font-size:clamp(22px,3vw,30px);line-height:1.1}.overview p{margin:7px 0 0}.metrics{grid-template-columns:repeat(4,minmax(88px,1fr));gap:8px;min-width:min(520px,52%);display:grid}.metric{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#f6faf9);border-radius:10px;padding:12px}.metric span{color:var(--muted);font-size:12px;font-weight:800;display:block}.metric strong{color:var(--ink);letter-spacing:-.01em;margin-top:4px;font-size:23px;display:block}.metric.cost span{align-items:center;gap:6px;display:flex}.metric-alert{color:#5c3f13;background:#fff8e8;border:1px solid #e9a23b;border-radius:999px;place-items:center;width:22px;height:22px;min-height:22px;padding:0;display:inline-grid}.metric.cost.warning{background:var(--surface-soft)}.split{grid-template-columns:1fr 1fr;gap:14px;display:grid}.room-strip{flex-wrap:wrap;gap:8px;min-height:38px;display:flex}.room-table{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);display:grid;overflow:hidden}.room-table-head{color:var(--muted);background:var(--surface-soft);text-transform:uppercase;grid-template-columns:minmax(130px,1fr) minmax(90px,.7fr) minmax(150px,.9fr) minmax(92px,.55fr) minmax(118px,.55fr) minmax(150px,.7fr);align-items:center;gap:10px;padding:10px 12px;font-size:12px;font-weight:900;display:grid}.room-row{border:0;border-top:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);text-align:left;transition:background .16s var(--ease);border-radius:0;grid-template-columns:minmax(130px,1fr) minmax(90px,.7fr) minmax(150px,.9fr) minmax(92px,.55fr) minmax(118px,.55fr) minmax(150px,.7fr);align-items:center;gap:10px;padding:0 10px 0 0;display:grid}.room-row:hover{background:var(--surface-soft)}.room-row.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand-deep)}.room-row-main{min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;grid-column:1/5;grid-template-columns:minmax(130px,1fr) minmax(90px,.7fr) minmax(150px,.9fr) minmax(92px,.55fr);align-items:center;gap:10px;padding:10px 0 10px 12px;display:grid}.room-actions{justify-content:center;gap:6px;min-width:112px;display:flex}.room-table-head span:nth-child(5),.room-table-head span:last-child{justify-self:center}.image-dot-row{align-items:center;gap:4px;display:inline-flex}.image-dot{background:#d7dde3;border-radius:999px;width:9px;height:9px}.image-dot.stage-original{background:#f08a2b}.image-dot.stage-cleaned{background:#f3c743}.image-dot.stage-rectified{background:#31a66a}.image-dot-row.all-ready{filter:drop-shadow(0 0 3px #31a66a8c)}.room-row-main span{color:var(--muted);font-size:13px}.chip{background:var(--surface-soft);border-color:var(--border);color:var(--ink);transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease);padding:0 12px;font-weight:800}.chip:hover{border-color:var(--brand);background:var(--surface)}.room-form{grid-template-columns:minmax(140px,1.3fr) minmax(110px,.9fr) repeat(3,minmax(84px,.7fr)) auto;gap:8px;margin-top:12px;display:grid}.detail-room-form{grid-template-columns:minmax(160px,1.2fr) minmax(120px,.8fr) repeat(2,minmax(72px,.45fr)) auto}.dimension-alert{color:#5c3f13;background:#fff8e8;border:1px solid #e9a23b;border-radius:8px;grid-column:1/-1;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.dimension-alert div{gap:3px;display:grid}.dimension-alert strong{color:#5c3f13}.dimension-alert span{color:#6c521f;font-size:12px;font-weight:750}.installations-panel .installation-tabs{border-top:0;margin:0;padding:0}.installation-tabs{flex-wrap:wrap;gap:10px;display:flex}.installation-tab{--install-color:#6b7785;--install-soft:#eef1f4;border:1px solid #dce2e8;border-left:4px solid var(--install-color);min-height:44px;color:var(--ink);background:var(--surface);transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);border-radius:10px;align-items:center;gap:9px;padding:0 14px 0 10px;font-weight:850;display:inline-flex}.installation-tab:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.installation-tab-icon{width:30px;height:30px;color:var(--install-color);background:var(--install-soft);border-radius:8px;place-items:center;display:grid}.installation-tab.active{border-color:var(--install-color);background:var(--install-soft);box-shadow:inset 0 0 0 1px var(--install-color)}.installation-tab strong{color:#fff;background:var(--install-color);border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;display:grid}.installation-tab.install-electricity{--install-color:#e0992b;--install-soft:#fdf3e2}.installation-tab.install-plumbing{--install-color:#2f86c9;--install-soft:#e7f1fb}.installation-tab.install-hvac{--install-color:#2aa39a;--install-soft:#e3f4f1}.upload-button.mini{justify-self:start;min-height:32px;padding:0 10px;font-size:13px}.mini-button{min-height:32px;padding:0 10px;font-size:13px}.room-summary{gap:8px;display:grid}.room-summary div{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:3px;padding:9px;display:grid}.room-summary span{color:var(--muted);font-size:13px}.editor-layout{grid-template-columns:220px minmax(0,1fr);grid-template-areas:"tools editor""list list";gap:14px;display:grid}.editor-layout.tools-collapsed{grid-template-columns:58px minmax(0,1fr)}.editor-layout.no-catalog{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor""list"}.tools{flex-direction:column;grid-area:tools;align-self:stretch;min-height:0;display:flex;overflow:hidden}.tools-scroll{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.tools-collapse-button{border:1px solid var(--border);width:100%;min-height:34px;color:var(--ink);background:var(--surface-soft);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:0 8px;display:flex}.collapse-icon{transition:transform .16s}.collapse-icon.close{transform:rotate(180deg)}.tools.collapsed{align-items:center;padding:12px 8px}.tools.collapsed .tools-collapse-button{justify-content:center;place-items:center;width:34px;min-height:34px;margin-bottom:12px;padding:0}.tools.collapsed .tools-collapse-button span,.tools.collapsed .panel-title span,.tools.collapsed .toggle-row span,.tools.collapsed .tool-group-label,.tools.collapsed .tool-name,.tools.collapsed .type-visibility-button,.tools.collapsed .empty-list{display:none}.tools.collapsed .tools-scroll{width:100%;padding-right:0}.tools.collapsed .panel-title{justify-content:center;min-height:34px;margin-bottom:10px}.tools.collapsed .toggle-row{justify-content:center;width:34px;height:34px;min-height:34px;margin:0 auto 12px;padding:0}.tools.collapsed .toggle-row input{margin:0}.toggle-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-bottom:12px;padding:9px;display:flex}.toggle-row input{width:16px;height:16px;min-height:16px}.tool-group{gap:7px;margin-bottom:14px;display:grid}.tool-group>span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.tool{text-align:left;background:var(--surface-soft);border-color:var(--border);color:var(--ink);cursor:grab;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);border-radius:9px;grid-template-columns:22px 1fr;align-items:center;gap:8px;padding:9px;font-weight:750;display:grid}.tool:hover{border-color:var(--brand);background:var(--surface);box-shadow:var(--shadow-sm)}.tool svg{color:var(--brand-deep)}.tools{--install-color:var(--brand-deep);--install-soft:var(--brand-soft)}.tools.install-electricity{--install-color:#e0992b;--install-soft:#fdf3e2}.tools.install-plumbing{--install-color:#2f86c9;--install-soft:#e7f1fb}.tools.install-hvac{--install-color:#2aa39a;--install-soft:#e3f4f1}.tools .panel-title svg,.tools .tool svg{color:var(--install-color)}.tools .tool:hover{border-color:var(--install-color)}.tools .tool.active{border-color:var(--install-color);background:var(--install-soft);box-shadow:inset 0 0 0 1px var(--install-color)}.tool-shell{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:6px;display:grid}.tool-shell.muted-tool .tool{opacity:.52}.type-visibility-button{border:1px solid var(--border);background:var(--surface-soft);width:34px;min-height:100%;color:var(--ink-soft);transition:border-color .16s var(--ease), background .16s var(--ease);border-radius:9px;place-items:center;padding:0;display:grid}.type-visibility-button:hover{background:#eef2f6;border-color:#b9c2cb}.tools.collapsed .tool-group{justify-items:center;gap:8px;margin-bottom:12px}.tools.collapsed .tool-shell{grid-template-columns:34px}.tools.collapsed .tool{grid-template-columns:1fr;place-items:center;width:34px;height:34px;min-height:34px;padding:0}.tool:active,.placed-element:active{cursor:grabbing}.editor-panel{grid-area:editor;min-width:0}.editor-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.editor-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.geometry-mode{grid-template-columns:repeat(5,minmax(0,1fr))}.geometry-mode.aux{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:240px}.geometry-mode.working{background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:inset 0 0 0 1px #99a7b4}.geometry-mode.working button{color:#2b3640}.geometry-mode.working button:hover{color:var(--ink)}.geometry-mode.working button.active{background:var(--surface);color:var(--brand-deep);box-shadow:var(--shadow-sm);border-color:#fff}.geometry-mode.working .work-tab-rectified,.geometry-mode.working .work-tab-diagram{background:var(--border)}.geometry-mode.working .work-tab.active{background:var(--surface)}.geometry-mode button{align-items:center;gap:6px;display:inline-flex}.geometry-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.switch-control{border:1px solid var(--border);background:var(--surface-soft);min-height:32px;color:var(--ink);border-radius:7px;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.switch-control input{width:15px;height:15px;min-height:15px}.photo-stage{width:min(100%, calc((clamp(520px, 62vh, 760px) - 34px) * var(--image-aspect,1.6)));aspect-ratio:var(--image-aspect,1.6);background:var(--surface-soft);border-radius:7px;place-items:center;display:grid}.photo-stage img{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%}.diagram-stage{background:var(--surface-soft);border:1px solid #9fb0bf;border-radius:7px;max-height:calc(clamp(520px,62vh,760px) - 34px)}.segments-stage{background:#121923}.segments-stage img{filter:saturate(1.06)contrast(1.05)}.segments-empty,.photo-empty{gap:10px;min-height:160px}.segments-empty{color:#d7dde3}.rectified-stage{background:linear-gradient(90deg,#6976841f 1px,#0000 1px) 0 0/8% 8%,linear-gradient(#6976841f 1px,#0000 1px) 0 0/8% 8%,#f8fafc;position:relative}.rectified-watermark{z-index:1;min-height:30px;color:var(--ink-soft);pointer-events:none;background:#ffffffd1;border:1px solid #b9c4ced9;border-radius:999px;align-items:center;gap:7px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:10px;right:10px}.rectified-image{z-index:0;object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.calibration-overlay{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.calibration-overlay.editing{pointer-events:auto}.calibration-plane-fill{fill:#2a9d8f21;pointer-events:none}.calibration-plane-line{fill:none;stroke:#2a9d8f;stroke-width:.8px;vector-effect:non-scaling-stroke;pointer-events:none}.calibration-overlay.dirty .calibration-plane-line{stroke:#f5b301}.calibration-overlay.dirty .calibration-plane-fill{fill:#f5b30129}.mask-handles{z-index:4;pointer-events:none;position:absolute;inset:0}.mask-handle{background:var(--surface);cursor:grab;pointer-events:auto;touch-action:none;width:16px;height:16px;transition:transform .12s var(--ease), box-shadow .12s var(--ease), border-color .12s var(--ease);border:2px solid #2a9d8f;border-radius:50%;margin:0;padding:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0f172a47}.mask-handle:after{content:"";background:#2a9d8f;border-radius:50%;position:absolute;inset:3px}.mask-handle:hover{transform:translate(-50%,-50%)scale(1.18);box-shadow:0 2px 7px #0f172a57}.mask-handle.dragging{cursor:grabbing;border-color:#1f7a6e;transform:translate(-50%,-50%)scale(1.22)}.mask-handle.modified{border-color:#f5b301}.mask-handle.modified:after{background:#f5b301}.mask-origin{pointer-events:none;z-index:4;background:#ffffff8c;border:1.5px dashed #1f7a6e;border-radius:50%;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%)}.diagram-origin,.diagram-axis{z-index:1;color:var(--ink-soft);pointer-events:none;font-size:12px;font-weight:900;position:absolute}.diagram-origin{bottom:7px;left:8px}.x-axis{bottom:7px;right:8px}.y-axis{top:8px;left:8px}.placed-element{background:var(--surface);min-width:28px;min-height:28px;color:var(--ink);z-index:2;cursor:grab;border:2px solid #2a9d8f;border-radius:6px;place-items:center;display:grid;position:absolute;box-shadow:0 6px 16px #17212b2e}.placed-element.photo{z-index:4;width:34px;height:34px;transform:translate(-50%,-50%)}.placed-element.diagram{grid-template-columns:auto minmax(0,1fr);gap:5px;padding:2px 5px;font-size:10px}.placed-element.diagram span{color:var(--ink);white-space:nowrap;overflow:hidden}.placed-element.warning{background:#fff8e8;border-color:#e9a23b}.placed-element.blocked{background:#fff1f0;border-color:#c94c3d}.element-quick-popover{z-index:8;width:min(280px,100% - 24px);color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #69768447;border-radius:8px;gap:9px;padding:11px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 18px 36px #17212b2e}.element-quick-popover:after{content:"";background:#ffffffe0;border-bottom:1px solid #69768447;border-right:1px solid #69768447;width:14px;height:14px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.element-quick-popover.diagram{background:#ffffffe6}.element-quick-popover.floating{z-index:1000;width:280px;max-width:calc(100vw - 20px);transition:opacity .1s;position:fixed;transform:none}.element-quick-popover.floating:after{display:none}.element-quick-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.element-quick-head>span{align-items:center;gap:7px;min-width:0;font-weight:900;display:inline-flex}.element-quick-head .pill{min-height:23px;padding:0 7px;font-size:11px}.element-quick-form{gap:8px;display:grid}.element-quick-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.element-quick-grid label,.element-quick-grid div{background:#f8fafcd1;border:1px solid #e0e5eae0;border-radius:6px;gap:3px;min-width:0;padding:7px;display:grid}.element-quick-grid span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900}.element-quick-grid strong{color:var(--ink);font-size:12px;font-weight:900}.element-quick-grid input{min-height:27px;padding:0 6px;font-size:12px;font-weight:900}.element-quick-form textarea{min-height:54px;padding:7px;font-size:12px}.element-quick-actions{justify-content:flex-end;gap:7px;display:flex}.mini-danger{min-height:32px;padding:0 9px;font-size:12px}.empty-state,.empty-list{min-height:64px;color:var(--muted);place-items:center;font-weight:750;display:grid}.element-list{grid-area:list;align-self:start}.element-row{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;text-align:left;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease);border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:10px;display:grid}.element-row:hover{border-color:var(--brand);background:var(--surface);box-shadow:var(--shadow-sm)}.element-row.priced{background:var(--surface-soft)}.element-row div{gap:3px;min-width:0;display:grid}.element-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pill{min-height:26px;color:var(--ink);background:var(--brand-soft);border:1px solid #2a9d8f;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.pill-button{cursor:pointer}.pill.warning{background:#fff8e8;border-color:#e9a23b}.pill.blocked{background:#fff1f0;border-color:#c94c3d}.icon-button{background:var(--surface);border-color:var(--border);color:#a33b2b;width:36px;height:36px;transition:border-color .16s var(--ease), background .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);place-items:center;display:grid}.icon-button:hover{box-shadow:var(--shadow-sm);border-color:currentColor;transform:translateY(-1px)}.icon-button:active{transform:translateY(0)}.icon-button.disabled{opacity:.5;pointer-events:none;cursor:default}label.icon-button{cursor:pointer}.view-loader{min-height:160px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.view-loader-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ivPrepSpin}.icon-button.neutral{color:var(--ink)}.icon-button.ai{border:1px solid var(--ai-btn-border);background:linear-gradient(135deg, var(--ai-btn-from), var(--ai-btn-to));color:#fff;box-shadow:0 8px 18px var(--ai-btn-shadow)}.icon-button.ai:hover{background:linear-gradient(135deg, var(--ai-btn-from-hover), var(--ai-btn-to-hover));color:#fff}.ai-button{box-shadow:0 8px 18px var(--ai-btn-shadow);background:linear-gradient(135deg, var(--ai-btn-from), var(--ai-btn-to))!important;border:1px solid var(--ai-btn-border)!important;color:#fff!important}.ai-button:hover:not(:disabled){background:linear-gradient(135deg, var(--ai-btn-from-hover), var(--ai-btn-to-hover))!important}.ai-button svg{color:#fff}.icon-button.primary-icon{color:#fff;background:var(--ink-grad);border-color:var(--ink);flex:none}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:20;animation:backdropIn .2s var(--ease);background:#0f182080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-backdrop.over-editor{z-index:60}@keyframes backdropIn{0%{opacity:0}}.modal{border-radius:var(--radius-lg);background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow-lg);animation:modalIn .28s var(--ease);border:1px solid #fff9;gap:14px;max-height:calc(100dvh - 40px);padding:20px;display:grid;overflow-y:auto}.modal>.modal-head{z-index:2;background:var(--surface);margin:-20px -20px 0;padding:20px 20px 12px;position:sticky;top:0}@keyframes modalIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.project-modal{width:min(680px,100%)}.element-modal{width:min(620px,100%)}.confirm-modal{width:min(540px,100%)}.danger-backdrop{z-index:30}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-close{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;min-height:36px;color:var(--muted);cursor:pointer;border-radius:10px;flex:none;place-items:center;padding:0;display:inline-grid}.modal-close:hover{background:var(--surface-soft);color:var(--ink);border-color:var(--brand)}.modal-head>.ghost:only-child,.modal-head>button.ghost{flex:none}.modal h2{letter-spacing:0;margin:3px 0 0;font-size:22px}.modal-eyebrow{color:var(--brand-deep);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:900}.review-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.review-grid div{border:1px solid var(--border);background:var(--surface-soft);border-radius:7px;gap:3px;padding:10px;display:grid}.review-grid span{color:var(--muted);font-size:12px;font-weight:800}.review-reason{color:#5c3f13;background:#fff8e8;border:1px solid #f0c36d;border-radius:7px;margin:0;padding:12px;line-height:1.45}.danger-text{color:#8f3328;background:#fff1f0;border-color:#efb0a7}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions.destructive-split,.destructive-split{justify-content:space-between}.danger-button{color:#fff;background:#a33b2b;border:1px solid #c94c3d;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-weight:850;display:inline-flex}.upload-button{min-height:38px;color:var(--ink);background:var(--surface-soft);border-color:var(--border);padding:0 12px}.upload-button input{display:none}.toast{color:#fff;z-index:10;background:#17212b;border-radius:8px;align-items:center;gap:10px;max-width:min(520px,100vw - 36px);padding:12px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 32px #17212b47}.toast.error{background:#8f3328}.toast button{color:#fff;background:0 0;border:1px solid #fff6;border-radius:7px;min-height:30px;padding:0 8px}@media (width<=1180px){.workspace{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr 1fr}.editor-layout{grid-template-columns:200px minmax(0,1fr)}.element-list{grid-column:1/-1}}@media (width<=820px){.topbar{flex-direction:column;align-items:flex-start;height:auto;padding:12px}.workspace{padding:10px}.dashboard-shell,.project-shell,.project-table{overflow-x:auto}.project-table-head,.project-row{min-width:1280px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.share-invite,.share-member,.share-link-row{grid-template-columns:1fr}.sidebar,.split,.editor-layout,.visit-topbar{z-index:7;border-left:0;border-right:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;margin:-8px -8px 0;padding:8px;position:sticky;top:0;box-shadow:0 8px 18px #17212b14}.visit-back-button{min-height:32px;padding:0 8px}.visit-back-button span,.visit-topbar .modal-eyebrow{display:none}.visit-topbar h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;line-height:1.1;overflow:hidden}.visit-topbar p{white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}.visit-status{padding:5px 7px;font-size:10px}.visit-control-card{box-shadow:none;border-radius:7px;grid-template-columns:1fr;gap:6px;padding:6px;display:grid}.visit-step-switch,.visit-mode-switch{width:100%}.visit-step-switch button,.visit-mode-switch button{min-height:28px;padding:0 8px;font-size:12px}.visit-question-card{box-shadow:none;gap:9px;padding:10px}.visit-progress-head{font-size:12px}.visit-progress-bar{height:5px}.visit-priority-row{gap:6px;font-size:11px}.visit-priority{padding:4px 7px}.visit-phase-strip{gap:5px}.visit-phase-chip{text-align:center;justify-items:center;gap:1px;padding:5px 3px;font-size:11px;display:grid}.visit-question-card h2,.visit-capture-card h2{font-size:20px;line-height:1.15}.visit-option-helper{margin-top:-3px;font-size:12px}.visit-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.visit-answer{min-height:52px;padding:8px 10px;font-size:14px;line-height:1.15}.visit-number-answer input{min-height:50px;font-size:20px}.visit-card-actions{grid-template-columns:minmax(0,.8fr) minmax(0,.9fr) minmax(0,1fr);gap:6px;display:grid}.visit-card-actions .primary,.visit-card-actions .secondary{min-height:34px;padding:0 7px;font-size:12px}.visit-card-actions .visit-action-full,.visit-sticky-footer .visit-action-full{display:none}.visit-card-actions .visit-action-short,.visit-sticky-footer .visit-action-short{display:inline}.visit-room-strip{gap:6px;padding-bottom:2px}.visit-room-pill{min-width:112px;padding:7px;font-size:12px}.visit-room-pill span{font-size:11px}.visit-room-pill.new{min-width:94px}.visit-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.visit-new-room-card{box-shadow:none;grid-template-columns:1fr;gap:7px;padding:8px}.visit-new-room-copy span{font-size:11px}.visit-new-room-card input,.visit-new-room-card select,.visit-new-room-card button{min-height:34px;font-size:13px}.visit-capture-card{box-shadow:none;gap:9px;padding:10px}.visit-capture-card .modal-eyebrow{font-size:10px}.visit-photo-count{width:42px;height:42px;font-size:15px}.visit-photo-slot{min-height:126px;font-size:13px}.visit-photo-slot img{min-height:126px}.visit-helper{font-size:12px}.visit-sticky-footer{bottom:max(8px, env(safe-area-inset-bottom,0px));grid-template-columns:auto minmax(0,1fr) auto;gap:6px;width:calc(100vw - 16px);padding:6px}.visit-sticky-footer .primary,.visit-sticky-footer .secondary{min-height:34px;padding:0 9px;font-size:12px}.visit-sticky-footer div{font-size:11px;line-height:1.15}.visit-sticky-footer small{font-size:10px}.editor-layout{grid-template-areas:"tools""editor""list"}.overview{display:grid}.metrics{grid-template-columns:repeat(2,1fr);min-width:0}.room-form{grid-template-columns:1fr 1fr}.project-title-line,.modal-head{flex-wrap:wrap}}@media (width<=520px){.topbar-actions{justify-content:space-between;width:100%}.sidebar{grid-template-columns:1fr}}@media (width<=980px){.overview-head{flex-direction:column;align-items:stretch;gap:12px}.overview-head>.primary,.overview-head>button.primary{justify-content:center;width:100%}.group-grid,.billing-plans,.journey-grid,.landing-pricing{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.dashboard-shell,.project-shell,h1{font-size:clamp(24px,7vw,30px)}.overview-head-titles h1{font-size:24px}.topbar{flex-direction:column;align-items:stretch;gap:8px;height:auto;padding:10px 12px}.topbar-actions{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.topbar-actions::-webkit-scrollbar{display:none}.topbar-actions>button,.topbar-actions>span{white-space:nowrap;flex:none}.topbar-actions>span:first-child{display:none}.overview-head{gap:10px}.overview-head-titles{flex-direction:column;align-items:flex-start;gap:8px}.group-grid,.kpi-grid,.billing-plans,.journey-grid,.landing-pricing,.landing-steps-grid,.billing-current-grid,.landing-band,.kpi-band,.proof-grid,.installation-picker,.installation-picker.compact,.installation-picker.inline,.dashboard-grid,.lead-form-row,.two-cols{grid-template-columns:1fr!important}.proof-grid{gap:8px}.project-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.pipeline-row,.codes-row,.agency-row,.project-row,.project-table-head,.pipeline-row.head,.codes-row.head,.agency-row.head{min-width:560px}.modal-backdrop{align-items:stretch;padding:0}.modal,.modal.project-modal,.modal.share-modal,.modal.confirm-modal{border-radius:0;min-height:100vh;max-height:100vh;overflow-y:auto;width:100%!important;max-width:100%!important}.modal-form,.project-form{gap:12px}.modal-actions{flex-wrap:wrap}.modal-actions>button{flex:auto;justify-content:center}.visit-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-answer-grid.multi{grid-template-columns:1fr}.visit-card-actions{flex-wrap:wrap}.visit-card-actions>button{flex:auto;justify-content:center}.visit-mode-switch,.visit-step-switch{width:100%}.public-nav{flex-wrap:wrap;gap:8px;padding:10px 14px}.public-nav .segmented-control{order:3;width:100%;overflow-x:auto}.landing-actions{gap:8px}.landing-hero{grid-template-columns:1fr}.landing-hero .landing-demo,.hero-side-visual{display:none}.landing-cta{flex-direction:column}.landing-cta>button{justify-content:center;width:100%}.landing-compare{grid-template-columns:1fr}.pricing-toggle,.pricing-toggle.segmented-control{width:100%}.codes-create{flex-direction:column;align-items:stretch}.codes-create>*{width:100%}.public-footer-main{grid-template-columns:1fr;gap:24px}img{max-width:100%;height:auto}.editor-layout,.sidebar,.element-list,.wall-image-grid,.visit-photo-layout{grid-template-columns:1fr!important}.visit-room-strip{-webkit-overflow-scrolling:touch;overflow-x:auto}.mini-button,.icon-button{min-height:40px}}.reference-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.reference-guides{pointer-events:none;position:absolute;inset:0}.ref-band{background:#2f6fde1a;border-top:1px dashed #2f6fde73;border-bottom:1px dashed #2f6fde73;position:absolute;left:0;right:0}.ref-line{color:#2f6fde;position:absolute}.ref-line-h{border-top:1.5px dashed;left:0;right:0}.ref-line-v{border-left:1.5px dashed;top:0;bottom:0}.ref-line-label{white-space:nowrap;background:#fffc;border-radius:4px;padding:0 4px;font-size:10px;font-weight:600;position:absolute;top:-8px;left:4px}.ref-line-label-v{writing-mode:vertical-rl;top:4px;left:3px}.modal-hint{color:var(--muted,#667085);margin:0 0 10px;font-size:13px}.guides-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow:auto}.guide-row{border:1px solid var(--border,#e4e7ec);border-radius:8px;grid-template-columns:24px 1fr auto auto auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.guide-orientation{color:#2f6fde;text-align:center;font-size:12px;font-weight:700}.guide-label{font-size:13px}.guide-default{color:var(--muted,#98a2b3);font-size:11px;font-style:italic}.guide-value{color:var(--muted,#667085);align-items:center;gap:4px;font-size:12px;display:flex}.guide-value input{width:64px}.guide-snap{align-items:center;gap:3px;display:flex}.guides-add{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.guides-add input[type=number]{width:80px}.guides-add input[type=text]{flex:1;min-width:120px}.ref-wet-zone{background:#dc26261f;border-left:1px dashed #dc262680;border-right:1px dashed #dc262680;position:absolute;top:0;bottom:0}.ref-wet-edge{color:#dc2626;border-left:2px solid #dc2626;top:0;bottom:0}.ref-wet-edge .ref-line-label-v{color:#dc2626}.pe-circuit-dot{border:1.5px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 1px #00000026}.circuit-row{border:1px solid var(--border,#e4e7ec);border-radius:8px;grid-template-columns:32px minmax(90px,1fr) auto auto auto auto auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.circuit-color{cursor:pointer;background:0 0;border:none;width:28px;height:24px;padding:0}.circuit-name{border:1px solid var(--border,#e4e7ec);border-radius:6px;padding:4px 6px;font-size:13px}.circuit-num{color:var(--muted,#667085);align-items:center;gap:2px;font-size:11px;display:flex}.circuit-num input{width:48px}.circuit-count{color:var(--muted,#667085);padding:0 4px;font-size:12px;font-weight:600}.circuit-count.over{color:#dc2626}.element-quick-circuit{flex-direction:column;gap:4px;margin-top:6px;font-size:12px;display:flex}.element-quick-circuit select{border:1px solid var(--border,#e4e7ec);border-radius:6px;padding:4px 6px}.lum-row{border:1px solid var(--border,#e4e7ec);border-radius:8px;grid-template-columns:minmax(110px,1fr) auto auto auto auto auto;align-items:center;gap:6px;padding:6px 8px;display:grid}.link-button{color:#2f6fde;cursor:pointer;background:0 0;border:none;padding:0 0 0 6px;font-size:11px;text-decoration:underline}.control-group-row{border:1px solid var(--border,#e4e7ec);border-radius:8px;grid-template-columns:minmax(110px,1fr) auto auto auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.placed-element.in-control-group{z-index:5}.lum-row{grid-template-columns:minmax(110px,1fr) auto auto auto auto auto auto}.product-panel{border-left:2px solid var(--border,#e4e7ec);flex-direction:column;gap:6px;margin:2px 0 6px 12px;padding:8px 10px;display:flex}.product-row{border-radius:6px;grid-template-columns:28px minmax(120px,1fr) auto auto auto;align-items:center;gap:8px;padding:4px 6px;display:grid}.product-row.selected{background:#16a34a14}.product-name{font-size:13px}.product-price{color:var(--muted,#667085);white-space:nowrap;font-size:12px}.product-add{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.product-add input[type=text],.product-add input[type=url]{flex:1;min-width:120px}.tool-menu{display:inline-block;position:relative}.tool-menu[open]{z-index:1500}.tool-menu>summary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border,#e4e7ec);background:var(--surface);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;list-style:none;display:inline-flex}.tool-menu>summary::-webkit-details-marker{display:none}.tool-menu[open]>summary{color:#2f6fde;border-color:#2f6fde}.tool-menu-caret{opacity:.55}.tool-menu-panel{z-index:1500;background:var(--surface);border:1px solid var(--border,#e4e7ec);border-radius:10px;flex-direction:column;gap:4px;min-width:210px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001a}.tool-menu-panel.topbar-menu-panel{box-sizing:border-box;width:max-content;max-width:calc(100vw - 16px);left:auto;right:0}.topbar-menu-panel .topbar-menu-name,.topbar-menu-panel .tool-menu-item{max-width:100%}.topbar-menu-panel .topbar-menu-name{overflow-wrap:anywhere}.tool-menu-panel .switch-control{white-space:nowrap}.tool-menu-item{cursor:pointer;text-align:left;width:100%;color:var(--ink,#1d1d1f);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.tool-menu-item:hover{background:#2f6fde14}.admin-nav-grouped{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-nav-home{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.admin-nav-home.active{color:#2f6fde;background:var(--surface-soft);border-color:#2f6fde}.tool-menu>summary.active{color:#2f6fde;border-color:#2f6fde}.tool-menu-item.is-active{color:#2f6fde;background:#2f6fde1f;font-weight:600}.editor-controls-row{--toolbar-h:40px;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.editor-controls-row>.installation-tabs,.editor-controls-row>.geometry-toolbar{margin:0}.editor-controls-row .installation-tab,.editor-controls-row .tool-menu>summary,.editor-controls-row .geometry-toolbar>button{min-height:var(--toolbar-h);height:var(--toolbar-h);box-sizing:border-box}.furniture-3d-preview-wrap{border-radius:10px;width:100%;margin:8px 0 4px;position:relative;overflow:hidden}.furniture-3d-preview{background:var(--surface-soft);width:100%;height:260px;display:block}.furniture-3d-hint{color:#00000061;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;bottom:8px;right:10px}.commercial-head-badges{align-items:center;gap:8px;display:inline-flex}.commercial-badge.state-published{background:var(--surface-soft);color:#2148b8}.commercial-publish-toggle .switch-row{align-items:center;gap:8px;display:inline-flex}.commercial-publish-toggle .switch-row input{width:18px;height:18px}.seller-q{border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:10px 12px}.seller-q-head{flex-direction:column;gap:2px;display:flex}.seller-q-answer{color:#1c7a4d;align-items:center;gap:8px;margin:8px 0 0;display:flex}.seller-q-form{flex-direction:column;gap:6px;margin-top:8px;display:flex}.seller-q-form textarea{border:1px solid var(--border);font:inherit;border-radius:8px;padding:8px 10px}.seller-q-actions{justify-content:space-between;align-items:center;display:flex}.seller-q-faq{align-items:center;gap:6px;font-size:13px;display:inline-flex}.home-group-filter{flex-wrap:wrap;gap:8px;margin:4px 0 14px;display:flex}.group-chip{border:1px solid var(--border,#e6e8eb);background:var(--surface);cursor:pointer;color:var(--ink-soft);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.group-chip:hover{color:#2d6cdf;border-color:#2d6cdf}.group-chip.active{color:#fff;background:#2d6cdf;border-color:#2d6cdf}.project-name-cell{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.home-group-select{border:1px solid var(--border,#e6e8eb);color:var(--muted);background:var(--surface-soft);border-radius:999px;max-width:100%;padding:2px 8px;font-size:11px}.dashboard-grid.space-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;min-width:0;max-width:100%;display:grid}.space-main{min-width:0}.home-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;min-width:0;max-width:100%;display:grid}.home-card{background:var(--surface);border:1px solid var(--border,#e6e8eb);border-radius:14px;flex-direction:column;transition:transform .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.home-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px #00000014}.home-card-cover{background:var(--surface-soft) center/cover no-repeat;height:140px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;display:flex;position:relative}.home-card-chip{color:#fff;background:#111827c7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:8px;left:8px}.home-card-chip.listed{background:#2d6cdfeb;left:auto;right:8px}.home-card-body{flex-direction:column;flex:1;gap:4px;padding:10px 12px;display:flex}.home-card-title{text-align:left;cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:0;font-size:15px;font-weight:700}.home-card-title:hover{color:#2d6cdf}.home-card-loc{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.home-card-specs{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin-top:2px;font-size:12px;display:flex}.home-card-match{font-weight:700}.home-card-match.good{color:#1c7a4d}.home-card-match.warn{color:#b3791e}.home-card-match.bad{color:#b3261e}.home-card-actions{border-top:1px solid #f1f3f5;justify-content:flex-end;gap:4px;min-width:0;padding:8px 10px;display:flex}.home-card-actions .icon-button{flex:0 0 34px;width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.home-card.add-card{background:var(--surface-soft);color:var(--muted);cursor:pointer;border:2px dashed #cdd5df;justify-content:center;align-items:center;gap:6px;min-height:200px}.home-card.add-card:hover{color:#2d6cdf;border-color:#2d6cdf}.space-rail{flex-direction:column;gap:16px;min-width:0;max-width:100%;display:flex;position:sticky;top:16px}.rail-card{background:var(--surface);border:1px solid var(--border,#e6e8eb);border-radius:14px;padding:14px}.rail-card h3{margin:0 0 10px;font-size:14px}.rail-action{cursor:pointer;width:100%;font:inherit;color:var(--ink-soft);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 6px;display:flex}.rail-action:hover{background:var(--surface-soft);color:#2d6cdf}.rail-card h3{align-items:center;gap:6px;display:flex}.rail-credits-value{color:var(--ink);margin:2px 0 6px;font-size:28px;font-weight:800;line-height:1.1;display:block}.rail-upgrade{color:#2d6cdf;font-weight:700}.rail-news{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.rail-news li{flex-direction:column;gap:2px;display:flex}.rail-news strong{color:var(--ink);font-size:13px}.rail-news span{color:var(--muted);font-size:12px;line-height:1.35}@media (width<=920px){.dashboard-grid.space-layout{grid-template-columns:1fr}.space-rail{position:static}}@media (width<=1180px){.app-shell.has-space-nav .dashboard-grid.space-layout{grid-template-columns:1fr}.app-shell.has-space-nav .space-rail{position:static}}.space-overview-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.space-hero-card{border:1px solid var(--border);background:radial-gradient(circle at 16% 14%, #2d6cdf1a, transparent 30%), linear-gradient(135deg, var(--surface) 0%, var(--surface-soft) 100%);width:100%;min-height:230px;box-shadow:var(--shadow-sm);border-radius:24px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px 24px;padding:34px 40px;display:grid;position:relative;overflow:hidden}.space-hero-add-home{z-index:2;border-radius:14px;width:44px;height:44px;min-height:44px;position:absolute;top:18px;right:18px}.space-hero-icon{color:#2d6cdf;background:linear-gradient(135deg,#e8efff,#f3f7ff);border-radius:32px;place-items:center;width:96px;height:96px;display:grid;box-shadow:inset 0 0 0 1px #2d6cdf14}.space-hero-copy{z-index:1;min-width:0;position:relative}.space-hero-copy h1{letter-spacing:0;color:var(--ink);margin:0;font-size:clamp(28px,4vw,44px);font-weight:850;line-height:.98}.space-hero-copy p{max-width:520px;color:var(--muted);margin:12px 0 0;font-size:clamp(16px,2.1vw,22px);line-height:1.32}.space-hero-card .space-kpis{z-index:1;grid-column:2;align-self:start;width:100%;position:relative}.space-hero-illustration{opacity:.38;background:linear-gradient(#8db2f4,#8db2f4) 14px 44px/10px 42px no-repeat,linear-gradient(#8db2f4,#8db2f4) 48px 28px/10px 58px no-repeat,linear-gradient(#8db2f4,#8db2f4) 96px 54px/8px 32px no-repeat,linear-gradient(#8db2f4,#8db2f4) 122px 38px/8px 48px no-repeat;border-bottom:3px solid #8db2f4;width:160px;height:86px;position:absolute;bottom:0;right:28px}.space-hero-illustration:before,.space-hero-illustration:after{content:"";border:3px solid #8db2f4;position:absolute;bottom:0}.space-hero-illustration:before{border-bottom:0;width:86px;height:68px;right:34px}.space-hero-illustration:after{border-bottom:0;width:72px;height:104px;right:0;transform:skewY(3deg)}.space-kpis{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.space-kpi{background:var(--surface);border:1px solid var(--border);border-radius:14px;align-items:center;gap:10px;padding:12px 16px;display:inline-flex}.space-kpi-ico{background:var(--surface-soft);color:#2d6cdf;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.space-kpi>div{flex-direction:column;line-height:1.15;display:flex}.space-kpi strong{color:var(--ink);font-size:18px;font-weight:850}.space-kpi span{color:var(--muted);font-size:12px}@media (width<=700px){.space-kpis{width:100%}.space-kpi{flex:calc(50% - 6px)}}.home-card-kind{color:#fff;border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:8px;left:8px}.home-card-kind.tuya{background:#1f9d8ff2}.home-card-kind.guardada{background:#4b5563eb}.home-card-chip.state{top:46px;left:auto;right:8px}.home-card-meta{align-items:center;gap:6px;margin-top:5px;display:flex}.home-card-project{border-radius:999px;align-items:center;max-width:75%;padding:2px 9px;line-height:1.6;display:inline-flex}.home-card-project.filled{background:color-mix(in srgb, var(--proj,#9aa4af) 16%, #fff)}.home-card-project select{font:inherit;color:var(--proj,#46515d);cursor:pointer;background:0 0;border:none;max-width:130px;padding:0;font-size:11px;font-weight:800}.home-card-project.static{color:var(--proj,#46515d);padding:3px 10px;font-size:11px;font-weight:800}.home-card-pub{color:#6b7280;cursor:pointer;background:#ffffffe6;border:1px solid #d6dbe3;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 8px 18px #0f172a24}.home-card>.home-card-pub{z-index:2;position:absolute;top:8px;right:8px}.home-card-pub:hover{color:#374151;background:#f3f4f6}.home-card-pub.listed{color:#15803d;background:#e7f8ee;border-color:#a8e4bd}.home-card-pub.listed:hover{color:#166534;background:#d8f3e3}.saved-decorate{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;height:calc(100dvh - 96px);padding:10px;display:flex;overflow:hidden}.sd-top{flex:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:18px;display:grid}.sd-back{border:1px solid var(--border);background:var(--surface);min-height:46px;color:var(--ink);font:inherit;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.sd-back:hover{border-color:var(--brand);color:var(--brand-deep)}.sd-title{min-width:0}.sd-title h1{letter-spacing:0;color:var(--ink);margin:0 0 4px;font-size:24px}.sd-title p{color:var(--muted);margin:0;font-size:14px}.sd-layout{flex:auto;grid-template-columns:190px minmax(460px,1.8fr) minmax(170px,.52fr) minmax(280px,.88fr);align-items:stretch;gap:14px;min-width:0;min-height:0;display:grid}.sd-layout.rooms-collapsed{grid-template-columns:60px minmax(460px,1.8fr) minmax(170px,.52fr) minmax(280px,.88fr)}.sd-panel{background:var(--surface);border:1px solid var(--border);min-width:0;min-height:0;box-shadow:var(--shadow-sm);border-radius:14px;padding:16px}.sd-panel h2{color:var(--ink);letter-spacing:0;align-items:center;gap:9px;margin:0 0 16px;font-size:16px;display:flex}.sd-panel-title{justify-content:space-between;align-items:center;gap:8px;margin:0 0 16px;display:flex}.sd-panel-title h2{margin:0}.sd-collapse{flex:none}.sd-rooms,.sd-generated,.sd-resources{flex-direction:column;display:flex;overflow:hidden}.sd-rooms.collapsed{align-items:center;padding:12px 8px}.sd-rooms.collapsed .sd-panel-title{justify-content:center;width:100%;margin-bottom:12px}.sd-rooms.collapsed .sd-panel-title h2{display:none}.sd-room-list{flex-direction:column;gap:10px;padding-right:4px;display:flex;overflow-y:auto}.sd-room-list button{border:1px solid var(--border);background:var(--surface);min-height:64px;color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:5px;padding:11px 14px;display:flex}.sd-room-list button.active{border-color:var(--brand-deep);background:color-mix(in srgb, var(--brand-soft) 58%, #fff);box-shadow:inset 3px 0 0 var(--brand-deep)}.sd-room-list strong{font-size:14px}.sd-room-list span{color:var(--muted);font-size:13px}.sd-room-mini-list{flex-direction:column;align-items:center;gap:8px;padding:1px 0 4px;display:flex;overflow-y:auto}.sd-room-mini-list button{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:11px;place-items:center;font-size:13px;font-weight:900;display:grid}.sd-room-mini-list button.active{border-color:var(--brand-deep);background:var(--brand-deep);color:#fff;box-shadow:0 8px 18px color-mix(in srgb, var(--brand-deep) 24%, transparent)}.sd-stage{flex-direction:column;gap:12px;display:flex;overflow:hidden}.sd-stage-head{align-items:center;gap:12px;display:flex}.sd-stage-head>div{flex:auto;min-width:0}.sd-cube{border:1px solid var(--border);width:38px;height:38px;color:var(--brand-deep);background:var(--surface-soft);border-radius:10px;place-items:center;display:grid}.sd-cube-button{cursor:pointer;flex:none}.sd-cube-button:hover:not(:disabled){border-color:var(--brand);background:var(--surface);color:var(--brand-deep)}.sd-cube-button:disabled{opacity:.55;cursor:not-allowed}.sd-stage-head h2{margin:0;font-size:18px}.sd-stage-head p{color:var(--muted);margin:3px 0 0;font-size:13px}.sd-hero{background:#111827;border-radius:12px;flex:auto;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.sd-hero img{object-fit:cover;width:100%;height:100%;min-height:0;display:block}.sd-empty{color:#fff;flex-direction:column;align-items:center;gap:10px;display:flex}.sd-hero-tools{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111827b8;border-color:#ffffff29;gap:4px;height:36px;padding:3px;display:inline-flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 26px #0f172a38}.sd-hero-tools.wall-mode-switch button{flex:none;gap:0;height:30px;min-height:0}.sd-hero-tools.wall-mode-switch button>span{opacity:0;white-space:nowrap;max-width:0;margin-left:0;transition:max-width .28s,opacity .2s,margin-left .28s;display:inline-block;overflow:hidden}.sd-hero-tools.wall-mode-switch button:hover>span,.sd-hero-tools.wall-mode-switch button:focus-visible>span{opacity:1;max-width:140px;margin-left:6px}.sd-hero-tools.wall-mode-switch button{color:#fffc;background:0 0;border-color:#0000}.sd-hero-tools.wall-mode-switch button.active{color:#fff;background:var(--brand-deep)}.sd-hero-tools.wall-mode-switch button.sd-decorated-toggle:not(:disabled){color:#fff}.sd-hero-tools.wall-mode-switch button:disabled{color:#ffffff59;opacity:.7}.sd-deco-nav{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111827b8;border-radius:999px;align-items:center;gap:4px;height:36px;padding:3px;display:inline-flex;position:absolute;bottom:18px;right:14px;box-shadow:0 12px 26px #0f172a38}.sd-deco-nav button{width:30px;height:30px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.sd-deco-nav button:hover{background:#ffffff24}.sd-deco-nav span{text-align:center;min-width:34px;font-size:12px;font-weight:900}@media (prefers-reduced-motion:reduce){.sd-hero-tools.wall-mode-switch button>span{transition:none}}.sd-wall-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.sd-wall-strip button{min-width:0;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:800}.sd-wall-strip button>span{aspect-ratio:1.45;background:var(--surface-soft) center/cover no-repeat;border:2px solid #0000;border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.sd-wall-strip button.active>span{border-color:var(--brand-deep);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-deep) 16%, transparent)}.sd-wall-strip i{background:var(--brand-deep);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;display:grid;position:absolute;top:8px;right:8px}.sd-wall-strip strong{margin-top:8px;font-size:13px;display:block}.sd-generated h2{margin-bottom:2px}.sd-generated>p{color:var(--muted);margin:0 0 12px;font-size:12px}.sd-generated-list{flex-direction:column;gap:10px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.sd-generated-item{background:var(--surface-soft);border:2px solid #0000;border-radius:12px;position:relative;overflow:hidden}.sd-generated-item.active{border-color:var(--brand-deep)}.sd-generated-thumb{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.sd-generated-thumb img{aspect-ratio:1.75;object-fit:cover;width:100%;display:block}.sd-generated-thumb span{background:var(--brand-deep);color:#fff;border-radius:999px;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:10px;right:10px}.sd-generated-delete{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1118278a;border:1px solid #ffffff59;border-radius:9px;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:8px;left:8px}.sd-generated-delete:hover{background:#b91c1ce6;border-color:#ffffff8c}.sd-generated-empty{min-height:190px;color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:18px;display:flex}.dec-readonly .dec-preview img{object-fit:contain;background:#111827}.dec-readonly-panel{gap:14px}.dec-readonly-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;min-height:0;display:grid;overflow-y:auto}.dec-readonly-grid button{min-width:0;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;flex-direction:column;gap:6px;padding:0;font-weight:800;display:flex}.dec-readonly-grid button.active{border-color:var(--brand-deep)}.dec-readonly-grid span{aspect-ratio:1.45;background:var(--surface-soft) center / cover no-repeat;border-radius:8px;width:100%;display:block}.dec-readonly-grid small{white-space:nowrap;text-overflow:ellipsis;padding:0 4px 6px;font-size:11px;overflow:hidden}.sd-resources{gap:10px;overflow-y:auto}.sd-resources h2{margin-bottom:4px}.sd-resources section{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px;position:relative}.sd-resources h3{color:var(--brand-ink,var(--ink));margin:0 34px 10px 0;font-size:13px}.sd-card-action{border:1px solid var(--border);background:var(--surface-soft);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.sd-card-action:hover{border-color:var(--brand-deep);color:var(--brand-deep)}.sd-resource-row{align-items:center;gap:12px;min-width:0;display:flex}.sd-resource-row>div{min-width:0}.sd-resource-row strong{color:var(--ink);font-size:13px;display:block}.sd-resource-row span{color:var(--muted);font-size:12px;display:block}.sd-plan{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:8px;flex:0 0 70px;place-items:center;width:70px;height:62px;display:grid}.sd-plan svg{width:100%;height:100%}.sd-resource-icon{background:var(--surface-soft);width:56px;height:56px;color:var(--brand-deep);border-radius:10px;flex:0 0 56px;place-items:center;display:grid!important}.sd-resource-btn{border:1px solid var(--border);background:var(--surface);width:100%;min-height:36px;color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:800;display:inline-flex}.sd-style-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.sd-style-row button{min-width:0;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0}.sd-style-row button>span{aspect-ratio:1.45;background:var(--surface-soft) center/cover no-repeat;border:2px solid #0000;border-radius:9px;place-items:center;display:grid;position:relative;overflow:hidden}.sd-style-row button.active>span{border-color:var(--brand-deep)}.sd-style-row button.no-style>span{color:var(--ai-deep,#5b21b6);background:var(--ai-soft,#f3e8ff)}.sd-style-row i{color:#fff;background:var(--brand-deep);border-radius:999px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:6px;right:6px}.sd-style-row small{white-space:nowrap;text-overflow:ellipsis;margin-top:7px;font-size:11px;font-weight:800;display:block;overflow:hidden}.sd-resources textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:74px;font:inherit;color:var(--ink);background:var(--surface);border-radius:9px;padding:10px;font-size:13px}.sd-count{color:var(--muted);text-align:right;margin-top:4px;font-size:11px;display:block}.sd-generate{border:1px solid var(--ai-btn-border);background:linear-gradient(135deg, var(--ai-btn-from), var(--ai-btn-to));color:#fff;min-height:46px;font:inherit;cursor:pointer;box-shadow:0 12px 28px var(--ai-btn-shadow);border-radius:11px;justify-content:center;align-items:center;gap:8px;margin-top:auto;font-weight:900;display:inline-flex}.sd-generate:hover:not(:disabled){background:linear-gradient(135deg, var(--ai-btn-from-hover), var(--ai-btn-to-hover))}.sd-generate-inline{border-radius:9px;flex:none;min-height:38px;margin:0 0 0 auto;padding:0 14px;font-size:13px}.sd-generate:disabled{opacity:.55;cursor:not-allowed}.furniture-return-button{align-self:flex-start;margin-bottom:12px}@media (width<=1180px){.sd-top{grid-template-columns:auto minmax(0,1fr)}.sd-layout{grid-template-columns:220px minmax(0,1fr)}.saved-decorate{height:auto;overflow:visible}.sd-hero,.sd-hero img{min-height:360px}}@media (width<=760px){.saved-decorate{padding:0}.sd-top{grid-template-columns:1fr;padding:14px}.sd-back{width:max-content}.sd-title h1{font-size:21px}.sd-layout{flex-direction:column;display:flex}.sd-panel{padding:13px}.sd-stage-head{flex-wrap:wrap}.sd-generate-inline{width:100%;margin-left:0}.sd-room-list,.sd-generated-list{flex-direction:row;padding-bottom:4px;overflow-x:auto}.sd-room-list button{flex:0 0 170px}.sd-hero,.sd-hero img{min-height:280px}.sd-deco-nav{bottom:62px;right:10px}.sd-wall-strip{padding-bottom:4px;display:flex;overflow-x:auto}.sd-wall-strip button{flex:0 0 150px}.sd-generated-item{flex:0 0 190px}.sd-style-row{padding-bottom:4px;display:flex;overflow-x:auto}.sd-style-row button{flex:0 0 112px}}.group-chip.dotted{align-items:center;gap:7px;display:inline-flex}.group-chip-dot{background:var(--proj,#9aa4af);border-radius:50%;width:9px;height:9px}.group-chip.dotted.active .group-chip-dot{background:var(--surface)}.publish-modal{max-width:460px}.publish-modal-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.publish-modal-head>div{flex:auto;min-width:0}.publish-modal-head .modal-close{margin-left:auto}.publish-modal-ico{color:#2d6cdf;background:#eaf1fe;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.publish-modal-head h2{margin:0;font-size:20px}.publish-modal-head .muted{margin:2px 0 0}.publish-modal-text{color:var(--ink-soft);margin:0 0 14px;font-size:14px;line-height:1.5}.publish-modal-list{flex-direction:column;gap:12px;margin:0 0 14px;padding:0;list-style:none;display:flex}.publish-modal-list li{align-items:flex-start;gap:11px;display:flex}.publish-modal-list svg{color:#2d6cdf;flex:none;margin-top:1px}.publish-modal-list strong{color:var(--ink);font-size:14px;display:block}.publish-modal-list span{color:var(--muted);font-size:13px;line-height:1.4}.publish-modal-fee{background:var(--surface-soft);color:var(--ink);border:1px solid #dbe6fb;border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:14px}.topbar-bell{margin-left:auto}.app-shell.has-space-nav .topbar-actions{flex:1}.space-tabs{border-bottom:1px solid var(--border,#e6e8eb);flex-wrap:wrap;gap:4px;margin:8px 0 14px;display:flex}.space-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-size:14px;font-weight:600}.space-tab:hover{color:#2d6cdf}.space-tab.active{color:#2d6cdf;border-bottom-color:#2d6cdf}.space-tab-count{color:var(--muted);font-weight:700}.space-tab.active .space-tab-count{color:#2d6cdf}.link-button{color:#2d6cdf;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.iv-modal{z-index:60;background:var(--page);flex-direction:column;display:flex;position:fixed;inset:0}.iv-top{background:var(--surface);border-bottom:1px solid var(--border,#e6e8eb);justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;display:flex}.iv-top-left{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.iv-top .brand-logo{height:22px}.iv-title{color:var(--ink);align-items:center;gap:8px;font-size:15px;display:inline-flex}.iv-chip{background:var(--brand-soft);color:#1c7a4d;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.iv-ficha-mobile{display:none}.iv-mic-recovery{color:#8a6212;background:#d69e2e24;border-radius:10px;align-items:center;gap:8px;padding:6px 9px;font-size:12px;font-weight:700;display:flex}.iv-mic-recovery button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;padding:5px 8px;font-size:11px}.iv-progress{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.iv-progress-bar{background:var(--page);border-radius:999px;width:120px;height:6px;overflow:hidden}.iv-progress-bar i{background:linear-gradient(90deg,#1c7a4d,#57c08a);height:100%;transition:width .4s;display:block}.iv-kpis{gap:10px;display:flex}.iv-kpi{background:var(--surface-soft);border:1px solid var(--border,#e6e8eb);border-radius:10px;flex-direction:column;padding:6px 12px;line-height:1.1;display:flex}.iv-kpi span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:10px}.iv-kpi strong{color:var(--ink);font-size:15px}.iv-body{flex:1;grid-template-columns:260px 1fr 300px;gap:12px;min-height:0;padding:12px;display:grid}.iv-left,.iv-right{flex-direction:column;gap:12px;min-height:0;display:flex;overflow-y:auto}.iv-center{background:#000;border-radius:14px;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.iv-center .home3d-shell{flex:1;min-height:0;display:flex}.iv-center .room3d-stage-panel{flex:1;min-height:0}.iv-center .home3d-stage{width:100%;height:100%;min-height:0}.iv-speed-press{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.iv-speed-button{z-index:9;color:#fff;opacity:.42;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#11182775;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;gap:4px;width:auto;min-width:58px;height:38px;min-height:38px;padding:0 10px;transition:opacity .16s,background .16s,transform .16s;display:inline-flex;position:absolute;bottom:14px;left:14px}.iv-speed-button span{font-size:11px;font-weight:850;line-height:1}.iv-speed-button:hover,.iv-speed-button:focus-visible{opacity:.78}.iv-speed-button.active{opacity:.9;background:#2a9d8fb8;transform:scale(.96)}.iv-speed-press-zone{display:none}.iv-card{background:var(--surface);border:1px solid var(--border,#e6e8eb);border-radius:14px;padding:12px 14px}.iv-card h3{align-items:center;gap:6px;margin:0 0 8px;font-size:14px;display:flex}.iv-online{color:#1c7a4d;margin-left:auto;font-size:11px;font-weight:700}.iv-rooms{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.iv-room{cursor:pointer;width:100%;font:inherit;text-align:left;color:var(--ink-soft);background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;padding:8px;display:flex}.iv-room:hover{background:var(--surface-soft)}.iv-room.active{background:var(--brand-soft)}.iv-room-n{background:var(--page);width:22px;height:22px;color:var(--muted);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.iv-room.active .iv-room-n{color:#fff;background:#1c7a4d}.iv-room-name{flex:1;font-weight:600}.iv-room-cur{color:#1c7a4d;font-size:11px;font-weight:700}.iv-assistant{flex-direction:column;display:flex}.iv-assistant-toggle{width:100%;color:var(--ink);font:inherit;text-align:left;pointer-events:none;background:0 0;border:0;align-items:center;gap:8px;margin:0 0 8px;padding:0;font-size:14px;font-weight:800;display:flex}.iv-assistant-toggle>span:first-child{align-items:center;gap:7px;display:inline-flex}.iv-assistant-toggle .iv-online{margin-left:auto}.iv-assistant-chevron{display:none}.iv-assistant-body{display:block}.iv-chat{flex-direction:column;gap:8px;max-height:240px;padding:4px 0;display:flex;overflow-y:auto}.iv-msg{border-radius:10px;max-width:92%;padding:8px 10px;font-size:13px;line-height:1.4}.iv-msg.ia{background:var(--surface-soft);color:var(--ink);align-self:flex-start}.iv-msg.me{color:#fff;background:#2d6cdf;align-self:flex-end}.iv-quick{flex-direction:column;gap:6px;margin:10px 0;display:flex}.iv-quick-chip{text-align:left;background:var(--surface);border:1px solid var(--border,#e6e8eb);font:inherit;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:13px}.iv-quick-chip:hover{color:#2d6cdf;border-color:#2d6cdf}.iv-ask{gap:8px;display:flex}.iv-ask input{border:1px solid var(--border,#e6e8eb);font:inherit;border-radius:10px;flex:1;padding:8px 12px}.iv-miniplan{width:100%;height:150px}.iv-bottom{background:var(--surface);border-top:1px solid var(--border,#e6e8eb);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 18px;display:flex}.iv-ctrl{background:var(--surface);border:1px solid var(--border,#d7dde3);font:inherit;color:var(--ink-soft);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.iv-ctrl:hover:not(:disabled){color:#2d6cdf;border-color:#2d6cdf}.iv-ctrl:disabled{opacity:.45;cursor:default}.iv-ctrl.primary{color:#fff;background:#2d6cdf;border-color:#2d6cdf}.iv-ctrl.finish{color:#fff;background:#1c7a4d;border-color:#1c7a4d;margin-left:auto}.iv-ctrl.finish:hover:not(:disabled){color:#fff;background:#155f3c;border-color:#155f3c}.iv-finish-mobile,.iv-ask-fab{display:none}.iv-segmented{border:1px solid var(--border,#d7dde3);border-radius:10px;display:inline-flex;overflow:hidden}.iv-segmented button{background:var(--surface);font:inherit;color:var(--muted);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:inline-flex}.iv-segmented button.active{color:#2d6cdf;background:#eaf1fe}.home3d-chromeless .room3d-stage-panel{padding:0}.home3d-speaking{color:#fff;z-index:6;background:#111827db;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.iv-prep-loading{z-index:8;pointer-events:none;justify-content:center;align-items:flex-start;padding-top:16px;display:flex;position:absolute;inset:0}@keyframes ivPrepSpin{to{transform:rotate(360deg)}}.iv-prep-loading-badge{color:#fff;opacity:.9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1118278c;border-radius:999px;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;font-weight:700;display:inline-flex;box-shadow:0 8px 22px #00000047}.iv-prep-loading-badge:before{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite ivPrepSpin}.home3d-cc-wrap{z-index:6;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.home3d-cc-status{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111827d1;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.home3d-cc-text{text-align:center;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111827c7;border-radius:14px;max-width:min(760px,92%);margin:0;padding:10px 16px;font-size:15px;line-height:1.45;box-shadow:0 8px 24px #00000059}@media (width<=640px){.home3d-cc-text{padding:9px 13px;font-size:14px}}@media (width<=1100px){.iv-body{grid-template-columns:1fr;grid-auto-rows:min-content;overflow-y:auto}.iv-center{order:-1;min-height:52vh}.iv-left,.iv-right{overflow:visible}}@media (width<=720px){.iv-modal,.iv-modal.has-app-topbar{z-index:1100;top:0}.iv-modal{background:#f6f8fb}.iv-top{background:var(--surface);flex-direction:column;flex:none;align-items:stretch;gap:10px;padding:12px}.iv-top-left{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;width:100%;display:grid}.iv-top .brand-logo{display:none}.iv-title{flex-wrap:wrap;grid-area:1/1;min-width:0;font-size:14px;line-height:1.3}.iv-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.iv-title-sub{display:none}.iv-chip{font-size:11px}.iv-ficha-mobile{background:var(--surface);width:30px;height:30px;min-height:30px;color:var(--ink);cursor:pointer;border:1px solid #cbd5e1;border-radius:9px;place-items:center;padding:0;display:inline-grid}.iv-progress,.iv-modal .iv-top-right,.iv-kpis{display:none}.iv-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 10px 16px;display:flex;overflow-y:auto}.iv-left,.iv-right{display:contents}.iv-summary-card{display:none}.iv-center{aspect-ratio:4/3;border:1px solid var(--border);background:#f6f8fa;border-radius:16px;flex:none;order:1;width:100%;min-height:0;max-height:52dvh}.iv-center .home3d-chromeless{box-sizing:border-box;margin:0;padding:0;overflow:hidden}.iv-center .home3d-shell,.iv-center .room3d-stage-panel,.iv-center .home3d-stage{width:100%;height:100%;min-height:0}.iv-speed-button{display:none}.iv-speed-press-zone{z-index:9;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;width:min(38%,190px);display:block;position:absolute;inset:0 auto 0 0}.iv-speed-press-zone.active{background:linear-gradient(90deg,#2a9d8f1a,#0000)}.iv-assistant{border-color:color-mix(in srgb, var(--link) 32%, var(--border));background:var(--link-soft);order:2;padding:0;overflow:hidden}.iv-assistant-toggle{pointer-events:auto;cursor:pointer;min-height:54px;color:var(--link);margin:0;padding:13px 14px}.iv-assistant-toggle .iv-online{color:var(--success)}.iv-assistant-chevron{flex:none;transition:transform .18s;display:block}.iv-assistant.mobile-open .iv-assistant-chevron{transform:rotate(180deg)}.iv-assistant-body{padding:0 14px 14px;display:block}.iv-assistant:not(.mobile-open) .iv-assistant-body{display:none}.iv-plan-card{order:3}.iv-rooms-card{order:4}.iv-card{border-radius:16px;padding:13px 14px}.iv-chat{max-height:180px}.iv-quick{flex-flow:wrap}.iv-quick-chip{width:auto;font-size:12px}.iv-miniplan{height:190px}.iv-bottom{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));flex-wrap:nowrap;flex:none;justify-content:flex-start;gap:6px;overflow-x:auto;box-shadow:0 -8px 24px #0f172a14}.iv-ctrl,.iv-segmented button{white-space:nowrap;padding:8px 11px;font-size:14px}.iv-modal .iv-bottom .iv-ctrl.iv-play{width:34px;min-width:34px;height:34px;min-height:34px;box-shadow:none;flex:0 0 34px;justify-content:center;padding:0}.iv-modal .iv-bottom .iv-play .ivl,.iv-ask-btn-desktop{display:none}.iv-ask-fab{right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:86;color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d6cdf,#6e49e8);border:0;border-radius:999px;place-items:center;width:58px;height:58px;padding:0;display:grid;position:fixed;box-shadow:0 12px 30px #2d6cdf61}.iv-ask-fab.asking{background:linear-gradient(135deg,#e0483d,#c52d55);animation:1.4s ease-in-out infinite ivVoicePulse}.iv-ctrl.finish{margin-left:auto;position:sticky;right:0}.iv-ctrl.finish .ivl,.iv-finish-symbol{display:none}.iv-finish-mobile{font-weight:800;display:inline}.iv-mic-recovery{color:#8a6212;background:#d69e2e24;border-radius:10px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.iv-mic-recovery button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;padding:5px 8px;font-size:11px}.iv-modal .iv-assistant:not(.mobile-open) .iv-assistant-body{display:none}.iv-modal .iv-assistant .iv-ask{width:100%;display:flex}.iv-modal .iv-assistant .iv-ask input{min-width:0}}@media (width<=640px){.iv-bottom .ivl{display:none}.iv-ctrl,.iv-segmented button{padding:9px 11px}}@media (width>=721px){.space-hero-copy p,.furniture-hero-copy p{font-size:clamp(14px,1.6vw,18px);line-height:1.35}}.home-card-list-btn{color:#2d6cdf;font:inherit;cursor:pointer;background:#eaf1fe;border:1px solid #cfe0fb;border-radius:9px;align-items:center;gap:6px;margin-top:4px;padding:7px 10px;font-size:13px;font-weight:700;display:inline-flex}.home-card-list-btn:hover{background:#dceafe}.home-card-list-btn.listed{background:var(--brand-soft);color:#1c7a4d;border-color:#c7ecd6}.listing-control{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.listing-state.on{color:#1c7a4d;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.trial-banner{position:relative}.trial-banner-close{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;align-items:center;padding:4px;display:inline-flex}.trial-banner-close:hover{opacity:1}.billing-embedded{flex-direction:column;gap:14px;display:flex}.home3d-guided-btn{align-items:center;gap:6px;display:inline-flex}.guided-overlay{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:6;background:#111827db;border-radius:14px;max-width:560px;margin:0 auto;padding:14px 16px;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 12px 40px #00000059}.guided-progress{background:#ffffff2e;border-radius:999px;height:4px;margin-bottom:10px;overflow:hidden}.guided-progress span{background:linear-gradient(90deg,#818cf8,#c7d2fe);border-radius:999px;height:100%;transition:width .4s;display:block}.guided-head-actions{align-items:center;gap:4px;display:flex}.guided-overlay-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.guided-step{color:#c7d2fe;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.guided-overlay-head .ghost{color:#fff}.guided-narration{margin:0 0 8px;font-size:14px;line-height:1.45}.guided-answer{color:#e0e7ff;background:#ffffff14;border-radius:8px;gap:6px;margin:0 0 8px;padding:8px 10px;font-size:13px;line-height:1.4;display:flex}.guided-controls{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.guided-ask{gap:8px;display:flex}.guided-ask input{font:inherit;border:none;border-radius:8px;flex:1;padding:8px 12px;font-size:14px}.guided-ask input:focus{outline:2px solid #6366f1}@media (width<=640px){.guided-overlay{bottom:8px;left:8px;right:8px}}.visit-panel{margin-top:18px}.visit-agenda{background:var(--surface-soft);border:1px solid #d7e6ff;border-radius:10px;margin-bottom:12px;padding:10px 12px}.visit-agenda h4{color:#2d6cdf;margin:0 0 6px;font-size:13px}.visit-agenda-item{color:var(--ink);align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.visit-req{border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:10px 12px}.visit-req-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.visit-req-dates{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:4px;font-size:12px;display:flex}.visit-req-dates span{align-items:center;gap:4px;display:inline-flex}.visit-req-msg{color:var(--ink-soft);margin:6px 0 0;font-size:13px;font-style:italic}.visit-req-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.visit-req-actions input{border:1px solid var(--border);font:inherit;border-radius:8px;padding:6px 8px}.visit-chip{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.visit-chip.pending{color:#92651b;background:#fef3c7}.visit-chip.confirmed{color:#1c7a4d;background:#dcfce7}.visit-chip.cancelled{background:var(--surface-soft);color:var(--muted)}.visit-chip.completed{color:#3949ab;background:#e0e7ff}.plan-assign-furniture{margin:8px 0}.plan-assign-furniture select{width:100%}.furniture-element-filter{margin:8px 0 4px}.furniture-element-filter label{flex-direction:row;align-items:center;gap:8px;display:inline-flex}.furniture-element-filter select{border:1px solid var(--border);border-radius:7px;min-width:200px;padding:5px 8px}.furniture-thumb{position:relative}.furniture-fav{color:#c7ccd2;cursor:pointer;border:1px solid var(--border);background:#ffffffe6;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;display:grid;position:absolute;top:4px;right:4px}.furniture-fav.on{color:#f5b301}.furniture-status-badge{border-radius:999px;width:fit-content;margin-top:4px;padding:1px 8px;font-size:11px;font-weight:800;display:inline-block}.furniture-status-badge.status-favorite{color:#92600a;background:#fff7e6}.furniture-status-badge.status-discarded{background:var(--surface-soft);color:#8a929c}.furniture-status-badge.status-bought{background:var(--brand-soft);color:#14302b}.furniture-card-button.status-discarded{opacity:.65}.furniture-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:10px 0;display:flex}.furniture-filters label{color:var(--ink-soft);gap:4px;font-size:12px;font-weight:800}.furniture-filters select{border:1px solid var(--border);border-radius:7px;min-width:120px;padding:5px 8px}.furniture-price-range{gap:6px;display:inline-flex}.furniture-price-range input{border:1px solid var(--border);border-radius:7px;width:70px;padding:5px 8px}.furniture-room-label{color:var(--ink);border-bottom:1px solid var(--border);padding-bottom:4px;font-size:14px}.furniture-subgroup{margin:6px 0 10px}.furniture-subgroup-label{color:var(--muted);margin:6px 0;font-size:12px;font-weight:800;display:block}.furniture-compare{width:22px;height:22px;color:var(--muted);border:1px solid var(--border);cursor:pointer;background:#ffffffe6;border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;top:4px;left:4px}.furniture-compare.on{color:#fff;background:#2f6fde;border-color:#2f6fde}.furniture-compare-bar{color:#fff;box-shadow:var(--shadow-md);background:#17212b;border-radius:10px;align-items:center;gap:10px;width:fit-content;margin-top:12px;padding:8px 12px;display:flex;position:sticky;bottom:8px}.furniture-compare-bar .mini-button{color:#fff}.furniture-compare-bar .primary{background:#2f6fde}.modal-wide{width:calc(100vw - 40px);max-width:920px}.furniture-compare-grid{background:var(--border);border:1px solid var(--border);border-radius:10px;gap:1px;margin-top:10px;display:grid;overflow:hidden}.furniture-compare-grid>div{background:var(--surface);padding:8px 10px;font-size:13px}.fc-rowhead{color:var(--ink-soft);font-weight:800;background:var(--surface-soft)!important}.fc-col-head{text-align:center;justify-items:center;gap:6px;display:grid}.fc-col-head .furniture-thumb{width:70px;height:70px}.fc-actions{flex-wrap:wrap;gap:6px;display:flex}.furniture-suggestions{background:#fffaf0;border:1px solid #f0d8a0;border-radius:10px;margin:10px 0;padding:10px 12px}.furniture-suggestion-row{border-top:1px solid #f0e3c8;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.furniture-suggestion-info{min-width:0;display:grid}.furniture-suggestion-info a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.furniture-suggestion-info small{color:var(--muted)}.furniture-suggestion-actions{flex:none;gap:6px;display:inline-flex}@media (width<=980px){.lp-hero{grid-template-columns:1fr;gap:28px}.lp-stage{min-height:420px;margin-top:8px}.lp-sub{max-width:none}.lp-spot{grid-template-columns:1fr;gap:28px}.lp-steps-grid,.lp-features-grid,.lp-statsbar{grid-template-columns:repeat(2,1fr)}}.dna{flex-direction:column;gap:20px;display:flex}.dna-hero{background:linear-gradient(135deg,#f4fbf8,#eaf7f2);border:1px solid #d8ece6;border-radius:22px;grid-template-columns:1fr;gap:18px;padding:26px;display:grid}.dna-hero-copy{text-align:center}.dna-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#137a6e;background:var(--brand-soft);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:800;display:inline-flex}.dna-hero-copy h3{color:var(--brand-ink);margin:12px 0 6px;font-size:24px;font-weight:800}.dna-hero-copy p{max-width:620px;color:var(--brand-ink);margin:0 auto;line-height:1.55}.dna-figure{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.dna-col{flex-direction:column;gap:10px;display:flex}.dna-figure>.dna-col:first-child{align-items:flex-end}.dna-body{filter:drop-shadow(0 12px 22px #0f5a502e);width:100%;max-width:240px;height:auto;margin:0 auto;display:block}.dna-chip{background:var(--surface);color:#15564e;white-space:nowrap;border:1px solid #cfe7e0;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 3px 10px #0f5a5014}.dna-chip svg{color:#1f9d8f;flex:none}.dna-cards{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.dna-card{background:var(--surface);border:1px solid #e6efed;border-radius:18px;padding:18px 20px}.dna-card h4{color:var(--brand-ink);align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:800;display:flex}.dna-card h4 svg{color:#1f9d8f}.dna-checks,.dna-list,.dna-x{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.dna-checks li,.dna-x li{color:var(--brand-ink);align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.dna-checks li svg{color:#1f9d8f;flex:none}.dna-x li svg{color:#e0245e;flex:none}.dna-list li{color:var(--brand-ink);padding-left:18px;font-size:14px;font-weight:600;position:relative}.dna-list li:before{content:"";background:#1f9d8f;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:2px}.dna-bars{flex-direction:column;gap:11px;display:flex}.dna-bar-row{color:var(--brand-ink);grid-template-columns:1fr 90px auto;align-items:center;gap:10px;font-size:13px;font-weight:600;display:grid}.dna-bar{background:var(--brand-soft);border-radius:999px;height:8px;overflow:hidden}.dna-bar i{background:linear-gradient(90deg,#2bb3a0,#1f9d8f);border-radius:999px;height:100%;display:block}.dna-bar-row b{color:#137a6e;font-size:12px}.dna-card .muted{color:#8aa19c;margin:0;font-size:13px}.dna-actions{flex-wrap:wrap;justify-content:center;gap:12px;padding:4px 0 8px;display:flex}@media (width<=720px){.dna-hero{padding:18px}.dna-figure{grid-template-columns:1fr}.dna-col{flex-flow:wrap;justify-content:center}.dna-figure>.dna-col:first-child{align-items:center}.dna-body{max-width:200px}.dna-cards{grid-template-columns:1fr}}.hv-shell{flex-direction:column;gap:18px;display:flex}.hv-header{grid-template-columns:auto 1fr auto auto auto;grid-template-areas:"back title pills card-actions actions";align-items:center;gap:10px 16px;display:grid}.hv-title-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.hv-ver-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.hv-ver-chip:hover{border-color:#1f9d8f}.hv-ver-chip:disabled{opacity:.5;cursor:not-allowed}@media (width>=721px){.hv-header .hv-pills{justify-content:flex-end;align-items:stretch}.hv-header .hv-header-actions{align-self:stretch}.hv-header .hv-header-actions .hv-more,.hv-header .hv-header-actions .hv-more>summary{height:100%}}.hv-back{background:var(--surface-soft);color:var(--ink);cursor:pointer;border:1px solid #e3ece9;border-radius:11px;grid-area:back;align-items:center;gap:7px;padding:9px 14px;font-weight:700;display:inline-flex}.hv-back:hover{border-color:#1f9d8f}.hv-header-title{grid-area:title;min-width:0}.hv-header-title h1{color:var(--ink);margin:0;font-size:22px;font-weight:800}.hv-header-title p{color:var(--muted);margin:3px 0 0;font-size:13px}.hv-header-actions{grid-area:actions;align-items:center;gap:8px;display:flex}.hv-card-actions{grid-area:card-actions;align-items:center;gap:4px;min-width:0;display:flex}.hv-card-actions .icon-button{flex:0 0 34px;width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.hv-header-actions .hv-btn-primary{flex:none;width:auto}.hv-btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:9px 14px;font-size:14px;font-weight:700;transition:border-color .15s;display:inline-flex}.hv-btn-ghost:hover{border-color:#1f9d8f}.hv-btn-ghost:disabled{opacity:.5;cursor:not-allowed}.hv-btn-ghost.icon-only{padding:9px}.hv-btn-ghost.full{justify-content:center;width:100%;margin-top:8px}.hv-btn-ai{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#5b35d5);border:1px solid #d8ccff;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 8px 18px #7c3aed38}.hv-btn-ai:hover{filter:brightness(1.04)}.hv-more summary{list-style:none}.hv-more summary::-webkit-details-marker{display:none}.hv-more-panel{min-width:230px;max-width:calc(100vw - 24px);left:auto;right:0}.hv-btn-primary{color:#fff;cursor:pointer;background:#137a6e;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:800;transition:background .15s;display:inline-flex}.hv-btn-primary:hover{background:#0f655b}.hv-btn-primary:disabled{opacity:.5;cursor:not-allowed}.hv-pills{flex-wrap:wrap;grid-area:pills;gap:10px;display:flex}.hv-pill{background:var(--surface-soft);border:1px solid #eaf0ee;border-radius:14px;flex-direction:column;gap:3px;min-width:96px;padding:10px 16px;display:flex}.hv-pill-k{color:var(--muted);align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.hv-pill strong{color:var(--ink);font-size:17px;font-weight:800}.hv-pill-prog{align-items:center;gap:9px;display:flex}.hv-pill-prog strong{font-size:16px}.hv-3d{color:var(--muted);align-items:center;gap:5px;font-size:15px;font-weight:800;display:inline-flex}.hv-3d.ready{color:#137a6e}.hv-pill-btn{cursor:pointer;text-align:left;font:inherit}.hv-pill-btn:hover{border-color:#1f9d8f}.hv-pill-btn:disabled{opacity:.6;cursor:not-allowed}.hv-prog-ring{--p:0;background:conic-gradient(#137a6e calc(var(--p) * 1%), #e3ece9 0);border-radius:50%;flex:none;width:30px;height:30px;position:relative}.hv-prog-ring:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:4px}.hv-prog-ring.lg{width:64px;height:64px}.hv-prog-ring.lg:after{inset:7px}.hv-prog-ring b{z-index:1;color:#137a6e;place-items:center;font-size:15px;font-weight:800;display:grid;position:absolute;inset:0}.hv-doc{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:18px;display:grid}.hv-doc>.panel{margin:0}.hv-rooms .room-table-head{display:none}.hv-rooms .room-table{box-shadow:none;background:0 0;border:0;flex-direction:column;gap:10px;display:flex}.hv-rooms .room-row{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.hv-rooms .room-row.active{background:var(--brand-soft);border-color:#1f9d8f}.hv-rooms .room-row-main{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;flex:140px;align-items:stretch;gap:3px;min-width:0;padding:0;display:flex}.hv-rooms .room-row-main strong{color:var(--brand-ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.hv-rooms .room-row-line{justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.hv-rooms .room-row-dims,.hv-rooms .room-row-type{color:var(--muted);white-space:nowrap;flex:none;font-size:12px}.hv-rooms .room-actions{gap:4px;margin-left:auto;display:flex}.hv-rooms-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:360px;padding:26px 18px;display:flex}.hv-empty-illustration{color:#aeb8d4;background:radial-gradient(circle at 50% 35%,#ffffffeb,#f3f5fbd9 58%,#eaeef7c7),linear-gradient(145deg,#f7f8fc,#e9edf7);border-radius:50%;place-items:center;width:132px;height:132px;display:grid}.hv-rooms-empty strong{color:var(--ink);font-size:20px;font-weight:850}.hv-rooms-empty p{max-width:230px;color:var(--muted);margin:0;line-height:1.45}.hv-empty-add-room{background:var(--surface);color:#5956f3;cursor:pointer;border:1.5px solid #7166ff;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-width:220px;min-height:48px;font-size:15px;font-weight:850;display:inline-flex}.hv-empty-add-room:hover{background:#f6f5ff;box-shadow:0 10px 24px #5956f31f}.hv-rooms{border-color:#0000}.hv-rooms .room-process-col{align-items:center;gap:6px;width:100%;display:flex}.hv-rooms .detail-room-form{margin-top:12px}@media (width<=640px){.hv-rooms .room-row{flex-direction:column;align-items:stretch;gap:10px}.hv-rooms .room-row-main{width:100%}.hv-rooms .room-actions{justify-content:flex-end;margin-left:0}}.hv-studio-head{flex-wrap:wrap;align-items:center;gap:10px}.hv-photos-badge{color:var(--muted);background:var(--surface-soft);border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.hv-photos-badge.done{color:#137a6e;background:var(--brand-soft)}.hv-dim-chip{color:var(--muted);margin-left:8px;font-size:12px;font-weight:600}.hv-studio-titlewrap{align-items:center;gap:8px;min-width:0;display:inline-flex}.hv-studio-titles{flex-direction:column;gap:1px;min-width:0;display:flex}.hv-studio-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:850;line-height:1.15;overflow:hidden}.hv-studio-dims{color:var(--muted);font-size:12px;font-weight:700}.hv-studio-head{justify-content:flex-start;align-items:center}.hv-studio-chips{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}@media (width>=721px){.hv-studio-chips{margin-left:auto}}.hv-studio-chips .hv-photos-badge{gap:0;margin-left:0}.hv-studio-proc{gap:0}.hv-empty-studio{place-items:stretch stretch;min-height:560px;padding:20px;display:grid}.hv-empty-upload{text-align:center;background:linear-gradient(#fffffff2,#fafbfef0);border:1px dashed #cfd8e6;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;min-height:100%;padding:28px 28px 22px;display:flex}.hv-empty-upload-icon{color:#6656f2;filter:drop-shadow(0 16px 24px #5244e63d);place-items:center;width:112px;height:92px;display:grid;position:relative}.hv-empty-upload-icon>span{color:#fff;background:linear-gradient(135deg,#7166ff,#4f46e5);border-radius:16px;place-items:center;width:42px;height:42px;display:grid;position:absolute;bottom:11px;right:13px}.hv-empty-upload h2{color:var(--ink);margin:0;font-size:26px;font-weight:900;line-height:1.18}.hv-empty-upload p{color:#71809a;margin:0;font-size:15px;font-weight:650;line-height:1.45}.hv-folder-tree{text-align:left;background:#ffffffdb;border:1px solid #d9e0ef;border-radius:12px;grid-template-columns:repeat(4,minmax(130px,1fr));gap:18px 22px;width:min(760px,100%);margin-top:2px;padding:18px 22px;display:grid;box-shadow:inset 0 1px #ffffffb3}.hv-folder-root,.hv-folder-room,.hv-folder-file{color:#65728a;align-items:center;gap:8px;min-width:0;font-size:14px;line-height:1.35;display:flex}.hv-folder-root strong,.hv-folder-room strong,.hv-folder-file em{text-overflow:ellipsis;white-space:nowrap;color:#344054;min-width:0;font-style:normal;font-weight:700;overflow:hidden}.hv-folder-root svg,.hv-folder-room svg{color:#3e95f6;fill:#3e95f624;flex:none}.hv-folder-file{margin-top:8px;padding-left:28px}.hv-folder-file svg{color:#5a5ef1;flex:none}.hv-folder-branch:not(:first-child) .hv-folder-room{margin-top:31px}.hv-empty-upload-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#5e4df8,#3d35e8);border:0;border-radius:10px;justify-content:center;align-items:center;gap:16px;width:min(760px,100%);min-height:62px;font-size:25px;font-weight:900;display:inline-flex;box-shadow:0 18px 32px #4b41e83d}.hv-empty-upload-button input{display:none}.hv-empty-upload-button.is-disabled{opacity:.62;cursor:not-allowed;pointer-events:none}.hv-empty-or{color:#97a1b5;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:min(760px,100%);font-weight:850;display:grid}.hv-empty-or span{background:#eef1f6;height:1px}.hv-empty-menu-hint{color:#71809a;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:800;display:inline-flex}.hv-empty-menu-hint svg{color:#344054;background:#fff;border:1px solid #dfe5f0;border-radius:10px;width:34px;height:34px;padding:7px}.hv-empty-menu-hint strong{color:#5148e5}.hv-rail{flex-direction:column;gap:14px;display:flex}.hv-rail-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px}.hv-rail-card h3{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:13px;font-weight:800}.hv-rail-ring{align-items:center;gap:14px;margin-bottom:14px;display:flex}.hv-rail-ring strong{color:var(--brand-ink);font-size:14px;display:block}.hv-rail-ring>div span{color:var(--muted);font-size:12px}.hv-checklist{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.hv-checklist li{color:var(--muted);align-items:center;gap:9px;font-size:13px;display:flex}.hv-checklist li svg{color:var(--muted);flex:none}.hv-checklist li.ok{color:var(--brand-ink)}.hv-checklist li.ok svg{color:#2bb673}.hv-checklist li span{flex:1}.hv-checklist li b{color:var(--muted);font-size:12px;font-weight:700}.hv-checklist li.ok b{color:#2bb673}.hv-rail-state{color:var(--muted);border-top:1px solid #f0f4f3;justify-content:space-between;align-items:center;padding-top:12px;font-size:13px;display:flex}.hv-state-badge{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.hv-state-badge.ready{background:var(--brand-soft);color:#137a6e}.hv-rail-3d p{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.5}.hv-rail-note{color:var(--muted);background:var(--brand-soft);border:1px solid #d8ece6;border-radius:14px;gap:10px;padding:12px 14px;font-size:12px;line-height:1.45;display:flex}.hv-rail-note svg{color:#137a6e;flex:none}.hv-advanced{border:1px solid var(--border);background:var(--surface);border-radius:18px;margin-top:4px;overflow:hidden}.hv-advanced-toggle{background:var(--surface-soft);cursor:pointer;width:100%;color:var(--ink);border:0;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:800;display:flex}.hv-advanced-toggle span{align-items:center;gap:9px;display:inline-flex}.hv-advanced-toggle em{color:var(--muted);font-size:13px;font-style:normal;font-weight:500}.hv-advanced-toggle:hover{background:var(--brand-soft)}.hv-advanced-body{padding:6px 12px 12px;display:none}.hv-advanced.open .hv-advanced-body{display:block}@media (width<=1200px){.hv-doc{grid-template-columns:1fr}.hv-empty-studio{min-height:auto}}@media (width<=720px){.hv-header{grid-template-columns:1fr auto;grid-template-areas:"back actions""title title""card-actions card-actions""pills pills"}.hv-header-actions{flex-wrap:wrap;justify-content:flex-end}.hv-card-actions{overscroll-behavior-x:contain;padding-bottom:2px;overflow-x:auto}.hv-card-actions::-webkit-scrollbar{display:none}.hv-pill{flex:1;min-width:0}.hv-advanced-toggle em{display:none}}@media (width<=640px){.project-shell.hv-shell{gap:12px}.hv-header{z-index:20;gap:10px;padding:12px;position:relative;overflow:visible}.hv-back{border-radius:9px;width:fit-content;min-height:34px;padding:7px 10px}.hv-header-title h1{font-size:20px;line-height:1.15}.hv-header-title p{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.hv-header-actions{flex-wrap:wrap;justify-content:flex-start;padding-bottom:0;overflow:visible}.hv-header-actions::-webkit-scrollbar{display:none}.hv-header-actions>*{flex:none}.hv-header-actions .hv-btn-ghost,.hv-header-actions .hv-btn-primary,.hv-header-actions .hv-btn-ai{white-space:nowrap;border-radius:9px;width:auto;min-height:34px;padding:7px 10px;font-size:13px}.hv-header-actions .hv-btn-ghost.icon-only{width:34px;padding:7px}.hv-pills{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.hv-pills::-webkit-scrollbar{display:none}.hv-pill{scroll-snap-align:start;border-radius:12px;flex:0 0 116px;min-width:116px;padding:8px 10px}.hv-pill strong{font-size:15px}.hv-pill-k{font-size:10px}.hv-prog-ring{width:24px;height:24px}.hv-prog-ring:after{inset:3px}.hv-doc{flex-direction:column;gap:12px;min-width:0;display:flex}.hv-doc.rooms-collapsed{display:flex}.hv-doc>.panel{border-radius:12px;width:100%;min-width:0;padding:12px}.hv-rooms-empty{min-height:300px;padding:18px 10px}.hv-empty-studio{padding:10px}.hv-empty-upload{border-radius:14px;padding:22px 14px}.hv-empty-upload h2{font-size:22px}.hv-empty-upload p{font-size:14px}.hv-folder-tree{grid-template-columns:1fr 1fr;gap:14px;padding:14px}.hv-folder-branch:not(:first-child) .hv-folder-room{margin-top:0}.hv-empty-upload-button{min-height:56px;font-size:20px}.hv-empty-menu-hint{flex-wrap:wrap;font-size:14px}.hv-rooms .panel-title{flex-wrap:nowrap;align-items:center;margin-bottom:10px}.hv-rooms .panel-title>span:first-child{flex:auto;min-width:0}.hv-rooms .header-actions{flex:none;gap:5px}.hv-rooms .header-actions>button[aria-label*=Ocultar],.hv-rooms .header-actions>button[aria-label*=Mostrar]{display:none}.hv-rooms .room-table{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;box-shadow:none;background:0 0;border:0;border-radius:0;grid-auto-columns:min(78vw,250px);grid-auto-flow:column;gap:10px;padding:1px 1px 6px;display:grid;overflow-x:auto}.hv-rooms .room-table:has(.hv-rooms-empty){padding:0;display:block;overflow:visible}.hv-rooms .room-table::-webkit-scrollbar{display:none}.hv-rooms .room-row{scroll-snap-align:start;border-radius:12px;grid-template-columns:minmax(0,1fr);align-self:start;gap:8px;min-width:0;padding:10px;display:grid}.hv-rooms .room-row-main{flex:none;grid-column:1/-1;min-width:0}.hv-rooms .room-row-main strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.hv-rooms .room-actions{grid-area:auto/1/auto/-1;justify-content:flex-end;align-self:auto;gap:6px;width:100%;padding-top:2px;display:flex}.hv-rooms .room-actions .icon-button{width:30px;height:30px;min-height:30px}.hv-rooms .room-process-col,.hv-rooms .room-row-main .image-dots,.hv-rooms-mini{grid-column:1/-1}.hv-studio-head{align-items:flex-start;gap:8px}.hv-studio-head>span:first-child{flex-wrap:nowrap;width:100%;min-width:0}.hv-studio-chips{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;padding-bottom:3px;overflow-x:auto}.hv-studio-chips::-webkit-scrollbar{display:none}.hv-studio-chips>*{flex:none}.hv-photos-badge,.hv-dim-chip{margin-left:0}.hv-more .tool-menu-panel,.hv-rooms-more .tool-menu-panel{z-index:1500;width:min(260px,100vw - 20px);min-width:0;max-width:calc(100vw - 20px);position:fixed;top:auto;left:auto;right:10px}.hv-more .tool-menu-panel{top:118px}.hv-rooms-more .tool-menu-panel{top:360px}}@media (width<=480px){.hv-folder-tree{grid-template-columns:1fr}.hv-empty-add-room{min-width:100%}}.dna-btn-primary{color:#fff;cursor:pointer;background:#137a6e;border:0;border-radius:13px;align-items:center;gap:9px;padding:13px 22px;font-size:15px;font-weight:800;transition:background .15s;display:inline-flex}.dna-btn-primary:hover{background:#0f655b}.dna-btn-ghost{background:var(--surface);color:#137a6e;cursor:pointer;border:1px solid #cfe7e0;border-radius:13px;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:700;display:inline-flex}.dna-btn-ghost:hover{background:var(--brand-soft)}.hv-doc.rooms-collapsed{grid-template-columns:60px minmax(0,1fr)}.hv-rooms.collapsed{padding:12px 8px}.hv-rooms.collapsed .panel-title{justify-content:center}.hv-rooms.collapsed .panel-title>span:first-child{display:none}.hv-rooms.collapsed .header-actions{gap:0}.hv-rooms.collapsed .header-actions>:not(:last-child){display:none}.hv-rooms-mini{flex-direction:column;align-items:center;gap:8px;margin-top:12px;display:flex}.hv-room-mini{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:11px;font-size:15px;font-weight:800;transition:all .15s}.hv-room-mini:hover{color:#137a6e;border-color:#1f9d8f}.hv-room-mini.active{color:#fff;background:#137a6e;border-color:#137a6e}@media (width<=1200px){.hv-doc.rooms-collapsed{grid-template-columns:1fr}}.hv-advanced-open{background:var(--surface-soft);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--ink);border-radius:14px;justify-content:space-between;align-items:center;margin-top:4px;padding:14px 18px;font-size:15px;font-weight:800;display:flex}.hv-advanced-open:hover{background:var(--brand-soft);border-color:#1f9d8f}.hv-advanced-open span{align-items:center;gap:9px;display:inline-flex}.hv-advanced-open em{color:var(--muted);font-size:13px;font-style:normal;font-weight:500}.hv-advanced-open>svg{color:#137a6e;flex:none}.hv-editor-backdrop,.hv-editor-fullscreen{z-index:39;background:var(--page);display:flex;position:fixed;inset:0 0 0 232px}.hv-editor-back{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-flex}.hv-editor-back:hover{border-color:var(--brand);color:var(--brand-deep)}.hv-editor-modal{background:var(--surface);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.hv-editor-modal-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:16px;padding:12px 20px;display:flex}.hv-editor-title{color:var(--brand-ink);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:800;display:inline-flex;overflow:hidden}.hv-editor-phases{background:var(--page);border-radius:10px;gap:4px;margin:0 auto;padding:4px;display:inline-flex}.hv-editor-phases button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:800;display:inline-flex}.hv-editor-phases button:hover{color:var(--ink)}.hv-editor-phases button.active{background:var(--surface);border-color:var(--border);color:var(--brand-deep);box-shadow:var(--shadow-sm)}.hv-editor-modal-body{flex:1;min-height:0;padding:14px;overflow:auto}.hv-editor-modal-body .editor-layout{margin:0}.dec-editor-wrap{height:100%}.dec-modal.dec-embedded{border:1px solid var(--border);border-radius:14px;width:100%;height:100%}.hv-add-room{color:#fff;cursor:pointer;background:#137a6e;border:0;border-radius:9px;align-items:center;gap:5px;padding:6px 11px;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.hv-add-room:hover{background:#0f655b}.hv-add-room:disabled{opacity:.5;cursor:not-allowed}.hv-add-room-icon{background:var(--brand-deep);color:#fff;justify-content:center;gap:0;width:30px;height:30px;padding:6px}.hv-add-room-icon svg{color:#fff;stroke:#fff}.hv-addroom-modal{width:min(440px,94vw);padding:0}.hv-addroom-head{border-bottom:1px solid #eef0ef;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.hv-addroom-head h2{color:var(--brand-ink);align-items:center;gap:8px;margin:0;font-size:17px;font-weight:800;display:flex}.hv-addroom-head h2 svg{color:#137a6e}.hv-addroom-form{flex-direction:column;gap:14px;padding:18px;display:flex}.hv-addroom-form>label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.hv-addroom-form input,.hv-addroom-form select{border:1px solid var(--border);font-size:14px;font:inherit;border-radius:10px;padding:10px 12px}.hv-addroom-form input:focus,.hv-addroom-form select:focus{border-color:#1f9d8f;outline:none;box-shadow:0 0 0 3px #1f9d8f26}.hv-addroom-dims{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hv-addroom-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.fp-insp{flex-direction:column;gap:14px;display:flex}.fp-insp-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.fp-insp-head{align-items:center;gap:12px;display:flex}.fp-insp-ico{color:#137a6e;border:1px solid;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid}.fp-insp-head strong{color:var(--brand-ink);font-size:17px;font-weight:800;display:block}.fp-insp-head>div>span{color:var(--muted);font-size:13px}.fp-insp-chips{flex-wrap:wrap;gap:6px;display:flex}.fp-chip{color:var(--brand-ink);background:var(--brand-soft);border:1px solid #e0ebe7;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-flex}.fp-assign{border-top:1px solid #eef0ef;flex-direction:column;gap:10px;padding-top:12px;display:flex}.fp-assign-head strong{color:var(--brand-ink);font-size:14px;font-weight:800}.fp-assign-search{border:1px solid var(--border);color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:flex}.fp-assign-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;width:100%;font-size:13px}.fp-assign-empty{font-size:12px}.fp-assign-cards{scroll-snap-type:x proximity;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.fp-cand{scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;flex:0 0 128px;align-items:stretch;gap:1px;padding:8px;transition:border-color .15s,box-shadow .15s;display:flex}.fp-cand:hover{border-color:#1f9d8f}.fp-cand.on{background:var(--brand-soft);border-color:#137a6e;box-shadow:inset 0 0 0 1.5px #137a6e}.fp-cand-media{aspect-ratio:4/3;background:var(--surface-soft) center / cover no-repeat;color:#b3c2bd;border-radius:8px;place-items:center;width:100%;margin-bottom:6px;display:grid;position:relative}.fp-cand-check{color:#fff;background:#137a6e;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:5px;right:5px;box-shadow:0 1px 4px #0003}.fp-cand strong{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;font-size:12px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.fp-cand-store{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.fp-cand-price{color:var(--ink);margin-top:2px;font-size:13px;font-weight:800}.fp-cand-dims{color:var(--muted);font-size:11px}.fp-fit{background:var(--brand-soft);border:1px solid #d8ece6;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.fp-fit.warn{background:#fff8ec;border-color:#f0dcc0}.fp-fit-ico{color:#137a6e;flex:none}.fp-fit.warn .fp-fit-ico{color:#e8973a}.fp-fit-copy{flex:1}.fp-fit-copy strong{color:var(--brand-ink);font-size:13px;display:block}.fp-fit-copy span{color:var(--muted);font-size:11px}.fp-fit-diff{text-align:right}.fp-fit-diff span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:10px;display:block}.fp-fit-diff b{color:#137a6e;font-size:14px}.fp-fit.warn .fp-fit-diff b{color:#e8973a}.fp-btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.fp-btn-ghost:hover{border-color:#1f9d8f}.fp-btn-ghost.full{width:100%}.fp-actions{border-top:1px solid #eef0ef;padding-top:12px}.fp-actions-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.fp-actions-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fp-actions-grid button{background:var(--surface);border:1px solid var(--border);color:var(--brand-ink);cursor:pointer;border-radius:11px;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;font-size:12px;font-weight:700;display:inline-flex}.fp-actions-grid button:hover{color:#137a6e;border-color:#1f9d8f}.fp-actions-grid button svg{color:#137a6e}.fp-actions-grid button.danger,.fp-actions-grid button.danger svg{color:#e0245e}.fp-actions-grid button.danger:hover{background:#fdeef2;border-color:#e0245e}.fp-furn-list{margin-top:16px}.fp-furn-list-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.fp-furn-list-head h3{color:var(--brand-ink);margin:0;font-size:17px;font-weight:800}.fp-furn-list-head .muted{font-size:13px}.fp-furn-count{color:#137a6e;background:var(--brand-soft);border-radius:999px;flex:none;padding:5px 12px;font-size:12px;font-weight:700}.fp-furn-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.fp-furn-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.fp-furn-card.on{border-color:#1f9d8f;box-shadow:inset 0 0 0 1px #1f9d8f}.fp-furn-media{aspect-ratio:4/3;background:var(--surface-soft) center / cover no-repeat;color:#b3c2bd;border-radius:10px;place-items:center;width:100%;display:grid}.fp-furn-info strong{color:var(--ink);font-size:14px;font-weight:700;display:block}.fp-furn-info span{color:var(--muted);font-size:12px;display:block}.fp-furn-store{color:var(--muted)!important}.fp-furn-badge{background:var(--surface-soft);color:var(--muted);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:700}.fp-furn-badge.on{background:var(--brand-soft);color:#137a6e}.fp-furn-actions{border-top:1px solid #f0f4f3;gap:4px;padding-top:8px;display:flex}.fp-furn-actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 2px;font-size:11px;font-weight:600;display:inline-flex}.fp-furn-actions button:hover{background:var(--brand-soft);color:#137a6e}.fp-furn-actions button svg{color:var(--muted)}.fp-furn-actions button:hover svg{color:#137a6e}.fp-furn-actions button.danger:hover{color:#e0245e;background:#fdeef2}.fp-furn-actions button.danger:hover svg{color:#e0245e}.hg-overlay{z-index:3000;background:#0b0b0c;position:fixed;inset:0;overflow:hidden}.hg-rotor{background:#0b0b0c;width:100%;height:100%;position:relative;overflow:hidden}@media (orientation:portrait){.hg-rotor{transform-origin:0 0;width:100vh;height:100vw;margin-left:100vw;position:absolute;top:0;left:0;transform:rotate(90deg)}}.hg-hero{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.hg-hero-empty{color:var(--muted);background:#15161a;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.hg-scrim{pointer-events:none;background:linear-gradient(#00000080 0%,#0000 22% 58%,#0000008c 100%);position:absolute;inset:0}.hg-top{z-index:2;align-items:center;gap:14px;padding:18px 22px;display:flex;position:absolute;top:0;left:0;right:0}.hg-circle{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#0000006b;border:0;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;transition:background .15s;display:grid}.hg-circle:hover{background:#0000009e}.hg-titles{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.hg-sub{color:#ffffffd1;text-shadow:0 2px 8px #00000073;font-size:14px}.hg-titles strong{color:#fff;text-shadow:0 2px 10px #00000073;font-size:26px;font-weight:700;line-height:1.05}.hg-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.hg-variant-chips{-webkit-backdrop-filter:blur(8px);background:#0000006b;border-radius:999px;gap:3px;padding:4px;display:inline-flex}.hg-variant-chips span{color:#ffffff80;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 13px;font-size:12px;font-weight:700;display:inline-flex}.hg-variant-chips span.active{color:#15332e;background:#fff}.hg-angle-nums{gap:5px;display:inline-flex}.hg-angle-nums button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#0000006b;border:1px solid #ffffff4d;border-radius:50%;width:30px;height:30px;font-size:13px;font-weight:700}.hg-angle-nums button:hover{background:#0000009e}.hg-angle-nums button.active{background:var(--surface);color:var(--brand-ink);border-color:#fff}.hg-count{color:#fff;-webkit-backdrop-filter:blur(8px);background:#0000006b;border-radius:999px;align-self:flex-start;margin-left:auto;padding:8px 16px;font-size:15px;font-weight:600}.hg-nav{z-index:2;position:absolute;top:44%;transform:translateY(-50%)}.hg-nav.prev{left:22px}.hg-nav.next{right:22px}.hg-rooms{z-index:2;background:linear-gradient(#0000,#0000008c);gap:8px;padding:14px 16px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.hg-room{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#0000006b;border:1px solid #ffffff1f;border-radius:12px;flex:none;align-items:center;gap:9px;padding:7px 14px 7px 7px;display:inline-flex}.hg-room:hover{background:#0000009e}.hg-room.active{color:var(--brand-ink);background:#fffffff5;border-color:#fff}.hg-room-thumb{color:#fff9;background:#ffffff26 50%/cover no-repeat;border-radius:8px;flex:none;place-items:center;width:44px;height:34px;display:grid}.hg-room.active .hg-room-thumb{color:#b3c2bd}.hg-room-label{white-space:nowrap;font-size:13px;font-weight:700}@media (width<=760px),(orientation:portrait){.hg-titles strong{font-size:20px}.hg-circle{width:42px;height:42px}.hg-variant-chips span{padding:5px 10px;font-size:11px}.hg-angle-nums button{width:28px;height:28px;font-size:12px}.hg-room-label{font-size:12px}}.dec-backdrop{z-index:2600}.dec-modal{background:var(--surface);border-radius:18px;grid-template-columns:minmax(0,1fr) 460px;width:min(1320px,97vw);height:min(880px,94vh);display:grid;overflow:hidden}.dec-stage{background:#15161a;flex-direction:column;display:flex;position:relative}.dec-tab{z-index:2;color:#137a6e;background:#ffffffeb;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:800;display:inline-flex;position:absolute;top:16px;left:16px}.dec-tab span{color:var(--muted);font-weight:600}.dec-preview{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.dec-preview img{object-fit:contain;width:100%;height:100%}.dec-preview img.dec-dim{opacity:.85}.dec-nav{z-index:3;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.dec-nav:hover{background:#000000b8}.dec-nav.prev{left:14px}.dec-nav.next{right:14px}.dec-empty{color:var(--muted);flex-direction:column;align-items:center;gap:10px;font-size:14px;display:flex}.dec-loading{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex;position:absolute;inset:0}.dec-foot{background:var(--surface);border-top:1px solid var(--border);color:var(--muted);flex:none;align-items:center;gap:7px;padding:12px 16px;font-size:13px;display:flex}.dec-foot svg{color:#2bb673}.dec-panel{border-left:1px solid var(--border);flex-direction:column;gap:14px;padding:22px;display:flex;overflow-y:auto}.dec-panel-head{justify-content:space-between;align-items:center;display:flex}.dec-panel-head h3{color:var(--brand-ink);align-items:center;gap:8px;margin:0;font-size:17px;font-weight:800;display:flex}.dec-panel-head h3 svg{color:#8a5cf6}.dec-x{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--muted);border-radius:9px;place-items:center;display:grid}.dec-section{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.dec-source{border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.dec-source-ico{background:var(--surface-soft);width:44px;height:36px;color:var(--muted);border-radius:8px;flex:none;place-items:center;display:grid}.dec-source-thumb{background:var(--surface-soft) center/cover no-repeat;color:#b3c2bd;border-radius:8px;flex:none;place-items:center;width:48px;height:38px;display:grid}.dec-source-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dec-source-info strong{color:var(--brand-ink);font-size:14px}.dec-source-info span{color:var(--muted);font-size:12px}.dec-source-info select{border:1px solid var(--border);font:inherit;border-radius:8px;margin-top:2px;padding:6px 8px;font-size:13px}.dec-style-hint{color:#b08d57!important;font-size:11px!important}.dec-ok{color:#2bb673;flex:none}.dec-source-block{flex-direction:column;gap:8px;display:flex}.dec-source-label{color:var(--brand-ink);font-size:13px;font-weight:700}.dec-mini{font-size:12px}.dec-furn{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:10px;max-height:240px;padding:2px;display:grid;overflow-y:auto}.dec-furn-card{cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;gap:5px;padding:0;display:flex}.dec-furn-card[data-cardnav="1"]{outline-offset:3px}.dec-furn-card span{aspect-ratio:1;background:var(--surface-soft) center/cover no-repeat;border-radius:10px;width:100%;position:relative;box-shadow:inset 0 0 0 2px #0000}.dec-furn-card.on span{box-shadow:inset 0 0 0 2px #137a6e}.dec-furn-card span i{color:#fff;background:#137a6e;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:4px;right:4px}.dec-furn-card small{color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.dec-panel textarea{border:1px solid var(--border);width:100%;font:inherit;resize:vertical;border-radius:10px;padding:10px;font-size:13px}.dec-count{color:#b3c2bd;align-self:flex-end;font-size:11px}.dec-generate{color:#fff;cursor:pointer;background:#137a6e;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:15px;font-weight:800;display:inline-flex}.dec-generate:hover{background:#0f655b}.dec-generate:disabled{opacity:.5;cursor:not-allowed}.dec-save{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px;font-size:14px;font-weight:700;display:inline-flex}.dec-save:hover{border-color:#1f9d8f}@media (width<=820px){.dec-modal{grid-template-columns:1fr;height:94vh}.dec-stage{min-height:240px}}.theme-toggle{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;display:grid}.theme-opt{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.theme-opt:hover{color:var(--ink)}.theme-opt.active{background:var(--surface);border-color:var(--brand);color:var(--brand-deep);box-shadow:var(--shadow-sm)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6edf3;--ink:#e6edf3;--ink-soft:#c2ccd6;--muted:#93a0ac;--line:#2b3742;--line-strong:#3a4856;--border:#2b3742;--page:#0f151b;--surface:#19222b;--surface-soft:#212d37;--surface-elevated:#1f2a34;--surface-hover:#253340;--input-bg:#11181f;--input-border:#33414d;--app-bg:radial-gradient(120% 82% at 100% 0%, #33b9a81f 0%, #33b9a800 45%), radial-gradient(100% 72% at 0% 100%, #2f6fde14 0%, #2f6fde00 42%), #0f151b;--chrome:#10151bd6;--chrome-solid:#141c24;--focus-ring:#38c2b047;--link:#78a8ff;--link-soft:#172a43;--success:#6ad394;--success-soft:#123026;--warning:#f0b55b;--warning-soft:#342715;--danger:#ff8b80;--danger-soft:#3a1c1c;--brand:#33b9a8;--brand-deep:#38c2b0;--brand-ink:#bfeee6;--brand-soft:#14302b;--ink-grad:linear-gradient(135deg, #2a9d8f 0%, #1f7068 100%);--shadow-sm:0 1px 2px #00000080, 0 2px 8px #0006;--shadow-md:0 6px 18px #0000008c, 0 2px 6px #00000073;--shadow-lg:0 24px 60px #000000a6;--shadow-brand:0 14px 30px #00000080;background:#0f151b}html[data-theme=dark] body{color:var(--ink);background:#0f151b}html[data-theme=dark] .app-shell{background:#0f151b}html[data-theme=dark] .topbar{border-bottom-color:var(--border);background:#10151bd1}html[data-theme=dark] .space-nav,html[data-theme=dark] .sidebar{border-color:var(--border);background:#141c24}html[data-theme=dark] .space-nav-item:hover{color:var(--brand-deep);background:#ffffff0f}html[data-theme=dark] .space-nav-item.active{color:var(--brand-deep);background:#38c2b029}html[data-theme=dark] .topbar-menu[open]>.topbar-avatar,html[data-theme=dark] .topbar-menu-panel{border-color:var(--border)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color:var(--ink);border-color:var(--border);background:#11181f}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#6b7884}html[data-theme=dark] input:hover,html[data-theme=dark] select:hover,html[data-theme=dark] textarea:hover{border-color:#44545f}html[data-theme=dark] select option{color:var(--ink);background:#19222b}html[data-theme=dark] .secondary{background:var(--surface-soft);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .secondary:hover{background:#2a3742}html[data-theme=dark] .ghost{color:var(--ink);border-color:var(--border)}html[data-theme=dark] .ghost:hover{background:#ffffff0f}html[data-theme=dark] .app-shell :where(.secondary,.theme-opt.active,.lp-btn-ghost){background:var(--surface-soft);color:var(--ink);border-color:var(--border)}html[data-theme=dark] .error-line{color:#f3b4ab;background:#be3c3029;border-color:#be3c3066}html[data-theme=dark] ::selection{background:#38c2b059}[data-cardnav="1"]{outline:2px solid var(--brand);outline-offset:2px}[data-cardnav="1"]:focus{outline:2px solid var(--brand)}.dec-source-plan{align-items:stretch}.dec-plan-thumb{border:1px solid var(--border);background:#fff;border-radius:10px;flex:none;place-items:center;width:96px;height:72px;display:grid;overflow:hidden}.dec-plan-svg{width:100%;height:100%;display:block}.dec-plan-link{background:var(--brand-soft);color:var(--brand-deep);border:1px solid var(--brand);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:800;display:inline-flex}.dec-plan-link:hover{background:var(--surface)}.dec-confirm-backdrop{z-index:2700}.dec-confirm{background:var(--surface);border-radius:16px;flex-direction:column;gap:14px;width:min(720px,94vw);max-height:90vh;padding:22px;display:flex;overflow-y:auto}.dec-confirm-head{justify-content:space-between;align-items:center;display:flex}.dec-confirm-head h3{color:var(--brand-ink);align-items:center;gap:8px;margin:0;font-size:17px;font-weight:800;display:flex}.dec-confirm-head h3 svg{color:#8a5cf6}.dec-confirm-sub{color:var(--muted);margin:0;font-size:13px}.dec-confirm-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.dec-confirm-grid figure{flex-direction:column;gap:6px;margin:0;display:flex}.dec-confirm-grid figure span{aspect-ratio:4/3;background:var(--surface-soft) center/cover no-repeat;border:1px solid var(--border);border-radius:10px;width:100%}.dec-confirm-grid figcaption{color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.dec-confirm-prompt p{color:var(--ink);background:var(--surface-soft);border-radius:10px;margin:4px 0 0;padding:10px 12px;font-size:13px}.dec-confirm-actions{gap:10px;display:flex}.dec-confirm-actions .dec-save,.dec-confirm-actions .dec-generate{flex:1;margin:0}.hv-editor-title{flex:1}.dec-versions{gap:6px;padding:10px 14px 0;display:flex}.dec-versions button{color:#ffffffd1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff38;border-radius:999px;padding:5px 13px;font-size:12px;font-weight:800}.dec-versions button:hover{color:#fff}.dec-versions button.active{color:#15332e;background:#fff;border-color:#fff}.dec-plan-thumb{cursor:pointer;padding:0;position:relative}.dec-plan-thumb:disabled{cursor:default}.dec-plan-zoom{color:#fff;background:#0000008c;border-radius:6px;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:4px;right:4px}.dec-planzoom-backdrop{z-index:2700}.dec-planzoom{background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;width:min(900px,94vw);max-height:92vh;padding:16px;display:flex;overflow:auto}.dec-planzoom-head{justify-content:space-between;align-items:center;display:flex}.dec-planzoom-head span{color:var(--brand-ink);align-items:center;gap:8px;font-weight:800;display:inline-flex}.dec-planzoom .dec-plan-svg{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;height:auto;max-height:78vh}@media (width<=900px){.hv-editor-backdrop,.hv-editor-fullscreen{inset:0}}.fp-assign-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.fp-assign-catalog{border:1px solid var(--brand);background:var(--brand-soft);color:var(--brand-deep);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.fp-assign-catalog:hover{background:var(--surface)}.dec-style-slider{scroll-snap-type:x mandatory;gap:10px;padding:2px 2px 6px;display:flex;overflow-x:auto}.dec-style-card{cursor:pointer;scroll-snap-align:start;background:0 0;border:0;flex-direction:column;flex:none;gap:5px;width:92px;padding:0;display:flex}.dec-style-card>span{background:var(--surface-soft) center/cover no-repeat;width:92px;height:66px;color:var(--muted);border-radius:10px;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 2px #0000}.dec-style-card.active>span{box-shadow:inset 0 0 0 2px #137a6e}.dec-style-card>span i{color:#fff;background:#137a6e;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:4px;right:4px}.dec-style-none{background:var(--brand-soft)!important;color:var(--brand-deep)!important}.dec-style-card small{color:var(--ink-soft);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.dec-style-card.active small{color:var(--brand-deep)}.scroll-rail{overscroll-behavior-x:contain;scroll-snap-type:x proximity;min-width:0;max-width:100%;display:flex;overflow-x:auto}.scroll-rail>*{scroll-snap-align:start;flex:none}.metric strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=900px){.dashboard-shell,.project-shell,.mk-shell,.mk-detail-page{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}}@media (width<=640px){.modal-backdrop{place-items:center;padding:10px}.modal,.modal.project-modal,.modal.share-modal,.modal.confirm-modal{border-radius:var(--radius-lg);grid-auto-rows:max-content;align-content:start;min-height:0;max-height:calc(100dvh - 20px);width:100%!important;max-width:100%!important}}.resp-short{display:none}@media (width<=640px){.resp-full{display:none}.resp-short{display:inline}.back-button-label{display:none!important}button:has(>.back-button-label){gap:0}.link-button:has(>.back-button-label){gap:0}.primary,.secondary,.ghost,.upload-button{gap:6px;min-height:34px;padding-inline:10px;font-size:13px}.mini-button{gap:5px;min-height:32px;padding-inline:8px}.icon-button{width:34px;height:34px;min-height:34px;padding:5px}.split-title{flex-wrap:wrap;align-items:flex-start}.split-title>span{min-width:0}.panel-title-actions{flex:100%;justify-content:flex-start;min-width:0;max-width:100%;margin-left:0}.panel-title-actions>button{white-space:nowrap;flex:1 1 0;min-width:0}.dashboard-title-row{flex-wrap:nowrap;align-items:center;gap:8px}.dashboard-title-row>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.dashboard-title-actions{flex:none;justify-content:flex-end;gap:8px;margin-left:auto}.dashboard-title-actions>button{flex:none;width:auto}.home-card-actions{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:3px;padding:6px 8px;overflow-x:auto}.home-card-actions::-webkit-scrollbar{display:none}.home-card-actions .icon-button{flex-basis:32px;width:32px;min-width:32px;height:32px;min-height:32px}.app-view-visit{overflow-x:hidden}.tool-menu-item{border-radius:8px;min-height:36px;padding:9px 10px}.topbar-menu-panel .tool-menu-item{min-height:40px}.visit-step-switch button,.visit-mode-switch button{min-height:34px}.fc2-fav,.fc2-pick{width:32px;height:32px}.fc2-pick{right:46px}.sc-link{min-height:34px;padding:6px 0}.sc-swatch{gap:12px}.sc-swatch-color{width:44px;height:44px}.sc-swatch-del{width:28px;height:28px;top:-8px;right:-8px}.shared-with-me .project-table{box-shadow:none;background:0 0;border:0;flex-direction:column;gap:10px;display:flex;overflow:visible}.shared-with-me .project-table-head.shared-row{display:none}.shared-with-me .project-row.shared-row{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px;display:grid}.shared-with-me .project-row.shared-row>span{min-width:0}.shared-with-me .project-row.shared-row>span:nth-child(2){justify-self:end}.shared-with-me .project-row.shared-row>.muted{grid-column:1/-1;font-size:12px}.shared-with-me .project-row.shared-row>.project-actions{grid-column:1/-1;justify-content:stretch;min-width:0}.shared-with-me .project-row.shared-row .project-actions>button{justify-content:center;width:100%}.space-overview-head{display:block}.space-hero-card{border-radius:20px;grid-template-columns:72px minmax(0,1fr);gap:12px 16px;min-height:0;padding:18px 16px 14px}.space-hero-icon{border-radius:24px;width:72px;height:72px}.space-hero-icon svg{width:30px;height:30px}.space-hero-copy h1{font-size:25px;line-height:1.02}.space-hero-copy p{max-width:260px;margin-top:5px;font-size:15px;line-height:1.3}.space-hero-card .space-kpis{grid-column:1/-1;width:auto}.space-hero-illustration{opacity:.32;transform-origin:100% 100%;width:110px;height:58px;right:4px;transform:scale(.82)}.space-kpis{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;margin:0 -4px;padding:2px 4px 6px;overflow-x:auto}.space-kpis::-webkit-scrollbar{display:none}.space-kpis>.space-kpi{scroll-snap-align:start;border-radius:18px;flex:none;min-width:104px;padding:9px 10px}.space-kpi-ico{border-radius:12px;width:30px;height:30px}.space-kpi strong{font-size:17px}.space-kpi span{font-size:12px}.home-group-filter{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin-top:0;margin-bottom:10px;padding-bottom:4px;overflow-x:auto}.home-group-filter::-webkit-scrollbar{display:none}.home-group-filter>.group-chip{flex:none}.space-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin-bottom:8px;overflow-x:auto}.space-tabs::-webkit-scrollbar{display:none}.space-tabs>.space-tab{flex:none}.home-cards{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;grid-template-columns:none;grid-auto-columns:min(80%,320px);grid-auto-flow:column;align-content:start;align-items:start;padding-bottom:6px;overflow-x:auto}.home-cards>.home-card{align-self:start}.home-cards>.home-card.add-card{align-self:stretch;min-height:180px}.home-cards>*{scroll-snap-align:start}.home-cards::-webkit-scrollbar{display:none}}.catalog-install-switch{flex-wrap:wrap;gap:6px;margin:4px 0 12px;display:flex}.installation-switch-tab{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.installation-switch-tab.active{border-color:var(--brand-deep,#1f6f66);background:var(--brand-soft,#e7f4f1);color:var(--brand-ink,#14302b)}@media (width<=640px){.catalog-install-switch{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.catalog-install-switch::-webkit-scrollbar{display:none}.catalog-install-switch>.installation-switch-tab{flex:none}}html[data-theme=dark] .app-shell{background:var(--app-bg);color:var(--ink)}html[data-theme=dark] .app-shell :where(.project-table-head,.room-table-head,.home-card-actions,.modal>.modal-head,.assistant-head,.assistant-input,.assistant-messages,.fc2-card-foot,.fc2-toolbar,.catalog-room-head span,.sc-overlay,.sc-head,.cab-track){background-color:var(--surface-soft);border-color:var(--border)}html[data-theme=dark] .app-shell :where(input,select,textarea){background:var(--input-bg);color:var(--ink);border-color:var(--input-border)}html[data-theme=dark] .app-shell :where(input:focus,select:focus,textarea:focus){border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}html[data-theme=dark] .app-shell :where(.muted,.project-row small,.home-card-loc,.fc2-dims,.fc2-date,.sc-panel-head .muted){color:var(--muted)}html[data-theme=dark] .app-shell :where(.link-button,.home-card-title:hover,.space-tab:hover,.space-tab.active,.space-tab.active .space-tab-count,.catalog-saved){color:var(--link)}html[data-theme=dark] .app-shell :where(.secondary:hover,.theme-opt:hover,.icon-button:hover){background:var(--surface-hover);border-color:var(--brand)}html[data-theme=dark] .app-shell :where(.ghost:hover,.tool-menu-item:hover){background:var(--surface-hover)}html[data-theme=dark] .app-shell :where(.space-nav,.sidebar,.topbar,.topbar-menu-panel){background:var(--chrome-solid);border-color:var(--border)}html[data-theme=dark] .app-shell .topbar{background:var(--chrome)}html[data-theme=dark] .app-shell :where(.space-nav-item.active,.space-nav-item:hover,.home-card-list-btn,.iv-segmented button.active,.publish-modal-ico){background:var(--link-soft);border-color:color-mix(in srgb, var(--link) 45%, var(--border));color:var(--link)}html[data-theme=dark] .app-shell :where(.tag,.home-card-pub.listed,.home-card-list-btn.listed,.iv-room.active,.iv-chip,.catalog-saved){background:var(--success-soft);border-color:color-mix(in srgb, var(--success) 42%, var(--border));color:var(--success)}html[data-theme=dark] .app-shell .home-card-pub:not(.listed){background:color-mix(in srgb, var(--surface) 82%, #fff);border-color:var(--border);color:var(--muted)}html[data-theme=dark] .app-shell .home-card-pub:not(.listed):hover{background:var(--surface-hover);color:var(--ink-soft)}html[data-theme=dark] .app-shell :where(.error-line,.toast.error,.toast-inline.error,.seller-missing-chip){background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));color:var(--danger)}html[data-theme=dark] .app-shell :where(.sc-style.active,.sc-kw,.sc-add-color button,.dec-plan-link){background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 42%, var(--border));color:var(--brand-ink)}html[data-theme=dark] .app-shell :where(.sc-dirty,.publish-modal-fee){background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}html[data-theme=dark] .app-shell :where(.home-card-project.filled){background:color-mix(in srgb, var(--proj,#9aa4af) 24%, var(--surface))}html[data-theme=dark] .app-shell :where(.sc-btn-ghost,.sc-link,.sc-tabs button.active,.sc-style-check,.sc-slider b){color:var(--brand-deep)}html[data-theme=dark] .app-shell :where(.sc-btn-danger,.sc-swatch-del:hover,.fc2-sugg-no){color:var(--danger)}@media (width<=640px){.hv-studio .wall-card-head,.room-plan-grid .wall-card-head{flex-wrap:nowrap;gap:4px;min-height:24px}.hv-studio .wall-card-head strong,.room-plan-grid .wall-card-head strong{flex:auto;min-width:42px;font-size:13px}.calibration-chip{justify-content:center;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;font-size:0;line-height:1}.calibration-chip:before{content:"!";font-size:10px;font-weight:900;line-height:1}.calibration-chip.valid:before{content:"c";text-transform:uppercase;font-size:9px}.wall-action-label,.wall-mode-switch button span,.wall-thumb .hv-wall-variants button span{display:none!important}.wall-thumb-overlay{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:7px;display:grid}.wall-thumb-actions{gap:5px}.wall-ov-btn,.wall-ov-btn.icon,.wall-card-actions .upload-button.mini,.wall-card-actions .mini-button,.wall-card-actions .icon-button{border-radius:9px;flex:0 0 32px;justify-content:center;width:32px;height:32px;min-height:32px;margin-left:0;padding:0}.wall-thumb .hv-wall-variants{border-radius:10px;gap:2px;min-width:0;margin:0;padding:3px}.wall-thumb .hv-wall-variants button{border-radius:8px;flex:1 1 0;place-items:center;min-width:28px;height:28px;padding:0;display:inline-grid}.wall-mode-switch{flex:none;grid-template-columns:none;gap:3px;padding:3px;display:inline-flex}.wall-mode-switch button{border-radius:8px;flex:0 0 30px;justify-content:center;width:30px;min-width:30px;height:28px;padding:0}}.brand-logo-auto .bl-white,html[data-theme=dark] .brand-logo-auto .bl-dark{display:none}html[data-theme=dark] .brand-logo-auto .bl-white{display:block}.iv-voice{flex-direction:column;gap:4px;margin:0 0 10px;display:flex}.iv-voice-btn{background:var(--brand-soft);color:#137a6e;width:100%;font:inherit;cursor:pointer;border:1px solid #cfe7e0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:800;display:inline-flex}.iv-voice-btn:hover{background:#d9f0ea}.iv-voice-btn.live{color:#fff;background:#137a6e;border-color:#137a6e;animation:1.6s ease-in-out infinite ivVoicePulse}.iv-voice-err{color:#c0392b;font-size:12px}@keyframes ivVoicePulse{0%,to{box-shadow:0 0 #137a6e59}50%{box-shadow:0 0 0 6px #137a6e00}}.iv-ctrl.iv-play{color:#fff;background:#137a6e;border-color:#137a6e;justify-content:center;min-width:116px;font-weight:800;box-shadow:0 2px 8px #137a6e47}.iv-ctrl.iv-play:hover:not(:disabled){color:#fff;background:#0f655b;border-color:#0f655b}.iv-ctrl.iv-play.paused{background:var(--surface);color:#137a6e;box-shadow:none;border-color:#cfe7e0}.iv-ctrl.iv-play.paused:hover:not(:disabled){background:var(--brand-soft);color:#0f655b;border-color:#cfe7e0}@media (width<=640px){.home3d-cc-wrap{gap:6px;bottom:10px;left:8px;right:8px}.home3d-cc-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;padding:8px 12px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}}.visit-prefs-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.visit-prefs-row:first-of-type{border-top:0}.visit-prefs-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.visit-prefs-copy strong{color:var(--ink);font-size:14px}.visit-prefs-copy span{color:var(--muted);font-size:12px}.visit-prefs-disabled{color:#8a6212;align-items:center;gap:5px;font-weight:600;display:inline-flex}.visit-prefs-seg{flex:none}.visit-prefs-seg button:disabled{opacity:.45;cursor:not-allowed}.visit-prefs-rate{flex:none;align-items:center;gap:10px;display:inline-flex}.visit-prefs-rate input[type=range]{width:160px;accent-color:var(--accent,#2563eb);cursor:pointer}.visit-prefs-rate-val{text-align:right;font-variant-numeric:tabular-nums;min-width:44px;color:var(--ink);font-size:13px;font-weight:600}.switch{border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;border-radius:999px;flex:none;width:44px;height:26px;padding:0;transition:background .15s,border-color .15s;position:relative}.switch i{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch.on{background:#137a6e;border-color:#137a6e}.switch.on i{transform:translate(18px)}@media (width<=560px){.visit-prefs-row{flex-direction:column;align-items:flex-start;gap:8px}}@media (width<=720px){.hv-rooms .room-table .room-row{flex-direction:column;align-items:stretch;gap:8px;display:flex}.hv-rooms .room-table .room-row-main{order:1;width:100%;min-width:0}.hv-rooms .room-table .room-actions{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex:none;order:2;justify-content:flex-end;align-items:center;gap:6px;width:100%;min-width:0;margin-left:0;padding-top:2px;display:flex;overflow-x:auto}.hv-rooms .room-table .room-actions::-webkit-scrollbar{display:none}.hv-rooms .room-table .room-actions .icon-button{flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}}.ficha-pct{color:#8a6212;background:#d69e2e24;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.ficha-pct.ok{color:#1c6b46;background:#22a06424}.publish-gate{width:min(420px,100%);position:relative}.publish-gate>.modal-close{width:32px;height:32px;min-height:32px;position:absolute;top:14px;right:14px}.ficha-progress{justify-items:center;gap:6px;display:grid}.ficha-progress-bar{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;width:100%;height:8px;overflow:hidden}.ficha-progress-bar i{background:linear-gradient(90deg,#1c7a4d,#57c08a);height:100%;transition:width .3s;display:block}.ficha-progress span{color:var(--muted);font-size:12px;font-weight:600}.addqa-list{gap:10px;display:grid}.addqa-item{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:8px;padding:12px;display:grid}.addqa-item.is-hidden{opacity:.55}.addqa-item>strong{color:var(--ink);font-size:14px}.addqa-item textarea{resize:vertical;border:1px solid var(--border);background:var(--surface-soft);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:8px 10px;font-size:13px}.addqa-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.addqa-actions select{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;border-radius:10px;padding:6px 10px;font-size:12.5px}.topbar-bell{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:10px;place-items:center;display:inline-grid;position:relative}.topbar-bell:hover,.topbar-bell.active{border-color:var(--brand);color:var(--brand)}.topbar-bell-badge{color:#fff;border:2px solid var(--surface);background:#e0483d;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}
