:root{--ink:#20242b;--muted:#7d8490;--line:#e4e7eb;--panel:#fff;--accent:#25272b;--purple:#6957e8}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:#edf0f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);overflow:hidden}button,input{font:inherit}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:#f5f6f7}.auth-showcase{padding:8vw;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(140deg,#181b21cc,#181b2177),url('../img/1000244430.jpg') center/cover}.auth-showcase h1{font-size:clamp(42px,5vw,76px);font-weight:700;line-height:1.02}.auth-showcase p{max-width:560px;font-size:18px;color:#d8dce3}.eyebrow{letter-spacing:.2em;font-size:12px}.auth-card{width:min(440px,90%);margin:auto;background:#fff;padding:38px;border-radius:22px;box-shadow:0 28px 80px #0001}.brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#222;color:#fff;font-size:23px;margin-bottom:22px}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:250px 1fr 330px;align-items:center;padding:0 18px;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:36px;height:36px;border-radius:10px;background:#222;color:#fff;display:grid;place-items:center}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:11px}.project-title{justify-self:center;display:flex;align-items:center;gap:9px;background:#f6f7f8;border:1px solid #eceef0;border-radius:12px;padding:7px 12px}.project-title input{border:0;background:transparent;outline:0;width:190px;font-weight:600}.save-state{font-size:11px;color:#6c9174;border-left:1px solid #ddd;padding-left:10px}.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}.icon-btn,.avatar-btn,.mini-btn{border:1px solid var(--line);background:#fff;color:#40444b;border-radius:9px;height:34px;padding:0 11px}.avatar-btn{width:36px;border-radius:50%;padding:0}.studio-shell{height:calc(100vh - 64px);display:grid;grid-template-columns:76px 310px minmax(0,1fr) 292px}.mode-rail{background:#f7f7f7;border-right:1px solid var(--line);padding:8px 6px;display:flex;flex-direction:column;gap:5px}.rail-btn{height:64px;border:0;background:transparent;border-radius:10px;color:#686f79;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px}.rail-btn i{font-size:21px}.rail-btn:hover,.rail-btn.active{background:#25272b;color:#fff}.rail-spacer{flex:1}.catalog-panel,.properties{background:#fff;min-width:0;overflow:hidden}.catalog-panel{border-right:1px solid var(--line);display:flex;flex-direction:column}.catalog-head,.prop-head{height:76px;padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.catalog-head small,.prop-head small{font-size:10px;letter-spacing:.16em;color:#989ea7}.catalog-head h5,.prop-head h5{margin:2px 0 0;font-size:16px}.panel-close{border:0;background:#f1f2f4;border-radius:9px;width:32px;height:32px}.catalog-search{margin:14px 16px 10px;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;padding:0 11px;color:#999}.catalog-search input{border:0;outline:0;height:38px;width:100%;padding-left:8px}.catalog-tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:0 13px;border-bottom:1px solid var(--line)}.catalog-tabs button{border:0;background:transparent;padding:10px 2px;font-size:11px;color:#777;border-bottom:2px solid transparent}.catalog-tabs button.active{color:#111;border-color:#111;font-weight:600}.catalog-scroll{overflow:auto;flex:1;padding:16px}.catalog-section h6{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#858b94;margin:5px 0 12px}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}.tool{border:1px solid var(--line);background:#fff;border-radius:11px;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#4b5159}.tool i{font-size:20px}.tool span{font-size:11px}.tool:hover,.tool.active{border-color:#25272b;background:#25272b;color:#fff}.tool.danger{color:#a54141}.template-list{display:grid;gap:9px}.template-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px;cursor:pointer}.template-card:hover{box-shadow:0 8px 22px #0000000d}.template-card b,.template-card small{display:block;font-size:12px}.template-card small{color:#999;margin-top:3px}.room-thumb{width:68px;height:53px;border-radius:8px;background-size:cover;background-position:center}.living-thumb{background-image:url('../img/1000244431.jpg')}.bedroom-thumb{background-image:url('../img/1000244430.jpg')}.kitchen-thumb{background-image:url('../img/1000244432.jpg')}.ai-card{padding:16px;border-radius:16px;background:linear-gradient(145deg,#27252e,#5b4ed1);color:#fff}.ai-card p{font-size:12px;color:#ddd}.ai-icon{font-size:25px}.ai-suggestion{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;gap:10px}.ai-suggestion small{display:block;color:#888}.workspace{min-width:0;display:flex;flex-direction:column;background:#dfe2e5}.workspace-toolbar{height:52px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 12px}.view-switch{display:flex;gap:4px}.view-btn{height:34px;padding:0 15px;border:0;border-radius:8px;background:transparent;color:#777}.view-btn.active{background:#24262a;color:#fff}.toolbar-center{justify-self:center;display:flex;gap:5px}.workspace-toolbar>div:last-child{justify-self:end}#canvas2dWrap,#canvas3dWrap{position:relative;flex:1;min-height:0}#canvas2d{display:block;width:100%;height:100%;background:#f8f8f6}#canvas3dWrap canvas{display:block;width:100%;height:100%}.floating-tools{position:absolute;top:20px;left:20px;display:flex;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #0001;border-radius:12px;padding:5px;gap:3px}.floating-tools .tool{min-height:38px;width:40px;border:0;border-radius:8px}.floating-tools .tool span{display:none}.zoom-controls{position:absolute;right:18px;bottom:18px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #0001}.zoom-controls button{display:block;width:38px;height:36px;border:0;border-bottom:1px solid var(--line);background:#fff}.hint{position:absolute;left:18px;bottom:18px;background:#25272be8;color:#fff;padding:8px 12px;border-radius:9px;font-size:11px}.scene-badge{position:absolute;left:18px;bottom:18px;background:#fff;padding:8px 12px;border-radius:9px;box-shadow:0 7px 24px #0002;font-size:12px}.properties{border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:auto}.empty-state{margin:auto;text-align:center;color:#8b919a;padding:30px}.empty-state div{width:54px;height:54px;border-radius:50%;margin:0 auto 12px;background:#f1f2f4;display:grid;place-items:center;font-size:22px}.empty-state b,.empty-state span{display:block}.empty-state span{font-size:12px;margin-top:6px}.properties form{padding:16px}.form-section{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #eee}.form-section label{font-size:11px;color:#747b84;margin-bottom:7px}.label-row{display:flex;justify-content:space-between}.label-row span{font-size:10px;color:#aaa}.dimension-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.dimension-grid>div,.input-icon{border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;padding:0 8px}.dimension-grid small{color:#aaa}.dimension-grid input,.input-icon input{width:100%;height:36px;border:0;outline:0;padding-left:7px;background:transparent}.material-preview{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:8px;border-radius:10px}.material-sample{width:46px;height:46px;border-radius:8px;background:linear-gradient(115deg,#bb8b5d,#e1c29a,#95633c)}.material-preview b,.material-preview small{display:block;font-size:11px}.material-preview small{color:#999}.material-preview i{margin-left:auto}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:10px}.swatches button{aspect-ratio:1;border-radius:7px;border:1px solid #ddd}.swatches button:nth-child(1){background:#f7f3ea}.swatches button:nth-child(2){background:#c89c74}.swatches button:nth-child(3){background:#7b5134}.swatches button:nth-child(4){background:#3d4148}.swatches button:nth-child(5){background:#b84a45}.swatches button:nth-child(6){background:#d7c08c}.status-box{margin:auto 14px 14px;border:1px solid var(--line);border-radius:11px;padding:11px;display:flex;align-items:center;gap:9px}.status-dot{width:9px;height:9px;border-radius:50%;background:#39a562}.status-box b,.status-box small{display:block;font-size:11px}.status-box small{color:#888;margin-top:2px}.product-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.product-card{border:1px solid var(--line);border-radius:11px;padding:7px;background:#fff;cursor:grab}.product-card img{width:100%;height:86px;object-fit:contain;background:#f4f4f4;border-radius:7px}.product-card small{display:block;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item{padding:10px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer}.project-item:hover{background:#f6f7f8}@media(max-width:1150px){.studio-shell{grid-template-columns:68px 270px 1fr}.properties{display:none}.topbar{grid-template-columns:220px 1fr 250px}}@media(max-width:820px){body{overflow:auto}.topbar{grid-template-columns:1fr auto}.project-title{display:none}.studio-shell{grid-template-columns:60px 240px minmax(520px,1fr);overflow:auto}.top-actions .icon-btn{display:none}.auth-shell{grid-template-columns:1fr}.auth-showcase{display:none}}

/* Commercial build additions */
.top-actions .icon-btn{transition:transform .18s ease,background .18s ease}.top-actions .icon-btn:hover{transform:translateY(-2px)}
.modal-content{border-radius:20px}.modal-header,.modal-footer{border-color:#eef1f5}
@media(max-width:780px){.top-actions #versionBtn,.top-actions #estimateBtn,.top-actions #renderBtn{display:none}}
