:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--color-text, #2d3142);background:var(--color-page, #f4f5f6);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--color-page, #f4f5f6)}#root{min-height:100vh}.app-shell{min-height:100vh;color:#1f2a24;background:linear-gradient(90deg,rgba(38,77,60,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(38,77,60,.08) 1px,transparent 1px),#efede4;background-size:34px 34px}.start-screen{min-height:100vh;display:grid;grid-template-rows:minmax(0,1fr) auto;color:#1f2a24;background:linear-gradient(90deg,rgba(39,75,92,.08) 1px,transparent 1px),linear-gradient(180deg,rgba(39,75,92,.08) 1px,transparent 1px),#f2efe6;background-size:36px 36px}.app-version{position:fixed;right:10px;bottom:8px;z-index:1000;border:1px solid rgba(31,42,36,.18);border-radius:6px;padding:4px 7px;color:#1f2a24b8;background:#fffdf5d1;font-size:.68rem;font-weight:850;line-height:1;pointer-events:none}.start-screen>.language-selector{position:fixed;top:12px;right:12px;z-index:20}.start-hero,.start-free{min-width:0;padding-inline:clamp(18px,5vw,72px)}.start-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;min-height:0;padding-block:clamp(34px,7vh,88px);text-align:center}.start-brand{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:720px}.start-brand-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:52px;height:52px;border:1px solid #c28a4a;border-radius:8px;color:#fffdf5;background:#a55f2a}.start-brand p,.start-free-heading p{margin:0 0 8px;color:#687067;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.start-brand h1{max-width:760px;margin:0;color:#1d2f34;font-size:clamp(2.3rem,5vw,4.6rem);line-height:.98;letter-spacing:0}.start-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.start-disclaimer,.start-legal-strip{display:grid;align-items:center;gap:9px;width:min(680px,100%);border:1px solid #d4ccb9;border-radius:8px;padding:10px 12px;color:#405249;background:#fffdf5b8;font-size:.82rem;font-weight:800;line-height:1.35;text-align:left}.start-disclaimer{grid-template-columns:auto minmax(0,1fr);border-color:#d1b781;color:#5c4c25;background:#fff8ddc2}.start-legal-strip{grid-template-columns:auto minmax(0,1fr) auto}.start-disclaimer svg{color:#8d6524}.start-legal-strip svg{color:#1d4e4f}.start-legal-strip button,.start-terms-actions button{border:1px solid #b9b29f;border-radius:8px;color:#1d4e4f;background:#fffdf5;font-weight:900;cursor:pointer}.start-legal-strip button{min-height:34px;padding:7px 10px;white-space:nowrap}.start-actions button,.start-submit,.start-auth-heading button{min-height:44px;border-radius:8px;font-weight:900;cursor:pointer}.start-actions button,.start-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #1d4e4f;padding:10px 16px}.start-primary,.start-submit{color:#fffdf5;background:#1d4e4f}.start-secondary{color:#1d4e4f;background:#fffdf5}.start-actions button:disabled,.start-submit:disabled{opacity:.48;cursor:not-allowed}.start-auth-form{display:grid;gap:12px;width:min(440px,100%);border:1px solid #cfc7b6;border-radius:8px;padding:18px;background:#fffdf5db;text-align:left}.start-auth-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.start-auth-heading h2{margin:0;font-size:1.1rem}.start-auth-heading button{border:1px solid #cfc7b6;padding:8px 10px;color:#1d4e4f;background:#f6f1e7}.start-auth-links{display:flex;flex-wrap:wrap;gap:8px}.start-auth-links button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid #cfc7b6;border-radius:8px;padding:7px 10px;color:#1d4e4f;background:#fffdf5;font-size:.78rem;font-weight:900}.start-auth-links button:disabled{opacity:.48;cursor:not-allowed}.start-terms-note{margin:0;color:#59675e;font-size:.78rem;font-weight:800;line-height:1.45}.start-terms-acceptance{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;border:1px solid #d4ccb9;border-radius:8px;padding:11px;background:#fffdf5}.start-auth-form .start-terms-acceptance input{width:18px;height:18px;min-height:18px;margin-top:2px;accent-color:#1d4e4f}.start-terms-acceptance label{display:block;color:#405249;font-size:.8rem;font-weight:900;line-height:1.4}.start-terms-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.start-terms-actions button{min-height:30px;padding:5px 8px;font-size:.76rem}.start-auth-form label{display:grid;gap:6px;color:#405249;font-size:.78rem;font-weight:900}.start-auth-form input{min-height:42px;border:1px solid #b9b29f;border-radius:8px;padding:9px 11px;color:#1f2a24;background:#fffdf5;font:inherit}.start-message{width:min(520px,100%);margin:0;border-left:4px solid #1d4e4f;padding:11px 13px;color:#1f2a24;background:#fffdf5eb;font-weight:800}.start-message.error{border-color:#9e2c22;color:#9e2c22}.start-free{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;border-top:1px solid #cfc7b6;padding-block:clamp(18px,2.8vw,34px);background:#fffdf585}.start-free-heading h2{margin:0;color:#1d2f34;font-size:clamp(1.35rem,2vw,1.95rem);letter-spacing:0}.free-workspace-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.free-workspace{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;grid-template-areas:"icon title arrow" "icon text arrow";align-items:center;gap:2px 12px;min-height:84px;border:1px solid #cfc7b6;border-radius:8px;padding:12px;color:#1f2a24;background:#fffdf5;text-align:left;cursor:pointer}.free-workspace>span{grid-area:icon;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;color:#fffdf5;background:#a55f2a}.free-workspace strong{grid-area:title;font-size:.95rem}.free-workspace small{grid-area:text;color:#687067;font-size:.76rem;font-weight:750;line-height:1.35}.free-workspace>svg{grid-area:arrow;color:#1d4e4f}.topbar{position:sticky;top:0;z-index:30;height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;border-bottom:1px solid #cfc7b6;background:#efede4eb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-mark,.run-state{display:flex;align-items:center;gap:12px}.brand-mark{min-width:0;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.brand-mark>div{min-width:0}.brand-mark svg{color:#bf7a2d}.brand-mark:hover h1,.brand-mark:focus-visible h1,.brand-mark.active h1{color:#1c3f31}.brand-mark:focus-visible{outline:3px solid rgba(191,122,45,.28);outline-offset:4px}.topbar-menu{display:contents}.topbar-workspace-controls{display:none}.topbar-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #b9b29f;border-radius:8px;color:#264d3c;background:#fffdf5;cursor:pointer}.topbar-menu-toggle:focus-visible{outline:3px solid rgba(191,122,45,.28);outline-offset:2px}.workspace-switcher{flex:0 0 auto;display:inline-flex;min-width:max-content;border:1px solid #b9b29f;border-radius:8px;overflow:hidden;background:#fffdf5}.workspace-switcher button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:40px;border:0;border-right:1px solid #d4ccb9;padding:0 12px;color:#405249;background:transparent;font-weight:900;cursor:pointer}.workspace-switcher button:last-child{border-right:0}.workspace-switcher button.active{color:#fffdf5;background:#264d3c}.topbar-install,.topbar-legal,.language-selector{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #b9b29f;border-radius:8px;padding:8px 12px;color:#264d3c;background:#fffdf5;font-size:.82rem;font-weight:900;cursor:pointer}.topbar-install:hover,.topbar-install:focus-visible,.topbar-legal:hover,.topbar-legal:focus-visible,.language-selector:hover,.language-selector:focus-within{border-color:#264d3c;background:#eef3e7}.language-selector{width:auto;min-width:112px;cursor:default}.language-selector span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.language-selector select{min-height:24px;border:0;color:inherit;background:transparent;font:inherit;font-weight:900;cursor:pointer}.topbar-legal{width:40px;min-width:40px;padding:0}.topbar-legal span{display:none}.account-panel{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:end;gap:8px;max-width:560px}.account-login{grid-template-columns:minmax(150px,1fr) minmax(130px,1fr) max-content;grid-auto-flow:row;align-items:end}.account-panel label{font-size:.72rem}.account-panel input{min-height:34px;padding:7px 9px}.account-card{display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid #b9b29f;border-radius:8px;padding:7px 10px;background:#fffdf5}.account-card svg,.professional-heading svg{color:#264d3c}.account-card strong{display:block;max-width:150px;overflow:hidden;color:#1f2a24;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.account-card span,.account-message{color:#66736b;font-size:.72rem;font-weight:800}.account-action,.professional-actions button,.professional-upgrade{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #b9b29f;border-radius:8px;padding:8px 12px;color:#fffdf5;background:#264d3c;font-size:.82rem;font-weight:900;cursor:pointer}.account-upgrade{display:grid;grid-template-columns:max-content;gap:4px;align-items:center}.account-upgrade .account-action{width:100%}.account-info-link{border:0;padding:0;color:#264d3c;background:transparent;font-size:.7rem;font-weight:900;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.account-info-link:hover,.account-info-link:focus-visible{color:#1c3f31}.account-action:disabled,.professional-actions button:disabled,.professional-upgrade:disabled{opacity:.48;cursor:not-allowed}.report-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin:0 0 14px;border:1px solid #264d3c;border-radius:8px;color:#fffdf5;background:#264d3c;font-weight:850;cursor:pointer}.report-button:hover{background:#1c3f31}.account-message{grid-column:1 / -1;margin:0}.account-message.error{color:#9e2c22}.home-landing{display:grid;gap:18px;width:min(1360px,calc(100% - 48px));margin:0 auto;padding:24px}.home-heading{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,auto);gap:18px;align-items:end;border:1px solid #b9b29f;border-radius:8px;padding:20px;background:linear-gradient(135deg,#fffdf5f0,#e8efdfeb),#fffdf5}.home-heading span,.home-section-heading span,.home-summary-card span,.home-project-card dt,.home-project-role{color:#66736b;font-size:.72rem;font-weight:900;text-transform:uppercase}.home-heading h2{margin:0;color:#1f2a24;font-family:Georgia,Times New Roman,serif;font-size:2.6rem;line-height:1}.home-heading-actions{display:flex;flex-wrap:wrap;align-items:end;justify-content:end;gap:10px}.home-project-select select{min-width:240px}.home-open-active,.home-new-project,.home-project-create-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #b9b29f;border-radius:8px;padding:8px 12px;color:#264d3c;background:#fffdf5;font-size:.84rem;font-weight:900;cursor:pointer}.home-open-active:hover,.home-open-active:focus-visible,.home-new-project:hover,.home-new-project:focus-visible,.home-project-create-actions button:hover,.home-project-create-actions button:focus-visible{border-color:#264d3c;background:#eef3e7}.home-open-active:disabled,.home-new-project:disabled,.home-project-create-actions button:disabled{opacity:.5;cursor:not-allowed}.home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-summary-card,.home-projects-panel{border:1px solid #c6bda9;border-radius:8px;background:#fffdf5d6}.home-summary-card{display:grid;gap:5px;min-height:86px;padding:14px}.home-summary-card strong{min-width:0;overflow:hidden;color:#1f2a24;font-size:1.5rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.home-projects-panel{display:grid;gap:14px;padding:16px}.home-section-heading{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.home-section-heading svg{color:#264d3c}.home-section-heading strong{display:block;color:#1f2a24}.home-project-create{display:grid;grid-template-columns:minmax(170px,1fr) minmax(180px,.8fr) auto;gap:10px;align-items:end;border-top:1px solid #d4ccb9;padding-top:14px}.home-project-create-warning{grid-column:1 / -1;margin:0}.home-project-create-actions{display:flex;gap:8px;align-items:center}.home-project-create .project-primary{border-color:#264d3c;color:#fffdf5;background:#264d3c}.home-project-message,.home-project-verification{display:inline-flex;align-items:center;justify-self:start}.home-project-message{gap:9px;border:1px solid #c6bda9;border-radius:8px;padding:10px 12px;color:#33483c;background:#f7f1df;font-size:.86rem;font-weight:850}.home-project-message.error{border-color:#cf7b70;color:#9e2c22;background:#fff1ee}.home-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.home-project-card{display:grid;grid-template-rows:auto auto minmax(36px,auto) auto auto;gap:9px;min-height:232px;border:1px solid #c6bda9;border-radius:8px;padding:14px;color:#1f2a24;background:#fffdf5;text-align:left;cursor:pointer}.home-project-card:hover,.home-project-card:focus-visible,.home-project-card.active{border-color:#264d3c;box-shadow:0 10px 24px #1f2a241f}.home-project-card:focus-visible{outline:3px solid rgba(191,122,45,.28);outline-offset:2px}.home-project-card strong,.home-project-card small{min-width:0;overflow:hidden;text-overflow:ellipsis}.home-project-card strong{font-size:1.08rem;line-height:1.2}.home-project-card small{color:#66736b;font-size:.82rem;font-weight:750}.home-project-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.home-project-card dl div{display:grid;gap:2px;min-width:0}.home-project-card dd,.home-summary-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-project-card dd{margin:0;color:#1f2a24;font-weight:900}.home-project-verification{gap:7px;border:1px solid #d7b86b;border-radius:999px;padding:7px 10px;color:#7a5418;background:#fff7de;font-size:.78rem;font-style:normal;font-weight:900}.home-project-verification.verified{border-color:#8fa077;color:#264d3c;background:#eef4e8}.home-project-verification.requires-change{border-color:#cf7b70;color:#9e2c22;background:#fff1ee}.home-empty-projects{display:grid;justify-items:start;gap:7px;border:1px dashed #b9b29f;border-radius:8px;padding:18px;color:#66736b;background:#f8f6ed}.home-empty-projects svg{color:#264d3c}.home-empty-projects strong{color:#1f2a24}@media(max-width:820px){.home-landing{width:100%;padding:14px}.home-heading,.home-summary,.home-project-create,.home-section-heading{grid-template-columns:1fr}.home-heading-actions,.home-project-create-actions,.home-heading-actions button,.home-project-create-actions button,.home-project-select,.home-project-select select{width:100%}.home-project-card dl{grid-template-columns:1fr}}.project-strip{display:grid;gap:10px;border-bottom:1px solid #cfc7b6;padding:12px 24px;background:#e6e1d2}.project-strip-main,.project-create-row,.project-actions,.invite-banner,.review-mark{display:flex;align-items:end;gap:10px;min-width:0}.project-strip-main{flex-wrap:wrap}.project-strip-compact{padding-block:8px}.project-strip-compact .project-strip-main{align-items:center}.module-beta-disclaimer{display:flex;align-items:center;gap:9px;width:fit-content;max-width:100%;border:1px solid #c37f28;border-radius:8px;padding:8px 10px;color:#6b4318;background:#fff7df}.module-beta-disclaimer svg{flex:0 0 auto}.module-beta-disclaimer div{display:grid;gap:2px}.module-beta-disclaimer strong,.module-beta-disclaimer span{font-size:.78rem;line-height:1.25}.module-beta-disclaimer strong{font-weight:900}.module-beta-disclaimer span{font-weight:750}.project-compact-title{min-height:36px}.project-create-row{flex-wrap:wrap;align-items:end;border-top:1px solid #cfc7b6;padding-top:10px}.project-create-actions{display:flex;align-items:center;gap:8px}.project-create-warning{flex-basis:100%;margin:0}.project-title{display:flex;align-items:center;gap:9px;min-width:210px}.project-title svg,.invite-banner svg,.review-mark svg{color:#264d3c}.project-title span,.project-strip label,.engineer-profile summary,.project-group-header span,.project-child-list span{color:#66736b;font-size:.72rem;font-weight:800}.project-title strong{display:block;max-width:230px;overflow:hidden;color:#1f2a24;font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.project-title small{display:block;max-width:320px;overflow:hidden;color:#66736b;font-size:.72rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.project-strip label{display:grid;gap:4px}.project-strip input,.project-strip select,.project-strip textarea{min-height:36px;font:inherit;font-size:.82rem;font-weight:750}.project-strip input,.project-strip textarea{border:1px solid #8fa077;border-radius:8px;padding:7px 9px;color:#1f2a24;background:linear-gradient(180deg,#fffdf5,#eef4e8)}.project-strip select{padding-top:7px;padding-bottom:7px;font-weight:850}.project-strip textarea{min-width:260px;min-height:42px;resize:vertical}.project-select select{min-width:220px}.engineer-fields{display:flex;align-items:end;gap:8px}.project-strip button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid #b9b29f;border-radius:8px;padding:7px 11px;color:#264d3c;background:#fffdf5;font-size:.8rem;font-weight:900;cursor:pointer}.project-strip button:disabled{opacity:.5;cursor:not-allowed}.project-strip .project-primary{color:#fffdf5;border-color:#264d3c;background:#264d3c}.project-actions-panel{border-top:1px solid #cfc7b6;padding-top:10px}.project-actions-panel summary{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid #b9b29f;border-radius:8px;padding:7px 10px;color:#264d3c;background:#fffdf5;cursor:pointer}.project-actions-panel summary span{font-size:.8rem;font-weight:900}.project-actions-panel summary small{color:#66736b;font-size:.72rem;font-weight:750}.project-actions-panel[open] .project-actions{margin-top:10px}.engineer-profile{position:relative;min-width:220px}.engineer-profile summary{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid #b9b29f;border-radius:8px;padding:7px 10px;color:#264d3c;background:#fffdf5;cursor:pointer}.review-basis-panel,.review-marketplace,.reviewer-declaration-panel{min-width:min(100%,360px)}.review-basis-panel summary,.review-marketplace summary,.reviewer-declaration-panel summary{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid #b9b29f;border-radius:8px;padding:8px 10px;color:#264d3c;background:#fffdf5;font-size:.78rem;font-weight:900;cursor:pointer}.project-summary-title{display:inline-flex;align-items:center;gap:8px}.review-basis-panel[open],.review-marketplace[open],.reviewer-declaration-panel[open]{width:min(100%,860px)}.review-basis-grid,.review-marketplace-grid,.reviewer-declaration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}.review-marketplace-column,.review-marketplace-list,.review-marketplace-quote,.review-marketplace-request{display:grid;gap:8px}.review-marketplace-quote{grid-template-columns:minmax(220px,1fr) minmax(110px,140px) auto;align-items:end;margin-top:8px}.review-marketplace-list{margin-top:10px}.review-marketplace-request{border-top:1px solid #cfc7b6;padding-top:8px}.review-marketplace-request strong,.review-marketplace-request span,.review-marketplace-column small{color:#33483c;font-size:.78rem;font-weight:800}.review-marketplace-quote-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.engineer-profile[open]{min-width:min(100%,760px)}.check-control{display:inline-flex;grid-template-columns:auto 1fr;align-items:center;margin:8px 0}.check-control input{min-height:auto}.invite-banner,.review-mark{align-items:center;border-top:1px solid #cfc7b6;padding-top:10px}.review-mark-body{display:grid;gap:2px;min-width:0}.invite-banner div{display:grid;gap:2px}.invite-banner span,.review-mark span,.review-mark strong,.review-mark small,.project-message{color:#66736b;font-size:.78rem;font-weight:800}.review-mark small{font-weight:700}.review-control-panel{display:grid;gap:8px;min-width:min(680px,100%);border-top:1px solid #cfc7b6;padding-top:10px}.review-control-panel>strong{color:#33483c;font-size:.84rem}.review-control-panel>small{color:#9b6a20;font-size:.78rem;font-weight:800}.review-control-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);gap:8px;align-items:end}.review-control-row input{width:100%}.review-control-evidence{grid-column:1 / -1;margin-top:-2px}.project-actions{flex-wrap:wrap}.project-action-hint{align-self:center;color:#9b6a20;font-size:.78rem;font-weight:800}.project-overview{display:grid;gap:10px}.project-bucket,.project-group{display:grid;gap:6px;border-top:1px solid #cfc7b6;padding-top:10px}.project-bucket-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-bucket-heading>div{display:inline-flex;align-items:center;gap:8px;min-width:0}.project-bucket-heading svg{color:#264d3c}.project-bucket-heading span{color:#33483c;font-size:.82rem;font-weight:900}.project-bucket-heading strong{min-width:28px;border:1px solid #b9b29f;border-radius:999px;padding:2px 8px;text-align:center;color:#264d3c;background:#fffdf5;font-size:.74rem}.project-bucket-description{color:#66736b;font-size:.75rem;font-weight:750}.project-bucket-list,.project-bucket-entry{display:grid;gap:6px}.project-dimensioning-groups,.project-dimensioning-group{display:grid;gap:8px}.project-dimensioning-group{border-left:2px solid #cfc7b6;padding-left:10px}.project-dimensioning-heading{display:inline-flex;align-items:center;gap:8px;justify-self:start;border:0;padding:0;color:inherit;background:transparent;cursor:pointer}.project-dimensioning-heading span{color:#33483c;font-size:.78rem;font-weight:900}.project-dimensioning-heading strong{min-width:24px;border:1px solid #b9b29f;border-radius:999px;padding:1px 7px;text-align:center;color:#264d3c;background:#fffdf5;font-size:.72rem}.project-drawing-points{display:grid;gap:6px;padding-left:40px}.project-drawing-point{display:grid;gap:5px;border-left:2px solid #cfc7b6;padding-left:10px}.project-entry-row,.project-drawing-point-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;align-items:start}.project-tree-toggle{display:inline-grid;place-items:center;width:32px;min-width:32px;height:36px;min-height:36px;border:1px solid #c6bda9;border-radius:8px;padding:0;color:#264d3c;background:#fffdf5;cursor:pointer}.project-tree-toggle svg,.project-dimensioning-heading svg{transition:transform .14s ease}.project-tree-toggle svg.open,.project-dimensioning-heading svg.open{transform:rotate(90deg)}.project-drawing-point-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.project-drawing-point-header>div{display:grid;min-width:0}.project-drawing-point-header strong{color:#1f2a24;font-size:.8rem;font-weight:900}.project-drawing-point-header span,.project-point-empty{color:#66736b;font-size:.74rem;font-weight:750}.project-point-proposals{display:grid;gap:5px}.project-bucket-list .project-point-proposal-button{grid-template-columns:auto minmax(72px,.22fr) minmax(120px,1fr) minmax(140px,.8fr);min-height:36px;padding-left:8px}.project-group-header,.project-child-list button{display:grid;grid-template-columns:auto minmax(72px,.28fr) minmax(120px,1fr) minmax(100px,auto);align-items:center;justify-items:start;gap:8px;min-height:44px;text-align:left}.project-bucket-list button{display:grid;grid-template-columns:auto minmax(72px,.22fr) minmax(120px,1fr) minmax(100px,.8fr) minmax(160px,auto);align-items:center;justify-items:start;gap:8px;min-height:44px;text-align:left}.project-bucket-list .project-tree-toggle{display:inline-grid;grid-template-columns:1fr;place-items:center;justify-items:center;gap:0;width:32px;min-width:32px;height:36px;min-height:36px;padding:0}.project-group-header-static{min-height:36px;padding:0 2px}.project-group-header-static svg,.project-group-header svg,.project-child-list svg,.project-bucket-list svg{color:#264d3c}.project-child-list{display:grid;gap:6px;padding-left:24px}.project-group-header.active,.project-child-list button.active,.project-bucket-list button.active{border-color:#264d3c;box-shadow:inset 0 0 0 1px #264d3c}.project-group-header span,.project-child-list span,.project-bucket-list span{color:#66736b;font-size:.72rem;font-weight:800}.project-group-header strong,.project-group-header small,.project-child-list strong,.project-child-list small,.project-bucket-list strong,.project-bucket-list small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-group-header small,.project-child-list small,.project-bucket-list small,.project-group-empty{color:#66736b;font-size:.76rem;font-weight:750}.project-group-empty{margin:0;padding-left:24px}.project-verification-summary,.project-verification-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #b9b29f;border-radius:999px;background:#fffdf5;font-style:normal;font-weight:900;white-space:nowrap}.project-verification-summary{min-height:32px;padding:6px 10px;font-size:.76rem}.project-verification-chip{padding:4px 8px;font-size:.72rem}.project-verification-summary.verified,.project-verification-chip.verified{border-color:#8fa077;color:#264d3c;background:#eef4e8}.project-verification-summary.needs-review,.project-verification-chip.needs-review{border-color:#d7b86b;color:#7a5418;background:#fff7de}.project-verification-chip.missing,.project-verification-summary.requires-change,.project-verification-chip.requires-change{border-color:#cf7b70;color:#9e2c22;background:#fff1ee}.project-message{margin:0}.project-message.error{color:#9e2c22}.project-readonly .control-panel input,.project-readonly .control-panel select,.project-readonly .control-panel button,.project-readonly .unit-strip button{opacity:.72;pointer-events:none}.brand-mark h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1;letter-spacing:0}.brand-mark span,.panel-heading p,.metric span,.stage-overlay span,.ad-slot span{display:block;color:#66736b;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.run-state{min-width:116px;justify-content:center;border:1px solid #b9b29f;border-radius:8px;padding:9px 12px;background:#f8f6ed;color:#314137;font-size:.9rem;font-weight:800}.state-error{color:#9e2c22;border-color:#cf7b70}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workspace{display:grid;--workspace-control-column: minmax(280px, 340px);--workspace-stage-column: minmax(420px, 1fr);--workspace-result-column: minmax(260px, 320px);--workspace-result-rail-column: 48px;grid-template-columns:var(--workspace-control-column) var(--workspace-stage-column) var(--workspace-result-column);min-height:calc(100vh - 72px)}.workspace.workspace-results-collapsed{grid-template-columns:var(--workspace-control-column) var(--workspace-stage-column) var(--workspace-result-rail-column)}.workspace>.control-panel,.workspace>.model-stage,.workspace>.result-panel,.workspace>.result-panel-rail{min-width:0}.workspace-project-save{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px;border:1px solid #cfc7b6;border-radius:8px;padding:10px;background:#fffdf5}.workspace-project-save label{color:#66736b;font-size:.72rem;font-weight:900;text-transform:uppercase}.workspace-project-save input,.workspace-project-save select{min-height:36px;font:inherit;font-size:.82rem;font-weight:800}.workspace-project-save input{border:1px solid #b9b29f;border-radius:8px;padding:7px 9px;color:#1f2a24;background:#fffdf5}.workspace-project-save button{min-height:36px;white-space:nowrap;box-shadow:0 1px #1f2a2424}.workspace-project-save .project-primary{color:#fffdf5;border-color:#264d3c;background:#264d3c}.workspace-project-autosave{gap:6px}.workspace-project-autosave-heading{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}.workspace-project-autosave-heading svg{color:#264d3c;grid-row:span 2}.workspace-project-autosave-heading span{color:#66736b;font-size:.72rem;font-weight:900;text-transform:uppercase}.workspace-project-autosave-heading strong{color:#1f2a24;font-size:.86rem}.workspace-project-attach{display:grid;gap:8px;border-top:1px solid #ded7c8;padding-top:8px}.workspace-project-save-message{margin:0;font-size:.78rem;font-weight:900}.workspace-project-save-message.success{color:#23714c}.workspace-project-save-message.info{color:#66736b}.workspace-project-save-message.error{color:#9b2f28}.building-model-gate{display:grid;align-content:start;gap:16px;max-width:760px;margin:72px auto;border:1px solid #c6bda9;border-radius:8px;padding:22px;background:#fffdf5eb}.building-model-gate header,.building-model-gate-choice,.building-model-gate-footer,.building-model-gate-upgrade,.building-model-gate-existing,.building-model-gate-form{display:flex;align-items:end;gap:10px;min-width:0}.building-model-gate header{align-items:center}.building-model-gate-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.building-model-gate-choice button{width:100%}.building-model-gate header svg,.building-model-gate-footer svg{flex:0 0 auto;color:#264d3c}.building-model-gate header span{color:#66736b;font-size:.72rem;font-weight:900;text-transform:uppercase}.building-model-gate h2{margin:0;color:#1f2a24;font-size:1.25rem}.building-model-gate label{display:grid;gap:4px;color:#66736b;font-size:.72rem;font-weight:900;text-transform:uppercase}.building-model-gate input,.building-model-gate select{min-height:38px;border:1px solid #b9b29f;border-radius:8px;padding:8px 10px;color:#1f2a24;background:#fffdf5;font:inherit;font-size:.86rem;font-weight:800}.building-model-gate button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #b9b29f;border-radius:8px;padding:8px 12px;color:#264d3c;background:#fffdf5;font-size:.84rem;font-weight:900;cursor:pointer}.building-model-gate button:disabled{opacity:.5;cursor:not-allowed}.building-model-gate .project-primary{border-color:#264d3c;color:#fffdf5;background:#264d3c}.building-model-gate-message,.building-model-gate-footer{margin:0;color:#66736b;font-size:.86rem;font-weight:850}.building-model-gate-message.error{color:#9b2f28}.workspace-mobile-nav{display:none}.workspace-project{display:block;min-height:calc(100vh - 72px)}.project-workspace{display:grid;gap:18px;width:min(1440px,calc(100% - 48px));margin:0 auto;padding:24px}.project-view-hero{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,420px);gap:18px;align-items:stretch;border:1px solid #b9b29f;border-radius:8px;padding:22px;background:linear-gradient(135deg,#264d3cf5,#20373cf5),#264d3c;color:#fffdf5}.project-view-title{display:grid;align-content:center;gap:8px}.project-view-title span,.project-view-section-heading span,.project-process-step span,.project-map-main span,.project-map-children span,.project-control-list dt{color:#8d7250;font-size:.72rem;font-weight:900;text-transform:uppercase}.project-view-title span{color:#d6c6a5}.project-view-title h2{margin:0;font-size:clamp(2rem,4vw,4rem);line-height:.95}.project-view-title p{max-width:720px;margin:0;color:#e5dccb;font-size:1rem;font-weight:750}.project-view-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,253,245,.24);border-radius:8px;overflow:hidden;background:#fffdf514}.project-view-stats div{display:grid;gap:2px;place-items:center;min-height:108px;padding:14px 10px}.project-view-stats strong{color:#f2d08f;font-size:2.2rem;line-height:1}.project-view-stats span{color:#e5dccb;font-size:.78rem;font-weight:850}.project-process,.project-view-grid{display:grid;gap:14px}.project-workspace-verification{display:inline-flex;align-items:center;justify-self:start;gap:8px;border:1px solid #b9b29f;border-radius:999px;padding:8px 12px;background:#fffdf5;font-size:.82rem;font-weight:900}.project-workspace-verification.verified{border-color:#8fa077;color:#264d3c;background:#eef4e8}.project-workspace-verification.needs-review{border-color:#d7b86b;color:#7a5418;background:#fff7de}.project-workspace-verification.requires-change{border-color:#cf7b70;color:#9e2c22;background:#fff1ee}.project-process{grid-template-columns:repeat(4,minmax(0,1fr))}.project-process-step,.project-map,.project-side-panel{border:1px solid #c6bda9;border-radius:8px;background:#fffdf5c7}.project-process-step{display:grid;gap:4px;padding:14px}.project-process-step strong{color:#1f2a24;font-size:1rem}.project-process-step small{color:#66736b;font-size:.8rem;font-weight:850}.project-view-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start}.project-map,.project-side-panel{display:grid;gap:12px;padding:16px}.project-view-section-heading{display:flex;align-items:center;gap:10px}.project-view-section-heading svg{color:#264d3c}.project-view-section-heading strong{display:block;color:#1f2a24}.project-map-group{display:grid;gap:8px;border-top:1px solid #d4ccb9;padding-top:12px}.project-map-main,.project-map-children button{display:grid;grid-template-columns:auto minmax(88px,.25fr) minmax(160px,1fr) minmax(110px,auto);align-items:center;justify-items:start;gap:10px;min-height:48px;border:1px solid #c6bda9;border-radius:8px;padding:10px 12px;color:#1f2a24;background:#fffdf5;text-align:left}.project-map-main:disabled,.project-map-children button:disabled{cursor:default}.project-map-main svg,.project-map-children svg{color:#264d3c}.project-map-main strong,.project-map-children strong,.project-map-main small,.project-map-children small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-map-main small,.project-map-children small,.project-map-children p{color:#66736b;font-size:.78rem;font-weight:800}.project-map-children{display:grid;gap:6px;padding-left:28px}.project-map-children p{margin:0}.project-control-list{display:grid;gap:8px;margin:0}.project-control-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d4ccb9;padding-bottom:8px}.project-control-list dd{margin:0;color:#1f2a24;font-weight:900}.project-alert-stack{display:grid;gap:8px}.project-alert{display:flex;align-items:center;gap:9px;border:1px solid #c6bda9;border-radius:8px;padding:10px;color:#33483c;background:#f7f1df;font-size:.82rem;font-weight:850}.project-alert.warning{border-color:#c99368;background:#f6e6da}.project-alert.ready{border-color:#92aa8e;background:#e8efdf}.workspace-slab{height:calc(100vh - 200px);min-height:560px;overflow:hidden}.workspace-slab .control-panel,.workspace-slab .result-panel{height:100%;min-height:0;overflow:auto}.workspace-slab .model-stage{height:100%;min-height:0}.workspace-roof-structure{height:calc(100vh - 72px);min-height:620px;overflow:hidden}.workspace-roof-structure .control-panel,.workspace-roof-structure .result-panel{height:100%;min-height:0;overflow:auto}.workspace-roof-structure .model-stage{height:100%;min-height:0}.workspace-building{height:calc(100vh - 72px);min-height:620px;overflow:hidden}.workspace-building .control-panel,.workspace-building .result-panel{height:100%;min-height:0;overflow:auto}.workspace-building .model-stage{height:100%;min-height:0}.workspace-altan{height:calc(100vh - 72px);min-height:620px;overflow:hidden}.workspace-altan .control-panel,.workspace-altan .result-panel{height:100%;min-height:0;overflow:auto}.workspace-altan .model-stage{height:100%;min-height:0}.workspace-energy{--workspace-control-column: minmax(320px, 380px);--workspace-stage-column: minmax(460px, 1fr);--workspace-result-column: minmax(260px, 320px);min-height:calc(100vh - 72px)}.workspace-with-control-footer{position:relative;height:calc(100vh - 72px);min-height:560px;overflow:hidden}.workspace-with-control-footer .model-stage,.workspace-with-control-footer .result-panel,.workspace-with-control-footer .result-panel-rail{min-height:0}.control-panel,.result-panel{padding:16px;overflow:auto;background:#f8f6edf0}.control-panel{border-right:1px solid #cfc7b6}.result-panel{border-left:1px solid #cfc7b6}.result-panel-toolbar{display:flex;justify-content:flex-end;min-height:34px;margin:-4px -4px 10px 0}.workspace-control-footer-stack{display:grid;gap:6px;width:min(260px,calc(100vw - 24px));border:1px solid rgba(207,199,182,.92);border-radius:8px;padding:6px;background:#f8f6edf5;box-shadow:0 12px 28px #1f2a2429;pointer-events:auto}.workspace-control-footer{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));z-index:24;display:flex;justify-content:flex-start;pointer-events:none}.workspace-control-footer .workspace-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.workspace-control-footer .workspace-load-unit-toggle{width:min(128px,100%);justify-self:center}.workspace-mode-toggle{display:inline-flex;overflow:hidden;border:1px solid #cfc7b6;border-radius:8px;background:#fffdf5e6}.workspace-mode-toggle button{min-width:7.5rem;border:0;border-right:1px solid #cfc7b6;padding:.45rem .8rem;background:transparent;color:#405249;font:inherit;cursor:pointer}.workspace-control-footer .workspace-mode-toggle button{min-width:0;min-height:30px;padding:0 .55rem;font-size:.78rem;font-weight:900;line-height:1}.workspace-mode-toggle button:last-child{border-right:0}.workspace-mode-toggle button.active{background:#dfead7;color:#24342e}.workspace-load-unit-toggle button{font-size:.85rem;font-weight:900;text-transform:uppercase}.workspace-control-footer .workspace-roof-type-toggle{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-control-footer .workspace-roof-type-toggle button{padding:.45rem;font-size:.78rem;font-weight:900;line-height:1.1;white-space:normal}.workspace-roof-type-confirmation{display:grid;gap:8px;border:1px solid rgba(178,83,53,.42);border-radius:8px;padding:10px;background:#fff9f1;color:#3a3129;box-shadow:0 12px 26px #57342324}.workspace-roof-type-confirmation strong{color:#263a32;font-size:.84rem}.workspace-roof-type-confirmation p{margin:0;font-size:.78rem;line-height:1.35}.workspace-roof-type-confirmation-actions{display:flex;justify-content:flex-end;gap:8px}.workspace-roof-type-confirmation-actions button{min-height:32px;border:1px solid #cfc7b6;border-radius:8px;padding:0 .7rem;background:#fffdf5;color:#30443b;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.workspace-roof-type-confirmation-actions button.danger{border-color:#b25335;background:#b25335;color:#fffdf5}.result-panel-toggle{color:#314039;background:#fffdf5d6}.result-panel-rail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:0;border:0;border-left:1px solid #cfc7b6;color:#314039;background:#f8f6edf0;cursor:pointer}.result-panel-rail:hover{background:#eef3e7}.result-panel-rail span{writing-mode:vertical-rl;transform:rotate(180deg);color:#405249;font-size:.74rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.panel-heading,.group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading{margin-bottom:18px}.collapsible-section>summary{min-width:0;list-style:none;cursor:pointer}.collapsible-section>summary::-webkit-details-marker{display:none}.collapse-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.workspace-category{min-width:0}.workspace-category-actions,.workspace-category-meta{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px}.workspace-category-actions{flex-wrap:wrap;justify-content:flex-end}.workspace-category-meta{color:#66736b;font-size:.72rem;font-weight:850;line-height:1.2}.panel-title-row,.help-heading-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.collapse-chevron{flex:0 0 auto;color:#66736b;transition:transform .14s ease}.collapsible-section[open] .collapse-chevron{transform:rotate(90deg)}h2{margin:0;font-size:1rem;letter-spacing:0}.workspace-category h3,.workspace-category h4{margin:0;min-width:0;color:inherit;font-size:.95rem;letter-spacing:0}.panel-heading h2{font-size:1.35rem}button,input,select{font:inherit}button{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease}button:not(:disabled):active{transform:translateY(1px);box-shadow:inset 0 1px 2px #1f2a242e}.icon-button,.row-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #bdb39c;border-radius:8px;color:#253b31;background:#fffdf5;box-shadow:0 1px #1f2a2424;cursor:pointer}.icon-button:hover,.row-action:hover{border-color:#7a8c68;background:#eef3e7}.row-action:disabled{opacity:.38;cursor:not-allowed}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px}.field-grid>label:first-child,.field-grid>.field-shell:first-child,.field-grid>.number-field:first-child{grid-column:1 / -1}.unit-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.unit-toggle{display:grid;gap:6px}.unit-toggle>span{color:#405249;font-size:.74rem;font-weight:900}.unit-toggle>div{display:grid;grid-template-columns:1fr 1fr;border:1px solid #bdb39c;border-radius:8px;overflow:hidden;background:#fffdf5}.unit-toggle button{min-height:34px;border:0;border-right:1px solid #d4ccb9;color:#405249;background:transparent;font-weight:900;cursor:pointer}.unit-toggle button:last-child{border-right:0}.unit-toggle button.active{color:#fffdf5;background:#264d3c}.view-toggle{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;border:1px solid #d2c9b6;border-radius:8px;padding:10px;background:#fffdf5;cursor:pointer}.view-toggle.has-help{grid-template-columns:max-content minmax(0,1fr) max-content}.view-toggle input{width:18px;min-height:18px;accent-color:#264d3c}.view-toggle span{display:grid;gap:2px}.view-toggle strong{color:#1f2a24;font-size:.88rem}.view-toggle small{color:#66736b;font-size:.72rem;font-weight:750;line-height:1.25}.select-field select{width:100%;min-height:38px}.select-field select:disabled{color:#7d8379}.profile-summary-list{display:grid;gap:8px}.profile-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;border:1px solid #d2c9b6;border-radius:8px;padding:10px 12px;background:#fffdf5}.profile-summary-row span{color:#66736b;font-size:.72rem;font-weight:850;text-transform:uppercase}.profile-summary-row strong{color:#1f2a24;font-size:.92rem;font-weight:900;white-space:nowrap}.profile-summary-empty{margin:0;border:1px solid #d2c9b6;border-radius:8px;padding:10px 12px;color:#66736b;background:#fffdf5;font-size:.82rem;font-weight:800}.help-topic-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #9daf84;border-radius:999px;padding:0;color:#264d3c;background:#fbfaf2;cursor:pointer}.help-topic-button:hover,.help-topic-button:focus-visible,.help-topic-button[aria-expanded=true]{border-color:#264d3c;color:#fffdf5;background:#264d3c}.help-topic-button:focus-visible{outline:3px solid rgba(191,122,45,.28);outline-offset:2px}.help-popover{position:fixed;z-index:1200;width:min(360px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 24px));overflow:auto;border:1px solid #8fa077;border-radius:8px;padding:14px;color:#1f2a24;background:#fffdf5;box-shadow:0 18px 44px #1f2a2438}.help-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.help-popover-heading p{margin:0;color:#bf7a2d;font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.help-popover-heading button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d4ccb9;border-radius:8px;color:#314039;background:#f4f0e4;cursor:pointer}.help-popover-heading button:hover,.help-popover-heading button:focus-visible{border-color:#264d3c;background:#eef3e7}.help-popover h2{margin:0 0 10px;color:#1f2a24;font-size:1.05rem;line-height:1.2}.help-popover-body{display:grid;gap:8px}.help-popover-body p,.help-popover-source p{margin:0;color:#405249;font-size:.84rem;font-weight:700;line-height:1.45}.help-popover-units{display:grid;gap:7px;margin:12px 0 0}.help-popover-units div{display:grid;grid-template-columns:minmax(82px,max-content) minmax(0,1fr);gap:10px;align-items:baseline;border:1px solid #d8d0bf;border-radius:8px;padding:8px 10px;background:#f7f4e9}.help-popover-units dt{color:#66736b;font-size:.72rem;font-weight:900}.help-popover-units dd{margin:0;color:#1f2a24;font-size:.82rem;font-weight:900}.help-popover-examples{display:grid;gap:7px;margin:12px 0 0;padding-left:18px}.help-popover-examples li{color:#405249;font-size:.82rem;font-weight:750;line-height:1.35}.help-popover-source{display:grid;gap:4px;margin-top:12px;border-top:1px solid #d8d0bf;padding-top:10px;color:#66736b;font-size:.72rem;font-weight:850;line-height:1.35}.help-popover-source a{color:#264d3c;font-weight:900}@media(max-width:520px){.help-popover{right:12px;left:12px!important;width:auto}.help-popover-units div{grid-template-columns:1fr;gap:3px}}.legal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;justify-content:flex-end;background:#1f2a2438}.legal-dialog{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(720px,calc(100vw - 24px));height:calc(100vh - 24px);margin:12px;overflow:hidden;border:1px solid #b9b29f;border-radius:8px;color:#1f2a24;background:#fffdf5;box-shadow:0 22px 60px #1f2a2438}.legal-dialog-header,.legal-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #d7cfbd;padding:16px 18px;background:#f2efe6}.legal-dialog-title{display:flex;align-items:center;min-width:0;gap:12px}.legal-dialog-title svg{flex:0 0 auto;color:#1d4e4f}.legal-dialog-title span,.legal-dialog-footer span{display:block;color:#687067;font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.legal-dialog-title h2{margin:2px 0 0;color:#1d2f34;font-size:1.2rem;line-height:1.15}.legal-close,.legal-dialog-footer button,.legal-tabs button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9b29f;border-radius:8px;color:#264d3c;background:#fffdf5;font-weight:900;cursor:pointer}.legal-close{flex:0 0 auto;width:38px;height:38px}.legal-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid #d7cfbd;padding:10px 12px;background:#fffdf5}.legal-tabs button{flex:0 0 auto;min-height:36px;padding:7px 10px;font-size:.78rem;white-space:nowrap}.legal-tabs button.active{border-color:#264d3c;color:#fffdf5;background:#264d3c}.legal-body{overflow:auto;padding:20px 22px 28px}.legal-summary{margin:0 0 18px;border-left:4px solid #bf7a2d;padding:10px 12px;color:#405249;background:#f7f1e7;font-weight:800;line-height:1.45}.legal-section{padding:16px 0;border-top:1px solid #e4ddce}.legal-section:first-of-type{border-top:0;padding-top:0}.legal-section h3{margin:0 0 8px;color:#1d2f34;font-size:1rem}.legal-section p{margin:0 0 10px;color:#405249;font-size:.95rem;font-weight:650;line-height:1.55}.legal-dialog-footer{border-top:1px solid #d7cfbd;border-bottom:0}.legal-dialog-footer button{flex:0 0 auto;min-height:38px;padding:8px 11px}.beam-control-panel{display:grid;align-content:start;gap:18px}.beam-panel-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.beam-definition-grid{margin-top:0}.beam-support-row{grid-template-columns:minmax(112px,.75fr) minmax(150px,1fr) max-content}.beam-load-card{display:grid;gap:9px;border:1px solid #d2c9b6;border-radius:8px;padding:10px;background:#fffdf5}.beam-load-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.beam-load-heading strong{color:#1f2a24;font-size:.9rem}.beam-load-row{grid-template-columns:repeat(auto-fit,minmax(116px,1fr))}.beam-context-popup{width:min(470px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.beam-context-popup .support-control-block{border:0;padding:0;background:transparent}.beam-context-field-stack,.beam-context-actions{display:grid;gap:10px}.beam-context-actions{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.beam-context-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:34px;border:1px solid #b8ad98;border-radius:8px;padding:7px 9px;background:#f1ead7;color:#26362d;font-size:.76rem;font-weight:900}.beam-context-remove{justify-self:end;border-color:#d6a198;background:#fff2ee;color:#8b2d2b}.building-control-panel .panel-heading p{max-width:32ch}.building-control-section{gap:0}.building-header-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.building-blueprint-print-button{border-color:#2e6f544d;background:#e9f4ed;color:#184833}.building-control-section>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.building-control-section>summary::-webkit-details-marker{display:none}.building-control-section-title,.building-control-section-actions,.building-control-section .workspace-category-actions{display:inline-flex;align-items:center;gap:8px}.building-control-section-title h3{margin:0}.building-control-section-title svg{transition:transform .14s ease}.building-control-section[open] .building-control-section-title .collapse-chevron{transform:rotate(90deg)}.building-control-section-actions,.building-control-section .workspace-category-actions{flex-wrap:wrap;justify-content:flex-end}.building-control-section-body{margin-top:10px}.building-panel-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.building-entity-list{display:grid;gap:6px;margin:10px 0}.building-entity-list button{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;border:1px solid rgba(52,67,57,.2);border-radius:8px;padding:9px 10px;background:#fffdf7;color:#253b31;text-align:left}.building-entity-list button.active{border-color:#2e6f54;background:#e9f4ed}.building-entity-list span{overflow:hidden;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.building-entity-list small{color:#65736a;font-weight:750}.building-editor-box{border:1px solid rgba(52,67,57,.18);border-radius:8px;padding:10px;background:#f8f6ed}.building-energy-fields{display:grid;grid-column:1 / -1;gap:6px;border:1px solid rgba(52,67,57,.14);border-radius:8px;padding:9px;background:#fffdf59e}.building-energy-fields>small{color:#66736b;font-size:.74rem;font-weight:750}.building-anchor-editor{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(52,67,57,.14)}.building-anchor-editor>summary{cursor:pointer;color:#284133;font-weight:850}.building-beam-status{display:grid;gap:2px;margin:10px 0;border:1px solid rgba(52,67,57,.18);border-radius:8px;padding:8px 9px;background:#fffdf5}.building-beam-status strong{color:#26362d;font-size:.82rem}.building-beam-status span,.building-beam-hint{color:#66736b;font-size:.74rem;font-weight:750}.building-beam-status.state-ready{border-color:#2e6f5457;background:#e9f4ed}.building-beam-status.state-warning{border-color:#c98b2d6b;background:#fff8e7}.building-beam-status.state-error{border-color:#8f2e2652;background:#fff2ee}.building-docking-editor{display:grid;gap:8px;margin-top:10px}.building-docking-row{align-items:end;padding-top:8px;border-top:1px solid rgba(52,67,57,.14)}.building-docking-clear{min-height:38px}.building-support-list{display:grid;gap:8px;margin-top:10px}.building-support-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,42%);gap:8px;align-items:center}.building-support-row span{display:grid;min-width:0}.building-support-row small{overflow:hidden;color:#65736a;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.icon-danger{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid rgba(133,50,40,.22);border-radius:8px;background:#fff8f5;color:#853228}.building-stage{overflow:hidden;background:#eef1ec}.building-stage-toolbar{position:absolute;top:16px;left:18px;z-index:2;display:flex;gap:8px;align-items:center}.building-view-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(54px,1fr));gap:3px;border:1px solid rgba(52,67,57,.24);border-radius:8px;padding:3px;background:#fffdf5e0;box-shadow:0 10px 24px #1f2a241f}.building-view-toggle button{min-height:34px;border:0;border-radius:6px;padding:0 12px;color:#435248;background:transparent;font-weight:850}.building-view-toggle button.active{color:#f8fbf4;background:#264d3c}.building-viewport{position:absolute;top:0;right:0;bottom:0;left:0}.building-viewport:focus{outline:none}.building-viewport:focus-visible{outline:2px solid #2d6cdf;outline-offset:-2px}.building-viewport canvas{display:block;width:100%;height:100%}.building-plan-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.building-ground-surface{cursor:pointer;fill:#688e6f47;stroke:#335b3db3;stroke-width:2}.building-ground-surface.selected{fill:#78a05d5c;stroke:#1d6f50}.building-ground-placement-grid{pointer-events:none;stroke:#2e493c52;stroke-width:1}.building-ground-control-point{cursor:pointer;fill:#f5f7ef;stroke:#335b3d;stroke-width:2}.building-ground-control-point.selected{fill:#f1b84b;stroke:#1d6f50}.building-slab{fill:#d9ded6;stroke:#58675d;stroke-width:2}.building-foundation-line{cursor:pointer;stroke:#806245;stroke-linecap:round;stroke-width:9}.building-foundation-marker{cursor:pointer;fill:#806245;stroke:#2d392f;stroke-width:2}.building-foundation-line.selected,.building-foundation-marker.selected{fill:#f1b84b;stroke:#f1b84b}.building-wall-line{cursor:pointer;stroke:#273e34;stroke-linecap:square;stroke-width:13}.building-wall-line.selected{stroke:#1d6f50}.building-opening-line{cursor:pointer;stroke:#f5f7ef;stroke-linecap:butt;stroke-width:17}.building-opening-line.selected{stroke:#f1b84b}.building-pillar-marker{cursor:pointer;fill:#6a5a46;stroke:#2d392f;stroke-width:2}.building-pillar-marker.selected{fill:#f1b84b}.building-dimension-label{fill:#273e34;font-size:13px;font-weight:850;paint-order:stroke;pointer-events:none;stroke:#eef1ec;stroke-width:4;text-anchor:middle}.building-load-markers circle{fill:#c45f3d;opacity:.86}.building-context-menu button{min-height:34px;border:1px solid rgba(52,67,57,.22);border-radius:7px;padding:8px 10px;color:#264d3c;background:#fffaf0;font-weight:850;text-align:left}.building-context-menu button:hover{border-color:#2e6f54;background:#e9f4ed}.building-context-menu p{margin:0;color:#66736b;font-size:.82rem;font-weight:750}.building-result-panel .result-list{display:grid;gap:8px;margin:0;padding-left:18px;color:#344339;font-weight:750}.building-result-panel .warning-list{color:#7b3a22}.building-debug-panel small{color:#66736b;font-size:.74rem;font-weight:850}.building-debug-toolbar,.building-debug-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.building-debug-toolbar button,.building-debug-tabs button,.building-debug-stage button{display:inline-flex;align-items:center;gap:5px;border:1px solid #d2c9b6;border-radius:7px;padding:7px 9px;background:#fffdf5;color:#284133;font-size:.76rem;font-weight:850}.building-debug-tabs button.active{border-color:#2e6f54;background:#e9f4ed;color:#184833}.building-debug-message,.building-debug-error{margin:8px 0;color:#66736b;font-size:.8rem;font-weight:800}.building-debug-error{color:#8f2e26}.building-debug-stage-list{display:grid;gap:8px}.building-debug-stage{border:1px solid #d2c9b6;border-radius:8px;padding:9px;background:#fffdf5}.building-debug-stage.state-error{border-color:#c83f31;background:#fff2ee}.building-debug-stage.state-warning{border-color:#d6a55f;background:#fff9ec}.building-debug-stage header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.building-debug-stage strong{color:#26362d;font-size:.82rem}.building-debug-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.building-debug-summary div{border:1px solid #e0d8c8;border-radius:7px;padding:6px 7px;background:#ffffff8c}.building-debug-summary dt{color:#66736b;font-size:.68rem;font-weight:850;text-transform:uppercase}.building-debug-summary dd{margin:2px 0 0;color:#26362d;font-size:.82rem;font-weight:900}.building-debug-json{max-height:280px;overflow:auto;border:1px solid #d2c9b6;border-radius:8px;padding:10px;background:#fffdf5;color:#26362d;font-size:.74rem;white-space:pre-wrap}.stage-overlay .building-load-audit-overlay{display:grid;gap:5px;min-width:236px}.stage-overlay .building-load-audit-overlay.state-ok{border-color:#2e6f5461;background:#ecf7efe6}.stage-overlay .building-load-audit-overlay.state-warning{border-color:#9b562675;background:#fff6e5eb}.stage-overlay .building-load-audit-overlay small{color:#5f6c64;font-size:.72rem;font-weight:850}.building-load-audit-overlay-levels{display:grid;gap:4px;margin:2px 0 0;padding:0;list-style:none}.building-load-audit-overlay-levels li{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#33483c;font-size:.72rem;font-weight:850}.building-load-audit-overlay-levels strong{color:inherit;font-size:.72rem}.building-load-audit-metrics{margin-top:10px}.building-load-audit-table .state-ok{border-color:#bdd6c6;background:#f4fbf6}.building-load-audit-table .state-warning{border-color:#e0bd8b;background:#fff8ea}.building-load-audit-level-row,.building-load-audit-element-row,.building-load-audit-endpoint-row,.building-load-audit-hidden-row{grid-template-columns:minmax(0,1.25fr) minmax(82px,.7fr) minmax(92px,.8fr) minmax(86px,.75fr)}.building-load-audit-issues{margin-top:12px}.building-load-audit-issues li{display:grid;gap:3px}.building-load-audit-issues strong{color:#7b3a22}@media(max-width:720px){.building-load-audit-level-row,.building-load-audit-element-row,.building-load-audit-endpoint-row,.building-load-audit-hidden-row{grid-template-columns:minmax(0,1fr)}}.building-plan-editor{position:absolute;top:0;right:0;bottom:0;left:0}.building-feature-opening-preview,.building-feature-wall-preview{pointer-events:visibleStroke;stroke-linecap:round}.building-feature-opening-preview{cursor:grab;stroke:#d88a27;stroke-width:20;stroke-opacity:.72}.building-feature-wall-preview{pointer-events:none;stroke:#246a8f;stroke-dasharray:8 7;stroke-width:7}.building-feature-handle{cursor:grab;fill:#fffdf5;stroke:#1f5d45;stroke-width:2.5}.building-feature-handle:hover,.building-feature-handle:focus-visible{fill:#e9f4ed;outline:none;stroke:#d88a27}.building-feature-dock-target{pointer-events:none;fill:#246a8f2e;stroke:#246a8f;stroke-width:2}.building-elevation-editor{position:absolute;left:18px;bottom:18px;z-index:2;width:min(420px,calc(100% - 36px));border:1px solid rgba(52,67,57,.18);border-radius:8px;background:#fffdf5f0;box-shadow:0 16px 34px #1f2a2429}.building-elevation-editor svg{display:block;width:100%;height:auto}.building-elevation-wall{fill:#e8ece4;stroke:#53645a;stroke-width:2}.building-elevation-opening{fill:#fffdf5;stroke:#d88a27;stroke-width:2}.building-elevation-handle{cursor:grab;stroke:#1f5d45;stroke-linecap:round;stroke-width:8}.building-elevation-handle:hover,.building-elevation-handle:focus-visible{outline:none;stroke:#d88a27}.building-snap-toggle-shell{display:inline-flex;min-height:40px;align-items:center;gap:7px;border:1px solid rgba(52,67,57,.24);border-radius:8px;padding:0 10px;background:#fffdf5e0;box-shadow:0 10px 24px #1f2a241f;color:#264d3c;font-weight:850}.building-snap-toggle-shell input{accent-color:#1f5d45}.building-stage-toolbar{flex-wrap:wrap;max-width:calc(100% - 36px)}.building-level-visibility{display:inline-flex;min-height:40px;align-items:center;gap:4px;border:1px solid rgba(52,67,57,.24);border-radius:8px;padding:4px;background:#fffdf5e0;box-shadow:0 10px 24px #1f2a241f}.building-level-visibility button{min-height:30px;border:1px solid transparent;border-radius:6px;padding:0 10px;background:transparent;color:#335746;cursor:pointer;font-size:.78rem;font-weight:850}.building-level-visibility button.active{border-color:#1f5d4538;background:#1f5d45;color:#fffdf5}.building-level-visibility button:disabled{cursor:not-allowed;opacity:.72}.building-level-visibility-mode,.building-level-visibility-roof{display:inline-flex;min-height:30px;align-items:center;gap:6px;border-left:1px solid rgba(52,67,57,.18);padding-left:8px;color:#264d3c;font-size:.78rem;font-weight:850}.building-feature-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:18px;background:#161e1933}.building-feature-dialog{width:min(460px,100%);border:1px solid rgba(52,67,57,.22);border-radius:8px;padding:16px;background:#fffdf5;box-shadow:0 24px 50px #1f2a2438}.building-feature-dialog form,.building-feature-dialog-grid{display:grid;gap:12px}.building-feature-dialog header,.building-feature-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.building-feature-dialog header{color:#66736b;font-size:.82rem;font-weight:800}.building-feature-dialog header strong{color:#26362d}.building-feature-dialog footer{justify-content:flex-end}.building-feature-dialog footer button{min-height:36px}.building-feature-dialog footer .primary{border-color:#1f5d45;background:#1f5d45;color:#fffdf5}.building-feature-command-error{position:absolute;right:18px;bottom:18px;z-index:3;max-width:min(420px,calc(100% - 36px));margin:0;border:1px solid rgba(143,46,38,.32);border-radius:8px;padding:10px 12px;background:#fff2ee;color:#8f2e26;font-size:.82rem;font-weight:800}.building-feature-command-status{position:absolute;right:18px;bottom:18px;z-index:3;display:grid;gap:5px;max-width:min(440px,calc(100% - 36px));margin:0;border:1px solid rgba(48,94,72,.3);border-radius:8px;padding:10px 12px;background:#f5fbf4;color:#1f5d45;font-size:.82rem;font-weight:800}.building-feature-command-status.state-busy{border-color:#52637b4d;background:#f3f6fb;color:#334056}.building-feature-command-status.state-error,.building-feature-command-status.state-proposed{border-color:#8f2e2652;background:#fff2ee;color:#8f2e26}.building-feature-command-status span{font-size:.72rem;opacity:.78}.building-feature-command-status ul{display:grid;gap:3px;margin:0;padding:0 0 0 16px}.building-3d-measurement-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:6}.building-3d-measurement-lines,.building-3d-measurement-labels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.building-3d-measurement-line{stroke:#1f3f309e;stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke}.building-3d-measurement-line[data-tone=primary]{stroke:#1a5b3fdb;stroke-width:1.8}.building-3d-measurement-label{position:absolute;top:0;left:0;max-width:118px;border:1px solid rgba(30,61,46,.2);border-radius:6px;padding:3px 7px;color:#20352b;background:#fafcf7e6;box-shadow:0 8px 20px #16231d24;font-size:.68rem;font-weight:850;line-height:1.15;text-align:center;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.building-3d-measurement-label[data-tone=primary]{color:#f8fbf4;border-color:#14412c33;background:#215c3ee6}.building-3d-measurement-label[data-tone=secondary]{color:#3f5148;background:#fffffcc7}.demo-shell{min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:clamp(12px,2vw,24px);color:#1f2a24;background:linear-gradient(90deg,rgba(31,42,36,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(31,42,36,.06) 1px,transparent 1px),#eef0e9;background-size:28px 28px}.demo-header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:6px 4px 0}.demo-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;color:#667169;font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.demo-header h1,.start-demo-preview h2{margin:0;color:#18231d;font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:0;line-height:1.1}.demo-header-actions,.demo-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.demo-status,.demo-command,.demo-icon-command{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid rgba(31,42,36,.18);border-radius:7px;padding:0 12px;color:#25352c;background:#fffdf5db;font:inherit;font-size:.86rem;font-weight:850;text-decoration:none}.demo-command,.demo-icon-command{cursor:pointer}.demo-icon-command{width:38px;padding:0}.demo-command:hover,.demo-icon-command:hover{border-color:#295f447a;background:#fff}.demo-workbench{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.demo-viewer-frame{position:relative;min-width:0;min-height:460px;overflow:hidden;border:1px solid rgba(31,42,36,.16);border-radius:8px;background:#e9ece5}.demo-workbench>.demo-viewer-frame{min-height:min(760px,calc(100svh - 118px))}.start-demo-preview{min-width:0;display:grid;gap:clamp(16px,3vw,28px);justify-items:center;padding:clamp(28px,5vw,64px) clamp(18px,5vw,72px);text-align:center;background:#ebe5d8}.start-demo-preview-copy{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;max-width:980px}.start-demo-preview-text{max-width:920px;margin:0;color:#435048;font-size:clamp(1rem,1.6vw,1.18rem);font-weight:650;line-height:1.55}.demo-inline-frame-wrap{width:min(1120px,100%);overflow:hidden;border:1px solid rgba(31,42,36,.18);border-radius:8px;background:#eef0e9;box-shadow:0 18px 38px #1f2a241f}.demo-inline-frame{display:block;width:100%;height:clamp(520px,68svh,760px);border:0;background:#eef0e9}.demo-toolbar--centered{justify-content:center}@media(max-width:820px){.demo-shell{padding:10px}.demo-header,.demo-workbench{grid-template-columns:1fr}.demo-header{align-items:stretch;flex-direction:column}.demo-workbench>.demo-viewer-frame{min-height:68svh}.start-demo-preview{padding:24px 16px}.demo-inline-frame{height:560px}}@media(max-width:560px){.demo-header-actions,.demo-toolbar{align-items:stretch;flex-direction:column}.demo-command,.demo-status{width:100%}.demo-inline-frame{height:500px}}.three-measurement-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:6}.three-measurement-lines,.three-measurement-labels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.three-measurement-line{stroke:#1f3f309e;stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke}.three-measurement-line[data-tone=primary]{stroke:#1a5b3fdb;stroke-width:1.8}.three-measurement-label{position:absolute;top:0;left:0;max-width:128px;border:1px solid rgba(30,61,46,.2);border-radius:6px;padding:3px 7px;color:#20352b;background:#fafcf7e6;box-shadow:0 8px 20px #16231d24;font-size:.68rem;font-weight:850;line-height:1.15;text-align:center;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.three-measurement-label[data-tone=primary]{color:#f8fbf4;border-color:#14412c33;background:#215c3ee6}.three-measurement-label[data-tone=secondary]{color:#3f5148;background:#fffffcc7}.building-floor-system{cursor:pointer;fill:#5f7e9747;stroke:#486477;stroke-dasharray:7 5;stroke-width:2}.building-deck-system{cursor:pointer;fill:#39805f3d;stroke:#2e6f54;stroke-dasharray:5 4;stroke-width:2}.building-floor-system.selected,.building-deck-system.selected,.building-slab.selected{stroke:#1d6f50;stroke-width:3}.building-wall-placement-preview{pointer-events:none;stroke:#d58c24;stroke-dasharray:9 5;stroke-linecap:square;stroke-width:15}.building-feature-dialog-empty{display:grid;gap:12px}.building-feature-dialog-empty p{margin:0;color:#6d4937;font-size:.9rem;font-weight:800}.building-feature-dialog-empty footer{display:flex;justify-content:flex-end}.connection-editor{border-top-color:#c4bda9}.connection-badge{min-width:34px;border:1px solid #bdb39c;border-radius:8px;padding:5px 8px;color:#264d3c;background:#fffdf5;font-size:.72rem;font-weight:900;text-align:center}.linked-source-note{display:grid;gap:3px;margin-top:8px;padding:8px;border:1px solid #b8cabf;border-radius:6px;background:#eef7f1;color:#264d3c}.linked-source-note small{color:#52645b;font-weight:700}.connection-mode{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:12px;border:1px solid #bdb39c;border-radius:8px;overflow:hidden;background:#fffdf5}.connection-mode button{min-height:36px;border:0;border-right:1px solid #d4ccb9;color:#405249;background:transparent;font-weight:900;cursor:pointer}.connection-mode button:last-child{border-right:0}.connection-mode button.active{color:#fffdf5;background:#264d3c}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}label,.field-shell,.number-field{display:grid;gap:6px;min-width:0;color:#405249;font-size:.78rem;font-weight:800}.field-label-row{display:inline-flex;align-items:center;gap:6px;min-width:0}.field-label-row>label,.checkbox-field-label{display:inline-flex;min-width:0;color:inherit;font-size:inherit;font-weight:inherit}.field-label-row>label{align-items:baseline}.field-shell>small{color:#66736b;font-size:.72rem;font-weight:750;line-height:1.25}input,select{width:100%;min-width:96px;min-height:38px;border:1px solid #8fa077;border-radius:8px;padding:8px 10px;color:#1f2a24;background:linear-gradient(180deg,#fffdf5,#eef4e8);font-size:.9rem;font-weight:850}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background:linear-gradient(45deg,transparent 50%,#264d3c 50%) right 14px center / 6px 6px no-repeat,linear-gradient(135deg,#264d3c 50%,transparent 50%) right 8px center / 6px 6px no-repeat,linear-gradient(90deg,transparent calc(100% - 30px),rgba(38,77,60,.1) calc(100% - 30px)),linear-gradient(180deg,#fffdf5,#eef4e8);cursor:pointer}input:focus,select:focus{border-color:#264d3c;outline:2px solid rgba(38,77,60,.34);outline-offset:2px}input:disabled,select:disabled{color:#6f786f;background:#ece7d8;cursor:not-allowed}select:disabled{background:linear-gradient(45deg,transparent 50%,#6f786f 50%) right 14px center / 6px 6px no-repeat,linear-gradient(135deg,#6f786f 50%,transparent 50%) right 8px center / 6px 6px no-repeat,linear-gradient(90deg,transparent calc(100% - 30px),rgba(111,120,111,.14) calc(100% - 30px)),#ece7d8}input[type=checkbox],input[type=radio]{width:18px;min-width:18px;min-height:18px;accent-color:#264d3c}.number-field .number-input-frame{display:grid;grid-template-columns:minmax(68px,1fr) max-content;align-items:center;min-width:118px;border:1px solid #bdb39c;border-radius:8px;background:#fffdf5}.number-field .field-label{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;min-width:0;border:0;border-radius:0;background:transparent}.checkbox-field-inline{display:inline-grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px;color:#405249;font-size:.78rem;font-weight:800}.checkbox-field-inline.has-help{grid-template-columns:max-content minmax(0,1fr) max-content}.checkbox-field-label{cursor:pointer}.field-label small{color:#69746b;font-size:.7rem;font-weight:900}.number-field input{border:0;min-width:68px;width:100%;min-height:36px;padding-right:6px;background:transparent}.number-field input:focus{outline:0}.number-field em{padding-right:10px;color:#69746b;font-size:.75rem;font-style:normal;font-weight:800;white-space:nowrap}.number-field-note{color:#66736b;font-size:.72rem;font-weight:750;line-height:1.25}.number-field-note.is-warning{color:#8a4f1f}.timber-hole-editor-note{grid-column:1 / -1;color:#8a4f1f;font-size:.72rem;font-weight:750;line-height:1.25}.editor-group{margin-top:14px;padding-top:12px;border-top:1px solid #d8d0bf}.collar-sizing-advice{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;border:1px solid #b87942;border-radius:8px;padding:10px;background:#fff7e8;color:#3f3428}.collar-sizing-advice span,.collar-sizing-advice small{font-size:.74rem;font-weight:850}.collar-sizing-advice strong{font-size:.95rem}.collar-sizing-advice small{color:#6d5b49}.collar-sizing-advice button{grid-row:1 / span 3;grid-column:2;min-height:34px;border:1px solid #8c5b32;border-radius:8px;padding:0 10px;color:#fffdf5;background:#77502c;font-size:.78rem;font-weight:900;cursor:pointer}.collar-sizing-advice button:hover{background:#5f3f23}.slab-primary-group{margin-top:0;padding-top:0;border-top:0}.selected-editor{margin-top:18px;border:1px solid #b9b29f;border-radius:8px;padding:12px;background:#fff8e5}.selected-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.group-rows{display:grid;gap:10px;margin-top:12px}.editor-group:not([open]) .group-heading,.panel-block:not([open]) .panel-block-summary{margin-bottom:0}.data-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));align-items:end;gap:8px}.support-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.floor-opening-list{display:grid;gap:8px}.panel-note-warning{color:#8b3f16}.point-row{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.slab-row-card{display:grid;gap:8px;border:1px solid #d2c9b6;border-radius:8px;padding:10px;background:#fffdf5}.slab-rect-row,.slab-strength-row,.slab-load-row,.slab-zone-row,.slab-edge-load-row{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.slab-section-row{grid-template-columns:minmax(104px,1fr) 1fr 1fr}.slab-plan-editor{position:absolute;z-index:4;top:20px;left:20px;display:grid;gap:10px;width:min(720px,calc(100% - 40px));border:1px solid rgba(72,83,70,.32);border-radius:8px;padding:12px;background:#fffdf5f0;box-shadow:0 18px 42px #1f2a2429}.slab-region-display{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.slab-region-display .slab-plan-toolbar{position:absolute;z-index:2;top:16px;left:16px;pointer-events:auto}.slab-solver-map{position:absolute;z-index:2;top:16px;right:16px;display:grid;gap:10px;width:min(430px,calc(100% - 32px));border:1px solid rgba(72,83,70,.34);border-radius:8px;padding:12px;background:#fffdf5e6;box-shadow:0 18px 42px #1f2a2429;pointer-events:auto}.slab-solver-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.slab-solver-heading span,.slab-solver-readout span,.slab-solver-empty span{color:#66736b;font-size:.72rem;font-weight:850;text-transform:uppercase}.slab-solver-heading strong,.slab-solver-readout strong,.slab-solver-empty strong{color:#1f2a24;font-weight:900}.slab-solver-mode{display:flex;gap:0;border:1px solid #bdb39c;border-radius:8px;padding:3px;background:#eee8d8}.slab-solver-mode button{min-height:30px;border:0;border-radius:6px;padding:0 9px;color:#253b31;background:transparent;font-size:.76rem;font-weight:850;cursor:pointer}.slab-solver-mode button.active{color:#fffdf5;background:#253b31}.slab-solver-svg{display:block;width:100%;min-height:240px;border:1px solid #c3baa6;border-radius:8px;background:#f7f4e9}.slab-solver-footprint{fill:#f4f1e7ad;stroke:#7e836f;stroke-width:.04;vector-effect:non-scaling-stroke}.slab-solver-grid{fill:url(#slab-solver-grid);stroke:none}.slab-solver-svg pattern path{fill:none;stroke:#5060573d;stroke-width:.025}.slab-solver-cell{opacity:.82;stroke:#1f2a2424;stroke-width:.018;vector-effect:non-scaling-stroke}.slab-solver-area-load{fill:#c83f311a;stroke:#c83f31;stroke-dasharray:.12 .08;stroke-width:.055;vector-effect:non-scaling-stroke}.slab-solver-line-load{stroke:#c83f31;stroke-width:.085;stroke-linecap:round;vector-effect:non-scaling-stroke}.slab-solver-point-load{fill:#c83f31;stroke:#fffdf5;stroke-width:.045;vector-effect:non-scaling-stroke}.slab-solver-governing-node{fill:none;stroke:#1f2a24;stroke-width:.08;vector-effect:non-scaling-stroke}.slab-solver-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slab-solver-readout div,.slab-solver-empty{display:grid;gap:3px;border:1px solid #d2c9b6;border-radius:8px;padding:8px 10px;background:#fffdf5}.slab-verdict{display:grid;gap:7px;border:1px solid #c59a45;border-radius:8px;padding:13px 14px;background:#fff8e8}.slab-verdict span,.slab-evidence-heading span,.slab-subheading span{color:#56635a;font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.slab-verdict strong{color:#1f2a24;font-size:1.16rem;line-height:1.1}.slab-verdict p,.slab-evidence-heading p,.slab-muted-note{margin:0;color:#405047;font-size:.82rem;font-weight:750;line-height:1.38}.slab-verdict-accepted{border-color:#9fbea7;background:#f4fbf0}.slab-verdict-fail{border-color:#c83f31;background:#fff2ee}.slab-verdict-fail strong{color:#8f2e26}.slab-verdict-review strong{color:#765017}.slab-verdict-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:10px}.slab-verdict-grid>div{display:grid;gap:4px;min-width:0;border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5}.slab-verdict-grid span{color:#66736b;font-size:.7rem;font-weight:900;text-transform:uppercase}.slab-verdict-grid strong{min-width:0;color:#1f2a24;font-size:.86rem;overflow-wrap:anywhere}.slab-verdict-grid small{color:#66736b;font-size:.74rem;font-weight:750;line-height:1.25}.slab-priority-list,.slab-evidence-board,.slab-confirmation-list{margin-top:12px}.slab-evidence-board{border-top:1px solid #d8d0bf;padding-top:12px}.slab-evidence-heading{display:grid;gap:5px;margin-bottom:10px}.slab-evidence-heading strong{color:#1f2a24;font-size:.98rem}.slab-subheading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.slab-subheading strong{min-width:28px;border:1px solid #cfc6b5;border-radius:999px;padding:2px 8px;color:#253b31;background:#fffdf5;font-size:.74rem;text-align:center}.slab-muted-note{margin-top:8px;border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5}.slab-load-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.slab-load-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid #bdb39c;border-radius:8px;padding:0 10px;color:#253b31;background:#fffdf5;font-size:.78rem;font-weight:900;cursor:pointer}.slab-load-action:hover{border-color:#7a8c68;background:#eef3e7}.slab-load-action:disabled{opacity:.42;cursor:not-allowed}.support-control-block{display:block;padding:8px 0 10px;border-top:2px solid rgba(80,96,87,.22)}.support-control-block:first-child{border-top-width:1px}.support-control-block:last-child{padding-bottom:0}.support-control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:0 2px}.support-control-heading:hover{background:#eef3e78f}.support-control-title{display:inline-flex;align-items:center;gap:5px;min-width:0}.support-control-title h3,.support-control-title strong{color:#405249;font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.support-control-chevron{flex:0 0 auto;color:#66736b;transition:transform .14s ease}.support-control-block[open]>.support-control-heading .support-control-chevron{transform:rotate(90deg)}.support-control-heading small{color:#66736b;font-size:.7rem;font-weight:850;line-height:1.2;white-space:nowrap}.support-control-body{display:grid;gap:8px;padding-top:8px}.support-control-block:not([open])>.support-control-body{display:none}.support-control-block[open]>.support-control-heading{border-bottom:1px solid rgba(80,96,87,.16)}.slab-plan-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.slab-plan-toolbar label,.slab-plan-inspector label{display:grid;gap:5px;color:#506057;font-size:.74rem;font-weight:900;text-transform:uppercase}.slab-plan-toolbar select,.slab-plan-inspector input,.slab-plan-inspector select{min-height:34px;padding:6px 8px}.slab-plan-inspector input{border:1px solid #8fa077;border-radius:8px;color:#253b31;background:linear-gradient(180deg,#fffdf5,#eef4e8)}.slab-plan-toolbar select,.slab-plan-inspector select{padding-right:36px}.slab-plan-mode{display:flex;gap:0;border:1px solid #bdb39c;border-radius:8px;padding:3px;background:#eee8d8}.slab-plan-mode button{min-height:30px;border:0;border-radius:6px;padding:0 11px;color:#253b31;background:transparent;cursor:pointer}.slab-plan-mode button.active{color:#fffdf5;background:#253b31}.slab-plan-body{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(230px,.9fr);gap:12px}.slab-plan-svg{width:100%;min-height:270px;border:1px solid #c3baa6;border-radius:8px;background:#f7f4e9;touch-action:none}.slab-region-display .slab-plan-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;border:0;border-radius:0;background:transparent;opacity:.92;pointer-events:auto}.slab-region-display.is-orbiting .slab-plan-svg{opacity:.22;pointer-events:none}.slab-plan-svg.is-drawing{cursor:crosshair}.slab-plan-svg line{vector-effect:non-scaling-stroke}.slab-plan-svg pattern line{stroke-width:.032}.slab-plan-base{fill:#d7d4c8}.slab-region-display .slab-plan-base{fill:#f7f4e914}.slab-plan-footprint{fill:#f4f1e794;stroke:#7e836f;stroke-width:.035;vector-effect:non-scaling-stroke}.slab-plan-grid{stroke:#6f77655c;stroke-width:.02}.slab-plan-outline{fill:none;stroke:#253b31;stroke-width:.052;vector-effect:non-scaling-stroke}.slab-plan-region{cursor:pointer}.slab-plan-region rect{stroke-width:.058;vector-effect:non-scaling-stroke}.slab-plan-region rect{fill:#1f63a224;stroke:#1f63a2}.slab-plan-region.has-thickening rect{fill:url(#slab-plan-hatch-thickening);stroke:#9a6a26}.slab-plan-region.has-rebar rect{fill:url(#slab-plan-hatch-rebar)}.slab-plan-region.has-thickening.has-rebar rect{fill:#9a6a262b;stroke:#1f63a2}#slab-plan-hatch-rebar line{stroke:#1f63a2}#slab-plan-hatch-thickening line{stroke:#9a6a26}.slab-plan-region.is-selected rect{stroke:#1f2a24;stroke-width:.08}.slab-plan-region text,.slab-plan-draft text{fill:#1f2a24;font-size:.2px;font-weight:900;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#fffdf5eb;stroke-width:.07;vector-effect:non-scaling-stroke}.slab-plan-region-meta{fill:#58645a;font-size:.16px}.slab-plan-draft rect{fill:#1f63a229;stroke:#1f63a2;stroke-dasharray:.12 .08;stroke-width:.052;vector-effect:non-scaling-stroke}.slab-plan-inspector{min-width:0;border:1px solid #d2c9b6;border-radius:8px;padding:10px;background:#fffaf0}.slab-plan-inspector-heading{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:10px}.slab-plan-inspector-heading span,.slab-plan-empty span{display:block;color:#66736b;font-size:.72rem;font-weight:900;text-transform:uppercase}.slab-plan-inspector-heading strong{display:block;margin-top:2px}.slab-plan-field-grid,.slab-plan-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.slab-plan-select-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slab-plan-empty{display:grid;place-items:center;min-height:180px;text-align:center}.slab-region-list{display:grid;gap:8px}.slab-region-chip{display:grid;gap:3px;border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;color:#253b31;text-align:left;background:#fffdf5;cursor:pointer}.slab-region-chip.active{border-color:#1f63a2;box-shadow:0 0 0 2px #1f63a21f}.slab-region-chip span{color:#66736b;font-size:.72rem;font-weight:800;text-transform:uppercase}.slab-region-editor,.slab-region-rebar-row{display:grid;gap:10px;border:1px solid #d2c9b6;border-radius:8px;padding:10px;background:#fffdf5}.slab-region-editor{margin-top:10px}.slab-region-modifier-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.check-row{display:flex;align-items:center;gap:8px;color:#33483c;font-weight:900}.check-row input{width:18px;height:18px}.roof-layer-row{display:grid;grid-template-columns:minmax(88px,1fr) 1fr 1fr;align-items:end;gap:8px;border:1px solid #d2c9b6;border-radius:8px;padding:10px;background:#fffdf5}.roof-layer-row>div:first-child{align-self:center}.roof-layer-row strong,.roof-layer-row span{display:block}.roof-layer-row span{margin-top:3px;color:#66736b;font-size:.72rem;font-weight:800;text-transform:uppercase}.model-stage{position:relative;min-height:620px;background:#f2f0e8}.beam-viewport{position:absolute;top:0;right:0;bottom:0;left:0}.beam-viewport:focus{outline:none}.beam-viewport:focus-visible{outline:2px solid #2d6cdf;outline-offset:-2px}.beam-viewport canvas{display:block;width:100%;height:100%}.stage-overlay{position:absolute;left:22px;right:22px;bottom:22px;display:flex;flex-wrap:wrap;gap:10px;pointer-events:none}.stage-overlay div{min-width:150px;border:1px solid rgba(73,83,73,.26);border-radius:8px;padding:10px 12px;background:#fffdf5d1;box-shadow:0 10px 24px #1f2a241f}.stage-overlay .overlay-highlight{border-color:#1f63a26b;background:#ebf5ffe6}.stage-overlay .overlay-highlight strong{color:#1f63a2}.stage-overlay .slab-layer-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;min-width:300px;pointer-events:auto}.slab-layer-panel span{grid-column:1 / -1}.slab-layer-panel label{display:flex;align-items:center;gap:7px;color:#253b31;font-size:.78rem;font-weight:850}.slab-layer-panel input{margin:0}.slab-utilization-legend{display:grid;grid-column:1 / -1;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;color:#253b31;font-size:.74rem;font-weight:850}.slab-utilization-legend i{display:block;height:8px;border:1px solid rgba(31,42,36,.18);border-radius:999px;background:linear-gradient(90deg,#cee7d3,#529d60 17%,#2d844e 43%,#e1a92d 57%,#d56c26 67%,#c8372d)}.altan-stage .altan-3d-viewport{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#eef1e8;cursor:crosshair}.altan-stage.is-ground-editing .altan-3d-viewport{cursor:context-menu}.altan-3d-viewport canvas{display:block;width:100%;height:100%}.altan-3d-viewport:focus-visible{outline:2px solid rgba(42,95,132,.75);outline-offset:-4px}.altan-viewport-tabs{position:absolute;top:18px;left:18px;z-index:4;display:inline-flex;max-width:calc(100% - 36px);overflow:hidden;border:1px solid rgba(49,67,58,.24);border-radius:8px;background:#fffdf5e6;box-shadow:0 12px 26px #1f2a241f}.altan-viewport-tabs button{min-width:118px;border:0;border-right:1px solid rgba(49,67,58,.16);padding:9px 14px;background:transparent;color:#273a31;font-size:.78rem;font-weight:900;letter-spacing:0}.altan-viewport-tabs button:last-child{border-right:0}.altan-viewport-tabs button.active{background:#dbead3;color:#174532}.altan-coordinate-hud{position:absolute;left:22px;bottom:108px;display:grid;grid-template-columns:repeat(3,auto);gap:3px 12px;align-items:baseline;max-width:min(520px,calc(100% - 44px));border:1px solid rgba(45,63,54,.28);border-radius:8px;padding:9px 12px;background:#fffdf5e6;box-shadow:0 12px 26px #1f2a2424;color:#24352d;pointer-events:none}.altan-coordinate-hud span,.altan-coordinate-hud small{color:#647168;font-size:.68rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.altan-coordinate-hud span{grid-column:1 / -1}.altan-coordinate-hud strong{font-size:.82rem;font-weight:950;white-space:nowrap}.altan-coordinate-hud small{grid-column:1 / -1;text-transform:none}.ground-surface-extent{fill:#e4ecdf;stroke:#9fac99;stroke-width:.035}.ground-surface-boundary{fill:#96b08452;stroke:#425a44;stroke-width:.055}.ground-surface-control-point circle{fill:#f5f1da;stroke:#35473b;stroke-width:.035}.ground-surface-control-point text{fill:#25362e;font-size:.32px;font-weight:800;letter-spacing:0;paint-order:stroke;stroke:#fffdf5d1;stroke-width:.035px}@media(max-width:760px){.altan-stage .stage-overlay{left:12px;right:12px;bottom:12px}.altan-stage .stage-overlay div{min-width:112px;flex:1 1 112px}.altan-coordinate-hud{left:12px;right:12px;bottom:188px;max-width:none;grid-template-columns:repeat(3,minmax(0,auto))}.altan-viewport-tabs{top:12px;left:12px;right:12px;max-width:none}.altan-viewport-tabs button{flex:1 1 0;min-width:0}}.energy-stage{display:grid;align-content:start;gap:18px;padding:24px}.energy-editor-group .group-heading{margin-bottom:12px}.energy-row-card{display:grid;gap:10px;border:1px solid #cfc7b6;border-radius:8px;padding:12px;background:#fffdf5}.energy-row-card.active{border-color:#3e7860;box-shadow:inset 0 0 0 1px #3e7860}.energy-row-heading{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px}.energy-body-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin-bottom:10px}.energy-body-strip button{display:grid;justify-items:start;min-height:58px;border:1px solid #cfc7b6;border-radius:8px;padding:9px 10px;color:#253b31;background:#fffdf5;cursor:pointer}.energy-body-strip button.active{border-color:#264d3c;background:#eef3e7}.energy-body-strip strong,.energy-body-strip span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.energy-body-strip span{color:#66736b;font-size:.74rem;font-weight:800}.energy-compact-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.energy-orientation-tool{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:10px;padding:10px;border:1px solid #d7cfbd;border-radius:8px;background:#f8f6edb8}.energy-compass{position:relative;display:grid;place-items:center;width:54px;height:54px;border:1px solid #bdb39c;border-radius:50%;background:#fffdf5;color:#264d3c}.energy-compass span{position:absolute;top:4px;font-size:.62rem;font-weight:950}.energy-compass i{position:absolute;bottom:9px;width:3px;height:21px;border-radius:999px;background:#bf7a2d;transform-origin:50% -5px}.energy-rotation-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.energy-angle-preset{min-width:38px;height:34px;border:1px solid #cfc7b6;border-radius:8px;background:#fffdf5;color:#1f2a24;font-weight:900;cursor:pointer}.energy-angle-preset:hover{border-color:#7a8c68;background:#eef3e7}.energy-angle-preset:disabled{opacity:.38;cursor:not-allowed}.energy-layer-list{display:grid;gap:8px}.energy-layer-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));align-items:end;gap:8px}.energy-layer-row .row-action{justify-self:end}.energy-add-line{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid #bdb39c;border-radius:8px;color:#264d3c;background:#eef3e7;font-weight:900;cursor:pointer}.energy-add-line:disabled{opacity:.5;cursor:not-allowed}.energy-mini-result{display:grid;align-content:center;min-height:58px;border:1px solid #d2c9b6;border-radius:8px;padding:8px 10px;background:#f8f6ed}.energy-mini-result span,.energy-score span,.energy-flow span,.energy-scenario small{color:#66736b;font-size:.72rem;font-weight:850;text-transform:uppercase}.energy-mini-result strong{margin-top:3px;color:#253b31;font-size:.9rem}.energy-derived-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #d2c9b6;border-radius:8px;padding:8px 10px;background:#f8f6ed}.energy-derived-note span{color:#66736b;font-size:.72rem;font-weight:850;text-transform:uppercase}.energy-derived-note strong{color:#253b31;font-size:.86rem;text-align:right}.energy-scoreboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.energy-score{min-height:130px;border:1px solid #b9b29f;border-radius:8px;padding:14px;background:#fffdf5;box-shadow:0 18px 34px #1f2a2414}.energy-score strong{display:block;margin-top:18px;color:#1f2a24;font-size:clamp(1.4rem,3vw,2.35rem);line-height:1}.energy-score small{display:block;margin-top:7px;color:#66736b;font-weight:800}.energy-score.pass{border-color:#3e7860;background:#edf7ed}.energy-score.fail{border-color:#cf7b70;background:#fff2ee}.energy-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid #b9b29f;border-radius:8px;overflow:hidden;background:#b9b29f}.energy-flow div{display:grid;gap:8px;min-height:96px;padding:14px;background:#fffdf5}.energy-flow strong{color:#253b31;font-size:1rem}.energy-3d-board{display:grid;gap:12px;border:1px solid #cfc7b6;border-radius:8px;padding:14px;background:#fffdf5e6}.energy-3d-viewport{position:relative;min-height:420px;overflow:hidden;border:1px solid #d2c9b6;border-radius:8px;background:#f2f0e8}.energy-3d-viewport canvas{display:block;width:100%;height:100%}.energy-axis-key{position:absolute;right:12px;bottom:12px;z-index:1;display:flex;gap:8px;pointer-events:none}.energy-axis-key span,.energy-position-note span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid #cfc7b6;border-radius:999px;padding:2px 9px;background:#fffdf5db;color:#253b31;font-size:.72rem;font-weight:900}.energy-axis-key .x-axis{border-color:#1f63a285;color:#1f63a2}.energy-axis-key .z-axis{border-color:#3e78608c;color:#2f6d55}.energy-view-compass{position:absolute;right:12px;bottom:12px;z-index:1;display:grid;place-items:center;width:54px;height:54px;border:1px solid #cfc7b6;border-radius:50%;background:#fffdf5e6;box-shadow:0 10px 24px #1f2a241f;color:#264d3c;font-size:.66rem;font-weight:950}.energy-view-compass span{position:absolute}.energy-view-compass span:first-child{top:5px}.energy-view-compass span:last-child{bottom:5px;color:#7b5c25}.energy-view-compass i{width:4px;height:34px;border-radius:999px;background:linear-gradient(#bf7a2d 0,#bf7a2d 46%,#264d3c 46%,#264d3c);transform:rotate(var(--north-angle, 0deg));transform-origin:50% 50%}.energy-compass-key{width:42px;height:42px;display:grid;place-items:center;border:1px solid #cfc7b6;border-radius:50%;background:#fffdf5e0}.energy-compass-key span{min-height:auto;padding:0;border:0;background:transparent;box-shadow:none;transform:translateY(-9px);color:#264d3c}.energy-compass-key i{position:absolute;width:3px;height:24px;border-radius:999px;background:linear-gradient(#bf7a2d 0,#bf7a2d 48%,#264d3c 48%,#264d3c)}.energy-position-note{display:flex;flex-wrap:wrap;gap:8px}.energy-plan-board,.energy-shell-debug-board{display:grid;gap:12px;border:1px solid #cfc7b6;border-radius:8px;padding:14px;background:#fffdf5e0}.energy-plan-svg{width:100%;min-height:320px;border:1px solid #d2c9b6;border-radius:8px;background:#f8f6ed}.energy-shell-debug-svg{width:100%;min-height:240px;border:1px solid #d2c9b6;border-radius:8px;background:#f8f6ed}.energy-shell-debug-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.energy-shell-debug-summary span,.energy-shell-debug-summary strong{display:inline-flex;min-height:30px;align-items:center;border:1px solid #d2c9b6;border-radius:999px;padding:0 10px;color:#253b31;background:#fffdf5;font-size:.78rem;font-weight:900}.energy-shell-debug-summary .exact{border-color:#3e7860;color:#264d3c;background:#eef3e7}.energy-shell-debug-summary .approx{border-color:#b98638;color:#6d4718;background:#fff5dc}.energy-shell-debug-body{fill:#1f63a21a;stroke:#1f63a27a;stroke-width:.05}.energy-shell-debug-boundary{stroke:#bf4a2d;stroke-linecap:square;stroke-linejoin:round;stroke-width:2.2px;vector-effect:non-scaling-stroke}.energy-shell-debug-note{margin:0;color:#66736b;font-size:.78rem;font-weight:800}.energy-plan-body-group{cursor:grab}.energy-plan-body-group:active{cursor:grabbing}.energy-plan-body{fill:#fffdf5b8;stroke:#264d3c47;stroke-width:.04;cursor:pointer}.energy-plan-body.selected{fill:#e1a92d24;stroke:#bf7a2d;stroke-width:.07}.energy-plan-wall{stroke:#264d3c;stroke-linecap:square;vector-effect:non-scaling-stroke}.energy-plan-wall.selected{stroke:#1f63a2}.energy-plan-connected-wall{stroke:#9d9279;stroke-dasharray:.18 .16;stroke-linecap:round;stroke-width:.1}.energy-plan-opening{stroke:#1f63a2;stroke-linecap:round;stroke-width:.24;cursor:pointer}.energy-plan-opening.selected{stroke:#bf7a2d;stroke-width:.32}.energy-plan-opening.ignored{stroke:#9d9279;stroke-dasharray:.12 .12}.energy-plan-roof{stroke:#7b5c25;stroke-width:.06;stroke-linecap:round;fill:none}.energy-plan-roof-fall{stroke:#7b5c259e;stroke-width:.035;stroke-linecap:round}.energy-plan-axis line{stroke-width:.07;stroke-linecap:round;vector-effect:non-scaling-stroke}.energy-plan-axis line:first-of-type{stroke:#1f63a2}.energy-plan-axis line:last-of-type{stroke:#2f6d55}.energy-plan-axis marker path{fill:currentColor}.energy-plan-axis text{fill:#1f2a24;font-size:.42px;font-weight:950;letter-spacing:0;paint-order:stroke;stroke:#fffdf5e6;stroke-width:.09px}.energy-plan-label{fill:#1f2a24;font-size:.34px;font-weight:800;letter-spacing:0;paint-order:stroke;stroke:#fffdf5e6;stroke-width:.08px;text-anchor:middle}.energy-plan-legend{display:flex;flex-wrap:wrap;gap:12px;color:#66736b;font-size:.76rem;font-weight:850}.energy-plan-legend span{display:inline-flex;align-items:center;gap:6px}.energy-plan-legend i{display:inline-block;width:18px;height:4px;border-radius:999px}.energy-plan-legend .wall{background:#264d3c}.energy-plan-legend .connected{background:repeating-linear-gradient(90deg,#9d9279 0 4px,transparent 4px 7px)}.energy-plan-legend .opening{height:6px;background:#1f63a2}.energy-plan-legend .debug-body{height:8px;border:1px solid rgba(31,99,162,.48);background:#1f63a21a}.energy-plan-legend .debug-boundary{height:6px;background:#bf4a2d}.energy-scenario-board{display:grid;gap:10px;border:1px solid #cfc7b6;border-radius:8px;padding:14px;background:#fffdf5d6}.energy-scenario{display:grid;grid-template-columns:minmax(0,1fr) 82px 82px;align-items:center;gap:12px;border:1px solid #d2c9b6;border-radius:8px;padding:12px;background:#fffdf5}.energy-scenario strong,.energy-check strong{display:block;color:#1f2a24}.energy-scenario span{display:block;margin-top:4px;color:#66736b;font-size:.76rem;font-weight:750}.energy-scenario b{display:block;margin-top:4px;color:#253b31;font-size:1rem}.delta-good b{color:#2f7655}.delta-bad b{color:#9e2c22}.energy-check-list{display:grid;gap:10px;margin-bottom:16px}.energy-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #cfc7b6;border-radius:8px;padding:12px;background:#fffdf5}.energy-check.pass svg{color:#3e7860}.energy-check.fail{border-color:#cf7b70;background:#fff2ee}.energy-check.fail svg{color:#9e2c22}.energy-check span{display:block;margin-top:4px;color:#66736b;font-size:.8rem;font-weight:800}.stage-overlay strong{display:block;margin-top:4px;font-size:1.05rem}.workspace-ventilation{--vent-supply: #1f63a2;--vent-extract: #bf7a2d;--vent-line: #cfc7b6;height:calc(100vh - 72px);min-height:620px;overflow:hidden}.workspace-ventilation .control-panel,.workspace-ventilation .result-panel{height:100%;min-height:0;overflow:auto}.workspace-ventilation .model-stage{height:100%;min-height:0}.ventilation-part-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.7rem}.ventilation-part-grid button,.ventilation-rotate-row button{min-height:38px;border:1px solid #bdb39c;border-radius:8px;background:#fffdf5;color:#253b31;cursor:pointer;font:inherit;font-weight:850}.ventilation-part-grid button:hover,.ventilation-rotate-row button:hover{border-color:#7a8c68;background:#eef3e7}.ventilation-part-grid button:disabled,.ventilation-rotate-row button:disabled{cursor:not-allowed;opacity:.45}.ventilation-rotate-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:.65rem}.ventilation-rotate-row button{align-items:center;display:inline-flex;gap:.25rem;justify-content:center}.ventilation-part-label-short{display:none}.ventilation-stage{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(38,77,60,.07) 1px,transparent 1px),linear-gradient(rgba(38,77,60,.07) 1px,transparent 1px),#ebe7dc;background-size:28px 28px}.ventilation-stage-summary{align-items:center;display:inline-grid;grid-template-columns:auto auto;gap:2px 9px;position:absolute;top:18px;left:22px;z-index:3;max-width:min(360px,calc(100% - 44px));margin:0;border:1px solid rgba(73,83,73,.26);border-radius:8px;padding:8px 11px;background:#fffdf5db;box-shadow:0 10px 24px #1f2a241f;pointer-events:none}.ventilation-stage-summary span,.ventilation-stage-summary small,.ventilation-stage-strip small{color:#66736b;font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.ventilation-stage-summary strong{color:#1f2a24;font-size:.96rem}.ventilation-stage-summary small{grid-column:1 / -1;text-transform:none}.ventilation-viewport-wrap{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.ventilation-viewport{position:relative;width:100%;height:100%;overflow:hidden}.ventilation-viewport:after{content:"";position:absolute;top:24px;right:24px;bottom:24px;left:24px;border:1px solid rgba(73,83,73,.24);border-radius:8px;pointer-events:none}.ventilation-viewport canvas{cursor:crosshair;display:block;width:100%;height:100%}.ventilation-stage-strip,.ventilation-side-list,.ventilation-terminal-row,.ventilation-pressure-row,.ventilation-ready-text{align-items:center;display:flex;gap:.6rem}.ventilation-stage-strip{position:absolute;right:22px;bottom:22px;left:22px;z-index:3;width:auto;border:1px solid rgba(73,83,73,.26);border-radius:8px;flex-wrap:wrap;padding:10px 12px;background:#fffdf5db;box-shadow:0 10px 24px #1f2a241f;pointer-events:none}.ventilation-stage-strip strong{color:#1f2a24}.ventilation-stage-strip div{display:grid;gap:1px;min-width:0}.ventilation-stage-strip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ventilation-stage-strip span{border-radius:8px;color:#fff;font-size:.78rem;font-weight:900;padding:.25rem .55rem}.ventilation-stage-strip .supply{background:var(--vent-supply)}.ventilation-stage-strip .extract{background:var(--vent-extract)}.ventilation-side-list{align-items:stretch;flex-direction:column;margin-top:1rem}.ventilation-side{border:1px solid #d2c9b6;border-left:4px solid var(--vent-supply);border-radius:8px;padding:.7rem;background:#fffdf5}.ventilation-side.extract{border-left-color:var(--vent-extract)}.ventilation-side h3{align-items:center;display:flex;font-size:.95rem;gap:.4rem;margin:0 0 .3rem}.ventilation-side span,.ventilation-terminal-row span{color:#263832;font-weight:700}.ventilation-side small,.ventilation-terminal-row small{color:#65746e;display:block}.ventilation-warning-list,.ventilation-note-list{display:grid;gap:.35rem;margin-top:1rem}.ventilation-warning-list p,.ventilation-note-list p{border:1px solid #c59a45;border-radius:8px;margin:0;padding:.55rem;background:#fff8e8}.ventilation-note-list p{border-color:#b8c0ca;background:#f7f9fb}.ventilation-terminal-list,.ventilation-assumptions{margin-top:1rem}.ventilation-terminal-row,.ventilation-pressure-row{border-bottom:1px solid #d7dfda;justify-content:space-between;padding:.55rem 0}.ventilation-terminal-row strong,.ventilation-pressure-row strong{min-width:5rem}.ventilation-ready-text{color:#244f35;font-weight:800}@media(max-width:820px){.workspace-ventilation{height:auto;min-height:calc(100vh - 72px);overflow:visible}.workspace-ventilation .control-panel,.workspace-ventilation .result-panel{height:auto}.workspace-ventilation .model-stage{height:min(720px,calc(100svh - 72px));min-height:460px}.ventilation-part-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.ventilation-part-grid button{min-height:42px;padding:0 .25rem}.ventilation-part-label-full{display:none}.ventilation-part-label-short{display:inline}.ventilation-stage-summary{grid-template-columns:auto auto;top:10px;left:10px;max-width:calc(100% - 20px);padding:6px 9px}.ventilation-stage-summary strong{display:none}.ventilation-stage-summary small{grid-column:auto}.ventilation-stage-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;right:10px;bottom:10px;left:10px;padding:8px 9px}.ventilation-stage-strip div:last-child{display:none}.ventilation-viewport:after{top:10px;right:10px;bottom:10px;left:10px}}.ventilation-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;align-items:end;margin-top:.7rem}.ventilation-edit-row button,.ventilation-flex-bridge button,.ventilation-orphan-list button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;border:1px solid #bdb39c;border-radius:8px;padding:0 .7rem;background:#fffdf5;color:#253b31;cursor:pointer;font:inherit;font-weight:850}.ventilation-edit-row button:hover,.ventilation-flex-bridge button:hover,.ventilation-orphan-list button:hover{border-color:#7a8c68;background:#eef3e7}.ventilation-edit-row button:disabled,.ventilation-flex-bridge button:disabled,.ventilation-orphan-list button:disabled{cursor:not-allowed;opacity:.45}.ventilation-orphan-list{display:grid;gap:.45rem;margin-top:.7rem}.ventilation-orphan-list button{justify-content:flex-start;text-align:left}.ventilation-flex-bridge{display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) minmax(7rem,.42fr) auto;align-items:end;margin-top:.7rem;padding:.7rem;border:1px solid #c4d6dc;border-radius:8px;background:#f4f8f9}@media(max-width:820px){.ventilation-edit-row,.ventilation-flex-bridge{grid-template-columns:1fr}}.context-window.context-menu{display:flex;flex-direction:column;gap:0;min-width:min(240px,calc(100vw - 24px));overflow:hidden;padding:0}.context-window-titlebar{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:40px;border-bottom:1px solid rgba(73,83,73,.18);padding:8px 8px 8px 12px;background:#f1ead7;cursor:grab;-webkit-user-select:none;user-select:none}.context-window-titlebar:active{cursor:grabbing}.context-window-heading{min-width:0}.context-window-heading span,.context-window-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-window-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(73,83,73,.22);border-radius:7px;padding:0;background:#fffdf5b8;color:#33483c;cursor:pointer}.context-window-close:hover,.context-window-close:focus-visible{border-color:#2e6f54;background:#fffdf5;color:#1f2a24}.context-window-body{display:grid;gap:10px;min-height:0;overflow:auto;padding:12px}.context-window-form{display:grid;gap:10px}.context-menu{position:fixed;z-index:20;display:grid;gap:10px;width:min(260px,calc(100vw - 24px));border:1px solid #9d9279;border-radius:8px;padding:12px;background:#fffdf5;box-shadow:0 18px 42px #1f2a2433}.context-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.context-heading span{color:#66736b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.context-heading strong{color:#bf7a2d}.markyta-height-point-menu{width:min(286px,calc(100vw - 24px))}.floor-context-menu{width:min(320px,calc(100vw - 24px))}.floor-context-menu p{margin:0;color:#516057;font-size:.82rem;line-height:1.35}.floor-context-menu .context-window-body>button{justify-content:center;border:1px solid #2d5b47;background:#2d5b47;color:#fffdf5}.floor-span-readout{display:flex;flex-wrap:wrap;gap:6px}.floor-span-readout span{border:1px solid #cfc7b6;border-radius:8px;padding:5px 8px;background:#fffaf0;color:#33483c;font-size:.78rem;font-weight:800}.markyta-height-point-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;color:#33483c;font-size:.78rem;font-weight:850}.markyta-height-field{display:grid;gap:5px;color:#33483c;font-size:.78rem;font-weight:850}.markyta-height-field>span:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;border:1px solid #cfc7b6;border-radius:8px;padding:5px 8px;background:#fffaf0}.markyta-height-field input{width:100%;min-width:0;border:0;background:transparent;color:#26362d;font:inherit;outline:none}.markyta-height-field em{color:#66736b;font-style:normal;font-weight:800}.markyta-height-point-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px}.markyta-height-point-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #b8ad98;border-radius:8px;padding:7px 9px;background:#f1ead7;color:#26362d;font-size:.76rem;font-weight:900}.markyta-height-point-actions .markyta-height-remove{border-color:#d6a198;background:#fff2ee;color:#8b2d2b}.status-box{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid #cfc7b6;border-radius:8px;padding:12px;background:#fffdf5}.status-box p{margin:0;font-weight:800}.rule-box{margin-top:12px;border:1px solid #cfc7b6;border-radius:8px;padding:12px;background:#fff8e5}.rule-box span{display:block;color:#66736b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rule-box strong{display:block;margin-top:5px;font-size:.92rem}.rule-box p{margin:8px 0 0;color:#6c5330;font-size:.86rem;font-weight:700}.status-box svg{flex:0 0 auto;color:#3e7860}.error-box{border-color:#cf7b70;background:#fff2ee}.error-box svg{color:#9e2c22}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.metric{min-height:82px;border:1px solid #cfc7b6;border-radius:8px;padding:12px;background:#fffdf5}.metric strong{display:block;margin-top:12px;font-size:1.14rem}.metric.warn{border-color:#c83f31;background:#fff2ee}.professional-panel{display:grid;gap:12px;margin-top:14px;border:1px solid #cfc7b6;border-radius:8px;padding:12px;background:#fffdf5}.professional-panel.locked{background:#fff8e5}.professional-heading{display:flex;align-items:center;gap:9px}.professional-heading span{display:block;color:#66736b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.professional-heading h2{margin-top:2px}.professional-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.professional-actions button{min-height:38px;color:#264d3c;background:#fffdf5}.professional-panel.locked .professional-actions button{color:#6f786f;background:#ece7d8}.professional-upgrade{width:100%}.result-table-group{display:grid;gap:8px;margin-top:10px}.result-table-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.result-table-heading strong{color:#26362d;font-size:.9rem}.result-table-heading span{color:#66736b;font-size:.76rem;font-weight:800}.result-table{display:grid;gap:6px;min-width:0}.result-table-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(76px,.75fr) minmax(76px,.65fr) minmax(0,1.15fr);gap:8px;min-width:0;border:1px solid #d2c9b6;border-radius:8px;padding:8px 10px;background:#fffdf5;color:#33483c;font-size:.78rem;font-weight:800}.result-table-header{border-color:#c4baa7;background:#ede8d8;color:#66736b;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.result-table-row span{min-width:0;overflow-wrap:anywhere}.building-command-row{grid-template-columns:minmax(0,1fr)}.building-command-row:not(.result-table-header)>span{display:grid;gap:3px}.building-command-row:not(.result-table-header)>span:before{content:attr(data-label);color:#66736b;font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.building-command-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px}.building-command-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:30px;padding:5px 8px;font-size:.72rem}.building-command-status{display:grid;gap:6px;margin:10px 0 0;color:#33483c;font-size:.78rem;font-weight:800}.building-command-status p{margin:0}.building-command-status.state-error{color:#8b2d2b}@media(max-width:720px){.result-table-heading{display:grid;justify-content:stretch}.result-table-row{grid-template-columns:minmax(0,1fr)}}.admin-entitlements{display:grid;gap:12px;margin:16px 24px 0;border:1px solid #b9b29f;border-radius:8px;padding:14px;background:#fffdf5}.admin-entitlements-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-entitlements-header p{margin:0;color:#66736b;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-entitlements-header h2{margin:2px 0 0}.admin-entitlements-error{margin:0;color:#9e2c22;font-weight:800}.admin-entitlements-table{display:grid;gap:1px;overflow-x:auto;border:1px solid #d4ccb9;background:#d4ccb9}.admin-entitlements-row{display:grid;grid-template-columns:var(--admin-entitlements-columns, minmax(190px, 1.4fr) repeat(7, minmax(118px, 1fr)));min-width:1040px;background:#fffdf5}.admin-entitlements-row-head{color:#264d3c;background:#ece7d8;font-size:.78rem;font-weight:900}.admin-entitlements-row>span,.admin-entitlements-module,.admin-entitlements-cell{min-height:58px;padding:9px;border-right:1px solid #d4ccb9}.admin-entitlements-row>span:last-child,.admin-entitlements-cell:last-child{border-right:0}.admin-entitlements-module{display:grid;align-content:center;gap:3px}.admin-entitlements-module span{color:#66736b;font-size:.78rem}.admin-entitlements-cell{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}.admin-entitlements-beta{grid-template-columns:1fr}.admin-entitlements-cell label{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:800}.admin-console{display:grid;gap:16px;padding:20px 24px 28px;color:#1f2a24}.admin-console .admin-entitlements{margin:0}.admin-console-header,.admin-auth-state,.admin-mfa-qr,.admin-mfa-secret,.admin-users-panel,.admin-editor,.admin-appearance,.admin-audit{border:1px solid #b9b29f;border-radius:8px;background:#fffdf5}.admin-console-header,.admin-auth-state{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:88px;padding:16px}.admin-auth-state{justify-content:flex-start}.admin-console-header p,.admin-section-heading p{margin:0;color:#66736b;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-console-header h2,.admin-auth-state h2,.admin-section-heading h3{margin:2px 0 0;letter-spacing:0}.admin-console-header span{display:block;margin-top:4px;color:#66736b;font-size:.82rem;font-weight:800}.admin-refresh,.admin-mfa-form button,.admin-create-user button,.admin-search button,.admin-appearance-save,.admin-action-strip button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #264d3c;border-radius:8px;padding:9px 12px;color:#fffdf5;background:#264d3c;font-weight:900;cursor:pointer}.admin-refresh:disabled,.admin-mfa-form button:disabled,.admin-create-user button:disabled,.admin-search button:disabled,.admin-appearance-save:disabled,.admin-action-strip button:disabled{opacity:.48;cursor:not-allowed}.admin-action-strip button.danger{border-color:#9e2c22;background:#9e2c22}.admin-message{margin:0;border-left:4px solid #1d4e4f;padding:10px 12px;background:#eef4ee;font-weight:850}.admin-message.error{border-color:#9e2c22;color:#9e2c22;background:#fff2ee}.admin-mfa{max-width:840px;margin:0 auto}.admin-mfa-setup{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px;align-items:stretch}.admin-mfa-qr{display:grid;place-items:center;gap:8px;padding:14px}.admin-mfa-qr img{width:min(188px,100%);aspect-ratio:1;border:1px solid #d8d0bd;background:#fffdf5}.admin-mfa-qr span{color:#405249;font-size:.78rem;font-weight:900}.admin-mfa-secret{display:grid;gap:10px;padding:14px}.admin-mfa-secret label,.admin-mfa-form label,.admin-search label,.admin-create-user label,.admin-form-grid label,.admin-danger-zone label{display:grid;gap:6px;color:#405249;font-size:.78rem;font-weight:900}.admin-mfa-secret input,.admin-mfa-secret textarea,.admin-mfa-form input,.admin-search input,.admin-create-user input,.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea,.admin-danger-zone textarea{min-height:40px;font:inherit}.admin-mfa-secret input,.admin-mfa-secret textarea,.admin-mfa-form input,.admin-search input,.admin-create-user input,.admin-form-grid input,.admin-form-grid textarea,.admin-danger-zone textarea{border:1px solid #8fa077;border-radius:8px;padding:9px 10px;color:#1f2a24;background:linear-gradient(180deg,#fffdf5,#eef4e8)}.admin-form-grid select{padding-top:9px;padding-bottom:9px}.admin-mfa-secret textarea,.admin-form-grid textarea,.admin-danger-zone textarea{min-height:78px;resize:vertical}.admin-mfa-secret small{color:#66736b;font-weight:800}.admin-mfa-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:10px}.admin-ops-grid{display:grid;grid-template-columns:minmax(460px,1.45fr) minmax(320px,.9fr);gap:16px;align-items:start}.admin-users-panel,.admin-editor,.admin-appearance,.admin-audit{display:grid;gap:12px;padding:14px}.admin-section-heading{display:flex;align-items:center;gap:10px}.admin-section-heading svg{color:#1d4e4f}.admin-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}.admin-theme-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;border:1px solid #b9b29f;border-radius:8px;padding:12px;background:#fffdf5;cursor:pointer}.admin-theme-option.active{border-color:#1d4e4f;background:#eef4ee}.admin-theme-option input{margin-top:3px}.admin-theme-option-copy{display:grid;gap:4px}.admin-theme-option-copy strong{color:#1f2a24}.admin-theme-option-copy small,.admin-appearance-footer{color:#66736b;font-weight:800}.admin-theme-swatches{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden;height:24px;border:1px solid #d8d0bd;border-radius:8px}.admin-theme-swatches span{min-width:0}.admin-appearance-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-search,.admin-create-user{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;align-items:end;gap:10px}.admin-search{grid-template-columns:minmax(220px,1fr) auto}.admin-review-marketplace{display:grid;gap:12px;border:1px solid #b9b29f;border-radius:8px;padding:14px;background:#fffdf5}.admin-review-marketplace-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-review-marketplace-header p,.admin-review-marketplace-role span{margin:0;color:#66736b;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-review-marketplace-header h3,.admin-review-marketplace-role h4,.admin-review-marketplace-summary h4{margin:2px 0 0;letter-spacing:0}.admin-review-marketplace-header span,.admin-review-marketplace-note,.admin-review-marketplace-offer small{color:#66736b;font-size:.82rem;font-weight:800}.admin-review-marketplace-steps{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:6px}.admin-review-marketplace-steps button{display:grid;gap:2px;border:1px solid #b9b29f;border-radius:8px;padding:9px;color:#405249;background:#f7f1df;font-weight:900;cursor:pointer}.admin-review-marketplace-steps button.active{border-color:#1d4e4f;color:#fffdf5;background:#1d4e4f}.admin-review-marketplace-steps button.complete{border-color:#3b6f3d;background:#eef4ee}.admin-review-marketplace-steps small{font-size:.66rem;text-transform:uppercase}.admin-review-marketplace-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:12px;align-items:start}.admin-review-marketplace-stage,.admin-review-marketplace-summary{display:grid;gap:10px;border:1px solid #d8d0bd;border-radius:8px;padding:12px;background:#fffaf0}.admin-review-marketplace-stage section{display:grid;gap:10px}.admin-review-marketplace-role{display:grid;gap:2px}.admin-review-marketplace-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid #264d3c;border-radius:8px;padding:9px 12px;color:#fffdf5;background:#264d3c;font-weight:900;cursor:pointer}.admin-review-marketplace-action.secondary{color:#264d3c;background:#eef4ee}.admin-review-marketplace-action.verified{border-color:#3b6f3d;color:#214925;background:#e5f1e4}.admin-review-marketplace-action:disabled{opacity:.5;cursor:not-allowed}.admin-review-marketplace-action.verified:disabled{opacity:1}.admin-review-marketplace-ready{color:#25642a;font-weight:900}.admin-review-marketplace-note{margin:0;border-left:4px solid #b86f13;padding:9px 10px;background:#fff5df}.admin-review-marketplace-membership-grid,.admin-review-marketplace-membership-actions,.admin-review-marketplace-verification-list{display:grid;gap:8px}.admin-review-marketplace-membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-review-marketplace-membership-actions{grid-template-columns:repeat(5,minmax(120px,1fr))}.admin-review-marketplace-verification-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-review-marketplace-offer,.admin-review-marketplace-signature,.admin-review-marketplace-status-row{display:grid;gap:4px;border:1px solid #d8d0bd;border-radius:8px;padding:10px;background:#fffdf5}.admin-review-marketplace-offer strong{color:#1f2a24}.admin-review-marketplace-offer span,.admin-review-marketplace-signature span{overflow-wrap:anywhere;color:#405249;font-size:.82rem;font-weight:850}.admin-review-marketplace-signature{border-color:#7aa86e;background:#eef4ee}.admin-review-marketplace-summary{align-content:start}.admin-review-marketplace-status-row{grid-template-columns:minmax(92px,.45fr) minmax(0,1fr);align-items:center}.admin-review-marketplace-status-row span{color:#66736b;font-size:.76rem;font-weight:850}.admin-review-marketplace-status-row strong{overflow-wrap:anywhere;color:#1f2a24;font-size:.82rem}@media(max-width:900px){.admin-review-marketplace-header,.admin-review-marketplace-grid{grid-template-columns:1fr}.admin-review-marketplace-header{display:grid}.admin-review-marketplace-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-review-marketplace-membership-grid,.admin-review-marketplace-membership-actions,.admin-review-marketplace-verification-list{grid-template-columns:1fr}}.admin-user-table{display:grid;gap:1px;overflow-x:auto;border:1px solid #d4ccb9;background:#d4ccb9}.admin-user-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(70px,.45fr) minmax(120px,.7fr) minmax(76px,.45fr) minmax(132px,.55fr);align-items:center;min-width:720px;min-height:58px;border:0;padding:0;color:#1f2a24;background:#fffdf5;text-align:left;font:inherit}.admin-user-row.active{box-shadow:inset 4px 0 #1d4e4f;background:#eef4ee}.admin-user-row-head{min-height:40px;color:#264d3c;background:#ece7d8;font-size:.78rem;font-weight:900}.admin-user-row>span{display:grid;gap:3px;min-height:inherit;align-content:center;border-right:1px solid #d4ccb9;padding:8px 10px}.admin-user-row>span:last-child{border-right:0}.admin-user-row small{color:#66736b;font-size:.76rem;font-weight:800}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-wide-field{grid-column:1 / -1}.admin-module-access{display:grid;gap:10px;min-width:0;border:1px solid #d4ccb9;border-radius:8px;padding:10px}.admin-module-access legend{padding:0 5px;color:#405249;font-size:.78rem;font-weight:900}.admin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-module-checkbox-shell{min-height:52px;padding:8px 10px}.admin-action-strip{display:flex;flex-wrap:wrap;gap:8px}.admin-danger-zone{display:grid;gap:10px;border-top:1px solid #d4ccb9;padding-top:12px}.admin-audit-list{display:grid;gap:1px;border:1px solid #d4ccb9;background:#d4ccb9}.admin-audit-row{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(150px,.6fr) minmax(220px,1fr) minmax(140px,.5fr);gap:10px;min-height:44px;align-items:center;padding:9px 10px;background:#fffdf5}.admin-audit-row span{color:#66736b;font-size:.78rem;font-weight:850}.admin-audit-row p,.admin-empty{margin:0;color:#66736b;font-weight:800}.admin-telemetry{display:grid;gap:12px;border:1px solid #b9b29f;border-radius:8px;padding:14px;color:#1f2a24;background:#fffdf5}.admin-telemetry-error{margin:0;border-left:4px solid #9e2c22;padding:10px 12px;color:#9e2c22;background:#fff2ee;font-weight:850}.admin-telemetry-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-telemetry-stat{display:grid;gap:3px;min-height:84px;border:1px solid #d4ccb9;border-radius:8px;padding:10px 12px;background:#eef4ee}.admin-telemetry-stat span,.admin-telemetry-stat small{color:#66736b;font-size:.76rem;font-weight:850}.admin-telemetry-stat strong{font-size:1.55rem;line-height:1}.admin-telemetry-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(360px,.85fr);gap:12px;align-items:start}.admin-telemetry-table-wrap{display:grid;gap:8px}.admin-telemetry-table-wrap h4{margin:0;font-size:.9rem}.admin-telemetry-table{display:grid;gap:1px;overflow-x:auto;border:1px solid #d4ccb9;background:#d4ccb9}.admin-telemetry-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(78px,.42fr) minmax(82px,.42fr) minmax(112px,.55fr);min-width:560px;min-height:48px;align-items:center;color:#1f2a24;background:#fffdf5}.admin-telemetry-user-table .admin-telemetry-row{grid-template-columns:minmax(170px,1fr) minmax(78px,.38fr) minmax(70px,.32fr) minmax(112px,.5fr) minmax(132px,.55fr);min-width:650px}.admin-telemetry-row-head{min-height:38px;color:#264d3c;background:#ece7d8;font-size:.78rem;font-weight:900}.admin-telemetry-row>span{display:grid;gap:3px;min-height:inherit;align-content:center;border-right:1px solid #d4ccb9;padding:8px 10px}.admin-telemetry-row>span:last-child{border-right:0}.admin-telemetry-row small{color:#66736b;font-size:.76rem;font-weight:800}@media(max-width:920px){.admin-telemetry-stats,.admin-telemetry-grid{grid-template-columns:1fr}}.panel-block{margin-top:14px;border-top:1px solid #d8d0bf;padding-top:12px}.panel-block-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-block-body{margin-top:10px}.result-indicator-stack{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0}.result-indicator{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px;min-width:0;border:1px solid #d2c9b6;border-radius:8px;padding:10px 12px;background:#fffdf5}.result-indicator span{min-width:0;color:#33483c;font-size:.82rem;font-weight:850}.result-indicator strong{color:#1f2a24;font-size:.92rem;font-weight:950;text-align:right}.result-indicator small{grid-column:1 / -1;color:#66736b;font-size:.75rem;font-weight:750;line-height:1.3}.result-indicator-ok{border-color:#b9cbbd;background:#f7fbf3}.result-indicator-warn,.result-indicator-error{border-color:#c83f31;background:#fff2ee}.result-indicator-warn strong,.result-indicator-error strong{color:#8f2e26}.reaction-list,.check-list{display:grid;gap:8px;margin-top:10px}.check-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5}.check-item span{min-width:0;color:#33483c;font-size:.84rem;font-weight:800}.check-item span small{display:block;margin-top:3px;color:#66736b;font-size:.74rem;font-weight:700;line-height:1.25;text-transform:none}.check-item strong{color:#264d3c;font-size:.78rem;text-transform:uppercase}.check-fail{border-color:#c83f31;background:#fff2ee}.check-notimplemented strong{color:#9b6a20}.check-review{border-color:#c59a45;background:#fff8e8}.check-info{border-color:#b7c4bd;background:#f6f8f4}.engineering-review-brief p{margin-top:8px}.engineering-review-list .check-item{align-items:start}.evidence-chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.evidence-chip-row em{display:inline-flex;max-width:100%;border:1px solid #cfc6b5;border-radius:6px;padding:2px 6px;background:#f7f4ea;color:#405047;font-size:.72rem;font-style:normal;font-weight:900;line-height:1.35}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:10px}.evidence-grid div{border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5}.evidence-grid span{display:block;margin-bottom:4px;color:#6a756d;font-size:.68rem;font-weight:900;text-transform:uppercase}.evidence-grid strong{display:block;color:#21372d;font-size:.88rem}.evidence-grid small{display:block;margin-top:6px;color:#647066;font-size:.76rem;font-weight:800;line-height:1.35}.reaction-list div{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5}.reaction-list span{font-weight:900;color:#bf7a2d}.reaction-list small{color:#66736b;font-weight:800}.diagram,.empty-diagram{width:100%;height:96px;margin-top:10px;border:1px solid #d2c9b6;border-radius:8px;background:#fffdf5}.diagram line{stroke:#c7c0af;stroke-width:1}.diagram path{fill:none;stroke:#1f63a2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ad-slot{display:grid;place-items:center;min-height:112px;margin-top:18px;border:1px dashed #a99e87;border-radius:8px;background:#ede8d8}.connection-stage{min-height:calc(100vh - 72px)}.connection-summary{display:grid;gap:8px;margin-top:10px}.takeoff-list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.takeoff-list>div{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:5px;min-width:0;border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5}.takeoff-list>div>span{min-width:0;color:#33483c;font-weight:800}.takeoff-list>div>strong{min-width:0;color:#1f2a24;font-size:.9rem}.takeoff-list>div>small,.takeoff-list>div>span small{display:block;min-width:0;color:#66736b;font-size:.76rem;font-weight:800;line-height:1.3}.calculation-card>strong{display:flex;align-items:center;justify-content:space-between;gap:8px}.calculation-card>strong>span{min-width:0}.calculation-card>strong>em{flex:0 0 auto;border-radius:999px;padding:2px 7px;font-size:.72rem;font-style:normal;font-weight:900}.calculation-card-ok>strong>em{background:#dcebd8;color:#285234}.calculation-card-fail>strong>em{background:#f7d6d1;color:#8a2d23}.slab-section-card{display:grid;gap:8px;margin-top:10px}.section-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-meta strong{color:#1f2a24}.section-meta span{color:#66736b;font-size:.78rem;font-weight:800;text-transform:uppercase}.section-svg{display:block;width:100%;min-height:180px;border:1px solid #d2c9b6;border-radius:8px;background:#fffdf5}.section-svg text{fill:#66736b;font-size:14px;font-weight:800}.section-segment{stroke:#666a63;stroke-width:1}.section-strengthening{stroke:#556879}.section-grade{stroke:#756f61;stroke-width:2}.section-depth-line{stroke:#d4c9b5;stroke-dasharray:5 5}.section-rebar{stroke:#4d6471;stroke-width:5;stroke-linecap:round}.section-rebar-dot{fill:#4d6471;stroke:#20323d;stroke-width:1.5}.section-rebar-top{fill:#1f63a2;stroke:#1f63a2}.section-load,.section-load-point{fill:#c83f31;stroke:#c83f31;stroke-width:4;stroke-linecap:round}.connection-summary div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5}.connection-summary span{color:#66736b;font-weight:800}.connection-summary strong{color:#1f2a24}.roof-structure-stage{background:linear-gradient(90deg,rgba(38,77,60,.07) 1px,transparent 1px),linear-gradient(rgba(38,77,60,.07) 1px,transparent 1px),#ebe7dc;background-size:28px 28px}.roof-structure-viewport{background:#f2f0e8}.roof-structure-context-popup{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.roof-structure-context-popup .panel-block{margin-top:0;border-top:0;padding-top:0}.roof-structure-context-popup .panel-block+.panel-block,.roof-structure-context-popup .panel-block+.roof-structure-context-actions{margin-top:10px}.roof-structure-context-popup .panel-block-summary{min-height:28px}.roof-structure-context-popup .panel-block-summary h2{font-size:.82rem}.roof-structure-context-popup .panel-block-body{margin-top:8px}.roof-structure-context-popup .field-grid{gap:8px}.roof-structure-context-panel,.roof-structure-context-actions{display:grid;gap:10px}.roof-structure-context-actions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.roof-structure-context-actions button{justify-content:center;min-width:0}.tak-workspace-controls{display:grid;gap:14px}.roof-structure-view-switch{position:absolute;top:18px;right:18px;z-index:4;display:inline-flex;overflow:hidden;border:1px solid rgba(38,77,60,.28);border-radius:8px;background:#fffdf5e6;box-shadow:0 12px 30px #1f2a2424}.roof-structure-view-switch button{min-width:78px;min-height:36px;border:0;border-right:1px solid rgba(38,77,60,.18);background:transparent;color:#264d3c;font:inherit;font-size:.78rem;font-weight:900;letter-spacing:0;cursor:pointer}.roof-structure-view-switch button:last-child{border-right:0}.roof-structure-view-switch button.active{background:#264d3c;color:#fffdf5}.tak-initial-chooser-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:24px;background:#1f2a2429;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tak-initial-chooser{display:grid;gap:14px;width:min(520px,100%);padding:18px;border:1px solid rgba(38,77,60,.24);border-radius:8px;background:#fffdf5f5;box-shadow:0 22px 52px #1f2a2438}.tak-initial-chooser h2{margin:0;color:#263a32;font-size:1.25rem;letter-spacing:0}.tak-initial-chooser-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tak-initial-chooser-options button{min-width:0;min-height:44px;border:1px solid rgba(38,77,60,.24);border-radius:8px;padding:.55rem .65rem;background:#fffdf5;color:#30443b;font:inherit;font-size:.86rem;font-weight:900;letter-spacing:0;cursor:pointer}.tak-initial-chooser-options button.active{background:#264d3c;color:#fffdf5}@media(max-width:720px){.tak-initial-chooser{align-self:flex-end}.tak-initial-chooser-options{grid-template-columns:1fr}}.roof-structure-built-up{display:grid;gap:10px;margin-top:12px}.roof-structure-summary{margin-top:14px}.roof-structure-summary-list{grid-template-columns:1fr}.roof-structure-summary-list .summary-row,.takeoff-list .result-row-warn{min-width:0}.roof-structure-summary-list .summary-row-warn,.takeoff-list .result-row-warn{border-color:#c83f31;background:#fff2ee}.roof-structure-engineering-inspection{border-top-color:#c7beab}.roof-structure-engineering-inspection>summary{display:flex;align-items:center;min-height:36px;color:#33483c;font-size:.82rem;font-weight:900;cursor:pointer}.roof-structure-engineering-inspection>summary::marker{color:#66736b}.roof-structure-engineering-inspection .panel-block:first-child{margin-top:0}.roof-structure-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.roof-structure-subsection-heading strong{color:#1f2a24;font-size:.86rem}.roof-structure-field-note{color:#5f6b63;font-size:.78rem;line-height:1.35;margin:4px 0 8px}.roof-structure-tail-depth-control{display:grid;gap:6px;min-width:0}.roof-structure-tail-depth-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}.roof-structure-tail-depth-presets button{min-height:30px;border:1px solid #bdb39c;border-radius:8px;color:#405249;background:#fffdf5;font-size:.75rem;font-weight:900;cursor:pointer}.roof-structure-tail-depth-presets button:hover{border-color:#7a8c68;background:#eef3e7}.roof-structure-tail-depth-presets button.active{border-color:#264d3c;color:#fffdf5;background:#264d3c}.roof-structure-schematic{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:62px 28px 118px;background:linear-gradient(90deg,rgba(38,77,60,.055) 1px,transparent 1px),linear-gradient(rgba(38,77,60,.055) 1px,transparent 1px),#eee9dc;background-size:28px 28px}.roof-structure-schematic-svg{width:min(100%,1040px);height:min(100%,620px);min-height:340px;filter:drop-shadow(0 20px 38px rgba(31,42,36,.16))}.schematic-sheet{fill:#fffdf5;stroke:#cfc7b6;stroke-width:1.5}.schematic-grid line{stroke:#264d3c1a;stroke-width:1}.schematic-openings polygon{fill:#1f63a224;stroke:#1f63a2;stroke-width:2.2;vector-effect:non-scaling-stroke}.schematic-supports line{stroke:#264d3c;stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke}.schematic-supports rect{fill:#264d3c}.schematic-member line{stroke:#b98246;stroke-width:6;stroke-linecap:round;vector-effect:non-scaling-stroke}.schematic-member.role-RidgeBeam line{stroke:#263d31;stroke-width:8}.schematic-member.role-CollarTie line,.schematic-point-member.role-CollarTie circle{stroke:#6b532e;fill:#8f6f3f}.schematic-member.role-Header line,.schematic-member.role-TrimmerRafter line,.schematic-member.role-SideRafter line,.schematic-member.role-OpeningSplitRafter line{stroke:#d0a161}.schematic-point-member circle{fill:#263d31;stroke:#fffdf5;stroke-width:2.5;vector-effect:non-scaling-stroke}.schematic-dimensions line{stroke:#66736b;stroke-width:1.4;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.schematic-dimensions circle{fill:#66736b}.roof-structure-schematic text{fill:#253b31;font-size:13px;font-weight:900;letter-spacing:0}.roof-structure-schematic .schematic-title{font-size:22px}.roof-structure-schematic .schematic-subtitle,.roof-structure-schematic .schematic-note{fill:#66736b;font-size:12px}.roof-structure-plan{position:absolute;top:28px;right:28px;bottom:28px;left:28px;width:calc(100% - 56px);height:calc(100% - 56px);filter:drop-shadow(0 22px 44px rgba(31,42,36,.16))}.roof-structure-ridge{stroke:#263d31;stroke-width:10;stroke-linecap:round}.roof-structure-rafter{stroke:#b98246;stroke-width:4;stroke-linecap:round}.roof-structure-support{fill:#264d3c;stroke:#fffdf5;stroke-width:3}.roof-structure-connection{fill:#1f63a2;stroke:#fffdf5;stroke-width:2}.roof-structure-opening{fill:#1f63a238;stroke:#1f63a2;stroke-width:3;vector-effect:non-scaling-stroke}.roof-structure-plan text{fill:#253b31;font-size:18px;font-weight:900;letter-spacing:0}.workspace-drawing{--workspace-control-column: minmax(280px, 340px);--workspace-stage-column: minmax(420px, 1fr);--workspace-result-column: minmax(260px, 320px)}.drawing-control-panel textarea{min-height:78px;resize:vertical}.file-field{display:grid;gap:8px;color:#536158;font-size:.78rem;font-weight:800;text-transform:uppercase}.file-field input{border:1px dashed #9aa89e;border-radius:8px;padding:10px;background:#fbfaf4;color:#1f2a24;text-transform:none}.project-document-note{display:block;color:#66736b;font-size:.76rem;font-weight:750;line-height:1.35}.drawing-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.drawing-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.drawing-actions button.active,.drawing-assign-proposal{border-color:#264d3c;color:#fffdf5;background:#2f6b51}.drawing-assigned-proposals{display:flex;flex-wrap:wrap;gap:6px}.drawing-assigned-proposals span{border:1px solid #b9b29f;border-radius:999px;padding:4px 8px;color:#264d3c;background:#fffdf5;font-size:.72rem;font-weight:900}.drawing-assignment-feedback{margin:0;font-size:.78rem;font-weight:850;line-height:1.35}.drawing-assignment-feedback.success{color:#227a4e}.drawing-assignment-feedback.error{color:#9b2f28}.drawing-placement-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px}.drawing-placement-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #bdb39c;border-radius:8px;color:#253b31;background:#fffdf5;box-shadow:0 1px #1f2a2424;font-weight:900;cursor:pointer}.drawing-placement-actions .drawing-add-point{border-color:#264d3c;color:#fffdf5;background:#2f6b51}.drawing-placement-actions button.active{border-color:#af6e21;background:#fff4df}.hint-text,.error-text{margin:0;color:#66736b;font-size:.84rem;line-height:1.4}.error-text{color:#9b2f28;font-weight:800}.drawing-stage{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(44,60,48,.06) 1px,transparent 1px),linear-gradient(rgba(44,60,48,.06) 1px,transparent 1px),#f7f5ed;background-size:32px 32px;cursor:default}.drawing-stage.placing{cursor:crosshair}.drawing-viewport{position:absolute;top:24px;right:24px;bottom:24px;left:24px;overflow:auto;scrollbar-gutter:stable}.drawing-zoom-surface{position:relative;min-width:120px;min-height:120px}.drawing-reference{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:1px solid #cfc7b6;border-radius:8px;background:#fffdf8;object-fit:contain}.drawing-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed #a6b0a8;border-radius:8px;background:#fffdf8c7;color:#536158;text-align:center;padding:28px}.drawing-placeholder strong{color:#1f2a24;font-size:1.05rem}.drawing-placeholder span{max-width:420px;line-height:1.45}.drawing-render-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed #a6b0a8;border-radius:8px;background:#fffdf8d1;color:#536158;text-align:center;padding:28px}.drawing-render-status strong{color:#1f2a24}.drawing-render-status span{max-width:380px;line-height:1.4}.drawing-render-status code{max-width:min(420px,100%);overflow-wrap:anywhere;color:#7c2d24;font-size:.72rem}.drawing-annotation-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.drawing-annotation-layer.placing,.drawing-annotation-layer.dragging{pointer-events:auto}.drawing-marker-lines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.drawing-marker-lines line{stroke:#29483a;stroke-width:1.4;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.drawing-marker-lines line.active{stroke:#af6e21;stroke-width:1.8}.drawing-pin{position:absolute;z-index:3;width:14px;height:14px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;pointer-events:auto;cursor:grab}.drawing-pin:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #29483a;border-radius:50%;background:#fffdf8;box-shadow:0 2px 7px #222e2633}.drawing-pin:after{content:none}.drawing-pin.active{z-index:5}.drawing-pin.locked{cursor:default}.drawing-pin.active:before{border-color:#af6e21;box-shadow:0 0 0 4px #af6e212e,0 2px 7px #222e2633}.drawing-marker-label{position:absolute;z-index:4;min-width:42px;max-width:min(220px,30vw);transform:translateY(-50%);border:0;padding:0;color:#1f2a24;background:transparent;text-shadow:0 1px 0 #fffdf8,1px 0 0 #fffdf8,0 -1px 0 #fffdf8,-1px 0 0 #fffdf8;font-size:.76rem;font-weight:800;line-height:1.18;overflow-wrap:anywhere;pointer-events:auto;cursor:grab;text-align:left}.drawing-marker-label.label-left{transform:translate(-100%,-50%);text-align:right}.drawing-marker-label.active{z-index:6;color:#7a4c18;text-shadow:0 1px 0 #fff7e8,1px 0 0 #fff7e8,0 -1px 0 #fff7e8,-1px 0 0 #fff7e8}.drawing-marker-label.locked{cursor:default}.drawing-pin.state-ready:before,.drawing-marker-label.state-ready{border-color:#227a4e}.drawing-pin.state-error:before,.drawing-marker-label.state-error{border-color:#a83a32}.drawing-page-toolbar{position:absolute;top:36px;left:50%;z-index:4;display:inline-grid;grid-template-columns:34px 34px;gap:8px;align-items:center;transform:translate(-50%);border:1px solid #d2c9b6;border-radius:8px;padding:6px 8px;background:#fffdf8f0;box-shadow:0 10px 24px #222e2624}.drawing-zoom-toolbar{position:absolute;top:36px;right:36px;z-index:4;display:inline-grid;grid-template-columns:34px minmax(50px,auto) 34px;gap:8px;align-items:center;border:1px solid #d2c9b6;border-radius:8px;padding:6px 8px;background:#fffdf8f0;box-shadow:0 10px 24px #222e2624}.drawing-zoom-toolbar span{color:#314039;font-size:.78rem;font-weight:900;text-align:center}.drawing-overlay{max-width:min(620px,calc(100% - 48px))}.drawing-result-panel .check-list{display:grid;gap:8px}.drawing-result-panel .check-item{width:100%;text-align:left}.drawing-result-panel .drawing-point-status.linked{border-color:#8fa077;background:#eef4e8}.drawing-result-panel .drawing-point-status.linked strong{color:#264d3c}.drawing-result-panel .drawing-point-status.missing{border-color:#cf7b70;background:#fff1ee}.drawing-result-panel .drawing-point-status.missing strong{color:#9e2c22}.drawing-comparison-table{display:grid;gap:6px}.comparison-head,.comparison-row{display:grid;grid-template-columns:minmax(90px,1.2fr) .9fr .8fr .9fr .7fr;gap:8px;align-items:center}.comparison-head{color:#66736b;font-size:.72rem;font-weight:900;text-transform:uppercase}.comparison-row{border:1px solid #d2c9b6;border-radius:8px;padding:9px 10px;background:#fffdf5;color:#314039;font-size:.82rem}.comparison-row strong{color:#1f2a24}.comparison-row.state-error{border-color:#d6aaa4;background:#fff6f4}.workspace-site-plan{--workspace-control-column: minmax(280px, 340px);--workspace-stage-column: minmax(480px, 1fr);--workspace-result-column: minmax(260px, 320px)}.site-plan-control-panel .field-grid label:first-child{grid-column:auto}.site-plan-document-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.site-plan-document-actions button,.site-plan-state-import{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid #b9b29f;border-radius:8px;color:#314039;background:#fffdf5;font-size:.86rem;font-weight:900;text-transform:none;cursor:pointer}.site-plan-document-actions button:disabled,.site-plan-state-import.disabled{opacity:.48;cursor:not-allowed}.site-plan-state-import input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.site-plan-draw-scale,.site-plan-reference-toggle,.site-plan-side-toggle{min-height:40px;border:1px solid #b9b29f;border-radius:8px;color:#314039;background:#fffdf5;font-weight:900;cursor:pointer}.site-plan-draw-scale.active,.site-plan-reference-toggle.active{border-color:#264d3c;color:#fffdf5;background:#264d3c}.site-plan-field-note{margin:8px 0 12px;color:#607067;font-size:.82rem;font-weight:700;line-height:1.35}.site-plan-group-subsection{margin:2px 0 8px;border-bottom:1px solid rgba(185,178,159,.55);padding-bottom:6px}.site-plan-group-subsection h3{margin:0;color:#263b31;font-size:.82rem;font-weight:950}.site-plan-draw-scale:disabled,.site-plan-reference-toggle:disabled,.site-plan-side-toggle:disabled{opacity:.48;cursor:not-allowed}.site-plan-draw-scale,.site-plan-reference-toggle,.site-plan-side-toggle{width:100%;margin-top:8px}.site-plan-reference-toggle{display:grid;justify-items:center;gap:2px}.site-plan-reference-toggle small,.site-plan-side-toggle small{color:inherit;font-size:.72rem;font-weight:800;opacity:.76}.site-plan-side-toggle{display:grid;justify-items:center;gap:2px}.site-plan-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.site-plan-tool-grid button{min-height:38px;border:1px solid #b9b29f;border-radius:8px;color:#314039;background:#fffdf5;font-weight:900;cursor:pointer}.site-plan-tool-grid button.active{border-color:#264d3c;color:#fffdf5;background:#264d3c}.site-plan-entity-list{display:grid;gap:8px}.site-plan-entity-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;border:1px solid #d8d0bc;border-radius:8px;padding:8px;background:#fffdf5}.site-plan-entity-card.active{border-color:#264d3c;box-shadow:inset 4px 0 #264d3c}.site-plan-entity-card.guide-line.active{border-color:#1f63a2;box-shadow:inset 4px 0 #1f63a2}.site-plan-entity-card.polygon.active{border-color:#7b5c25;box-shadow:inset 4px 0 #7b5c25}.site-plan-entity-select{display:grid;gap:2px;min-width:0;border:0;padding:0;color:#25352e;background:transparent;text-align:left;cursor:pointer}.site-plan-entity-select strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.site-plan-entity-select small{color:#607067;font-size:.72rem;font-weight:800}.site-plan-entity-actions{display:grid;grid-template-columns:repeat(3,minmax(54px,auto));gap:6px}.site-plan-entity-actions button{border:1px solid #b9b29f;border-radius:7px;padding:0 9px;color:#314039;background:#f7f3e8;font-size:.76rem;font-weight:900;cursor:pointer}.site-plan-entity-actions button.active{border-color:#264d3c;color:#fffdf5;background:#264d3c}.site-plan-entity-actions button.danger{border-color:#b88b83;color:#7b2d25;background:#fff8f4}.site-plan-entity-actions button.danger:hover:not(:disabled),.site-plan-entity-actions button.danger:focus-visible{border-color:#9d3528;color:#fffdf5;background:#9d3528}.site-plan-entity-actions button:disabled{opacity:.52;cursor:not-allowed}.site-plan-polygon-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.site-plan-polygon-actions button{min-height:36px;border:1px solid #b9b29f;border-radius:8px;color:#314039;background:#fffdf5;font-weight:900;cursor:pointer}.site-plan-polygon-actions button.active{border-color:#7b5c25;color:#fffdf5;background:#7b5c25}.site-plan-polygon-actions button:disabled{opacity:.52;cursor:not-allowed}.site-plan-add-actions,.site-plan-boundary-list{display:grid;gap:6px}.site-plan-add-actions{grid-template-columns:1fr 1fr;margin-top:8px}.site-plan-add-actions button,.site-plan-add-boundary,.site-plan-boundary-list button{border:1px solid #b9b29f;border-radius:7px;padding:8px 10px;color:#314039;background:#fffdf5;font-size:.78rem;font-weight:900;cursor:pointer}.site-plan-add-actions button:disabled,.site-plan-add-boundary:disabled{opacity:.52;cursor:not-allowed}.site-plan-boundary-list button{display:grid;gap:2px;text-align:left}.site-plan-boundary-list button.active{border-color:#264d3c;box-shadow:inset 4px 0 #264d3c}.site-plan-boundary-list small{color:#607067;font-size:.72rem;font-weight:800}.site-plan-add-boundary{width:100%;margin:8px 0}.site-plan-stage{overflow:hidden;background:linear-gradient(90deg,rgba(38,77,60,.07) 1px,transparent 1px),linear-gradient(rgba(38,77,60,.07) 1px,transparent 1px),#ebe7dc;background-size:28px 28px}.site-plan-sheet{position:absolute;top:24px;right:24px;bottom:24px;left:24px;overflow:scroll;scrollbar-gutter:stable both-edges;border:1px solid #aeb4aa;border-radius:8px;padding:26px;background:#fffdf8;cursor:default;box-shadow:0 22px 48px #1f2a242e}.site-plan-page-frame{position:relative;margin:0 auto;max-width:none;min-width:360px;background:#fff;box-shadow:0 14px 36px #1f2a242e}.site-plan-document,.site-plan-placeholder,.site-plan-hit-layer,.site-plan-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.site-plan-document{border:0;object-fit:contain;pointer-events:auto;z-index:1}.site-plan-pdf-canvas{display:block;object-fit:fill}.site-plan-sheet.is-placement-active .site-plan-document{pointer-events:none}.site-plan-placeholder{display:grid;place-items:center;align-content:center;gap:10px;padding:30px;color:#536158;text-align:center;background:linear-gradient(45deg,rgba(38,77,60,.05) 25%,transparent 25%),linear-gradient(-45deg,rgba(38,77,60,.05) 25%,transparent 25%),#fbfaf4;background-size:18px 18px;z-index:1}.site-plan-placeholder strong{color:#1f2a24;font-size:1.05rem}.site-plan-placeholder span{max-width:440px;line-height:1.45}.site-plan-render-status{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;align-content:center;gap:8px;padding:30px;color:#536158;text-align:center;background:#fbfaf4eb}.site-plan-render-status strong{color:#1f2a24;font-size:.95rem}.site-plan-render-status span{max-width:320px;font-size:.82rem;line-height:1.4}.site-plan-render-status code{max-width:min(520px,84%);padding:6px 8px;overflow-wrap:anywhere;border:1px solid rgba(83,97,88,.22);border-radius:6px;color:#425048;background:#fffdf5db;font-size:.72rem;line-height:1.35}.site-plan-overlay{pointer-events:none;z-index:3}.site-plan-hit-layer{z-index:4;pointer-events:none}.site-plan-hit-layer.is-active{cursor:crosshair;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.site-plan-hit-layer.is-drag-hover{cursor:grab}.site-plan-hit-layer.is-dragging{cursor:grabbing;touch-action:none;-webkit-user-select:none;user-select:none}.site-plan-line,.site-plan-footprint-mask,.site-plan-footprint,.site-plan-polygon-fill,.site-plan-polygon-line,.site-plan-label-line,.site-plan-polygon-label-line,.site-plan-polygon-point{vector-effect:non-scaling-stroke}.site-plan-line{stroke-linecap:round;stroke-width:1.2;fill:none}.site-plan-line-calibration{stroke:#1f63a2;stroke-dasharray:13 9}.site-plan-line-reference{stroke:#bf7a2d;stroke-width:1.2}.site-plan-line-guide-reference{stroke:#1f63a2;stroke-dasharray:9 8;stroke-width:.9;opacity:.58}.site-plan-line-guide-offset{stroke:#1f63a2;stroke-width:1.1}.site-plan-line-guide-distance{stroke:#1f63a2;stroke-dasharray:4 6;stroke-width:1.2;opacity:.78}.site-plan-entity:not(.active){opacity:.62}.site-plan-entity.locked .site-plan-footprint{stroke-dasharray:10 7}.site-plan-entity.dragging .site-plan-footprint{stroke:#1f63a2;stroke-width:1.8}.site-plan-line-boundary{stroke:#264d3c;stroke-width:1;stroke-dasharray:3 9}.site-plan-polygon-fill{stroke:#7b5c25;stroke-width:1.1}.site-plan-polygon-line{fill:none;stroke:#7b5c25;stroke-width:1.1}.site-plan-polygon-point{fill:#fffdf5;stroke:#7b5c25;stroke-width:1.2}.site-plan-polygon-point.close-target{fill:#7b5c25;stroke:#fffdf5}.site-plan-label-line,.site-plan-polygon-label-line{stroke:#1d2520;stroke-width:.7;stroke-linecap:round}.site-plan-polygon-label,.site-plan-rectangle-label,.site-plan-dimension-label,.site-plan-guide-label{paint-order:stroke;stroke:#fffffff5;stroke-width:3px;fill:#111915;font-size:11px;font-weight:400;letter-spacing:0;text-anchor:middle;dominant-baseline:central;vector-effect:non-scaling-stroke}.site-plan-entity.locked .site-plan-polygon-fill,.site-plan-entity.locked .site-plan-polygon-line{stroke-dasharray:9 6}.site-plan-footprint-mask{fill:#fff;stroke:none}.site-plan-footprint{fill:#fff;stroke:#1d2520;stroke-width:1.2}.site-plan-footprint-cross{stroke:#1d2520;stroke-width:.9;vector-effect:non-scaling-stroke}.site-plan-move-handle{vector-effect:non-scaling-stroke}.site-plan-move-hit-target{fill:transparent;stroke:transparent;vector-effect:non-scaling-stroke}.site-plan-move-glyph-outline,.site-plan-move-glyph{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.site-plan-move-glyph-outline{stroke:#fffffff5;stroke-width:4.2}.site-plan-move-glyph{stroke:#111915;stroke-width:1.55}.site-plan-pending-point{fill:#bf7a2d;stroke:#fffdf5;stroke-width:1.3;vector-effect:non-scaling-stroke}.site-plan-measurement-line{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.site-plan-measurement-preview .site-plan-measurement-line{opacity:.72;stroke-dasharray:7 6}.site-plan-measurement-result .site-plan-measurement-line{opacity:.95}.site-plan-measurement-distance{stroke:#9d3528;stroke-width:1.35}.site-plan-measurement-origin,.site-plan-measurement-offset{stroke:#9d3528;stroke-width:1.15}.site-plan-measurement-reference{stroke:#264d3c;stroke-width:1.1;stroke-dasharray:11 7}.site-plan-measurement-label{paint-order:stroke;stroke:#fffffffa;stroke-width:4px;fill:#8b2f24;font-size:11px;font-weight:900;letter-spacing:0;text-anchor:middle;dominant-baseline:central;vector-effect:non-scaling-stroke}.site-plan-overlay-readout{bottom:28px}.site-plan-zoom-controls{position:sticky;top:14px;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:8px;width:max-content;height:0;margin:0 0 0 auto;pointer-events:auto}.site-plan-zoom-controls button{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(73,83,73,.26);border-radius:8px;color:#24352d;background:#fffdf5e6;cursor:pointer;box-shadow:0 10px 24px #1f2a241f}.site-plan-zoom-field{display:flex;align-items:center;justify-content:center;gap:2px;min-width:66px;border:1px solid rgba(73,83,73,.26);border-radius:8px;padding:0 8px;height:34px;color:#24352d;background:#fffdf5e6;font-size:.84rem;font-weight:800;text-align:center;box-shadow:0 10px 24px #1f2a241f}.site-plan-zoom-field input{width:40px;border:0;padding:0;color:inherit;background:transparent;font:inherit;text-align:right;outline:none}.site-plan-zoom-field input::-webkit-outer-spin-button,.site-plan-zoom-field input::-webkit-inner-spin-button{margin:0}:root{--palette-jet: #2d3142;--palette-silver: #bfc0c0;--palette-white: #ffffff;--palette-coral: #ef8354;--palette-slate: #4f5d75;--color-page: #f4f5f6;--color-page-grid: rgba(79, 93, 117, .11);--color-shell: rgba(255, 255, 255, .92);--color-panel: rgba(255, 255, 255, .96);--color-card: #ffffff;--color-card-muted: #f1f2f3;--color-stage: #f5f6f7;--color-stage-grid: rgba(79, 93, 117, .13);--color-text: #2d3142;--color-muted: #4f5d75;--color-border: #bfc0c0;--color-border-soft: rgba(191, 192, 192, .62);--color-primary: #2d3142;--color-primary-hover: #202536;--color-primary-contrast: #ffffff;--color-accent: #ef8354;--color-accent-hover: #dc7348;--color-accent-soft: rgba(239, 131, 84, .14);--color-accent-contrast: #ffffff;--color-danger: #ef8354;--color-success: #4f5d75;--focus-ring: rgba(239, 131, 84, .34);--shadow-soft: 0 12px 30px rgba(45, 49, 66, .14);--shadow-elevated: 0 20px 48px rgba(45, 49, 66, .18);--stage-grid-background: linear-gradient(90deg, var(--color-stage-grid) 1px, transparent 1px), linear-gradient(var(--color-stage-grid) 1px, transparent 1px), var(--color-stage)}:root:not([data-theme-scheme])[data-color-mode=dark],:root[data-theme-scheme=slate-coral][data-color-mode=dark]{--color-page: #202435;--color-page-grid: rgba(191, 192, 192, .08);--color-shell: rgba(45, 49, 66, .94);--color-panel: rgba(45, 49, 66, .96);--color-card: #364058;--color-card-muted: #30384d;--color-stage: #252b3d;--color-stage-grid: rgba(191, 192, 192, .1);--color-text: #ffffff;--color-muted: #bfc0c0;--color-border: #4f5d75;--color-border-soft: rgba(79, 93, 117, .68);--color-primary: #ffffff;--color-primary-hover: #e8e9eb;--color-primary-contrast: #2d3142;--color-accent-soft: rgba(239, 131, 84, .18);--color-success: #bfc0c0;--focus-ring: rgba(239, 131, 84, .42);--shadow-soft: 0 12px 30px rgba(0, 0, 0, .24);--shadow-elevated: 0 20px 54px rgba(0, 0, 0, .3)}:root[data-theme-scheme=ash-cerulean]{--palette-charcoal: #50514f;--palette-ash: #cbd4c2;--palette-snow: #fffcff;--palette-cerulean: #247ba0;--palette-khaki: #c3b299;--color-page: #eff3ec;--color-page-grid: rgba(80, 81, 79, .1);--color-shell: rgba(255, 252, 255, .92);--color-panel: rgba(255, 252, 255, .96);--color-card: #fffcff;--color-card-muted: #edf2e8;--color-stage: #f3f6f0;--color-stage-grid: rgba(36, 123, 160, .13);--color-text: #50514f;--color-muted: #50514f;--color-border: #cbd4c2;--color-border-soft: rgba(195, 178, 153, .62);--color-primary: #50514f;--color-primary-hover: #414240;--color-primary-contrast: #fffcff;--color-accent: #247ba0;--color-accent-hover: #1d6d8f;--color-accent-soft: rgba(36, 123, 160, .14);--color-accent-contrast: #fffcff;--color-danger: #247ba0;--color-success: #247ba0;--focus-ring: rgba(36, 123, 160, .34);--shadow-soft: 0 12px 30px rgba(80, 81, 79, .14);--shadow-elevated: 0 20px 48px rgba(80, 81, 79, .18)}:root[data-theme-scheme=ash-cerulean][data-color-mode=dark]{--color-page: #383b38;--color-page-grid: rgba(203, 212, 194, .09);--color-shell: rgba(80, 81, 79, .94);--color-panel: rgba(80, 81, 79, .96);--color-card: #444845;--color-card-muted: #3d433f;--color-stage: #3f4441;--color-stage-grid: rgba(195, 178, 153, .12);--color-text: #fffcff;--color-muted: #cbd4c2;--color-border: #c3b299;--color-border-soft: rgba(195, 178, 153, .64);--color-primary: #fffcff;--color-primary-hover: #e9eee4;--color-primary-contrast: #50514f;--color-accent-soft: rgba(36, 123, 160, .28);--color-success: #cbd4c2;--focus-ring: rgba(36, 123, 160, .46);--shadow-soft: 0 12px 30px rgba(0, 0, 0, .24);--shadow-elevated: 0 20px 54px rgba(0, 0, 0, .3)}body,.app-shell{color:var(--color-text);background:linear-gradient(90deg,var(--color-page-grid) 1px,transparent 1px),linear-gradient(var(--color-page-grid) 1px,transparent 1px),var(--color-page);background-size:34px 34px}.topbar,.workspace-mobile-nav{border-color:var(--color-border);background:var(--color-shell)}.brand-mark svg,.account-card svg,.professional-heading svg,.run-state svg,.topbar-legal svg,.topbar-theme svg{color:var(--color-accent)}.brand-mark h1,.account-card strong,.admin-console,.admin-console-header h2,.admin-auth-state h2,.admin-section-heading h3,.admin-theme-option-copy strong,.panel-heading h2,.group-heading h2,.panel-block-summary h2,.workspace-category h3,.workspace-category h4,.metric strong,.takeoff-list>div>strong,.check-item span,.check-item strong,.result-indicator strong,.stage-overlay strong{color:var(--color-text)}.brand-mark span,.account-card span,.account-message,.admin-console-header p,.admin-console-header span,.admin-section-heading p,.admin-theme-option-copy small,.admin-appearance-footer,.panel-heading p,.field-shell,.number-field,label,.field-shell>small,.field-label small,.number-field em,.workspace-category-meta,.takeoff-list>div>small,.takeoff-list>div>span small,.result-indicator small,.stage-overlay span,.stage-overlay small,.status-box small{color:var(--color-muted)}.workspace-switcher,.account-card,.admin-console-header,.admin-auth-state,.admin-mfa-qr,.admin-mfa-secret,.admin-users-panel,.admin-editor,.admin-appearance,.admin-theme-option,.admin-audit,.run-state,.topbar-menu-toggle,.topbar-install,.topbar-legal,.topbar-theme,.icon-button,.row-action,.workspace-project-save,.unit-toggle>div,.view-toggle,.connection-mode,.stage-view-switch,.result-panel-toggle,.result-panel-rail,.report-button,.site-plan-document-actions button,.site-plan-state-import,.site-plan-draw-scale,.site-plan-reference-toggle,.site-plan-side-toggle,.site-plan-tool-grid button,.drawing-placement-actions button,.ventilation-part-grid button,.ventilation-rotate-row button,.energy-body-strip button,.energy-row-card,.slab-row-card,.beam-load-card,.takeoff-list>div,.check-item,.result-indicator,.evidence-grid div,.reaction-list div,.diagram,.empty-diagram{border-color:var(--color-border);color:var(--color-text);background:var(--color-card)}.control-panel,.result-panel,.result-panel-rail{border-color:var(--color-border);background:var(--color-panel)}.model-stage,.roof-structure-stage,.roof-stage,.floor-stage,.connection-stage,.ventilation-stage,.energy-stage,.slab-stage,.drawing-stage,.site-plan-stage{background:var(--stage-grid-background);background-size:28px 28px}.run-state.state-error,.state-error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-accent-soft)}.roof-structure-viewport,.beam-viewport,.ventilation-viewport-wrap,.drawing-viewport,.site-plan-page-frame,.slab-plan-editor,.slab-solver-map,.stage-overlay div,.ventilation-stage-summary,.ventilation-stage-strip,.drawing-page-toolbar,.drawing-zoom-toolbar{border-color:var(--color-border-soft);background:color-mix(in srgb,var(--color-card) 88%,transparent);box-shadow:var(--shadow-soft)}input,select,textarea{border-color:var(--color-border);color:var(--color-text);background:linear-gradient(180deg,var(--color-card) 0%,var(--color-card-muted) 100%)}select{background:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%) right 14px center / 6px 6px no-repeat,linear-gradient(135deg,var(--color-primary) 50%,transparent 50%) right 8px center / 6px 6px no-repeat,linear-gradient(90deg,transparent calc(100% - 30px),var(--color-border-soft) calc(100% - 30px)),linear-gradient(180deg,var(--color-card) 0%,var(--color-card-muted) 100%)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline-color:var(--focus-ring)}input:disabled,select:disabled,textarea:disabled,button:disabled{opacity:.52}.workspace-switcher button,.unit-toggle button,.connection-mode button,.stage-view-switch button,.slab-solver-mode button,.slab-solver-field-row button{color:var(--color-muted);background:transparent;border-color:var(--color-border-soft)}.workspace-switcher button.active,.unit-toggle button.active,.connection-mode button.active,.stage-view-switch button.active,.slab-solver-mode button.active,.slab-solver-field-row button.active,.site-plan-draw-scale.active,.site-plan-reference-toggle.active,.site-plan-tool-grid button.active,.drawing-placement-actions .drawing-add-point,.ventilation-part-grid button.active,.account-action,.professional-actions button,.professional-upgrade,.report-button,.workspace-project-save .project-primary{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.topbar-install:hover,.topbar-install:focus-visible,.topbar-legal:hover,.topbar-legal:focus-visible,.topbar-theme:hover,.topbar-theme:focus-visible,.icon-button:hover,.row-action:hover,.result-panel-rail:hover,.site-plan-document-actions button:hover,.site-plan-tool-grid button:hover,.ventilation-part-grid button:hover,.ventilation-rotate-row button:hover,.energy-body-strip button:hover,.drawing-placement-actions button:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.admin-theme-option.active{border-color:var(--color-accent);background:var(--color-accent-soft)}.admin-refresh,.admin-mfa-form button,.admin-create-user button,.admin-search button,.admin-appearance-save,.admin-action-strip button{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.admin-refresh:hover,.admin-mfa-form button:hover,.admin-create-user button:hover,.admin-search button:hover,.admin-appearance-save:hover,.admin-action-strip button:hover{border-color:var(--color-accent);background:var(--color-accent)}.admin-action-strip button.danger{border-color:var(--color-danger);background:var(--color-danger)}.admin-section-heading svg{color:var(--color-accent)}.admin-theme-swatches{border-color:var(--color-border)}.admin-message{border-color:var(--color-accent);color:var(--color-text);background:var(--color-accent-soft)}.admin-message.error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-accent-soft)}.topbar-theme{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:8px;padding:8px 12px;font-size:.82rem;font-weight:900;cursor:pointer}.panel-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;border:1px solid var(--color-primary);border-radius:8px;padding:7px 10px;color:var(--color-primary-contrast);background:var(--color-primary);font-size:.82rem;font-weight:900;cursor:pointer}.panel-action-button:hover{border-color:var(--color-accent);background:var(--color-accent)}.status-box,.rule-box,.selected-editor,.project-alert,.profile-summary-row,.profile-summary-empty{border-color:var(--color-border);color:var(--color-text);background:var(--color-card)}.rule-box span,.result-indicator span,.metric span,.context-heading span{color:var(--color-muted)}.rule-box p,.rule-box strong,.status-box p,.context-heading strong{color:var(--color-text)}.status-box svg,.context-heading svg{color:var(--color-accent)}.status-box.state-error,.check-fail,.result-indicator-warn,.result-indicator-error,.takeoff-list .result-row-warn,.takeoff-list .calculation-card-fail,.roof-structure-summary-list .summary-row-warn{border-color:var(--color-danger);background:var(--color-accent-soft)}.check-review,.collar-sizing-advice,.drawing-placement-actions button.active{border-color:var(--color-accent);background:var(--color-accent-soft)}.schematic-sheet,.site-plan-sheet,.drawing-document-frame{fill:var(--color-card);stroke:var(--color-border)}.schematic-member line,.roof-structure-rafter{stroke:var(--color-accent)}.schematic-member.role-RidgeBeam line,.roof-structure-ridge,.roof-structure-support,.schematic-supports line,.schematic-supports rect{stroke:var(--color-primary);fill:var(--color-primary)}.schematic-openings polygon,.roof-structure-opening,.roof-structure-connection{stroke:var(--color-muted);fill:color-mix(in srgb,var(--color-muted) 22%,transparent)}.status-box.state-error{border-color:#d59b93;color:#8f2e26;background:#fff6f4}.status-box small{display:block;margin-top:3px;color:#66736b;font-size:.76rem;font-weight:800}@media(pointer:coarse){.icon-button,.row-action,.help-topic-button,.help-popover-heading button,.result-panel-toggle{min-width:44px;width:44px;min-height:44px;height:44px}.result-panel-toolbar{min-height:44px}}@media(max-width:1180px){.start-free{grid-template-columns:1fr;align-items:stretch}.workspace-switcher{min-width:0;flex-wrap:wrap}.workspace,.workspace.workspace-results-collapsed{grid-template-columns:minmax(260px,320px) 1fr}.project-view-hero,.project-view-grid,.admin-ops-grid{grid-template-columns:1fr}.project-process{grid-template-columns:repeat(2,minmax(0,1fr))}.result-panel,.result-panel-rail{grid-column:1 / -1;border-left:0;border-top:1px solid #cfc7b6}.result-panel-rail{flex-direction:row;min-height:44px}.result-panel-rail span{writing-mode:horizontal-tb;transform:none}}@media(max-width:820px){.start-hero,.start-free{padding:24px 16px}.start-brand{flex-direction:column}.start-actions,.start-actions button,.start-submit{width:100%}.start-disclaimer,.start-legal-strip{grid-template-columns:auto 1fr}.start-legal-strip button{grid-column:1 / -1;width:100%}.start-auth-heading{align-items:stretch;flex-direction:column}.free-workspace{grid-template-columns:38px 1fr;grid-template-areas:"icon title" "icon text"}.free-workspace>svg{display:none}.topbar{height:auto;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;justify-content:stretch;padding:9px 12px;gap:10px}.brand-mark h1,.brand-mark span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-menu-toggle{display:inline-flex}.topbar-menu{grid-column:1 / -1;display:grid;gap:12px;width:100%}.topbar-collapsed .topbar-menu{display:none}.topbar-workspace-controls{display:grid;gap:8px;width:100%}.topbar-workspace-controls .workspace-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.topbar-workspace-controls .workspace-load-unit-toggle{width:min(144px,100%);justify-self:start}.topbar-workspace-controls .workspace-mode-toggle button{min-width:0;min-height:44px;padding:0 .7rem;font-size:.85rem;font-weight:900;line-height:1.05;white-space:normal}.run-state{min-width:0;width:100%}.topbar-install,.topbar-legal,.topbar-theme,.language-selector{width:100%;min-height:44px}.topbar-legal{padding:8px 12px}.topbar-legal span{display:inline}.workspace-switcher{width:100%;min-width:0;flex-wrap:wrap}.project-workspace{padding:14px}.project-process{grid-template-columns:1fr}.project-map-main,.project-map-children button,.project-bucket-list button{grid-template-columns:auto 1fr}.project-map-main small,.project-map-children small,.project-bucket-list small,.project-verification-chip{grid-column:2}.project-create-row,.project-create-actions,.project-actions-panel summary{align-items:stretch;flex-direction:column}.project-create-actions button,.project-actions-panel summary{width:100%}.account-panel,.account-login{width:100%;max-width:none;grid-template-columns:1fr;grid-auto-flow:row;align-items:stretch}.account-card{justify-content:flex-start}.account-upgrade,.account-upgrade .account-action{width:100%}.admin-entitlements{margin:14px}.admin-console{padding:14px}.admin-console-header,.admin-auth-state,.admin-mfa-setup,.admin-mfa-form,.admin-search,.admin-create-user,.admin-form-grid,.admin-module-grid,.admin-audit-row{grid-template-columns:1fr}.admin-console-header{align-items:stretch;flex-direction:column}.admin-refresh,.admin-mfa-form button,.admin-create-user button,.admin-search button,.admin-action-strip button{width:100%}.workspace{display:flex;flex-direction:column}.workspace-with-control-footer{height:auto;min-height:calc(100vh - 72px);overflow:visible;padding-bottom:92px}.workspace-mobile-nav{position:sticky;top:58px;z-index:18;order:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-bottom:1px solid #cfc7b6;padding:8px 12px;background:#efede4f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workspace-mobile-nav button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;border:1px solid #b9b29f;border-radius:8px;color:#264d3c;background:#fffdf5;font-size:.82rem;font-weight:900;cursor:pointer}.workspace-mobile-nav button:focus-visible{outline:3px solid rgba(191,122,45,.28);outline-offset:2px}.workspace-roof-structure{height:auto;min-height:calc(100vh - 72px);overflow:visible}.workspace-roof-structure .control-panel,.workspace-roof-structure .result-panel{height:auto}.workspace-roof-structure .model-stage{height:auto;min-height:420px}.workspace-building{height:auto;min-height:calc(100vh - 72px);overflow:visible}.workspace-building .control-panel,.workspace-building .result-panel{height:auto}.workspace-building .model-stage{height:auto;min-height:420px}.workspace-energy{min-height:calc(100vh - 72px)}.control-panel,.result-panel,.result-panel-rail{border:0;border-top:1px solid #cfc7b6}.model-stage{order:1}.stage-overlay{display:none}.control-panel{order:2}.workspace-control-footer{bottom:max(10px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));justify-content:center}.workspace-control-footer-stack{width:min(220px,calc(100vw - 24px))}.workspace-control-footer .workspace-mode-toggle button{min-height:36px}.result-panel,.result-panel-rail{order:3}.model-stage,.workspace-with-control-footer .model-stage{min-height:420px}.icon-button,.row-action,.help-topic-button,.help-popover-heading button,.result-panel-toggle{min-width:44px;width:44px;min-height:44px;height:44px}.result-panel-toolbar{min-height:44px}.check-row input,.view-toggle input{width:22px;min-height:22px;height:22px}.slab-plan-editor{position:relative;top:auto;left:auto;width:auto;margin:12px}.slab-plan-toolbar,.slab-plan-body{grid-template-columns:1fr}.slab-plan-toolbar{align-items:stretch;flex-direction:column}.slab-solver-map{top:72px;right:12px;left:12px;width:auto}.slab-solver-heading,.slab-solver-readout{grid-template-columns:1fr}.slab-solver-mode{overflow-x:auto}.slab-plan-select-grid,.slab-plan-field-grid,.data-row,.field-grid,.energy-scoreboard,.energy-flow,.energy-layer-row,.energy-scenario,.selected-grid,.connection-grid,.drawing-actions,.comparison-head,.comparison-row,.site-plan-entity-card,.site-plan-entity-actions,.site-plan-tool-grid,.unit-strip,.roof-layer-row,.support-row,.point-row,.metrics,.review-control-row{grid-template-columns:1fr}.row-action{width:100%;min-height:44px}.legal-overlay{justify-content:center}.legal-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px);margin:8px}.legal-dialog-header,.legal-dialog-footer{align-items:stretch;flex-direction:column}.legal-close,.legal-dialog-footer button{width:100%;min-height:44px}.legal-body{padding:16px}}
