@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#172018;background:#e9eee8;font-synthesis:none;--green: #5d8f32;--green-dark: #37661f;--green-soft: #edf5e8;--ink: #172018;--muted: #667069;--line: #c8d2c8;--panel: #fff;--surface: #f5f8f4;--danger: #b63c36;--shadow: 0 14px 34px rgba(34, 52, 34, .12);--glass-panel: rgba(255, 255, 255, .82);--glass-panel-strong: rgba(255, 255, 255, .91);--glass-line: rgba(113, 137, 111, .5);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .94), 0 1px 2px rgba(27, 46, 28, .08), 0 12px 30px rgba(34, 52, 34, .11);--osb-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='210' viewBox='0 0 280 210'%3E%3Cg fill='%236e8069' fill-opacity='.055'%3E%3Cpath d='M18 24l38-12 22 13-31 10z'/%3E%3Cpath d='M112 8l45 9-19 17-42-11z'/%3E%3Cpath d='M210 17l52-5-11 19-47 5z'/%3E%3Cpath d='M62 72l47-17 14 20-50 12z'/%3E%3Cpath d='M163 54l52 13-22 18-47-15z'/%3E%3Cpath d='M238 86l35-15-4 27-39 11z'/%3E%3Cpath d='M13 128l43-20 18 17-38 24z'/%3E%3Cpath d='M100 117l54-12-12 24-47 9z'/%3E%3Cpath d='M184 116l42-16 17 21-48 12z'/%3E%3Cpath d='M47 178l55-20 9 22-49 15z'/%3E%3Cpath d='M144 168l48-18 17 15-45 22z'/%3E%3Cpath d='M230 166l43-10-13 27-38 4z'/%3E%3C/g%3E%3Cg fill='none' stroke='%235d8f32' stroke-opacity='.035' stroke-width='1'%3E%3Cpath d='M3 48l61 13M126 42l72 16M204 143l70-24M5 199l76-24M121 202l79-28'/%3E%3C/g%3E%3C/svg%3E")}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.app{min-height:100vh;color:var(--ink);background-color:#e9eee8;background-image:linear-gradient(#e9eee8ed,#e9eee8ed),var(--eft-watermark);background-attachment:fixed;background-position:0 0,34px 28px;background-repeat:no-repeat,repeat;background-size:auto,290px auto}.app[data-theme=dark]{--ink: #eaf0e8;--muted: #9eaaa0;--line: #344136;--panel: #1b241d;--surface: #121914;--green-soft: #263922;--shadow: 0 12px 34px rgba(0, 0, 0, .24);--glass-panel: rgba(27, 36, 29, .9);--glass-panel-strong: rgba(27, 36, 29, .96);--glass-line: rgba(102, 126, 104, .48);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 12px 34px rgba(0, 0, 0, .24);--osb-texture: none;background-color:var(--surface);background-image:none}.app-header{height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;padding:0 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:295px}.brand img{width:55px;height:42px;object-fit:contain}.brand div{display:flex;flex-direction:column;gap:3px}.brand strong{font-size:14px}.brand span{color:var(--muted);font-size:11px}.brand>.version-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;color:#fff;border-radius:999px;background:var(--green);font-size:10px;font-weight:800;white-space:nowrap}.header-totals{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.header-totals div{min-width:118px;padding:9px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column}.header-totals div:last-child{border:0}.header-totals span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.header-totals strong{font-size:13px;margin-top:3px}.header-totals .grand strong{color:var(--green)}.header-totals .adjusted{background:#eef6e9}.header-totals .adjusted strong{color:#2f6f1c}.header-actions,.screen-actions{display:flex;align-items:center;gap:6px}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;display:inline-grid;place-items:center;color:var(--ink);background:var(--panel)}.icon-button:hover{color:var(--green-dark);border-color:#aac89a;background:var(--green-soft)}.icon-button svg,.button svg{width:17px;height:17px}.icon-button.danger{color:var(--danger);width:32px;height:32px}.mobile-menu,.sidebar-mobile-head,.sidebar-backdrop,.mobile-quick-actions,.mobile-bottom-nav,.sidebar-mobile-project-actions{display:none}.app-layout{display:grid;grid-template-columns:254px minmax(0,1fr) 340px;min-height:calc(100vh - 76px)}.sidebar{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column;overflow:hidden;padding:18px 12px;border-right:1px solid var(--line);background:var(--panel);z-index:25}.sidebar nav{display:flex;flex:1 1 auto;flex-direction:column;gap:3px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-color:color-mix(in srgb,var(--green) 55%,transparent) transparent;scrollbar-width:thin}.team-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eef4ea,#f8faf6 55%,#dfeadb)}.team-login-card{width:min(440px,100%);display:grid;gap:16px;padding:38px;background:#fff;border:1px solid #d6e1d2;border-radius:22px;box-shadow:0 24px 70px #244b3b24;color:#1c2a20}.team-login-card h1{margin:0;font-size:32px}.team-login-card p{margin:0;color:#687668;line-height:1.55}.team-login-card label{display:grid;gap:7px;font-weight:700}.team-login-card input{padding:13px;border:1px solid #bdcbbb;border-radius:9px;font:inherit}.team-login-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#e4efdf;color:#477d2d}.team-login-warning,.team-login-error{padding:12px;border-radius:9px;background:#fff3d6;color:#785517}.team-login-error{background:#fde7e4;color:#8b2f28}.password-input{display:flex;align-items:center;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--input);overflow:hidden}.password-input input{flex:1;min-width:0;border:0!important;background:transparent!important;outline:0}.password-input button{flex:0 0 42px;align-self:stretch;display:grid;place-items:center;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.password-input button:hover{background:var(--soft);color:var(--green)}.password-input button svg{width:18px;height:18px}.team-workspace{max-width:1280px;margin:0 auto}.cloud-status{padding:10px 14px;border-radius:10px;background:#eef3eb;color:#476143;margin-bottom:18px}.cloud-status.saving{background:#fff5d9;color:#765a17}.cloud-status.error{background:#fde7e4;color:#8b2f28}.team-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.team-tabs button{display:flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text)}.team-tabs button.active{border-color:#183f2f;background:#235a3f;color:#fff;box-shadow:0 4px 12px #173e2d33}.team-tabs svg{width:17px}.team-tabs b{padding:2px 7px;border-radius:999px;background:#00000014}.team-panel{padding:22px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.team-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.team-panel-head h2{margin:0 0 4px}.team-panel-head p{margin:0;color:var(--muted)}.team-list{display:grid;gap:8px}.team-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:13px;border:1px solid var(--border);border-radius:10px}.team-list article>div{display:grid;gap:4px;min-width:0}.team-list article span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.team-list article em{font-size:11px;color:var(--muted);font-style:normal}.empty-state{padding:30px;text-align:center;color:var(--muted)}.team-user-form{display:grid;grid-template-columns:1fr 1fr 1fr 150px auto;gap:8px;margin-top:22px}.team-user-form h3{grid-column:1/-1;display:flex;align-items:center;gap:8px}.team-user-form input,.team-user-form select{min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text)}.team-user-form .password-input{min-height:42px}.site-stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.site-stats-grid>div{display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--input)}.site-stats-grid span{color:var(--muted);font-size:13px}.site-stats-grid strong{font-size:clamp(26px,3vw,39px);line-height:1.1;font-weight:700}.site-stats-note{margin:17px 0 24px;color:var(--muted);font-size:13px;line-height:1.6}.site-stats-history h3{margin:0 0 12px;font-size:19px}.site-stats-table-wrap{overflow-x:auto}.site-stats-history table{width:100%;border-collapse:collapse;min-width:350px;font-size:14px}.site-stats-history th,.site-stats-history td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}.site-stats-history th{color:var(--muted);font-weight:600}.site-stats-history th:not(:first-child),.site-stats-history td:not(:first-child){text-align:right}@media(max-width:900px){.site-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.site-stats-grid{gap:8px}.site-stats-grid>div{padding:15px}.site-stats-grid span{font-size:12px}.site-stats-grid strong{font-size:27px}}.intake-indicator{display:flex;align-items:center;gap:8px;width:calc(100% - 20px);margin:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--muted);cursor:pointer;text-align:left}.intake-indicator svg{width:18px}.intake-indicator.has-new{border-color:#db9f2d;background:#fff5d9;color:#694b0f;font-weight:800;box-shadow:0 0 0 3px #f2c96b33}.team-list article.unread{border-left:4px solid #db9f2d;background:#fffaf0}.team-card-meta{display:flex!important;flex-wrap:wrap;gap:6px!important}.team-card-meta span{padding:3px 7px;border-radius:999px;background:var(--soft)}.team-row-actions{display:flex!important;grid-auto-flow:column;gap:7px!important}.button.danger{color:#9d3028;border-color:#d9aaa6}.intake-attachments{display:flex!important;flex-wrap:wrap;gap:8px!important;margin-top:6px}.intake-attachments a{display:grid;gap:3px;width:92px;color:var(--text);font-size:11px;text-decoration:none}.intake-attachments img{width:92px;height:70px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.delete-project-dialog{max-width:460px}.delete-project-dialog label{display:grid;gap:7px;margin:16px 0}.delete-project-dialog input{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text)}.brief-attachments a{padding:5px 9px;border-radius:7px;background:#e4efdd;color:#355a25;text-decoration:none;font-weight:700}.brief-attachments{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0}.mail-screen{max-width:1500px;margin:0 auto}.mail-layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);min-height:650px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel)}.mail-list-panel{border-right:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)}.mail-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:13px;border-bottom:1px solid var(--line)}.mail-search svg{width:17px;color:var(--muted)}.mail-search input{min-width:0;border:0;background:transparent;color:var(--text);outline:0}.mail-search button{border:0;border-radius:7px;padding:7px 10px;background:var(--accent);color:#fff;font-weight:800}.mail-list-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px}.mail-list-head span{display:flex;align-items:center;gap:7px;font-weight:800}.mail-list-head svg{width:17px}.mail-list-head b{color:var(--accent)}.mail-message-list{max-height:590px;overflow:auto}.mail-message-list>button{display:grid;gap:7px;width:100%;padding:14px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.mail-message-list>button:hover,.mail-message-list>button.active{background:var(--panel)}.mail-message-list>button.unread{border-left:4px solid #db9f2d;background:#fff9ec}.mail-message-list>button>span{display:flex;justify-content:space-between;gap:8px}.mail-message-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-message-list time{flex:none;color:var(--muted);font-size:10px}.mail-message-list>button>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.mail-message-list small{display:flex;align-items:center;gap:5px;color:var(--accent)}.mail-message-list small svg{width:13px}.mail-reader{min-width:0;padding:24px}.mail-reader>header{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.mail-reader header p,.mail-reader header span{margin:0;color:var(--muted)}.mail-reader header h2{margin:4px 0 7px}.mail-reader-actions{display:flex;align-items:flex-start;gap:8px}.mail-project-link{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(180px,300px);align-items:center;gap:9px;margin:16px 0;padding:11px;border-radius:10px;background:var(--soft)}.mail-project-link svg{width:18px}.mail-project-link select{min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text)}.mail-body{min-height:260px;margin:0;padding:20px 4px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font:14px/1.7 Manrope,sans-serif}.mail-attachments{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.mail-attachments strong{display:flex;align-items:center;gap:6px;margin-right:7px}.mail-attachments svg{width:16px}.mail-attachments a{display:grid;gap:2px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;color:var(--text);text-decoration:none}.mail-attachments a small{color:var(--muted)}.mail-reader-empty{display:grid;place-items:center;align-content:center;height:100%;text-align:center;color:var(--muted)}.mail-reader-empty svg{width:44px;height:44px}.mail-reader-empty h2{margin:13px 0 3px;color:var(--text)}.mail-setup-card{display:flex;gap:18px;max-width:760px;padding:24px;border:1px solid #d5c286;border-radius:15px;background:#fff9e8}.mail-setup-card>svg{width:35px;height:35px;color:#9b7316}.mail-setup-card h2,.mail-setup-card p{margin:0 0 8px}.mail-setup-card small{color:var(--muted)}.mail-compose{max-width:700px}.mail-compose label{display:grid;gap:6px;margin:12px 0;font-weight:800}.mail-compose input,.mail-compose textarea{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text);font:inherit}.mail-compose textarea{min-height:260px;resize:vertical}.mail-compose footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media(max-width:900px){.mail-layout{grid-template-columns:1fr}.mail-list-panel{border-right:0;border-bottom:1px solid var(--line)}.mail-message-list{max-height:360px}.mail-reader{padding:16px}.mail-reader>header{display:grid}.mail-reader-actions{flex-wrap:wrap}.mail-project-link{grid-template-columns:auto 1fr}.mail-project-link select{grid-column:1/-1}.mail-body{min-height:180px}.mail-compose{width:calc(100% - 20px)}}.mail-compose-attachments{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.mail-compose-attachments>label.button{display:inline-flex;width:max-content;margin:0;font-weight:800}.mail-compose-attachments>small{color:var(--muted)}.mail-compose-attachments>div{display:flex;flex-wrap:wrap;gap:7px}.mail-compose-attachments span{display:flex;align-items:center;gap:6px;max-width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:12px}.mail-compose-attachments span>svg{width:15px;flex:none}.mail-compose-attachments span button{display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}.mail-compose-attachments span button svg{width:14px}.mail-folders{display:grid;gap:4px;padding:12px;border-bottom:1px solid var(--line);background:var(--panel)}.mail-folders button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.mail-folders button:hover{background:var(--soft)}.mail-folders button.active{background:#235a3f;color:#fff}.mail-folders svg{width:17px}.mail-folders span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.mail-folders b,.mail-folders small{min-width:23px;text-align:right}.mail-folders button.active small{color:#dbeadb}.mail-compose-error{margin:12px 0;padding:11px 12px;border:1px solid #e2aaa4;border-radius:9px;background:#fde9e6;color:#8e3028;font-weight:800}.mail-compose footer{flex-wrap:wrap}.mail-message-list{max-height:430px}@media(max-width:900px){.mail-message-list{max-height:360px}.mail-folders{grid-template-columns:repeat(2,minmax(0,1fr))}.mail-compose footer .button{flex:1 1 180px}}.files-screen{max-width:1500px;margin:0 auto}.files-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.files-toolbar>input{width:min(320px,40vw);padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text)}.files-breadcrumbs{display:flex;align-items:center;min-width:0;overflow:auto}.files-breadcrumbs span{display:flex;align-items:center;flex:none}.files-breadcrumbs button{padding:6px 4px;border:0;background:transparent;color:var(--text);font-weight:800;cursor:pointer}.files-breadcrumbs svg{width:15px;color:var(--muted)}.files-info{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid #c8d9bd;border-radius:11px;background:#f2f7ef;color:#385d2c}.files-info svg{width:22px;flex:none}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:16px}.folder-card{display:flex;align-items:center;gap:12px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.folder-card:hover{border-color:var(--accent);box-shadow:0 5px 18px #183f2f12}.folder-card.featured{background:#f0f6ed;border-color:#b8d0ab}.folder-card>svg{width:30px;height:30px;flex:none;color:#d49a2c;fill:#f5d995}.folder-card span{display:grid;gap:4px;min-width:0}.folder-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card small{color:var(--muted)}.file-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.file-table{width:100%;border-collapse:collapse;min-width:760px}.file-table th,.file-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.file-table th{background:var(--soft);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.file-table tr:last-child td{border-bottom:0}.file-name{display:flex;align-items:center;gap:9px;min-width:0}.file-name svg{width:19px;flex:none;color:var(--accent)}.file-name strong{overflow-wrap:anywhere}.file-table .icon-button{display:grid}.files-empty,.files-loading{display:grid;place-items:center;min-height:270px;text-align:center;color:var(--muted)}.files-empty svg{width:44px;height:44px}.files-empty h2{margin:12px 0 3px;color:var(--text)}.files-empty p{margin:0}.file-folder-modal{max-width:480px}.file-folder-modal label{display:grid;gap:7px;margin:18px 0;font-weight:800}.file-folder-modal input{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text);font:inherit}.file-folder-modal footer{display:flex;justify-content:flex-end;gap:8px}@media(max-width:800px){.files-screen .screen-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.files-screen .screen-actions .button:first-child{grid-column:1/-1}.files-toolbar{align-items:stretch;flex-direction:column}.files-toolbar>input{width:100%}.file-grid{grid-template-columns:1fr}.file-table-wrap{margin-inline:-8px}.mail-compose-attachments>label.button{width:100%}}.file-plan-link{display:inline-flex;align-items:center;gap:9px;padding:2px 0;border:0;background:transparent;color:var(--accent);font:inherit;text-align:left;cursor:pointer}.file-plan-link:hover{text-decoration:underline}.file-plan-link svg{width:19px;flex:none}.files-back{display:inline-flex;align-items:center;gap:5px;flex:none;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer}.files-back:disabled{opacity:.45;cursor:default}.file-item-actions{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.file-item-actions .icon-button{display:grid;place-items:center;width:30px;height:30px;padding:5px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);cursor:pointer}.file-item-actions .icon-button svg{width:16px;height:16px}.file-item-actions .icon-button.danger{color:#ad514b}.folder-card-managed{justify-content:space-between;gap:4px;padding:8px}.folder-card-open{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:5px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.folder-card-open>svg{width:30px;height:30px;flex:none;color:#d49a2c;fill:#f5d995}.folder-card-open span{display:grid;gap:4px;min-width:0}.folder-card-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card-open small{color:var(--muted)}.folder-card-managed .file-item-actions{gap:2px}.folder-card-managed .file-item-actions .icon-button{width:26px;height:26px;padding:4px}.file-folder-modal select{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--input);color:var(--text);font:inherit}@media(max-width:800px){.team-login-card{padding:26px}.team-panel-head{align-items:flex-start;flex-direction:column}.team-list article{grid-template-columns:1fr auto}.team-list article .button{grid-column:1/-1}.team-user-form{grid-template-columns:1fr}.team-user-form h3{grid-column:auto}}.sidebar nav button{width:100%;height:44px;display:flex;align-items:center;gap:13px;padding:0 14px;border:0;border-radius:9px;color:var(--muted);background:transparent;text-align:left;font-size:13px;font-weight:600}.sidebar nav button svg{width:19px;height:19px}.nav-alert-badge{min-width:22px;margin-left:auto;padding:3px 6px;border-radius:999px;color:#6d4700;background:#ffd86b;font-size:9px;font-weight:900;text-align:center}.sidebar nav button:hover,.sidebar nav button.active{color:var(--green-dark);background:var(--green-soft)}.sidebar nav button.active{box-shadow:inset 3px 0 var(--green)}.nav-separator{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.sidebar-status{flex:0 0 auto;margin-top:12px;padding:13px;color:var(--muted);font-size:11px;line-height:1.45;border-radius:10px;background:var(--surface)}.sidebar-status small{display:block;margin:5px 0 0 14px;font-size:9px}.sidebar-status.error{color:var(--danger)}.status-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#60a931;box-shadow:0 0 0 3px #dcefd1}.workspace{min-width:0;padding:24px}.price-change-banner{width:100%;max-width:1500px;min-width:0;margin:0 auto 14px;display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid #e5b948;border-radius:11px;color:#513600;background:linear-gradient(135deg,#fff9e8,#fff1bd);text-align:left;box-shadow:0 7px 20px #805a0014}.price-change-banner>svg{flex:0 0 auto;width:22px;height:22px;color:#ba7900}.price-change-banner span{min-width:0;display:flex;flex-direction:column;gap:2px}.price-change-banner strong{font-size:12px}.price-change-banner small{color:#795819;font-size:10px;line-height:1.35}.price-change-banner:hover{border-color:#bd8208;background:#ffefb6}.screen{max-width:1500px;margin:0 auto}.project-summary-sidebar{position:sticky;top:76px;height:calc(100vh - 76px);overflow-y:auto;padding:16px 14px 24px;border-left:1px solid var(--line);background:var(--panel);scrollbar-width:thin;z-index:24}.project-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.project-summary-header span{display:block;margin-bottom:3px;color:var(--green);font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.project-summary-header h2{margin:0;font-size:17px;letter-spacing:-.025em}.project-summary-header>small{padding:5px 7px;color:var(--muted);border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:9px;white-space:nowrap}.summary-health{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:10px;border-radius:9px}.summary-health.ok{color:var(--green-dark);background:var(--green-soft)}.summary-health.warning{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--panel))}.summary-health>svg{flex:0 0 auto;width:18px;height:18px}.summary-health span{display:flex;flex-direction:column;gap:2px;min-width:0}.summary-health strong{font-size:10px}.summary-health small{color:var(--muted);font-size:8px;line-height:1.35}.summary-customer{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:8px;margin:-4px 0 10px;padding:7px 10px;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left}.summary-customer:hover{color:var(--green-dark);border-color:#aac89a}.summary-customer>span{display:flex;flex-direction:column;gap:2px;min-width:0}.summary-customer strong,.summary-customer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-customer strong{font-size:9px}.summary-customer small{color:var(--muted);font-size:8px}.summary-customer svg{width:13px;height:13px;color:var(--muted)}.summary-section{border-top:1px solid var(--line)}.summary-section-title{width:100%;min-height:48px;display:grid;grid-template-columns:17px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:0 5px;color:var(--ink);border:0;background:transparent;text-align:left}.summary-section-title:hover{color:var(--green-dark)}.summary-section-title svg{width:16px;height:16px}.summary-section-title svg:last-child{width:13px;height:13px;color:var(--muted);transition:transform .16s ease}.summary-section.open .summary-section-title svg:last-child{transform:rotate(90deg)}.summary-section-title strong{font-size:12px}.summary-section-body{padding:0 2px 14px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.summary-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-value{min-width:0;min-height:43px;padding:7px 8px;border-radius:7px;background:var(--surface)}.summary-value span{display:block;overflow:hidden;margin-bottom:3px;color:var(--muted);font-size:9px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.summary-value strong{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.25}.summary-value.attention{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.summary-detail{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.summary-open-calculator{width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:var(--green-dark);border:1px solid #bfd4b2;border-radius:8px;background:var(--green-soft);font-size:10px;font-weight:750}.summary-open-calculator svg{width:13px;height:13px}.summary-breakdown{margin-top:12px}.summary-breakdown h3{margin:10px 0 6px;color:var(--muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.summary-material-card{margin-bottom:7px;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.summary-material-card header{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:10px}.summary-material-card header b{color:var(--green-dark);white-space:nowrap}.summary-material-card dl{display:grid;grid-template-columns:1fr 1fr;gap:4px 9px;margin:0}.summary-material-card dl div{display:flex;justify-content:space-between;gap:5px;font-size:8px}.summary-material-card dt{color:var(--muted)}.summary-material-card dd{margin:0;font-weight:700;white-space:nowrap}.summary-material-line{display:flex;flex-direction:column;gap:3px;padding:7px 1px;border-top:1px dashed var(--line);font-size:9px}.summary-material-line span{color:var(--muted)}.summary-material-line strong{font-size:10px;line-height:1.35}.summary-material-line.accent{padding:8px;border:0;border-radius:7px;background:var(--green-soft)}.summary-estimate-materials,.summary-breakdown{margin-top:11px;border:1px solid var(--line);border-radius:8px;padding:7px}.summary-estimate-materials summary,.summary-breakdown summary{display:flex;align-items:center;justify-content:space-between;gap:6px;cursor:pointer;color:var(--green-dark);font-size:10px;font-weight:750}.summary-estimate-materials summary strong{white-space:nowrap}.summary-estimate-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:500}.summary-estimate-row strong{max-width:140px;text-align:right;white-space:normal}.summary-estimate-materials h3{margin:0 0 5px;color:var(--muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.summary-estimate-materials>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:6px 1px;border-top:1px dashed var(--line);font-size:9px}.summary-estimate-materials span{line-height:1.3}.summary-estimate-materials strong{color:var(--green-dark);white-space:nowrap}.summary-openings{max-height:126px;overflow-y:auto;margin-top:7px}.summary-openings div{display:flex;justify-content:space-between;gap:7px;padding:5px 0;border-top:1px dashed var(--line);color:var(--muted);font-size:8px}.summary-openings div:first-child{border-top:0}.summary-openings span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-openings strong{flex:0 0 auto;color:var(--ink);font-size:8px}.summary-openings p{margin:3px 0;color:var(--muted);font-size:8px}.screen-loader,.empty-state{padding:38px;color:var(--muted);text-align:center}.screen-load-error{max-width:560px;margin:28px auto;padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 12px 36px #142d1e14}.screen-load-error h1{margin:0 0 10px;font-size:22px}.screen-load-error p{margin:0 0 18px;color:var(--muted);line-height:1.6}.screen-load-error-actions{display:flex;flex-wrap:wrap;gap:10px}.screen-header{min-height:60px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.screen-header h1{margin:0 0 5px;font-size:24px;letter-spacing:-.035em}.screen-header p,.panel header p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.button{min-height:38px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:11px;font-weight:700;border:1px solid transparent}.button.primary{color:#fff;background:var(--green-dark)}.button.secondary{color:var(--ink);border-color:var(--line);background:var(--panel)}.button.ghost{color:var(--muted);background:transparent}.panel{margin-bottom:16px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 2px 10px #283c2806}.panel>header{margin-bottom:15px}.panel h2{margin:0 0 4px;font-size:14px}.panel h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.stat{min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.stat span{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.stat strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:14px;white-space:nowrap}.stat.accent{color:#fff;border-color:var(--green-dark);background:var(--green-dark)}.stat.accent span{color:#ffffffc7}.stat.accent strong{color:#fff}.two-column-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px;align-items:start}.stack{min-width:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flat-roof-assembly{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;min-width:0;padding:12px;margin:12px 0;border:1px solid #cbdac7;border-radius:12px;background:#f7fbf5}.flat-roof-assembly h4,.flat-roof-assembly p{grid-column:1/-1;margin:0}.flat-roof-assembly p{font-size:.8rem;color:#526958;line-height:1.4}.flat-roof-assembly .form-warning{color:#a53a26;background:#fff0e8;border:1px solid #e7b4a5;border-radius:8px;padding:8px}.flat-roof-assembly .field{min-width:0}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.roof-rigel-note{grid-column:1 / -1;margin:0}.span-2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--muted);font-size:10px;font-weight:600}.room-name-field{display:grid;gap:8px;min-width:0;width:100%}.exterior-editor{display:grid;gap:16px;min-width:0}.exterior-block{border:1px solid var(--border, #cbd5c5);border-radius:12px;padding:16px;display:grid;gap:14px;min-width:0}.exterior-block h3{margin:0}.exterior-block summary{cursor:pointer;font-weight:650;padding:4px 0}.exterior-block[open] summary{margin-bottom:14px}.exterior-note{margin:0;line-height:1.5;font-size:14px}.exterior-area-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.exterior-layers{display:flex;flex-wrap:wrap;gap:8px}.exterior-layers span{border:1px solid #7b9d66;background:#edf5e7;color:#182c10;padding:10px;border-radius:8px}.exterior-warnings{background:#fff4e5;border:1px solid #c58d36;border-radius:10px;padding:12px;color:#5c3407}.exterior-warnings p{margin:4px 0}.exterior-editor .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.exterior-editor .form-grid>*{min-width:0}.internal-editor{display:grid;gap:16px;margin-top:16px;min-width:0}.engineering-editor{display:grid;gap:14px;margin-top:14px;min-width:0}.engineering-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.engineering-block{display:grid;gap:13px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:15px;background:#ffffffb8;transition:border-color .2s,box-shadow .2s}.engineering-block.enabled{border-color:#9fbd8c;box-shadow:0 7px 22px #2f5b2314}.engineering-block>header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:11px;border-bottom:1px solid var(--line)}.engineering-block>header>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.engineering-block>header svg{width:24px;height:24px;color:#4f8a39;flex:none}.engineering-block>header span{display:grid;gap:3px}.engineering-block>header strong{font-size:1.05rem;color:var(--text)}.engineering-block>header small{color:var(--muted);line-height:1.35}.engineering-block>header .toggle-row{min-width:135px;border:0;padding:0;flex:none}.engineering-block .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.engineering-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.engineering-stage-note{margin:0;padding:10px 12px;border-radius:10px;line-height:1.45;font-size:.87rem}.engineering-stage-note.rough{color:#374151;background:#f1f5f2;border:1px solid #cbd5ce}.engineering-stage-note.prefinish{color:#67400b;background:#fff4df;border:1px solid #ebc579}.engineering-stage-note.complete{color:#174f2d;background:#eaf6ea;border:1px solid #a8d0a9}.well-ring-price{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 13px;border-radius:11px;color:#17330d;background:#edf6e8;border:1px solid #9fbd8c}.well-ring-price span{font-weight:700}.well-ring-price strong{text-align:right}.ventilation-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ventilation-options article{display:grid;gap:5px;padding:11px;border:1px solid #b9cbb0;border-radius:11px;background:#f5f9f2}.ventilation-options strong{color:#284d1d}.ventilation-options span{color:var(--muted);font-size:.8rem;line-height:1.4}.engineering-warnings{display:grid;gap:7px;padding:12px 14px;border:1px solid #e5bd69;border-radius:12px;background:#fff6e6;color:#603d08}.engineering-warnings p{margin:0;line-height:1.45;font-size:.86rem}.engineering-upgrade{margin-top:0}.internal-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.internal-door-panel{display:grid;gap:12px;min-width:0;margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.internal-door-panel h3{margin:0;color:var(--text)}.internal-door-panel p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.internal-door-panel .button{justify-self:start}.internal-door-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.internal-door-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}.internal-global{border:1px solid var(--line);border-radius:14px;background:#f7faf4b8;padding:12px 14px}.internal-global summary{cursor:pointer;font-weight:800;color:var(--text)}.internal-global[open] summary{margin-bottom:14px}.internal-global>p,.internal-source-note{margin:10px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}.internal-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.internal-workspace{display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:14px;align-items:start}.internal-room-list{display:grid;gap:7px;max-height:720px;overflow:auto;scrollbar-width:none}.internal-room-list::-webkit-scrollbar{display:none}.internal-room-list button{display:grid;gap:4px;text-align:left;border:1px solid var(--line);border-radius:13px;background:#fffc;color:var(--text);padding:11px 12px;cursor:pointer}.internal-room-list button:hover,.internal-room-list button.active{border-color:#4f8a39;background:#edf6e8;box-shadow:0 5px 18px #2f5b2317}.internal-room-list span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.74rem}.internal-room-list span svg{width:14px;height:14px}.internal-room-list strong{font-size:.92rem}.internal-room-list small{color:var(--muted)}.internal-room-card{min-width:0;display:grid;gap:12px}.internal-room-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:11px}.internal-room-card>header span{color:#4f8a39;font-weight:800;font-size:.75rem;text-transform:uppercase}.internal-room-card h3{margin:3px 0;font-size:1.25rem}.internal-room-card header p{margin:0;color:var(--muted)}.internal-assembly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.internal-assembly-grid.sauna-active{grid-template-columns:1fr}.internal-assembly-grid.sauna-active>fieldset:nth-child(n+2){display:none}.sauna-editor{border:2px solid #9bad8a;border-radius:14px;padding:16px;margin-top:16px;min-width:0;background:#fcfdf9;overflow-wrap:anywhere}.sauna-editor input:not([type=checkbox]),.sauna-editor textarea{width:100%;min-width:0;box-sizing:border-box}.sauna-editor textarea{min-height:90px}.sauna-editor .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.sauna-editor .form-grid>*{min-width:0}.sauna-openings,.room-drain-editor{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f7faf4}.shower-cabin-editor{min-width:0;padding:14px;border:1px solid #a8cbd3;border-radius:12px;background:#f5fafb}.shower-cabin-editor h3{margin:0 0 10px}.shower-cabin-editor p{font-size:.82rem;line-height:1.45}.shower-cabin-editor details{margin-top:10px}.shower-cabin-editor summary{cursor:pointer;font-weight:700}.roof-snow-guards{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7fafc}.roof-snow-guards h4{margin:0 0 10px}.roof-snow-guards details{margin-top:12px}.roof-snow-guards summary{cursor:pointer;font-weight:700}.sauna-openings h4,.room-drain-editor h4{margin:0 0 9px}.sauna-openings p,.room-drain-editor p{margin:9px 0 0;font-size:.82rem;line-height:1.45}.room-drain-editor details{margin-top:8px}.room-drain-editor summary{cursor:pointer;font-weight:700}.internal-assembly-grid fieldset{min-width:0;display:grid;align-content:start;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#ffffffb8}.internal-assembly-grid legend{display:flex;align-items:center;gap:7px;padding:0 5px;font-weight:850;color:var(--text)}.internal-assembly-grid legend svg{width:17px;color:#4f8a39}.assembly-warning,.assembly-info{margin:0;padding:9px 10px;border-radius:9px;font-size:.8rem;line-height:1.4}.assembly-warning{color:#763d00;background:#fff1d8;border:1px solid #efc377}.assembly-info{display:flex;gap:6px;color:#245b75;background:#e9f6fb;border:1px solid #a8d8e9}.assembly-info svg{width:16px;flex:none}.internal-upgrade{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-top:14px;padding:16px;border:1px solid #cbdcbd;border-radius:14px;background:#f2f8ee}.internal-upgrade>svg{width:30px;height:30px;color:#4f8a39}.internal-upgrade p{margin:4px 0 0;color:var(--muted);line-height:1.45}@media(max-width:1100px){.internal-assembly-grid{grid-template-columns:1fr}}@media(max-width:760px){.internal-overview,.internal-door-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.internal-workspace{grid-template-columns:1fr}.internal-room-list{display:flex;overflow:auto;max-height:none;padding-bottom:4px}.internal-room-list button{min-width:180px}.internal-toggle-grid{grid-template-columns:1fr}.internal-upgrade{grid-template-columns:auto 1fr}.internal-upgrade .button{grid-column:1/-1;width:100%}}@media(max-width:480px){.internal-door-summary{grid-template-columns:1fr}.internal-door-panel .button{width:100%}}@media(max-width:900px){.engineering-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.ventilation-options{grid-template-columns:1fr}}@media(max-width:620px){.engineering-overview,.engineering-toggles{grid-template-columns:1fr}.engineering-block>header{align-items:flex-start}.engineering-block>header .toggle-row{min-width:0}.well-ring-price{display:grid}.well-ring-price strong{text-align:left}}.room-name-field .field{min-width:0}.room-name-field input,.room-name-field select{min-width:0;width:100%;min-height:44px}.field input,.field select,select,.search-box input,.editable-table input{width:100%;height:37px;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:7px;outline:none;background:var(--surface);font-size:12px}.field input:focus,.field select:focus,.search-box:focus-within,.editable-table input:focus{border-color:#7ba65c;box-shadow:0 0 0 3px #5f8f321f}.field small{color:var(--muted);font-size:9px;font-weight:400;line-height:1.4}.numeric-input{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:stretch;min-width:0}.numeric-input-value{position:relative;min-width:0}.numeric-input-value input{border-radius:0;text-align:center}.numeric-input-value em{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:10px;font-style:normal;pointer-events:none}.numeric-input-value.has-suffix input{padding-right:34px}.numeric-step-button{display:grid;place-items:center;min-width:36px;min-height:37px;padding:0;color:var(--green-deep);border:1px solid var(--line);background:var(--panel);touch-action:manipulation}.numeric-step-button:first-child{border-radius:7px 0 0 7px;border-right:0}.numeric-step-button:last-child{border-radius:0 7px 7px 0;border-left:0}.numeric-step-button:hover:not(:disabled),.numeric-step-button:active:not(:disabled){color:#fff;background:var(--green)}.numeric-step-button:disabled{color:var(--muted);opacity:.45}.numeric-step-button svg{width:16px;height:16px}.toggle-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.toggle-row>span{display:flex;flex-direction:column;font-size:11px}.toggle-row small{margin-top:3px;color:var(--muted);font-weight:400}.toggle-row input{position:absolute;opacity:0}.toggle-row i{position:relative;flex:0 0 34px;width:34px;height:19px;border-radius:999px;background:#c6cec6;transition:.2s}.toggle-row i:after{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #0003}.toggle-row input:checked+i{background:var(--green)}.toggle-row input:checked+i:after{transform:translate(15px)}.service-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.service-groups section{min-width:0}.service-groups h3{margin:6px 0}.parameters-master-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px;align-items:start}.parameters-form-flow{min-width:0}.parameter-section{margin-bottom:16px;scroll-margin-top:92px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 2px 10px #283c2806}.parameter-section>header{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0;background:linear-gradient(135deg,var(--green-soft),var(--panel))}.parameter-section>header>span{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;color:#fff;border-radius:9px;background:var(--green-dark);font-size:10px;font-weight:800}.parameter-section>header h2{margin:0 0 4px;font-size:15px}.parameter-section>header p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.parameter-section-body{padding:18px}.parameter-navigator{position:sticky;top:92px;max-height:calc(100vh - 112px);overflow:auto;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);scrollbar-width:thin}.parameter-progress{margin-bottom:10px;padding:11px;border-radius:9px;background:var(--surface)}.parameter-progress>div{display:flex;justify-content:space-between;gap:8px}.parameter-progress span{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em}.parameter-progress strong{color:var(--green-dark);font-size:15px}.parameter-progress>i{display:block;height:6px;margin:8px 0 6px;overflow:hidden;border-radius:999px;background:var(--line)}.parameter-progress>i>b{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .25s}.parameter-progress small{color:var(--muted);font-size:8px}.parameter-navigator nav{display:flex;flex-direction:column;gap:3px}.parameter-navigator nav a{display:flex;flex-direction:column;gap:2px;padding:8px;color:var(--ink);border-radius:7px;text-decoration:none}.parameter-navigator nav a:hover{background:var(--green-soft)}.parameter-navigator nav a>span{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700}.parameter-navigator nav a svg{width:14px;height:14px}.parameter-navigator nav a.complete svg{color:var(--green)}.parameter-navigator nav a.attention svg{color:var(--danger)}.parameter-navigator nav a small{padding-left:21px;color:var(--muted);font-size:7px}.parameter-navigator>p{margin:12px 0 0;padding-top:10px;color:var(--muted);border-top:1px solid var(--line);font-size:8px;line-height:1.5}.parameter-auto-link{margin:-3px 0 14px;padding:0 11px;border:1px solid #cfe0c4;border-radius:9px;background:var(--green-soft)}.parameter-readouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.foundation-slab-editor{display:grid;gap:12px;min-width:0}.foundation-slab-warning{display:grid;gap:3px;padding:12px 14px;border:1px solid #efc377;border-radius:12px;background:#fff8e8;color:#6d4300}.foundation-slab-warning span{font-size:.78rem;line-height:1.4}.foundation-slab-tabs{display:flex;flex-wrap:wrap;gap:6px}.foundation-slab-tabs button{min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer}.foundation-slab-tabs button[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:750}.foundation-slab-pane{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent)}.foundation-slab-preview{display:block;width:100%;min-height:230px;max-height:390px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.foundation-slab-preview polygon{vector-effect:non-scaling-stroke}.foundation-slab-preview .house-outline{fill:#fffdf2;stroke:#17211b;stroke-width:2.5}.foundation-slab-preview .slab-outline{fill:#d9dee2;stroke:#59666e;stroke-width:2}.foundation-slab-preview .blind-outline{fill:#e8dec9;stroke:#9a7546;stroke-width:1.5}.foundation-slab-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.78rem}.foundation-slab-legend span{display:inline-flex;align-items:center;gap:6px}.foundation-slab-legend i{width:18px;height:10px;border:2px solid currentColor;border-radius:2px}.foundation-slab-legend .house{color:#17211b;background:#fffdf2}.foundation-slab-legend .slab{color:#59666e;background:#d9dee2}.foundation-slab-legend .blind{color:#9a7546;background:#e8dec9}.structural-engine-panel{margin-top:12px;border:1px solid #d09a4a;border-radius:12px;overflow:hidden;background:#fffdf7}.structural-engine-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:#fff3d9;color:#533600;font-weight:800}.structural-engine-panel>summary small{font-size:.7rem;font-weight:700;text-align:right}.structural-engine-body{display:grid;gap:12px;padding:12px}.structural-engine-warning{display:grid;gap:3px;padding:11px 12px;border:1px solid #dfae64;border-radius:10px;background:#fff8e9;color:#653e00}.structural-engine-warning span{font-size:.78rem;line-height:1.45}.structural-engine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.structural-engine-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.structural-engine-issues{display:grid;gap:6px}.structural-engine-issues p{display:grid;gap:3px;margin:0;padding:9px 10px;border:1px solid #e3a8a0;border-radius:8px;background:#fff0ed;color:#7b2119;font-size:.76rem;line-height:1.35}.structural-engine-issues strong{font-size:.65rem;letter-spacing:.04em}.structural-support-list{display:grid;gap:7px}.structural-support-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border:1px solid #ccd9c7;border-radius:9px;background:#f7faf5}.structural-support-list article small{grid-column:1/-1;color:var(--muted)}.structural-header-screen{display:grid;gap:10px}.structural-screen-result{display:grid;gap:5px;padding:11px;border-radius:9px}.structural-screen-result.within{border:1px solid #78a96d;background:#edf7e8;color:#285323}.structural-screen-result.exceeds{border:1px solid #d98d84;background:#fff0ed;color:#7a211b}.structural-screen-result span,.structural-screen-result small{font-size:.75rem;line-height:1.4}@media(max-width:520px){.foundation-slab-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-slab-tabs button{width:100%}.foundation-slab-pane{padding:9px}.foundation-slab-preview{min-height:190px}.structural-engine-grid,.structural-engine-toggles{grid-template-columns:1fr}.structural-engine-panel>summary{align-items:flex-start}}.parameter-entity-list,.parameter-platform-list,.parameter-opening-list{display:flex;flex-direction:column;gap:9px;margin-top:16px}.parameter-entity-list>h3{margin:0 0 2px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.parameter-entity-list>article{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(170px,1fr) minmax(125px,.7fr) minmax(145px,.7fr);gap:10px;align-items:end;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.parameter-entity-list .toggle-row{min-height:37px}.parameter-platform-list>article,.parameter-opening-list>article{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.parameter-platform-list>article>header,.parameter-opening-list>article>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.parameter-platform-list>article>header>div{display:flex;flex-direction:column;gap:2px}.parameter-platform-list>article>header span,.parameter-opening-list>article>header span{color:var(--muted);font-size:8px;text-transform:uppercase}.parameter-platform-list>article>header strong,.parameter-opening-list>article>header strong{font-size:11px}.parameter-platform-list>article>header .toggle-row{min-width:160px;border:0}.parameter-info-note{margin-top:10px;padding:13px;color:var(--muted);border:1px dashed var(--line);border-radius:9px;background:var(--surface);font-size:10px;line-height:1.5}.parameter-layer-box,.parameter-subgroup{margin-top:16px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.parameter-layer-box>strong{display:block;margin-bottom:7px;font-size:10px}.parameter-roof-toggles{margin-top:14px}.parameter-subgroup .parameter-auto-link{margin:0 0 12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.data-table{width:100%;border-collapse:collapse;min-width:700px;font-size:10px;background:var(--panel)}.data-table th{position:sticky;top:0;z-index:1;padding:9px 10px;color:var(--muted);background:var(--surface);font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.04em}.resizable-table th:not(:last-child){min-width:78px}.column-resize-handle{position:absolute;top:0;right:-4px;bottom:0;z-index:3;width:9px;cursor:col-resize;touch-action:none;pointer-events:none}.column-resize-handle:after{content:"";position:absolute;top:20%;bottom:20%;left:4px;width:1px;background:color-mix(in srgb,var(--green) 50%,transparent);opacity:.45}.column-resize-handle:hover:after{width:2px;opacity:1}.data-table td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:middle}.data-table th:nth-last-child(-n+3),.data-table td:nth-last-child(-n+3){text-align:right}.data-table tfoot td{font-weight:800;background:var(--green-soft)}.print-only{display:none!important}.estimate-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.estimate-editor-toolbar>div{display:flex;align-items:center;gap:7px}.estimate-editor-toolbar>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}.estimate-editor-toolbar strong{font-size:10px}.estimate-editor-toolbar span{color:var(--muted);font-size:8px}.compact-button{min-height:30px;padding:6px 9px;font-size:8px}.compact-button svg{width:13px;height:13px}.editable-estimate-table{min-width:920px}.editable-estimate-table th:nth-last-child(-n+4),.editable-estimate-table td:nth-last-child(-n+4){text-align:right}.estimate-cell-input{width:100%;min-width:145px;height:31px;padding:5px 7px;color:var(--ink);border:1px solid transparent;border-radius:6px;background:transparent;font:inherit}.estimate-cell-input:hover,.estimate-cell-input:focus{border-color:var(--green);background:var(--panel);outline:none}.estimate-cell-input.unit-input{min-width:55px;max-width:75px}.estimate-cell-input.number-input{min-width:80px;max-width:105px;text-align:right}.estimate-number-input{grid-template-columns:28px minmax(58px,82px) 28px;justify-content:end;min-width:114px}.estimate-number-input .numeric-step-button{min-width:28px;min-height:31px}.numeric-input.without-steppers{grid-template-columns:minmax(80px,1fr);min-width:80px}.numeric-input.without-steppers input{border-radius:7px;text-align:right}.estimate-number-input .numeric-input-value input{height:31px;padding:4px;border-color:transparent;background:transparent}.estimate-number-input .numeric-input-value input:focus{border-color:var(--green);background:var(--panel)}.price-input.numeric-input{grid-template-columns:30px minmax(76px,1fr) 30px;min-width:136px}.price-input .numeric-step-button{min-width:30px}.overridden-estimate-line{background:#fff4d173}.custom-estimate-line{background:#e0f2d56b}.estimate-group-row th{position:static;padding:9px 10px;color:var(--green-dark);border-top:2px solid #c8d9bf;background:var(--green-soft);font-size:10px;letter-spacing:.04em;text-align:left!important;text-transform:uppercase}.estimate-row-actions{width:76px;white-space:nowrap}.estimate-row-actions button{width:28px;height:28px;display:inline-grid;place-items:center;margin-left:3px;color:var(--muted);border:1px solid var(--line);border-radius:6px;background:var(--panel)}.estimate-row-actions button:hover{color:#9e3030;border-color:#e5b0aa}.estimate-row-actions svg{width:13px;height:13px}.kind{display:inline-flex;padding:3px 6px;border-radius:5px;font-size:8px;font-weight:700;background:#edf1ed;color:#667069}.kind.labor{color:#76530c;background:#fff5d7}.calculation-list{display:flex;flex-direction:column;gap:12px}.calculation-link-banner{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:9px 12px;border:1px solid #cfe1c4;border-radius:9px;color:#325c24;background:#f0f7eb}.calculation-link-banner strong{font-size:10px;white-space:nowrap}.calculation-link-banner span{color:#61705f;font-size:9px;line-height:1.4}.calculation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.terrace-roof-editors{display:grid;gap:12px}.terrace-roof-editor{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.terrace-roof-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.terrace-roof-editor>header div{display:flex;flex-direction:column;gap:3px}.terrace-roof-editor>header strong{font-size:11px}.terrace-roof-editor>header span,.terrace-roof-editor>header small{color:var(--muted);font-size:9px}.terrace-roof-editor>header small{padding:5px 7px;border-radius:6px;background:var(--green-soft);white-space:nowrap}.readout{color:var(--green-dark);font-weight:800}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.frame-type-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 4px}.frame-type-guide article{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.frame-type-guide strong{font-size:10px}.frame-type-guide span{color:var(--green-dark);font-size:9px;font-weight:700}.frame-type-guide small{color:var(--muted);font-size:8px;line-height:1.4}.panel-note{margin:10px 0 0;padding:9px 11px;color:var(--green-dark);border:1px solid var(--green-soft);border-radius:8px;background:var(--green-pale);font-size:9px;line-height:1.45}.rafter-scheme{margin-top:15px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.rafter-scheme svg{display:block;width:100%;max-height:250px}.rafter-scheme svg rect,.rafter-scheme svg line{fill:none;stroke:var(--ink);stroke-width:3;vector-effect:non-scaling-stroke}.rafter-scheme svg rect{fill:color-mix(in srgb,var(--panel) 86%,transparent)}.rafter-scheme svg .roof-scheme-ridge{stroke:#c88b24;stroke-width:7}.rafter-scheme svg .roof-scheme-mauerlat,.rafter-scheme svg .roof-scheme-ridge-block{fill:#c88b24;stroke:#a56d12;stroke-width:1.5}.rafter-scheme svg .roof-scheme-mauerlat-line{stroke:#c88b24;stroke-width:7;stroke-linecap:square}.rafter-scheme svg .roof-scheme-support{stroke:var(--green);stroke-width:4}.rafter-scheme svg .roof-scheme-flat-infill{fill:none;stroke:var(--green);stroke-width:1.5}.rafter-scheme svg .roof-scheme-flat-plane{stroke:var(--ink);stroke-width:7;stroke-linecap:round}.rafter-scheme svg .roof-scheme-slope-arrow{stroke:#c88b24;stroke-width:5;stroke-linecap:round}.rafter-scheme svg marker path{fill:#c88b24}.roof-plan-overlay .roof-flat-slope-arrow{fill:none;stroke:#c88b24;stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke}.roof-plan-overlay marker path{fill:#c88b24}.rafter-scheme svg text{fill:var(--muted);font-size:12px;font-weight:700}.rafter-scheme-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.rafter-scheme-summary>div,.fixed-roof-accessory{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.rafter-scheme-summary span,.fixed-roof-accessory span{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;text-transform:uppercase}.rafter-scheme-summary strong,.fixed-roof-accessory strong{display:block;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.roof-accessory-grid{align-items:stretch}.roof-main-section+.roof-main-section{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.roof-main-section>h3{margin:0 0 12px;color:var(--green-dark);font-size:12px}.roof-section-note{margin:-4px 0 12px;color:var(--muted);font-size:10px;line-height:1.45}.fixed-roof-accessory{display:flex;flex-direction:column;justify-content:center;min-height:44px;color:var(--green-dark)}.plan-screen-v2{--planner-wall: #172018;--planner-green: #5d8f32}.plan-status-bar{display:grid;grid-template-columns:minmax(420px,1fr) auto;gap:8px 18px;align-items:center;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.plan-floor-switcher,.mobile-floor-switcher{display:inline-flex;width:max-content;gap:4px;padding:3px;border:1px solid #cedbc8;border-radius:10px;background:#f3f7f0}.plan-floor-switcher{grid-column:1 / -1}.plan-floor-switcher button,.mobile-floor-switcher button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:6px 12px;border:0;border-radius:7px;background:transparent;color:#455044;font:inherit;font-weight:800;cursor:pointer}.plan-floor-switcher button.active,.mobile-floor-switcher button.active{background:#5d8f32;color:#fff}.plan-floor-switcher button.remove-floor{color:#a4382f}.plan-floor-switcher button.remove-floor:hover{background:#fbe9e6}.plan-floor-switcher svg{width:15px;height:15px}.mobile-floor-switcher{position:absolute;top:12px;left:64px;z-index:20;background:#fffffff2;box-shadow:0 4px 14px #1a28181f}.plan-transfer-status{display:flex;align-items:center;gap:8px;margin:-2px 0 10px;padding:8px 11px;color:#315d27;border:1px solid #cfe0c8;border-radius:8px;background:#f1f8ed}.plan-transfer-status svg{flex:0 0 16px;width:16px}.plan-transfer-status span{font-size:9px;font-weight:800}.plan-transfer-status small{margin-left:auto;color:#6b7669;font-size:8px}.plan-transfer-status.stair-setup-required{flex-wrap:wrap;border-color:#e0c987;background:#fff9e8;color:#352800}.plan-transfer-status.stair-setup-required span{flex:1 1 220px;font-size:11px}.plan-transfer-status.stair-setup-required .button{min-height:36px;margin-left:auto;white-space:normal;text-align:center}.planner-canvas{scroll-margin-top:80px}.plan-house-fields{display:grid;grid-template-columns:repeat(5,minmax(105px,150px));gap:10px;grid-column:1 / -1}.plan-view-switches{display:flex;gap:14px}.plan-view-switches .toggle-row{min-height:36px;border:0;gap:7px}.roof-rotate-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid #b9cfad;border-radius:8px;background:#eef6e9;color:#315d27;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.roof-rotate-button:hover{background:#dfeeda}.roof-rotate-button svg{width:15px;height:15px}.zoom-controls{display:flex;align-items:center;gap:7px}.zoom-controls strong{min-width:42px;color:var(--ink);font-size:10px;text-align:center}.planner-shell{height:720px;display:grid;grid-template-columns:112px minmax(0,1fr) 380px;overflow:hidden;border:1px solid #dce4dc;border-radius:12px;background:#fff;box-shadow:var(--shadow)}.mobile-plan-editor-only,.mobile-plan-commandbar{display:none!important}.planner-shell,.planner-shell *{user-select:none;-webkit-user-select:none}.planner-inspector input,.planner-inspector select{user-select:text;-webkit-user-select:text}.planner-tools{z-index:2;min-height:0;padding:8px 6px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #dce4dc;background:#f7f9f6}.planner-tools-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:4px 1px}.planner-tools-scroll::-webkit-scrollbar{width:0;height:0}.planner-tools-fixed{flex:0 0 auto;padding:3px 1px;background:#eef4ea;border:1px solid #d5e2ce;border-radius:9px}.planner-tools-delete{margin-top:6px;background:#fff5f3;border-color:#ecd2cd}.planner-tools-delete button{color:#a3473d}.planner-tools button{width:100%;min-height:43px;margin-bottom:4px;padding:5px 3px;display:flex;align-items:center;gap:7px;color:#5f6a61;border:0;border-radius:7px;background:transparent;font-size:8px;text-align:left}.planner-tools button svg{flex:0 0 16px;width:16px;height:16px}.planner-tools button:hover{color:#37661f;background:#e5f1dd}.planner-tools button.active{color:#fff;background:linear-gradient(135deg,#548c35,#376b20);box-shadow:0 0 0 2px #548c3533,0 5px 12px #376b2038;font-weight:800}.planner-tools button.active svg{transform:scale(1.08)}.polygon-actions{margin-top:8px;padding-top:8px;border-top:1px solid #dce4dc}.planner-canvas{position:relative;min-width:0;overflow:hidden;background:#fff}.plan-contour-actions{position:absolute;z-index:8;left:50%;bottom:48px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;width:max-content;max-width:calc(100% - 20px);padding:8px;border:1px solid #b9cbbd;border-radius:12px;background:#fffffff7;box-shadow:0 8px 24px #20371c26;transform:translate(-50%)}.plan-contour-actions .button{min-height:40px;white-space:nowrap}.plan-contour-actions span{font-size:12px;font-weight:700;color:#476047}.plan-layer-tabs{position:absolute;z-index:6;top:12px;left:12px;display:grid;grid-template-columns:repeat(4,78px);gap:5px}.plan-layer-tab{position:relative;display:grid;grid-template-columns:1fr 24px;min-height:44px;border:1px solid #d6e0d4;border-radius:9px;overflow:hidden;background:#fffffff2;box-shadow:0 3px 12px #1c341714}.plan-layer-tab.active{border-color:#8fba76;background:#e9f4e2}.plan-layer-tab:not(.visible){opacity:.66}.plan-layer-tabs button{min-height:42px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#536056;border:0;border-radius:0;background:transparent;font-size:7.5px;line-height:1;font-weight:800;box-shadow:none}.plan-layer-tabs button svg{width:15px;height:15px}.plan-layer-tabs .layer-select.active{color:#315f20}.plan-layer-tabs .layer-visibility{min-height:100%;padding:0;border-left:1px solid #dce4da;color:#477638}.plan-layer-tabs .layer-visibility svg{width:13px;height:13px}.plan-layer-tab:not(.visible) .layer-visibility{color:#89928b;background:#f0f2ef}.canvas-history-controls{position:absolute;z-index:7;top:12px;right:12px;display:flex;gap:5px;padding:4px;border:1px solid #d6e0d4;border-radius:10px;background:#fffffff5;box-shadow:0 3px 12px #1c341714}.canvas-history-controls button{width:36px;height:34px;display:grid;place-items:center;color:#375332;border:0;border-radius:7px;background:#f2f6ef}.canvas-history-controls button:hover:not(:disabled){background:#e1efda}.canvas-history-controls svg{width:17px;height:17px}.canvas-history-controls .canvas-control-divider{width:1px;margin:4px 2px;background:#d6e0d4}.canvas-history-controls button.canvas-zoom-value{width:50px;padding:0 4px;color:#315d27;font-size:9px;font-weight:800}@media(min-width:761px)and (max-width:1400px){.planner-shell:not(.is-fullscreen) .canvas-history-controls{top:66px}}.plan-svg.viewport-pan-enabled.is-viewport-panning{cursor:grabbing!important}.planner-shell.is-fullscreen{position:fixed;z-index:1000;inset:0;width:100vw;height:100vh;min-height:0;grid-template-columns:112px minmax(0,1fr) 380px;grid-template-rows:1fr;overflow:hidden;border:0;border-radius:0;box-shadow:none}.planner-shell.is-fullscreen .planner-canvas{min-height:0}.planner-shell.is-fullscreen .planner-inspector{min-height:0;overflow-y:auto}.planner-shell.is-fullscreen:has(.planner-inspector .room-summary){grid-template-columns:112px minmax(0,1fr) 380px}.planner-shell.is-fullscreen .planner-inspector:has(.room-summary){display:block}.planner-shell.is-fullscreen .planner-hint{max-width:min(720px,calc(100% - 24px))}.plan-3d-preview{position:absolute;z-index:12;top:125px;right:12px;width:340px;max-width:calc(100% - 24px);padding:7px;border:1px solid #c8d8c2;border-radius:10px;background:#fff;box-shadow:0 8px 24px #1a311e2b}.plan-3d-preview.size-small{width:260px}.plan-3d-preview.size-large{width:440px}.plan-3d-preview-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px;color:#315d27;font-size:11px}.plan-3d-preview-heading>div{display:flex;flex-wrap:wrap;gap:2px}.plan-3d-preview-heading button{padding:3px 5px;border:1px solid #c8d8c2;border-radius:5px;background:#fff;color:#315d27;font-size:9px}.plan-3d-preview-heading button[aria-pressed=true]{background:#dff0d5;border-color:#77a55f}.plan-3d-preview .production-3d{margin:0}.plan-3d-preview .production-3d-toolbar strong{width:auto;margin-right:auto}.plan-3d-preview .production-3d-toolbar button{min-height:26px;min-width:26px;padding:3px}.plan-3d-preview .production-3d-canvas{height:210px}.plan-3d-preview{right:auto;display:flex;flex-direction:column;min-width:240px;min-height:240px;overflow:hidden}.plan-3d-preview-heading{flex:0 0 auto;min-height:30px;margin-bottom:3px;cursor:move;touch-action:none;user-select:none}.plan-3d-preview-heading button{cursor:pointer}.plan-3d-preview-body{min-height:0;flex:1;overflow:auto}.plan-3d-preview.is-resizing .plan-3d-preview-body{overflow:hidden}.plan-3d-preview .production-3d-canvas{height:max(150px,calc(var(--window-height) - 165px))}.plan-3d-resize{position:absolute;right:0;bottom:0;width:25px;height:25px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 58%,#7fa171 60%,#7fa171 64%,transparent 66%,transparent 74%,#7fa171 76%,#7fa171 80%,transparent 82%)}.plan-3d-view-switch,.plan-3d-drawing-nav{display:flex;gap:4px;margin:4px 0}.plan-3d-view-switch button,.plan-3d-drawing-nav button,.plan-3d-drawing-nav select{min-width:0;padding:5px 7px;border:1px solid #c8d8c2;border-radius:6px;background:#fff;color:#315d27;font-size:10px}.plan-3d-view-switch button[aria-pressed=true]{background:#dff0d5;border-color:#77a55f}.plan-3d-drawing-nav select{flex:1}.plan-3d-drawing .workbench-drawing{width:100%;height:max(170px,calc(var(--window-height) - 125px));background:#fff}.planner-shell.is-fullscreen.inspector-collapsed{grid-template-columns:112px minmax(0,1fr) 0}.planner-shell.is-fullscreen.inspector-collapsed:has(.planner-inspector .room-summary){grid-template-columns:112px minmax(0,1fr) 0}.planner-shell.is-fullscreen.inspector-collapsed .planner-inspector{display:none}.plan-3d-preview.size-small .production-3d-canvas{height:150px}.plan-3d-preview.size-large .production-3d-canvas{height:280px}.plan-3d-preview .production-3d small{display:none}.plan-3d-preview .production-3d small[role=alert]{display:block}.plan-3d-bearing-summary,.plan-3d-bearing-detail{margin:5px 0 0;font-size:10px;line-height:1.35;color:#315d27}.plan-3d-bearing-detail{padding:5px;border-radius:5px;background:#f2f8ed}.plan-3d-loading{min-height:130px;margin:0;display:grid;place-items:center;color:#536056;font-size:11px}@media(min-width:761px)and (max-width:900px){.plan-3d-preview{width:230px}.plan-3d-preview.size-small{width:180px}.plan-3d-preview.size-large{width:280px}.plan-3d-preview .production-3d-canvas{height:150px}.plan-3d-preview.size-small .production-3d-canvas{height:120px}.plan-3d-preview.size-large .production-3d-canvas{height:190px}}.planner-hint{position:absolute;left:12px;bottom:12px;max-width:520px;padding:7px 10px;border:1px solid #dbe4d9;border-radius:7px;color:#5d695f;background:#fffffff0;font-size:9px;box-shadow:0 3px 10px #0000000f;pointer-events:none}.planner-inspector{padding:15px;overflow-y:auto;color:#172018;border-left:1px solid #dce4dc;background:#f8faf7}.planner-inspector h3{margin:0 0 10px;font-size:13px}.planner-inspector .field input,.planner-inspector .field select{color:#172018;background:#fff}.foundation-setup{display:grid;gap:12px}.foundation-setup-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.foundation-setup-heading h3{margin:0 0 4px;font-size:15px}.foundation-setup-heading p,.foundation-setup-note{margin:0;color:#68736a;font-size:10px;line-height:1.45}.foundation-setup-heading>svg{width:25px;height:25px;color:#5c9136}.foundation-mode-list{display:grid;gap:7px}.foundation-mode-list button{width:100%;display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;padding:10px;text-align:left;border:1px solid #dbe3d9;border-radius:9px;background:#fff}.foundation-mode-list button.active{border-color:#6c9d46;background:#edf6e8;box-shadow:0 0 0 1px #6c9d46 inset}.foundation-mode-mark{width:12px;height:12px;margin-top:2px;border:2px solid #9aa59a;border-radius:50%;background:#fff}.foundation-mode-list button.active .foundation-mode-mark{border:4px solid #5d9137}.foundation-mode-list strong,.foundation-mode-list small{display:block}.foundation-mode-list strong{color:#172018;font-size:11px}.foundation-mode-list small{margin-top:3px;color:#6a746c;font-size:9px;line-height:1.35}.foundation-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.foundation-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.foundation-preview span{padding:9px;border-radius:8px;background:#eef4eb}.foundation-preview small,.foundation-preview strong{display:block}.foundation-preview small{color:#6b766c;font-size:8px;text-transform:uppercase}.foundation-preview strong{margin-top:3px;color:#315d20;font-size:12px}.foundation-setup-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.foundation-setup-actions .button:first-child{grid-column:1 / -1}.button.danger{color:#9c2f2f;border-color:#e7c4c4;background:#fff5f5}.mobile-binding-setup{position:fixed;z-index:80;left:8px;right:8px;bottom:8px;max-height:min(78vh,720px);overflow-y:auto;padding:12px 14px 18px;border:1px solid #d7e1d5;border-radius:18px;background:#f8faf7;box-shadow:0 -12px 40px #1d311b38}.mobile-binding-setup>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-binding-setup>header strong,.mobile-binding-setup>header small{display:block}.mobile-binding-setup>header small{margin-top:2px;color:#6d776e;font-size:10px}.mobile-binding-setup>header button{padding:7px;border:0;border-radius:8px;background:#e9efe6}.mobile-binding-setup .foundation-setup-heading{display:none}.mobile-binding-setup .foundation-mode-list{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-binding-setup .foundation-mode-list button{grid-template-columns:12px minmax(0,1fr);padding:8px}.mobile-binding-setup .foundation-mode-list small,.foundation-setup-dialog{display:none}.plan-library-backdrop{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:24px;background:#141e157a;backdrop-filter:blur(3px)}.plan-library-modal{width:min(1180px,96vw);max-height:92vh;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #d7e1d4;border-radius:18px;background:#f7faf5;box-shadow:0 24px 70px #1223114d}.plan-library-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #dce5da;background:#fff}.plan-library-modal h2{margin:0 0 5px;font-size:22px}.plan-library-edit-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid #b7d7c1;border-radius:11px;background:#edf7ef;color:#285544;font-size:13px;font-weight:700}.plan-library-edit-banner .button{display:inline-flex;align-items:center;gap:7px;margin:0}.plan-library-edit-banner .button svg{width:16px;height:16px}@media(max-width:560px){.plan-library-edit-banner .button{width:100%;justify-content:center}}.plan-library-modal header p{max-width:760px;margin:0;color:#657067;font-size:12px;line-height:1.5}.plan-library-modal>header button{padding:8px;border:0;border-radius:9px;background:#edf2ea}.plan-library-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 18px;border-bottom:1px solid #dce5da;background:#fff}.plan-library-toolbar>strong{font-size:13px}.plan-library-toolbar-spacer{flex:1}.plan-library-toolbar .button{display:inline-flex;align-items:center;gap:5px}.plan-library-toolbar svg{width:15px;height:15px}.plan-library-folder{min-width:0;display:grid;gap:10px;align-content:start;padding:15px;border:1px solid #dbe4d8;border-radius:13px;background:#fff}.plan-library-folder-open{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:9px;background:#f1f6ed;text-align:left;cursor:pointer}.plan-library-folder-open svg{width:24px;height:24px;color:#4e8d37}.plan-library-folder-open small{margin-left:auto;color:#647264}.plan-library-move{display:flex;align-items:end;flex-wrap:wrap;gap:7px}.plan-library-move label{display:grid;gap:4px;flex:1;min-width:150px;font-size:11px}.plan-library-move select{width:100%;min-height:34px}.plan-library-empty{grid-column:1 / -1;padding:25px;text-align:center;color:#657067}.plan-library-grid{overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:14px;padding:18px;scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.plan-library-card{min-width:0;min-height:260px;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr);overflow:hidden;border:1px solid #dbe4d8;border-radius:13px;background:#fff;box-shadow:0 3px 12px #2438230d}.plan-library-thumbnail{width:100%;height:100%;min-height:260px;background:#f4f8f1}.plan-library-card-body{min-width:0;display:grid;align-content:start;gap:11px;padding:14px}.plan-library-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.plan-library-card-title strong,.plan-library-card-title small{display:block}.plan-library-card-title strong{color:#172018;font-size:14px}.plan-library-card-title small{margin-top:4px;color:#768078;font-size:9px}.plan-library-total{flex:0 0 auto;min-width:126px;padding:8px 10px;border:1px solid #cfe1c6;border-radius:9px;text-align:right;background:#eaf5e5}.plan-library-total span,.plan-library-total strong{display:block;white-space:nowrap}.plan-library-total span{color:#60705f;font-size:7px;text-transform:uppercase}.plan-library-total strong{margin-top:3px;color:#315f21;font-size:15px;line-height:1.1}.plan-library-total.current{border-color:#d8dfcf;background:#f1f4ec}.plan-library-total.current strong{color:#4b5d42}.plan-library-parameters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.plan-library-parameters span{min-width:0;padding:7px 8px;border-radius:7px;background:#f2f6ef}.plan-library-parameters small,.plan-library-parameters b{display:block;overflow-wrap:anywhere}.plan-library-parameters small{color:#7a847b;font-size:7px;text-transform:uppercase}.plan-library-parameters b{margin-top:2px;color:#263328;font-size:10px}.plan-library-actions{display:flex;flex-wrap:wrap;gap:6px}.plan-library-actions .button{min-height:32px;padding:0 9px;font-size:9px}.plan-library-actions .button svg{width:13px;height:13px}@media(max-width:640px){.plan-library-backdrop{padding:8px}.plan-library-modal{width:100%;max-height:calc(100vh - 16px);border-radius:14px}.plan-library-modal>header{padding:14px}.plan-library-modal h2{font-size:18px}.plan-library-modal header p{font-size:10px}.plan-library-grid{grid-template-columns:1fr;padding:10px}.plan-library-card{min-height:0;grid-template-columns:1fr}.plan-library-thumbnail{min-height:190px;max-height:230px}.foundation-setup-dialog{position:fixed;z-index:120;inset:64px 8px 8px;display:block;overflow-y:auto;padding:14px;border:1px solid #d6e1d3;border-radius:16px;background:#f8faf7;box-shadow:0 10px 45px #192d1847}.foundation-setup-dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.foundation-setup-dialog>header strong,.foundation-setup-dialog>header small{display:block}.foundation-setup-dialog>header small{margin-top:2px;color:#6b756c;font-size:10px}.foundation-setup-dialog>header button{padding:8px;border:0;border-radius:8px;background:#e9efe6}.foundation-setup-dialog .foundation-setup-heading{display:none}.foundation-setup-dialog .foundation-mode-list small{display:block}}.planner-stats{margin-top:12px;grid-template-columns:repeat(6,minmax(0,1fr))}.room-fill{fill:#f9f7e280;stroke:none;cursor:pointer}.room-fill:hover,.room-fill.selected{fill:#dcefcdad}.room-fill.selected{cursor:move}.room-fill.invalid{fill:#ffd0d094}.room-fill.open-rafter{fill:#dceffaad}.room-fill.open-rafter.selected{fill:#bee2f4c7}.selected-room-overlay{pointer-events:none}.selected-room-outline{fill:none;stroke:#69aa3f;stroke-width:4;stroke-dasharray:9 4;vector-effect:non-scaling-stroke;pointer-events:none}.selected-room-handle{pointer-events:all}.room-dimensions{fill:#708075;font-size:8px;text-anchor:middle;pointer-events:none}.room-ceiling-mode{fill:#24708d;font-size:8px;font-weight:800;text-anchor:middle;pointer-events:none}.unified-wall,.standalone-wall{stroke:var(--planner-wall);stroke-width:6;stroke-linecap:square;vector-effect:non-scaling-stroke}.standalone-wall{cursor:move}.standalone-wall.selected{stroke:var(--planner-green);stroke-width:8}.wide-hit{stroke:transparent;stroke-width:22;cursor:move;vector-effect:non-scaling-stroke}.endpoint-handle,.vertex-handle{fill:#fff;stroke:var(--planner-green);stroke-width:3;vector-effect:non-scaling-stroke;cursor:grab}.pile-row-endpoint{fill:#fff8e8;stroke:#a36a17;stroke-width:2}.binding-guide{fill:none;stroke:#d99d38;stroke-width:2;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;pointer-events:none}.binding-guide-line{stroke:#a66c19;stroke-width:6;opacity:.84;vector-effect:non-scaling-stroke;cursor:move}.binding-guide-line.selected{stroke:#4f9636;stroke-width:8;opacity:1}.binding-length-text{fill:#85520e;paint-order:stroke;stroke:#fff;stroke-width:4;font-size:9px;font-weight:800;text-anchor:middle;pointer-events:none}.binding-endpoint{fill:#fff;stroke:#4f9636}.manual-pile{fill:#efbb61;stroke:#1a261b;stroke-width:2;vector-effect:non-scaling-stroke;cursor:move}.manual-pile.selected{fill:#fff;stroke:#5d8f32;stroke-width:4}.wall-gap{stroke:#fff;stroke-width:11;vector-effect:non-scaling-stroke;cursor:move}.wall-gap.selected{stroke:#f09b3d}.draft-line{stroke:#5d8f32;stroke-width:3;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.draft-line.guide-aligned,.polygon-hover-edge.guide-aligned line{stroke:#43a047;stroke-width:4}.draft-line.guide-off-axis,.polygon-hover-edge.guide-off-axis line{stroke:#d7433b;stroke-width:4}.draft-line.pile-axis-aligned{stroke:#4f9636}.draft-line.pile-axis-warning{stroke:#d7493e;stroke-width:4}.draft-line.pile-axis-diagonal{stroke:#d69a32}.draft-room-dimensions{color:#37661f;pointer-events:none}.draft-room-dimensions line{stroke:#37661f;stroke-width:1.5;vector-effect:non-scaling-stroke}.draft-room-dimensions .draft-extension{stroke:#7b9b68;stroke-width:1;stroke-dasharray:3 3}.draft-room-dimensions text,.polygon-hover-edge text{fill:#214415;stroke:#fff;stroke-width:4;paint-order:stroke;font-size:11px;font-weight:900;text-anchor:middle}.draft-room-dimensions .draft-room-summary{fill:#000;stroke:none;stroke-width:0;font-size:12px}.polygon-hover-edge{pointer-events:none}.polygon-hover-edge line{stroke:#5d8f32;stroke-width:2;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.polygon-hover-edge.closing line{stroke:#43a047}.polygon-hover-edge .polygon-close-target{fill:#43a04729;stroke:#43a047;stroke-width:3}.polygon-hover-edge .polygon-close-label{fill:#2f7c33;font-size:10px}.snap-indicator{pointer-events:none}.snap-halo{fill:#69aa3f2e;stroke:#69aa3f;stroke-width:2;vector-effect:non-scaling-stroke}.snap-core{fill:#fff;stroke:#37661f;stroke-width:3;vector-effect:non-scaling-stroke}.snap-axis .snap-halo{fill:#dd9d3824;stroke:#d99d38}.snap-axis .snap-core{stroke:#a36a17}.polygon-point{fill:#fff;stroke:#5d8f32;stroke-width:2;vector-effect:non-scaling-stroke}.room-summary header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.room-summary header h3{margin:0 0 4px}.room-summary header p{margin:0 0 10px;color:#6c776e;font-size:9px;line-height:1.4}.room-summary header>strong{color:#37661f;white-space:nowrap}.room-summary-list{display:flex;flex-direction:column;gap:5px}.room-summary-list button{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;color:#172018;border:1px solid #dce4dc;border-radius:7px;background:#fff;text-align:left}.room-summary-list button:hover{border-color:#90b977;background:#f1f7ed}.room-summary-list button.invalid{border-color:#e69696;background:#fff3f3}.room-summary-list button span{display:flex;align-items:center;gap:7px;min-width:0}.room-summary-list button i{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;border-radius:50%;color:#fff;background:#6d8f59;font-size:8px;font-style:normal}.room-summary-list button strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.room-summary-list button em{color:#466d31;font-size:9px;font-style:normal;white-space:nowrap}.plan-warning,.plan-ok{margin:4px 0 10px;padding:8px;border-radius:7px;font-size:9px}.plan-warning{display:flex;align-items:center;gap:6px;color:#9e3030;background:#ffeaea}.plan-warning svg{width:14px;height:14px}.plan-ok{color:#37661f;background:#eaf4e4}.readout{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border-radius:7px;background:#eef4ea;font-size:9px}.danger-button{color:#a43b32;border-color:#e4b4ae;background:#fff8f7}.plan-workbench{height:690px;display:grid;grid-template-columns:64px minmax(0,1fr) 300px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}.tool-rail{z-index:2;padding:9px 7px;overflow-y:auto;border-right:1px solid #dce4dc;background:#f7f9f6}.tool-rail button{width:48px;min-height:47px;margin-bottom:5px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#5f6a61;border:0;border-radius:7px;background:transparent;font-size:8px}.tool-rail button svg{width:17px;height:17px}.tool-rail button:hover,.tool-rail button.active{color:#37661f;background:#e5f1dd}.canvas-panel{position:relative;min-width:0;overflow:hidden;background:#fff}.plan-top-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.sketch-select{min-height:38px;max-width:230px;padding:0 9px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:10px}.canvas-hint{padding:6px 9px;border:1px solid #dbe4d9;border-radius:7px;color:#5d695f;background:#fffffff0;font-size:9px;box-shadow:0 3px 10px #0000000d}.plan-svg{width:100%;height:100%;display:block;touch-action:none;background:#fff}.house-fill{fill:#fffef7}.blank-plan-prompt{fill:#477831;font-size:24px;font-weight:800;text-anchor:middle;pointer-events:none}.blank-plan-prompt-subtitle{fill:#7b877b;font-size:13px;font-weight:600}.draft-alignment-guides{pointer-events:none}.draft-alignment-guides line{stroke:#66a842;stroke-width:1.5;stroke-dasharray:10 7;opacity:.72;vector-effect:non-scaling-stroke}.room-shape{fill:#f9f7e28c;stroke:#172018;stroke-width:2.5;vector-effect:non-scaling-stroke}.room-shape:hover,.room-shape.selected{fill:#dcefcd9e;stroke:#5d8f32}.outer-wall{fill:none;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.outer-wall-border{stroke:#172018}.outer-wall-texture{stroke:url(#planner-wall-texture)}.inner-wall{fill:#f5f7ed38;stroke:#172018;stroke-width:3;vector-effect:non-scaling-stroke}.room-name{fill:#172018;font-size:12px;font-weight:800;text-anchor:middle;pointer-events:none}.room-area{fill:#172018;font-size:10px;text-anchor:middle;pointer-events:none}.platform-shape{fill:#92cad724;stroke:#46b7cc;stroke-width:2;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.platform-shape.selected{fill:#77c2d340;stroke:#238fa5}.platform-area{fill:#2f6570;font-size:20px;font-weight:650;text-anchor:middle}.platform-label{fill:#2f6570;font-size:22px;font-weight:700;text-anchor:middle}.stairs{fill:#b497691f;stroke:#253326;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.stairs line{stroke:#253326;stroke-width:1.5;vector-effect:non-scaling-stroke}.stairs .stair-direction{color:#426b2c;stroke:#426b2c;stroke-width:2}.opening-cut{stroke:#fff;stroke-width:12;vector-effect:non-scaling-stroke}.opening{fill:none;stroke:#00aeca;stroke-width:6;vector-effect:non-scaling-stroke}.opening.door{stroke:#10a8c1}.opening.garage{stroke:#2679a5;stroke-width:8}.opening-hit{fill:transparent;stroke:none;cursor:move;pointer-events:all}.planner-object:hover>.opening{stroke:#e49e2f}.selected-opening .opening{stroke:#e49e2f;stroke-width:6}.opening-tag{fill:#16abc5;stroke:#16abc5;stroke-width:.035}.door-swing{fill:none;stroke:#008ba3;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}.door-swing path{opacity:.9}.garage-gate{fill:none;stroke:#2679a5;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.garage-gate .gate-mark{stroke:#2679a5}.garage-door-swing{stroke:#126f9b}.pile-guide{stroke:#e3a643;stroke-width:2;stroke-dasharray:7 5;opacity:.85;vector-effect:non-scaling-stroke}.pile-guide.axis-aligned{stroke:#4f9636}.pile-guide.axis-warning{stroke:#d7493e;stroke-width:3;opacity:1}.pile-guide.axis-diagonal{stroke:#d69a32}.pile-point{fill:#efbb61;stroke:#1a261b;stroke-width:2;vector-effect:non-scaling-stroke}.pile-point.shared{fill:#7eb34f}.pile-spacing-text{fill:#8b5b12;paint-order:stroke;stroke:#fff;stroke-width:4;font-size:9px;font-weight:800;text-anchor:middle;pointer-events:none}.pile-spacing-text.axis-aligned{fill:#397526}.pile-spacing-text.axis-warning{fill:#b82f27}.pile-alignment-status{padding:8px 10px;border:1px solid transparent;border-radius:7px;font-size:9px;font-weight:800}.pile-alignment-status.aligned{color:#397526;border-color:#b8d5a7;background:#edf7e8}.pile-alignment-status.warning{color:#ad2e27;border-color:#edb5b0;background:#fff0ef}.pile-alignment-status.diagonal{color:#8b5b12;border-color:#e7cd98;background:#fff8e8}.outer-dimensions,.custom-dimension{fill:none;stroke:#3d4b3f;stroke-width:1.5;vector-effect:non-scaling-stroke}.custom-dimension{color:#3d4b3f;cursor:move}.custom-dimension.selected{stroke:#5d8f32;stroke-width:2.5}.dimension-tick,.extension-line{stroke:#708075;stroke-width:1;vector-effect:non-scaling-stroke}.extension-line{opacity:.7}.outer-dimensions text,.dimension-text{fill:#243127;stroke:none;font-size:inherit;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px}.outer-dimensions{cursor:move}.outer-dimensions.selected{color:#4e8d32;stroke:#4e8d32;stroke-width:2.5}.derived-pile{cursor:pointer}.derived-pile.selected{fill:#fff;stroke:#c4483d;stroke-width:4}.house-contour-object.selected .outer-wall-border{stroke:#4e9634}.contour-handle{fill:#f8fff5}.roof-plan-overlay{pointer-events:none}.roof-cover-plane{fill:none;stroke:none}.roof-overhang-outline{fill:none;stroke:#667466;stroke-width:2;stroke-dasharray:9 5;vector-effect:non-scaling-stroke}.roof-mauerlat{fill:none;stroke:#9a6419;stroke-width:7;vector-effect:non-scaling-stroke}.roof-mauerlat-extension line{stroke:#9a6419;stroke-width:7;vector-effect:non-scaling-stroke}.roof-rafters line{stroke:#394a3d;stroke-width:2.2;opacity:.72;vector-effect:non-scaling-stroke}.roof-common-rafters line{stroke:#17251a;stroke-width:4.2;opacity:.88}.roof-jack-rafters line{stroke:#344738;stroke-width:2.5;opacity:.76}.roof-counter-lath line{stroke:#50839a;stroke-width:6;stroke-linecap:square;opacity:.23;vector-effect:non-scaling-stroke}.roof-lath line{stroke:#b97827;stroke-width:2.4;opacity:.38;vector-effect:non-scaling-stroke}.roof-ridge{stroke:#a76616;stroke-width:7;vector-effect:non-scaling-stroke}.roof-tier-junction{stroke:#5b3a24;stroke-width:5;stroke-dasharray:10 5}.roof-plan-tier-label{fill:#152719;font-size:17px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px}.tiered-roof-editor{margin:14px 0;padding:16px;border:1px solid #b9cbbd;border-radius:12px;background:#f7faf6}.tiered-roof-editor>h3,.tiered-roof-editor>h4{margin:0 0 8px}.tiered-roof-editor>p{margin:6px 0 14px;line-height:1.45}.tiered-roof-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.tiered-roof-metrics>div{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid #d6e1d7;border-radius:8px;background:#fff}.tiered-roof-metrics span{color:#263e2b}.tiered-gable-list{display:grid;gap:8px;margin:12px 0}.tiered-gable-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(180px,1.4fr) minmax(135px,1fr) auto;align-items:end;gap:8px;padding:10px;border:1px solid #d6e1d7;border-radius:8px;background:#fff}.tiered-gable-row>strong{align-self:center}@media(max-width:768px){.tiered-roof-metrics{grid-template-columns:1fr}.tiered-gable-row{grid-template-columns:1fr 1fr}.tiered-gable-row>strong{grid-column:1 / -1}}@media(max-width:430px){.tiered-gable-row{grid-template-columns:1fr}.tiered-gable-row>strong{grid-column:auto}.tiered-roof-metrics>div{flex-wrap:wrap}}.roof-hips line{stroke:#8e5816;stroke-width:5;vector-effect:non-scaling-stroke}.roof-plan-caption{pointer-events:none}.roof-plan-caption rect{fill:#ffffffe0;stroke:#819778;stroke-width:1.5;vector-effect:non-scaling-stroke}.roof-plan-caption text{fill:#1f3122;font-size:22px;font-weight:900;text-anchor:middle}.roof-layer-toggles{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}.roof-layer-toggles .toggle-row{min-height:38px}.polygon-draft,.draft-shape{fill:#5097331c;stroke:#5d8f32;stroke-width:.04;stroke-dasharray:.12 .07}.vertex-handle{fill:#fff;stroke:#5d8f32;stroke-width:.045}.plan-grid-hit{fill:url(#planner-grid)}.plan-inspector{padding:15px;overflow-y:auto;color:#172018;border-left:1px solid #dce4dc;background:#f8faf7}.plan-inspector h2{margin:0 0 4px;font-size:14px}.inspector-note{margin:0 0 15px;color:#6c776e;font-size:9px;line-height:1.5}.inspector-form{display:grid;gap:10px}.inspector-form .field input,.inspector-form .field select{color:#172018;background:#fff}.door-orientation-field{display:grid;gap:6px;min-width:0;color:#172018;font-size:11px;font-weight:700}.door-orientation-options{display:flex;gap:5px;min-width:0}.door-orientation-options button{flex:1;min-width:0;min-height:40px;padding:6px;border:1px solid #aebbac;border-radius:8px;background:#fff;color:#172018;font:inherit;cursor:pointer}.door-orientation-options button.active{border-color:#267c4b;background:#e3f1e7;box-shadow:inset 0 0 0 1px #267c4b}.door-orientation-options button:focus-visible{outline:2px solid #174f33;outline-offset:2px}.inspector-empty{padding-top:18px}.inspector-empty h3{font-size:12px}.inspector-empty ul{padding-left:16px;color:#69736b;font-size:10px;line-height:1.7}.price-toolbar{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(190px,280px) auto;gap:10px;margin-bottom:12px}.price-access-panel{border-width:1.5px}.price-access-panel.locked{border-color:#dfc27a;background:linear-gradient(145deg,#fffdf7,#fff7df)}.price-access-panel.unlocked{border-color:#a9c996;background:linear-gradient(145deg,#fbfef9,#eff8ea)}.price-unlock-form,.price-access-state{display:flex;align-items:flex-end;gap:12px}.price-unlock-form>svg,.price-access-state>svg{flex:0 0 26px;width:26px;height:26px;margin-bottom:7px;color:var(--green)}.price-unlock-form label{display:flex;flex:1;flex-direction:column;gap:5px;max-width:340px;color:var(--muted);font-size:9px;font-weight:700}.price-unlock-form label>div{display:flex;align-items:center;gap:7px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.price-unlock-form label svg{width:16px;color:var(--muted)}.price-unlock-form input{flex:1;min-width:0;color:var(--ink);border:0;outline:0;background:transparent;font-size:13px}.temporary-guide{pointer-events:none}.temporary-guide-line{stroke:#7a55b7;stroke-width:2;stroke-dasharray:9 7;vector-effect:non-scaling-stroke}.temporary-guide.selected .temporary-guide-line{stroke:#075b37;stroke-width:3}.cut-assembly svg{user-select:none}.auto-roof-supports .cut-table-wrap table{min-width:0}.auto-roof-supports .cut-table-wrap th,.auto-roof-supports .cut-table-wrap td{padding:6px;white-space:normal;font-size:12px}.temporary-guide-measure{stroke:#4d3279;stroke-width:2;marker-start:url(#planner-arrow);marker-end:url(#planner-arrow);vector-effect:non-scaling-stroke}.temporary-guide-distance{fill:#2b164e;stroke:#fff;stroke-width:4;paint-order:stroke;font-size:13px;font-weight:900;text-anchor:middle}.temporary-guide-hit{stroke:transparent;stroke-width:22;cursor:ew-resize;pointer-events:stroke}.temporary-guide[data-axis=y] .temporary-guide-hit{cursor:ns-resize}.temporary-guide-clear{pointer-events:all;cursor:pointer}.temporary-guide-clear rect{fill:#fff;stroke:#7453aa;stroke-width:1.5}.temporary-guide-clear text{fill:#2b164e;font-size:11px;font-weight:800;text-anchor:middle;pointer-events:none}.price-unlock-form .password-input{flex:1;height:36px;padding:0;border:0;background:transparent}.price-access-state{align-items:center}.price-access-state>svg{margin:0}.price-access-state>div{display:flex;flex:1;flex-direction:column;gap:4px}.price-access-state span{color:var(--muted);font-size:9px}.price-save-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.price-save-guide article{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.price-save-guide strong{color:var(--green-dark);font-size:10px}.price-save-guide span{color:var(--muted);font-size:9px;line-height:1.45}.editable-table input:disabled{color:var(--muted);border-color:transparent;background:#7882780f;cursor:not-allowed}.segmented{display:flex;padding:3px;border-radius:8px;background:var(--surface)}.segmented button{padding:0 12px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:10px;font-weight:700}.segmented button.active{color:var(--green-dark);background:var(--panel);box-shadow:0 1px 4px #00000014}.search-box{height:38px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.search-box svg{width:15px;color:var(--muted)}.search-box input{height:auto;padding:0;border:0;background:transparent}.price-table-wrap{max-height:610px}.editable-table{min-width:950px}.editable-table input{height:30px;border-color:transparent;background:transparent}.editable-table input:hover{border-color:var(--line)}.editable-table th:nth-last-child(-n+3),.editable-table td:nth-last-child(-n+3){text-align:left}.editable-table th:first-child,.editable-table td:first-child{width:120px}.editable-table th:nth-child(4),.editable-table td:nth-child(4){width:90px}.editable-table th:nth-child(5),.editable-table td:nth-child(5){width:140px}.editable-table th:last-child,.editable-table td:last-child{width:44px}.editable-table td small{display:none}.print-sheet{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.print-title{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:22px;border-bottom:3px solid var(--green)}.print-title>div:last-child{text-align:right}.print-title h1{margin:0 0 8px;font-size:18px}.print-brand{display:flex;align-items:center;gap:12px}.print-brand img{width:68px;height:48px;object-fit:contain}.print-brand div{display:flex;flex-direction:column;gap:4px}.print-brand span{color:var(--muted);font-size:10px}.print-diagram-options{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;flex-wrap:wrap;gap:12px 16px;margin-bottom:12px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.estimate-price-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #e0b55e;border-radius:12px;background:#fff8e7;color:#76510d}.estimate-price-warning svg{width:20px;flex:0 0 20px}.estimate-price-warning div{display:grid;gap:3px}.estimate-price-warning span{font-size:13px}.print-diagram-options>div{display:flex;flex:1;flex-direction:column;gap:3px}.print-diagram-options strong{font-size:14px}.print-diagram-options span{color:var(--muted);font-size:9px}.print-diagram-options label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:13px;font-weight:700;white-space:normal;cursor:pointer}.print-diagram-options label.maximum-compact-option{border-color:#8db66c;background:#eef7e8;color:var(--green-dark)}.compact-estimate-preview{margin:0 0 20px;padding:16px;border:1px solid #b9d5a5;border-radius:12px;background:#f6faf3}.compact-estimate-preview>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;border-bottom:1px solid #d6e5cb}.compact-estimate-preview>header div{display:grid;gap:3px}.compact-estimate-preview>header span{color:var(--muted);font-size:12px}.compact-estimate-preview .estimate-section{margin:14px 0}.print-option-group{display:flex;align-items:center;gap:7px}.print-option-group.plan-layers{width:100%;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--line)}.print-option-group>span{margin-right:3px;color:var(--muted);font-size:9px;font-weight:800}.print-diagram-options>.print-option-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;align-items:stretch}.print-diagram-options label{min-height:44px;transition:background .15s,border-color .15s}.print-diagram-options label:has(input:checked){border-color:#91b979;background:#f0f7eb;color:#27452b}.print-diagram-options input{width:17px;height:17px;flex-shrink:0;accent-color:#568637}.print-diagram-options>.plan-layers{grid-column:1 / -1;padding-top:16px}.print-diagram-options .plan-layers>span{grid-column:1 / -1;font-size:12px}@media(max-width:700px){.print-diagram-options{grid-template-columns:minmax(0,1fr);padding:16px}}.print-diagrams{display:grid;gap:12px;margin:0 0 18px}.print-diagrams.two{grid-template-columns:1fr 1fr}.print-diagrams.one{grid-template-columns:1fr}.print-diagrams article{min-width:0;padding:10px;border:1px solid #cfdbca;border-radius:9px;background:#fff;break-inside:avoid}.print-diagrams h2{margin:0 0 6px;color:#376929;font-size:12px}.print-diagrams .floor-sheet{grid-column:1 / -1}.print-diagrams .floor-sheet svg{max-height:550px}.estimate-images{margin:16px 0 20px}.estimate-images>header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.estimate-image-source-actions{display:flex;flex-wrap:wrap;gap:7px}.estimate-image-source-actions .button{min-height:36px}.estimate-image-source-actions .button svg{width:16px;height:16px}.estimate-images h2{margin:0;font-size:16px}.estimate-images header p,.estimate-images-empty{margin:3px 0;color:var(--muted);font-size:12px}.estimate-image-error{color:#9b342b;font-size:12px}.estimate-images-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.estimate-images figure{min-width:0;margin:0;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel);break-inside:avoid}.estimate-images figure img{display:block;width:100%;max-height:360px;object-fit:contain;background:#fff;border-radius:6px}.estimate-images figcaption{margin-top:8px;font-size:12px;font-weight:700}.estimate-image-page-option{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px}.estimate-images figcaption input{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink)}.estimate-image-actions{display:flex;gap:6px;margin-top:8px}.estimate-image-actions button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);cursor:pointer}.estimate-image-actions button svg{width:15px;height:15px}.estimate-image-actions button:disabled{opacity:.4;cursor:default}.estimate-file-references{margin:16px 0 20px;padding:12px;border:1px solid var(--line);border-radius:10px;break-inside:avoid}.estimate-file-references h2{margin:0 0 4px;font-size:16px}.estimate-file-references p{margin:0 0 8px;color:var(--muted);font-size:11px}.estimate-file-references ul{list-style:none;margin:0;padding:0}.estimate-file-references li{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 0}.estimate-file-references li a{overflow-wrap:anywhere}.estimate-file-references li .icon-button{margin-left:auto}.modal.estimate-file-picker,.modal.estimate-3d-dialog{width:min(900px,100%);max-height:94dvh}.estimate-file-picker>input[type=search]{width:100%;min-width:0;margin:10px 0;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.estimate-file-picker-list{display:grid;gap:5px;max-height:50dvh;overflow-y:auto}.estimate-file-picker-list>button{display:flex;align-items:center;gap:9px;min-width:0;text-align:left;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);cursor:pointer}.estimate-file-picker-list>button:hover{background:var(--surface)}.estimate-file-picker-list>button:disabled{opacity:.55;cursor:default}.estimate-file-picker-list>button svg{width:17px;height:17px;flex:none}.estimate-file-picker-list>button span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.estimate-file-picker-list>button small{color:var(--muted)}.estimate-file-picker-list>button strong{margin-left:auto;white-space:nowrap;font-size:11px}.estimate-3d-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:9px;margin-bottom:10px}.estimate-3d-controls label{display:grid;gap:4px;min-width:0;font-size:11px;font-weight:700}.estimate-3d-controls input,.estimate-3d-controls select{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.estimate-3d-dialog .production-3d.is-large .production-3d-canvas{height:min(42dvh,420px)}.estimate-3d-dialog .production-3d>small{display:none}@media(max-width:700px){.estimate-3d-controls{grid-template-columns:1fr}.estimate-3d-dialog .production-3d.is-large .production-3d-canvas{height:32dvh}.estimate-image-source-actions{width:100%}.estimate-image-source-actions .button{flex:1 1 135px}}.team-user-edit-dialog{display:grid;gap:12px;width:min(480px,calc(100vw - 24px));max-height:90vh;overflow-y:auto}.team-user-edit-dialog label:not(.team-user-active){display:grid;gap:5px;font-size:12px;font-weight:700}.team-user-edit-dialog label>input:not([type=checkbox]),.team-user-edit-dialog select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text)}.team-user-edit-dialog .team-user-active{display:flex;align-items:center;gap:9px}.team-user-edit-dialog .password-input{width:100%}@media(max-width:700px){.estimate-images-grid{grid-template-columns:1fr}}@media print{.estimate-images:has(.estimate-images-grid){break-before:page;page-break-before:always}.estimate-images-grid:has(.is-full-page){display:block}.estimate-images-grid:not(:has(.is-full-page)){gap:8mm}.estimate-images figure{margin:0 0 8mm}.estimate-images figure img{max-height:95mm}.estimate-images figure.is-full-page{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;width:100%;height:267mm;margin:0;padding:3mm;break-before:page;break-after:page}.estimate-images figure.is-full-page img{width:100%;max-height:249mm;object-fit:contain}.estimate-images figure.is-full-page figcaption{flex:none;margin-top:2mm;font-size:10pt}}.print-diagram-options small{display:block;color:var(--muted);margin-top:4px;font-size:11px}@media(max-width:700px){.print-diagrams article{overflow-x:auto}.print-diagrams .floor-sheet svg{width:650px;max-width:none;max-height:none}}.print-diagrams svg{display:block;width:100%;height:auto;max-height:390px}.print-plan-svg text,.print-roof-svg text{fill:#253025;font-size:11px;text-anchor:middle}.print-plan-svg .print-house-fill{fill:#fbfaf0}.print-plan-svg .print-platform rect{fill:#edf8fb;stroke:#52b9ca;stroke-width:2;stroke-dasharray:7 5}.print-plan-svg .print-platform text{font-size:20px}.print-plan-svg .print-platform .print-platform-roof rect{fill:none;stroke:#8d621f;stroke-width:2;stroke-dasharray:7 4}.print-plan-svg .print-platform-roof line{stroke:#745230;stroke-width:2}.print-plan-svg .print-platform-roof .ridge{stroke:#476f62;stroke-width:3}.print-plan-svg .print-platform-roof.continuation rect{fill:none;stroke:#8d621f}.print-plan-svg .print-platform-roof.continuation line{stroke:#52685b}.print-plan-svg .print-platform-roof.continuation .ridge{stroke:#9a5f16;stroke-width:8}.print-plan-svg .print-platform-roof.continuation .continuation-outline{fill:none;stroke:#8d621f;stroke-width:3;stroke-dasharray:8 5}.print-plan-svg .print-platform-title{font-weight:800}.print-plan-svg .print-room polygon{fill:#fffdf2;stroke:none}.print-plan-svg .print-room .room-title{font-weight:800}.print-plan-svg .print-outer-wall{fill:none;stroke:#182019;stroke-width:9}.print-plan-svg .print-inner-wall{stroke:#182019;stroke-width:4}.print-plan-svg .print-floor-opening rect{fill:#fff7da;stroke:#8a5d13;stroke-width:2.5;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.print-plan-svg .print-floor-opening text{fill:#55380d;font-size:11px;font-weight:800;text-anchor:middle}.print-roof-top-layer{pointer-events:none}.print-roof-overhang{fill:#c4964917;stroke:#8d621f;stroke-width:3;stroke-dasharray:8 5}.print-roof-mauerlat-extension line{stroke:#9a6419;stroke-width:7}.print-roof-ridge{stroke:#9a5f16;stroke-width:8}.print-roof-diagonals line{stroke:#9a5f16;stroke-width:6}.print-roof-rafters line{stroke:#52685b;stroke-width:2;opacity:.78}.print-roof-caption{fill:#67451b!important;font-size:18px!important;font-weight:850;paint-order:stroke;stroke:#fff;stroke-width:4}.print-plan-svg .print-opening-cut{stroke:#fff;stroke-width:12}.print-plan-svg .print-opening{fill:none;stroke:#0aaec8;stroke-width:6}.print-plan-svg .print-opening.window{stroke:#00aeca;stroke-width:6}.print-plan-svg .print-opening.door{stroke:#d97918;stroke-width:6}.print-plan-svg .print-opening.garage{stroke:#2679a5;stroke-width:8}.print-plan-svg .print-door-swing{fill:none;stroke:#d97918;stroke-width:2.5}.print-plan-svg .print-door-swing.garage{stroke:#2679a5;stroke-width:2.8}.print-plan-svg .print-opening-tag{fill:#b85a08;font-size:9px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:3}.print-plan-svg .print-opening-group.garage .print-opening-tag{fill:#1f668b}.print-plan-svg .print-binding line,.print-plan-svg .print-binding rect{fill:none;stroke:#ef9b16;stroke-width:4;stroke-dasharray:8 5;paint-order:stroke}.print-plan-svg .print-piles circle{fill:#f7ba57;stroke:#1e2820;stroke-width:2}.print-plan-svg .print-house-dimensions line{stroke:#556057;stroke-width:1.5}.print-plan-svg .print-house-dimensions path{fill:#556057}.print-plan-svg .print-house-dimensions text{font-size:12px;font-weight:700}.print-plan-svg .print-plan-legend .legend-background{fill:#fff;stroke:#d5ded2;stroke-width:1}.print-plan-svg .print-plan-legend .legend-item text{fill:#334034;font-size:9px;font-weight:700;text-anchor:start}.print-plan-svg .print-plan-legend line{fill:none;vector-effect:non-scaling-stroke}.print-plan-svg .print-plan-legend .legend-outer{stroke:#182019;stroke-width:7}.print-plan-svg .print-plan-legend .legend-inner{stroke:#182019;stroke-width:3}.print-plan-svg .print-plan-legend .legend-binding{stroke:#ef9b16;stroke-width:4;stroke-dasharray:7 4}.print-plan-svg .print-plan-legend .legend-window{stroke:#00aeca;stroke-width:5}.print-plan-svg .print-plan-legend .legend-door{stroke:#d97918;stroke-width:5}.print-roof-svg rect,.print-roof-svg line{fill:none;stroke:#202a21;stroke-width:3;vector-effect:non-scaling-stroke}.print-roof-svg .support{stroke:#5b963e;stroke-width:4}.print-roof-svg .mauerlat,.print-roof-svg .ridge{stroke:#c88b24;stroke-width:7}.print-roof-svg .print-roof-hips line{stroke:#9b6518;stroke-width:5}.print-roof-svg text{font-size:12px;font-weight:700}.project-summary{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:20px 0}.project-summary dl{margin:0}.project-summary dl div{display:grid;grid-template-columns:150px 1fr;padding:6px 0;border-bottom:1px solid var(--line)}.project-summary dt{color:var(--muted);font-size:10px}.project-summary dd{margin:0;font-size:10px;font-weight:700}.estimate-totals{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:10px;margin-bottom:22px}.commercial-scope{margin:0 0 24px;padding:16px;border:1px solid #cdddc5;border-radius:11px;background:linear-gradient(145deg,#f7faf5,#edf5e8);break-inside:avoid}.commercial-scope>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}.commercial-scope>header span{color:#5f7653;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.commercial-scope>header h2{margin:3px 0 0;color:#2d5422;font-size:15px}.commercial-scope>header p{max-width:280px;margin:0;color:#657063;font-size:9px;text-align:right}.commercial-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.commercial-scope-item{min-width:0;padding:10px;border:1px solid #d8e4d2;border-radius:8px;background:#ffffffd1;break-inside:avoid}.commercial-scope-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.commercial-scope-heading h3{margin:0;color:#20351c;font-size:10px;line-height:1.35}.commercial-scope-heading strong{color:#477b32;font-size:10px;white-space:nowrap}.commercial-scope-item p{margin:7px 0 3px;color:#263a25;font-size:9px;font-weight:700;line-height:1.4}.commercial-scope-item small{display:block;min-height:25px;color:#697468;font-size:8px;line-height:1.45}.commercial-scope-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.commercial-scope-tags span{padding:2px 6px;color:#426934;border-radius:999px;background:#e7f1e1;font-size:7px;font-weight:800}.commercial-scope>footer{margin-top:10px;padding-top:9px;color:#586555;border-top:1px solid #d2dfcc;font-size:8px;line-height:1.45}.estimate-section{margin:22px 0;break-inside:avoid}.estimate-custom-groups-toolbar,.estimate-custom-group-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.estimate-custom-groups-toolbar{margin:14px 0}.estimate-custom-groups-toolbar span{color:var(--muted);font-size:12px}.estimate-custom-group-title{margin-bottom:8px}.estimate-custom-group-title input{flex:1 1 240px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green-dark);font-family:inherit;font-size:14px;font-weight:700}.estimate-section h2{margin:0 0 8px;padding-bottom:7px;color:var(--green-dark);border-bottom:1px solid var(--line);font-size:13px}.estimate-footer{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-top:25px;padding-top:18px;border-top:3px solid var(--green)}.estimate-footer p{max-width:650px;margin:0;color:var(--muted);font-size:9px}.estimate-footer strong{color:var(--green-dark);font-size:18px;white-space:nowrap}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.calculation-settings-screen .panel{margin-bottom:14px}.calculation-flow{display:flex;flex-direction:column;gap:7px}.calculation-flow article{position:relative;display:grid;grid-template-columns:86px minmax(120px,1fr) 18px minmax(150px,1.15fr) 18px minmax(105px,.7fr) 18px minmax(135px,1fr) 82px;gap:7px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.calculation-flow article>svg{width:15px;color:#8a998c}.calculation-flow article>div{min-width:0;display:flex;flex-direction:column;gap:4px}.calculation-flow small{color:var(--muted);font-size:8px;text-transform:uppercase}.calculation-flow strong,.calculation-flow span,.calculation-flow code{overflow-wrap:anywhere;font-size:9px;line-height:1.35}.calculation-flow code{color:#5b441c;font-family:inherit}.flow-group{padding:5px 7px;border-radius:6px;color:#37661f;background:#e8f2e1;font-size:8px!important;font-weight:800;text-align:center}.flow-result strong{color:#37661f;font-size:11px}.calculation-flow article>i{display:flex;align-items:center;justify-content:center;gap:4px;color:#477838;font-size:8px;font-style:normal}.calculation-flow article>i svg{width:13px}.calculation-flow article>i.manual{color:#a56822}.settings-columns{align-items:start}.price-adjustment-toolbar,.price-adjustment-toolbar>div,.price-adjustment-toolbar span{display:flex;align-items:center}.price-adjustment-toolbar{justify-content:space-between;gap:14px;margin-bottom:12px;padding:10px 12px;border-radius:9px;color:#37661f;background:#edf6e8}.price-adjustment-toolbar>div{gap:9px}.price-adjustment-toolbar svg{flex:0 0 20px;width:20px}.price-adjustment-toolbar span{align-items:flex-start;flex-direction:column;gap:3px}.price-adjustment-toolbar small{color:var(--muted)}.price-adjustment-grid{display:grid;gap:6px}.price-adjustment-grid article{display:grid;grid-template-columns:minmax(260px,1fr) 170px 170px;align-items:end;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.price-adjustment-group{display:flex;align-self:center;flex-direction:column;gap:4px}.price-adjustment-group small{color:var(--muted);font-size:9px}.price-adjustment-grid .field>span{font-size:9px}.price-link-status{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:9px}.price-link-status.ok{color:#386a2a;background:#eaf5e4}.price-link-status.warning{color:#955b1c;background:#fff3d9}.price-link-status>svg{flex:0 0 20px;width:20px}.price-link-status div{display:flex;flex-direction:column;gap:5px}.price-link-status span{font-size:9px;line-height:1.45}.price-link-list{margin-top:9px}.price-link-list>div{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:9px}.price-link-list strong{color:#477838}.price-link-list strong.bad{color:#b15f30}.formula-grid .field>span{min-height:24px;line-height:1.25}.formula-ledger{max-height:520px}.formula-ledger .data-table{min-width:1000px}.formula-ledger code{color:#4d6f3b;font-size:8px}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:#0f18108f;backdrop-filter:blur(5px)}.modal{width:min(560px,100%);max-height:min(720px,90vh);overflow:auto;padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 28px 80px #0000004d}.modal>header{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px}.print-plan-svg .print-floor-opening line,.print-plan-svg .print-floor-opening .stair-direction-head{stroke:#624413;stroke-width:1.5;fill:none}.print-plan-svg .print-floor-opening .stair-direction-shaft{stroke-width:3}.print-plan-svg .print-floor-opening .stair-direction-head{fill:#624413}.modal.team-user-edit-dialog>header{display:block}.modal.team-user-edit-dialog>header h2{margin-bottom:7px}.modal h2{margin:0 0 5px;font-size:17px}.modal p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.modal>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.estimate-print-dialog{width:min(430px,100%)}.estimate-print-dialog p{font-size:13px}.estimate-print-dialog footer{flex-wrap:wrap}@media(max-width:430px){.estimate-print-dialog footer .button{width:100%}}.brief-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.brief-summary>div{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.brief-summary .wide{grid-column:1 / -1}.brief-summary dt{margin-bottom:3px;color:var(--muted);font-size:9px}.brief-summary dd{margin:0;font-size:11px;line-height:1.45}.brief-warning{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:11px 12px;border-radius:9px;background:var(--green-soft);font-size:10px;line-height:1.5}.backup-list{display:flex;flex-direction:column;gap:7px}.backup-list>button{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left}.backup-list>button:hover{border-color:#92b77b;background:var(--green-soft)}.backup-list span{display:flex;flex-direction:column;gap:4px}.backup-list small,.backup-list time{color:var(--muted);font-size:9px}@media(max-width:1450px){.app-layout{grid-template-columns:254px minmax(0,1fr) 320px}.workspace{padding:18px}.project-summary-sidebar{padding-right:10px;padding-left:10px}.plan-screen-v2 .screen-header{display:grid;grid-template-columns:minmax(0,1fr)}.plan-screen-v2 .screen-actions{flex-wrap:wrap}.plan-workbench{grid-template-columns:80px minmax(0,1fr) 250px}.parameters-master-layout{grid-template-columns:1fr}.parameter-navigator{position:static;max-height:none;order:-1}.parameter-navigator nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1181px){.plan-screen-v2 .screen-header h1{font-size:18px}.plan-screen-v2 .screen-header p{font-size:10px}}@media(max-width:1180px){.app-layout{grid-template-columns:254px minmax(0,1fr)}.project-summary-sidebar{display:none}.planner-shell:has(.planner-inspector .room-summary){grid-template-columns:82px minmax(0,1fr) 270px}.planner-inspector:has(.room-summary){display:block}}@media(max-width:1100px){.brand{min-width:auto}.brand div{display:none}.header-totals div{min-width:102px}.app-layout{grid-template-columns:204px minmax(0,1fr)}.plan-workbench{grid-template-columns:58px minmax(0,1fr) 270px}.plan-status-bar{grid-template-columns:1fr auto}.plan-view-switches{grid-column:1;grid-row:2}.planner-shell{grid-template-columns:82px minmax(0,1fr) 270px}.planner-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-row,.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.calculation-flow article{grid-template-columns:72px 1fr 14px 1fr 14px .7fr}.calculation-flow article>div:last-of-type,.calculation-flow article>i{grid-column:2/-1}.parameter-entity-list>article{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.planner-inspector{scroll-margin-top:76px}.app-header{height:64px;padding:0 12px;gap:8px}.brand img{width:46px;height:34px}.header-totals{margin-left:auto}.header-totals div:not(.adjusted){display:none}.header-totals .adjusted{min-width:92px}.header-actions .icon-button:nth-of-type(2),.header-actions .icon-button:nth-of-type(3){display:none}.mobile-menu{display:inline-grid!important}.app-layout{display:block;min-height:calc(100vh - 64px)}.sidebar{position:fixed;top:0;bottom:0;left:0;height:100vh;width:254px;transform:translate(-102%);transition:.2s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.sidebar-mobile-head{display:flex;align-items:center;justify-content:space-between;padding:2px 5px 12px}.sidebar-mobile-head button{border:0;color:var(--ink);background:transparent}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:20;border:0;background:#0a120b75}.workspace{padding:16px 12px}.screen-header{flex-direction:column;gap:12px}.screen-actions{width:100%;flex-wrap:wrap}.two-column-layout,.project-summary{grid-template-columns:1fr}.commercial-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-workbench{height:auto;min-height:740px;grid-template-columns:1fr;grid-template-rows:54px 560px auto;overflow:visible}.planner-shell:has(.planner-inspector .room-summary){grid-template-columns:1fr;grid-template-rows:64px 570px auto}.plan-status-bar{grid-template-columns:1fr}.plan-floor-switcher{width:100%;flex-wrap:wrap}.plan-floor-switcher button{flex:1 1 auto;justify-content:center}.price-adjustment-grid article{grid-template-columns:repeat(2,minmax(0,1fr))}.price-adjustment-group{grid-column:1 / -1}.plan-transfer-status{align-items:flex-start;flex-wrap:wrap}.plan-transfer-status small{width:100%;margin-left:24px}.plan-house-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-view-switches,.zoom-controls{grid-column:auto;grid-row:auto}.planner-shell{height:auto;min-height:800px;grid-template-columns:1fr;grid-template-rows:64px 570px auto;overflow:visible}.planner-tools{display:flex;gap:4px;padding:6px;overflow-x:auto;border:0;border-bottom:1px solid #dce4dc}.planner-tools button{flex:0 0 68px;min-height:48px;margin:0;flex-direction:column;justify-content:center;gap:3px;text-align:center}.polygon-actions{display:flex;margin:0;padding:0;border:0}.planner-inspector{border:0;border-top:1px solid #dce4dc}.plan-top-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-rail{display:flex;gap:4px;overflow-x:auto;border:0;border-bottom:1px solid #dce4dc}.tool-rail button{flex:0 0 48px;min-height:40px;margin:0}.plan-inspector{border:0;border-top:1px solid #dce4dc;max-height:none}.price-toolbar{grid-template-columns:1fr 1fr}.calculation-flow article{grid-template-columns:1fr}.calculation-flow article>svg{display:none}.calculation-flow article>div:last-of-type,.calculation-flow article>i{grid-column:auto}.calculation-link-banner{align-items:flex-start;flex-direction:column}.frame-type-guide{grid-template-columns:1fr}.rafter-scheme-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.planner-canvas .canvas-history-controls{top:66px}.header-totals{display:flex;flex:0 0 auto}.brand>.version-badge,.header-actions .questionnaire-link{display:none}.header-actions{margin-left:auto;gap:4px}.price-adjustment-toolbar{align-items:stretch;flex-direction:column}.price-adjustment-grid article{grid-template-columns:1fr}.price-adjustment-group{grid-column:auto}.header-actions .icon-button:nth-of-type(4),.header-actions .icon-button:nth-of-type(6),.header-actions .icon-button:nth-of-type(8),.header-actions .icon-button:nth-of-type(10){display:none}.brief-summary{grid-template-columns:1fr}.brief-summary .wide{grid-column:auto}.screen-header h1{font-size:21px}.stats-row,.form-grid,.form-grid.three,.form-grid.four,.toggle-grid,.service-groups,.estimate-totals{grid-template-columns:1fr}.span-2{grid-column:auto}.price-toolbar{grid-template-columns:1fr}.price-unlock-form,.price-access-state{align-items:stretch;flex-direction:column}.price-unlock-form>svg,.price-access-state>svg{display:none}.price-save-guide,.plan-top-controls,.plan-house-fields{grid-template-columns:1fr}.plan-view-switches{flex-wrap:wrap}.planner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.print-sheet{padding:14px}.print-title{flex-direction:column;gap:16px}.print-title>div:last-child{text-align:left}.project-summary dl div{grid-template-columns:120px 1fr}.commercial-scope>header{align-items:flex-start;flex-direction:column;gap:5px}.commercial-scope>header p{text-align:left}.commercial-scope-grid{grid-template-columns:1fr}.print-diagram-options{align-items:stretch;flex-direction:column}.print-option-group,.print-option-group.plan-layers{width:100%;justify-content:flex-start;flex-wrap:wrap}.print-diagrams.two,.rafter-scheme-summary{grid-template-columns:1fr}.parameter-navigator nav,.parameter-readouts,.parameter-entity-list>article{grid-template-columns:1fr}.parameter-section-body{padding:13px}.parameter-section>header{padding:13px}}@media(max-width:380px){.app-header{gap:4px;padding-inline:8px}.brand>.version-badge{display:none}.header-totals .adjusted{min-width:84px;padding-inline:8px}.header-actions{gap:4px}}.app-header,.sidebar,.project-summary-sidebar{border-color:var(--glass-line);background-color:var(--glass-panel-strong);backdrop-filter:blur(20px) saturate(118%);-webkit-backdrop-filter:blur(20px) saturate(118%)}.panel,.stat:not(.accent),.header-totals,.icon-button,.button.secondary,.plan-status-bar,.plan-top-controls,.print-diagram-options,.compact-estimate-preview,.summary-customer,.summary-value,.summary-material-card,.price-access-card,.price-save-guide,.parameter-section,.calculation-flow article{border-color:var(--glass-line);background-color:var(--glass-panel);background-image:linear-gradient(145deg,#ffffff57,#ffffff14 52%,#67896009);box-shadow:var(--glass-shadow);backdrop-filter:blur(16px) saturate(115%);-webkit-backdrop-filter:blur(16px) saturate(115%)}.panel:hover,.summary-material-card:hover,.summary-customer:hover{border-color:#5b844fad}.planner-shell,.plan-workbench{border-color:#637e629e;background:#fff;box-shadow:inset 0 1px #fff,0 16px 38px #1f311f29}.canvas-panel,.plan-svg,.print-sheet,.print-plan-svg,.print-roof-svg{background-color:#fff;background-image:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app[data-theme=dark] .panel,.app[data-theme=dark] .stat:not(.accent),.app[data-theme=dark] .header-totals,.app[data-theme=dark] .icon-button,.app[data-theme=dark] .button.secondary,.app[data-theme=dark] .plan-status-bar,.app[data-theme=dark] .plan-top-controls,.app[data-theme=dark] .print-diagram-options,.app[data-theme=dark] .compact-estimate-preview,.app[data-theme=dark] .summary-customer,.app[data-theme=dark] .summary-value,.app[data-theme=dark] .summary-material-card,.app[data-theme=dark] .price-access-card,.app[data-theme=dark] .price-save-guide,.app[data-theme=dark] .parameter-section,.app[data-theme=dark] .calculation-flow article{background-image:linear-gradient(145deg,#ffffff09,#ffffff03 55%,#5d8f3206)}@media print{@page{size:A4 portrait;margin:10mm}body,.print-sheet,.print-diagrams,.print-diagrams article,.print-plan-svg,.print-roof-svg{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff!important}.app{background:#fff!important;background-image:none!important}.app-header,.sidebar,.project-summary-sidebar,.screen-header,.no-print,.estimate-screen>.stats-row{display:none!important}.app-layout,.workspace,.screen{display:block!important;padding:0!important;margin:0!important;max-width:none!important}.print-sheet{padding:0;border:0;color:#111;background:#fff}.print-title{padding-bottom:10px}.project-summary{padding:10px 0;gap:15px}.estimate-totals{margin-bottom:12px}.print-diagrams{gap:5mm;margin-bottom:5mm}.print-diagrams.two{grid-template-columns:1fr 1fr}.print-diagrams article{padding:2.5mm;border-radius:2mm}.print-diagrams h2{margin-bottom:1mm;font-size:9pt}.print-diagrams svg{max-height:85mm}.commercial-scope{margin-bottom:12px;padding:8px;border-radius:5px;background:#f4f8f1!important}.commercial-scope>header{margin-bottom:7px}.commercial-scope>header h2{font-size:11pt}.commercial-scope>header p{font-size:7pt}.commercial-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.commercial-scope-item{padding:5px;border-radius:3px}.commercial-scope-heading h3,.commercial-scope-heading strong{font-size:7.2pt}.commercial-scope-item p{margin:3px 0 1px;font-size:6.8pt}.commercial-scope-item small{min-height:0;font-size:6pt}.commercial-scope-tags{margin-top:3px}.commercial-scope-tags span{padding:1px 4px;font-size:5.5pt}.commercial-scope>footer{margin-top:5px;padding-top:4px;font-size:6pt}.estimate-section{margin:12px 0}.data-table{min-width:0;font-size:7.5pt}.data-table th,.data-table td{padding:4px 5px}.kind{padding:0;background:transparent!important}.print-only{display:inline!important}.maximum-compact .estimate-section{margin:7px 0}.maximum-compact .estimate-section h2{margin-bottom:4px;padding-bottom:3px;font-size:9pt}.maximum-compact .data-table{font-size:6.8pt}.maximum-compact .data-table th,.maximum-compact .data-table td{padding:2.5px 4px}}.residential-preset-modal{width:min(720px,100%);max-height:min(90vh,900px);display:flex;flex-direction:column}.residential-profile-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:12px 0}.residential-profile-toolbar>label{flex:1 1 220px}.residential-profile-toolbar label,.residential-profile-fields label{display:grid;gap:4px;font-size:11px;font-weight:650}.residential-profile-toolbar select,.residential-profile-fields input:not([type=checkbox]){min-width:0;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit}.residential-profile-toolbar .button{min-height:36px}.residential-profile-fields{display:grid;gap:12px;min-height:0;overflow:auto;padding:2px}.residential-profile-snapshot{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:11px}.residential-profile-snapshot span{font-weight:600}.residential-profile-fields fieldset{min-width:0;margin:0;padding:11px;border:1px solid var(--line);border-radius:10px}.residential-profile-fields legend{padding:0 5px;font-size:12px;font-weight:750}.residential-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.residential-profile-fields fieldset:has(small) .residential-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.residential-profile-fields small,.residential-profile-hint{color:var(--muted);font-size:10px;line-height:1.4}.residential-profile-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.residential-profile-services label{display:flex;align-items:center;gap:6px;font-weight:500}.residential-profile-services input{accent-color:var(--green)}.residential-profile-geometry{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:11px;font-weight:650}.residential-profile-hint{margin:9px 0}@media(max-width:600px){.residential-profile-grid,.residential-profile-services{grid-template-columns:repeat(2,minmax(0,1fr))}.residential-preset-modal footer{flex-wrap:wrap}}.preset-choice-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;padding:15px;border:1px solid #99bd82;border-radius:12px;background:linear-gradient(145deg,var(--green-soft),var(--panel))}.preset-choice-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--green)}.preset-choice-icon svg{width:22px;height:22px}.preset-choice-card span{color:var(--green-dark);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.preset-choice-card h3{margin:3px 0 10px;font-size:15px}.preset-choice-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.preset-choice-card li{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:10px;line-height:1.4}.preset-choice-card li svg{flex:0 0 auto;width:14px;height:14px;margin-top:1px;color:var(--green)}.preset-preserved{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:11px 13px;border-radius:10px;background:var(--surface)}.preset-preserved strong{font-size:10px}.preset-preserved span{color:var(--muted);font-size:10px;line-height:1.45}.request-screen{display:grid;gap:16px;width:100%;min-width:0}.request-screen>*,.request-editor-grid>*,.request-selected-panel,.request-items-wrap,.request-document{min-width:0;max-width:100%}.request-items-wrap{overflow-x:auto}.request-screen .screen-header,.request-screen .panel,.request-screen .stats-row{margin-bottom:0}.request-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #b9d2aa;border-radius:12px;background:linear-gradient(135deg,var(--green-soft),var(--panel))}.request-mode-bar>div:first-child{display:grid;gap:3px}.request-mode-bar strong{font-size:13px}.request-mode-bar span{color:var(--muted);font-size:10px}.request-editor-grid{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(420px,1.2fr);gap:16px;align-items:start}.request-editor-grid .field input,.request-editor-grid .field textarea,.request-items-table input,.request-items-table select{width:100%;min-width:0;padding:9px 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:var(--surface)}.request-editor-grid textarea{resize:vertical}.request-catalog-toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(150px,.7fr);gap:8px;margin-bottom:12px}.request-catalog-toolbar>select{min-width:0;padding:0 10px;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:var(--surface)}.request-catalog-list{max-height:448px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.request-catalog-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--line)}.request-catalog-list article:first-child{border-top:0}.request-catalog-list article>div{display:grid;gap:3px;min-width:0}.request-catalog-list small{color:var(--muted);font-size:8px}.request-catalog-list strong{overflow:hidden;font-size:11px;line-height:1.35;text-overflow:ellipsis}.request-catalog-list span{color:var(--green-dark);font-size:10px;font-weight:750}.request-selected-panel>header{margin-bottom:8px}.request-selected-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:10px}.request-items-table{min-width:900px}.request-items-table td:first-child{min-width:250px}.request-items-table td:first-child small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.request-items-table td:nth-child(2){width:115px}.request-items-table td:nth-child(3){width:75px}.request-items-table td:nth-child(4),.request-items-table td:nth-child(5){width:142px}.request-items-table td:nth-child(6){width:120px;white-space:nowrap}.request-unit-input{min-width:58px}.request-row-actions{display:flex;gap:4px}.request-row-actions button{width:31px;height:31px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);border-radius:7px;background:var(--panel)}.request-row-actions button.danger{color:var(--danger)}.request-row-actions svg{width:14px;height:14px}.request-empty{display:grid;gap:5px;padding:30px;color:var(--muted);border:1px dashed var(--line);border-radius:10px;text-align:center}.request-empty strong{color:var(--ink);font-size:13px}.request-empty span{font-size:10px}.request-document{padding:28px;color:#172018;border:1px solid #c6d3c1;border-radius:14px;background:#fff;box-shadow:0 8px 28px #263c2314}.request-document-head{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;padding-bottom:18px;border-bottom:3px solid #5d8f32}.request-document-head>div:last-child{max-width:54%;text-align:right}.request-document-head>div:last-child span{color:#5d8f32;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.request-document-head h1{margin:4px 0 6px;font-size:21px;letter-spacing:-.025em}.request-document-head>div:last-child strong{font-size:11px}.request-document .print-brand strong{color:#172018}.request-document .print-brand span{color:#667069}.request-document-meta{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:18px 0}.request-document-meta dl{margin:0}.request-document-meta dl div{display:grid;grid-template-columns:135px 1fr;gap:9px;padding:6px 0;border-bottom:1px solid #e0e6de;font-size:10px}.request-document-meta dt{color:#667069}.request-document-meta dd{margin:0;font-weight:750}.request-print-table{min-width:0;color:#172018;font-size:10px}.request-print-table th{background:#edf5e8}.request-document-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.request-document-totals div{padding:12px 14px;border:1px solid #d3ddd0;border-radius:9px;background:#f6f8f5}.request-document-totals span{display:block;margin-bottom:4px;color:#667069;font-size:8px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.request-document-totals strong{font-size:15px}.request-document-totals .grand{color:#fff;border-color:#37661f;background:#37661f}.request-document-totals .grand span{color:#ffffffbf}.request-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.request-terms div{display:grid;gap:4px;padding:11px 13px;border-left:3px solid #83aa68;background:#f4f8f1}.request-terms strong{font-size:9px}.request-terms span{color:#526056;font-size:9px;line-height:1.45}.request-note{margin-top:15px;padding:12px 14px;border:1px solid #d6dfd3;border-radius:9px}.request-note strong{font-size:9px;text-transform:uppercase;letter-spacing:.06em}.request-note p{margin:5px 0 0;font-size:10px;line-height:1.5;white-space:pre-wrap}.request-document>footer{display:flex;justify-content:space-between;gap:20px;margin-top:22px;padding-top:12px;color:#667069;border-top:1px solid #d6dfd3;font-size:8px;line-height:1.45}.request-document>footer span{max-width:65%}.request-document>footer strong{color:#37661f;white-space:nowrap}@media(max-width:1100px){.request-editor-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.plan-3d-preview{display:none}.request-mode-bar{align-items:stretch;flex-direction:column}.request-mode-bar .segmented{width:100%}.request-mode-bar .segmented button{flex:1}.request-catalog-toolbar{grid-template-columns:1fr}.request-catalog-toolbar .segmented{width:100%}.request-catalog-toolbar .segmented button{flex:1}.request-document{padding:18px}.request-document-head{flex-direction:column}.request-document-head>div:last-child{max-width:none;text-align:left}.request-document-meta{grid-template-columns:1fr;gap:0}.request-document-totals,.request-terms{grid-template-columns:1fr}.request-document>footer{flex-direction:column}.request-document>footer span{max-width:none}}@media print{.request-screen{display:block!important}.request-document{padding:0;border:0;border-radius:0;box-shadow:none;break-inside:auto}.request-document-head{padding-bottom:5mm}.request-document-head h1{font-size:16pt}.request-document-meta{padding:4mm 0;gap:8mm}.request-document-meta dl div{padding:1.5mm 0}.request-document-totals,.request-terms{margin-top:4mm}.request-document>footer{margin-top:5mm}}.node-fasteners-screen{display:grid;gap:18px}.node-screen-header{align-items:flex-start}.node-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.node-screen-header .eyebrow{color:var(--green-dark);font-size:11px;font-weight:800;letter-spacing:.12em}.node-screen-header .button,.node-card-title .button,.node-detail-card .button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.node-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #d5a94e;border-radius:14px;background:#fff8dc;color:#5f4919}.node-alert div{display:grid;gap:3px}.node-alert span{font-size:12px}.node-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.node-stat-grid>div,.node-stat-grid>label{display:grid;gap:4px;min-width:0;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--glass-panel-strong);box-shadow:var(--glass-shadow)}.node-stat-grid span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.node-stat-grid strong{font-size:25px}.node-stat-grid small{color:var(--muted);font-size:11px}.node-number{display:flex;align-items:center;gap:8px}.node-number input{width:80px;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:20px;font-weight:800}.node-layout-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:16px;align-items:stretch}.node-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.node-card-title h2,.node-detail-card h2,.node-table-card h2,.node-fasteners-screen .panel-card>h2{margin:0}.node-card-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.node-map-wrap{display:grid;gap:10px;min-height:390px}.node-map{width:100%;height:390px;border:1px solid var(--line);border-radius:13px;background-color:var(--surface);background-image:linear-gradient(rgba(93,143,50,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(93,143,50,.08) 1px,transparent 1px);background-size:24px 24px}.node-map>polygon{fill:color-mix(in srgb,var(--green-soft) 82%,transparent);stroke:var(--green-dark);stroke-width:.035;vector-effect:non-scaling-stroke}.node-map g{cursor:pointer;outline:none}.node-map g circle{fill:#fff;stroke:var(--green-dark);stroke-width:.035;vector-effect:non-scaling-stroke}.node-map g text{fill:var(--green-dark);font-weight:800;pointer-events:none}.node-map g.selected circle{fill:var(--green);stroke:#fff;stroke-width:.06}.node-map g.selected text{fill:#fff}.node-map-legend{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:11px}.node-map-legend b{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:4px;border-radius:50%;background:var(--green-soft);color:var(--green-dark)}.node-map-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.node-map-controls label{display:grid;gap:6px;font-size:12px;min-width:0;flex:1 1 140px}.node-map-controls select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:8px}.node-map-controls .node-map-disabled{display:flex;align-items:center;flex-basis:100%}.node-map-help{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}.node-map>polygon{stroke-width:2px}.node-map>.node-map-room{fill:transparent;stroke:#a8b3a5;stroke-width:1px;pointer-events:none}.node-map .node-map-point circle{stroke-width:2px}.node-map .node-map-point line{stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke}.node-map .review-node circle{stroke:#ae670e}.node-map .disabled-node circle{stroke:#788079;stroke-dasharray:3 2}.node-map .node-map-point.selected circle{stroke-width:3px;stroke:var(--green-dark)}.node-map .node-map-point:focus-visible circle,.node-map .node-map-point:hover circle{stroke:#145a9c;stroke-width:4px}.node-map-selection{padding:12px;border-radius:10px;background:var(--green-soft);font-size:13px;line-height:1.5}.node-map-list{display:grid;gap:6px;max-height:290px;overflow:auto;padding:3px}.node-map-list button{display:flex;align-items:center;gap:12px;text-align:left;min-height:58px;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface)}.node-map-list button[aria-pressed=true]{border-color:var(--green);background:var(--green-soft);box-shadow:inset 3px 0 var(--green)}.node-map-list button b{flex:0 0 32px;text-align:center;color:var(--green-dark)}.node-map-list button span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.node-map-list button strong{font-size:13px}.node-map-list button small{font-size:11px;color:var(--muted)}.heating-assembly-note{display:grid;gap:7px;padding:14px;border:1px solid #d7c398;border-radius:12px;background:#fff8e8;color:#4f3a13}.heating-assembly-note span{line-height:1.55}.heating-assembly-note small{color:#735d34}.room-label-object{cursor:move}.room-label-hit{fill:transparent;stroke:transparent;pointer-events:all}.room-label-object:hover .room-label-hit,.room-label-object.selected .room-label-hit{fill:#5b913314;stroke:#5b9133;stroke-width:1.5px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.room-label-object text,.room-label-object.selected text{pointer-events:none;stroke:none;stroke-width:0}.planner-annotation{cursor:move}.planner-annotation line{stroke:#305d28;stroke-width:2px;vector-effect:non-scaling-stroke}.planner-annotation text{fill:#20391c;font-weight:750;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.planner-annotation.selected text{fill:#145a9c}.annotation-target-handle{fill:#fff;stroke:#4f8b32;stroke-width:3px;vector-effect:non-scaling-stroke}.print-plan-svg .print-wall-gap{stroke:#fff;stroke-width:12px;vector-effect:non-scaling-stroke}.print-plan-svg .print-annotation line{stroke:#31592a;stroke-width:1.5px}.print-plan-svg .print-annotation text{fill:#20391c;font-weight:750;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px}@media print{.print-diagrams .print-diagram-sheet{grid-column:1 / -1;break-before:page;page-break-before:always;min-height:245mm;display:flex;flex-direction:column;justify-content:center}.print-diagrams .print-diagram-sheet svg{max-height:205mm}}.node-view-switch,.node-3d-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.node-view-switch button,.node-3d-toolbar button,.node-warning button,.node-table .review-label{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--green-dark);padding:7px 10px;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.node-view-switch button[aria-pressed=true]{background:var(--green-soft);border-color:var(--green)}.node-3d-wrap{display:grid;gap:8px;min-width:0}.node-3d-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}.node-3d-heading strong{font-size:15px;color:var(--ink)}.node-3d-heading span{font-size:12px;color:var(--muted)}.node-3d-layers,.node-3d-camera{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.node-3d-camera{justify-content:flex-end}.node-3d-camera span{margin-right:auto;color:var(--muted);font-size:12px}.node-3d-layers button,.node-3d-camera button{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--green-dark);cursor:pointer;font:inherit;font-size:12px;font-weight:700}.node-3d-layers button[aria-pressed=true],.node-3d-toolbar button[aria-pressed=true]{background:var(--green-soft);border-color:var(--green)}.node-3d-layers button:focus-visible,.node-3d-camera button:focus-visible,.node-3d-toolbar button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.node-3d-canvas{width:100%;height:clamp(320px,42vw,500px);overflow:hidden;border:1px solid var(--line);border-radius:13px;touch-action:none}.node-3d-canvas canvas{display:block;width:100%;height:100%}.node-joint-sketch{margin:6px 0 14px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.node-joint-sketch svg{display:block;width:100%;height:132px;background:#f9fbf8;border-radius:6px}.node-joint-sketch figcaption{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.45}.node-shared-editor{display:grid;gap:10px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--green-soft)}.node-shared-editor h3,.node-shared-editor p{margin:0}.node-shared-editor p,.node-shared-editor small{font-size:12px;line-height:1.5}.node-shared-editor .button{justify-self:start}.node-warning button{margin-left:auto;flex:0 0 auto}.node-detail-card:focus{outline:2px solid var(--green);outline-offset:3px}@media(max-width:1180px){.planner-shell.is-fullscreen{grid-template-columns:82px minmax(0,1fr) minmax(280px,34vw);grid-template-rows:1fr}.planner-shell.is-fullscreen.inspector-collapsed{grid-template-columns:82px minmax(0,1fr) 0}.planner-shell.is-fullscreen:has(.planner-inspector .room-summary):not(.inspector-collapsed){grid-template-columns:82px minmax(0,1fr) minmax(280px,34vw);grid-template-rows:1fr}.planner-shell.is-fullscreen.inspector-collapsed:has(.planner-inspector .room-summary){grid-template-columns:82px minmax(0,1fr) 0;grid-template-rows:1fr}.planner-shell.is-fullscreen .planner-tools{min-height:0;padding:8px 6px;flex-direction:column;overflow:hidden;border-right:1px solid #dce4dc;border-bottom:0}.planner-shell.is-fullscreen .planner-tools button{width:100%;min-height:43px;margin-bottom:4px;flex:0 0 auto;flex-direction:row;justify-content:flex-start;text-align:left}}@media(max-width:760px){.planner-shell.is-fullscreen{grid-template-columns:70px minmax(0,1fr)}.planner-shell.is-fullscreen .planner-inspector{display:none}.planner-shell.is-fullscreen:not(.inspector-collapsed) .planner-inspector{display:block;position:absolute;top:0;right:0;bottom:0;width:min(330px,calc(100vw - 75px));z-index:9;background:var(--panel);box-shadow:-8px 0 22px #00000026;overflow-y:auto}.planner-shell.is-fullscreen.inspector-collapsed{grid-template-columns:70px minmax(0,1fr)}.planner-shell.is-fullscreen:has(.planner-inspector .room-summary){grid-template-columns:70px minmax(0,1fr);grid-template-rows:1fr}.planner-shell.is-fullscreen.inspector-collapsed:has(.planner-inspector .room-summary){grid-template-columns:70px minmax(0,1fr);grid-template-rows:1fr}.planner-shell.is-fullscreen .plan-layer-tabs{grid-template-columns:repeat(4,58px)}.planner-shell.is-fullscreen .canvas-history-controls{top:64px;right:8px;flex-wrap:wrap;max-width:160px}}.node-detail-card{display:grid;align-content:start;gap:12px}.node-detail-heading{display:flex;align-items:center;gap:10px}.node-detail-heading>div{display:grid;gap:3px}.node-detail-heading small{color:var(--muted);font-size:10px}.node-marker{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.node-detail-card label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.node-detail-card label select,.node-detail-card label input[type=number],.node-detail-card label input[type=text],.node-detail-card label textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink)}.node-detail-card label textarea{resize:vertical;line-height:1.45}.node-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.node-detail-actions{display:flex;flex-wrap:wrap;gap:8px}.node-detail-card .node-check{display:flex;align-items:center;gap:8px}.node-detail-card dl{display:grid;gap:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.node-detail-card dl div{display:grid;grid-template-columns:105px 1fr;gap:9px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:11px}.node-detail-card dl div:last-child{border-bottom:0}.node-detail-card dt{color:var(--muted)}.node-detail-card dd{margin:0;overflow-wrap:anywhere}.node-formula{margin:0;padding:9px 10px;border-radius:9px;background:var(--green-soft);color:var(--green-dark);font-size:11px;font-weight:650}.node-warning{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-radius:9px;background:#fff3dc;color:#705018;font-size:11px}.node-warning.info{background:#edf4fa;color:#315979}.node-warning.error{background:#fdebea;color:var(--danger)}.node-warning span{display:grid;gap:2px}.node-warning-list{display:grid;gap:7px;margin-top:12px}.node-success{display:flex;align-items:center;gap:9px;margin-top:12px;color:var(--green-dark)}.node-detail-card .danger{background:transparent;border-color:#d9aaa7;color:var(--danger)}.node-table-card{min-width:0}.node-table-card .table-scroll{margin-top:12px;overflow-x:auto}.node-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:11px}.node-table th{padding:9px 8px;border-bottom:1px solid var(--line);color:var(--muted);text-align:left;white-space:nowrap}.node-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.node-table td strong,.node-table td small{display:block}.node-table td small{margin-top:3px;color:var(--muted);font-size:9px}.node-table tr.review{background:color-mix(in srgb,#fff4d4 48%,transparent)}.node-table .review-label{color:#9b6614;font-weight:800;text-transform:uppercase}.node-order-list{display:grid;gap:8px}.node-order-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px}.node-order-list span{display:flex;align-items:baseline;gap:8px}.node-order-list span:last-child{justify-content:flex-end}.node-order-list small{color:var(--muted)}.node-order-list label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700}.node-order-list label input{width:94px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.node-order-print-sheet{display:none}@media print{body.print-node-order *{visibility:hidden!important}body.print-node-order .node-order-print-sheet,body.print-node-order .node-order-print-sheet *{visibility:visible!important}body.print-node-order .node-order-print-sheet{display:block!important;position:absolute;inset:0;width:100%;padding:8mm;color:#172019;background:#fff}.node-order-print-sheet header{padding-bottom:5mm;border-bottom:1px solid #79906f}.node-order-print-sheet header span{color:#315d28;font-size:10pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.node-order-print-sheet h1{margin:2mm 0 1mm;font-size:18pt}.node-order-print-sheet p{margin:0;color:#5a665b}.node-order-print-sheet table{width:100%;margin-top:6mm;border-collapse:collapse;font-size:10pt}.node-order-print-sheet th,.node-order-print-sheet td{padding:2.5mm 2mm;border-bottom:1px solid #d6ddd3;text-align:left}.node-order-print-sheet th{color:#315d28;background:#eef4ea}.node-order-print-sheet footer{margin-top:7mm;color:#697169;font-size:8.5pt}}@media screen and (max-width:1100px){.node-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.node-layout-grid{grid-template-columns:1fr}}@media screen and (max-width:620px){.node-3d-canvas{height:340px}.node-shared-editor .button{width:100%}.node-screen-header{display:grid}.node-screen-header .button{width:100%}.node-header-actions{display:grid;width:100%}.node-stat-grid{grid-template-columns:1fr 1fr}.node-stat-grid>div,.node-stat-grid>label{padding:12px}.node-map{height:300px}.node-map-wrap{min-height:300px}.node-card-title{align-items:stretch;flex-direction:column}.node-card-title .button{width:100%}.node-edit-grid{grid-template-columns:1fr}.node-order-list>div,.node-order-list span{align-items:flex-start;flex-direction:column}.node-order-list span:last-child{align-items:flex-end}}.sip-guide-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,320px);gap:12px;margin-bottom:18px}.sip-guide-toolbar .search-box{min-width:0}.sip-guide-toolbar select{width:100%;min-height:44px;padding:0 12px;color:var(--ink);border:1px solid var(--line);border-radius:10px;background:var(--panel)}.sip-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sip-guide-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 8px 22px #22342212}.sip-guide-card header{display:flex;align-items:flex-start;gap:12px}.sip-guide-card header>svg{flex:0 0 auto;width:22px;color:var(--green-dark)}.sip-guide-card header span{color:var(--green-dark);font-size:12px;font-weight:800}.sip-guide-card h2{margin:4px 0 0;font-size:18px;line-height:1.3}.sip-guide-card>p{margin:14px 0;color:var(--muted);line-height:1.55}.sip-guide-card dl{display:grid;gap:9px;margin:0 0 14px}.sip-guide-card dl>div{display:grid;grid-template-columns:minmax(100px,.36fr) 1fr;gap:10px;padding-top:9px;border-top:1px solid var(--line)}.sip-guide-card dt{color:var(--muted);font-size:12px;font-weight:700}.sip-guide-card dd{min-width:0;margin:0;font-size:13px;line-height:1.45}.sip-guide-status{display:inline-flex;padding:6px 10px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:11px}.sip-guide-status.reference{color:#735c18;background:#fff4cb}.sip-guide-status.candidate{color:#285f83;background:#e4f3fc}.sip-guide-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sip-guide-tabs button{padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#000;cursor:pointer}.sip-guide-tabs button[aria-pressed=true]{background:#e6efdf;border-color:#647d48}.sip-reference-figure{margin:16px 0;color:#000}.sip-reference-figure svg{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--border);border-radius:8px}.sip-reference-figure figcaption{margin:8px 0;font-size:12px}.sip-reference-figure ol{padding-left:24px;margin:8px 0;font-size:13px;line-height:1.5}.sip-guide-index{display:grid;gap:5px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.sip-guide-index span{color:var(--muted);font-size:12px}@media screen and (max-width:820px){.sip-guide-grid{grid-template-columns:1fr}}@media screen and (max-width:520px){.sip-guide-toolbar{grid-template-columns:1fr}.sip-guide-card{padding:15px}.sip-guide-card dl>div{grid-template-columns:1fr;gap:3px}}.room-fill.invalid{fill:#ffbcbccc!important;stroke:#d83c3c!important;stroke-width:2.5!important}.snap-indicator .snap-halo{fill:#5e8f3221;stroke:#5d8f32;stroke-width:2;vector-effect:non-scaling-stroke}.snap-indicator .snap-core{fill:#5d8f32;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.wall-band-base{stroke:#172018;stroke-width:10;stroke-linecap:square;vector-effect:non-scaling-stroke}.wall-band-hatch{stroke:url(#planner-wall-texture);stroke-width:6;stroke-linecap:square;vector-effect:non-scaling-stroke}.stair-opening{cursor:move}.stair-opening .stair-outline{fill:#fff7daf0;stroke:#000;stroke-width:1.2;vector-effect:non-scaling-stroke}.stair-opening .stair-flight-outline{fill:none;stroke:#000;stroke-width:.8;vector-effect:non-scaling-stroke}.stair-opening .stair-direction-shaft{fill:none;stroke:#000;stroke-width:1.2;vector-effect:non-scaling-stroke}.stair-opening.selected .stair-outline{stroke:#138447;stroke-width:2}.stair-opening .room-label-hit{fill:transparent;stroke:transparent;stroke-dasharray:none}.stair-label-object text{text-anchor:middle;fill:#000;font-weight:800}.stair-opening rect{fill:#fff7daf0;stroke:#9b6b19;stroke-width:3;stroke-dasharray:10 6;vector-effect:non-scaling-stroke}.stair-opening line{stroke:#9b6b1994;stroke-width:1.5;vector-effect:non-scaling-stroke}.stair-opening text{fill:#55380d;font-size:15px;font-weight:900;text-anchor:middle;pointer-events:none}.stair-opening .stair-opening-area{font-size:12px;font-weight:750}.stair-opening.selected rect{stroke:#5d8f32;stroke-width:5}.stair-opening-draft{fill:#ffd98147;stroke:#9b6b19;stroke-dasharray:10 6}.dimension-draft line{stroke:#6657dc;stroke-width:2.5;vector-effect:non-scaling-stroke}.dimension-draft circle{fill:#fff;stroke:#6657dc;stroke-width:2.5;vector-effect:non-scaling-stroke}.dimension-draft text{fill:#252332;font-weight:900;text-anchor:middle}.roof-cost-warning{display:grid;gap:6px;margin:0 0 16px;padding:14px 16px;border:1px solid #e1a93a;border-left:5px solid #d8860b;border-radius:12px;background:#fff6df;color:#6d4500}.roof-cost-warning strong{font-size:15px}.roof-cost-warning span{line-height:1.45}@media screen{:root{--ink: #000;--muted: #000;--line: #b8c4b9}.app{font-size:14px;font-weight:500}.app:not([data-theme=dark]){color:#000}.app[data-theme=dark]{--muted: #bcc7be;--line: #465448}.brand span,.sidebar-status,.screen-header p,.panel header p{font-size:13px}.header-totals span,.brand>.version-badge,.sidebar-status small,.project-summary-header>small,.summary-health small,.summary-customer small,.summary-value span,.summary-breakdown h3,.summary-estimate-materials h3,.stat span,.field small,.numeric-input-value em,.parameter-section>header p,.parameter-progress span,.parameter-progress small,.parameter-navigator nav a>span,.parameter-navigator nav a small,.parameter-navigator>p,.parameter-entity-list>h3,.parameter-platform-list>article>header span,.parameter-opening-list>article>header span,.estimate-editor-toolbar span,.plan-library-card-title small,.plan-library-total span,.plan-library-parameters small,.canvas-hint,.inspector-note,.plan-warning,.plan-ok,.pile-alignment-status,.room-summary header p{font-size:11px}.project-summary-header span,.summary-health strong,.summary-customer strong,.summary-detail,.summary-open-calculator,.summary-material-card header,.summary-material-card dl div,.summary-material-line,.summary-material-line strong,.summary-estimate-materials>div,.summary-openings div,.summary-openings strong,.summary-openings p,.button,.field,.toggle-row>span,.parameter-layer-box>strong,.parameter-platform-list>article>header strong,.parameter-opening-list>article>header strong,.estimate-editor-toolbar strong,.compact-button,.plan-library-parameters b,.plan-library-actions .button,.sketch-select,.room-summary-list button strong,.room-summary-list button em,.readout,.inspector-empty ul{font-size:12px}.field input,.field select,select,.search-box input,.editable-table input{font-size:14px;font-weight:600}.app:not([data-theme=dark]) :where(.field input,.field select,select,.search-box input,.editable-table input){color:#000}.panel h2{font-size:16px}.panel h3{font-size:13px}.data-table{font-size:12px}.data-table th{color:#000;font-size:11px;font-weight:800}.summary-value strong,.plan-library-card-title strong{font-size:15px}.plan-library-total strong{font-size:17px;font-weight:800}.plan-library-card-title small,.plan-library-total span,.plan-library-parameters small{color:#000;font-weight:600}.tool-rail button{color:#000;font-size:10px;font-weight:700}.room-name{font-size:15px}.room-area,.room-dimensions,.room-ceiling-mode,.pile-spacing-text,.binding-length-text{font-size:12px;font-weight:800}.blank-plan-prompt-subtitle,.plan-inspector,.planner-inspector{color:#000}.app:not([data-theme=dark]) :where(.screen-header p,.panel header p,.sidebar-status,.project-summary-header small,.summary-detail,.summary-value span,.summary-breakdown h3,.summary-estimate-materials h3,.stat span,.field small,.parameter-section>header p,.parameter-navigator>p,.plan-library-card-title small,.plan-library-total span,.plan-library-parameters small,.canvas-hint,.inspector-note,.plan-warning,.plan-ok,.room-summary header p){color:#000}}@media screen and (max-width:900px){.plan-library-grid{grid-template-columns:1fr}}.knowledge-screen{max-width:1500px}.knowledge-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--green) 38%,var(--glass-line));border-radius:18px;background:linear-gradient(125deg,color-mix(in srgb,var(--green-soft) 92%,transparent),var(--glass-panel-strong));box-shadow:var(--glass-shadow)}.knowledge-hero>div{display:flex;align-items:center;gap:13px}.knowledge-hero svg{width:36px;height:36px;padding:8px;color:#fff;border-radius:11px;background:var(--green-dark)}.knowledge-hero span{display:grid;gap:2px}.knowledge-hero strong{font-size:18px}.knowledge-hero small,.knowledge-hero p{color:var(--muted)}.knowledge-hero p{max-width:540px;margin:0;font-weight:600}.knowledge-controls{display:grid;gap:12px;margin-bottom:18px}.knowledge-search{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 15px;border:1px solid var(--glass-line);border-radius:14px;background:var(--glass-panel-strong);box-shadow:var(--glass-shadow)}.knowledge-search svg{width:20px;color:var(--green-dark)}.knowledge-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.knowledge-categories{display:flex;gap:8px;padding-bottom:3px;overflow-x:auto;scrollbar-width:none}.knowledge-categories::-webkit-scrollbar{display:none}.knowledge-categories button{flex:0 0 auto;padding:8px 13px;border:1px solid var(--glass-line);border-radius:999px;color:var(--ink);background:var(--glass-panel);font-weight:700}.knowledge-categories button.active{border-color:var(--green-dark);color:#fff;background:var(--green-dark)}.knowledge-notice,.knowledge-restore{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--green) 38%,var(--line));border-radius:12px;background:var(--green-soft)}.knowledge-notice>button{margin-left:auto;border:0;color:var(--ink);background:transparent}.knowledge-notice svg,.knowledge-restore svg{width:18px}.knowledge-restore{justify-content:space-between}.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.knowledge-card{min-width:0;overflow:hidden;border:1.5px solid var(--glass-line);border-radius:18px;background:var(--glass-panel-strong);box-shadow:var(--glass-shadow);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;content-visibility:auto;contain-intrinsic-size:390px}.knowledge-card:hover,.knowledge-card:focus-visible{border-color:var(--green);outline:0;transform:translateY(-3px);box-shadow:0 18px 38px #22342229}.knowledge-card-image{position:relative;height:190px;overflow:hidden;border-bottom:1px solid var(--glass-line);background:#eef3eb}.knowledge-card-image>img{width:100%;height:100%;object-fit:cover}.knowledge-card-image.placeholder{display:grid;place-items:center;background-image:linear-gradient(135deg,#5d8f321f,#fffc),var(--osb-texture)}.knowledge-card-image.placeholder>svg{width:58px;height:58px;color:var(--green-dark)}.knowledge-card-image>span{position:absolute;left:12px;bottom:10px;padding:5px 9px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#fff;background:#1f411fdb;backdrop-filter:blur(8px);font-size:11px;font-weight:800}.knowledge-card-body{min-height:188px;padding:15px 16px 17px}.knowledge-card-body h2{margin:9px 0 7px;font-size:18px;line-height:1.25}.knowledge-card-body>p{min-height:44px;margin:0 0 12px;color:var(--muted);line-height:1.45}.knowledge-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--green-dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.knowledge-card-meta>div{display:flex;gap:4px}.knowledge-card-meta button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface)}.knowledge-card-meta svg{width:15px}.knowledge-tags{display:flex;flex-wrap:wrap;gap:6px}.knowledge-tags span{padding:4px 8px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:11px;font-weight:700}.knowledge-empty{display:grid;justify-items:center;gap:8px;padding:60px 20px}.knowledge-empty svg{width:48px;height:48px;color:var(--green)}.knowledge-reader-backdrop{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:24px;background:#141c158f;backdrop-filter:blur(8px)}.knowledge-reader{width:min(1040px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid rgba(255,255,255,.66);border-radius:22px;color:var(--ink);background:var(--panel);box-shadow:0 28px 90px #0000004d}.knowledge-reader-toolbar{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(16px);font-weight:800}.knowledge-reader-toolbar>div{display:flex;gap:7px}.icon-button.danger,.knowledge-reader-toolbar .danger{color:var(--danger)}.knowledge-reader-body{padding:30px 38px 38px}.knowledge-print-brand{display:none}.knowledge-reader-category{margin:0 0 8px;color:var(--green-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.knowledge-reader h1{margin:0;font-size:clamp(26px,3vw,38px);line-height:1.14}.knowledge-reader-lead{max-width:800px;margin:10px 0 22px;color:var(--muted);font-size:17px;line-height:1.55}.knowledge-reader-image{display:block;width:100%;max-height:540px;margin:20px 0 25px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:#fff}.knowledge-copy{max-width:900px;font-size:15px;line-height:1.65}.knowledge-sections{display:grid;gap:34px;margin:34px 0}.knowledge-guide-section{padding-top:30px;border-top:1px solid var(--line)}.knowledge-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.knowledge-section-heading>span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-weight:900}.knowledge-section-heading h2{margin:0;font-size:clamp(21px,2.4vw,29px);line-height:1.2}.knowledge-section-image{display:block;width:100%;max-height:600px;margin:0 0 20px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:#fff}.knowledge-steps{display:grid;gap:9px;max-width:900px;margin:14px 0 0;padding-left:28px;line-height:1.55}.knowledge-steps li::marker{color:var(--green-dark);font-weight:900}.knowledge-table-wrap{margin:24px 0;overflow-x:auto;border:1px solid var(--line);border-radius:14px}.knowledge-table{width:100%;min-width:620px;border-collapse:collapse}.knowledge-table th,.knowledge-table td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.knowledge-table th{color:var(--green-dark);background:var(--green-soft)}.knowledge-table tr:last-child td{border-bottom:0}.knowledge-print-footer{margin-top:24px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.knowledge-editor-modal{width:min(1060px,calc(100vw - 36px));max-height:calc(100vh - 36px)}.knowledge-editor-scroll{display:grid;gap:16px;padding:18px 22px;overflow-y:auto}.knowledge-editor-modal textarea{resize:vertical}.knowledge-image-editor{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.knowledge-image-editor>div{display:grid;height:112px;overflow:hidden;place-items:center;border:1px dashed var(--line);border-radius:11px;color:var(--green);background:var(--panel)}.knowledge-image-editor img{width:100%;height:100%;object-fit:cover}.knowledge-image-editor>span{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:8px}.knowledge-image-editor strong,.knowledge-image-editor small{width:100%}.knowledge-image-editor small,.knowledge-table-editor small{color:var(--muted)}.knowledge-table-editor{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px}.knowledge-table-editor>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.knowledge-table-editor>header>div{display:grid}.knowledge-table-edit-row{display:grid;grid-template-columns:1fr auto;gap:7px}.knowledge-table-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.knowledge-table-edit-grid input{min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--panel)}.knowledge-table-edit-grid.headers input{color:var(--green-dark);background:var(--green-soft);font-weight:800}.knowledge-error{margin:0;color:var(--danger);font-weight:700}@media screen and (max-width:1180px){.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media screen and (max-width:720px){.knowledge-screen .screen-header{align-items:stretch}.knowledge-screen .screen-actions{display:grid;grid-template-columns:1fr 1fr}.knowledge-screen .screen-actions .button:last-of-type{grid-column:1 / -1}.knowledge-hero{align-items:flex-start;flex-direction:column}.knowledge-grid{grid-template-columns:1fr}.knowledge-reader-backdrop{padding:0}.knowledge-reader{max-height:100vh;border-radius:0}.knowledge-reader-toolbar{align-items:flex-start}.knowledge-reader-toolbar>div{flex-wrap:wrap;justify-content:flex-end}.knowledge-reader-body{padding:22px 16px 32px}.knowledge-image-editor{grid-template-columns:1fr}.knowledge-table-edit-row{align-items:end}.knowledge-table-edit-grid{grid-template-columns:1fr}.knowledge-table-edit-grid.headers{display:none}}@media print{body:has(.knowledge-reader) .knowledge-screen>:not(.knowledge-reader-backdrop),body:has(.knowledge-reader) .knowledge-reader-toolbar{display:none!important}body:has(.knowledge-reader) .knowledge-reader-backdrop{position:static;display:block;padding:0;background:#fff}body:has(.knowledge-reader) .knowledge-reader{width:100%;max-height:none;overflow:visible;border:0;border-radius:0;box-shadow:none}body:has(.knowledge-reader) .knowledge-reader-body{padding:0;color:#111}body:has(.knowledge-reader) .knowledge-print-brand{display:flex;align-items:center;gap:8px;margin-bottom:8mm;padding-bottom:4mm;border-bottom:1px solid #6c963f;font-weight:800}body:has(.knowledge-reader) .knowledge-print-brand img{width:25mm}body:has(.knowledge-reader) .knowledge-reader-image{max-height:115mm;break-inside:avoid}body:has(.knowledge-reader) .knowledge-guide-section{break-before:auto}body:has(.knowledge-reader) .knowledge-section-heading,body:has(.knowledge-reader) .knowledge-section-image{break-inside:avoid}body:has(.knowledge-reader) .knowledge-section-image{max-height:118mm}body:has(.knowledge-reader) .knowledge-table-wrap{overflow:visible;break-inside:avoid}body:has(.knowledge-reader) .knowledge-table{min-width:0;font-size:8pt}body:has(.knowledge-reader) .knowledge-table th,body:has(.knowledge-reader) .knowledge-table td{padding:2.5mm}}.opening-mini-plan{padding:10px;border:1px solid #d6e5dc;border-radius:10px;background:#f9fcfa;color:#274539}.opening-mini-plan>strong{display:block;font-size:.82rem;margin-bottom:7px}.opening-mini-floors{display:flex;gap:8px;flex-wrap:wrap}.opening-mini-floor{flex:1 1 140px;min-width:110px;max-width:240px}.opening-mini-floor>span{display:block;font-size:.72rem;color:#60766b}.opening-mini-floor svg{display:block;width:100%;height:115px;background:#fff;border:1px solid #e2ebe5;border-radius:6px}.opening-mini-marker{cursor:pointer;fill:#2369aa;stroke:#fff;stroke-width:2;outline:none}.opening-mini-marker.door{fill:#a46430}.opening-mini-marker.selected{stroke:#1a4a31;stroke-width:5}.opening-mini-marker:focus-visible{stroke:#173df0;stroke-width:6}.opening-mini-hit{fill:transparent;stroke:none}.opening-mini-plan>small{display:block;margin-top:6px;font-size:.69rem;color:#60766b}.opening-card-focused{outline:2px solid #3b9470;outline-offset:2px}.stair-opening .stair-direction-shaft{stroke:#362407;stroke-width:3}.stair-opening .stair-direction-head{fill:#362407;stroke:none}.editable-estimate-table,.estimate-preview-table{table-layout:fixed;width:100%}.editable-estimate-table thead th:first-child{width:26%}.editable-estimate-table thead th:nth-child(2){width:11%}.editable-estimate-table thead th:nth-child(3){width:7%;min-width:60px}.editable-estimate-table thead th:nth-child(4){width:11%}.editable-estimate-table thead th:nth-child(5){width:17%}.editable-estimate-table thead th:nth-child(6){width:20%}.editable-estimate-table thead th:nth-child(7){width:8%}.editable-estimate-table .estimate-cell-input{min-width:0}.editable-estimate-table .estimate-number-input.without-steppers{min-width:0;grid-template-columns:minmax(0,1fr)}.editable-estimate-table td,.editable-estimate-table th{padding-left:5px;padding-right:5px}.estimate-preview-table{min-width:820px}.estimate-preview-table thead th:first-child{width:27%}.estimate-preview-table thead th:nth-child(2){width:11%}.estimate-preview-table thead th:nth-child(3){width:9%}.estimate-preview-table thead th:nth-child(4){width:12%}.estimate-preview-table thead th:nth-child(5){width:19%}.estimate-preview-table thead th:nth-child(6){width:22%}.estimate-preview-table td{overflow-wrap:anywhere;white-space:normal}.estimate-preview-table td:nth-child(3){overflow-wrap:normal;white-space:nowrap}.super-compact-option{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #8ea79b;border-radius:12px;background:#f3f8f5;color:#000}.super-compact-option input{width:20px;height:20px;flex:0 0 auto}.super-compact-option span{display:grid;gap:5px}.super-compact .print-sheet{border-top:5px solid #1e5140}.super-compact .print-title{padding-bottom:22px;border-bottom:1px solid #a6b6ae}.super-compact .commercial-scope-grid{grid-template-columns:1fr;gap:16px}.super-compact .commercial-scope-item{border:1px solid #cad6d0;border-left:4px solid #1e5140;padding:20px;background:#fff;break-inside:avoid}.super-compact .commercial-scope-item small{font-size:13px;line-height:1.6}.super-compact .commercial-scope-heading h3,.super-compact .commercial-scope-heading strong{font-size:16px;line-height:1.35}.super-compact .commercial-scope-item>p{font-size:14px;line-height:1.6}.super-compact .commercial-scope-tags span{font-size:11px}.super-compact .scope-expanded{margin-top:12px;padding-top:12px;border-top:1px solid #e0e6e2;font-size:13px;line-height:1.6}.super-compact .estimate-footer{border-top:2px solid #1e5140}.super-compact .estimate-totals .stat.accent{background:#e8f0e9;color:#000;border:1px solid #93aa99}.ventilation-labor-summary{margin:16px 0;padding:16px;border:1px solid #cad6d0;border-radius:10px}.ventilation-labor-summary summary{cursor:pointer;font-weight:700}.estimate-source-ledger>summary{cursor:pointer;font-weight:700;padding:16px 0}.proposal-assemblies{margin:16px 0;display:grid;gap:12px}.proposal-assemblies>div{padding-top:12px;border-top:1px solid #dce4df;break-inside:avoid}.proposal-assemblies dt{font-weight:700;font-size:14px;margin-bottom:5px}.proposal-assemblies dd{margin:0;font-size:13px;line-height:1.6}.commercial-scope-item .proposal-assemblies dd p{margin:0 0 6px;font-size:inherit;font-weight:400;line-height:inherit}@media print{.commercial-scope-item.has-scope-blocks{break-inside:auto}.proposal-assemblies dt{font-size:10pt}.proposal-assemblies dd{font-size:9pt}.commercial-scope-heading,.proposal-assemblies dt{break-after:avoid}}.ventilation-labor-summary ul{padding-left:20px;line-height:1.8}.proposal-overview{margin:0 0 24px;padding:18px;border:1px solid #cad6d0;border-left:4px solid #1e5140;border-radius:8px}.proposal-overview h2{margin:0 0 6px;font-size:18px}.proposal-overview>p{margin:0 0 12px;font-size:12px}.proposal-overview dl{margin:0}.proposal-overview dl>div{display:grid;grid-template-columns:155px minmax(0,1fr);gap:12px;padding:7px 0;border-top:1px solid #dce4df;break-inside:avoid}.proposal-overview dt{font-weight:700}.proposal-overview dd{margin:0}.proposal-overview dt,.proposal-overview dd{font-size:13px;line-height:1.45;overflow-wrap:anywhere}.proposal-overview footer{margin-top:12px;font-size:11px;line-height:1.5}@media(max-width:600px){.proposal-overview dl>div{grid-template-columns:1fr;gap:3px}}@media print{.proposal-overview{padding:3mm;margin-bottom:5mm}.proposal-overview h2{font-size:12pt;break-after:avoid}.proposal-overview>p{margin-bottom:2mm;font-size:8pt;break-after:avoid}.proposal-overview dl>div{grid-template-columns:36mm minmax(0,1fr);gap:3mm;padding:1.5mm 0}.proposal-overview dt,.proposal-overview dd{font-size:9pt;line-height:1.35}.proposal-overview footer{font-size:8pt;margin-top:2mm}.commercial-scope{break-inside:auto}.commercial-scope>header{break-after:avoid}.print-diagrams:has(.print-diagram-sheet){display:block}.print-diagrams .print-diagram-sheet{margin:0}.print-diagrams:has(.print-diagram-sheet)+.estimate-images+.commercial-scope{break-before:page}}@media(max-width:600px){.super-compact .commercial-scope-heading{flex-direction:column;align-items:flex-start;gap:8px}.super-compact .commercial-scope-item{padding:14px}}@media print{.estimate-preview-table{min-width:0}.estimate-preview-table th,.estimate-preview-table td{padding:1.5mm 1mm}.super-compact .commercial-scope-item{padding:4mm}.super-compact .commercial-scope-item small,.super-compact .scope-expanded{font-size:9pt;line-height:1.45}.super-compact .commercial-scope-heading h3,.super-compact .commercial-scope-heading strong{font-size:11pt}.super-compact .commercial-scope-item p{font-size:10pt}}@media(max-width:820px){.app-header{height:auto;min-height:72px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;padding:8px 12px}.sidebar{z-index:36}.sidebar-backdrop{z-index:35}.brand{min-width:0;gap:7px}.brand img{width:100px;height:64px}.brand div{display:none}.brand>.version-badge{display:inline-flex!important;padding:3px 6px;font-size:10px}.header-totals{margin:0;min-width:0;justify-self:end}.header-totals .adjusted{min-width:0;padding:7px 9px}.header-totals .adjusted strong{font-size:12px;white-space:nowrap}.header-actions{display:none}.mobile-quick-actions{display:flex;grid-column:1/-1;gap:6px;min-width:0}.mobile-quick-actions button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;padding:8px 4px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:11px;font-weight:750}.mobile-quick-actions svg{width:16px;height:16px;flex:none}.sidebar-mobile-project-actions{display:grid;gap:4px;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.sidebar-mobile-project-actions button{display:flex;align-items:center;gap:8px;width:100%;padding:9px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left}.sidebar-mobile-project-actions svg{width:17px;height:17px}.mobile-bottom-nav{position:fixed;z-index:19;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px 4px max(5px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--panel);box-shadow:0 -5px 20px #102e1818}.mobile-bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-width:0;min-height:54px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:10px;font-weight:750}.mobile-bottom-nav button.active{background:var(--green-soft);color:var(--green-dark)}.mobile-bottom-nav svg{width:21px;height:21px}.workspace{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}@media(max-width:400px){.mobile-quick-actions button{font-size:10px}.mobile-quick-actions svg{width:14px;height:14px}}@media(max-width:360px){.brand img{width:74px;height:54px}}@media print{.mobile-bottom-nav,.mobile-quick-actions{display:none!important}}.sidebar-mobile-more{display:none}.project-save-backdrop{z-index:12000}.project-save-dialog label{display:grid;gap:7px;margin:14px 0;font-weight:750}.project-save-dialog input{width:100%;box-sizing:border-box;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font:inherit}.project-save-dialog p[role=alert]{color:#9b3027;font-size:13px}.mobile-plan-edit-toggle{display:none}@media(max-width:820px){.app-header{min-height:62px}.brand img{width:72px;height:46px}.brand>.version-badge{display:none!important}.mobile-quick-actions{display:none!important}.project-tab-add{display:none}.mobile-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar>nav[aria-label="Разделы калькулятора"]{display:none}.sidebar-mobile-more nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;font:inherit;font-weight:700}.sidebar-mobile-more nav button.active{background:var(--green-soft);color:var(--green-dark)}.sidebar-mobile-more nav svg{width:20px;height:20px;flex:none}.sidebar-mobile-more{display:block;border-top:1px solid var(--line);padding:10px 0}.sidebar-mobile-more summary{padding:8px 4px;cursor:pointer;font-weight:800;color:var(--ink)}.sidebar-mobile-more nav{display:grid;gap:2px;margin-top:6px}.sidebar-mobile-project-actions{display:grid;margin:6px 0 0;padding-bottom:0;border-bottom:0}}@media(max-width:700px){.plan-contour-actions{bottom:78px}.mobile-plan-edit-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin:0 0 10px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--green-dark);font:inherit;font-weight:800}.plan-screen-v2:not(.mobile-plan-editing) .screen-actions,.plan-screen-v2:not(.mobile-plan-editing) .planner-tools,.plan-screen-v2:not(.mobile-plan-editing) .planner-inspector,.plan-screen-v2:not(.mobile-plan-editing) .roof-rotate-button,.plan-screen-v2:not(.mobile-plan-editing) .plan-contour-actions{display:none!important}.plan-screen-v2:not(.mobile-plan-editing) .planner-shell:not(.is-fullscreen),.plan-screen-v2:not(.mobile-plan-editing) .planner-shell:not(.is-fullscreen):has(.planner-inspector .room-summary){display:block;height:620px;min-height:0;overflow:hidden}.plan-screen-v2:not(.mobile-plan-editing) .planner-canvas{height:100%}}.app-layout.plan-app-layout{grid-template-columns:254px minmax(0,1fr)}.plan-screen-v2 .plan-status-bar{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;padding:7px 9px}.plan-screen-v2 .plan-floor-switcher{flex:0 0 auto}.project-summary-header h2{font-size:20px;line-height:1.15}.project-summary-sidebar .summary-value>span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.project-summary-sidebar .summary-value{display:flex;align-items:center;min-height:52px}.project-summary-sidebar .summary-value strong{font-size:16px;line-height:1.2}.project-summary-sidebar .summary-section-title{grid-template-columns:30px minmax(0,1fr) 16px;min-height:54px}.project-summary-sidebar .summary-section-title strong{font-size:15px}.project-summary-sidebar .summary-section-title svg:first-child{width:27px;height:27px;padding:5px;border-radius:8px;color:#fff;background:var(--section-accent, #4e7846);stroke-width:2.2}.summary-section-plan{--section-accent: #4b7854}.summary-section-sip{--section-accent: #3c7b7e}.summary-section-piles{--section-accent: #956d44}.summary-section-roof{--section-accent: #5774a0}.summary-section-terrace{--section-accent: #7c7950}.summary-section-openings{--section-accent: #9a665c}.summary-section-engineering{--section-accent: #6c6594}.summary-section-estimate{--section-accent: #4e765f}.plan-screen-v2 .plan-layer-tabs{display:flex;max-width:calc(50% - 85px);overflow-x:auto;scrollbar-width:thin}.plan-screen-v2 .plan-layer-tab{flex:0 0 58px}.plan-screen-v2 .plan-stair-controls{position:absolute;z-index:7;top:122px;left:12px;right:12px;display:flex;width:min(520px,calc(100% - 24px));gap:8px;padding:6px 8px;border:1px solid #d6e0d4;border-radius:9px;background:#fffffff7;box-shadow:0 3px 12px #1c341714}.plan-screen-v2 .plan-stair-controls .field{flex:1 1 0;min-width:0}.plan-screen-v2 .planner-shell.is-fullscreen .plan-stair-controls{top:115px}.plan-screen-v2 .planner-shell.is-fullscreen .plan-layer-tabs{max-width:calc(100% - 390px)}@media(max-width:760px){.plan-screen-v2 .planner-shell.is-fullscreen .plan-layer-tabs{max-width:calc(100% - 20px)}}@media(max-width:1200px){.plan-screen-v2 .plan-layer-tab{flex-basis:52px}.plan-screen-v2 .plan-layer-tabs{max-width:calc(100% - 24px)}}@media(max-width:820px){.plan-screen-v2 .plan-layer-tabs{gap:3px}.plan-screen-v2 .plan-layer-tab{flex-basis:45px}}.plan-top-advanced{order:3;flex:0 0 auto;color:var(--green-dark);font-size:10px}.plan-top-advanced[open]{flex-basis:100%}.plan-top-advanced summary{cursor:pointer;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-weight:700}.plan-top-advanced .plan-house-fields{margin-top:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.plan-screen-v2 .plan-view-switches{flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap}.plan-screen-v2 .planner-shell:not(.is-fullscreen){height:max(620px,calc(100dvh - 245px));grid-template-columns:88px minmax(0,1fr) 420px}.plan-screen-v2 .planner-shell:not(.is-fullscreen):has(.planner-inspector .room-summary){grid-template-columns:88px minmax(0,1fr) 420px}.plan-screen-v2 .planner-inspector:has(.room-summary){display:flex}.plan-screen-v2 .planner-inspector{min-width:0;min-height:0;display:flex;flex-direction:column;padding:0}.plan-right-3d{flex:0 0 auto;padding:10px 10px 8px;border-bottom:1px solid #dce4dc;background:#fff}.plan-right-3d-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.plan-right-3d-heading strong,.plan-right-3d-heading small{display:block}.plan-right-3d-heading strong{font-size:13px}.plan-right-3d-heading small{margin-top:2px;color:#667069;font-size:9px;line-height:1.25}.plan-right-3d-actions{display:flex;gap:3px;flex:0 0 auto}.plan-right-3d-actions button,.plan-right-3d-sizes button{padding:4px 5px;border:1px solid #c8d8c2;border-radius:5px;background:#f4f8f1;color:#315d27;font-size:9px}.plan-right-3d-view{margin-top:7px;max-height:235px;overflow:auto}.plan-right-3d-view.size-small{max-height:185px}.plan-right-3d-view.size-large{max-height:320px}.plan-right-3d-view .production-3d{margin:0}.plan-right-3d-view .production-3d-canvas{height:135px}.plan-right-3d-view.size-small .production-3d-canvas{height:105px}.plan-right-3d-view.size-large .production-3d-canvas{height:205px}.plan-right-3d-view .production-3d-toolbar button{min-height:26px;min-width:26px;padding:3px}.plan-right-3d-view .production-3d-toolbar{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:thin}.plan-right-3d-view .production-3d-toolbar strong{display:none}.plan-right-3d-view .production-3d-toolbar [role=group]{flex:0 0 auto;flex-wrap:nowrap}.plan-right-3d-view .production-3d small{display:none}.plan-right-3d-view .production-3d small[role=alert]{display:block}.plan-right-3d-view .plan-3d-drawing .workbench-drawing{width:100%;height:180px}.plan-right-3d-placeholder{margin:10px 0 0;color:#667069;font-size:10px}.editable-estimate-table .estimate-price-changed,.editable-estimate-table .estimate-price-changed input{color:#b42318!important;font-weight:800}.header-totals .adjusted.is-modified strong{color:#b42318!important}.header-totals .adjusted.is-modified{background:#fff0ed}.plan-library-sync-status{margin:0 16px 10px;font-size:12px;color:#426844}.plan-library-sync-status.error{color:#b42318!important}.mail-contacts{display:grid;gap:10px;margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.mail-contacts form,.mail-contacts>div>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.mail-contacts input,.mail-compose select{min-width:180px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text)}.mail-contacts>div{display:grid;gap:7px}.mail-contacts>div>div{padding:7px 0;border-bottom:1px solid var(--line)}.mail-contacts>div>div span{margin-right:auto;overflow-wrap:anywhere}.plan-right-3d-sizes{display:flex;justify-content:flex-end;gap:4px;margin-top:5px}.plan-right-3d-sizes button[aria-pressed=true]{background:#dff0d5;border-color:#77a55f}.plan-right-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px 10px;border-bottom:1px solid #dce4dc;background:#f8faf7}.plan-right-tabs button{padding:7px 5px;border:1px solid #d0deca;border-radius:7px;background:#fff;color:#315d27;font-size:10px;font-weight:700}.plan-right-tabs button[aria-pressed=true]{background:#dff0d5;border-color:#77a55f}.planner-inspector-detail{flex:1 1 auto;min-height:0;overflow-y:auto;padding:11px}.planner-inspector-detail[hidden]{display:none}.plan-right-house{display:grid;gap:10px}.plan-right-floors{display:flex;gap:4px}.plan-right-floors button{flex:1;padding:7px;border:1px solid #d0deca;border-radius:7px;background:#fff;color:#315d27;font-size:10px;font-weight:700}.plan-right-floors button[aria-pressed=true]{background:#dff0d5;border-color:#77a55f}.plan-right-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.plan-right-fields .field{min-width:0}.plan-right-fields .field input,.plan-right-fields .field select{width:100%;min-width:0}.plan-right-full{grid-column:1 / -1}.planner-shell.is-fullscreen .plan-right-3d-view{max-height:290px}.planner-shell.is-fullscreen .plan-right-3d-view .production-3d-canvas{height:185px}@media(max-width:1100px)and (min-width:701px){.app-layout.plan-app-layout{grid-template-columns:204px minmax(0,1fr)}.plan-screen-v2 .planner-shell:not(.is-fullscreen),.plan-screen-v2 .planner-shell:not(.is-fullscreen):has(.planner-inspector .room-summary){grid-template-columns:70px minmax(0,1fr) 330px;grid-template-rows:1fr;height:max(620px,calc(100dvh - 245px));min-height:0;overflow:hidden}.plan-screen-v2 .planner-tools{flex-direction:column;overflow:hidden;border-right:1px solid #dce4dc;border-bottom:0}.plan-screen-v2 .planner-tools-scroll{overflow-y:auto}.plan-right-fields .numeric-step-button{display:none}}.parameter-section.theme-indigo{--section-accent:#4e5da5;--section-wash:#f0f2ff;--section-border:#cbd2f2}.parameter-section.theme-green{--section-accent:#31744b;--section-wash:#eaf6ed;--section-border:#b9dbbf}.parameter-section.theme-slate{--section-accent:#526574;--section-wash:#eef3f6;--section-border:#cad7e0}.parameter-section.theme-amber{--section-accent:#95630d;--section-wash:#fff5df;--section-border:#e8cf95}.parameter-section.theme-teal{--section-accent:#167d7a;--section-wash:#e4f6f4;--section-border:#a8dcda}.parameter-section.theme-terracotta{--section-accent:#a75035;--section-wash:#fff0e9;--section-border:#e9bea9}.parameter-section.theme-violet{--section-accent:#7654a5;--section-wash:#f4effb;--section-border:#d8c6e9}.parameter-section.theme-sky{--section-accent:#286f9c;--section-wash:#eaf5fc;--section-border:#b6d8eb}.parameter-section.theme-blue{--section-accent:#355fbb;--section-wash:#eef3ff;--section-border:#bfcfee}.parameter-section.theme-olive{--section-accent:#647d2e;--section-wash:#f2f6e7;--section-border:#ccd9aa}.parameter-section{border-color:var(--section-border,var(--line));overflow:hidden}.parameter-section>summary{display:flex;align-items:center;gap:10px;min-height:62px;padding:12px 15px;color:var(--section-accent,var(--green-dark));background:var(--section-wash,var(--green-soft));cursor:pointer;list-style:none}.parameter-section>summary::-webkit-details-marker{display:none}.parameter-section>summary:focus-visible{outline:2px solid var(--section-accent);outline-offset:-3px}.parameter-section[open]>summary{border-bottom:1px solid var(--section-border,var(--line))}.parameter-section-icon{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--section-accent);color:#fff}.parameter-section-icon svg{width:18px;height:18px;stroke-width:2}.parameter-section-heading{flex:1 1 auto;min-width:0;display:grid;gap:2px}.parameter-section-heading strong{font-size:13px;line-height:1.25}.parameter-section-heading small{color:#506058;font-size:10px;line-height:1.35}.parameter-section-number{font-size:10px;font-weight:800;opacity:.7}.parameter-section-chevron{width:16px;height:16px;flex:0 0 auto;transition:transform .16s ease}.parameter-section[open] .parameter-section-chevron{transform:rotate(180deg)}.parameters-embedded{min-width:0;padding:0;background:transparent}.parameter-section-jump{display:grid;gap:5px;margin-bottom:9px;color:#3d4e91;font-size:11px;font-weight:800}.parameter-section-jump select{width:100%;min-height:37px;padding:6px 8px;border:1px solid #cbd2f2;border-radius:8px;background:#fff;color:var(--text);font:inherit}.parameters-embedded .parameters-master-layout{display:block}.parameters-embedded .parameter-section{margin-bottom:8px;border-radius:9px;box-shadow:none}.parameters-embedded .parameter-section>summary{min-height:50px;padding:8px 10px;gap:8px}.parameters-embedded .parameter-section-icon{flex-basis:30px;width:30px;height:30px;border-radius:7px}.parameters-embedded .parameter-section-icon svg{width:16px;height:16px}.parameters-embedded .parameter-section-heading strong{font-size:11px}.parameters-embedded .parameter-section-heading small{font-size:9px}.parameters-embedded .parameter-section-body{padding:11px}.parameters-embedded .form-grid,.parameters-embedded .form-grid.three,.parameters-embedded .form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.parameters-embedded .field,.parameters-embedded .field input,.parameters-embedded .field select{min-width:0}.parameters-embedded .service-groups{grid-template-columns:1fr}.parameters-embedded .parameter-entity-list>article{grid-template-columns:repeat(2,minmax(0,1fr))}.parameters-embedded .parameter-platform-list>article>header{flex-wrap:wrap}.parameters-embedded .parameter-platform-list>article>header .toggle-row{min-width:0}.parameters-embedded .parameter-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.parameters-embedded .exterior-editor .form-grid,.parameters-embedded .exterior-editor .form-grid.three,.parameters-embedded .exterior-editor .form-grid.four{grid-template-columns:minmax(0,1fr)}.plan-right-calculation-settings{margin:0 0 9px;border:1px solid #cbd2f2;border-radius:8px;background:#f7f8ff}.plan-right-calculation-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px;color:#3d4e91;font-size:12px;font-weight:800;cursor:pointer}.plan-right-calculation-settings>summary svg{width:16px;height:16px;flex:none}.plan-right-calculation-settings[open]>summary svg{transform:rotate(180deg)}.calculation-settings-embedded{padding:0 9px 10px;min-width:0}.calculation-settings-embedded .parameter-subgroup{margin-top:8px;padding:9px;background:#fff}.calculation-settings-embedded .parameter-subgroup>summary,.parameters-embedded details.parameter-subgroup>summary{cursor:pointer;font-weight:800;line-height:1.4}.calculation-settings-embedded .parameter-subgroup[open]>summary,.parameters-embedded details.parameter-subgroup[open]>summary{margin-bottom:10px}.calculation-settings-embedded .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calculation-settings-embedded .price-adjustment-grid article{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calculation-settings-embedded .price-adjustment-grid article>strong{grid-column:1/-1}.calculation-settings-embedded .field,.calculation-settings-embedded .field input{min-width:0}.parameter-preset-button{display:flex;align-items:center;gap:7px;width:100%;margin:0 0 9px;padding:9px 11px;border:1px solid #cbd2f2;border-radius:8px;background:#f0f2ff;color:#4e5da5;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.parameter-preset-button svg{width:16px;height:16px}.plan-right-house{display:block}.plan-right-floors{margin-bottom:9px}.plan-top-advanced{display:block;margin:0 0 9px;color:#286f9c}.plan-top-advanced summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 10px;border-color:#b6d8eb;background:#eaf5fc;color:#286f9c;font-size:11px}.plan-top-advanced summary svg{width:16px;height:16px;flex:0 0 auto}.plan-top-advanced summary svg:last-child{margin-left:auto;transition:transform .16s ease}.plan-top-advanced[open] summary svg:last-child{transform:rotate(180deg)}.plan-top-advanced .plan-house-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;margin-top:0;border:1px solid #b6d8eb;border-top:0;border-radius:0 0 8px 8px}.plan-top-advanced .plan-house-fields .field{min-width:0}.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed),.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed):has(.planner-inspector .room-summary){grid-template-columns:112px minmax(0,1fr) 420px}@media(max-width:1100px)and (min-width:761px){.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed),.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed):has(.planner-inspector .room-summary){grid-template-columns:82px minmax(0,1fr) 380px}}@media(max-width:760px){.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed),.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed):has(.planner-inspector .room-summary){grid-template-columns:70px minmax(0,1fr)}}@media(max-width:700px){.app-layout.plan-app-layout{grid-template-columns:minmax(0,1fr)}.plan-screen-v2 .planner-shell:not(.is-fullscreen),.plan-screen-v2 .planner-shell:not(.is-fullscreen):has(.planner-inspector .room-summary){grid-template-columns:1fr;grid-template-rows:64px 570px auto;height:auto;min-height:0;overflow:visible}.plan-screen-v2 .planner-inspector{max-height:710px}.plan-screen-v2 .plan-view-switches{justify-content:flex-start}.plan-top-advanced{order:4}}.plan-screen-v2 .parameters-embedded .parameter-section-heading small,.plan-screen-v2 .parameters-embedded .parameter-section-number,.plan-screen-v2 .plan-right-3d-heading small{display:none}.plan-screen-v2 .parameters-embedded .parameter-section-heading strong,.plan-screen-v2 .plan-right-3d-heading strong{font-size:16px}.plan-screen-v2 .parameters-embedded .parameter-section-icon,.plan-screen-v2 .parameters-embedded .parameter-section-icon svg{color:#fff!important;stroke:#fff!important}.plan-screen-v2 .plan-top-advanced summary{font-size:16px}.plan-screen-v2 .plan-top-advanced summary svg:first-child{width:29px;height:29px;padding:5px;border-radius:7px;color:#fff!important;stroke:#fff!important;background:#286f9c}.project-tabbar{position:sticky;top:76px;z-index:29;display:flex;align-items:center;gap:10px;min-height:59px;padding:7px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 6px 16px #203b2010}.project-tabbar-label{flex:none;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--muted)}.project-tabbar-scroll{display:flex;align-items:stretch;gap:6px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin}.project-tab{display:flex;align-items:center;flex:none;max-width:240px;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.project-tab.active{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 -2px var(--green)}.project-tab-select{display:grid;grid-template-columns:28px minmax(0,1fr);align-content:center;column-gap:7px;min-width:105px;max-width:206px;padding:6px 8px;border:0;background:none;color:var(--ink);text-align:left}.project-tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.project-tab-select small{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px}.project-tab-dot{grid-row:1/3;align-self:center;width:7px;height:7px;border-radius:50%;background:#ba9660}.project-tab-dot.cloud{background:var(--green)}.project-tab-select .project-scheme-preview,.project-tab-select .project-scheme-empty{grid-row:1/3;align-self:center;width:28px;height:28px;border-radius:5px}.project-scheme-preview{display:block;width:100%;height:100%;min-height:76px;border-radius:9px;background:#f7faf5;object-fit:contain}.project-scheme-preview.compact{min-height:0}.project-scheme-empty{display:flex;align-items:center;justify-content:center;gap:4px;min-height:76px;border:1px dashed var(--line);border-radius:9px;background:var(--surface);color:var(--muted)}.project-scheme-empty span{font-size:20px;line-height:1}.project-scheme-empty small{font-size:10px}.project-scheme-empty.compact{min-height:0}.project-tab-close{display:grid;place-items:center;align-self:center;width:26px;height:26px;margin-right:4px;border:0;border-radius:7px;background:transparent;color:var(--muted)}.project-tab-close:hover{background:#c24e4220;color:#a32e29}.project-tab-close svg{width:13px;height:13px}.new-project-modal{width:min(520px,calc(100vw - 24px))}.new-project-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 0}.new-project-fields>label,.new-project-dimensions label{display:grid;gap:5px;min-width:0;font-size:12px;font-weight:750}.new-project-fields>label:first-child,.new-project-fields>label:nth-child(3),.new-project-dimensions{grid-column:1/-1}.new-project-fields input,.new-project-fields select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.new-project-dimensions{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.new-project-dimensions strong{font-size:12px}.new-project-dimensions small{color:var(--muted);font-size:11px;font-weight:400}.new-project-dimensions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.new-project-modal .field-error{color:#a4382f;font-size:12px}@media(max-width:430px){.new-project-fields{grid-template-columns:1fr}.new-project-fields>label,.new-project-dimensions{grid-column:1}}.plan-screen-v2 .plan-status-bar{justify-content:space-between;flex-wrap:nowrap}.plan-screen-v2 .plan-status-floor-switcher{grid-column:auto;flex:0 0 auto;align-self:center}.plan-status-total{display:flex;align-items:baseline;justify-content:center;gap:8px;min-width:0;margin-inline:auto;white-space:nowrap;color:var(--green-dark);font-size:12px;font-weight:700}.plan-status-total strong{font-size:16px}.plan-status-fullscreen{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--green-dark);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.plan-status-fullscreen svg{width:15px;height:15px}.plan-inspector-estimate{flex:0 0 auto;padding:10px;border-top:1px solid var(--line);background:var(--panel);font-size:11px}.plan-inspector-estimate>summary{cursor:pointer;font-weight:800;color:var(--green-dark);list-style-position:inside}.plan-inspector-estimate-content{display:grid;gap:7px;margin-top:9px}.plan-inspector-estimate-content>p{margin:0;color:var(--muted);line-height:1.4}.plan-inspector-estimate ul{list-style:none;max-height:175px;overflow-y:auto;margin:0;padding:0;display:grid;gap:7px}.plan-inspector-estimate li{display:flex;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}.plan-inspector-estimate li>div{min-width:0}.plan-inspector-estimate li strong,.plan-inspector-estimate li span,.plan-inspector-estimate li small{display:block}.plan-inspector-estimate li>strong{white-space:nowrap}.plan-inspector-estimate li span,.plan-inspector-estimate li small{margin-top:2px;color:var(--muted);line-height:1.35}.plan-inspector-estimate-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.plan-inspector-estimate-actions .button{width:100%;min-width:0;justify-content:center;padding:7px 5px;font-size:10px}.plan-estimate-print-host{position:absolute;left:-10000px;top:0;width:210mm;visibility:hidden;pointer-events:none}@media print{body.print-estimate-from-plan .plan-screen-v2>:not(.plan-estimate-print-host){display:none!important}body.print-estimate-from-plan .plan-estimate-print-host{position:static;display:block!important;width:auto;visibility:visible!important;pointer-events:auto}body.print-estimate-from-plan .plan-estimate-print-host .estimate-screen{display:block!important}}.estimate-included-lines{display:grid;gap:9px;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.estimate-included-lines h2,.estimate-included-lines p{margin:0}.estimate-included-lines p{font-size:12px;color:var(--muted)}.estimate-included-lines details{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.estimate-included-lines summary{display:flex;justify-content:space-between;gap:12px;padding:11px;cursor:pointer;font-weight:700}.estimate-included-lines .table-wrap{max-width:100%;overflow:auto}.plan-screen-v2 .plan-layer-tabs{max-width:calc(100% - 370px)}.plan-screen-v2 .planner-shell:not(.is-fullscreen) .canvas-history-controls{top:12px}.plan-screen-v2 .planner-shell.is-fullscreen .canvas-history-controls{top:64px;right:12px;max-width:none;flex-wrap:nowrap}.plan-screen-v2 .plan-status-bar:has(+.planner-shell.is-fullscreen){position:fixed;z-index:1002;top:0;left:0;right:0;margin:0;border-radius:0;box-shadow:0 3px 12px #102e1818}.plan-screen-v2 .planner-shell.is-fullscreen .plan-layer-tabs{top:64px;max-width:calc(100% - 370px)}.plan-screen-v2 .planner-shell.is-fullscreen .planner-tools,.plan-screen-v2 .planner-shell.is-fullscreen .planner-inspector{padding-top:58px}@media(max-width:1200px){.plan-screen-v2 .plan-layer-tabs,.plan-screen-v2 .planner-shell.is-fullscreen .plan-layer-tabs{max-width:calc(100% - 24px)}.plan-screen-v2 .planner-shell:not(.is-fullscreen) .canvas-history-controls{top:66px}.plan-screen-v2 .planner-shell.is-fullscreen .canvas-history-controls{top:118px}.plan-screen-v2 .plan-stair-controls{top:122px}.plan-screen-v2 .planner-shell.is-fullscreen .plan-stair-controls{top:224px}}@media(max-width:1000px){.plan-screen-v2 .plan-status-bar{flex-wrap:wrap}.plan-status-total{margin-inline:0}.plan-status-fullscreen{margin-left:auto}.plan-screen-v2 .plan-status-floor-switcher{width:max-content;flex:0 0 auto}.plan-screen-v2 .plan-view-switches{flex:1 1 100%;justify-content:flex-start}.plan-screen-v2 .canvas-history-controls{gap:2px}.plan-screen-v2 .canvas-history-controls button{width:29px;height:30px}.plan-screen-v2 .canvas-history-controls button.canvas-zoom-value{width:42px}.plan-screen-v2 .planner-shell.is-fullscreen .plan-layer-tabs{top:108px}.plan-screen-v2 .planner-shell.is-fullscreen .canvas-history-controls{top:162px;max-width:calc(100% - 16px);flex-wrap:wrap}.plan-screen-v2 .planner-shell.is-fullscreen .plan-stair-controls{top:266px}.plan-screen-v2 .planner-shell.is-fullscreen .planner-tools,.plan-screen-v2 .planner-shell.is-fullscreen .planner-inspector{padding-top:104px}}@media(min-width:1401px){.plan-screen-v2 .planner-shell:not(.is-fullscreen),.plan-screen-v2 .planner-shell:not(.is-fullscreen):has(.planner-inspector .room-summary),.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed){grid-template-columns:88px minmax(0,1fr) 8px var(--plan-inspector-width)!important}.plan-screen-v2 .planner-shell.three-pane:not(.is-fullscreen),.plan-screen-v2 .planner-shell.three-pane:not(.is-fullscreen):has(.planner-inspector .room-summary),.plan-screen-v2 .planner-shell.three-pane.is-fullscreen:not(.inspector-collapsed){grid-template-columns:88px var(--plan-model-width) 8px minmax(0,1fr) 8px var(--plan-inspector-width)!important}.plan-screen-v2 .planner-shell.is-fullscreen.inspector-collapsed{grid-template-columns:88px minmax(0,1fr)!important}.plan-screen-v2 .planner-shell.three-pane.is-fullscreen.inspector-collapsed{grid-template-columns:88px var(--plan-model-width) 8px minmax(0,1fr)!important}}.plan-3d-pane{min-width:0;min-height:0;overflow:auto;border-right:1px solid #cbdacb;background:#fff;padding:8px}.plan-3d-pane-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px;font-size:12px}.plan-3d-pane-head>div{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.plan-3d-pane-head button{padding:5px 7px;border:1px solid #c8d8c2;border-radius:6px;background:#f4f8f1;color:#315d27;font-size:10px;cursor:pointer}.plan-3d-pane .production-3d-canvas{height:clamp(260px,38vh,520px)}.plan-3d-pane .production-3d-toolbar{flex-wrap:wrap}.plan-3d-pane .production-3d-toolbar strong{display:none}.plan-3d-pane .production-3d small{font-size:10px}.plan-pane-resizer{position:relative;min-width:8px;background:#e5eee1;cursor:col-resize;touch-action:none;outline-offset:-2px}.plan-pane-resizer:after{content:"";position:absolute;left:2px;top:42%;height:16%;min-height:35px;border-left:3px solid #86a578;border-radius:3px}.plan-pane-resizer:hover,.plan-pane-resizer:focus-visible{background:#d0e4c7}.planner-shell.inspector-collapsed .inspector-resizer{display:none}@media(min-width:701px)and (max-width:1400px){.plan-screen-v2 .planner-shell:not(.is-fullscreen),.plan-screen-v2 .planner-shell:not(.is-fullscreen):has(.planner-inspector .room-summary),.plan-screen-v2 .planner-shell.is-fullscreen:not(.inspector-collapsed){grid-template-columns:70px minmax(0,1fr) 8px minmax(280px,var(--plan-inspector-width))!important}.plan-screen-v2 .planner-shell.three-pane:not(.is-fullscreen),.plan-screen-v2 .planner-shell.three-pane:not(.is-fullscreen):has(.planner-inspector .room-summary),.plan-screen-v2 .planner-shell.three-pane.is-fullscreen:not(.inspector-collapsed){grid-template-columns:70px minmax(0,1fr) 8px minmax(280px,var(--plan-inspector-width))!important;grid-template-rows:minmax(235px,34%) minmax(0,1fr)}.plan-screen-v2 .planner-shell.three-pane .planner-tools{grid-column:1;grid-row:1/span 2}.plan-screen-v2 .planner-shell.three-pane .plan-3d-pane{grid-column:2;grid-row:1;border-bottom:1px solid #cbdacb}.plan-screen-v2 .planner-shell.three-pane .model-resizer{display:none}.plan-screen-v2 .planner-shell.three-pane .planner-canvas{grid-column:2;grid-row:2}.plan-screen-v2 .planner-shell.three-pane .inspector-resizer{grid-column:3;grid-row:1/span 2}.plan-screen-v2 .planner-shell.three-pane .planner-inspector{grid-column:4;grid-row:1/span 2}.plan-screen-v2 .planner-shell.three-pane .plan-3d-pane .production-3d-canvas{height:180px}.plan-screen-v2 .planner-shell.is-fullscreen.inspector-collapsed{grid-template-columns:70px minmax(0,1fr)!important}}@media(max-width:700px){.plan-screen-v2 .plan-pane-resizer{display:none}.plan-screen-v2 .planner-shell.three-pane:not(.is-fullscreen){grid-template-columns:1fr!important;grid-template-rows:64px minmax(230px,auto) 570px auto!important;height:auto!important}.plan-screen-v2 .planner-shell.three-pane .plan-3d-pane{grid-row:2}.plan-screen-v2 .planner-shell.three-pane .planner-canvas{grid-row:3}.plan-screen-v2 .planner-shell.three-pane .planner-inspector{grid-row:4}}.project-tab-add,.project-tab-admin{display:flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:36px;padding:6px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:11px;font-weight:800;white-space:nowrap}.project-tab-add:hover,.project-tab-admin:hover{border-color:var(--green);background:var(--green-soft)}.project-tab-add svg,.project-tab-admin svg{width:15px;height:15px}.team-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.team-metrics>div{display:flex;flex-direction:column;gap:3px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.team-metrics small{font-size:11px;font-weight:700;color:var(--muted)}.team-metrics strong{font-size:27px;line-height:1.2;color:var(--ink)}.team-metrics .team-metric-sync{font-size:20px;color:var(--green-dark)}.team-metrics span{font-size:10px;color:var(--muted)}.team-project-controls{display:flex;gap:8px;align-items:center;margin-bottom:12px}.team-project-search{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.team-project-search svg{width:17px;height:17px;flex:none;color:var(--muted)}.team-project-search input{width:100%;height:38px;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.team-project-controls select{height:40px;max-width:175px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:11px}.team-project-controls .button{min-height:40px;font-size:11px}.team-project-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:14px;align-items:start}.team-project-list{display:grid;gap:5px;min-width:0}.team-project-row{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);text-align:left}.team-project-row.selected{border-color:var(--green);background:var(--green-soft)}.team-project-glyph{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:8px;background:var(--surface);color:var(--green-dark)}.team-project-glyph svg{width:17px;height:17px}.team-project-row-diagram{display:block;flex:none;width:56px;height:46px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.team-apply-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:8px 12px;border:1px solid #bdd4b7;border-radius:9px;background:#f1f8ed;color:#315d27;font-size:12px;font-weight:700}.team-apply-bar .button{min-height:34px;white-space:nowrap}@media(max-width:500px){.team-apply-bar{flex-wrap:wrap}.team-apply-bar .button{width:100%}}.team-project-row-diagram .project-scheme-preview,.team-project-row-diagram .project-scheme-empty{width:100%;height:100%;border:0;border-radius:0}.team-project-diagram-loading{display:grid;place-items:center;width:100%;height:100%;color:var(--muted)}.team-project-diagram-loading svg{width:18px;height:18px}.team-project-row-main{display:grid;gap:2px;min-width:0;flex:1}.team-project-row-main strong,.team-project-row-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-project-row-main strong{font-size:12px}.team-project-row-main small,.team-project-row-tail small{font-size:10px;color:var(--muted)}.team-project-row-tail{display:grid;gap:3px;flex:none;text-align:right}.team-project-row-tail b{font-size:10px}.team-project-detail{min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.team-project-detail-kicker{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--green-dark)}.team-project-detail h3{margin:8px 0 4px;font-size:18px;overflow-wrap:anywhere}.team-project-detail p{margin:0 0 14px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.team-project-diagram-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin:0 0 14px}.team-project-diagram-grid>div{height:126px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.team-project-diagram-grid small{display:block;height:16px;font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.team-project-diagram-grid .project-scheme-preview,.team-project-diagram-grid .project-scheme-empty{height:calc(100% - 16px);min-height:0}.team-project-detail dl{display:grid;gap:0;margin:0 0 12px}.team-project-detail dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px}.team-project-detail dt{color:var(--muted)}.team-project-detail dd{margin:0;font-weight:700;text-align:right;overflow-wrap:anywhere}.team-project-detail>small{color:var(--muted);font-size:10px}.team-project-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.team-project-detail-actions .button{justify-content:center;min-width:0;padding:8px;font-size:10px}.team-project-detail-actions .button:first-child{grid-column:1/-1}@media(max-width:1000px){.project-tabbar{top:0}.project-tabbar-label,.project-tab-add span,.project-tab-admin span{display:none}.team-project-board{grid-template-columns:minmax(0,1fr) 260px}}@media(max-width:760px){.team-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.team-project-board{grid-template-columns:1fr}.team-project-controls{flex-wrap:wrap}.team-project-search{flex-basis:100%}.team-project-controls select{flex:1;max-width:none}.team-project-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.project-tabbar{padding:6px 8px;gap:5px}.project-tab{max-width:175px}.project-tab-select{max-width:145px}.team-metrics{gap:6px}.team-metrics>div{padding:10px}.team-metrics strong{font-size:22px}.team-project-row-tail{display:none}}@media(min-width:821px){.app-layout.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr) 340px}.app-layout.plan-app-layout.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar-desktop-toggle{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:0 11px;margin-bottom:9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}.sidebar-desktop-toggle svg{width:18px;height:18px;flex:none}.sidebar-collapsed .sidebar{padding-inline:7px}.sidebar-collapsed .sidebar-desktop-toggle{justify-content:center;padding:0}.sidebar-collapsed .sidebar-desktop-toggle span,.sidebar-collapsed .sidebar nav button>span:not(.nav-alert-badge),.sidebar-collapsed .intake-indicator span,.sidebar-collapsed .sidebar-status{display:none}.sidebar-collapsed .sidebar nav button{justify-content:center;padding:0}.sidebar-collapsed .sidebar nav button svg{flex:none}.sidebar-collapsed .nav-alert-badge{position:absolute;right:0;top:0;min-width:15px;padding:1px 3px;font-size:8px}.sidebar-collapsed .sidebar nav button{position:relative}.sidebar-collapsed .intake-indicator{justify-content:center}}@media(max-width:820px){.sidebar-desktop-toggle{display:none}}@media(min-width:821px)and (max-width:1100px){.app-layout.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}}@media(min-width:821px){.app-layout.placement-app-layout,.app-layout.placement-app-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.placement-app-layout>.sidebar{display:none}}.parameters-route-default{display:grid;gap:5px;max-width:430px;margin:0 0 16px;padding:12px;border:1px solid #d4e3d9;border-radius:10px;background:#f7fbf8}.parameters-route-default label{display:grid;gap:6px;font-weight:650;color:#305348}.parameters-route-default select{max-width:100%;padding:8px;border:1px solid #bdd5c8;border-radius:7px;background:#fff;color:#25493c}.parameters-route-default small{color:#60776c;line-height:1.35}.knowledge-engineering-legend{display:grid;gap:15px;margin:18px 0}.knowledge-engineering-legend section{break-inside:avoid;border:1px solid #dce8e0;border-radius:10px;padding:10px}.knowledge-engineering-legend h2{margin:0 0 9px;font-size:1rem;color:#285945}.knowledge-engineering-legend section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 13px}.knowledge-engineering-item{display:flex;align-items:center;gap:8px;min-width:0;break-inside:avoid}.knowledge-engineering-item svg{flex:none;width:35px;height:35px}.knowledge-engineering-item span{min-width:0}.knowledge-engineering-item strong,.knowledge-engineering-item small{display:block}.knowledge-engineering-item strong{font-size:.8rem}.knowledge-engineering-item small{font-size:.73rem;line-height:1.25;color:#546d5e}.knowledge-share-notice{padding:7px;background:#eaf4ec;color:#245a3d;border-radius:6px}@media(max-width:650px){.knowledge-engineering-legend section>div{grid-template-columns:1fr}}@media print{.knowledge-engineering-legend{gap:7px}.knowledge-engineering-legend section{padding:5px}.knowledge-engineering-legend h2{font-size:10pt}.knowledge-engineering-item svg{width:8mm;height:8mm}.knowledge-engineering-item strong{font-size:8pt}.knowledge-engineering-item small{font-size:7pt}}.estimate-pdf-export .print-sheet{display:flow-root;width:800px;max-width:none;padding:0;border:0;margin:0;background:#fff;color:#111;box-shadow:none}.estimate-pdf-export .no-print{display:none!important}.estimate-pdf-export .print-only{display:block!important}.estimate-pdf-export .print-title,.estimate-pdf-export .estimate-section,.estimate-pdf-export .commercial-scope{break-inside:avoid}.estimate-pdf-export .estimate-section{margin:0}.estimate-pdf-export .estimate-images.no-print{display:none!important}.estimate-pdf-export .table-wrap{overflow:visible}.estimate-pdf-export .data-table{min-width:0;width:100%;table-layout:fixed;font-size:10px}.estimate-pdf-export .data-table th,.estimate-pdf-export .data-table td{padding:5px 4px;white-space:normal;overflow-wrap:anywhere}.estimate-pdf-export .data-table th{position:static}.estimate-pdf-export .estimate-preview-table th:first-child,.estimate-pdf-export .estimate-preview-table td:first-child{width:32%}.estimate-pdf-export .print-title{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:14px}.estimate-pdf-export .print-title>div:last-child{min-width:0;text-align:right}.estimate-pdf-export .print-title h1{font-size:18px;line-height:1.25;margin:0 0 10px;overflow-wrap:normal}.estimate-pdf-export .print-title>div:last-child>strong{display:block;line-height:1.35}.estimate-pdf-export .pdf-section-total{display:flex;justify-content:space-between;padding:7px 5px;border-top:1px solid #c8d8ca;background:#edf5ee;font-size:10px;font-weight:800}.estimate-pdf-export .pdf-section-total strong{flex:none;white-space:nowrap}@media print{.estimate-screen .print-title{display:grid;grid-template-columns:minmax(0,1fr) 85mm;align-items:start;gap:3mm}.estimate-screen .print-title h1{line-height:1.25;margin:0 0 2mm}.estimate-screen .print-title>div:last-child>strong{display:block;line-height:1.35}.estimate-screen .estimate-section{break-inside:auto}.estimate-screen .estimate-section h2{break-after:avoid}.estimate-screen .estimate-preview-table thead{display:table-header-group}.estimate-screen .estimate-preview-table tr{break-inside:avoid;page-break-inside:avoid}}.estimate-layer-controls{margin:0 0 16px;padding:16px;border:1px solid #bed3bd;border-radius:13px;background:#f7faf5}.estimate-layer-controls>header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px}.estimate-layer-controls>header strong{font-size:16px}.estimate-layer-controls>header p{margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.estimate-layer-total{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;white-space:nowrap}.estimate-layer-total>span{font-size:11px;color:#526b53}.estimate-layer-total>strong{font-size:16px;color:#285e37}.estimate-layer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.estimate-layer-stage{min-width:0;border:1px solid #d1decf;border-radius:9px;background:#fff}.estimate-layer-stage summary{display:flex;align-items:center;gap:10px;padding:11px;cursor:pointer;list-style:none}.estimate-layer-stage summary::-webkit-details-marker{display:none}.estimate-layer-stage summary:after{content:"⌄";font-size:18px;color:#52764c}.estimate-layer-stage[open] summary:after{transform:rotate(180deg)}.estimate-layer-stage summary>span{display:grid;gap:2px;min-width:0;flex:1}.estimate-layer-stage summary strong{font-size:13px}.estimate-layer-stage summary small,.estimate-layer-roles small{font-size:11px;color:#667b69}.estimate-layer-stage summary b{font-size:13px;white-space:nowrap}.estimate-layer-stage input{width:18px;height:18px;accent-color:#548238;flex:none}.estimate-layer-roles{padding:0 10px 10px;border-top:1px solid #e7eee5}.estimate-layer-roles label{display:flex;align-items:center;gap:9px;padding:8px 1px;border-bottom:1px solid #edf1eb;min-height:38px}.estimate-layer-roles label:last-child{border-bottom:0}.estimate-layer-roles label span{display:grid;flex:1;font-size:12px;min-width:0}.estimate-layer-roles label strong{white-space:nowrap;font-size:12px}@media(max-width:850px){.estimate-layer-list{grid-template-columns:1fr}}@media(max-width:430px){.estimate-layer-controls>header{flex-direction:column}.estimate-layer-stage summary b{font-size:11px}}.estimate-screen .print-title{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;padding:20px 22px;border:0;border-radius:10px;background:linear-gradient(120deg,#173c31,#286348);color:#fff;break-inside:avoid}.estimate-screen .print-brand{align-items:center}.estimate-screen .print-brand img{width:82px;height:62px;object-fit:contain;background:#fff;border-radius:7px;padding:5px}.estimate-screen .print-brand strong{font-size:15px;line-height:1.2}.estimate-screen .print-brand span,.estimate-screen .print-title-project>span,.estimate-screen .print-brand-contacts span{color:#d9e9dc;font-size:11px}.estimate-screen .print-title-project{text-align:right}.estimate-screen .print-title-project h1{font-size:21px;line-height:1.18;margin:4px 0;color:#fff}.estimate-screen .print-title-project strong{font-size:12px}.estimate-screen .print-brand-contacts{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #77a18b;text-align:left!important}.estimate-screen .print-brand-contacts strong{font-size:12px}.estimate-screen .print-brand-contacts span:last-child{font-size:12px;color:#fff}.estimate-screen .print-brand-contacts strong,.estimate-screen .print-brand-contacts span:last-child{white-space:nowrap}.estimate-pdf-export .print-brand-contacts strong{font-size:10px}@media(max-width:600px){.estimate-screen .print-title{grid-template-columns:1fr}.estimate-screen .print-title-project{text-align:left}.estimate-screen .print-brand-contacts{display:grid}}.estimate-pdf-export .print-title{grid-template-columns:1fr 1fr}.estimate-pdf-export .print-title>div:last-child{text-align:left}.estimate-pdf-export .print-title h1{font-size:21px;color:#fff}@media print{.estimate-screen .print-title{grid-template-columns:1fr 1fr;gap:3mm;padding:5mm;border-radius:2mm}.estimate-screen .print-brand-contacts{grid-column:1/-1}.estimate-screen .print-title h1{font-size:15pt;color:#fff}}.estimate-settings{padding:18px;border:1px solid #bfd0bd;border-radius:13px;background:#f7faf5;margin-bottom:16px}.estimate-settings>h2{margin:0 0 12px;font-size:18px}.estimate-settings>details>summary{cursor:pointer;padding:12px 0;font-weight:700}.estimate-settings .estimate-layer-controls{border:0;padding:12px 0 0;margin:0}.estimate-settings .print-diagram-options,.estimate-settings .super-compact-option{border:0;box-shadow:none;margin:0}.estimate-merge-option{display:flex;gap:10px;padding:14px 0;font-weight:700;font-size:13px}.estimate-layer-list{align-items:start}.estimate-layer-missing{padding:12px}.estimate-layer-missing p{font-size:12px;color:#62725f}.estimate-screen .print-title *{color:#fff!important}.estimate-screen .print-brand-contacts span:last-child{font-size:18px;font-weight:800}.estimate-pdf-export .print-brand-contacts span:last-child{font-size:16px}.estimate-workspace{display:grid;grid-template-columns:minmax(0,1fr) var(--estimate-settings-width,380px);gap:18px;align-items:start}.estimate-preview-column{grid-column:1;grid-row:1;min-width:0}.estimate-settings-column{grid-column:2;grid-row:1;position:sticky;top:12px;max-height:calc(100dvh - 150px);overflow:auto;min-width:0;padding-left:10px}.estimate-settings-resizer{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:col-resize;background:#d5e1d0;border-radius:5px;touch-action:none}.estimate-settings-column .estimate-settings{padding:12px}.estimate-settings-column .print-diagram-options{display:block;padding:0}.estimate-settings-column .print-option-group{display:grid;grid-template-columns:1fr;margin:8px 0}.estimate-settings-column .estimate-layer-list{grid-template-columns:1fr}.estimate-settings-column .estimate-layer-controls>header{display:grid}.estimate-settings-column .estimate-layer-total{justify-content:start}.estimate-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0;border:1px solid #bacdb7;border-radius:8px;overflow:hidden}.estimate-mode-switch button{padding:9px 3px;font-size:11px;border:0;background:#fff;cursor:pointer}.estimate-mode-switch button[aria-pressed=true]{background:#cfe3bd;font-weight:800}.estimate-scope-section{border:1px solid #c5d5bf;border-radius:9px;overflow:hidden}.estimate-scope-section>summary{display:flex;align-items:center;gap:8px;padding:12px;background:#eaf2e5;cursor:pointer}.estimate-scope-section>summary strong{flex:1;font-size:14px}.estimate-scope-section>summary b{font-size:12px}.estimate-scope-section>div{padding:7px;display:grid;gap:7px}.estimate-settings-column header h2{font-size:15px}.estimate-settings-column .estimate-image-source-actions{display:flex;flex-wrap:wrap;gap:6px}.estimate-preview-column .estimate-client-pages{display:block}.estimate-source-ledger{margin-top:20px;background:var(--panel);padding:15px;border:1px solid var(--line);border-radius:10px}.estimate-preview-column .print-sheet{padding:24px}.estimate-preview-column .print-only:not(.estimate-client-pages){display:block}.estimate-preview-column .estimate-image-actions,.estimate-preview-column .estimate-image-page-option{display:none}@media(max-width:1000px){.estimate-workspace{display:flex;flex-direction:column}.estimate-settings-column{position:static;max-height:none;width:100%;padding:0;order:0}.estimate-preview-column{width:100%;order:1}.estimate-settings-resizer{display:none}.estimate-preview-column .print-sheet{padding:12px}}@media print{.estimate-workspace,.estimate-preview-column{display:block!important}.estimate-settings-column{display:none!important}.estimate-preview-column .print-sheet{padding:0}}.estimate-screen .estimate-preview-column .estimate-client-pages{display:block!important}.estimate-preview-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:10px;background:#f4f8f1;border:1px solid #c6d5bf;border-radius:9px;margin-bottom:12px}.estimate-preview-toolbar .estimate-mode-switch{margin:0;min-width:300px}.estimate-preview-toolbar .estimate-image-source-actions{display:flex;flex-wrap:wrap;gap:6px}.estimate-settings-column .estimate-merge-option{border:1px solid #91b979;background:#f0f7eb;border-radius:7px;padding:10px;align-items:center}.estimate-workspace>.estimate-settings-resizer{grid-column:2;grid-row:1;position:relative;left:0;top:0;width:10px;height:100%;z-index:7;background:#c2d4b8;border:1px solid #94ad85;display:flex;align-items:center;justify-content:center}.estimate-settings-resizer:after{content:"⋮";font-size:22px;color:#3e6734}.estimate-settings-column{padding-left:16px}.header-totals .adjusted:not(.is-modified){background:#edf6e8}.header-totals .adjusted.is-modified{background:#fff0ee}@media(min-width:1001px){.estimate-workspace{height:calc(100dvh - 205px);overflow:hidden}.estimate-preview-column{height:100%;overflow:auto;overscroll-behavior:contain;padding-right:4px}.estimate-settings-column{position:relative;top:0;height:100%;max-height:none;overflow:auto;overscroll-behavior:contain}.estimate-screen>.screen-header{margin-bottom:12px}}@media(max-width:1000px){.estimate-workspace>.estimate-settings-resizer{display:none}.estimate-preview-toolbar{position:static}.estimate-preview-toolbar .estimate-mode-switch{min-width:0;width:100%}}@media print{.estimate-workspace,.estimate-preview-column{height:auto!important;overflow:visible!important}.estimate-settings-resizer{display:none!important}}.file-thumbnail{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:76px;height:84px;background:#fff;border:1px solid #c9d5c4;border-radius:6px;overflow:hidden}.file-thumbnail img{width:100%;height:100%;object-fit:contain}.file-thumbnail small{font-size:10px;font-weight:700}.local-estimate-picker{width:min(850px,95vw);max-height:90dvh;overflow:auto}.local-file-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.local-file-preview-grid label{display:flex;align-items:center;flex-wrap:wrap;gap:7px;border:1px solid #c9d5c4;border-radius:9px;padding:10px;min-width:0}.local-file-preview-grid .file-thumbnail{width:100%;height:155px}.local-file-preview-grid label>span:last-child{font-size:12px;overflow-wrap:anywhere}.estimate-file-picker-list .file-thumbnail img{width:100%;height:100%;object-fit:contain}.file-name{gap:10px}.estimate-file-references li{display:flex;align-items:center;gap:10px}.plan-screen-v2 .planner-shell .plan-3d-pane{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-rows:34px minmax(0,1fr);gap:6px;overflow:hidden;position:relative}.plan-3d-pane .plan-3d-pane-head,.plan-3d-pane .production-3d{display:contents}.plan-3d-pane .plan-3d-pane-head>strong{grid-column:1;grid-row:1;font-size:11px;white-space:nowrap}.plan-3d-pane .plan-3d-pane-head>div{grid-column:4;grid-row:1;display:flex;flex-wrap:nowrap;align-items:center;gap:4px}.plan-3d-pane .plan-3d-view-switch{grid-column:2;grid-row:1;display:flex;align-items:center;flex-wrap:nowrap;margin:0;gap:3px}.plan-3d-pane .production-3d-toolbar{grid-column:3;grid-row:1;display:flex;align-items:center;flex-wrap:nowrap!important;margin:0;gap:4px}.plan-screen-v2 .planner-shell .plan-3d-pane .production-3d-canvas{grid-column:1/-1;grid-row:2;width:100%;height:100%;min-height:0;max-height:none}.plan-3d-pane .production-3d>small:not([role=alert]),.plan-3d-pane .plan-3d-bearing-summary,.plan-3d-pane .plan-3d-bearing-detail{display:none}.plan-3d-pane .production-3d>small[role=alert],.plan-3d-pane .production-3d-issue-banner{grid-column:1/-1;grid-row:auto}.plan-3d-pane .production-3d-toolbar button{min-height:28px;padding:4px}.plan-3d-pane .plan-3d-view-switch button{min-height:26px;padding:4px;font-size:10px}.plan-3d-pane .plan-3d-pane-head button{white-space:nowrap;padding:4px;font-size:10px}@container (max-width:460px){.plan-3d-pane-head>strong{display:none}.plan-3d-pane .plan-3d-pane-head>div>button:first-child{font-size:0}.plan-3d-pane .plan-3d-pane-head>div>button:first-child:before{content:"↪";font-size:16px}.plan-3d-pane .plan-3d-pane-head>div>button:first-child{min-width:26px}}.plan-screen-v2 .planner-shell .plan-3d-pane{container-type:inline-size}.plan-screen-v2 .planner-shell.is-fullscreen .plan-3d-pane{padding-top:54px}.production-3d-toolbar .render-package-button{display:inline-flex;align-items:center;gap:5px;background:#e9f4df;border-color:#72a451;color:#244f25;font-weight:700}.production-3d-toolbar .render-package-button:disabled{opacity:.65;cursor:wait}.render-package-status{display:block;padding:7px 9px;border:1px solid #b9cfaa;border-radius:6px;background:#f3f8ef;color:#31562d;line-height:1.35}.plan-3d-pane .render-package-status{grid-column:1/-1;font-size:10px}@container (max-width:620px){.plan-3d-pane .render-package-button span{display:none}.plan-3d-pane .render-package-button{padding:4px;min-width:28px}}.plan-screen-v2 .planner-shell .plan-3d-pane{grid-template-columns:auto auto minmax(0,1fr)}.plan-3d-pane .plan-3d-pane-head>strong{display:none!important}.plan-3d-pane .production-3d-toolbar{grid-column:1;justify-self:start}.plan-3d-pane .plan-3d-view-switch{grid-column:2;justify-self:start}.plan-3d-pane .plan-3d-pane-head>div{grid-column:3;justify-self:end}.project-tabbar{top:var(--app-header-height,76px);background:var(--panel)}.plan-screen-v2>.screen-header{position:sticky;top:var(--app-chrome-height,135px);z-index:28;background:var(--panel);padding:8px 0;margin-bottom:8px;align-items:center;border-bottom:1px solid var(--line)}.plan-screen-v2>.screen-header .screen-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.plan-screen-v2>.plan-status-bar:not(:has(+.planner-shell.is-fullscreen)){position:sticky;top:calc(var(--app-chrome-height,135px) + var(--plan-actions-height,60px) + 8px);z-index:27;background:var(--panel)}@media print{.project-tabbar{display:none!important}.plan-screen-v2>.plan-status-bar{position:static!important}}.plan-right-3d-view{position:relative}.plan-3d-shot-notice{position:absolute;z-index:18;bottom:12px;left:12px;right:12px;display:flex;gap:8px;align-items:start;padding:10px;border:1px solid #adc59c;border-radius:7px;background:#f3f9ee;box-shadow:0 3px 12px #1d38152b;font-size:12px;line-height:1.4}.plan-3d-shot-notice span{flex:1}.plan-3d-shot-notice button{background:transparent;border:0;font-size:18px;cursor:pointer}.plan-3d-pane .production-3d-toolbar button[aria-label="Сохранить квадратный снимок 3D"]{background:#edf6e8;border-color:#759a60}@container (max-width:400px){.plan-3d-pane .plan-3d-view-switch button{padding:3px;font-size:9px}.plan-3d-pane .production-3d-toolbar{gap:3px}.plan-3d-pane .plan-3d-pane-head button{padding:3px;font-size:9px}.plan-3d-pane .production-3d-layer-menu>button{font-size:11px;padding:3px}}.roof-axis-controls,.bearing-selection-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:10px;background:#f3f7fc;border:1px solid #b9cbdf;border-radius:8px;min-width:0}.roof-axis-controls>span,.bearing-selection-controls>span{font-size:12px;line-height:1.4;flex:1 1 260px;color:#294564}.bearing-selection-controls label{display:flex;align-items:center;gap:6px;font-size:12px}.bearing-selection-controls select{max-width:240px}.partition-profile-legend{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:5px 12px;padding-top:6px;border-top:1px solid #ccd8e6}.partition-profile-legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap;color:#294564}.partition-profile-legend i{display:inline-block;width:18px;height:6px;border:1px solid #fff;border-radius:4px;box-shadow:0 0 0 1px #8da0b3}.partition-inspector-controls{display:grid;gap:9px;margin-bottom:12px;padding:10px;border:1px solid #b9d7c4;border-radius:10px;background:#f7fbf5}.partition-inspector-controls>label:not(.field){display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.35}.partition-inspector-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.partition-inspector-actions .button:last-child{grid-column:1/-1}.partition-inspector-controls .partition-profile-legend{padding-top:8px}.plan-layout-controls{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #c9d8c5}.plan-layout-controls h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:14px}.plan-layout-controls h3 svg{width:17px;height:17px}.plan-roof-support-controls{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e6bfae}@media(max-width:430px){.partition-inspector-actions{grid-template-columns:1fr}.partition-inspector-actions .button:last-child{grid-column:auto}}@media(max-width:700px){.roof-axis-controls,.bearing-selection-controls{gap:5px;padding:7px}.roof-axis-controls .button,.bearing-selection-controls .button{font-size:11px;padding:7px}.bearing-selection-controls label{flex-wrap:wrap;max-width:100%}}.planner-canvas>.roof-axis-controls,.planner-canvas>.bearing-selection-controls{position:absolute;z-index:8;top:70px;left:10px;right:10px;max-height:240px;overflow-y:auto;box-shadow:0 3px 10px #23456412}.planner-shell.is-fullscreen .planner-canvas>.roof-axis-controls,.planner-shell.is-fullscreen .planner-canvas>.bearing-selection-controls{top:122px}@media(max-width:1200px){.planner-canvas>.roof-axis-controls,.planner-canvas>.bearing-selection-controls{top:116px}.planner-shell.is-fullscreen .planner-canvas>.roof-axis-controls,.planner-shell.is-fullscreen .planner-canvas>.bearing-selection-controls{top:174px}}@media(max-width:1000px){.planner-shell.is-fullscreen .planner-canvas>.roof-axis-controls,.planner-shell.is-fullscreen .planner-canvas>.bearing-selection-controls{top:216px}}.plan-collision-warning{box-sizing:border-box;max-height:140px;overflow-y:auto;padding:10px 14px;border:1px solid #dc2626;border-radius:10px;background:#fff1f2;color:#991b1b;font-size:17px}.plan-collision-warning button{display:block;width:100%;border:0;padding:5px 0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.plan-issue-list{color:#991b1b;padding-left:20px;font-size:13px}.app:not([data-theme=dark]){--ink:#000;--muted:#000;--text:#000}.app:not([data-theme=dark]) *,.app:not([data-theme=dark]) *:before,.app:not([data-theme=dark]) *:after{color:#000!important}.app:not([data-theme=dark]) input::placeholder,.app:not([data-theme=dark]) textarea::placeholder{color:#000!important;opacity:1}.app:not([data-theme=dark]) svg.lucide{stroke:#000!important;opacity:1!important}.app:not([data-theme=dark]) .plan-screen-v2 :is(.parameter-section-icon svg.lucide,.plan-top-advanced summary svg.lucide:first-child),.app:not([data-theme=dark]) .project-summary-sidebar .summary-section-title svg.lucide:first-child{color:#fff!important;stroke:#fff!important}.app:not([data-theme=dark]) svg text,.app:not([data-theme=dark]) svg tspan{fill:#000!important;fill-opacity:1!important}.app:not([data-theme=dark]) button:disabled{opacity:1;background:#e5e5e5;border-style:dashed}.app:not([data-theme=dark]) .button.primary{background:#cde4bd}.app:not([data-theme=dark]) :is(.version-badge,.room-summary-list i){background:#cde4bd}.clear-area-note{font-size:12px;line-height:1.5}@media print{#root *,.print-only *,.production-print *{color:#000!important}svg text,svg tspan{fill:#000!important}}.app:not([data-theme=dark]) .estimate-screen .print-title *,.estimate-pdf-export .print-title *,#root .estimate-screen .print-title *{color:#fff!important}.app:not([data-theme=dark]) .header-totals .adjusted.is-modified strong{color:#b42318!important}.app:not([data-theme=dark]) .header-totals .adjusted:not(.is-modified) strong{color:#2e6a29!important}
