:root{color:#17212b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#17212b;--ink-soft:#46515d;--muted:#697684;--line:#d7dde3;--line-strong:#c7d0d9;--surface:#fff;--surface-soft:#f8fafc;--brand:#2a9d8f;--brand-deep:#217c72;--brand-ink:#17413c;--brand-soft:#e7f5f2;--accent:#f2a33b;--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);background:#eef1f4;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}.auth-shell{background:linear-gradient(#17212bb3,#17212b8f),url(https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=80) 50%/cover;place-items:center;min-height:100vh;padding:24px;display:grid}.public-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.landing-shell{color:#fff;background:radial-gradient(120% 90% at 85% -10%,#2fb0a080 0%,#2fb0a000 55%),radial-gradient(100% 80% at 0 110%,#217c7273 0%,#217c7200 50%),linear-gradient(160deg,#0f1820eb 0%,#0f1820b8 45%,#14312ec7 100%),url(https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=2000&q=82) 50%/cover fixed;min-height:100vh;position:relative}.landing-shell:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(#ffffff0f 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000b3,#0000 60%);mask-image:linear-gradient(#000000b3,#0000 60%)}.public-nav{z-index:20;-webkit-backdrop-filter:blur(14px)saturate(140%);background:#0f18208c;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:14px clamp(18px,5vw,72px);display:flex;position:sticky;top:0}.public-brand,.footer-brand{background:0 0;border:0;padding:0}.public-brand,.brand-button{color:#fff;letter-spacing:0}.brand-button{justify-content:center;align-items:center;min-height:34px;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}.public-nav .brand-logo,.footer-brand .brand-logo{height:24px}.public-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:6px;padding:4px;display:inline-flex}.public-menu button{color:#ffffffd1;background:0 0;border:1px solid #0000;border-radius:7px;min-height:34px;padding:0 12px;font-weight:850}.public-menu button.active,.public-menu button:hover{color:#fff;background:#ffffff24;border-color:#ffffff38}.landing-actions,.landing-cta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.landing-cta{margin-top:4px}.landing-cta .primary{background:var(--brand-grad);min-height:56px;box-shadow:var(--shadow-brand);border-color:#0000;border-radius:14px;padding:0 28px;font-size:17px}.landing-cta .primary:hover{filter:brightness(1.06);box-shadow:0 18px 40px #217c726b}.landing-cta .secondary{border-radius:14px;min-height:56px;padding:0 24px;font-size:16px}.landing-actions .secondary,.landing-cta .secondary{color:#fff;background:#ffffff1f;border-color:#ffffff8c}.landing-actions .secondary:hover,.landing-cta .secondary:hover{background:#fff3;border-color:#fffc}.landing-actions .primary{color:#14312e;background:#fffffff2;border-color:#0000}.landing-actions .primary:hover{background:#fff}.landing-trust{flex-wrap:wrap;gap:18px;margin:26px 0 0;padding:0;list-style:none;display:flex}.landing-trust li{color:#ffffffdb;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.landing-trust svg{color:#5fe3cf}.landing-copy .landing-logo-animated{margin-bottom:6px;font-size:clamp(30px,5vw,58px)}.hero-headline{color:#fff;letter-spacing:-.01em;width:min(620px,100%);margin:8px 0 14px;font-size:clamp(26px,3.6vw,44px);font-weight:950;line-height:1.08}.landing-kpi strong{color:#5fe3cf;font-size:clamp(30px,4.5vw,46px);line-height:1;display:block}.landing-kpi h2{margin-top:12px;font-size:18px}.landing-disclaimer{z-index:1;color:#ffffff9e;margin:0;padding:4px clamp(18px,7vw,86px) 10px;font-size:13px;position:relative}.landing-compare{z-index:1;color:#fff;grid-template-columns:1fr 1fr;gap:18px;padding:clamp(30px,5vw,60px) clamp(18px,7vw,86px);display:grid;position:relative}.compare-card{border-radius:var(--radius-lg);border:1px solid #ffffff1f;padding:24px}.compare-card.before{color:#ffffffd1;background:#ffffff0f}.compare-card.after{background:#2fb0a029;border-color:#5fe3cf66}.compare-card h3{margin:0 0 14px;font-size:18px}.compare-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.compare-card li{align-items:flex-start;gap:8px;line-height:1.4;display:flex}.compare-card.after svg{color:#5fe3cf;flex-shrink:0;margin-top:2px}.landing-pricing-section{z-index:1;padding:clamp(30px,5vw,60px) clamp(18px,7vw,86px) clamp(40px,6vw,72px);position:relative}.landing-pricing-section .landing-steps-head h2{color:#fff}.landing-pricing-section .landing-steps-head p{color:#ffffffd1}.landing-pricing{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;max-width:900px;margin:24px auto 0;display:grid}.pricing-card{border-radius:var(--radius-lg);color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff24;align-content:start;gap:12px;padding:24px;display:grid}.pricing-card.featured{box-shadow:var(--shadow-lg);background:#2fb0a029;border-color:#5fe3cf80}.pricing-card.soon{opacity:.82;border-style:dashed}.pricing-soon,.journey-soon{letter-spacing:.04em;background:#ffffff29;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10px;font-style:normal;display:inline-block}.pricing-card.soon .pricing-price small{color:#c9f0e8;font-size:14px;font-weight:700}.journey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.journey-card{border-radius:var(--radius-lg,16px);background:#fff;border:1px solid #e7ebf0;align-content:start;gap:12px;padding:22px;display:grid;box-shadow:0 1px 3px #0000000d}.journey-card.soon{background:#fafbfc;border-style:dashed}.journey-head{align-items:center;gap:12px;display:flex}.journey-icon{width:42px;height:42px;color:var(--brand-deep,#1f6f66);background:#e9f5f2;border-radius:12px;flex:none;place-items:center;display:inline-grid}.journey-plan{text-transform:uppercase;letter-spacing:.05em;color:#6c7884;font-size:12px;font-weight:800;display:block}.journey-soon{color:#b9770e;background:#fff3e0}.journey-card h3{color:#17212b;margin:2px 0 0;font-size:18px}.journey-card>p{color:#5d6b78;margin:0;font-size:14px}.journey-card ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.journey-card li{color:#2c3a47;align-items:center;gap:8px;font-size:13.5px;display:flex}.journey-card li svg{color:var(--brand-deep,#1f6f66);flex:none}@media (width<=760px){.journey-grid{grid-template-columns:1fr}}.pricing-tag{text-transform:uppercase;letter-spacing:.06em;color:#c9f0e8;font-size:12px;font-weight:900}.pricing-price{letter-spacing:-.01em;font-size:24px}.pricing-card p{color:#fffc;margin:0;line-height:1.45}.pricing-card ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.pricing-card li{color:#ffffffe6;align-items:flex-start;gap:8px;line-height:1.4;display:flex}.pricing-card li svg{color:#5fe3cf;flex-shrink:0;margin-top:2px}.pricing-card .primary{background:var(--brand-grad);border-color:#0000;width:100%;margin-top:6px}.landing-hero{z-index:1;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);align-items:center;gap:clamp(24px,5vw,70px);min-height:min(82vh,820px);padding:clamp(28px,7vw,90px);display:grid;position:relative}.landing-copy{width:min(760px,100%);animation:heroRise .8s var(--ease) both}.landing-eyebrow{color:#c9f0e8;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2fb0a029;border:1px solid #afe0d866;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12.5px;font-weight:900;display:inline-flex}.landing-eyebrow:before{content:"";background:#5fe3cf;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #5fe3cf40}@keyframes heroRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.landing-copy h1{color:#fff;letter-spacing:0;margin:12px 0;font-size:clamp(52px,9vw,118px);line-height:.95}.landing-logo-animated{white-space:nowrap;align-items:center;gap:.16em;width:min-content;font-weight:950;display:flex}.landing-logo-room{transform-origin:50%;flex:0 0 .92em;place-items:center;width:.92em;height:1.05em;display:inline-grid;position:relative}.landing-logo-room:before{content:"";background:#f8d7dae0;border:.115em solid #f8d7da;border-radius:.22em;width:.68em;height:1.05em;animation:8s ease-in-out infinite logoRoomMorph;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 55px #2a9d8f2e}.landing-logo-room span{z-index:1;color:#17212b;opacity:0;text-transform:uppercase;background:#ffffffdb;border-radius:999px;padding:3px 5px;font-size:clamp(7px,.095em,13px);font-weight:950;line-height:1;animation:8s linear infinite logoRoomLabel;position:absolute}.landing-logo-room span:nth-child(2){animation-delay:2s}.landing-logo-room span:nth-child(3){animation-delay:4s}.landing-logo-room span:nth-child(4){animation-delay:6s}.landing-copy p{color:#ffffffe6;width:min(620px,100%);margin:0 0 28px;font-size:clamp(18px,2.2vw,25px);line-height:1.42}.landing-band{z-index:1;background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 clamp(18px,7vw,86px) clamp(40px,6vw,72px);display:grid;position:relative}.landing-feature{border-radius:var(--radius-lg);color:#fff;-webkit-backdrop-filter:blur(12px);min-height:190px;transition:transform .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);background:#ffffff12;border:1px solid #ffffff1a;padding:30px clamp(20px,3vw,34px);box-shadow:0 18px 40px #0003}.landing-feature:hover{background:#ffffff1f;border-color:#5fe3cf73;transform:translateY(-6px)}.landing-feature>svg{color:#14312e;background:linear-gradient(135deg,#7df0df,#2fb0a0);border-radius:13px;width:48px;height:48px;padding:12px;display:grid;box-shadow:0 10px 22px #217c724d}.landing-feature h2{letter-spacing:0;margin:16px 0 8px;font-size:21px}.landing-feature p{color:#ffffffc7;margin:0;line-height:1.5}.landing-demo{border-radius:var(--radius-lg);color:#17212b;width:min(540px,100%);box-shadow:var(--shadow-lg);animation:heroRise .9s var(--ease) .15s both;background:#f8fafcf5;border:1px solid #ffffff3d;place-self:center end;overflow:hidden}.demo-topbar,.demo-status{color:#697684;background:#fff;border-bottom:1px solid #e0e5ea;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:12px;font-weight:850;display:flex}.demo-topbar strong{color:#17212b}.demo-scenes{grid-template-columns:1fr 1fr;min-height:300px;display:grid}.demo-plan,.demo-photo{background:#f7f9fb;min-height:300px;position:relative;overflow:hidden}.demo-plan{background-color:#fbfcfd;background-image:linear-gradient(90deg,#2a9d8f1c 1px,#0000 1px),linear-gradient(#2a9d8f1c 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-right:1px solid #e0e5ea}.demo-photo{background:linear-gradient(#17212b14,#17212b14),url(https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=80) 50%/cover}.demo-label{z-index:2;color:#17212b;background:#ffffffe0;border-radius:7px;padding:5px 8px;font-size:12px;font-weight:900;position:absolute;top:12px;left:12px}.demo-room{color:#17212b;transform-origin:50%;border:2px solid;border-radius:7px;place-items:center;font-size:11px;font-weight:900;animation:5.6s ease-in-out infinite demoRoomIn;display:grid;position:absolute}.demo-room-one{background:#f8d7da;border-color:#cf7f88;width:112px;height:94px;top:70px;left:34px}.demo-room-two{background:#d8ecfb;border-color:#6fa9d2;width:72px;height:94px;animation-delay:.7s;top:70px;left:150px}.demo-room-three{background:#dff3df;border-color:#7bb77f;width:188px;height:92px;animation-delay:1.4s;top:170px;left:34px}.demo-dimension{color:#217c72;font-size:12px;font-weight:950;position:absolute;top:266px;left:96px}.demo-wall-grid{background-color:#0000;background-image:linear-gradient(90deg,#ffffff47 1px,#0000 1px),linear-gradient(#ffffff47 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:38px 38px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:2px solid #ffffffdb;position:absolute;inset:50px 24px 36px;box-shadow:inset 0 0 0 1px #17212b33}.demo-marker{z-index:2;color:#17212b;background:#ffffffeb;border:2px solid #f2a33b;border-radius:7px;place-items:center;width:34px;height:34px;animation:5.6s ease-in-out infinite demoMarkerDrop;display:grid;position:absolute;box-shadow:0 10px 24px #17212b3d}.demo-marker-one{top:184px;left:54px}.demo-marker-two{animation-delay:.55s;top:92px;left:138px}.demo-marker-three{border-color:#2a78e8;animation-delay:1.1s;top:170px;left:178px}.demo-status{color:#46515d;border-top:1px solid #e0e5ea;border-bottom:0}.landing-proof{z-index:1;color:#17212b;background:#fff;border-radius:clamp(20px,4vw,36px) clamp(20px,4vw,36px) 0 0;grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);align-items:center;gap:clamp(20px,5vw,56px);padding:clamp(40px,6vw,84px) clamp(18px,7vw,86px);display:grid;position:relative}.landing-proof h2{letter-spacing:-.01em;margin:0 0 14px;font-size:clamp(30px,4vw,48px);line-height:1.05}.landing-proof p{color:#46515d;margin:0;font-size:18px;line-height:1.6}.proof-grid{grid-template-columns:1fr 1fr;align-content:center;gap:12px;display:grid}.proof-grid span{border-radius:var(--radius);min-height:56px;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), border-color .2s var(--ease);background:linear-gradient(#fff,#f6faf9);border:1px solid #e3e8ed;align-items:center;gap:10px;padding:14px;font-weight:800;display:inline-flex}.proof-grid span:hover{border-color:var(--brand);transform:translateY(-3px)}.proof-grid span svg{color:var(--brand-deep);flex-shrink:0}.landing-steps{z-index:1;color:#17212b;background:#fff;border-top:1px solid #eef1f4;padding:clamp(40px,6vw,80px) clamp(18px,7vw,86px);position:relative}.landing-steps-head{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,48px)}.landing-steps-head h2{letter-spacing:-.01em;margin:12px 0 10px;font-size:clamp(28px,4vw,44px);line-height:1.08}.landing-steps-head p{color:#5c6875;margin:0;font-size:18px;line-height:1.55}.landing-steps-head .landing-eyebrow{color:var(--brand-deep);background:var(--brand-soft);border-color:#217c7233}.landing-steps-head .landing-eyebrow:before{background:var(--brand);box-shadow:0 0 0 4px #2a9d8f2e}.landing-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1100px;margin:0 auto;display:grid}.landing-step{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease), box-shadow .25s var(--ease);background:linear-gradient(#fff,#f7fafa);border:1px solid #e7ebef;padding:28px 24px;position:relative}.landing-step:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.landing-step-num{background:var(--brand-grad);color:#fff;width:44px;height:44px;box-shadow:var(--shadow-brand);border-radius:13px;place-items:center;font-size:19px;font-weight:950;display:inline-grid}.landing-step h3{letter-spacing:0;margin:16px 0 8px;font-size:20px}.landing-step p{color:#5c6875;margin:0;line-height:1.5}.public-footer{z-index:2;color:#d9e1e8;background:#111820;border-top:1px solid #ffffff1a;position:relative}.public-footer-main{grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(160px,.7fr));gap:clamp(18px,4vw,44px);padding:34px clamp(18px,5vw,72px);display:grid}.public-footer h3{color:#fff;letter-spacing:0;margin:0 0 12px;font-size:14px}.public-footer p{color:#a9b5c0;max-width:460px;margin:12px 0 0;line-height:1.5}.public-footer button,.public-footer a,.public-footer-main>div>span{color:#b9c4ce;text-align:left;background:0 0;border:0;align-items:center;gap:7px;min-height:28px;padding:0;font-weight:700;text-decoration:none;display:flex}.footer-brand{color:#fff}.footer-brand.brand-button{color:#fff;width:fit-content;display:inline-flex}.public-footer button:hover,.public-footer a:hover{color:#fff}.public-footer-bottom{color:#9aa7b5;border-top:1px solid #ffffff17;justify-content:space-between;gap:14px;padding:14px clamp(18px,5vw,72px);font-size:12px;display:flex}.public-page-shell{background:linear-gradient(90deg,#17212bdb,#17212b7a),url(https://images.unsplash.com/photo-1600585154526-990dced4db0d?auto=format&fit=crop&w=2000&q=82) 50%/cover}.contact-page,.document-page,.auth-content{width:min(1180px,100%);margin:0 auto;padding:clamp(24px,6vw,78px) clamp(18px,5vw,44px)}.contact-page{grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);align-items:start;gap:clamp(24px,5vw,64px);display:grid}.contact-copy h1,.document-page h1,.auth-panel-heading h1{color:#fff;letter-spacing:0;margin:10px 0 12px;font-size:clamp(34px,5vw,58px);line-height:1.04}.contact-copy p,.document-page p{color:#ffffffdb;margin:0;font-size:19px;line-height:1.55}.contact-mail{color:#fff;align-items:center;gap:9px;margin-top:22px;font-weight:900;text-decoration:none;display:inline-flex}.contact-form{border-radius:var(--radius-lg);color:#17212b;box-shadow:var(--shadow-lg);background:#fffffff7;border:1px solid #ffffff59;gap:14px;padding:24px;display:grid}.document-page{justify-self:start;max-width:860px}.document-updated{color:#fff9!important;margin-bottom:18px!important;font-size:13px!important}.document-intro{font-weight:600}.document-section{margin-top:26px}.document-section h2{color:#fff;margin:0 0 8px;font-size:19px;font-weight:800}.document-section p{line-height:1.6;font-size:16px!important}.document-section ul{gap:6px;margin:8px 0 0;padding-left:20px;display:grid}.document-section li{color:#ffffffdb;font-size:15.5px;line-height:1.5}.document-note{background:#ffffff0f;border-left:3px solid #fff6;border-radius:8px;padding:14px 16px;color:#ffffffc7!important;margin-top:30px!important;font-size:14px!important}.auth-public-shell{background:linear-gradient(90deg,#17212bc7,#17212b85),url(https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1800&q=80) 50%/cover}.auth-content{place-items:center;display:grid}.auth-panel-heading h1{color:#17212b;font-size:28px}.auth-panel-heading .landing-eyebrow{color:#217c72}.auth-divider{color:#697684;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:18px 0 12px;font-size:12px;font-weight:850;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:#e0e5ea;height:1px}.google-login-area{justify-items:center;gap:8px;display:grid}.google-button-frame{width:100%;min-height:42px}.google-disabled{color:#697684;background:#f8fafc;border:1px dashed #c7d0d9;border-radius:7px;width:100%;min-height:42px;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)}}.auth-panel{border-radius:var(--radius-lg);width:min(430px,100%);box-shadow:var(--shadow-lg);animation:heroRise .6s var(--ease) both;background:#fff;border:1px solid #fff9;padding:28px}.brand-mark{color:#17212b;align-items:center;gap:10px;font-weight:800;display:inline-flex}.public-brand.brand-mark,.footer-brand.brand-mark{color:#fff}.auth-back{width:100%;margin-top:18px}.auth-tabs{background:#eef1f4;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;margin:24px 0;padding:6px;display:grid}.auth-tabs button,.chip,.ghost,.secondary,.primary,.tool,.row,.icon-button,.upload-button{border:1px solid #0000;border-radius:7px;min-height:38px}.auth-tabs button{color:#5c6875;transition:background .16s var(--ease), color .16s var(--ease), box-shadow .16s var(--ease);background:0 0;font-weight:800}.auth-tabs button.active{color:var(--brand-deep);box-shadow:var(--shadow-sm);background:#fff;border-color:#d7dde3}.stack{gap:14px;display:grid}.stack.compact{gap:8px;margin-top:12px}label{color:#46515d;gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{color:#17212b;width:100%;min-height:40px;transition:border-color .16s var(--ease), box-shadow .16s var(--ease);background:#fff;border:1px solid #c7d0d9;border-radius:9px;padding:9px 12px}input::placeholder,textarea::placeholder{color:#9aa7b3}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}.primary{color:#fff;background:var(--ink-grad);box-shadow:var(--shadow-sm);border-color:#17212b}.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:#17212b;background:#f8fafc;border-color:#c7d0d9}.secondary:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-1px)}.ghost{color:#17212b;background:0 0;border-color:#c7d0d9;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:radial-gradient(120% 80% at 100% 0,#2a9d8f12 0%,#2a9d8f00 45%),radial-gradient(100% 70% at 0 100%,#217c720f 0%,#217c7200 40%),#eef1f4;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:#46515d;align-items:center;gap:12px;font-size:14px;display:flex}.topbar-brand{align-items:center;display:inline-flex}.topbar-brand .brand-logo{max-width:150px;height:25px}.dashboard-shell,.project-shell{gap:14px;width:min(1440px,100%);margin:0 auto;padding:14px;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{color:#17212b;cursor:pointer;background:#f8fafc;border:1.5px solid #d7dde3;border-radius:10px;align-items:center;gap:10px;min-height:48px;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{color:#244b46;background:#e7f5f2;border:1px solid #a6d9d1;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.project-table{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e3e8ed;display:grid;overflow:hidden}.project-table-head,.project-row{grid-template-columns:minmax(170px,1.5fr) minmax(54px,.4fr) minmax(64px,.45fr) minmax(116px,.8fr) minmax(122px,.85fr) minmax(96px,.6fr) minmax(86px,.55fr) minmax(100px,.65fr) minmax(150px,.85fr);align-items:center;gap:10px;padding:12px;display:grid}.project-table-head{color:#697684;text-transform:uppercase;background:#f8fafc;font-size:12px;font-weight:900}.project-row{color:#17212b;text-align:left;background:#fff;border:0;border-top:1px solid #e0e5ea;border-radius:0;width:100%}.project-row:hover{background:#f7fbfa}.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:#697684;margin-top:3px}.project-name-button{color:#17212b;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:#697684;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:#697684;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-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border:1px solid #e3e8ed;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:#697684;font-size:12px;font-weight:800}.group-card-body .primary{width:100%}.admin-tabs{align-self:center}.admin-table{gap:2px;display:grid}.admin-user-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1fr) 170px 110px 150px 190px;align-items:center;gap:12px;padding:10px 8px;display:grid}.admin-user-actions{flex-wrap:wrap;gap:6px;display:flex}.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}.demo-actions{gap:8px;margin:4px 0 12px;display:flex}.redeem-form{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.redeem-form input{letter-spacing:1px;text-transform:uppercase;border:1px solid #d6dce2;border-radius:10px;flex:200px;padding:10px 13px;font-size:15px}.codes-create{align-items:flex-end}.codes-field{color:#6c7884;gap:3px;font-size:12px;display:grid}.codes-field input,.codes-field select{border:1px solid #d6dce2;border-radius:9px;padding:8px 10px}.codes-field input[type=number]{width:90px}.codes-row{border-bottom:1px solid #eef1f4;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:#46515d;border-bottom:2px solid #e3e8ed;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:#17212b;margin:0}.feature-paywall p{color:#475467;max-width:460px}.feature-paywall-actions{gap:10px;margin-top:6px;display:flex}.agency-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr) 60px 80px 110px 100px 110px 120px;align-items:center;gap:12px;padding:10px 8px;display:grid}.agency-row.head{color:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.agency-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.commercial-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.commercial-action{cursor:pointer;color:#4f46e5;text-align:left;transition:box-shadow .15s var(--ease), transform .15s var(--ease);background:#fff;border:1px solid #e7ebf0;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:#17212b;font-size:15px;font-weight:800}.commercial-action small{color:#697684}.ficha-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.ficha-grid label{color:#344054;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{background:#fff;border:1px solid #e7ebf0;border-radius:12px;gap:8px;padding:12px;display:grid}.commercial-wall-photo{aspect-ratio:3/2;background:#f1f3f5;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{cursor:pointer;background:#fff;border:1px solid #e7ebf0;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:#697684;font-size:12px}.pipeline-row{border-bottom:1px solid #eef1f4;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:#697684;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}}.share-agency-bar{background:#ffffffe6;border-radius:12px;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex;box-shadow:0 6px 18px #17212b1a}.share-agency-bar img{object-fit:contain;max-width:120px;max-height:44px}.share-agency-bar strong{font-size:15px;display:block}.share-agency-bar small{color:#5a6b7b}.share-public-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.share-public-price{color:#17212b;font-size:22px;font-weight:900}.public-lead-panel{margin-top:24px}.public-lead-form h3{margin:0 0 6px}.agent-create-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}@media (width<=720px){.agent-create-form{grid-template-columns:1fr}.agency-row{grid-template-columns:1fr;gap:4px}.agency-row.head{display:none}}.admin-user-row.head{color:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.admin-user-id{min-width:0;display:grid}.admin-user-id strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-id small{color:#697684}.admin-user-row .chip{min-height:32px}.admin-homes{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.admin-home{gap:12px;display:grid}.admin-home-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-home-head small{color:#697684;display:block}.admin-members{gap:8px;display:grid}.admin-member{grid-template-columns:minmax(0,1fr) 150px 36px;align-items:center;gap:8px;display:grid}.admin-member-id{min-width:0;display:grid}.admin-member-id span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-member-id small{color:#697684;font-size:12px}.admin-grant{border-top:1px solid #eef1f4;grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;gap:8px;padding-top:12px;display:grid}.admin-home-actions{align-items:center;gap:8px;display:flex}.icon-button.danger{color:#c0392b;border-color:#f3c9c2}.icon-button.danger:hover{background:#fdecea}.admin-overview{gap:16px;display:grid}.admin-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.admin-kpi{background:#fff;border:1px solid #e7ebf0;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 1px 2px #1018280a}.admin-kpi-icon{color:#4f46e5;background:#eef2ff;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.admin-kpi-body{min-width:0;display:grid}.admin-kpi-body strong{font-size:22px;line-height:1.1}.admin-kpi-body span{color:#475467;font-size:13px;font-weight:600}.admin-overview-cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.admin-bars{gap:10px;display:grid}.admin-bar-row{grid-template-columns:130px minmax(0,1fr) 40px;align-items:center;gap:10px;font-size:13px;display:grid}.admin-bar-row strong{text-align:right}.admin-bar{background:#eef1f4;border-radius:999px;height:8px;overflow:hidden}.admin-bar>div{background:linear-gradient(90deg,#6366f1,#4f46e5);border-radius:999px;min-width:4px;height:100%}.admin-audit-row{border-bottom:1px solid #eef1f4;grid-template-columns:170px minmax(0,1.2fr) 150px minmax(0,2fr);align-items:center;gap:12px;padding:9px 8px;display:grid}.admin-audit-row.head{color:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.admin-audit-row span,.admin-audit-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel-title-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.panel-title-actions select{min-height:32px}.admin-hint{margin:-4px 0 4px;font-size:13px}.admin-filters{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px;display:flex}.admin-filters .admin-search{border:1px solid #d6dce2;border-radius:10px;flex:240px;min-width:180px;padding:9px 12px;font-size:14px}.admin-filters select{background:#fff;border:1px solid #d6dce2;border-radius:10px;padding:9px 12px;font-size:14px}.admin-create-form{background:#f7f9fb;border:1px solid #e7ebf0;border-radius:12px;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:12px;display:flex}.admin-create-form input{flex:120px;min-width:0}.admin-create-form .rule-message{flex:100%}.admin-catalog-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1.4fr) 120px 110px 110px 96px 40px;align-items:center;gap:12px;padding:10px 8px;display:grid}.admin-rule-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 90px 100px 60px 96px 40px;align-items:center;gap:12px;padding:10px 8px;display:grid}.admin-catalog-row.head,.admin-rule-row.head{color:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.admin-catalog-row .chip,.admin-rule-row .chip{min-height:32px}.admin-rule-row .admin-user-id small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-config{gap:16px;display:grid}.admin-settings-list{gap:4px;display:grid}.admin-setting-row{border-bottom:1px solid #eef1f4;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.admin-setting-id{gap:2px;min-width:0;display:grid}.admin-setting-id small{color:#697684;font-size:12px}.admin-setting-edit{flex:0 460px;align-items:flex-start;gap:8px;display:flex}.admin-setting-edit input,.admin-setting-edit textarea{flex:auto;min-width:0}.admin-setting-edit textarea{resize:vertical;font:inherit}.admin-org-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1.6fr) 180px 90px 110px 110px 120px;align-items:center;gap:12px;padding:10px 8px;display:grid}.admin-plan-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1.4fr) 120px 80px minmax(0,1.2fr) 90px 70px;align-items:center;gap:12px;padding:10px 8px;display:grid}.admin-sub-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) 110px 100px 110px;align-items:center;gap:12px;padding:10px 8px;display:grid}.admin-org-row.head,.admin-plan-row.head,.admin-sub-row.head{color:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.admin-org-row .chip,.admin-plan-row .chip,.admin-sub-row .chip{min-height:30px}.admin-org-row span,.admin-sub-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-kill{border-left:4px solid #2e7d32}.admin-kill.on{background:#fdf3f2;border-left-color:#c0392b}.admin-kill-body{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-kill-body strong{font-size:16px;display:block}.admin-kill-body small{color:#697684}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:#697684;text-transform:uppercase;letter-spacing:.02em;font-size:12px}.billing-current-grid strong{font-size:16px}.billing-actions{margin-top:14px}.billing-plans{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.billing-plan{background:#fff;border:1px solid #e7ebf0;border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex}.billing-plan.current{border-color:#4f46e5;box-shadow:inset 0 0 0 1px #4f46e5}.billing-plan.trialing{border-color:#2fb0a0;box-shadow:inset 0 0 0 1px #2fb0a0}.billing-plan-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plan-badge{border-radius:999px;padding:1px 8px;font-size:11px;font-weight:800;display:inline-block}.plan-badge.current{color:#4f46e5;background:#eceafe}.plan-badge.trial{color:#1f8a4c;background:#e6f6ec}.plan-note{color:#5d6b78;background:#f1f8f5;border-left:3px solid #2fb0a0;border-radius:6px;margin:0;padding:7px 10px;font-size:12.5px}.billing-plan header h3{margin:0 0 6px;font-size:16px}.billing-price{align-items:baseline;gap:4px;display:flex}.billing-price strong{font-size:26px;line-height:1}.billing-price span{color:#697684;font-size:13px}.billing-features{flex:1;gap:6px;margin:0;padding:0;list-style:none;display:grid}.billing-features li{color:#344054;padding-left:18px;font-size:13px;position:relative}.billing-features li:before{content:"✓";color:#16a34a;font-weight:900;position:absolute;left:0}.billing-plan button{justify-content:center;width:100%}@media (width<=720px){.billing-plans{grid-template-columns:1fr}}.kpi-delta{font-weight:700}.kpi-delta.good{color:#16a34a}.kpi-delta.bad{color:#c0392b}.line-chart{width:100%;height:150px;display:block}.line-chart-area{fill:#4f46e51a;stroke:none}.line-chart-line{fill:none;stroke:#4f46e5;stroke-width:2px;vector-effect:non-scaling-stroke}.line-chart-dot{fill:#4f46e5}.line-chart-xlabel{fill:#98a2b3;font-size:11px}.line-chart-vlabel{fill:#4f46e5;font-size:12px;font-weight:800}.nc-bars{align-items:flex-start;gap:6px;height:120px;padding-top:6px;display:flex}.nc-col{flex-direction:column;flex:1;justify-content:flex-start;align-items:center;min-width:0;display:flex}.nc-pos{background:#16a34a;border-radius:3px 3px 0 0;width:70%;min-height:2px}.nc-neg{background:#e26d5c;border-radius:0 0 3px 3px;width:70%;min-height:0;margin-top:2px}.nc-col small{color:#98a2b3;margin-top:4px;font-size:10px}.biz-audience,.biz-movement{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.biz-mv{background:#f2f4f7;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700}.biz-mv.pos{color:#16a34a}.biz-mv.neg{color:#c0392b}.biz-mv.net{color:#4f46e5;background:#eef2ff}.biz-cost-breakdown{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.admin-cohort-row{border-bottom:1px solid #eef1f4;grid-template-columns:110px 80px 110px minmax(0,1fr);align-items:center;gap:12px;padding:9px 8px;display:grid}.admin-cohort-row.head{color:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.cohort-bar{background:#eef1f4;border-radius:999px;height:18px;position:relative;overflow:hidden}.cohort-bar>div{background:linear-gradient(90deg,#6366f1,#4f46e5);min-width:2px;height:100%}.cohort-bar em{color:#344054;font-size:11px;font-style:normal;font-weight:800;line-height:18px;position:absolute;top:0;right:8px}@media (width<=720px){.admin-cohort-row{grid-template-columns:1fr;gap:4px}.admin-cohort-row.head{display:none}}.pricing-toggle{margin-top:14px}.pricing-toggle em{opacity:.7;font-size:11px;font-style:normal}.pricing-price small{color:#697684;font-size:14px;font-weight:600}.pricing-lead-note{text-align:center;color:#475467;margin-top:18px}.link-button{color:#4f46e5;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.lead-form{gap:12px;display:grid}.lead-form label{color:#344054;gap:4px;font-size:13px;font-weight:600;display:grid}.lead-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lead-form textarea{resize:vertical;font:inherit}.lead-sent{text-align:center;color:#16a34a;justify-items:center;gap:12px;padding:16px 0;display:grid}.lead-sent p{color:#344054}.admin-lead-row{border-bottom:1px solid #eef1f4;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) 110px 140px;align-items:center;gap:12px;padding:10px 8px;display:grid}.admin-lead-row.head{color:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.admin-lead-row .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=720px){.lead-form-row{grid-template-columns:1fr}.admin-lead-row{grid-template-columns:1fr;gap:4px}.admin-lead-row.head{display:none}}.modal.admin-detail{width:min(560px,100%)}.admin-detail-body{gap:16px;display:grid}.admin-detail-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-detail-section h4{text-transform:uppercase;letter-spacing:.02em;color:#475467;margin:0 0 8px;font-size:13px}.admin-detail-row{border-bottom:1px solid #f1f3f5;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.share-modal{width:min(620px,100%)}.share-state{color:#46515d;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:#46515d;align-items:center;gap:8px;font-weight:850;display:flex}.share-members-head svg{color:var(--brand-deep)}.share-member{border:1px solid #e3e8ed;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{color:#1f8a4c;background:#e6f6ec}.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 #d6dce2;border-radius:10px;padding:11px 13px;font-size:15px}.invite-card .auth-form input[readonly]{color:#6c7884;background:#f3f5f7}.share-member-id small{color:#697684;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.share-member-seen{color:#9aa7b3!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:#5c6875;background:#eef1f4;border-color:#d7dde3}.commercial-badge.state-reserved{color:#6c4a13;background:#fff7e6;border-color:#f0d0a0}.commercial-badge.state-sold{color:#1f4e7a;background:#e7f1fb;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:#46515d;font-size:13px}.share-link-box{background:var(--surface-soft);border:1px solid #e3e8ed;border-radius:10px;gap:8px;padding:12px;display:grid}.share-link-head{color:#46515d;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)}.share-public{z-index:1;width:min(1100px,100%);margin:0 auto;padding:clamp(24px,5vw,56px) clamp(18px,5vw,44px);position:relative}.share-public-head{color:#fff;margin-bottom:24px}.share-public-head h1{letter-spacing:-.02em;margin:8px 0 6px;font-size:clamp(30px,5vw,52px)}.share-public-head p{color:#ffffffd9;margin:0 0 10px;font-size:18px}.share-public-rooms{gap:16px;display:grid}.share-public-room{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;padding:16px}.share-public-room-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.share-public-room-head strong{font-size:18px}.share-public-room-head span{color:#697684;font-size:13px;font-weight:800}.share-public-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.share-public-photo{background:#eef1f4 50%/cover no-repeat;border-radius:10px;height:clamp(120px,12vw,180px)}.share-public-empty{color:#9aa7b3;margin:0}.share-public-note{color:#ffffffc7;margin-top:20px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease), box-shadow .18s var(--ease);background:linear-gradient(#fff,#f7fafa);border:1px solid #e3e8ed;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:#697684;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}.install-cost{color:#697684;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:#e8edf2;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:#697684;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{color:#9aa7b3;border:1px dashed #c7d0d9;border-radius:999px;place-items:center;min-width:28px;height:22px;padding:0 8px;font-size:12px;font-weight:900;display:inline-grid}.cell-score small{color:#9aa7b3;font-size:11px;font-weight:700}.score-badge.ok{color:#1f8a4c;background:#e6f6ec;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:#9aa7b3;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:#697684;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{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e3e8ed;padding:16px}.panel-title{color:#17212b;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>span{align-items:center;gap:8px;display:inline-flex}.split-title{justify-content:space-between;gap: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:#eef1f4;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:inline-grid}.segmented-control button{color:#5c6875;min-height:36px;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{color:var(--brand-deep);box-shadow:var(--shadow-sm);background:#fff;border-color:#c7d0d9}.segmented-control button:disabled{cursor:not-allowed;opacity:.45}.list{gap:7px;display:grid}.row{text-align:left;color:#17212b;width:100%;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease);background:#f8fafc;border-color:#e0e5ea;border-radius:10px;gap:3px;padding:11px 12px;display:grid}.row:hover{border-color:var(--brand);background:#fff}.row span,.element-row span,.muted,.overview p{color:#697684;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{box-shadow:var(--shadow-sm);background:linear-gradient(#fff,#f6faf9);border:1px solid #e3e8ed;border-radius:10px;padding:12px}.metric span{color:#697684;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:#f4f6f8}.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-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e3e8ed;display:grid;overflow:hidden}.room-table-head{color:#697684;text-transform:uppercase;background:#f8fafc;grid-template-columns:minmax(130px,1fr) minmax(90px,.7fr) minmax(150px,.9fr) minmax(92px,.55fr) minmax(126px,.55fr);align-items:center;gap:10px;padding:10px 12px;font-size:12px;font-weight:900;display:grid}.room-row{color:#17212b;text-align:left;width:100%;transition:background .16s var(--ease);background:#fff;border:0;border-top:1px solid #e0e5ea;border-radius:0;grid-template-columns:minmax(130px,1fr) minmax(90px,.7fr) minmax(150px,.9fr) minmax(92px,.55fr) minmax(126px,.55fr);align-items:center;gap:10px;padding:0 10px 0 0;display:grid}.room-row:hover{background:#f7fbfa}.room-row.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand-deep)}.room-row-main{color:#17212b;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;min-height:44px;padding:10px 0 10px 12px;display:grid}.room-actions{justify-content:center;gap:6px;min-width:112px;display:flex}.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:8px;height:8px}.image-dot-row-1 .image-dot.active{background:#d94b3d}.image-dot-row-2 .image-dot.active{background:#f08a2b}.image-dot-row-3 .image-dot.active{background:#f3c743}.image-dot-row-4 .image-dot.active{background:#31a66a}.room-row-main span{color:#697684;font-size:13px}.chip{color:#17212b;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease);background:#f8fafc;border-color:#d7dde3;padding:0 12px;font-weight:800}.chip:hover{border-color:var(--brand);background:#fff}.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}.wall-form{grid-template-columns:minmax(160px,1fr) minmax(100px,.6fr) minmax(100px,.6fr) auto}.wall-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.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);color:#17212b;min-height:44px;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);background:#fff;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}.wall-card{border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .16s var(--ease), box-shadow .16s var(--ease), background .16s var(--ease);background:#fff;border:1px solid #e3e8ed;gap:10px;padding:12px;display:grid}.wall-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}.wall-card.active{border-color:var(--brand-deep);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand-deep), var(--shadow-md)}.wall-card strong,.wall-card span{text-overflow:ellipsis;overflow:hidden}.wall-card span{color:#697684;font-size:13px}.wall-card-head{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.wall-card-head strong{color:#17212b;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.calibration-chip{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.calibration-chip.valid{color:#244b46;background:#e7f5f2;border:1px solid #2a9d8f}.calibration-chip.warning{color:#5c3f13;background:#fff8e8;border:1px solid #e9a23b}.wall-card-actions{align-items:center;gap:8px;display:flex}.wall-card-actions .icon-button{margin-left:auto}.wall-upload{border:1px dashed var(--brand);min-height:36px;color:var(--brand-deep);background:var(--brand-soft);flex:1;justify-content:center}.wall-upload:hover{border-color:var(--brand-deep);background:#fff}.wall-mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.wall-card-actions .upload-button.mini,.wall-card-actions .mini-button,.wall-card-actions .icon-button{height:30px;min-height:30px;font-size:12px}.wall-card-actions .upload-button.mini,.wall-card-actions .mini-button{padding:0 8px}.wall-card-actions .icon-button{width:30px;padding:0}.wall-thumb{color:#9aa7b3;background:#eef1f4 50%/cover no-repeat;border:1px solid #dce2e8;border-radius:10px;place-items:center;height:clamp(150px,13vw,200px);display:grid;position:relative}.wall-side-badge{cursor:pointer;height:28px;box-shadow:var(--shadow-sm);transition:transform .14s var(--ease), box-shadow .14s var(--ease);border:1px solid;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:950;line-height:1;display:inline-flex;position:absolute;top:8px;left:8px}.wall-side-badge svg{display:block}.wall-side-badge:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.wall-side-badge.assigned{color:#fff;background:var(--brand-deep);border-color:var(--brand-deep)}.wall-side-badge.free{color:var(--brand-deep);border-color:var(--brand);background:#ffffffeb;border-style:dashed}.wall-side-badge:disabled{opacity:.5;cursor:not-allowed}.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}.wall-card-form{border-top:1px solid #d7dde3;gap:8px;padding-top:8px;display:grid}.wall-config-split{grid-template-columns:1.1fr .9fr}.room-summary{gap:8px;display:grid}.room-summary div{background:#f8fafc;border:1px solid #e0e5ea;border-radius:7px;gap:3px;padding:9px;display:grid}.room-summary span{color:#697684;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)}.tools{flex-direction:column;grid-area:tools;align-self:start;height:calc(clamp(520px,62vh,760px) + 122px);display:flex;overflow:hidden}.tools-scroll{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.tools-collapse-button{color:#17212b;background:#f8fafc;border:1px solid #d7dde3;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:34px;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{background:#f8fafc;border:1px solid #e0e5ea;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:#697684;text-transform:uppercase;font-size:12px;font-weight:900}.tool{text-align:left;color:#17212b;cursor:grab;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);background:#f8fafc;border-color:#d7dde3;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);box-shadow:var(--shadow-sm);background:#fff}.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{color:#46515d;background:#fff;border-color:#d7dde3;place-items:center;width:34px;min-height:100%;padding:0;display:grid}.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}.wall-editor-head{border-bottom:1px solid #eef1f4;align-items:flex-start;gap:14px;margin-bottom:14px;padding-bottom:14px}.wall-editor-id{gap:9px;min-width:0;display:grid}.wall-editor-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wall-editor-title h2{letter-spacing:-.01em;margin:0;font-size:23px;line-height:1.08}.wall-meta-chips{flex-wrap:wrap;gap:7px;display:flex}.wall-meta-chip{color:#46515d;background:#f8fafc;border:1px solid #e3e8ed;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 11px;font-size:12px;font-weight:800;display:inline-flex}.wall-meta-chip svg{color:var(--brand-deep)}.wall-meta-chip.ok{background:var(--brand-soft);color:var(--brand-ink);border-color:#9ed6c8}.wall-meta-chip.warn{color:#6c4a13;background:#fff7e6;border-color:#f0d0a0}.wall-meta-chip.warn svg{color:#b9791b}.geometry-mode{grid-template-columns:repeat(5,minmax(0,1fr))}.wall-mode-bar{flex-wrap:wrap;align-items:stretch;gap:10px;margin-bottom:10px;display:flex}.wall-mode-bar .geometry-mode{margin:0}.geometry-mode.aux{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:240px}.wall-mode-sep{background:#c7d0d9;border-radius:2px;align-self:stretch;width:2px;min-height:34px}.geometry-mode.working{background:#b3bfca;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:#17212b}.geometry-mode.working button.active{color:var(--brand-deep);box-shadow:var(--shadow-sm);background:#fff;border-color:#fff}.wall-installations{margin:0 0 12px}.geometry-mode button{align-items:center;gap:6px;display:inline-flex}.wall-title{flex-wrap:wrap;margin-bottom:5px}.wall-plan-button{width:30px;height:30px}.wall-mode-description{color:#697684;margin:-5px 0 12px;font-size:13px;line-height:1.35}.geometry-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.switch-control{color:#17212b;background:#f8fafc;border:1px solid #d7dde3;border-radius:7px;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;min-height:32px;padding:0 9px;font-size:12px;font-weight:850;display:inline-flex}.switch-control input{width:15px;height:15px;min-height:15px}.wall-canvas{background:#eef1f4;border:1px solid #b9c4ce;border-radius:8px;place-items:center;width:100%;min-height:clamp(520px,62vh,760px);padding:16px;display:grid;position:relative;overflow:hidden}.wall-canvas:after{content:"";pointer-events:none;background:#c7d0d9bf;border-top:1px solid #69768459;height:18px;display:none;position:absolute;bottom:0;left:0;right:0}.wall-canvas.photo:after{display:none}.wall-stage{width:100%;max-width:100%;position:relative;overflow:hidden}.photo-stage{width:min(100%, calc((clamp(520px, 62vh, 760px) - 34px) * var(--image-aspect,1.6)));aspect-ratio:var(--image-aspect,1.6);background:#f4efe5;border-radius:7px;place-items:center;display:grid}.photo-stage img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%}.diagram-stage{background:#fbfcfd;border:1px solid #9fb0bf;border-radius:7px;max-height:calc(clamp(520px,62vh,760px) - 34px)}.wall-grid-overlay{pointer-events:none;background-image:repeating-linear-gradient(to right, #217c728c 0 2px, transparent 2px var(--grid-col,12.5%)), repeating-linear-gradient(to bottom, #217c728c 0 2px, transparent 2px var(--grid-row,20%));position:absolute;inset:0}.rectified-stage .wall-grid-overlay{background-image:repeating-linear-gradient(to right, #ffffffd9 0 2px, transparent 2px var(--grid-col,12.5%)), repeating-linear-gradient(to bottom, #ffffffd9 0 2px, transparent 2px var(--grid-row,20%));mix-blend-mode:difference}.wall-canvas:not(.show-grid) .diagram-stage{background:#fbfcfd}.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;color:#46515d;pointer-events:none;background:#ffffffd1;border:1px solid #b9c4ced9;border-radius:999px;align-items:center;gap:7px;min-height:30px;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}.wall-layer-progress{background:#f8fafc;border:1px solid #d7dde3;border-radius:8px;gap:8px;padding:10px;display:grid}.wall-layer-progress.done{background:#e7f5f2;border-color:#84c9bb}.wall-layer-progress.error{background:#fff1f0;border-color:#e6aaa2}.wall-layer-progress-head,.wall-layer-steps{align-items:center;gap:8px;display:flex}.wall-layer-progress-head{color:#17212b;justify-content:space-between;font-size:13px;font-weight:900}.wall-layer-progress-head span{color:#697684;font-size:12px}.wall-layer-steps{flex-wrap:wrap}.wall-layer-steps span{color:#697684;background:#fff;border:1px solid #d7dde3;border-radius:999px;align-items:center;gap:5px;min-height:28px;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.wall-layer-steps span.active{color:#6c4a13;background:#fff7e6;border-color:#f0d0a0}.wall-layer-steps span.done{color:#244b46;background:#fff;border-color:#84c9bb}.wall-layer-progress p{color:#8f3328;margin:0;font-size:12px;font-weight:850}.calibration-overlay{z-index:3;pointer-events:none;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}.calibration-handle{fill:#fff;stroke:#17212b;stroke-width:.8px;cursor:grab;pointer-events:auto;vector-effect:non-scaling-stroke}.calibration-label{fill:#17212b;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:1.2px;font-size:4px;font-weight:900}.diagram-origin,.diagram-axis{z-index:1;color:#46515d;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{color:#17212b;z-index:2;cursor:grab;background:#fff;border:2px solid #2a9d8f;border-radius:6px;place-items:center;min-width:28px;min-height:28px;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:#17212b;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;color:#17212b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #69768447;border-radius:8px;gap:9px;width:min(280px,100% - 24px);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-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:#697684;text-transform:uppercase;font-size:10px;font-weight:900}.element-quick-grid strong{color:#17212b;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{color:#697684;place-items:center;min-height:64px;font-weight:750;display:grid}.element-list{grid-area:list;align-self:start}.element-row{cursor:pointer;text-align:left;transition:border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease);background:#f8fafc;border:1px solid #e3e8ed;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);box-shadow:var(--shadow-sm);background:#fff}.element-row.priced{background:#e7edf2}.element-row div{gap:3px;min-width:0;display:grid}.element-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pill{color:#17212b;background:#e7f5f2;border:1px solid #2a9d8f;border-radius:999px;justify-content:center;align-items:center;min-height:26px;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{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);background:#fff;border-color:#d7dde3;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.neutral{color:#17212b}.icon-button.primary-icon{color:#fff;background:var(--ink-grad);border-color:#17212b;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}@keyframes backdropIn{0%{opacity:0}}.modal{border-radius:var(--radius-lg);width:min(560px,100%);box-shadow:var(--shadow-lg);animation:modalIn .28s var(--ease);background:#fff;border:1px solid #fff9;gap:14px;padding:20px;display:grid}@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%)}.wall-side-modal{width:min(820px,100%)}.danger-backdrop{z-index:30}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.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{background:#f8fafc;border:1px solid #e0e5ea;border-radius:7px;gap:3px;padding:10px;display:grid}.review-grid span{color:#697684;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}.wall-side-copy{color:#46515d;margin:0;font-size:13px;line-height:1.45}.wall-side-canvas{background-color:#fbfcfd;background-image:linear-gradient(90deg,#69768414 1px,#0000 1px),linear-gradient(#69768414 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px,42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #d7dde3;border-radius:8px;height:min(54vh,520px);min-height:360px;overflow:hidden}.wall-side-canvas svg{width:100%;height:100%;display:block}.wall-side-room rect{fill:#e5e9ef;stroke:#aeb9c4;stroke-width:4px}.wall-side-room.active rect{fill:#f8fafc;stroke:#17212b;stroke-width:6px}.wall-side-room text{fill:#46515d;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:7px;font-size:28px;font-weight:900}.wall-side-selected{stroke:#2a9d8f;stroke-width:14px;stroke-linecap:round;pointer-events:none}.wall-side-free{stroke:#c2ccd6;stroke-width:9px;stroke-linecap:round;pointer-events:none}.wall-side-taken{stroke:#e0992b;stroke-width:10px;stroke-linecap:round;opacity:.85;pointer-events:none}.wall-side-hit{stroke:#0000;stroke-width:42px;stroke-linecap:round;cursor:pointer}.wall-side-options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.side-option{color:#17212b;text-align:left;background:#f8fafc;border:1px solid #d7dde3;border-radius:10px;align-items:center;gap:9px;min-height:48px;padding:8px 12px;font-weight:850;display:flex}.side-option-text{gap:2px;display:grid}.side-option small{color:#697684;font-size:11px;font-weight:800}.side-option.active{border-color:var(--brand-deep);color:var(--brand-ink);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand-deep)}.side-option.active small{color:var(--brand-deep)}.side-option.taken{color:#6c4a13;cursor:not-allowed;background:#fff7e6;border-color:#f0d0a0}.side-option.taken small{color:#8a5a12}.side-option.unassign{border-style:dashed}.floorplan-shell{gap:14px;width:min(1500px,100%);margin:0 auto;padding:14px;display:grid}.floorplan-header{grid-template-columns:auto minmax(0,1fr) auto minmax(360px,.8fr);align-items:center;gap:16px;display:grid}.floorplan-3d-button{justify-self:end}.floorplan-header h1{letter-spacing:0;margin:0;font-size:clamp(22px,3vw,30px);line-height:1.1}.floorplan-header p{color:#697684;margin:6px 0 0}.floorplan-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.floorplan-layout.with-tools{grid-template-columns:236px minmax(0,1fr) 320px}.floorplan-layout.with-tools.tools-collapsed{grid-template-columns:54px minmax(0,1fr) 320px}.floorplan-tools{flex-direction:column;align-self:start;max-height:calc(clamp(520px,62vh,760px) + 130px);display:flex;overflow:hidden}.floorplan-tools.collapsed{align-items:center;padding:12px 8px}.floorplan-tools.collapsed .floorplan-tools-scroll{display:none}.floorplan-tools .floorplan-palette-items{flex-direction:column;gap:6px}.floorplan-tools .floorplan-palette-item{justify-content:flex-start;width:100%}.floorplan-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.floorplan-file-button{cursor:pointer;position:relative;overflow:hidden}.floorplan-file-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.floorplan-file-button.loading{opacity:.7;pointer-events:none}.floorplan-import-toast{margin:12px 14px 0}.floorplan-scope{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px 0;display:flex}.plan-scope-switch button.active{color:var(--brand-deep)}.plan-scope-hint{color:#697684;font-size:12px;font-weight:800}.floorplan-inspector{align-self:start}.legend-list{grid-template-columns:1fr 1fr;gap:7px;margin:0 0 4px;display:grid}.legend-list span{color:#46515d;align-items:center;gap:8px;font-size:12px;font-weight:850;display:flex}.legend-list i{border:2px solid;border-radius:5px;width:18px;height:18px;display:inline-block}.floorplan-canvas-panel{min-width:0;padding:0;overflow:hidden}.floorplan-canvas-wrap{min-width:0;position:relative}.floorplan-canvas{cursor:crosshair;touch-action:none;background:#fbfcfd;border:1px solid #b9c4ce;border-radius:8px;width:100%;height:min(76vh,880px);min-height:680px;display:block}.floorplan-canvas.pan-ready{cursor:grab}.floorplan-canvas.panning{cursor:grabbing}.room3d-shell{gap:14px;width:min(1500px,100%);margin:0 auto;padding:14px;display:grid}.room3d-header{grid-template-columns:auto minmax(0,1fr) minmax(440px,.9fr);align-items:center;gap:16px;display:grid}.room3d-header h1{color:#17212b;letter-spacing:0;margin:0;font-size:clamp(23px,3vw,32px);line-height:1.08}.room3d-header p{color:#697684;margin:6px 0 0}.room3d-controls{border-top:1px solid #e0e5ea;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:10px;padding-top:10px;display:flex}.room3d-elements-toggle{background:#f8fafc;border:1px solid #d7dde3;border-radius:7px;min-height:36px;padding:0 11px}.room3d-photo-switch{margin-left:0}.room3d-photo-switch button{min-height:34px}.room3d-stage-panel{background:#f6f8fa;border:1px solid #b9c4ce;border-radius:8px;min-width:0;position:relative;overflow:hidden;box-shadow:0 10px 24px #17212b0f}.room3d-stage{touch-action:none;outline:none;width:100%;height:min(78vh,900px);min-height:650px;display:block}.room3d-stage canvas{width:100%;height:100%;display:block}.walk-minimap{pointer-events:none;z-index:4;background:#fff;border:1px solid #17212b40;border-radius:10px;width:180px;height:140px;position:absolute;bottom:14px;right:14px;box-shadow:0 8px 20px #17212b38}.walk-hint{color:#fff;pointer-events:none;z-index:4;background:#17212bd1;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.walk-hint strong{font-weight:900}.room3d-side-strip{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafce0;border:1px solid #b9c4ced9;border-radius:8px;flex-wrap:wrap;gap:8px;max-width:calc(100% - 28px);padding:8px;display:flex;position:absolute;bottom:14px;left:14px;box-shadow:0 14px 30px #17212b24}.side-chip{color:#697684;background:#ffffffe6;border:1px solid #d7dde3;border-radius:7px;align-items:center;gap:8px;min-height:32px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.side-chip.ready{color:#244b46;background:#e7f5f2f0;border-color:#84c9bb}.wall-status-dot{background:#b7c0ca;border-radius:999px;width:8px;height:8px;display:inline-block}.side-chip.ready .wall-status-dot{background:#31a66a}.room3d-empty{color:#697684;pointer-events:none;place-items:center;font-weight:850;display:grid;position:absolute;inset:0}.room3d-warning{z-index:2;color:#6c4a13;background:#fff7e6f0;border:1px solid #f0d0a0;border-radius:8px;max-width:min(360px,100% - 28px);padding:10px 12px;font-size:13px;font-weight:850;position:absolute;top:14px;right:14px;box-shadow:0 12px 26px #17212b1f}.visit-shell{gap:12px;width:min(920px,100%);margin:0 auto;padding:12px 12px 92px;display:grid}.profile-completion{background:#f1f8f5;border:1px solid #e3e8ed;border-radius:12px;align-content:center;justify-items:center;min-width:90px;padding:6px 14px;display:grid}.profile-completion strong{color:#1f8a4c;font-size:22px}.profile-completion span{color:#6c7884;font-size:11px}.profile-section .profile-questions{gap:16px;margin-top:6px;display:grid}.profile-question{gap:7px;display:grid}.profile-question>label{color:#2c3a47;font-size:14px;font-weight:800}.profile-question input[type=text],.profile-question textarea{border:1px solid #d6dce2;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.profile-save-bar{background:linear-gradient(transparent, var(--app-bg,#f4f6f8) 40%);justify-content:flex-end;padding:12px 0;display:flex;position:sticky;bottom:0}.profile-save-bar .primary{justify-content:center;min-width:180px}.visit-celebration{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f1e1c8c;justify-content:center;align-items:center;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}.visit-celebration-card{text-align:center;background:#fff;border-radius:18px;width:min(420px,92vw);padding:32px 26px 26px;animation:.45s cubic-bezier(.18,.89,.32,1.28) both celebrationPop;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.visit-celebration-emoji{font-size:56px;line-height:1;animation:.6s .1s both celebrationBounce}.visit-celebration-card h2{color:#17212b;margin:14px 0 6px;font-size:22px}.visit-celebration-card p{color:#5d6b78;margin:0 0 20px;font-size:15px}.visit-celebration-card .primary{justify-content:center;width:100%}.visit-celebration-confetti{pointer-events:none;position:absolute;inset:0}.visit-celebration-confetti span{top:-12px;left:calc(var(--i) * 7%);opacity:0;background:hsl(calc(var(--i) * 47), 80%, 60%);width:8px;height:14px;animation:confettiFall 1.4s ease-in calc(var(--i) * 60ms) 1 forwards;border-radius:2px;position:absolute}@keyframes celebrationPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes celebrationBounce{0%{transform:translateY(-10px)scale(.6)}60%{transform:translateY(4px)scale(1.1)}to{transform:translateY(0)scale(1)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(340px)rotate(420deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.visit-topbar,.visit-control-card,.visit-question-card,.visit-capture-card,.visit-new-room-card{background:#fff;border:1px solid #d7dde3;border-radius:8px;box-shadow:0 10px 24px #17212b0d}.visit-topbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.visit-topbar-title{min-width:0}.visit-topbar h1{color:#17212b;letter-spacing:0;margin:2px 0 3px;font-size:24px;line-height:1.08}.visit-topbar p{color:#697684;margin:0}.visit-status{color:#46515d;background:#f8fafc;border:1px solid #d7dde3;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.visit-status-completed{color:#244b46;background:#e7f5f2;border-color:#84c9bb}.visit-status-partial,.visit-status-in_progress{color:#6c4a13;background:#fff7e6;border-color:#f0d0a0}.visit-control-card{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px;display:flex}.visit-step-switch,.visit-mode-switch{margin:0}.toast-inline{color:#244b46;background:#e7f5f2;border:1px solid #84c9bb;border-radius:8px;padding:10px 12px;font-weight:850}.toast-inline.error{color:#8f3328;background:#fff1f0;border-color:#e6aaa2}.home3d-room-strip{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafce0;border:1px solid #b9c4ced9;border-radius:8px;flex-wrap:wrap;gap:8px;max-height:116px;padding:8px;display:flex;position:absolute;bottom:14px;left:14px;right:14px;overflow:auto;box-shadow:0 14px 30px #17212b24}.home3d-room-chip{border:1px solid var(--room-chip-color,#d7dde3);color:#17212b;background:#ffffffe6;border-radius:7px;align-items:center;gap:7px;min-height:32px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.home3d-room-chip.active{background:var(--room-chip-bg,#e7f5f2);box-shadow:inset 0 0 0 1px var(--room-chip-color,#217c72)}.home3d-room-chip i{border:2px solid var(--room-chip-color,#d7dde3);background:var(--room-chip-bg,#f8fafc);border-radius:3px;width:10px;height:10px;display:inline-block}.visit-question-card{gap:14px;padding:16px;display:grid}.visit-progress-head,.visit-priority-row,.visit-card-actions,.visit-capture-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.visit-progress-head{color:#697684;font-size:13px;font-weight:900}.visit-progress-head strong{color:#17212b}.visit-progress-bar{background:#e8edf2;border-radius:999px;height:10px;overflow:hidden}.visit-progress-bar span{border-radius:inherit;background:var(--brand-grad);height:100%;transition:width .5s var(--ease);display:block;box-shadow:0 0 12px #2a9d8f73}.visit-priority-row{color:#697684;font-size:12px;font-weight:900}.visit-phase-current{color:#217c72}.visit-priority{background:#f8fafc;border:1px solid #d7dde3;border-radius:999px;padding:5px 9px}.visit-priority.essential{color:#244b46;background:#e7f5f2;border-color:#84c9bb}.visit-priority.optional{color:#4e3f72;background:#f3effb;border-color:#c5b9df}.visit-phase-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.visit-phase-chip{color:#697684;background:#f8fafc;border:1px solid #d7dde3;border-radius:7px;justify-content:space-between;align-items:center;gap:6px;padding:7px 9px;font-size:12px;font-weight:900;display:flex}.visit-phase-chip.active{color:#244b46;background:#e7f5f2;border-color:#84c9bb}.visit-phase-chip small{color:inherit;font-size:11px}.visit-question-card h2,.visit-capture-card h2{color:#17212b;letter-spacing:0;margin:0;font-size:28px;line-height:1.12}.visit-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.visit-answer{color:#17212b;-webkit-tap-highlight-color:transparent;min-height:58px;transition:transform .16s var(--ease), border-color .16s var(--ease), background .16s var(--ease), box-shadow .16s var(--ease);background:#f8fafc;border:1.5px solid #cbd4dd;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.visit-answer:hover{border-color:var(--brand);background:#fff}.visit-answer:active{transform:scale(.98)}.visit-answer span{min-width:0}.visit-answer.active{border-color:var(--brand-deep);background:var(--brand-soft);color:var(--brand-ink);box-shadow:inset 0 0 0 1px var(--brand-deep), 0 6px 16px #217c7229}.visit-answer.active svg{color:var(--brand-deep)}.visit-answer-grid.multi .visit-answer{text-align:left;justify-content:flex-start}.visit-option-helper{color:#697684;margin:-4px 0 0;font-size:13px;font-weight:800}.visit-number-answer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.visit-number-answer input{min-height:54px;font-size:22px;font-weight:900}.visit-number-answer span{color:#697684;font-weight:900}.visit-card-actions{flex-wrap:wrap}.visit-photo-layout{gap:12px;display:grid}.visit-room-strip{gap:8px;padding:2px 0 4px;display:flex;overflow-x:auto}.visit-room-pill{color:#17212b;text-align:left;-webkit-tap-highlight-color:transparent;min-width:150px;transition:border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);background:#fff;border:1px solid #d7dde3;border-radius:11px;gap:3px;padding:11px 12px;display:grid}.visit-room-pill:active{transform:scale(.98)}.visit-room-pill span{color:#697684;font-size:12px;font-weight:850}.visit-room-pill.active{border-color:#217c72;box-shadow:inset 0 0 0 1px #217c72}.visit-room-pill.complete{background:#e7f5f2;border-color:#84c9bb}.visit-room-pill.progress{background:#fff7e6;border-color:#f0d0a0}.visit-room-pill.new{color:#217c72;place-content:center;justify-items:center;min-width:132px;font-weight:900}.visit-new-room-card{grid-template-columns:minmax(150px,1fr) minmax(140px,.8fr) minmax(140px,auto);align-items:center;gap:8px;padding:10px;display:grid}.visit-new-room-copy{color:#17212b;gap:2px;display:grid}.visit-new-room-copy span{color:#697684;font-size:12px;font-weight:800}.visit-capture-card{gap:12px;padding:14px;display:grid}.visit-photo-count{color:#6c4a13;background:#fff7e6;border:1px solid #f0d0a0;border-radius:999px;place-items:center;width:54px;height:54px;font-size:18px;font-weight:950;display:grid}.visit-photo-count.complete{color:#244b46;background:#e7f5f2;border-color:#84c9bb}.visit-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.visit-photo-slot{color:#697684;min-height:170px;transition:border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease);background:#f8fafc;border:2px dashed #cbd4dd;border-radius:12px;place-items:center;font-weight:900;display:grid;position:relative;overflow:hidden}.visit-photo-slot:hover{border-color:var(--brand);background:#fff}.visit-photo-slot:active{transform:scale(.99)}.visit-photo-slot span svg{color:var(--brand-deep)}.visit-photo-slot.complete{background:#e7f5f2;border-style:solid;border-color:#31a66a}.visit-photo-slot img{object-fit:cover;width:100%;height:100%;min-height:170px}.visit-photo-slot span{justify-items:center;gap:7px;display:grid}.visit-photo-slot strong{color:#fff;background:#17212bd1;border-radius:7px;padding:6px 8px;font-size:12px;position:absolute;inset:auto 8px 8px}.visit-photo-slot input{opacity:0;cursor:pointer;position:absolute;inset:0}.visit-helper{color:#697684;margin:0;font-size:13px;font-weight:800}.visit-helper.success{color:#244b46}.visit-sticky-footer{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #b9c4cee6;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(920px,100vw - 24px);padding:10px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #17212b2e}.visit-sticky-footer .primary{background:var(--brand-grad);box-shadow:var(--shadow-brand);border-color:#0000}.visit-sticky-footer div{color:#46515d;text-align:center;gap:2px;font-size:13px;font-weight:900;display:grid}.visit-action-short{display:none}.visit-sticky-footer small{color:#697684}.canvas-zoom-control{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafcf0;border:1px solid #b9c4ceeb;border-radius:8px;grid-template-columns:34px minmax(110px,170px) 34px 34px auto;align-items:center;gap:7px;padding:8px;display:grid;position:absolute;bottom:14px;right:14px;box-shadow:0 14px 30px #17212b24}.canvas-zoom-control input{width:100%;min-height:26px;padding:0}.canvas-zoom-control strong{color:#1c2833;text-align:right;min-width:42px;font-size:13px}.plan-room{cursor:grab}.plan-room:active{cursor:grabbing}.plan-room.selected rect{filter:drop-shadow(0 10px 18px #17212b2e)}.plan-room-title,.plan-room-subtitle{fill:#17212b;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#ffffffb8;stroke-width:8px;font-weight:900}.plan-room-label{pointer-events:none}.plan-room-title{font-size:34px}.plan-room-subtitle{fill:#46515d;font-size:24px}.plan-resize-zone{fill:#0000;stroke:#0000;pointer-events:all}.plan-resize-zone.horizontal{cursor:ns-resize}.plan-resize-zone.vertical{cursor:ew-resize}.plan-corner-rotate{fill:#0000;stroke:#0000;cursor:grab;pointer-events:all}.plan-draft{fill:#7f8a992e;stroke:#7f8a99;stroke-width:4px;stroke-dasharray:14 10}.floorplan-toolbar{background:linear-gradient(#fff,#f7fafa);border-bottom:1px solid #e3e8ed;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.floorplan-layer-switch{background:#eef1f4;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:280px}.floorplan-layer-switch button{min-height:40px}.floorplan-layer-step{color:#46515d;background:#d7dde3;border-radius:999px;place-items:center;width:20px;height:20px;font-size:12px;font-weight:950;display:inline-grid}.floorplan-layer-switch button.active .floorplan-layer-step{background:var(--brand-grad);color:#fff}.floorplan-layer-short{display:none}.floorplan-dim-toggle{color:#46515d;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d7dde3;border-radius:9px;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-size:13px;font-weight:850;display:inline-flex}.floorplan-dim-toggle svg{color:var(--brand-deep)}.floorplan-dim-toggle input{width:16px;height:16px;min-height:16px;accent-color:var(--brand-deep);cursor:pointer}.floorplan-palette{background:#fbfcfd;border-bottom:1px solid #e3e8ed;gap:12px;max-height:200px;padding:12px 14px;display:grid;overflow-y:auto}.floorplan-palette-group{gap:6px;display:grid}.floorplan-palette-hint{color:#697684;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:850}.floorplan-palette-items{flex-wrap:wrap;gap:8px;display:flex}.floorplan-palette-item{color:#17212b;cursor:pointer;min-height:38px;transition:border-color .16s var(--ease), box-shadow .16s var(--ease), transform .16s var(--ease);background:#fff;border:1px solid #d7dde3;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.floorplan-palette-item:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.floorplan-palette-item i{border:2px solid;border-radius:5px;width:16px;height:16px}.plan-cota{pointer-events:none}.plan-cota line{stroke:#8a98a6;stroke-width:2px}.plan-cota-text{fill:#46515d;text-anchor:middle;paint-order:stroke;stroke:#ffffffd9;stroke-width:7px;font-size:22px;font-weight:850}.plan-item.editable{cursor:grab}.plan-item.editable:active{cursor:grabbing}.plan-item.locked{opacity:.42}.plan-item.selected{filter:drop-shadow(0 8px 16px #17212b38)}.plan-item-resize{fill:#fff;stroke:var(--brand-deep);stroke-width:3px;cursor:nwse-resize}.plan-item-rotate{fill:#fff;stroke:var(--brand-deep);stroke-width:3px;cursor:grab}.plan-item-rotate:active{cursor:grabbing}.floorplan-canvas.architect .plan-item-resize,.floorplan-canvas.architect .plan-item-rotate,.floorplan-canvas.architect .plan-item-rotate-stem{display:none}.plan-item-rotate-stem{stroke:var(--brand-deep);stroke-width:2px;stroke-dasharray:4 4;pointer-events:none}.plan-item-label{fill:#46515d;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#ffffffd9;stroke-width:5px;font-size:18px;font-weight:800}.floorplan-canvas.architect .plan-room>rect{fill:#fff;stroke:#1f2937;stroke-width:11px}.floorplan-canvas.architect .plan-room.selected>rect{stroke:#1f2937}.floorplan-canvas.architect .plan-room-title{fill:#1f2937;text-transform:uppercase;letter-spacing:1px}.floorplan-canvas.architect .plan-room-subtitle{fill:#6b7785}.floorplan-canvas.architect .plan-item.locked{opacity:1}.floorplan-canvas.architect .plan-item rect,.floorplan-canvas.architect .plan-item path,.floorplan-canvas.architect .plan-item line,.floorplan-canvas.architect .plan-item ellipse,.floorplan-canvas.architect .plan-item circle{stroke:#1f2937}.floorplan-canvas.architect .plan-item .plan-item-body,.floorplan-canvas.architect .plan-item .plan-item-frame{fill:#fff}.floorplan-canvas.architect .plan-item .plan-item-panel{fill:#eef1f4}.floorplan-canvas.architect .plan-item-label{fill:#1f2937}.floorplan-canvas.architect .plan-cota line{stroke:#1f2937}.floorplan-canvas.architect .plan-cota-text{fill:#1f2937}.plan-item-inspector{gap:12px;display:grid}.plan-item-inspector-head{border-radius:var(--radius);background:var(--surface-soft);border:1px solid #e3e8ed;align-items:center;gap:12px;padding:12px;display:flex}.plan-item-inspector-head i{border:2px solid;border-radius:8px;flex-shrink:0;width:30px;height:30px}.plan-item-inspector-head strong{display:block}.plan-item-inspector-head span{color:#697684;font-size:13px;font-weight:800}.floorplan-hint{color:#697684;margin:0;font-size:13px;line-height:1.45}.floorplan-inspector{gap:12px;display:grid}.inspector-legend{border-bottom:1px solid #e0e5ea;padding-bottom:12px}.room-inspector-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.room-inspector-actions{align-items:center;gap:8px}.room-inspector-actions .danger-button,.room-inspector-actions .primary{min-height:36px;padding-inline:10px}.room-inspector-grid div,.readonly-measure{background:#f8fafc;border:1px solid #e0e5ea;border-radius:7px;gap:3px;padding:10px;display:grid}.room-inspector-grid span{color:#697684;font-size:12px;font-weight:800}.readonly-measure{color:#46515d;align-content:center;font-weight:850}.summary-box{border-top:1px solid #e0e5ea;gap:6px;margin-top:12px;padding-top:12px;display:grid}.summary-box div{color:#46515d;justify-content:space-between;gap:12px;display:flex}.upload-button{color:#17212b;background:#f8fafc;border-color:#c7d0d9;min-height:38px;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){.dashboard-grid,.project-header,.floorplan-header,.room3d-header{grid-template-columns:1fr}.floorplan-layout{grid-template-columns:minmax(0,1fr) 300px}.wall-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.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}.app-view-visit>.topbar{display:none}.dashboard-shell,.project-shell,.floorplan-shell,.room3d-shell{padding:10px}.visit-shell{width:100%;padding:8px 8px calc(78px + env(safe-area-inset-bottom,0px));gap:8px}.project-table{overflow-x:auto}.project-table-head,.project-row{min-width:1280px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-row{grid-template-columns:1fr;gap:6px}.admin-user-row.head,.admin-audit-row.head,.admin-catalog-row.head,.admin-rule-row.head,.admin-org-row.head,.admin-plan-row.head,.admin-sub-row.head{display:none}.admin-audit-row,.admin-catalog-row,.admin-rule-row,.admin-org-row,.admin-plan-row,.admin-sub-row{grid-template-columns:1fr;gap:4px}.admin-kill-body,.admin-setting-row{flex-direction:column;align-items:stretch}.admin-setting-edit{flex-basis:auto}.admin-home-actions{flex-wrap:wrap}.admin-homes,.admin-member,.admin-grant,.share-invite,.share-member,.share-link-row{grid-template-columns:1fr}.share-public-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.installation-picker,.installation-picker.inline,.three-cols,.wall-config-split,.sidebar,.split,.editor-layout,.floorplan-layout{grid-template-columns:1fr}.floorplan-canvas{min-height:520px}.floorplan-layout.with-tools,.floorplan-layout.with-tools.tools-collapsed{grid-template-columns:1fr}.floorplan-tools{max-height:none}.floorplan-layer-full{display:none}.floorplan-layer-short{display:inline}.floorplan-layer-switch button{flex-direction:column;gap:2px;font-size:11px;line-height:1.1}.floorplan-toolbar{padding:10px}.room3d-stage{min-height:540px}.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}.canvas-zoom-control{grid-template-columns:34px minmax(86px,1fr) 34px 34px auto;bottom:10px;left:10px;right:10px}.editor-layout{grid-template-areas:"tools""editor""list"}.overview{display:grid}.metrics{grid-template-columns:repeat(2,1fr);min-width:0}.public-nav{flex-wrap:wrap;gap:10px}.public-menu{order:3;justify-content:center;width:100%}.public-menu button{flex:1}.landing-actions{margin-left:auto}.landing-trust{gap:14px;margin-top:22px}.landing-hero{grid-template-columns:1fr;min-height:auto;padding-top:clamp(28px,9vw,60px);padding-bottom:clamp(28px,9vw,60px)}.landing-band,.landing-steps-grid,.landing-compare{grid-template-columns:1fr}.landing-demo{justify-self:stretch}.landing-proof,.contact-page,.public-footer-main{grid-template-columns:1fr}.public-footer-bottom{flex-direction:column}.room-form{grid-template-columns:1fr 1fr}.wall-canvas{min-height:520px}.project-title-line,.modal-head{flex-wrap:wrap}}@media (width<=520px){.topbar-actions{justify-content:space-between;width:100%}.sidebar,.metrics,.room-form,.wall-image-grid,.review-grid,.two-cols{grid-template-columns:1fr}.auth-panel,.panel{padding:12px}.wall-canvas{min-height:460px}}@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,.admin-overview-cols,.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.dashboard-shell,.project-shell,.floorplan-shell,.room3d-shell,.visit-shell{padding:12px 10px 80px}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,.admin-kpi-grid,.billing-plans,.journey-grid,.landing-pricing,.landing-steps-grid,.admin-overview-cols,.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}.admin-filters{flex-direction:column;align-items:stretch}.admin-filters .admin-search,.admin-filters select{flex:auto;width:100%}.admin-table,.project-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-user-row,.admin-audit-row,.pipeline-row,.codes-row,.agency-row,.project-row,.project-table-head,.admin-user-row.head,.admin-audit-row.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,.profile-save-bar .primary{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,.floorplan-layout,.workspace,.room3d-layout,.home3d-layout,.sidebar{grid-template-columns:1fr!important}.element-list,.plan-item-palette{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;display:flex;overflow-x:auto}.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}}
