.archive-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px}.archive-toolbar select{width:auto;min-width:160px}.archive-count{margin-left:auto;color:var(--basalt-soft);font-size:11px}.archive-table-wrap{overflow-x:auto}.archive-table{min-width:1080px}.archive-table th:first-child{width:25%}.archive-table th:last-child{width:84px}.price-version-cell{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--basalt-soft);font-size:11px}.row-actions{display:flex;justify-content:flex-end;opacity:1;transition:opacity .14s var(--ease-out);gap:2px}.data-table tr:hover .row-actions,.row-actions:focus-within{opacity:1}.archive-skeleton{padding:6px 0}.archive-skeleton>div{height:49px;display:grid;grid-template-columns:1.6fr 1.2fr .6fr .7fr;gap:28px;align-items:center;padding:0 14px;border-top:1px solid var(--line)}.archive-skeleton>div:first-child{border:0}.archive-skeleton span{height:9px;border-radius:3px;background:linear-gradient(90deg,var(--surface-muted),var(--limestone),var(--surface-muted));background-size:220% 100%;animation:shimmer 1.4s linear infinite}.new-estimate-form{max-width:820px}.form-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;padding:26px 0;border-top:1px solid var(--line)}.form-section-heading{display:flex;gap:12px;align-items:flex-start}.form-section-heading>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600}.form-section-heading h2{margin:1px 0 0;font-size:14px}.form-section-heading p{margin:5px 0 0;color:var(--basalt-soft);font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-span-2{grid-column:span 2}.price-choice{position:relative;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;min-height:72px;padding:12px 14px;border:1px solid var(--bronze);border-radius:var(--radius-sm);background:var(--bronze-soft);cursor:pointer}.price-choice input{width:16px;min-height:16px;accent-color:var(--bronze)}.price-choice>span{display:grid}.price-choice small{margin-top:4px;color:var(--basalt-soft)}.price-choice-check{color:var(--bronze-dark)}.price-choice-single{grid-template-columns:auto 1fr auto;cursor:default}.price-choice-single input{display:none}.price-version-select small{color:var(--basalt-soft);font-size:10px}.inline-warning{display:grid;gap:4px;padding:14px;border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft)}.inline-warning a{width:fit-content;margin-top:5px;color:var(--bronze-dark);font-weight:600;border-bottom:1px solid}.inline-skeleton{color:var(--basalt-soft);padding:16px 0}.form-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:22px;border-top:1px solid var(--line)}.import-callout{display:flex;gap:14px;padding:18px;color:var(--text);background:var(--surface-muted);border-radius:var(--radius-sm);border:1px solid var(--line)}.import-callout-active{outline:3px solid color-mix(in oklch,var(--bronze) 60%,white);outline-offset:2px}.import-callout>svg{color:var(--accent)}.import-callout h2{margin:0;font-size:14px}.import-callout p{margin:5px 0 12px}.import-callout code,.import-callout p{color:var(--text-secondary);font-size:11px}.import-callout code{display:block;padding:8px 10px;border-radius:5px;background:var(--surface);font-family:Consolas,monospace;overflow-x:auto;border:1px solid var(--line)}.row-actions-visible{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.price-list{margin-top:18px;border-top:1px solid var(--line-strong)}.price-row{min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr) auto 145px;align-items:center;gap:14px;padding:12px 6px;border-bottom:1px solid var(--line)}.price-row-active{background:color-mix(in oklch,var(--bronze-soft) 55%,transparent)}.price-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:7px;color:var(--bronze-dark);background:var(--limestone)}.price-main>div{display:flex;align-items:center;gap:8px}.price-main p{margin:4px 0 0;color:var(--basalt-soft)}.price-main small{color:var(--basalt-soft);font-size:9px}.price-row dl{display:flex;gap:24px;margin:0}.price-row dl div{display:grid;justify-items:end}.price-row dt{color:var(--basalt-soft);font-size:9px}.price-row dd{margin:2px 0 0;font-size:15px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.active-note{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--success);font-size:10px}.settings-nav{display:flex;gap:18px;margin:-4px 0 24px;border-bottom:1px solid var(--line)}.settings-nav a{padding:8px 1px 10px;color:var(--basalt-soft);font-size:12px;font-weight:600;border-bottom:2px solid transparent}.settings-nav a:hover{color:var(--basalt)}.settings-nav a[aria-current=page]{color:var(--basalt);border-color:var(--bronze)}.settings-form{border-bottom:1px solid var(--line)}.settings-section{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;padding:26px 0;border-top:1px solid var(--line)}.settings-section-copy h2{margin:0;font-size:14px}.settings-section-copy p{max-width:30ch;margin:6px 0 0;color:var(--basalt-soft);font-size:11px;line-height:1.55}.settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-fields textarea{resize:vertical}.settings-fields label>small{margin-top:-2px;color:var(--basalt-soft);font-size:10px}.settings-wide{grid-column:1/-1}.settings-actions{min-height:68px;display:flex;align-items:center;gap:12px;padding:16px 0}.settings-actions>span:not(.form-error){color:var(--success);font-size:12px}.proposal-generator{display:grid;justify-items:start;gap:9px}.proposal-problems{width:min(620px,100%);border:1px solid color-mix(in oklch,var(--error) 45%,var(--line));border-radius:var(--radius-sm);background:var(--porphyry-soft);overflow:hidden}.proposal-problems-title{display:flex;gap:10px;padding:12px 14px;color:var(--porphyry)}.proposal-problems-title>div{display:grid;gap:2px}.proposal-problems-title span{font-size:11px}.proposal-problems ol{max-height:280px;margin:0;padding:0;list-style:none;overflow:auto;background:var(--surface)}.proposal-problems li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-top:1px solid var(--line)}.proposal-problems li>div{min-width:0;display:grid;gap:2px}.proposal-problems li strong{font-size:12px}.proposal-problems li small,.proposal-problems li span{overflow:hidden;color:var(--basalt-soft);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.estimate-editor{height:calc(100vh - var(--topbar-height));min-height:680px;display:flex;flex-direction:column;overflow:hidden}.estimate-editor.editor-fullscreen,.estimate-editor:fullscreen{width:100vw;height:100vh;min-height:0;background:var(--surface)}.editor-header{flex:0 0 auto;border-bottom:1px solid var(--line)}.editor-heading-row{display:flex;align-items:center;gap:10px}.editor-title{min-width:0;flex:1 1}.editor-title>div{display:flex;align-items:baseline;gap:8px}.editor-title>div>span{font-size:12px}.editor-title input{min-height:28px;max-width:500px;padding:1px 5px;border-color:transparent;background:transparent;letter-spacing:-.02em}.editor-title input:hover{border-color:var(--line-strong);background:var(--surface)}.editor-title p{margin:1px 0 0 6px;color:var(--basalt-soft);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-header-actions{display:flex;align-items:center;gap:7px}.save-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--basalt-soft);font-size:11px;white-space:nowrap}.save-dirty,.save-saving{color:var(--bronze-dark)}.save-error{color:var(--error)}.spin{animation:spin .8s linear infinite}.editor-meta-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(160px,1.3fr) 126px 130px minmax(150px,.8fr);gap:8px;align-items:end;margin:10px 0 0 44px}.editor-meta-row label{gap:3px}.editor-meta-row label>span{font-size:9px;color:var(--basalt-soft)}.editor-meta-row input,.editor-meta-row select{min-height:30px;height:30px;padding:4px 8px;font-size:11px}.estimate-grand-total{display:grid;justify-items:end;align-content:center;min-height:34px}.estimate-grand-total span{color:var(--basalt-soft);font-size:9px}.estimate-grand-total strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.editor-compact .editor-header{padding-block:6px}.editor-compact .editor-meta-row,.editor-compact .editor-title>p{display:none}.editor-compact .editor-title input{min-height:25px;font-size:17px}.document-files{flex:0 0 auto;border-bottom:1px solid var(--line);background:var(--warm-white)}.document-files>summary{min-height:31px;display:flex;align-items:center;gap:8px;padding:0 16px;list-style:none;cursor:pointer;color:var(--basalt-soft);font-size:10px}.document-files>summary::-webkit-details-marker{display:none}.document-files>summary>span{display:inline-flex;align-items:center;gap:6px;color:var(--basalt);font-weight:600}.document-files>summary strong{min-width:18px;height:18px;display:grid;place-items:center;border-radius:9px;background:var(--limestone);font-size:9px}.document-files>summary>svg:last-child{margin-left:auto;transition:transform .15s var(--ease-out)}.document-files[open]>summary>svg:last-child{transform:rotate(180deg)}.document-files-content{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;padding:4px 16px 9px}.document-files-content .attachment-list{display:flex;align-items:center;gap:6px;margin:0;overflow-x:auto}.document-files-content .attachment-list>div{min-width:210px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.editor-toolbar{flex:0 0 auto;min-height:48px;padding:7px 10px;border-bottom:1px solid var(--line)}.toolbar-separator{width:1px;height:22px;margin:0 2px;background:var(--line)}.editor-search{width:210px}.editor-search input{min-height:32px;height:32px}.errors-filter{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:1px solid transparent;border-radius:5px;color:var(--basalt-soft);font-size:10px;cursor:pointer;white-space:nowrap}.errors-filter input{width:13px;min-height:13px;accent-color:var(--porphyry)}.errors-filter-active{border-color:color-mix(in oklch,var(--error) 30%,white);color:var(--error);background:var(--porphyry-soft)}.column-preset{width:118px;min-height:32px;height:32px;padding-block:3px;font-size:10px}.mode-active{color:var(--bronze-dark);background:var(--bronze-soft)}.validation-button,.validation-ok{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;font-size:11px}.validation-button{color:var(--error);cursor:pointer}.validation-ok{color:var(--success)}.compact-menu{position:relative}.compact-menu>summary{list-style:none}.compact-menu>summary::-webkit-details-marker{display:none}.compact-popover{position:fixed;z-index:50;min-width:190px;margin-top:5px;transform:translateX(-15%);padding:6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-popover)}.compact-popover>a,.compact-popover>button{width:100%;display:flex;border:0;border-radius:5px;padding:8px 9px;background:transparent;cursor:pointer;font-size:12px}.compact-popover>a:hover,.compact-popover>button:hover{background:var(--limestone-soft)}.columns-popover{right:360px;max-height:420px;overflow:auto;transform:none}.columns-popover label{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:30px;padding:0 7px;cursor:pointer}.columns-popover label input{width:14px;min-height:14px}.columns-popover label span{font-size:11px;font-weight:500}.editor-save-error,.paste-report{flex:0 0 auto;min-height:31px;display:flex;align-items:center;gap:7px;padding:4px 12px;border:0;border-bottom:1px solid var(--line);text-align:left;font-size:10px}.editor-save-error{color:var(--error);background:var(--porphyry-soft);cursor:pointer}.editor-save-error span,.paste-report span{flex:1 1}.editor-save-error b{margin-left:auto}.paste-report{color:var(--success);background:color-mix(in oklch,var(--success) 8%,white)}.paste-report-warning{color:var(--error);background:var(--porphyry-soft)}.paste-report button{width:24px;height:24px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.bulk-toolbar{flex:0 0 auto;min-height:43px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 12px;color:var(--basalt);border-bottom:1px solid color-mix(in oklch,var(--bronze) 35%,white)}.bulk-toolbar strong{margin-right:5px;font-size:11px}.bulk-toolbar select{width:170px;min-height:30px;height:30px;padding-block:3px;font-size:10px}.bulk-action{display:inline-flex;align-items:center;gap:3px}.bulk-action input{width:62px;min-height:30px;height:30px;padding:3px 6px;font-size:10px}.bulk-installation{padding-left:6px;border-left:1px solid color-mix(in oklch,var(--bronze) 35%,white)}.bulk-installation>span{font-size:9px;font-weight:600}.bulk-installation input{width:70px}.bulk-toolbar .button{min-height:30px;font-size:11px}.room-navigator{flex:0 0 auto;display:flex;border-bottom:1px solid var(--line)}.room-all{min-width:max-content;padding:0 11px;border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;font-size:10px}.room-all span{margin-left:4px;color:var(--basalt-soft)}.room-navigator>select{width:215px;min-height:31px;height:31px;align-self:center;margin:0 7px;padding-block:3px;font-size:10px}.room-strip{min-width:0;flex:1 1;overflow-x:auto;scrollbar-width:thin}.room-strip,.room-summary{display:flex;align-items:stretch}.room-summary{min-width:max-content;border-left:1px solid var(--line);background:transparent;font-size:10px}.room-summary:hover{background:var(--limestone)}.room-actions button,.room-collapse,.room-select{border:0;background:transparent;cursor:pointer}.room-collapse{width:26px;display:grid;place-items:center;padding:0;color:var(--basalt-soft)}.room-select{display:flex;align-items:center;gap:7px;padding:0 6px 0 0}.room-select strong{font-size:11px}.room-select span{color:var(--basalt-soft)}.room-select b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.room-select i{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:var(--porphyry);color:white;font-size:9px;font-style:normal}.room-actions{display:none;align-items:center;padding-right:3px}.room-summary:focus-within .room-actions,.room-summary:hover .room-actions{display:flex}.room-actions button{width:23px;height:25px;display:grid;place-items:center;padding:0;color:var(--basalt-soft);border-radius:4px}.room-actions button:hover{color:var(--bronze-dark);background:var(--surface)}.room-actions button:disabled{opacity:.3;cursor:default}.room-collapsed{color:var(--basalt-soft)}.editor-body{min-height:0;flex:1 1;display:grid}.editor-body-panel-closed{grid-template-columns:minmax(0,1fr)}.grid-section{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.grid-row-toolbar{min-height:30px;display:flex;gap:14px;align-items:center;padding:0 10px;border-bottom:1px solid var(--line);background:var(--surface)}.grid-row-toolbar button{display:inline-flex;align-items:center;gap:4px;border:0;padding:2px;color:var(--basalt-soft);background:transparent;cursor:pointer;font-size:10px}.grid-row-toolbar button:hover{color:var(--bronze-dark)}.grid-row-toolbar button:disabled{opacity:.4;cursor:default}.estimate-grid .cell-readonly{background:var(--surface-muted)}.row-context-menu{position:fixed;z-index:80;width:224px;padding:5px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);box-shadow:none}.row-context-menu header{padding:5px 8px 7px;color:var(--basalt-soft);font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.row-context-menu button{width:100%;min-height:29px;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;padding:5px 7px;border:0;border-radius:4px;color:var(--basalt);background:transparent;cursor:pointer;font-size:10px;text-align:left}.row-context-menu button:hover{color:var(--bronze-dark);background:var(--limestone)}.row-context-menu button:disabled{opacity:.35;cursor:default}.row-context-menu button:disabled:hover{color:var(--basalt);background:transparent}.row-context-menu kbd{color:var(--basalt-soft);font:inherit;font-size:9px}.row-context-menu hr{margin:4px 3px;border:0;border-top:1px solid var(--line)}.row-context-menu .row-context-danger{color:var(--error)}.estimate-grid{min-height:0;flex:1 1}.estimate-grid .ag-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.estimate-grid .ag-cell-inline-editing{box-shadow:inset 0 0 0 2px var(--bronze)}.estimate-grid .ag-row-active:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;z-index:2;background:var(--bronze);pointer-events:none}.estimate-grid .ag-row-pinned{font-weight:600;background:var(--surface-muted);color:var(--text)}.estimate-grid .ag-row-pinned .ag-cell{border-color:var(--line)}.estimate-grid .cell-total{font-weight:600}.estimate-grid .cell-invalid{box-shadow:inset 3px 0 0 var(--error)}.estimate-grid .cell-manual-adjustment{color:var(--bronze-dark);background:var(--bronze-soft)}.grid-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.detail-panel{min-width:0;min-height:0;display:flex;flex-direction:column}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.detail-header span{color:var(--basalt-soft);font-size:9px}.detail-header h2{max-width:260px;margin:2px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.adjustment-badge{display:inline-flex;margin-top:4px;padding:2px 6px;border-radius:9px;color:var(--bronze-dark);background:var(--bronze-soft);font-size:8px}.row-errors{flex:0 0 auto;display:flex;align-items:center;gap:7px;margin:8px 10px 0;padding:7px 9px;border:1px solid color-mix(in oklch,var(--error) 35%,white);border-radius:6px;color:var(--error);background:var(--porphyry-soft);cursor:pointer;font-size:10px;text-align:left}.detail-scroll{min-height:0;flex:1 1;overflow-y:auto;scrollbar-width:thin}.detail-section{border-bottom:1px solid var(--line)}.detail-section h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.detail-section h3 span{min-width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--limestone);font-size:9px}.detail-section label{gap:4px;margin-top:8px}.detail-section label>span{color:var(--basalt-soft);font-size:9px}.detail-section input,.detail-section select,.detail-section textarea{min-height:30px;padding:4px 7px;font-size:11px}.detail-section textarea{resize:vertical}.material-pricing-row{gap:7px}.material-pricing-row>label:first-child{flex:1.35 1}.material-pricing-row input{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calculation-line{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;padding-top:5px;color:var(--basalt-soft);font-size:10px}.calculation-line b{color:var(--basalt);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calculation-strong{margin-top:8px;border-top:1px solid var(--line);font-size:11px}.operation-search{position:relative}.operation-search svg{position:absolute;top:50%;left:8px;transform:translateY(-50%);color:var(--basalt-soft)}.operation-results{position:absolute;z-index:45;width:318px;max-height:260px;overflow:auto;margin-top:4px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-popover)}.operation-results>button{width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 9px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.operation-results>button:hover{background:var(--limestone-soft)}.operation-results span{display:grid}.operation-results small{color:var(--basalt-soft);font-size:9px}.operation-results b{color:var(--bronze-dark);font-size:10px}.operation-results>p{margin:0;padding:12px;color:var(--basalt-soft)}.operation-list{display:grid;gap:7px;margin-top:8px}.operation-item{padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.operation-item-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.operation-item-head strong{font-size:10px}.operation-item-head button{width:20px;height:20px;display:grid;place-items:center;border:0;color:var(--basalt-soft);background:transparent;cursor:pointer}.operation-fields{display:grid;grid-template-columns:1.3fr .65fr .75fr;gap:5px}.operation-fields label{margin:0}.operation-fields input,.operation-fields select{min-width:0;height:27px;min-height:27px;font-size:9px}.operation-fields-compact{grid-template-columns:1fr 1fr auto;align-items:end;margin-top:5px}.operation-fields-compact b{padding:0 1px 5px 7px;font-size:10px}.detail-empty{margin:10px 0 2px;color:var(--basalt-soft);font-size:10px}.adjustment-section em{color:var(--error);font-size:8px;font-style:normal;font-weight:500}.upload-button{min-height:34px;display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:7px!important;border:1px dashed var(--line-strong);border-radius:6px;background:var(--surface);cursor:pointer}.upload-button:hover{border-color:var(--bronze)}.upload-button input{display:none}.upload-button>span{color:var(--basalt)!important;font-size:10px!important;font-weight:650}.attachment-list{display:grid;gap:2px;margin-top:7px}.attachment-list a{min-height:28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:3px 4px;border-radius:4px;font-size:9px}.attachment-list a:hover{background:var(--limestone-soft)}.attachment-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-list small{color:var(--basalt-soft)}.attachment-list>div{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:2px}.attachment-list>div>button{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:4px;color:var(--basalt-soft);background:transparent;cursor:pointer}.attachment-list>div>button:hover{color:var(--error);background:color-mix(in oklab,var(--error) 9%,transparent)}.estimate-extras-bar{flex:0 0 auto;border-bottom:1px solid var(--line);background:var(--warm-white)}.estimate-extras-bar details{max-height:190px;overflow:auto}.estimate-extras-bar summary{min-height:32px;display:flex;align-items:center;gap:8px;padding:0 16px;list-style:none;cursor:pointer}.estimate-extras-bar summary::-webkit-details-marker{display:none}.estimate-extras-bar summary>span{color:var(--basalt);font-size:10px;font-weight:600}.estimate-extras-bar summary>strong{margin-left:auto;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.estimate-extras-bar summary>small{color:var(--basalt-soft);font-size:9px}.estimate-extras-bar summary>svg{color:var(--basalt-soft);transition:transform .15s var(--ease-out)}.estimate-extras-bar details[open] summary>svg{transform:rotate(180deg)}.estimate-extras-content{padding:0 16px 7px}.estimate-extras-content>header{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:12px}.estimate-extras-content>header p{margin:0;color:var(--basalt-soft);font-size:9px}.estimate-extras-list{display:grid;gap:4px;padding:3px 0 5px}.estimate-extra{display:grid;grid-template-columns:minmax(170px,1.2fr) 120px minmax(180px,1fr) 30px;align-items:end;gap:6px}.estimate-extra label{display:grid;gap:2px}.estimate-extra label>span{color:var(--basalt-soft);font-size:8px}.estimate-extra input{height:28px;min-height:28px;padding:4px 7px;font-size:9px}.estimate-extra .icon-button{margin-bottom:1px}@media (max-width:760px){.estimate-extras-bar details{max-height:230px}.estimate-extra{grid-template-columns:1fr 100px 30px}.estimate-extra label:nth-child(3){grid-column:1/span 2}}.locked-price-row,.operation-rate-audit{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.locked-price-row>span,.operation-rate-audit>span{color:var(--basalt-soft);font-size:9px}.locked-price-row i,.operation-rate-audit i{display:inline-flex;margin-left:6px;padding:2px 5px;border-radius:8px;color:var(--bronze-dark);background:var(--bronze-soft);font-size:8px;font-style:normal;font-weight:600}.locked-price-row .button,.operation-rate-audit .button{min-height:25px;padding:3px 6px;font-size:9px}.material-pricing-row input[readonly],.operation-fields input[readonly]{color:var(--basalt-soft);background:var(--surface-muted);cursor:default}.operation-rate-audit{margin:4px 0 1px}.editor-proposal-problems{flex:0 0 auto;max-height:150px;overflow:auto;padding:6px 12px;border-bottom:1px solid color-mix(in oklch,var(--error) 35%,white);color:var(--error);background:var(--porphyry-soft)}.editor-proposal-problems>div{display:flex;align-items:center;gap:7px}.editor-proposal-problems>div>button{margin-left:auto;border:0;background:transparent;cursor:pointer}.editor-proposal-problems>button{width:100%;display:grid;grid-template-columns:minmax(120px,.45fr) 1fr;gap:10px;margin-top:4px;padding:5px 7px;border:1px solid color-mix(in oklch,var(--error) 18%,white);border-radius:4px;color:inherit;background:color-mix(in oklch,var(--surface) 85%,transparent);cursor:pointer;text-align:left;font-size:9px}.editor-proposal-problems>button:hover{border-color:var(--error)}.editor-proposal-problems>button b{font-weight:500}.price-override-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgb(20 19 17/46%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.price-override-dialog{width:min(440px,100%);display:grid;gap:14px;padding:18px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:none}.price-override-dialog>header{display:flex;justify-content:space-between;gap:16px}.price-override-dialog>header span{color:var(--bronze-dark);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.price-override-dialog h2{margin:3px 0 0;font-size:16px}.price-override-origin{display:flex;justify-content:space-between;gap:20px;padding:10px;border-radius:6px;color:var(--basalt-soft);background:var(--surface-muted);font-size:10px}.price-override-origin strong{color:var(--basalt);font-size:12px}.price-override-dialog em{color:var(--error);font-size:9px;font-style:normal}.price-override-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.detail-total{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}.detail-total span{color:oklch(.77 .01 85);font-size:10px}.detail-total strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-placeholder{flex:1 1;display:grid;place-items:center;align-content:center;padding:30px;text-align:center;color:var(--basalt-soft)}.detail-placeholder h2{margin:12px 0 5px;color:var(--basalt);font-size:14px}.detail-placeholder p{max-width:28ch;margin:0;font-size:10px}.bulk-detail{flex:1 1;display:grid;align-content:center;justify-items:center;padding:28px;text-align:center;color:var(--basalt-soft)}.bulk-detail h2{margin:12px 0 5px;color:var(--basalt);font-size:16px}.bulk-detail p{max-width:30ch;margin:0;font-size:10px}.bulk-detail ul{margin:14px 0;padding-left:20px;text-align:left;font-size:10px;line-height:1.7}.editor-skeleton{height:calc(100vh - var(--topbar-height));display:flex;flex-direction:column;padding:16px;background:var(--surface)}.editor-skeleton header{height:96px;display:grid;gap:12px;padding-bottom:18px}.editor-skeleton header span{height:18px;width:40%;border-radius:4px;background:var(--limestone)}.editor-skeleton header span:last-child{width:75%;height:32px}.editor-skeleton>div{flex:1 1;display:grid;grid-template-columns:1fr 340px;gap:1px;background:var(--line)}.editor-skeleton aside,.editor-skeleton section{background:var(--warm-white)}.editor-skeleton section{display:grid;align-content:start}.editor-skeleton i{height:39px;border-bottom:1px solid var(--line)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{to{background-position:-220% 0}}@media (max-width:900px){.editor-body{grid-template-columns:minmax(0,1fr) 318px}.editor-meta-row{grid-template-columns:1fr 1fr 115px 120px}.editor-header-actions .compact-menu,.estimate-grand-total{display:none}}@media (max-width:620px){.archive-toolbar{align-items:stretch;flex-direction:column}.archive-toolbar .search-field,.archive-toolbar select{width:100%}.archive-count{margin-left:0}.form-section{gap:16px}.form-grid,.form-section{grid-template-columns:1fr}.field-span-2{grid-column:span 1}.settings-section{gap:16px}.settings-fields,.settings-section{grid-template-columns:1fr}.settings-wide{grid-column:auto}.settings-nav{gap:12px;overflow-x:auto}.settings-nav a{white-space:nowrap}.price-row{grid-template-columns:auto 1fr}.active-note,.price-row dl,.price-row>.button{grid-column:2;justify-self:start}.estimate-editor{min-height:760px;overflow:auto}.editor-heading-row{align-items:flex-start;flex-wrap:wrap}.editor-header-actions{width:100%;justify-content:flex-end}.editor-meta-row{grid-template-columns:1fr 1fr;margin-left:0}.editor-toolbar{align-items:stretch;overflow-x:auto;flex-wrap:nowrap}.editor-toolbar .button{white-space:nowrap}.editor-search{min-width:180px}.editor-body{min-height:900px;grid-template-columns:1fr}.detail-panel{min-height:520px;border-top:1px solid var(--line-strong)}.bulk-toolbar{overflow-x:auto}.grid-footer span:last-child{display:none}}.editor-header,.estimate-editor{background:var(--background)}.editor-header{min-height:148px;padding:22px 24px 15px}.editor-heading-row{align-items:flex-start;gap:14px}.editor-heading-row>.icon-button{margin-top:1px}.editor-title>div{align-items:center;gap:18px}.editor-title>div>span{color:var(--text-secondary);font-size:14px;letter-spacing:.005em;font-weight:500}.editor-title input{width:min(680px,52vw);max-width:680px;min-height:36px;padding:1px 4px;font-size:24px;line-height:1.2;letter-spacing:-.025em;font-family:var(--font-sans);font-weight:600}.editor-header-actions{flex:0 0 auto;gap:12px;margin-left:auto}.editor-header-actions .button{min-height:40px;padding-inline:16px;font-size:13px}.editor-header-actions .version-menu{display:block}.save-indicator{margin-right:2px;font-size:12px}.editor-meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:10px 0 0 54px}.editor-meta-fields{min-width:0;display:flex;align-items:center;gap:10px 16px;overflow:visible;color:var(--basalt-soft);white-space:nowrap;flex-wrap:wrap}.editor-meta-fields>i{color:var(--line-strong);font-size:12px;font-style:normal;display:none}.editor-meta-field{display:block;gap:0}.editor-meta-field>span{position:static;width:auto;height:auto;padding:0;margin:0 0 4px;overflow:visible;clip:auto;white-space:nowrap;border:0;font-size:10px;font-weight:500;color:var(--text-secondary)}.editor-meta-field input,.editor-meta-field select{field-sizing:content;width:auto;min-width:108px;max-width:280px;min-height:24px;height:24px;padding:2px 3px;border-color:transparent;border-radius:4px;color:var(--text);background:transparent;box-shadow:none;font-size:12px}.editor-meta-site input{min-width:190px;max-width:360px}.editor-meta-date input{min-width:88px}.editor-meta-status select{min-width:76px;appearance:none}.editor-meta-date input::-webkit-calendar-picker-indicator{display:none}.editor-meta-field input:hover,.editor-meta-field select:hover{border-color:var(--line);background:color-mix(in oklch,var(--surface) 75%,transparent)}.editor-meta-field input:focus,.editor-meta-field select:focus{border-color:var(--bronze);background:var(--surface);box-shadow:none;outline:2px solid var(--accent);outline-offset:1px}.editor-files-menu{position:relative;font-size:11px}.editor-files-menu>summary{list-style:none;padding:3px;border-radius:4px;cursor:pointer}.editor-files-menu>summary::-webkit-details-marker{display:none}.editor-files-menu>summary:hover{color:var(--basalt);background:var(--limestone-soft)}.editor-files-popover{position:absolute;z-index:60;top:calc(100% + 10px);left:0;width:min(440px,calc(100vw - 48px));padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--basalt);background:var(--surface);box-shadow:var(--shadow-popover)}.editor-files-popover>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.editor-files-popover>header span{min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;color:var(--basalt-soft);background:var(--surface-muted);font-size:10px}.detail-files-content .attachment-list>p,.editor-files-popover .attachment-list>p{margin:8px 0 0;color:var(--basalt-soft);font-size:11px}.estimate-grand-total{flex:0 0 auto;min-width:190px;min-height:46px}.estimate-grand-total span{font-size:10px}.estimate-grand-total strong{margin-top:2px;font-size:25px;font-weight:650;letter-spacing:-.025em}.editor-compact .editor-header{min-height:auto;padding-block:10px}.editor-compact .editor-meta-row{display:none}.editor-compact .editor-title input{min-height:32px;font-size:19px}.editor-toolbar{min-height:62px;padding:11px 24px;gap:8px;background:var(--background);padding-inline:24px;flex-wrap:wrap}.editor-toolbar-hidden{display:none}.editor-toolbar .button,.editor-toolbar input,.editor-toolbar select{min-height:38px;height:38px}.editor-toolbar .button{padding-inline:13px;white-space:nowrap}.editor-toolbar .icon-button{width:38px;min-width:38px;padding:0}.editor-search{width:clamp(210px,18vw,320px);min-width:190px}.editor-search input{height:38px;min-height:38px;font-size:12px}.errors-filter{min-height:38px;padding-inline:9px;font-size:11px}.errors-filter input{width:15px;min-height:15px;height:15px}.column-preset{width:158px;height:38px;min-height:38px;padding-inline:10px 30px;font-size:12px;font-weight:650}.editor-status-control{min-height:32px;height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid color-mix(in oklch,var(--bronze) 56%,var(--line));border-radius:6px;color:var(--basalt);background:var(--surface);cursor:pointer;transition:border-color .16s var(--ease-out),background-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.editor-status-control>span{color:var(--basalt-soft);font-size:.75rem;font-weight:600}.editor-status-control select{width:auto;min-width:0;max-width:230px;min-height:30px;height:30px;padding:0;border:0;appearance:none;color:var(--basalt);background:transparent;box-shadow:none;cursor:pointer;font:inherit;font-size:.8125rem;font-weight:600}.editor-status-control:hover{border-color:var(--bronze-dark);background:var(--bronze-soft)}.editor-status-control:focus-within{border-color:var(--bronze-dark);box-shadow:none}.editor-status-control select:focus{outline:none}.editor-status-control>svg{flex:0 0 auto;color:var(--bronze-dark)}.editor-status-control.is-locked{color:var(--basalt-soft);cursor:default}.editor-status-control.is-locked,.editor-status-control.is-locked:hover{border-color:var(--line);background:var(--surface-muted)}.editor-status-control.is-locked select{color:var(--basalt);cursor:default;opacity:1;-webkit-text-fill-color:var(--basalt)}.editor-status-control.is-locked small{color:var(--basalt-soft);font-size:.75rem;white-space:nowrap}.editor-view-controls{min-height:38px;height:38px;display:inline-flex;align-items:stretch;flex:0 0 auto;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.editor-view-toggle{width:auto;min-width:76px;height:36px;min-height:36px;justify-content:center;gap:6px;padding:0 10px!important;border:0;border-radius:0;color:var(--basalt-soft);background:transparent;box-shadow:none}.editor-view-toggle+.editor-view-toggle{border-left:1px solid var(--line)}.editor-view-toggle:hover{color:var(--basalt);background:var(--limestone-soft)}.editor-view-toggle:focus-visible{position:relative;z-index:1;outline:2px solid var(--bronze);outline-offset:-2px}.editor-view-toggle:active{transform:translateY(1px)}.editor-view-toggle.is-active{color:var(--accent);background:var(--accent-soft);box-shadow:none}.editor-view-toggle span{font-size:.75rem;font-weight:650}.editor-view-panel{min-width:84px}.editor-view-fullscreen{border-left-color:var(--line-strong)!important}.validation-button{min-height:34px;font-size:11px;white-space:nowrap}.editor-overflow-menu{position:relative}.editor-overflow-popover{position:absolute;z-index:70;top:calc(100% + 8px);right:0;width:284px;max-height:min(560px,calc(100vh - 160px));margin:0;overflow-y:auto;transform:none}.editor-overflow-popover>a,.editor-overflow-popover>button{align-items:center;gap:9px}.editor-overflow-popover hr{margin:6px 4px;border:0;border-top:1px solid var(--line)}.columns-popover-title{display:flex;align-items:center;gap:7px;padding:6px 9px 4px;color:var(--basalt-soft);font-size:11px;font-weight:600}.columns-popover-list{padding-bottom:5px}.columns-popover-list label{min-height:31px;display:flex;align-items:center;gap:8px;padding:0 9px;border-radius:5px;cursor:pointer}.columns-popover-list label:hover{background:var(--limestone-soft)}.columns-popover-list input{width:14px;min-height:14px;height:14px}.columns-popover-list span{font-size:11px;font-weight:500}.estimate-extras-control{flex:0 0 auto}.estimate-extras-control .compact-menu{position:relative}.estimate-extras-control .compact-menu>summary{white-space:nowrap}.estimate-extras-control .compact-menu[open]>summary{color:var(--bronze-dark);background:var(--bronze-soft)}.estimate-extras-control .compact-menu[open]>summary svg{transform:rotate(180deg)}.estimate-extras-popover{position:absolute;z-index:65;top:calc(100% + 8px);right:0;width:min(660px,calc(100vw - 48px));padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-popover)}.estimate-extras-popover>header{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:16px}.estimate-extras-popover>header>div{display:flex;align-items:center;gap:8px}.estimate-extras-popover>header span,.estimate-extras-popover>p{color:var(--basalt-soft);font-size:11px}.estimate-extras-popover>p{margin:3px 0 12px}.estimate-extras-popover .estimate-extras-list{gap:8px}.estimate-extras-popover .estimate-extra{grid-template-columns:minmax(180px,1.25fr) 126px minmax(180px,1fr) 34px;gap:8px}.estimate-extras-popover .estimate-extra label>span{font-size:10px}.estimate-extras-popover .estimate-extra input{min-height:34px;height:34px;font-size:11px}.estimate-extras-empty{margin-bottom:0!important}.bulk-toolbar{min-height:62px;flex-wrap:nowrap;gap:8px;padding:11px 24px;overflow:visible;background:var(--bronze-soft)}.bulk-toolbar strong{flex:0 0 auto;font-size:12px}.bulk-action{flex:0 0 auto}.bulk-toolbar .button,.bulk-toolbar input,.bulk-toolbar select{min-height:34px;height:34px}.bulk-toolbar .toolbar-spacer{min-width:12px}.bulk-menu{position:relative;flex:0 0 auto}.bulk-menu>summary{white-space:nowrap}.bulk-menu[open]>summary{border-color:var(--bronze);color:var(--bronze-dark);background:var(--surface)}.bulk-menu[open]>summary svg:last-child{transform:rotate(180deg)}.bulk-popover{position:absolute;z-index:75;top:calc(100% + 8px);left:0;width:300px;display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--basalt);background:var(--surface);box-shadow:var(--shadow-popover)}.bulk-operation-popover{width:380px}.bulk-popover>strong{font-size:12px}.bulk-popover select{width:100%;min-height:38px;height:38px;font-size:11px}.bulk-popover .button{min-height:34px}.bulk-more-popover{right:0;left:auto;width:480px}.bulk-more-popover section{display:grid;gap:7px}.bulk-more-popover section+section{padding-top:12px;border-top:1px solid var(--line)}.bulk-more-popover .bulk-action{display:grid;grid-template-columns:minmax(150px,1fr) 70px 100px;gap:7px}.bulk-more-popover .bulk-installation{grid-template-columns:80px 90px 75px 100px;padding-left:0;border-left:0}.bulk-more-popover .bulk-action input,.bulk-more-popover .bulk-action select{width:100%}.room-assignment-dialog{width:min(440px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius-md);color:var(--basalt);background:var(--surface);box-shadow:none}.room-assignment-dialog::backdrop{background:rgb(20 19 17/48%)}.room-assignment-form{display:grid;gap:18px;padding:22px}.room-assignment-form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.room-assignment-form h2{margin:0;font-size:18px;line-height:1.3}.room-assignment-form header p{max-width:46ch;margin:6px 0 0;color:var(--basalt-soft);font-size:12px;line-height:1.5}.room-assignment-field{display:grid;gap:7px}.room-assignment-field>span{font-size:11px;font-weight:600}.room-assignment-field select{width:100%;min-height:42px;height:42px;font-size:12px}.room-assignment-field small{color:var(--basalt-soft);font-size:10px;line-height:1.45}.room-assignment-error{display:flex;align-items:center;gap:7px;margin:-6px 0 0;color:var(--error);font-size:11px}.room-assignment-form>footer{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}.room-assignment-form>footer .button{min-height:38px;padding-inline:16px}.room-navigator{min-height:49px;padding-left:24px;align-items:stretch;background:var(--background);padding-block:6px}.room-all{padding:0 14px;border-right:0;color:var(--basalt-soft);font-size:12px;border-radius:7px;font-weight:500}.room-all span{margin:0;color:inherit}.room-strip{scrollbar-width:none}.room-strip::-webkit-scrollbar{display:none}.room-summary{position:relative;border-left:0;color:var(--basalt-soft);font-size:12px;border-radius:7px}.room-summary:hover{background:var(--limestone-soft)}.room-select{gap:5px;padding:0 18px;color:inherit}.room-select strong{font-size:12px;font-weight:500}.room-select span{color:inherit}.room-actions{position:absolute;z-index:2;inset:7px 4px 7px auto;gap:1px;padding:0 2px;border:1px solid var(--line);border-radius:5px;background:var(--surface);box-shadow:var(--shadow-popover)}.room-summary:focus-within .room-select,.room-summary:hover .room-select{padding-right:126px}.room-filter-active{color:var(--accent-ink);box-shadow:none}.room-filter-active,.room-filter-active:hover{background:var(--accent-soft)}.room-scroll-next{width:48px;min-width:48px;display:grid;place-items:center;border:0;border-left:0;color:var(--basalt);background:var(--background);cursor:pointer}.room-scroll-next:hover{color:var(--bronze-dark);background:var(--limestone-soft)}.editor-body{position:relative;grid-template-columns:minmax(0,1fr) 340px;gap:14px;padding:12px 24px 0}.editor-body.editor-body-panel-closed{grid-template-columns:minmax(0,1fr)}.grid-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.estimate-grid .ag-root-wrapper{border:0}.estimate-grid .ag-header-cell-text{font-weight:500}.estimate-grid .ag-cell{font-size:12px}.estimate-grid .cell-product{font-weight:500}.estimate-grid .cell-identity{color:var(--basalt-soft)}.estimate-grid .cell-dimensions{letter-spacing:.01em}.estimate-grid .cell-readonly{color:var(--basalt-soft);background:transparent}.estimate-grid .ag-row-active:before{content:none}.estimate-grid .ag-row-active:not(.ag-row-selected){background:var(--limestone-soft)}.estimate-grid .ag-row-selected{background:var(--bronze-soft)}.estimate-grid .ag-row-selected:hover{background:color-mix(in oklch,var(--bronze-soft) 76%,var(--limestone))}.estimate-grid .cell-invalid{background:var(--porphyry-soft);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--error) 45%,transparent)}.grid-footer{min-height:62px;padding:12px 15px;color:var(--basalt-soft);background:var(--surface-muted);font-size:11px;flex-wrap:wrap;gap:8px 14px}.grid-footer>div,.grid-footer>span{white-space:nowrap}.grid-footer>div{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;flex-wrap:wrap;row-gap:5px}.grid-footer>div span{font-size:11px}.grid-footer>div i{color:var(--line-strong);font-style:normal}.grid-footer>div b{color:var(--basalt);font-size:12px}.grid-footer>div strong{color:var(--basalt);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid-footer .grid-grand-total{font-size:17px}.detail-panel{border-left:1px solid var(--line);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.detail-header{min-height:65px;padding:12px 16px;background:var(--surface)}.detail-header span{font-size:11px}.detail-header h2{max-width:310px;margin-top:4px;font-size:16px;font-weight:600}.detail-scroll{scrollbar-gutter:stable}.detail-section{padding:15px 16px}.detail-section h3{margin-bottom:14px;font-size:12px;font-weight:600}.detail-section h3 span{min-width:auto;height:auto;display:inline;border-radius:0;color:var(--basalt-soft);background:transparent;font-size:11px;font-weight:500}.detail-section label{gap:6px;margin-top:11px}.detail-section label>span{font-size:10px}.detail-section input,.detail-section select,.detail-section textarea{min-height:38px;padding:7px 10px;font-size:12px}.material-pricing-row{gap:12px}.calculation-line{min-height:34px;margin-top:4px;font-size:11px}.calculation-strong{margin-top:6px;font-size:12px}.locked-price-row,.operation-rate-audit{margin-top:8px}.locked-price-row>span,.operation-rate-audit>span{font-size:10px}.locked-price-row .button,.operation-rate-audit .button{min-height:28px;font-size:10px}.operation-search input{min-height:38px;padding-left:30px}.operation-results{position:static;inset:auto;width:100%;max-height:min(260px,35vh)}.operation-list{gap:8px;margin-top:10px}.operation-item{padding:0;border-radius:6px;overflow:hidden}.operation-item>summary::-webkit-details-marker{display:none}.operation-item-summary{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;list-style:none;cursor:pointer}.operation-item-summary:hover{background:var(--limestone-soft)}.operation-item-summary>span{min-width:0;display:grid;gap:4px}.operation-item-summary strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.operation-item-summary small{color:var(--basalt-soft);font-size:11px}.operation-chevron{flex:0 0 auto;color:var(--basalt-soft);transition:transform .16s var(--ease-out)}.operation-item[open] .operation-chevron{transform:rotate(90deg)}.operation-item-content{padding:12px;border-top:1px solid var(--line);background:var(--surface)}.operation-item-head{align-items:center;margin-bottom:9px;color:var(--basalt-soft);font-size:10px}.operation-fields{gap:8px}.operation-fields input,.operation-fields select{min-height:32px;height:32px;font-size:10px}.detail-disclosure{border-bottom:1px solid var(--line)}.detail-disclosure>summary{min-height:54px;display:flex;align-items:center;gap:4px;padding:0 24px;list-style:none;cursor:pointer;font-size:12px;font-weight:650}.detail-disclosure>summary::-webkit-details-marker{display:none}.detail-disclosure>summary:hover{background:var(--limestone-soft)}.detail-disclosure>summary b{color:var(--basalt-soft);font-size:11px;font-weight:500}.detail-disclosure>summary svg{margin-left:auto;color:var(--basalt-soft);transition:transform .16s var(--ease-out)}.detail-disclosure[open]>summary svg{transform:rotate(180deg)}.detail-disclosure-content{padding:0 24px 18px}.detail-subsection+.detail-subsection{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.detail-subsection h3{margin:0 0 10px;font-size:12px}.detail-subsection label{gap:5px;margin-top:9px}.detail-subsection label>span{color:var(--basalt-soft);font-size:10px}.detail-subsection input,.detail-subsection textarea{min-height:36px;font-size:11px}.detail-files-content .upload-button{margin-top:2px}.detail-total{min-height:66px;padding:10px 24px;border-top:1px solid var(--line);color:var(--text);background:var(--surface-muted)}.detail-total span{color:var(--basalt);font-size:12px;font-weight:650}.detail-total strong{font-size:20px;font-weight:650}.bulk-detail{padding:32px 24px}.bulk-detail p{font-size:11px}@media (max-width:1500px){.editor-header{padding-inline:20px}.editor-meta-row{margin-left:50px}.editor-toolbar{padding-inline:20px;overflow:visible;flex-wrap:wrap}.editor-add-room{overflow:hidden;font-size:0}.editor-add-room,.editor-view-toggle{width:38px;min-width:38px;padding:0!important}.editor-view-toggle{gap:0}.editor-view-toggle span{display:none}.room-navigator{padding-left:20px}.grid-footer{padding-inline:20px}}@media (max-width:1300px){.editor-add-room{width:38px;min-width:38px;padding:0!important;overflow:hidden;font-size:0}}@media (max-width:1100px){.editor-header{min-height:158px;padding-top:20px}.editor-heading-row{flex-wrap:wrap}.editor-title input{width:min(520px,58vw);font-size:22px}.editor-header-actions{margin-left:auto}.editor-meta-row{margin-left:50px}.editor-meta-fields{max-width:calc(100% - 160px);overflow-x:auto;scrollbar-width:none}.estimate-grand-total{min-width:150px}.grid-footer>div i,.grid-footer>div span{display:none}}@media (max-width:760px){.estimate-editor{min-height:760px;overflow:hidden}.editor-header{min-height:auto;padding:14px 16px}.editor-title input{width:min(440px,68vw);font-size:19px}.editor-header-actions{width:100%;justify-content:flex-end}.editor-meta-row{margin-left:0}.editor-meta-fields{max-width:100%}.estimate-grand-total{display:none}.editor-toolbar{padding-inline:12px}.room-navigator{padding-left:8px}.detail-panel{width:min(418px,100%);max-width:100%}.grid-footer{min-height:48px;padding-inline:12px}.grid-footer>div{display:none}.estimate-extras-popover{right:auto;left:0;width:min(620px,calc(100vw - 24px))}.room-assignment-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.room-assignment-form{padding:18px}}.production-filters select,.projects-toolbar select{width:auto;min-width:168px}.projects-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.projects-layout-detail{grid-template-columns:minmax(0,1fr) 390px}.projects-list{min-width:0;min-height:510px}.projects-table-wrap{overflow-x:auto}.projects-table{min-width:980px}.projects-table th:first-child{width:25%}.projects-table th:last-child{width:52px}.projects-table tbody tr{cursor:default}.projects-table .project-row-active{background:var(--bronze-soft)}.projects-table .project-row-active:hover{background:color-mix(in oklch,var(--bronze-soft) 78%,var(--limestone))}.project-primary{width:100%;display:grid;gap:3px;padding:0;border:0;color:var(--basalt);background:transparent;cursor:pointer;text-align:left}.project-primary strong{font-size:.8125rem}.project-primary small{overflow:hidden;color:var(--basalt-soft);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.production-active-note{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-size:.6875rem;font-weight:650;white-space:nowrap}.project-status-planning{color:var(--text-secondary);background:var(--surface-muted)}.project-status-ready{color:var(--success);background:var(--success-soft)}.project-status-in_production{color:var(--accent-ink);background:var(--accent-soft)}.project-status-completed{color:var(--success);background:var(--success-soft)}.project-status-archived{color:var(--basalt-soft);background:var(--surface-muted)}.projects-skeleton>div,.resources-skeleton>div{min-height:58px;display:grid;grid-template-columns:1.45fr 1fr .65fr .7fr;gap:28px;align-items:center;padding:0 14px;border-top:1px solid var(--line)}.projects-skeleton>div:first-child,.resources-skeleton>div:first-child{border-top:0}.project-detail-skeleton span,.projects-skeleton span,.resources-skeleton span{height:9px;border-radius:3px;background:linear-gradient(90deg,var(--surface-muted),var(--limestone),var(--surface-muted));background-size:220% 100%;animation:shimmer 1.4s linear infinite}.project-detail-panel{position:sticky;top:calc(var(--topbar-height) + 18px);min-width:0;max-height:calc(100vh - var(--topbar-height) - 42px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.project-detail-panel:focus{outline:none}.project-detail-panel:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.project-detail-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 15px;border-bottom:1px solid var(--line);background:var(--surface)}.project-detail-header>div{min-width:0}.project-detail-header span{color:var(--basalt-soft);font-size:.6875rem}.project-detail-header h2{margin:3px 0 0;overflow:hidden;font-size:1rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.project-detail-scroll{min-height:0;overflow-y:auto;scrollbar-gutter:stable}.project-detail-lead{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.project-success{display:flex;align-items:flex-start;gap:7px;margin:0;padding:10px 16px;color:var(--success);background:var(--success-soft);font-size:.75rem}.project-success svg{flex:0 0 auto;margin-top:1px}.project-facts{display:grid;gap:0;margin:0;padding:4px 16px}.project-facts>div{min-height:48px;display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid var(--line)}.project-facts>div:last-child{border-bottom:0}.project-facts dt{display:flex;align-items:center;gap:7px;color:var(--basalt-soft);font-size:.6875rem}.project-facts dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:.75rem;font-weight:650}.project-description{margin:0;padding:14px 16px;border-top:1px solid var(--line);color:var(--basalt-soft);font-size:.75rem;line-height:1.55;text-wrap:pretty}.project-detail-section{padding:16px;border-top:1px solid var(--line-strong)}.project-detail-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.project-detail-section h3{margin:0;font-size:.8125rem}.project-detail-section>header>span{color:var(--basalt-soft);font-size:.6875rem}.project-estimate-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.project-estimate-list li{min-height:67px;display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:9px;border-bottom:1px solid var(--line)}.project-estimate-list li>div{min-width:0;display:grid;gap:6px}.project-estimate-list li>div>strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.project-estimate-list li>div>span{display:flex;align-items:center;gap:8px}.project-estimate-list small{color:var(--basalt-soft);font-size:.625rem}.project-estimate-list li>b{font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.project-inline-empty{margin:0;padding:12px 0 2px;color:var(--basalt-soft);font-size:.75rem;line-height:1.5}.project-order-list{border-top:1px solid var(--line)}.project-order-list>div{padding:11px 0;border-bottom:1px solid var(--line)}.project-order-list dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 0}.project-order-list dl div{display:grid;gap:3px}.project-order-list dt{color:var(--basalt-soft);font-size:.625rem}.project-order-list dd{margin:0;font-size:.6875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.order-state{display:inline-flex;width:fit-content;min-height:23px;align-items:center;border-radius:5px;padding:2px 8px;color:var(--basalt-soft);background:var(--surface-muted);font-size:.6875rem;font-weight:500;white-space:nowrap}.order-state-in_progress{color:var(--accent-ink);background:var(--accent-soft)}.order-state-completed{color:var(--success);background:var(--success-soft)}.order-state-cancelled{color:var(--error);background:var(--porphyry-soft)}.project-detail-error{min-height:310px;display:grid;place-items:center;align-content:center;gap:12px;padding:28px;text-align:center}.project-detail-error p{max-width:34ch;margin:0;color:var(--basalt-soft)}.project-detail-skeleton{display:grid;gap:24px;padding:24px 16px}.project-detail-skeleton span:nth-child(2n){width:72%}.workspace-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-md);color:var(--basalt);background:var(--surface);box-shadow:var(--shadow-popover)}.workspace-dialog::backdrop{background:rgb(20 19 17/48%)}.workspace-dialog form{display:flex;max-height:calc(100vh - 34px);flex-direction:column}.workspace-dialog form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.workspace-dialog h2{margin:0;font-size:1.125rem}.workspace-dialog header p{max-width:56ch;margin:6px 0 0;color:var(--basalt-soft);font-size:.75rem;line-height:1.5}.dialog-fields{min-height:0;display:grid;gap:15px;padding:18px 20px;overflow-y:auto}.dialog-fields textarea{resize:vertical}.workspace-dialog form>footer{justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line)}.dialog-note,.workspace-dialog form>footer{display:flex;gap:8px;background:var(--surface-muted)}.dialog-note{align-items:flex-start;margin:0;padding:10px;border-radius:var(--radius-xs);color:var(--basalt-soft);font-size:.75rem;line-height:1.45}.dialog-note svg{flex:0 0 auto;margin-top:1px}.editor-project-link{min-width:0;display:inline-flex;align-items:center;gap:5px;color:var(--bronze-dark);text-decoration:none}.editor-project-link:hover strong{text-decoration:underline;text-underline-offset:2px}.editor-project-link span{color:var(--basalt-soft);font-size:.625rem}.editor-project-link strong{max-width:190px;overflow:hidden;font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.editor-readonly-banner{min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 24px;border-bottom:1px solid var(--line-strong);color:var(--bronze-dark);background:var(--bronze-soft)}.editor-readonly-banner>svg{flex:0 0 auto}.editor-readonly-banner>div{min-width:0;display:grid;gap:1px}.editor-readonly-banner strong{font-size:.75rem}.editor-readonly-banner span{color:var(--basalt-soft);font-size:.6875rem;line-height:1.35}.editor-readonly-banner>a{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--bronze-dark);font-size:.6875rem;font-weight:600;text-decoration:none;white-space:nowrap}.editor-readonly-banner>a:hover{text-decoration:underline;text-underline-offset:2px}.detail-editor-fields{min-width:0;margin:0;padding:0;border:0}.editor-readonly .ag-cell:not(.cell-total){color:var(--basalt-soft)}.editor-readonly .detail-editor-fields :is(input,select,textarea):disabled,.editor-readonly .editor-header :is(input,select):disabled{color:var(--basalt);opacity:1;cursor:not-allowed}.estimate-extras-readonly .estimate-extras-popover>p:first-of-type:after{content:" · версия только для чтения";color:var(--bronze-dark);font-weight:650}.estimate-approval-dialog{width:min(610px,calc(100vw - 32px))}.approval-dialog-fields{gap:16px}.approval-loading{min-height:150px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--bronze-dark)}.approval-loading>div{display:grid;gap:4px}.approval-loading strong{font-size:.8125rem}.approval-loading span{max-width:48ch;color:var(--basalt-soft);font-size:.75rem;line-height:1.45}.approval-mode-fieldset{min-width:0;margin:0;padding:0;border:0}.approval-mode-fieldset legend{margin-bottom:7px;color:var(--basalt-soft);font-size:.6875rem}.approval-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.approval-mode-options label{min-width:0;min-height:58px;display:flex;align-items:center;gap:9px;padding:9px 11px;cursor:pointer}.approval-mode-options label+label{border-left:1px solid var(--line)}.approval-mode-options label:has(input:checked){background:var(--bronze-soft)}.approval-mode-options label:has(input:disabled){cursor:not-allowed;opacity:.58}.approval-mode-options input{flex:0 0 auto}.approval-mode-options label>span{min-width:0;display:grid;gap:2px}.approval-mode-options strong{font-size:.75rem}.approval-mode-options small{color:var(--basalt-soft);font-size:.625rem}.approval-project-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.approval-project-fields label:first-child,.approval-project-fields label:last-child{grid-column:1/-1}.approval-error{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid color-mix(in oklch,var(--error) 24%,var(--line));border-radius:var(--radius-xs);color:var(--error);background:color-mix(in oklch,var(--porphyry-soft) 68%,white);font-size:.75rem}.approval-error svg{flex:0 0 auto}.approval-error span{flex:1 1;line-height:1.4}.approval-error .button{min-height:30px;color:inherit;white-space:nowrap}.production-range{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line)}.production-range-fields{display:flex;align-items:flex-end;gap:8px}.production-range-fields label{width:164px}.production-range-fields label>span{color:var(--basalt-soft);font-size:.75rem}.production-range-fields .button{min-height:36px}.production-quick-ranges{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.production-quick-ranges button{min-height:32px;padding:4px 8px;border:0;border-radius:8px;color:var(--basalt-soft);background:transparent;cursor:pointer;font-size:.75rem;transition:color .16s var(--ease-out),background-color .16s var(--ease-out),transform .16s var(--ease-out)}.production-quick-ranges button:hover{color:var(--bronze-dark);background:var(--bronze-soft)}.production-quick-ranges button:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.production-quick-ranges button:active{color:var(--bronze-dark);background:color-mix(in oklch,var(--bronze-soft) 76%,var(--bronze));transform:translateY(1px)}.production-range>.form-error{flex-basis:100%}.production-summary{min-height:68px;display:flex;align-items:stretch;margin:16px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.production-summary>div{min-width:0;flex:1 1;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-content:center;padding:12px 16px;border-right:1px solid var(--line)}.production-summary>div:last-child{border-right:0}.production-summary svg{grid-row:span 2;align-self:center;color:var(--bronze-dark)}.production-summary span{color:var(--basalt-soft);font-size:.75rem}.production-summary strong{overflow:hidden;font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.production-view-tabs{min-height:44px;display:flex;align-items:flex-end;gap:4px;margin:0 0 24px;overflow-x:auto;border-bottom:1px solid var(--line-strong)}.production-view-tab{min-height:40px;display:inline-flex;align-items:center;gap:8px;position:relative;padding:8px 12px;border:0;color:var(--basalt-soft);background:transparent;cursor:pointer;font-size:.8125rem;font-weight:600;white-space:nowrap;transition:color .16s var(--ease-out),background-color .16s var(--ease-out)}.production-view-tab:after{height:2px;position:absolute;right:8px;bottom:-1px;left:8px;content:"";background:transparent}.production-view-tab span{min-width:20px;min-height:20px;display:inline-grid;place-items:center;padding-inline:5px;border-radius:999px;color:inherit;background:var(--surface-muted);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.production-view-tab:hover{color:var(--basalt);background:var(--limestone-soft)}.production-view-tab:focus-visible{z-index:1;outline:2px solid var(--bronze);outline-offset:-2px}.production-view-tab:active{background:var(--limestone)}.production-view-tab[aria-selected=true]{color:var(--bronze-dark)}.production-view-tab[aria-selected=true]:after{background:var(--bronze)}.production-tab-panel{min-width:0;outline:none}.production-tab-panel:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}.production-section-heading{min-height:44px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.production-section-heading h2{margin:0;font-size:1rem}.production-section-heading p{margin:4px 0 0;color:var(--basalt-soft);font-size:.75rem}.production-kind-filter{display:flex;align-items:center;gap:4px}.production-kind-filter button{min-height:36px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid transparent;border-radius:8px;color:var(--basalt-soft);background:transparent;cursor:pointer;font-size:.75rem;font-weight:650;transition:color .16s var(--ease-out),border-color .16s var(--ease-out),background-color .16s var(--ease-out),transform .16s var(--ease-out)}.production-kind-filter button:hover{color:var(--basalt);background:var(--limestone-soft)}.production-kind-filter button:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.production-kind-filter button:active{transform:translateY(1px)}.production-kind-filter button[aria-pressed=true]{border-color:var(--bronze);color:var(--bronze-dark);background:var(--bronze-soft)}.production-kind-filter button span{color:inherit;font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.production-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.production-filters .search-field{width:min(320px,100%)}.production-filters select{width:auto;min-width:168px}.production-filters .archive-count{margin-left:auto}.production-page .archive-count{font-size:.75rem}.production-order-filters .search-field{width:min(360px,100%)}.production-gantt{min-width:0}.production-gantt-meta{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 8px;color:var(--basalt-soft);font-size:.75rem}.production-gantt-meta>span{max-width:64ch;text-align:right}.production-gantt-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;padding:0;color:var(--basalt-soft);font-size:.75rem;list-style:none}.production-gantt-legend li{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.production-gantt-swatch{width:8px;height:8px;border-radius:2px;background:var(--bronze)}.production-gantt-swatch-in_progress{background:var(--success)}.production-gantt-swatch-completed{background:var(--basalt-soft)}.production-gantt-inspector{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 12px;border-top:1px solid var(--line);color:var(--basalt-soft);background:var(--surface-muted);font-size:.75rem}.production-gantt-inspector>div{min-width:0;display:grid;gap:2px}.production-gantt-inspector strong{color:var(--basalt)}.production-gantt-inspector span,.production-gantt-inspector strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-gantt-inspector p{max-width:76ch;margin:0;line-height:1.45;text-align:right}.production-gantt-surface{min-height:144px;overflow:hidden;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.production-gantt-scroll{max-height:none;overflow-x:auto;overflow-y:hidden;outline:none}.production-gantt-scroll:focus-visible{outline:2px solid var(--bronze);outline-offset:-2px}.production-gantt-table{--gantt-resource-column:232px;--gantt-day-min:88px;width:max(100%,var(--gantt-min-width));min-width:var(--gantt-min-width);isolation:isolate}.production-gantt-row{width:100%;display:grid;grid-template-columns:var(--gantt-resource-column) repeat(var(--gantt-day-count),minmax(var(--gantt-day-min),1fr));position:relative}.production-gantt-header-row{min-height:56px;position:sticky;top:0;z-index:4}.production-gantt-lane{min-height:64px;border-bottom:1px solid var(--line)}.production-gantt-lane:last-child{border-bottom:0}.production-gantt-resource-cell{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;position:sticky;left:0;z-index:3;padding:8px 12px;overflow:hidden;border-right:1px solid var(--line-strong);background:var(--surface)}.production-gantt-header-row .production-gantt-resource-cell{z-index:6;color:var(--basalt-soft);background:#fcfcfd;font-size:.75rem;font-weight:500}.production-gantt-resource-cell small,.production-gantt-resource-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-gantt-resource-cell strong{font-size:.8125rem}.production-gantt-day-header,.production-gantt-resource-cell small{color:var(--basalt-soft);font-size:.75rem}.production-gantt-day-header{min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;border-right:1px solid var(--line);border-bottom:1px solid var(--line-strong);background:#fcfcfd;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.production-gantt-day-header strong{color:var(--basalt);font-size:.75rem}.production-gantt-day-cell{border-right:1px solid var(--line);background:var(--surface)}.production-gantt-day-cell.is-weekend,.production-gantt-day-header.is-weekend{background:var(--surface-muted)}.production-gantt-day-cell.is-today,.production-gantt-day-header.is-today{box-shadow:inset 2px 0 var(--bronze)}.production-gantt-day-header.is-today strong{color:var(--bronze-dark)}.production-gantt-track{position:absolute;inset:0 0 0 var(--gantt-resource-column);z-index:2;overflow:hidden;pointer-events:none}.production-gantt-block{height:48px;min-width:4px;display:grid;align-content:center;gap:2px;position:absolute;top:8px;padding:5px 8px;overflow:hidden;border-radius:6px;color:var(--accent-ink);background:var(--accent-soft);box-sizing:border-box;cursor:pointer;font:inherit;pointer-events:auto;text-align:left;transition:border-color .16s var(--ease-out),background-color .16s var(--ease-out),transform .16s var(--ease-out);border:1px solid #c9dcf5}.production-gantt-block small,.production-gantt-block strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-gantt-block strong{font-size:.75rem;font-weight:600;line-height:1.15}.production-gantt-block small{color:currentColor;font-size:.75rem;line-height:1.15;opacity:.78}.production-gantt-block:hover{border-color:var(--bronze-dark);background:color-mix(in oklch,var(--bronze-soft) 80%,var(--bronze))}.production-gantt-block:active{transform:translateY(1px)}.production-gantt-block-in_progress{border-color:color-mix(in oklch,var(--success) 52%,transparent);color:color-mix(in oklch,var(--success) 72%,black);background:var(--success-soft)}.production-gantt-block-in_progress:hover{border-color:var(--success);background:#dff0e5}.production-gantt-block-completed{border-color:var(--line-strong);color:var(--basalt-soft);background:var(--limestone-soft)}.production-gantt-block-completed:hover{border-color:var(--basalt-soft);background:var(--limestone)}.production-gantt-block-cancelled{border-color:color-mix(in oklch,var(--error) 42%,transparent);color:var(--error);background:var(--porphyry-soft)}.production-gantt-block-cancelled:hover{border-color:var(--error);background:color-mix(in oklch,var(--porphyry-soft) 82%,var(--porphyry))}.production-gantt-block.is-current{outline:2px solid var(--bronze-dark);outline-offset:-3px}.production-gantt-block.is-selected{box-shadow:none;outline:2px solid var(--accent);outline-offset:-2px}.production-gantt-block:focus-visible{z-index:2;outline:2px solid var(--accent);outline-offset:2px}.production-gantt-state{min-height:144px;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--basalt-soft);text-align:left}.production-gantt-state>span{display:grid;gap:4px}.production-gantt-state strong{color:var(--basalt);font-size:.8125rem}.production-gantt-state small{max-width:58ch;font-size:.75rem;line-height:1.45}.production-gantt-skeleton{min-width:740px;overflow:hidden}.production-gantt-skeleton>div{min-height:48px;display:grid;grid-template-columns:220px repeat(7,56px);align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line)}.production-gantt-skeleton>div:last-child{border-bottom:0}.production-gantt-skeleton span{height:8px;border-radius:3px;background:linear-gradient(90deg,var(--surface-muted),var(--limestone),var(--surface-muted));background-size:220% 100%;animation:shimmer 1.4s linear infinite}.production-resource-surface{overflow:hidden;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.production-resource-row{min-height:92px;display:grid;grid-template-columns:minmax(220px,1.1fr) 140px minmax(180px,.85fr) minmax(240px,1fr);align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--line)}.production-resource-row:last-child{border-bottom:0}.resource-identity{min-width:0}.resource-identity h3{margin:8px 0 4px;font-size:.875rem}.resource-identity h3,.resource-identity p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-identity p{margin:0}.resource-identity p,.resource-kind{color:var(--basalt-soft);font-size:.75rem}.resource-kind{display:inline-flex;align-items:center;gap:5px;font-weight:600}.resource-kind-machine{color:var(--bronze-dark)}.resource-kind-manual{color:var(--accent-ink)}.resource-condition{display:grid;justify-items:start;gap:8px}.resource-condition small{color:var(--basalt-soft);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.resource-status{display:inline-flex;align-items:center;gap:5px;min-height:24px;border-radius:5px;padding:2px 8px;color:var(--success);background:var(--success-soft);font-size:.75rem;font-weight:500;white-space:nowrap}.resource-status-maintenance{color:var(--warning);background:var(--warning-soft)}.resource-status-retired{color:var(--basalt-soft);background:var(--surface-muted)}.resource-utilization{min-width:0}.resource-utilization>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.resource-utilization span{color:var(--basalt-soft);font-size:.75rem}.resource-utilization strong{font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.utilization-track{height:8px;overflow:hidden;border-radius:999px;background:var(--limestone)}.utilization-track i{display:block;height:100%;border-radius:inherit;background:var(--bronze);transition:width .18s var(--ease-out)}.utilization-high i{background:var(--porphyry)}.resource-current{min-width:0}.resource-current>span{color:var(--basalt-soft);font-size:.75rem;font-weight:600}.resource-current>p{margin:8px 0 0;color:var(--basalt-soft);font-size:.75rem}.resource-current ul{display:grid;gap:4px;margin:4px 0 0;padding:0;list-style:none}.resource-current li{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.resource-task-copy{min-width:0;display:grid;gap:1px}.resource-task-copy small,.resource-task-copy strong{overflow:hidden;font-size:.75rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.resource-task-copy small{color:var(--basalt-soft)}.resource-current time,.resource-task-now{align-self:center;font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.resource-current time{color:var(--basalt-soft)}.resource-task-now{min-height:20px;display:inline-flex;align-items:center;border-radius:5px;padding:2px 7px;color:var(--success);background:var(--success-soft);font-weight:500}.resource-task-more{min-height:32px;display:inline-flex;align-items:center;margin:4px 0 -4px -8px;padding:4px 8px;border:0;border-radius:8px;color:var(--bronze-dark);background:transparent;cursor:pointer;font:inherit;font-size:.75rem;font-weight:650;transition:color .16s var(--ease-out),background-color .16s var(--ease-out),transform .16s var(--ease-out)}.resource-task-more:hover{color:var(--bronze-dark);background:var(--bronze-soft)}.resource-task-more:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.resource-task-more:active{background:color-mix(in oklch,var(--bronze-soft) 76%,var(--bronze));transform:translateY(1px)}.production-task-dialog{width:min(760px,calc(100vw - 32px))}.production-task-dialog form>footer{align-items:center;justify-content:space-between}.production-task-dialog form>footer>span{color:var(--basalt-soft);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.production-task-dialog-body{display:block;padding:0}.production-task-dialog-list{margin:0;padding:0;list-style:none}.production-task-dialog-item{min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(176px,.85fr) 68px;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line)}.production-task-dialog-item:last-child{border-bottom:0}.production-task-dialog-item.is-current{background:color-mix(in oklch,var(--bronze-soft) 58%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--bronze) 40%,transparent)}.production-task-dialog-copy{min-width:0;display:grid;gap:4px}.production-task-dialog-copy small,.production-task-dialog-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.production-task-dialog-copy strong{font-size:.75rem}.production-task-dialog-copy small{color:var(--basalt-soft);font-size:.75rem}.production-task-dialog-status{display:grid;justify-items:start;gap:4px}.production-task-current{color:var(--bronze-dark);font-size:.75rem;font-weight:600}.production-task-dialog-time{min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--basalt-soft);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.35}.production-task-dialog-time>span{display:none}.production-task-dialog-time time{white-space:nowrap}.production-task-dialog-time time:last-child:before{content:"→ ";color:var(--bronze-dark)}.production-task-dialog-duration{justify-self:end;color:var(--basalt-soft);font-size:.75rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.production-task-dialog-empty{min-height:192px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;color:var(--basalt-soft);text-align:center}.production-task-dialog-empty strong{color:var(--basalt);font-size:.8125rem}.production-task-dialog-empty span{max-width:44ch;font-size:.75rem;line-height:1.45}.production-empty{min-height:250px}.production-orders-wrap{overflow-x:auto}.production-orders-table{min-width:820px}.production-orders-table tbody tr{cursor:default}.production-orders-surface{min-height:190px}@media (max-width:1240px){.projects-layout-detail{grid-template-columns:minmax(0,1fr)}.projects-layout-detail .projects-list,.projects-layout-detail .projects-table-wrap{max-height:min(52vh,560px)}.projects-layout-detail .projects-list{min-height:0}.projects-layout-detail .projects-table-wrap{overflow:auto}.projects-layout-detail .projects-table thead{position:sticky;top:0;z-index:1}.project-detail-panel{position:static;max-height:none}.project-detail-scroll{overflow:visible}.production-range{align-items:flex-start;flex-direction:column}.production-resource-row{grid-template-columns:minmax(220px,1fr) 148px minmax(220px,1fr)}.resource-current{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line)}.resource-current ul{grid-template-columns:1fr}}@media (max-width:820px){.projects-toolbar{align-items:stretch}.projects-toolbar .search-field{flex:1 1 100%;width:100%}.production-summary{overflow-x:auto}.production-summary>div{min-width:170px}.production-section-heading{align-items:flex-start;flex-direction:column}.production-kind-filter{width:100%;overflow-x:auto}.production-kind-filter button{white-space:nowrap}.production-gantt-heading{align-items:flex-start;flex-direction:column}.production-gantt-legend{justify-content:flex-start}.production-gantt-inspector,.production-gantt-meta{align-items:flex-start;flex-direction:column}.production-gantt-inspector p,.production-gantt-meta>span{max-width:none;text-align:left}.production-gantt-table{--gantt-resource-column:184px;--gantt-day-min:88px}.production-resource-row{grid-template-columns:minmax(0,1fr) 140px}.resource-current,.resource-utilization{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line)}.production-filters{align-items:stretch;flex-wrap:wrap}.production-filters .search-field{flex:1 1 100%;width:100%}.production-filters .archive-count{margin-left:0}}@media (max-width:620px){.estimate-editor .detail-panel,.estimate-editor .editor-body{min-height:0}.projects-toolbar{flex-direction:column}.production-filters select,.projects-toolbar .button,.projects-toolbar select{width:100%}.project-detail-lead{align-items:stretch;flex-direction:column}.project-facts>div{grid-template-columns:1fr;gap:4px;padding-block:9px}.project-estimate-list li{grid-template-columns:minmax(0,1fr) auto;padding-block:9px}.project-estimate-list li>.icon-button{grid-column:1/-1;width:100%}.dialog-fields,.workspace-dialog form>footer,.workspace-dialog form>header{padding-inline:16px}.workspace-dialog form>footer{align-items:stretch;flex-direction:column-reverse}.workspace-dialog form>footer .button{width:100%;min-height:42px}.approval-mode-options,.approval-project-fields{grid-template-columns:1fr}.approval-mode-options label+label{border-top:1px solid var(--line);border-left:0}.approval-project-fields label:first-child,.approval-project-fields label:last-child{grid-column:auto}.approval-error{align-items:flex-start;flex-wrap:wrap}.approval-error .button{width:100%}.editor-readonly-banner{align-items:flex-start;padding-inline:16px}.editor-readonly-banner>a{margin-left:0}.production-range-fields{width:100%;align-items:stretch;flex-direction:column}.production-range-fields label{width:100%}.production-range-fields .button{width:100%;min-height:42px}.production-quick-ranges{width:100%}.production-quick-ranges button{min-height:40px}.production-gantt{margin-block:0}.production-gantt-table{--gantt-resource-column:168px;--gantt-day-min:88px}.production-gantt-resource-cell{padding-inline:8px}.production-resource-row{grid-template-columns:1fr;gap:12px;padding:12px 16px}.resource-condition,.resource-current,.resource-utilization{grid-column:auto;padding-top:12px;border-top:1px solid var(--line)}.resource-current ul{grid-template-columns:1fr}.production-task-dialog-body{padding-inline:0}.production-task-dialog-item{grid-template-columns:1fr;gap:8px;padding:16px}.production-task-dialog-status{display:flex;align-items:center;gap:8px}.production-task-dialog-duration{justify-self:start}.production-task-dialog form>footer>span{width:100%;text-align:center}}@media (pointer:coarse){.production-gantt-block,.production-kind-filter button,.production-quick-ranges button,.production-view-tab,.project-primary,.resource-task-more{min-height:44px}.editor-view-controls{min-height:44px;height:44px}.editor-view-toggle{width:44px;min-width:44px;min-height:42px;height:42px}}@media (prefers-reduced-motion:reduce){.production-page .production-gantt-block,.production-page .production-kind-filter button,.production-page .production-quick-ranges button,.production-page .production-view-tab,.production-page .resource-task-more,.production-page .utilization-track i{transition:none}.production-page .production-gantt-skeleton span{animation:none}.editor-status-control,.editor-view-toggle{transition:none}.archive-skeleton span,.editor-skeleton span,.resources-skeleton span,.spin{animation:none!important}}.archive-toolbar .search-field{width:min(470px,100%)}.archive-table td{height:72px}.row-actions .button{color:var(--text-tertiary)}@media (max-width:1240px){.editor-body{padding-inline:16px;grid-template-columns:minmax(0,1fr) 310px}.editor-body.editor-body-panel-closed{grid-template-columns:minmax(0,1fr)}.editor-header{padding:17px 16px 12px}.editor-meta-fields{gap:9px 12px}.editor-title input{font-size:21px}.editor-toolbar{padding-inline:16px}}@media (max-width:1100px){.editor-body{grid-template-columns:minmax(0,1fr)}.editor-body>.detail-panel{border-radius:12px 0 0 12px;box-shadow:none;position:absolute;z-index:18;inset:0 0 0 auto;width:340px;max-width:calc(100% - 32px)}}@media (max-width:620px){.archive-toolbar .search-field{width:100%}.editor-header{padding:13px 12px 10px}.editor-title input{font-size:19px}.editor-meta-field>span{font-size:10px}.editor-meta-fields{gap:8px 10px}.editor-body{padding:8px 10px 0;gap:0}.editor-toolbar{padding-inline:10px}.room-navigator{padding-left:10px}.grid-footer{padding:10px}.row-actions{opacity:1}.production-gantt-resource-cell{padding-inline:10px}}.estimate-editor .estimate-grid{position:relative}.estimate-editor .editor-body.editor-body-panel-closed{grid-template-columns:minmax(0,1fr)}.estimate-editor .estimate-grid .ag-cell-inline-editing{box-shadow:none}.estimate-editor .estimate-grid .ag-cell-focus:not(.cell-invalid){border-color:transparent!important;background-color:var(--accent-soft)}.estimate-editor .editor-meta-field :is(input,select):focus,.estimate-editor .estimate-grid :is(input,select,textarea):is(:focus,:focus-visible),.estimate-editor .search-field input:is(:focus,:focus-visible){outline:none;box-shadow:none}.estimate-editor .search-field:focus-within{outline:none;box-shadow:none;border-color:var(--accent)}.estimate-editor .estimate-grid .ag-cell-wrap-text{line-height:1.45;padding-block:9px;overflow-wrap:anywhere}.estimate-editor .estimate-grid .ag-cell-wrapper{min-width:0}.estimate-editor .bulk-toolbar>div[class*=discount] select{width:110px}.estimate-editor .bulk-toolbar>div[class*=discount] input{width:60px}.estimate-editor .bulk-toolbar{flex-wrap:wrap;position:relative}.estimate-editor .bulk-popover{max-width:calc(100vw - 24px);max-height:min(70dvh,560px);overflow:auto}@media (max-width:760px){.estimate-editor .bulk-toolbar{padding:8px 12px}.estimate-editor .bulk-menu[open]{position:static}.estimate-editor .bulk-popover{left:12px;right:12px;top:100%;width:auto}.estimate-editor .bulk-toolbar .toolbar-spacer{display:none}}.estimate-editor .estimate-grid .ag-cell.cell-invalid{outline:2px solid var(--error)!important;outline-offset:-2px;box-shadow:none!important;background-color:color-mix(in srgb,var(--error) 7%,var(--surface))!important}