:root{--background:#f5f7f6;--foreground:#202f29;--card:#fff;--card-foreground:#202f29;--popover:#fff;--popover-foreground:#202f29;--primary:#235846;--primary-foreground:#fff;--secondary:#eaf0ed;--secondary-foreground:#235846;--muted:#eef2f0;--muted-foreground:#748078;--accent:#e6eeea;--accent-foreground:#235846;--destructive:#b44b40;--border:#e4e9e6;--input:#d8e0da;--ring:#67937f;--radius:.75rem;--sidebar:#fff;--sidebar-foreground:#58685e;--sidebar-primary:#235846;--sidebar-primary-foreground:#fff;--sidebar-accent:#e9f0ec;--sidebar-accent-foreground:#235846;--sidebar-border:#e4e9e6;--sidebar-ring:#67937f}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft Yahei", sans-serif;margin:0;font-size:16px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,input{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #80a893}.brand{letter-spacing:1px;flex-direction:row;align-items:center;gap:12px;height:100px;padding:26px;font-size:21px;font-weight:650;display:flex}.brand-mark{color:#fff;background:#235846;border-radius:13px 13px 13px 3px;place-items:center;width:40px;height:44px;display:grid}.brand small{letter-spacing:1.2px;color:#839088;margin-top:6px;font-size:10px;display:block}.project-small{background:#f6f8f7;border:1px solid #edf0ee;border-radius:10px;margin:14px 22px 26px;padding:18px 14px}.eyebrow{letter-spacing:1.6px;color:#7c8c82;margin:0 0 10px;font-size:12px}.project-small strong{margin-top:10px;font-size:16px;display:block}.project-small p{color:#7c8c82;margin:9px 0 0;font-size:12px}.nav-menu{gap:8px;padding:0 18px}.nav-item{gap:13px!important;height:48px!important;padding:0 17px!important;font-size:14px!important}.nav-item[data-active=true]{color:#235846;background:#e9f0ec;font-weight:650}.sidebar-note{color:#748078;border-top:1px solid #e6ebe8;margin:15px;padding:18px 4px;font-size:12px}.sidebar-note p{margin:10px 0 0;font-size:12px;line-height:1.8}.status-dot{background:#4e9475;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.workspace{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e2e8e4;justify-content:space-between;align-items:center;height:75px;padding:0 38px;font-size:14px;display:flex}.topbar>div{align-items:center;gap:18px;display:flex}.muted{color:#78847c}.top-badge{color:#738178;font-size:12px}.mobile-trigger{display:none!important}.page-content{max-width:1600px;margin:auto;padding:34px 38px 40px}.page-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}h1{letter-spacing:-.6px;margin:0 0 9px;font-size:28px;font-weight:650}.page-title p.muted{margin:0;font-size:14px}.primary,.secondary{color:#fff;white-space:nowrap;background:#235846;border:1px solid #235846;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:12px 17px;font-size:14px;font-weight:500;display:inline-flex}.secondary{color:#344b3e;background:#fff;border-color:#dce4df}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.stat{background:#fff;border:1px solid #e1e7e3;border-radius:12px;padding:22px}.stat>span{color:#7a877f;justify-content:space-between;align-items:center;font-size:14px;display:flex}.stat strong{letter-spacing:-1px;white-space:nowrap;font-variant-numeric:tabular-nums;margin:23px 0 13px;font-size:29px;font-weight:550;display:block}.stat small{color:#7b8980;font-size:12px}.stat em{color:#9ba69f;font-size:19px;font-style:normal}.stat.featured{color:#fff;background:#235846;border-color:#235846;box-shadow:0 5px 16px #23584615}.stat.featured span,.stat.featured small{color:#c0d4c8}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;display:grid}.panel{background:#fff;border:1px solid #e1e7e3;border-radius:12px;overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:16px;padding:23px 25px;display:flex}.panel h2{margin:0;font-size:17px;font-weight:600}.panel-head p{color:#849087;margin:7px 0 0;font-size:12px}.tag{color:#718177;background:#f1f5f2;border-radius:5px;padding:5px 10px;font-size:12px}.allocation{align-items:center;gap:40px;padding:17px 32px 35px;display:flex}.donut{background:conic-gradient(#235846 0% 83.55%,#dcb66c 83.55% 93.92%,#9ab6a8 93.92% 100%);border-radius:50%;flex-shrink:0;place-items:center;width:190px;height:190px;display:grid;transform:rotate(-90deg)}.donut>div{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:143px;height:143px;display:flex;transform:rotate(90deg)}.donut small{color:#849087;font-size:12px}.donut strong{margin-top:10px;font-size:29px;font-weight:550}.donut strong span{font-size:13px}.category-bars{flex:1;min-width:0}.category-line{margin-bottom:21px}.category-line:last-child{margin-bottom:0}.category-line>div:first-child{justify-content:space-between;gap:15px;font-size:14px;display:flex}.category-line b{font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.category-line i{border-radius:2px;width:7px;height:7px;margin-right:9px;display:inline-block}.bar-track{background:#f1f4f2;border-radius:5px;height:5px;margin:11px 0 6px;overflow:hidden}.bar-track>div{border-radius:5px;height:100%}.category-line small{color:#8a948e;font-size:12px}.insight{color:#798374;background:#f7f8f5;border-radius:7px;margin:0 25px 22px;padding:13px 16px;font-size:12px;line-height:1.7}.home-panel{flex-direction:column;display:flex}.floor-thumb{background:#fafbf9;height:232px;margin:0 22px;position:relative;overflow:hidden}.floor-thumb img{object-fit:cover;object-position:50% 35%;mix-blend-mode:multiply;width:100%;height:100%}.house-footer{color:#7a877f;justify-content:space-between;align-items:center;margin:18px 25px 22px;font-size:12px;display:flex}.stage-preview{margin-top:24px}.text-button{color:#406b55;background:0 0;border:none;align-items:center;gap:7px;padding:5px;font-size:14px;display:inline-flex}.phase-line{justify-content:space-between;gap:14px;padding:10px 25px 27px;display:flex;overflow:auto}.phase-line>div{flex-direction:column;flex:1;align-items:center;min-width:70px;display:flex;position:relative}.phase-line>div:after{content:"";background:#e4ebe6;width:90%;height:1px;position:absolute;top:17px;left:70%}.phase-line>div:last-child:after{display:none}.phase-line span{color:#7b8d80;background:#f0f4f1;border:1px solid #e1e9e3;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;display:grid}.phase-line strong{white-space:nowrap;margin-top:13px;font-size:14px;font-weight:500}.phase-line small{color:#8e9992;margin-top:7px;font-size:12px}@media (min-width:1500px){.stat strong{font-size:34px}.floor-thumb{height:250px}.allocation{gap:55px}}@media (max-width:1150px){.page-content{padding:25px}.topbar{padding:0 25px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.allocation{flex-wrap:wrap;gap:20px;padding:15px 22px 30px}.donut{width:150px;height:150px}.donut>div{width:113px;height:113px}.dashboard-grid{grid-template-columns:1.4fr 1fr}.phase-line{gap:23px}.phase-line>div{min-width:70px}}@media (max-width:767px){.mobile-trigger{display:inline-flex!important}.topbar{height:62px;padding:0 16px}.top-badge{display:none}.page-content{padding:24px 16px}.page-title{flex-wrap:wrap;align-items:flex-start}.page-title h1{font-size:22px;line-height:1.5}.page-title>.primary{padding:10px;font-size:14px}.stats{gap:10px}.stat{padding:16px}.stat strong{margin:18px 0 10px;font-size:24px}.dashboard-grid{grid-template-columns:1fr}.allocation{flex-wrap:nowrap;gap:25px}.floor-thumb{height:300px}.panel-head{padding:20px}.phase-line{padding:10px 20px 25px}}
.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.category-line{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.category-line:hover{opacity:.78}.inline-link{font-size:inherit;color:#235846;background:0 0;border:0;text-decoration:underline}.icon-button{color:#647b6a;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.icon-button:hover{background:#edf2ef}.icon-button:disabled{opacity:.3;cursor:default}.floor-thumb{border:0;flex:1;width:calc(100% - 44px);min-height:232px;padding:0;display:block}.floor-thumb img{object-fit:initial;width:100%;height:auto;position:absolute;top:-24%;left:0}.house-footer{text-align:left;background:0 0;border:0;padding:0}.phase-line>button{background:0 0;border:0;flex-direction:column;flex:1;align-items:center;min-width:70px;display:flex;position:relative}.phase-line>button:after{content:"";background:#e4ebe6;width:90%;height:1px;position:absolute;top:17px;left:70%}.phase-line>button:last-child:after{display:none}.phase-line span.complete{color:#fff;background:#235846}.phase-line>button:hover strong{color:#235846}.settings-button{padding:14px 23px}.lower-grid{margin-top:24px}.attention-list{padding:0 25px 8px}.attention-list>button{text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0ee;align-items:center;gap:14px;width:100%;padding:16px 0;display:flex}.attention-list>button:last-child{border:0}.attention-list>button>div{flex:1}.attention-list strong{font-size:14px;font-weight:500}.attention-list p{color:#829087;margin:6px 0 0;font-size:12px}.attention-icon{color:#4a705b;background:#eaf1ed;border-radius:9px;flex-shrink:0;place-items:center;width:37px;height:37px;display:grid}.attention-icon.gold{color:#9c7e38;background:#f8f1df}.attention-icon.red{color:#af6a5d;background:#fbefed}.recent-list{padding:0 25px 12px}.recent-list>div:not(.empty-state){border-bottom:1px solid #edf0ee;align-items:center;gap:12px;padding:13px 0;display:flex}.recent-list>div:last-child{border:0}.receipt-icon{color:#7d9384;border:1px solid #e8ece9;border-radius:7px;place-items:center;width:32px;height:34px;display:grid}.recent-list>div>div{flex:1}.recent-list strong{font-size:14px;font-weight:500}.recent-list small{color:#8b968f;margin-top:5px;font-size:12px;display:block}.recent-list b{font-size:14px;font-weight:500}.forecast-note{color:#7c8b80;padding:20px 4px;font-size:12px;line-height:1.8}.forecast-note b{color:#456b54;font-weight:500}.green{color:#368862}.red-text,.stat.over strong{color:#b55044!important}.amber{color:#987739}.error-banner{color:#964c2d;background:#fff0e8;border:1px solid #f0d5c2;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:13px 16px;font-size:14px;display:flex}.error-banner span{flex:1}.error-banner button{white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;font-size:14px;text-decoration:underline;display:flex}.budget-toolbar{flex-wrap:wrap;justify-content:space-between;gap:15px;padding:22px 25px;display:flex}.budget-toolbar [data-slot=tabs-list]{height:40px}.budget-toolbar [data-slot=tabs-trigger]{padding:7px 15px}.count{opacity:.6;margin-left:5px;font-size:12px}.filters{flex-wrap:wrap;align-items:center;gap:12px;padding:0 25px 20px;display:flex}.search-box{color:#8b9b90;background:#fff;border:1px solid #dce3df;border-radius:8px;flex:1;align-items:center;gap:9px;min-width:180px;padding:0 13px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%;padding:10px 0;font-size:14px}.pick{background:#fff;min-height:40px;width:100%!important;font-size:14px!important}.filters>.pick{width:160px!important}.filter-summary{color:#7d8e81;background:#f7f9f8;border-block:1px solid #e8eeea;padding:13px 25px;font-size:12px}.panel [data-slot=table]{font-size:14px}.panel [data-slot=table-head]{color:#839087;background:#fbfcfb;height:48px;padding:12px 17px;font-size:12px;font-weight:500}.panel [data-slot=table-cell]{color:#405347;padding:15px 17px}.panel [data-slot=table-head]:first-child,.panel [data-slot=table-cell]:first-child{padding-left:25px}.panel [data-slot=table-row]{border-color:#eaf0ec}.item-name{color:#263f2e;text-align:left;white-space:normal;background:0 0;border:0;max-width:230px;padding:0;font-weight:500}.item-name:hover{text-decoration:underline}.cell-sub{color:#8c998f;margin-top:6px;font-size:12px;display:block}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-actions{justify-content:flex-end;align-items:center;gap:3px;display:flex}.status-pill{color:#7d8c80;white-space:nowrap;background:#f1f3f1;border-radius:5px;padding:5px 9px;font-size:12px;font-weight:400;display:inline-block}.green-pill{color:#548465;background:#edf4ee}.pagination{color:#87978b;border-top:1px solid #e8eeea;justify-content:space-between;align-items:center;padding:17px 25px;font-size:12px;display:flex}.pagination>div{gap:5px;display:flex}.source-note{color:#829184;padding:20px 5px;font-size:12px;line-height:1.9}.source-note strong{color:#5b7463;font-weight:500}.source-note p{margin-top:5px}.empty-state{color:#8ea094;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:42px 24px;display:flex}.empty-state strong{color:#687f70;font-size:15px;font-weight:500}.empty-state p{margin:0;font-size:14px;line-height:1.6}.payment-stats{background:#fff;border:1px solid #e1e7e3;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-bottom:24px;padding:27px;display:grid}.payment-stats>div{border-right:1px solid #e5ebe6}.payment-stats>div:last-child{border:0}.payment-stats span{color:#809085;margin-bottom:15px;font-size:14px;display:block}.payment-stats strong{letter-spacing:-.8px;font-size:28px;font-weight:550}.wrap-cell{white-space:normal;max-width:270px;line-height:1.7;font-size:12px!important}.void-row{opacity:.45;text-decoration:line-through}.contract-list{padding:0 25px 15px}.contract-list>div{border-bottom:1px solid #e9eeeb;align-items:center;gap:20px;padding:15px 0;display:flex}.contract-list>div>div{flex:1}.contract-list strong{font-size:14px;font-weight:500}.contract-list small{color:#839286;margin-top:6px;font-size:12px;display:block}.contract-list b{font-size:16px;font-weight:500}.journey-summary{background:#eaf1ed;border:1px solid #d9e7df;border-radius:12px;align-items:center;gap:25px;margin-bottom:25px;padding:25px;display:flex}.journey-summary>div:first-child{white-space:nowrap;align-items:center;gap:18px;display:flex}.journey-summary strong{color:#235846;font-size:34px;font-weight:550}.journey-summary span{color:#678170;white-space:nowrap;font-size:14px}.journey-summary [data-slot=progress]{flex:1;max-width:500px}.timeline-list{flex-direction:column;gap:18px;display:flex}.stage-card{gap:25px;padding:25px;scroll-margin-top:20px;display:flex}.stage-number{letter-spacing:-1px;color:#bed1c4;flex-shrink:0;justify-content:center;align-items:flex-start;width:40px;padding-top:3px;font-size:30px;font-weight:400;display:flex}.stage-main{flex:1;min-width:0}.stage-main .panel-head{padding:0 0 20px}.stage-main h2 .status-pill{vertical-align:middle;margin-left:10px}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;display:grid}.check-grid label{color:#5c7365;cursor:pointer;align-items:center;gap:12px;font-size:14px;line-height:1.5;display:flex}.check-grid label.checked{color:#8ea094;text-decoration:line-through}.stage-finance{color:#8a9b8f;border-top:1px solid #eaf0ec;flex-wrap:wrap;gap:25px;margin-top:23px;padding-top:17px;font-size:12px;display:flex}.stage-note{white-space:pre-wrap;color:#607b6a;background:#f7f9f7;border-radius:7px;margin-top:20px;padding:15px;font-size:14px;line-height:1.8}.space-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);align-items:start;gap:25px;display:grid}.full-floor{padding:0;line-height:0;position:relative}.full-floor img{width:100%;height:auto;display:block}.room-hotspot{color:#44614f;white-space:nowrap;background:#fffef4ee;border:1px solid #b4c6ba;border-radius:20px;padding:7px 10px;font-size:12px;line-height:1.3;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #23584618}.room-hotspot.active{color:#fff;background:#235846}.room-pills{flex-wrap:wrap;gap:7px;padding:0 25px;display:flex}.room-pills button{color:#708778;background:#f9fbf9;border:1px solid #e1e9e3;border-radius:6px;padding:7px 12px;font-size:12px}.room-pills button.active{color:#fff;background:#235846;border-color:#235846}.room-total{background:#f6f9f7;border-block:1px solid #e8eeea;margin-top:20px;padding:27px 25px}.room-total span{color:#6c8475;font-size:14px;display:block}.room-total strong{color:#235846;margin:15px 0 7px;font-size:31px;font-weight:500;display:block}.room-total small{color:#89998f;font-size:12px}.room-items{padding:10px 25px}.room-items button{text-align:left;border:0;color:#637e6c;background:0 0;border-bottom:1px solid #eaf0ec;justify-content:space-between;gap:12px;width:100%;padding:14px 0;font-size:14px;display:flex}.room-items b{white-space:nowrap;font-size:12px;font-weight:400}.room-view{width:calc(100% - 50px);margin:15px 25px 25px}.editor-dialog{max-height:90vh;overflow-y:auto;max-width:620px!important;padding:28px!important;display:block!important}.editor-dialog [data-slot=dialog-title]{margin-bottom:7px;font-size:21px;line-height:1.4}.editor-dialog [data-slot=dialog-description]{font-size:14px;line-height:1.6}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;display:grid}.field{flex-direction:column;gap:9px;min-width:0;display:flex}.field>span{color:#617c6a;font-size:14px}.wide{grid-column:1/-1}.field input,.field textarea{color:#35513f;width:100%;min-height:41px;font:inherit;background:#fff;border:1px solid #d9e4dc;border-radius:7px;outline:none;padding:10px 12px;font-size:14px}.field input:focus,.field textarea:focus{border-color:#729c81;box-shadow:0 0 0 2px #b9d0c240}.field textarea{resize:vertical;min-height:80px}.field .pick{height:auto}.payment-picker{flex-direction:column;gap:10px;display:flex}.selected-item-name{color:#799280;font-size:12px}.reference-box{color:#708b79;background:#f3f7f4;border:1px solid #e3ede6;border-radius:8px;padding:16px;font-size:12px;line-height:1.8}.reference-box strong{font-weight:500}.reference-box p{margin:5px 0}.reference-box .button-row{margin-top:15px}.form-footer{border-top:1px solid #e6eee8;justify-content:flex-end;gap:12px;margin-top:25px;padding-top:20px;display:flex}.form-error{color:#ab5340;background:#fff0e9;border-radius:6px;margin-top:15px;padding:12px;font-size:14px}.save-notice{color:#fff;z-index:100;background:#235846;border-radius:9px;align-items:center;gap:10px;padding:14px 22px;font-size:14px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #15392730}@media (max-width:1150px){.attention-list,.recent-list{padding-inline:20px}.space-layout{grid-template-columns:1fr}.space-layout>aside{grid-template-columns:1fr;display:grid}.payment-stats strong{font-size:23px}.check-grid{gap:18px}.journey-summary{gap:15px}.floor-thumb img{top:-8%}.floor-thumb{min-height:270px}}@media (max-width:767px){.error-banner{flex-wrap:wrap}.page-title .button-row{width:100%}.payment-stats{grid-template-columns:1fr;gap:16px;padding:18px}.payment-stats>div{border:0;border-bottom:1px solid #e5ebe6;padding-bottom:15px}.payment-stats>div:last-child{padding:0}.payment-stats span{margin-bottom:8px}.budget-toolbar{padding:18px}.budget-toolbar [data-slot=tabs-trigger]{padding-inline:10px}.filters{padding-inline:18px}.filters>.pick{width:calc(50% - 6px)!important}.search-box{flex-basis:100%}.stage-card{gap:14px;padding:18px}.stage-number{width:28px;font-size:24px}.check-grid{grid-template-columns:1fr}.journey-summary{flex-wrap:wrap;gap:15px;padding:20px}.journey-summary>div:first-child{width:100%}.journey-summary [data-slot=progress]{min-width:140px}.stage-finance{gap:10px 20px}.contract-list>div{flex-wrap:wrap}.contract-list .text-button{margin-left:auto}.editor-dialog{padding:22px!important}.form-grid{grid-template-columns:1fr;gap:16px}.field{grid-column:1/-1}.floor-thumb img{top:-30%}.floor-thumb{min-height:310px}.room-hotspot{padding:5px 8px;font-size:12px}.save-notice{white-space:nowrap;bottom:15px}.panel-head .text-button{white-space:nowrap}}
.model-panel{min-width:0;overflow:hidden}.model-heading{align-items:flex-start;gap:15px}.model-heading .eyebrow{letter-spacing:1.5px;margin-bottom:10px;font-size:10px;display:block}.model-heading h2{font-size:21px}.model-expand{color:#476957;background:#fff;border:1px solid #e0e6df;border-radius:7px;padding:9px}.model-tabs{border-bottom:1px solid #e3e9e3;gap:24px;padding:0 25px;display:flex}.model-tabs button{color:#7b8c7f;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 0 15px;font-size:13px;display:inline-flex}.model-tabs button[aria-selected=true]{color:#235846;border-color:#235846;font-weight:600}.model-scenes{flex-wrap:wrap;align-items:center;gap:6px;padding:18px 20px 6px;display:flex}.model-scenes button{color:#738376;background:#fff;border:1px solid #dde6dd;border-radius:5px;padding:7px 12px;font-size:12px}.model-scenes button[aria-pressed=true]{color:#235846;background:#eaf1e9;border-color:#afc3ac}.model-scenes>span{text-align:right;color:#8b988b;flex:1;min-width:160px;font-size:10px}.model-tools{flex-wrap:wrap;align-items:center;gap:6px;padding:9px 20px 13px;display:flex}.model-tools button{color:#607c65;background:#f6f8f3;border:1px solid #e6ebe1;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:5px 8px;font-size:11px;display:inline-flex}.model-tools button:disabled{opacity:.45;cursor:default}.model-tools label{color:#6c806c;align-items:center;gap:5px;margin-left:auto;font-size:11px;display:flex}.model-tools input{accent-color:#235846}.model-stage{background:#f3f4ee;height:clamp(340px,39vw,570px);position:relative;overflow:hidden}.model-canvas{position:absolute;inset:0}.model-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.model-stage-label{color:#69806d;pointer-events:none;background:#ffffffe0;border:1px solid #fff9;border-radius:4px;padding:5px 8px;font-size:10px;position:absolute;bottom:13px;left:16px}.model-status{place-items:center;display:grid;position:absolute;inset:0}.model-status>img{object-fit:contain;opacity:.34;width:100%;height:100%;position:absolute;inset:0}.model-status>div{z-index:1;text-align:center;color:#42664a;background:#fffef5ef;border:1px solid #e3e8d8;border-radius:10px;flex-direction:column;align-items:center;gap:10px;max-width:90%;padding:24px;display:flex;box-shadow:0 7px 25px #5262440b}.model-status strong{font-size:13px;font-weight:500}.model-status span{color:#87947d;font-size:11px}.model-recovery{gap:8px;display:flex}.model-recovery button{color:#235846;background:#fff;border:1px solid #c0ceba;border-radius:5px;padding:8px 10px;font-size:12px}.model-caption{color:#70846e;background:#fbfcf8;border-bottom:1px solid #e9eee4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:12px 20px;font-size:11px;display:flex}.model-caption small{color:#96a08d;font-size:10px}.model-caption strong{color:#42644b;font-weight:500}.model-caption a{align-items:center;gap:6px;display:inline-flex}.model-render{background:#f3f4ee;justify-content:center;align-items:center;min-height:340px;padding:12px;display:flex}.model-render a{justify-content:center;width:100%;display:flex}.model-render img{object-fit:contain;width:100%;max-height:610px}.model-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:18px 20px;display:grid}.model-thumbnails button{color:#7e8e77;text-align:left;background:#fff;border:1px solid #e3e8dd;border-radius:6px;padding:3px;overflow:hidden}.model-thumbnails button[aria-pressed=true]{color:#235846;background:#f0f5eb;border-color:#588258;box-shadow:0 0 0 1px #588258}.model-thumbnails img{aspect-ratio:1.5;object-fit:cover;border-radius:3px;width:100%}.model-thumbnails span{padding:7px 5px 5px;font-size:11px;display:block}.model-downloads{border-top:1px solid #e8eee2;flex-wrap:wrap;align-items:center;gap:18px;padding:19px 20px;display:flex}.model-downloads .text-button{gap:5px;font-size:12px}.model-downloads small{color:#a1ac99;font-size:10px;font-weight:400}.model-note{color:#96a08c;margin:0;padding:0 20px 20px;font-size:10px;line-height:1.8}.model-expanded{z-index:60;background:#fff;position:fixed;inset:16px;overflow:auto;box-shadow:0 0 0 30px #172e2399}.model-expanded .model-stage{height:calc(100dvh - 340px);min-height:300px}.model-expanded .model-render img{max-height:calc(100dvh - 370px)}.model-expanded .model-thumbnails{grid-template-columns:repeat(7,minmax(0,1fr));max-width:1000px;margin:auto}.model-panel button:focus-visible,.model-panel a:focus-visible,.model-canvas canvas:focus-visible{outline-offset:-2px;outline:2px solid #235846}@media (min-width:1200px){.space-layout{grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr)}}@media (max-width:700px){.model-tabs{gap:20px;padding-inline:18px}.model-tabs button{font-size:12px}.model-scenes,.model-tools{padding-inline:14px}.model-scenes>span{text-align:left;flex-basis:100%;margin-top:5px}.model-stage{height:360px}.model-heading h2{font-size:18px}.model-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.model-caption{padding-inline:14px;font-size:10px}.model-downloads{gap:14px;padding-inline:14px}.model-expanded{inset:6px}.model-expanded .model-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}}
.login-page{background:#f8faf8;grid-template-columns:43% 57%;min-height:100svh;display:grid}.login-story{color:#fff;background:#235846;flex-direction:column;min-height:100svh;padding:48px 54px;display:flex}.login-brand{color:#fff;letter-spacing:1px;align-items:center;gap:13px;font-size:23px;font-weight:600;text-decoration:none;display:flex}.login-brand>span{background:#ffffff12;border:1px solid #ffffff25;border-radius:12px;place-items:center;width:45px;height:48px;display:grid}.login-story-copy{margin:auto 0;padding:75px 0}.login-story-copy>p{color:#a4c1b2;letter-spacing:2.5px;margin-bottom:30px;font-size:12px}.login-story-copy h1{letter-spacing:2px;font-size:clamp(32px,3.5vw,52px);font-weight:450;line-height:1.55}.login-rule{background:#dcb66c;width:42px;height:2px;margin:35px 0}.login-story-copy>span{color:#c1d4c8;font-size:15px;line-height:1.8}.login-private{color:#a9c2b4;align-items:center;gap:10px;font-size:13px;display:flex}.login-form-side{justify-content:center;align-items:center;padding:60px 32px 100px;display:flex;position:relative}.login-card{width:100%;max-width:395px}.login-lock{color:#235846;background:#e6eee8;border-radius:15px;place-items:center;width:54px;height:54px;margin-bottom:27px;display:grid}.login-card .eyebrow{letter-spacing:2px;margin-bottom:12px;font-size:11px}.login-card h2{letter-spacing:-.4px;color:#243c2e;margin:0 0 14px;font-size:28px;font-weight:600}.login-description{color:#7b8c80;margin:0 0 35px;font-size:14px;line-height:1.7}.login-card form>label{color:#455f4e;margin-bottom:12px;font-size:14px;display:block}.login-password{background:#fff;border:1px solid #d3dfd6;border-radius:9px;align-items:center;height:52px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.login-password:focus-within{border-color:#59866b;box-shadow:0 0 0 3px #789e861a}.login-password input{letter-spacing:1px;color:#233b2d;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:15px;font-size:16px}.login-password input::placeholder{letter-spacing:0;color:#a0aca3;font-size:14px}.login-password button{color:#85998b;background:0 0;border:0;flex-shrink:0;place-items:center;padding:15px;display:grid}.login-submit{justify-content:space-between;width:100%;height:50px;margin-top:22px;padding:0 18px;font-size:15px}.login-footnote{color:#8c9c91;align-items:center;gap:6px;margin-top:22px;font-size:12px;line-height:1.7;display:flex}.login-error{color:#a34c35;background:#faeeea;border:1px solid #eed5cb;border-radius:7px;margin-top:13px;padding:11px 13px;font-size:14px;line-height:1.6}.login-bottom{letter-spacing:.5px;color:#96a599;font-size:12px;position:absolute;bottom:40px}.logout-button{margin-bottom:8px}.login-submit:disabled{opacity:.55;cursor:not-allowed}@media (max-width:767px){.login-page{grid-template-columns:1fr}.login-story{min-height:auto;padding:28px}.login-story-copy{display:none}.login-private{margin-top:22px;font-size:12px}.login-form-side{align-items:flex-start;min-height:calc(100svh - 150px);padding:38px 26px 85px}.login-card{max-width:420px}.login-lock{display:none}.login-card h2{font-size:25px}.login-description{margin-bottom:28px}.login-bottom{font-size:12px;bottom:24px}}
