:root{color:#24312f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f5f7f3;--surface:#fff;--surface-strong:#fbfcf9;--line:#dce4dd;--line-strong:#c9d6cf;--text:#24312f;--muted:#62706b;--green:#2f6f5e;--green-strong:#24584c;--blue:#427b9c;--blue-soft:#e8f2f7;--brass:#b78951;--warn:#9f5b32;--warn-bg:#fff1e8;--good:#2f6f5e;--good-bg:#e8f3ee;--shadow:0 18px 46px #1c2c261a;background:#f5f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{background:var(--bg);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button,a{color:inherit}a{text-decoration:none}.button,.icon-button{cursor:pointer;border:0}.button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:700;display:inline-flex}.button-primary{color:#fff;background:var(--green);box-shadow:0 10px 20px #2f6f5e2e}.button-primary:hover{background:var(--green-strong)}.button-secondary{color:var(--text);border:1px solid var(--line);background:#fff}.button-secondary:hover{border-color:var(--line-strong);background:var(--surface-strong)}.icon-button{width:40px;height:40px;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;display:grid}.eyebrow{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand>div:last-child{min-width:0}.brand-icon{color:#fff;background:var(--green);border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand strong{color:var(--text);overflow-wrap:anywhere;font-size:17px;line-height:1.1;display:block}.brand span{color:var(--muted);margin-top:3px;font-size:13px;display:block}.brand-compact .brand-icon{width:36px;height:36px}.brand-compact strong{font-size:15px}.search-box input,textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 12px}.search-box input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f6f5e1a}.form-row{color:var(--muted);justify-content:space-between;gap:16px;font-size:14px;display:flex}.checkbox-row{grid-template-columns:auto 1fr;align-items:center;gap:8px!important;font-weight:600!important;display:flex!important}.checkbox-row input{width:16px;min-height:16px;accent-color:var(--green)}.client-hero{align-items:center;display:flex}.client-hero h1{color:var(--text);letter-spacing:0;margin:0;font-size:30px}.client-hero p{color:var(--muted);margin:8px 0 0}.editor-grid,.client-grid{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.client-estimate,.detail-panel,.page-panel{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0}.dashboard-grid,.client-overview-grid{align-items:start;gap:18px;display:grid}.dashboard-grid{grid-template-columns:minmax(0,1fr) 390px}.client-overview-grid{grid-template-columns:minmax(0,1fr) 360px}.dashboard-side{gap:18px;display:grid}.panel-title-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex}.panel-title-row h2{letter-spacing:0;margin:0;font-size:20px}.panel-title-row svg{color:var(--green)}.build-list,.attention-list,.activity-list,.build-record-list,.client-build-list{display:grid}.build-list{gap:0}.build-list-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:88px;color:inherit;text-align:left;cursor:pointer;background:#fff;grid-template-columns:minmax(220px,1.15fr) minmax(210px,.95fr) auto;align-items:center;gap:18px;padding:16px 20px;display:grid}.build-list-row:last-child{border-bottom:0}.build-list-row:hover{background:#f7fbf8}.build-list-main,.build-list-meta,.build-list-money,.build-record-client,.build-record-project,.build-record-status,.build-record-money{gap:5px;min-width:0;display:grid}.build-list-main strong,.build-record-client strong,.build-record-project strong,.client-build-card h3{color:var(--text)}.build-list-main span,.build-list-meta span:not(.status-pill),.build-list-money span,.build-record-client span,.build-record-project span,.build-record-status span:not(.status-pill),.build-record-money span,.build-record small,.activity-item p,.attention-item small,.client-build-card p{color:var(--muted)}.build-list-money{text-align:right;justify-items:end}.build-list-money strong{font-size:18px}.attention-list{gap:10px;padding:16px}.attention-item{border:1px solid var(--line);color:inherit;background:var(--surface-strong);text-align:left;cursor:pointer;border-radius:8px;justify-items:start;gap:7px;padding:12px;display:grid}.attention-item:hover{border-color:var(--line-strong);background:#fff}.activity-list{gap:0}.activity-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px 20px;display:grid}.activity-item:last-child{border-bottom:0}.activity-item span{color:var(--green);text-transform:uppercase;font-size:11px;font-weight:800}.activity-item strong{margin-top:5px;display:block}.activity-item p{margin:5px 0 0;line-height:1.45}.activity-item time{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.build-record-list{gap:0}.build-record{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,.9fr) minmax(260px,1.3fr) minmax(170px,.8fr) minmax(140px,.6fr) auto;align-items:center;gap:18px;padding:18px 20px;display:grid}.build-record:last-child{border-bottom:0}.build-record-project small,.build-record-status small,.build-record-money small{color:var(--muted)}.build-record-money{text-align:right;justify-items:end}.section-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:20px}.section-toolbar h2{letter-spacing:0;margin:0;font-size:20px}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.search-box{border:1px solid var(--line);width:min(320px,100%);min-height:42px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{min-height:auto;box-shadow:none;border:0;border-radius:0;padding:0}.status-pill{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.good{color:var(--good);background:var(--good-bg)}.status-pill.warn{color:var(--warn);background:var(--warn-bg)}.status-pill.muted{color:var(--muted);background:#edf2ee}.text-good{font-weight:800;color:var(--good)!important}.text-warn{font-weight:800;color:var(--warn)!important}.detail-panel{padding:20px;position:sticky;top:20px}.editor-grid .detail-panel,.client-grid .detail-panel{position:static}.panel-heading h3{letter-spacing:0;margin:12px 0 8px;font-size:22px}.panel-heading p,.helper-text,.note-box{color:var(--muted);line-height:1.5}.detail-stack,.detail-section{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.detail-section h4{text-transform:uppercase;margin:0 0 12px;font-size:14px}.detail-section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.detail-section-title h4{margin:0}.small-action{border:1px solid var(--line);min-height:30px;color:var(--green);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.detail-row{color:var(--muted);justify-content:space-between;gap:14px;padding:8px 0;font-size:14px;display:flex}.detail-row strong{color:var(--text);text-align:right}.toggle{cursor:pointer;background:#d6ded8;border:0;border-radius:999px;width:46px;height:26px;padding:3px}.toggle span{background:#fff;border-radius:999px;width:20px;height:20px;transition:transform .16s;display:block}.toggle.is-on{background:var(--green)}.note-box{background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;margin:0;padding:12px}.client-hero{justify-content:space-between;gap:22px;margin-bottom:18px}.client-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.updated{color:var(--muted);font-size:13px;font-weight:700}.client-table td:first-child{min-width:270px}.client-table td:first-child span{max-width:360px;display:block}.client-detail textarea{resize:vertical;width:100%;min-height:116px;padding:12px;line-height:1.45}.client-build-list{gap:16px;padding:18px}.client-build-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.client-build-card h3{margin:12px 0 6px;font-size:20px}.client-build-card p{margin:0;line-height:1.45}.client-build-meta{gap:4px;display:grid}.client-build-meta .detail-row{padding:3px 0}@media (width<=1180px){.editor-grid,.client-grid,.dashboard-grid,.client-overview-grid{grid-template-columns:1fr}.detail-panel{position:static}.client-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.build-record,.client-build-card{grid-template-columns:1fr 1fr}.build-record .button,.client-build-card .button{justify-self:start;width:auto}}@media (width<=900px){.client-hero,.section-toolbar{flex-direction:column;align-items:flex-start;width:100%;max-width:100%}.client-hero>div:first-child,.section-toolbar>div:first-child{min-width:0;max-width:100%}.client-hero p,.section-toolbar h2{overflow-wrap:anywhere}.toolbar-actions{justify-content:flex-start;width:100%}.search-box{width:100%}.build-list-row,.build-record,.client-build-card{grid-template-columns:1fr;align-items:stretch}.build-list-money,.build-record-money{text-align:left;justify-items:start}}@media (width<=620px){.client-hero h1{font-size:30px}.form-row{flex-direction:column;align-items:flex-start}.client-summary{grid-template-columns:1fr}.button{width:100%}}:root{--bg:#f3f5f1;--surface:#fff;--surface-strong:#f8faf7;--line:#d8dfd7;--line-strong:#b9c5bc;--text:#14201d;--muted:#65736e;--green:#2f6f5e;--green-strong:#235346;--blue:#315f7b;--blue-soft:#e7f0f5;--brass:#8d6b38;--warn:#9b542c;--warn-bg:#fff1e7;--good:#2f6f5e;--good-bg:#e8f3ee;--shadow:none}.button{border-radius:6px;min-height:38px;padding:0 13px;font-size:14px}.button-secondary,.icon-button,.search-box,textarea{box-shadow:none;border-radius:6px}.icon-button{width:38px;height:38px}.eyebrow{color:#1f6b5a;margin-bottom:6px;font-size:11px}.client-hero h1{font-size:28px;line-height:1.1}.client-hero p{margin-top:7px;font-size:14px}.page-panel,.client-estimate,.detail-panel{box-shadow:none;border-radius:6px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 360px;gap:14px}.client-overview-grid,.editor-grid,.client-grid{align-items:start;gap:14px;display:grid}.section-toolbar,.panel-title-row{padding:15px 18px}.section-toolbar h2,.panel-title-row h2{font-size:18px}.search-box{background:#fff;width:min(360px,100%);min-height:38px}.build-list-row{grid-template-columns:minmax(210px,1.2fr) minmax(200px,.9fr) minmax(120px,auto);min-height:76px;padding:13px 18px}.build-record{grid-template-columns:minmax(170px,.9fr) minmax(280px,1.35fr) minmax(190px,.85fr) minmax(130px,.6fr) auto;padding:15px 18px}.status-pill{border-radius:6px;min-height:22px;padding:0 8px;font-size:11px}.panel-heading h3{font-size:20px}.detail-stack,.detail-section{margin-top:15px;padding-top:15px}.detail-section h4{letter-spacing:0;font-size:12px}.client-hero{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:16px}.client-build-card{background:#fff;border-radius:6px}.table-icon{width:32px;height:32px}@media (width<=1180px){.dashboard-grid,.client-overview-grid{grid-template-columns:1fr}}@media (width<=900px){.toolbar-actions{width:100%}.section-toolbar,.client-hero{flex-direction:column;align-items:flex-start;width:100%;max-width:100%}.section-toolbar>div:first-child,.client-hero>div:first-child{min-width:0;max-width:100%}.section-toolbar h2,.client-hero p{overflow-wrap:anywhere;white-space:normal}.build-list-row,.build-record,.client-build-card{grid-template-columns:1fr;align-items:stretch}.build-list-money,.build-record-money{text-align:left;justify-items:start}.client-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.toolbar-actions{width:100%;max-width:340px!important}.client-summary{grid-template-columns:1fr}}:root{--bg:#f5f6f4;--surface:#fff;--surface-strong:#fafbf9;--line:#d7ddd8;--line-strong:#b7c2bb;--text:#111b18;--muted:#5c6964;--green:#245c4f;--green-strong:#19463c;--blue:#2f647c;--blue-soft:#e8f1f5;--warn:#9a5628;--warn-bg:#fff2e7;--good:#245c4f;--good-bg:#e8f3ee}.estimate-editor-grid,.client-estimate-grid{grid-template-columns:minmax(0,1fr) 380px}.client-estimate,.detail-panel,.page-panel{border-color:#d9dfda}.client-estimate{background:#fff}.client-detail{max-height:none;position:static;overflow:visible}.section-toolbar{background:#fff;min-height:66px}.line-visible-toggle{color:#66726d;white-space:nowrap;cursor:pointer;background:#f3f5f4;border:1px solid #cfd7d2;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:26px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.table-visibility{cursor:default}.visibility-control-card{border:1px solid var(--line);background:#fbfcfb;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.visibility-control-card strong,.visibility-control-card span{display:block}.visibility-control-card strong{color:var(--text);font-size:14px}.visibility-control-card span{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35}.action-strip{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.small-action{background:#fff}.danger-action{color:#8c3428!important;background:#fff5f1!important;border-color:#e7c6bd!important}.detail-command-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.file-table-title{grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.table-icon{color:var(--blue);background:var(--blue-soft);border-radius:6px;place-items:center;display:grid}.empty-state{color:var(--muted);gap:6px;padding:28px;display:grid}.empty-state strong{color:var(--text)}.internal-only-note{border-color:var(--line);background:#f4f7f5}.client-notice{color:var(--green-strong);background:var(--good-bg);border:1px solid #b8d9ca;border-radius:6px;align-items:center;gap:10px;margin-bottom:14px;padding:11px 12px;font-size:14px;font-weight:800;display:flex}.client-notice span{flex:1;min-width:0}.client-notice button{width:28px;height:28px;color:var(--green-strong);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.dashboard-notice{justify-content:flex-start}.estimate-action-notice{margin-top:-4px}.estimate-action-notice.is-saving svg{animation:.9s linear infinite sync-spin}.estimate-action-notice.is-error{color:#8c3428;background:#fff5f1;border-color:#e2b9ad}.dashboard-notice button{background:#fff;border:1px solid #b8d9ca;width:auto;min-width:64px;padding:0 10px;font-size:12px;font-weight:800}.drawer-backdrop{z-index:20;background:#111b183d;justify-content:flex-end;display:flex;position:fixed;inset:0}.estimate-drawer{border-left:1px solid var(--line);background:#fff;width:min(460px,100%);height:100%;overflow:auto;box-shadow:-18px 0 44px #111b181f}.drawer-heading{z-index:1;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;display:flex;position:sticky;top:0}.drawer-heading h2{margin:0;font-size:22px}.entity-form{gap:14px;padding:18px 20px 22px;display:grid}.inline-create-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.form-field{color:var(--text);gap:7px;font-size:13px;font-weight:800;display:grid}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);width:100%;min-height:40px;color:var(--text);background:#fff;border-radius:6px;outline:none;padding:0 11px;font-weight:600}.form-field input::placeholder,.form-field textarea::placeholder{color:#8b9691}.form-field textarea{resize:vertical;min-height:92px;padding:10px 11px;line-height:1.45}.upload-picker{align-items:center;display:grid;position:relative}.upload-picker svg{color:var(--muted);pointer-events:none;position:absolute;right:12px}.selected-upload-list{border:1px solid var(--line);background:#f8fafc;border-radius:6px;gap:7px;padding:10px;display:grid}.selected-upload-list-header,.selected-upload-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.selected-upload-list-header strong{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px}.selected-upload-row{background:#fff;border:1px solid #e1e8ee;border-radius:6px;min-height:32px;padding:6px 8px;font-size:13px;font-weight:750}.selected-upload-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.selected-upload-row small{color:var(--muted);flex:none;font-size:12px;font-weight:800}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #245c4f1a}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea,.category-manager-row input.is-invalid{background:#fff8f5;border-color:#c8614a}.form-field.has-error input:focus,.form-field.has-error select:focus,.form-field.has-error textarea:focus{border-color:#c8614a;box-shadow:0 0 0 3px #c8614a1f}.field-error{color:#9c3b2e;font-size:12px;font-weight:800;line-height:1.35}.form-error{color:#8c3428;background:#fff5f1;border:1px solid #e2b9ad;border-radius:6px;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.4}.confirm-error{margin:12px 20px 0}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-toggle-row{border:1px solid var(--line);min-height:40px;color:var(--text);background:#fbfcfb;border-radius:6px;align-items:center;gap:10px;padding:0 11px;font-size:13px;font-weight:800;display:flex}.form-toggle-row input{width:16px;height:16px;accent-color:var(--green)}.form-actions{background:linear-gradient(#ffffffc2,#fff 28%);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;padding-top:14px;display:grid;position:sticky;bottom:0}.form-actions.single-action{grid-template-columns:1fr}.button-danger{color:#fff;background:#9c3b2e;box-shadow:0 12px 24px #9c3b2e2e}.confirm-backdrop{justify-content:center;align-items:center;padding:18px}.confirm-dialog{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(440px,100%);overflow:hidden;box-shadow:0 22px 70px #121f1c2e}.confirm-copy{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:18px 20px 2px;display:grid}.confirm-copy svg{color:#9c3b2e;place-items:center;display:grid}.confirm-copy p{color:var(--muted);margin:0;line-height:1.5}.confirm-body{gap:10px;min-width:0;padding:12px 20px 0;display:grid}.category-manager-list{gap:10px;display:grid}.category-manager-row{border:1px solid var(--line);background:#fbfcfb;border-radius:6px;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;display:grid}.category-manager-row>div:first-child{gap:6px;min-width:0;display:grid}.category-manager-row span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.category-manager-row input{border:1px solid var(--line);width:100%;min-height:38px;color:var(--text);background:#fff;border-radius:6px;padding:0 10px;font-weight:700}.category-manager-actions{flex-wrap:wrap;justify-content:flex-start;align-items:end;gap:6px;display:flex}.selected-line-summary{border:1px solid var(--line);color:var(--muted);background:#fbfcfb;border-radius:6px;align-items:center;gap:10px;padding:12px;font-size:13px;font-weight:700;line-height:1.35;display:flex}.selected-line-summary svg{color:var(--green);flex:none}.client-build-admin-list{gap:0;display:grid}.client-build-group{border-bottom:1px solid var(--line)}.client-build-group:last-child{border-bottom:0}.client-build-group-header{border-bottom:1px solid var(--line);background:#fbfcfb;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:18px;padding:18px 20px;display:grid}.client-build-group-header h3{margin:0 0 6px;font-size:20px}.client-build-group-header span{color:var(--muted)}.client-build-group-totals{gap:2px;display:grid}.client-build-group-totals .detail-row{padding:3px 0}.admin-build-record{grid-template-columns:minmax(260px,1.25fr) minmax(190px,.82fr) minmax(150px,.6fr) minmax(250px,auto)}.build-record-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.cost-entry-preview{align-content:center;align-self:end;min-height:66px}@media (width<=1240px){.estimate-editor-grid,.client-estimate-grid{grid-template-columns:1fr}.client-detail{max-height:none;position:static}}@media (width<=900px){.estimate-editor-grid,.client-estimate-grid{gap:12px}.client-build-group-header,.admin-build-record{grid-template-columns:1fr}.build-record-actions{justify-content:flex-start}}@media (width<=620px){.visibility-control-card{grid-template-columns:1fr}.line-visible-toggle span{display:none}.drawer-backdrop{align-items:stretch}.drawer-backdrop.confirm-backdrop{align-items:center}.confirm-dialog{align-self:center;max-height:calc(100vh - 36px);overflow-y:auto}.estimate-drawer{border-left:0;width:100%}.form-grid-2,.form-actions,.inline-create-form,.category-manager-row{grid-template-columns:1fr}.category-manager-actions{justify-content:flex-start}.form-actions{background:#fff;padding-top:4px;position:static}}.client-estimate,.detail-panel,.page-panel{box-shadow:0 10px 28px #111b180b}.client-estimate,.page-panel{overflow:hidden}.button,.small-action,.icon-button{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}.button:active,.small-action:active,.icon-button:active{transform:translateY(1px)}.route-state-page{background:linear-gradient(135deg,#f9fbf7 0%,#eef4f0 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.route-state-card{border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:14px;padding:34px;display:grid}.route-state-icon{width:46px;height:46px;color:var(--green);background:var(--green-soft);border-radius:8px;place-items:center;margin-top:12px;display:grid}.route-state-icon.warn{color:#9c3b2e;background:#fff5f1}.route-state-card h1{margin:0;font-size:32px}.route-state-card p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.55}.route-state-actions{grid-template-columns:1fr auto;gap:10px;margin-top:8px;display:grid}:root{--bg:#eef4f8;--surface:#fff;--surface-strong:#f8fbff;--line:#dbe6ef;--line-strong:#aebfce;--text:#1d2b38;--muted:#627488;--green:#16a085;--green-strong:#0d6f63;--green-soft:#e8f8f2;--blue:#3f7ee8;--blue-soft:#eaf3ff;--cyan:#18a8c7;--cyan-soft:#e7f8fb;--coral:#eb6f76;--coral-soft:#fff0f1;--brass:#d69c36;--brass-soft:#fff8e7;--warn:#c06d21;--warn-bg:#fff4e8;--good:#16a085;--good-bg:#e8f8f2;--shadow:0 14px 34px #23374b1a}body{background:linear-gradient(#f6fbff 0%,#eef6f8 42%,#f6f8fb 100%)}.button,.icon-button,.page-panel,.search-box,.confirm-dialog{border-radius:8px}.button{letter-spacing:0;min-height:40px;font-size:14px}.button-primary{background:var(--green);box-shadow:0 8px 18px #206b5c2e}.button-secondary,.icon-button,.small-action{border-color:var(--line);background:#fff}.button-secondary:hover,.icon-button:hover,.small-action:hover{border-color:var(--line-strong);background:#f8fafc}.brand-icon{background:var(--green)}.search-box input,textarea,.form-field input,.form-field select,.form-field textarea{background:#fff;border-color:#cfd8e2}.form-field input[type=file]{color:var(--muted);align-items:center;padding:7px;display:flex}.form-field input[type=file]::file-selector-button{min-height:28px;color:var(--green-strong);font:inherit;cursor:pointer;background:#f4faf7;border:1px solid #cfd8e2;border-radius:6px;margin-right:10px;padding:0 10px;font-size:12px;font-weight:800}.form-warning{color:#7a3f1d;overflow-wrap:anywhere;background:#fff9f3;border:1px solid #f0d1bd;border-radius:8px;min-width:0;padding:10px 12px;font-size:12px;font-weight:750;line-height:1.4}.client-hero h1{font-size:27px;font-weight:800}.client-hero p{font-size:14px}.admin-build-metrics .metric strong{font-size:18px}.page-panel,.client-detail{border-color:#d8e6ef;box-shadow:0 12px 30px #23374b12}.section-toolbar,.panel-title-row,.client-build-group-header,.drawer-heading{background:#fff;border-color:#d8e0e8}.section-toolbar h2,.panel-title-row h2{font-size:19px;font-weight:800}.eyebrow{color:#2f78c9;font-size:11px}.status-pill{border-radius:999px;min-height:24px;font-size:11px}.estimate-table{font-size:13px}.estimate-table th{color:#697889;background:#f4f7fa;border-color:#d8e0e8;padding:11px 13px}.estimate-table td{color:#26323f;border-bottom-color:#e9eef3;padding:12px 13px}.estimate-table tfoot td{background:#f8fafc;border-top-color:#cbd6e2}.parent-row td{color:#213341;background:#fff;border-top:1px solid #d9e7f2;border-bottom-color:#e6edf4;font-weight:760}.parent-row:hover td{background:#f4fbfd}.parent-row.selected td{background:#eaf6ff!important}.parent-row.selected td:first-child{box-shadow:inset 4px 0 0 var(--blue)}.sub-row td{color:#5c7083;background:#f8fbff;border-bottom-color:#e2ebf4;font-size:12.5px;font-weight:650}.sub-row td:first-child{box-shadow:inset 4px 0 #94c9ec}.sub-row.selected-cost-row td{background:#fff7e9!important}.sub-row.selected-cost-row td:first-child{box-shadow:inset 4px 0 0 var(--brass)}.line-item-title{grid-template-columns:26px minmax(0,1fr)}.expand-button{border-radius:6px;width:24px;height:24px}.line-visible-toggle{color:#526170;background:#f4f7fa;border-color:#cdd7e1;border-radius:999px;justify-content:center;gap:6px;min-width:118px;min-height:28px;font-weight:800}.line-visible-toggle.is-visible{color:var(--green-strong);background:var(--green-soft);border-color:#a9d3c6}.estimate-row-actions{align-items:center;gap:5px;min-width:92px;display:inline-flex}.estimate-row-actions button{width:28px;height:28px;color:var(--green-strong);cursor:pointer;background:#fff;border:1px solid #d8e0e8;border-radius:6px;place-items:center;display:inline-grid}.estimate-row-actions button:hover:not(:disabled){background:var(--green-soft);border-color:#a9d3c6}.estimate-row-actions button:disabled,.small-action:disabled{cursor:not-allowed;opacity:.45}.visibility-control-card{background:#f8fafc;border-color:#d8e0e8}.toggle{cursor:pointer;background:#e8edf2;border:1px solid #c3cdd8;border-radius:999px;width:46px;min-width:46px;height:26px;padding:3px}.toggle span{background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .16s;display:block;box-shadow:0 1px 4px #1f293333}.toggle.is-on{background:var(--green);border-color:#9bcbbb}.toggle.is-on span{transform:translate(19px)}.detail-panel{padding:18px}.detail-section h4{color:#334155;letter-spacing:0}.detail-row{padding:8px 0}.empty-state-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.dashboard-notice.is-error{color:#8c3428;background:#fff5f1;border-color:#e2b9ad}.ledger-controls{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;min-width:min(560px,100%);display:flex}.ledger-scope-field{gap:6px;min-width:240px;display:grid}.ledger-scope-field.is-compact{min-width:160px}.ledger-scope-field span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.ledger-scope-field select{width:100%;min-height:42px;color:var(--text);background:#fff;border:1px solid #cfd8e2;border-radius:7px;padding:0 11px;font-weight:700}.client-hero{background:#fff;border-color:#d8e0e8;box-shadow:0 10px 30px #1f29330b}.section-subtext{color:#667382;margin-top:5px;font-size:13px;font-weight:700;display:block}.client-overview-side{gap:18px;display:grid}.dashboard-queue-panel{overflow:hidden}.dashboard-queue-panel .panel-title-row{align-items:center}.dashboard-queue-list{gap:0;display:grid}.dashboard-queue-item{background:#fff;border-bottom:1px solid #e8eef3;gap:0;width:100%;min-width:0;display:grid}.dashboard-queue-main{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.dashboard-queue-item:last-child{border-bottom:0}.dashboard-queue-main:hover{background:#f7fbf9}.dashboard-queue-actions{flex-wrap:wrap;gap:7px;padding:0 16px 14px 62px;display:flex}.dashboard-queue-actions .small-action{min-height:30px;padding:0 9px;font-size:11px}.dashboard-queue-icon{width:34px;height:34px;color:var(--warn);background:var(--warn-bg);border-radius:8px;place-items:center;display:grid}.dashboard-queue-copy{justify-items:start;gap:6px;min-width:0;display:grid}.dashboard-queue-copy strong,.dashboard-queue-copy small,.dashboard-queue-copy p{overflow-wrap:anywhere;white-space:normal;max-width:100%}.dashboard-queue-main .status-pill,.dashboard-queue-main .sync-status,.dashboard-queue-main time{justify-self:start}.dashboard-queue-copy strong{color:var(--text);line-height:1.25}.dashboard-queue-copy small,.dashboard-queue-copy p,.dashboard-queue-action{color:var(--muted)}.dashboard-queue-copy small{font-size:12px;font-weight:800;line-height:1.35}.dashboard-queue-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.dashboard-queue-action{white-space:nowrap;grid-column:2;justify-self:start;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.build-workload-list{gap:0;display:grid}.build-workload-card{background:#fff;border-bottom:1px solid #e3ebf1;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px 16px;padding:16px 18px;display:grid}.build-workload-card:last-child{border-bottom:0}.build-workload-card:hover{background:#f8fbf9}.build-workload-main,.build-workload-phase{gap:6px;min-width:0;display:grid}.build-workload-main{grid-column:1;grid-template-columns:minmax(0,1fr);align-items:start}.build-workload-main h3{color:var(--text);margin:2px 0 0;font-size:17px;line-height:1.2}.build-workload-main p,.build-workload-phase span{color:var(--muted);margin:0;line-height:1.35}.build-workload-phase strong{color:#334155;line-height:1.25}.build-workload-next{width:100%;min-width:0;color:var(--text);text-align:left;background:#fbfcfd;border:1px solid #d8e0e8;border-radius:7px;grid-column:1/-1;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;display:grid}button.build-workload-next{cursor:pointer}button.build-workload-next:hover:not(:disabled){background:#f4faf7;border-color:#9fb8ad}.build-workload-next svg{color:var(--green)}.build-workload-next span{gap:2px;min-width:0;display:grid}.build-workload-next strong,.build-workload-next small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.build-workload-next strong{color:var(--text);font-size:12px;line-height:1.15}.build-workload-next small{color:var(--muted);font-size:11px;font-weight:750}.build-workload-next.is-warn{background:#fff8f2;border-color:#f0d1bd}.build-workload-next.is-warn svg{color:#b85d25}.build-workload-next.is-good{background:#f5fbf8;border-color:#c9ded6}.build-workload-next:disabled{cursor:default}.build-workload-metrics{grid-area:2/1/auto/-1;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;min-width:0;display:grid}.build-workload-metric{background:#fbfcfd;border:1px solid #d8e0e8;border-radius:7px;gap:4px;min-width:0;padding:9px 10px;display:grid}.build-workload-metric span{overflow-wrap:anywhere;white-space:normal;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:850}.build-workload-metric strong{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:14px;line-height:1.15}.build-workload-metric.is-good{background:#f5fbf8;border-color:#c9ded6}.build-workload-metric.is-warn{background:#fff7f1;border-color:#f0d1bd}.build-workload-actions{grid-area:1/2;grid-template-columns:repeat(2,minmax(92px,1fr));gap:7px;display:grid}.build-workload-actions .small-action{justify-content:center}.small-action.primary-action{color:#fff;border-color:var(--green);background:var(--green)}.small-action.primary-action:hover{color:#fff;border-color:var(--green-strong);background:var(--green-strong)}.sync-status{color:#526071;white-space:nowrap;background:#fff;border:1px solid #d8e0e8;border-radius:999px;align-items:center;gap:7px;max-width:240px;min-height:34px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #1f29330a}.sync-status span{text-overflow:ellipsis;min-width:0;overflow:hidden}.sync-status.is-saved{color:var(--green-strong);background:#f6fbf8;border-color:#c9ded6}.sync-status.is-saving{color:var(--blue);background:#f4f9fc;border-color:#c8dce9}.sync-status.is-saving svg{animation:.9s linear infinite sync-spin}.sync-status.is-error{color:#8c3428;background:#fff7f2;border-color:#efcdbf}.sync-status.is-compact{max-width:120px;min-height:30px;padding:0 8px}@keyframes sync-spin{to{transform:rotate(360deg)}}.spin-icon{animation:.9s linear infinite sync-spin}.estimate-editor-grid,.client-estimate-grid{gap:16px}.admin-estimate-metrics{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:10px}.admin-estimate-metrics .metric{background:linear-gradient(#fff 0%,#f7fbff 100%);border-color:#d9e7f2;min-height:76px;box-shadow:0 8px 22px #23374b0e}.admin-estimate-metrics .metric strong{white-space:normal;font-size:18px;line-height:1.25}@media (width>=1241px){.estimate-editor-grid{grid-template-columns:minmax(0,1fr) minmax(392px,440px)}.estimate-editor-grid>.estimate-detail-panel{overscroll-behavior:contain;scrollbar-color:#b9c8d2 transparent;scrollbar-gutter:stable;scrollbar-width:thin;align-self:start;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:hidden auto}}.estimate-workspace,.client-estimate,.detail-panel,.page-panel{box-shadow:0 12px 28px #23374b0f}.estimate-workspace.admin-estimate-workspace{overflow:visible}.admin-estimate-workspace .estimate-table-toolbar{z-index:5;background:#fff;border-bottom:1px solid #d8e0e8;position:sticky;top:0}.admin-estimate-workspace .category-section{box-shadow:none;border-left:0;border-right:0;border-radius:0}.admin-estimate-workspace .category-section:first-of-type{border-top:0}.admin-table th:first-child,.admin-table td:first-child{min-width:292px;max-width:360px;position:sticky;left:0;box-shadow:1px 0 #e4ebf1}.admin-table th:first-child{z-index:4}.admin-table td:first-child{z-index:1;background:inherit}.admin-table .parent-row.selected td:first-child{background:#eaf6ff!important}.admin-table .sub-row td:first-child{background:#f8fbff}.estimate-table-toolbar .toolbar-actions{flex-wrap:wrap;flex:320px;align-items:center;min-width:0}.estimate-add-charge-button:disabled{color:#82918b;background:#edf3f0;border-color:#d6e1dc}.estimate-detail-panel,.client-detail{padding:0}.estimate-detail-panel>*,.client-detail>*{margin-left:18px;margin-right:18px}.estimate-detail-panel .panel-heading,.client-detail .panel-heading{background:linear-gradient(#fff 0%,#f3f9ff 100%);border-bottom:1px solid #d7e7f1;margin:0;padding:18px}.estimate-detail-panel .panel-heading h3,.client-detail .panel-heading h3{margin-top:8px;line-height:1.18}.line-charge-quick-action{background:#f2faf6;border:1px solid #bcd9ce;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;margin-top:14px;padding:12px;display:grid}.line-charge-quick-action>div{gap:3px;min-width:0;display:grid}.line-charge-quick-action span{color:var(--green-strong);text-transform:uppercase;font-size:10px;font-weight:900}.line-charge-quick-action strong{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:13px;line-height:1.25}.line-charge-quick-action .button,.charge-section-add{flex:none;min-height:38px}.charge-parent-context{border:1px solid #bcd9ce;border-left:4px solid var(--green);background:#f2faf6;border-radius:7px;gap:4px;min-width:0;padding:12px 14px;display:grid}.charge-parent-context span{color:var(--green-strong);text-transform:uppercase;font-size:10px;font-weight:900}.charge-parent-context strong{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:15px;line-height:1.25}.charge-parent-context small{overflow-wrap:anywhere;min-width:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.detail-command-row{border-bottom:1px solid #e5ebf0;padding-bottom:14px}.line-operations-card{border:1px solid #d7e7f1;border-left:4px solid var(--blue);background:linear-gradient(#fff 0%,#f4fbff 100%);border-radius:8px;gap:12px;margin-top:14px;padding:12px;display:grid}.line-operations-card.is-good{border-left-color:var(--green)}.line-operations-card.is-warn{border-left-color:var(--brass)}.line-operations-card.is-muted{border-left-color:var(--line-strong)}.line-operations-status{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.line-operations-status>div{gap:3px;min-width:0;display:grid}.line-operations-status small,.line-operations-metric small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900;line-height:1.1}.line-operations-status strong,.line-operations-metric strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-weight:900;line-height:1.18}.line-operations-status span:not(.line-operations-icon),.line-operations-metric span{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:650;line-height:1.35}.line-operations-icon{width:32px;height:32px;color:var(--blue);background:#f3f8fb;border:1px solid #dbe5ed;border-radius:8px;place-items:center;display:inline-grid}.line-operations-icon.is-good{color:var(--green);background:#f3faf6;border-color:#c9ded6}.line-operations-icon.is-warn{color:#9d5b1d;background:#fff7f0;border-color:#f0d1bd}.line-operations-icon.is-muted{color:var(--muted);background:#f7f9fb}.line-operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.line-operations-metric{background:#fff;border:1px solid #dfe9f2;border-radius:7px;gap:3px;min-width:0;padding:9px;display:grid}.line-operations-metric.is-good{background:var(--green-soft);border-color:#bfe8dc}.line-operations-metric.is-warn{background:var(--brass-soft);border-color:#f1d0a5}.line-operations-metric.is-muted{background:#f7fbff;border-color:#dfe9f2}.line-operations-actions{flex-wrap:wrap;gap:8px;display:flex}.line-operations-actions .small-action{flex:128px;justify-content:center;min-width:0}.estimate-detail-panel .detail-stack,.client-detail .detail-stack,.estimate-detail-panel .detail-section,.client-detail .detail-section{margin-top:14px;padding-top:14px}.estimate-detail-panel .detail-section{border-top-color:#e4ebf1}.detail-row strong{overflow-wrap:anywhere}.estimate-table th{z-index:2;position:sticky;top:0}.line-item-title strong{line-height:1.25}.line-row-facts{flex-wrap:wrap;gap:5px;max-width:100%;margin-top:8px;display:flex}.line-row-facts span{white-space:nowrap;background:#f8fbff;border:1px solid #d8e7f1;border-radius:999px;align-items:center;min-width:0;min-height:24px;padding:0 8px;font-weight:800;line-height:1.1;display:inline-flex;color:#526879!important;font-size:11px!important}.line-row-facts .line-row-state.is-good{background:var(--green-soft);border-color:#bfe8dc;color:var(--green-strong)!important}.line-row-facts .line-row-state.is-warn{background:var(--brass-soft);border-color:#f1d0a5;color:#87581f!important}.line-row-facts .line-row-state.is-muted{background:#f7fbff;border-color:#dfe9f2;color:var(--muted)!important}.subline-title strong{line-height:1.3}.visibility-control-card{box-shadow:inset 0 1px #fffc}.detail-section-visibility{padding-bottom:2px}.visibility-control-card{background:#f6fbf8;border-color:#cddfd8;align-items:center;gap:14px}.visibility-control-card strong{color:var(--green-strong)}.visibility-control-card .toggle{flex:none}.registry-filter-bar{background:#fbfcfd;border-bottom:1px solid #d8e0e8;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;padding:12px 16px;display:grid}.registry-filter-button{min-width:0;min-height:54px;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e0e8;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;display:grid}.registry-filter-button strong{min-width:28px;color:var(--green-strong);font-variant-numeric:tabular-nums;font-size:18px;line-height:1}.registry-filter-button span{overflow-wrap:anywhere;white-space:normal;min-width:0;color:var(--muted);font-size:12px;font-weight:800;line-height:1.2}.registry-filter-button:hover{background:#f8fafc;border-color:#b8c5d1}.registry-filter-button.is-active{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green);border-color:#9bcbbb}.admin-build-registry{overflow:visible}.build-registry-toolbar{align-items:center;gap:16px}.build-registry-actions{grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:8px;width:min(500px,100%);display:grid}.build-registry-actions .search-box{width:100%;min-width:0}.build-registry-actions .button{min-height:42px}.build-status-filter-bar{background:#f8fbfa}.build-status-filter-bar .registry-filter-button{background:#fff;border-color:#d8e4df;min-height:58px}.build-status-filter-bar .registry-filter-button.is-active{background:#eaf6f1;border-color:#9bcbbb}.client-build-group-client{justify-items:start;gap:6px;min-width:0;display:grid}.client-build-group-client h3{margin-bottom:0}.client-build-group-client span{overflow-wrap:anywhere;max-width:100%;line-height:1.4}.client-build-group-client .small-action{margin-top:4px}.client-build-group-actions{flex-wrap:wrap;gap:6px;display:flex}.client-build-group-actions .small-action{margin-top:0}.client-build-group-header{grid-template-columns:minmax(260px,.8fr) minmax(440px,1fr);align-items:center}.client-build-group-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.client-build-group-totals .detail-row{background:#fff;border:1px solid #d8e0e8;border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.client-build-group-totals .detail-row span,.build-record-metric span,.build-record-payment-card span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:850;overflow:hidden}.client-build-group-totals .detail-row strong{overflow-wrap:anywhere;min-width:0;color:var(--text);text-align:left;font-size:13px;line-height:1.2}.build-record-card.admin-build-record{background:#fff;border-bottom:1px solid #e3ebf1;grid-template-columns:minmax(0,1fr) minmax(312px,.38fr);align-items:stretch;gap:18px;min-width:0;padding:16px 18px;display:grid}.build-record-card:last-child{border-bottom:0}.build-record-card:hover{background:#f8fbf9}.build-record-content{align-content:start;gap:12px;min-width:0;display:grid}.build-record-overview{grid-template-columns:minmax(0,1fr) minmax(240px,.62fr);align-items:start;gap:16px;min-width:0;display:grid}.build-record-project,.build-record-phase{justify-items:start;gap:6px;min-width:0;display:grid}.build-record-project strong,.build-record-phase strong{overflow-wrap:anywhere;max-width:100%;color:var(--text);line-height:1.25}.build-record-project span:not(.status-pill),.build-record-phase span,.build-record-phase small,.build-record-payment-card small{overflow-wrap:anywhere;max-width:100%;color:var(--muted);font-size:12px;line-height:1.35}.build-record-operational-strip{grid-template-columns:minmax(210px,1.1fr) repeat(3,minmax(132px,.72fr));gap:8px;min-width:0;display:grid}.build-operational-card,.build-record-metric,.build-record-payment-card{background:#fbfcfd;border:1px solid #d8e0e8;border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.build-operational-card{grid-template-columns:22px minmax(0,1fr);align-items:center}.build-operational-card svg{color:var(--green)}.build-operational-card>span{gap:2px;min-width:0;display:grid}.build-operational-card strong,.build-operational-card small{overflow-wrap:anywhere;white-space:normal;min-width:0}.build-operational-card strong{color:var(--text);font-size:12px;line-height:1.15}.build-operational-card small{color:var(--muted);font-size:11px;font-weight:750}.build-operational-card.is-warn,.build-record-payment-card.is-warn{background:#fff8f2;border-color:#f0d1bd}.build-operational-card.is-warn svg{color:#b85d25}.build-operational-card.is-good,.build-record-metric.is-good,.build-record-payment-card.is-good{background:#f5fbf8;border-color:#c9ded6}.build-record-metric strong,.build-record-payment-card strong{overflow-wrap:anywhere;min-width:0;color:var(--text);font-variant-numeric:tabular-nums;font-size:18px;line-height:1.15}.build-record-payment-card>div:first-child{gap:4px;display:grid}.build-payment-meter{background:#e8eef3;border-radius:999px;width:100%;height:8px;overflow:hidden}.build-payment-meter span{border-radius:inherit;background:var(--green);height:100%;display:block}.build-record-payment-card small{color:var(--muted);font-size:11px;font-weight:750}.build-record-action-panel{align-content:start;gap:10px;min-width:0;display:grid}.build-record-route-actions,.build-record-admin-actions{gap:7px;min-width:0;display:grid}.build-record-route-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.build-record-admin-actions{border-top:1px solid #e3ebf1;grid-template-columns:1fr;padding-top:10px}.build-record-route-actions .small-action,.build-record-admin-actions .small-action{justify-content:center}@media (width<=1320px){.client-build-group-header,.build-record-card.admin-build-record,.build-record-overview{grid-template-columns:1fr}.client-build-group-totals,.build-record-operational-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.build-record-route-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.build-record-admin-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}.estimate-workspace .section-toolbar,.client-estimate .section-toolbar{background:#fbfcfd}.estimate-workspace .section-toolbar h2{max-width:520px;line-height:1.2}.category-heading{background:#fff;border-top:1px solid #eef2f5;min-height:54px;padding:14px 18px}.category-heading h3{color:#22313b;font-size:16px}.category-heading span{color:#5f6f7d;font-size:13px}.client-table.line-table{min-width:1040px}.line-table th:first-child,.line-table td:first-child{z-index:1;position:sticky;left:0;box-shadow:inset -1px 0 #e3eaf0}.line-table th:first-child{z-index:3;background:#f4f7fa}.parent-row td:first-child{background:inherit}.sub-row td:first-child{background:#f8fbff}.line-item-title strong{color:#22313b;font-size:14px}.line-item-title>div>span:not(.line-item-meta){max-width:520px;line-height:1.4;display:block}.line-visible-toggle{justify-content:center;min-width:118px;font-weight:850}.line-visible-toggle.is-hidden{color:#7a4b30;background:#fff7f1;border-color:#ebd0bd}.line-visible-toggle:focus-visible,.expand-button:focus-visible,.estimate-row-actions button:focus-visible,.small-action:focus-visible,.button:focus-visible,.icon-button:focus-visible{outline-offset:2px;outline:3px solid #356f9538}.detail-command-row{flex-wrap:wrap;gap:8px;display:flex}.visibility-control-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.visibility-control-card span{color:#607181;margin-top:4px;line-height:1.4;display:block}@media (width<=900px){.build-registry-actions{grid-template-columns:minmax(0,1fr);width:100%}}@media (width<=620px){.estimate-table-toolbar .toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid;max-width:none!important}.estimate-table-toolbar .toolbar-actions .button{width:100%}.section-toolbar,.client-hero{flex-direction:column;align-items:flex-start}.build-registry-actions{grid-template-columns:1fr}.admin-estimate-workspace .estimate-table-toolbar{position:static}.category-heading{grid-template-columns:1fr;gap:10px}.admin-table th:first-child,.admin-table td:first-child{min-width:236px;max-width:280px}.toolbar-actions,.toolbar-actions .button,.search-box,.ledger-controls,.ledger-scope-field{width:100%}.estimate-detail-panel>*,.client-detail>*{margin-left:14px;margin-right:14px}.estimate-detail-panel .panel-heading,.client-detail .panel-heading{padding:16px 14px}.dashboard-queue-main{grid-template-columns:34px minmax(0,1fr)}.dashboard-queue-action{grid-column:2;justify-self:start}.dashboard-queue-actions{padding-left:62px}.build-workload-card{grid-template-columns:1fr;align-items:stretch}.build-workload-main,.build-workload-metrics,.build-workload-actions{grid-area:auto/1}.build-workload-main{grid-template-columns:1fr}.build-workload-metrics,.build-workload-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.client-build-group-header,.build-record-card.admin-build-record,.build-record-overview{grid-template-columns:1fr}.client-build-group-totals,.build-record-operational-strip,.build-record-route-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.build-record-admin-actions{grid-template-columns:1fr}}@media (width<=420px){.client-build-group-totals,.build-record-operational-strip{grid-template-columns:1fr}}.admin-estimate-workspace{background:#fff;border-color:#d4dee7;overflow:hidden}.admin-estimate-workspace .category-section{background:#fff;border-bottom:1px solid #e5ebf0}.admin-estimate-workspace .category-section:last-child{border-bottom:0}.estimate-workspace .section-toolbar,.client-estimate .section-toolbar{background:#fff;min-height:68px;padding:14px 18px}.category-heading{background:#fbfcfd;grid-template-columns:1fr;align-items:center;gap:4px;display:grid}.category-heading>div:first-child{align-content:center;gap:4px;min-width:0;display:grid}.category-heading h3,.category-heading span{overflow-wrap:anywhere;min-width:0}@media (width<=1180px){.category-heading{grid-template-columns:1fr;align-items:start}}.admin-table.line-table{min-width:1450px}.estimate-table th{letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:900}.admin-table .parent-row td{color:#1f3140;border-top:1px solid #d9e7f2;border-bottom-color:#e4edf4;font-weight:760}.admin-table .parent-row td:first-child{background:#fff}.admin-table .parent-row:hover td:first-child,.admin-table .parent-row.selected td:first-child{background:inherit}.admin-table .parent-row.selected td:first-child{box-shadow:inset 4px 0 0 var(--blue), 1px 0 0 #d7e7f1}.admin-table .sub-row td{color:#5d7284;background:#f8fbff;padding-top:9px;padding-bottom:9px;font-size:12.5px;font-weight:650}.admin-table .sub-row td:first-child{padding-left:64px;box-shadow:inset 4px 0 #9ed1ef,1px 0 #e4ebf1}.subline-title{gap:4px}.subline-title span,.cost-index{background:var(--blue-soft);border:1px solid #b9d9ff;border-radius:999px;width:fit-content;padding:2px 7px;line-height:1.1;color:#256fc5!important}.estimate-detail-panel,.client-detail{overflow:visible}.estimate-detail-panel .detail-stack{background:#f8fafc;border:1px solid #dce5ed;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px;display:grid}.estimate-detail-panel .detail-stack .detail-row{background:#fff;border:1px solid #e3ebf1;border-radius:7px;gap:4px;min-width:0;padding:9px 10px;display:grid}.estimate-detail-panel .detail-stack .detail-row span,.estimate-detail-panel .detail-stack .detail-row strong{text-align:left;min-width:0}.estimate-detail-panel .detail-stack .detail-row span{text-transform:uppercase;font-size:10px;font-weight:900}.estimate-detail-panel .detail-stack .detail-row strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.form-toggle-row{align-items:flex-start;min-height:54px;padding:10px 12px}.form-toggle-row>span{gap:3px;display:grid}.form-toggle-row strong,.form-toggle-row small{display:block}.form-toggle-row small{color:var(--muted);font-size:12px;font-weight:650;line-height:1.35}.category-manager-row.is-saving{background:#f7fbf8;border-color:#d4e1dc}.category-manager-row.is-saving input{color:var(--muted);background:#f8fafc}.category-manager-meta{flex-wrap:wrap;gap:6px;display:flex}.category-manager-row .category-manager-meta span{color:#52645d;white-space:nowrap;background:#fff;border:1px solid #dbe6e0;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:10px;line-height:1;display:inline-flex}.category-manager-row .category-manager-meta span.is-warning{color:#7a5b18;background:#fff9e8;border-color:#ead7a4}@media (width<=760px){.category-heading,.estimate-detail-panel .detail-stack,.line-charge-quick-action{grid-template-columns:1fr}.line-charge-quick-action .button{width:100%}.line-operations-metrics{grid-template-columns:1fr}}.admin-settings-metrics{grid-template-columns:repeat(auto-fit,minmax(136px,1fr))}.admin-settings-metrics .metric{background:linear-gradient(#fff 0%,#fafcfb 100%);border-color:#dbe3df;min-height:76px}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(360px,430px);align-items:start;gap:16px;display:grid}.settings-main-column,.settings-side-column{gap:16px;min-width:0;display:grid}.settings-access-panel,.settings-readiness-panel,.settings-policy-panel,.settings-security-panel{overflow:hidden}.role-rule-list,.settings-list{gap:0;display:grid}.role-rule{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);gap:14px;padding:16px 18px;display:grid}.role-rule:last-child{border-bottom:0}.role-rule h3{margin:0 0 8px;font-size:17px}.role-rule-icon{width:38px;height:38px;color:var(--green-strong);background:var(--good-bg);border-radius:6px;place-items:center;display:grid}.settings-list{padding:12px 18px}.settings-list .detail-row,.role-rule .detail-row{align-items:flex-start}.settings-list .detail-row strong,.role-rule .detail-row strong{overflow-wrap:anywhere;max-width:62%}.settings-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.settings-role-card{border-bottom:0;border-right:1px solid #e0e7ee;min-width:0}.settings-role-card:last-child{border-right:0}.settings-role-card p{color:var(--muted);margin:0 0 12px;line-height:1.45}.settings-role-title{gap:6px;margin-bottom:8px;display:grid}.settings-role-title h3{margin:0}.settings-role-title .status-pill{justify-self:start}.settings-role-card .detail-row{grid-template-columns:minmax(86px,.7fr) minmax(0,1fr);align-items:start;gap:10px;display:grid}.settings-role-card .detail-row strong{text-align:left;max-width:none}.settings-readiness-list{gap:0;display:grid}.settings-readiness-item{border-top:1px solid #e7edf2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 18px;display:grid}.settings-readiness-item:first-child{border-top:0}.settings-readiness-item strong{color:var(--text);margin-bottom:4px;font-size:14px;display:block}.settings-readiness-item p{color:var(--muted);margin:0;line-height:1.45}.settings-side-column .settings-list{padding:10px 18px 14px}.settings-side-column .detail-row{align-items:flex-start;gap:12px}.settings-side-column .detail-row strong{overflow-wrap:anywhere;text-align:left;white-space:normal;min-width:0;max-width:none}@media (width<=1180px){.settings-grid,.settings-role-grid{grid-template-columns:1fr}.settings-role-card{border-bottom:1px solid #e0e7ee;border-right:0}.settings-role-card:last-child{border-bottom:0}}@media (width<=620px){.role-rule{grid-template-columns:1fr;min-width:0;overflow:hidden}.settings-list .detail-row,.role-rule .detail-row{min-width:0;display:grid}.settings-list .detail-row strong,.role-rule .detail-row strong{text-align:left;overflow-wrap:anywhere;word-break:break-word;white-space:normal;max-width:100%}.role-rule>div{min-width:0}.settings-readiness-item{grid-template-columns:1fr}.settings-role-title{justify-content:stretch;display:grid}}.estimate-context-strip{background:#fff;border:1px solid #d8e0e8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:grid;box-shadow:0 8px 24px #1f29330a}.estimate-context-strip label{min-width:0;color:var(--text);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;font-size:12px;font-weight:800;display:grid}.estimate-context-strip label span{color:#667382;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.estimate-context-strip select{width:100%;min-height:42px;color:var(--text);background:#f8fafc;border:1px solid #d8e0e8;border-radius:7px;padding:0 11px;font-weight:800}.estimate-context-strip select:focus{border-color:#9bcbbb;outline:none;box-shadow:0 0 0 3px #206b5c1a}.estimate-context-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.estimate-context-actions .button{white-space:nowrap}.estimate-empty-state{border-top:1px solid var(--line)}.estimate-reset-section{gap:10px;display:grid}.estimate-import-drawer{width:min(760px,100%)}.estimate-import-form{gap:16px}.estimate-import-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.estimate-import-toggle{min-height:42px;color:var(--text);background:#f8fafc;border:1px solid #d8e0e8;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.estimate-import-toggle input{width:16px;height:16px;accent-color:var(--green)}.estimate-import-file.is-warning{background:#fff9f3;border-color:#f0d1bd}.estimate-import-preview{gap:14px;display:grid}.estimate-import-metrics{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.estimate-import-metrics .metric{min-height:70px;box-shadow:none}.estimate-import-status{min-height:38px;color:var(--text);background:#fff;border:1px solid #d8e0e8;border-radius:7px;align-items:center;gap:8px;padding:9px 11px;font-size:13px;font-weight:800;display:flex}.estimate-import-status.is-good{color:var(--green-strong);background:#f4faf7;border-color:#cfe2d8}.estimate-import-status.is-warn{color:#7a5b18;background:#fff9e8;border-color:#ead7a4}.estimate-import-status.is-error{color:#9c2f23;background:#fff6f4;border-color:#efc8c2}.estimate-import-warning-list{gap:8px;display:grid}.estimate-import-warning-scroll{gap:6px;max-height:188px;display:grid;overflow:auto}.estimate-import-warning{color:#4f4b3b;background:#fffdf6;border:1px solid #ead7a4;border-radius:6px;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:8px 10px;font-size:12px;line-height:1.35;display:grid}.estimate-import-warning strong{color:#7a5b18}.estimate-import-warning.is-blocking{color:#6f312a;background:#fff8f7;border-color:#efc8c2}.estimate-import-warning.is-blocking strong{color:#9c2f23}.estimate-import-warning.is-muted{background:#f8fafc;border-color:#d8e0e8}.estimate-import-table-wrap{background:#fff;border:1px solid #d8e0e8;border-radius:8px;overflow:auto}.estimate-import-table{border-collapse:collapse;width:100%;min-width:720px}.estimate-import-table th,.estimate-import-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf1f4;padding:10px;font-size:12px}.estimate-import-table th{z-index:1;color:#667382;text-transform:uppercase;background:#f8fafc;font-weight:900;position:sticky;top:0}.estimate-import-table td{color:var(--text);font-weight:700}.estimate-import-table td:nth-child(2){gap:4px;min-width:180px;display:grid}.estimate-import-table td:nth-child(2) span{color:var(--muted);font-weight:600;line-height:1.35}.estimate-import-apply{color:#8c3428;background:#fff7f2;border:1px solid #efcdbf;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;font-size:13px;font-weight:800;display:grid}.estimate-import-apply .button{justify-self:end}@media (width<=620px){.estimate-context-strip{grid-template-columns:1fr;align-items:flex-start;padding:10px}.estimate-context-strip label{grid-template-columns:1fr;gap:6px;width:100%}.estimate-context-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.estimate-context-strip .button{width:100%}}@media (width<=760px){.estimate-import-options,.estimate-import-apply{grid-template-columns:1fr}.estimate-import-apply .button{justify-self:stretch;width:100%}.estimate-import-table{min-width:0}.estimate-import-table thead{display:none}.estimate-import-table,.estimate-import-table tbody,.estimate-import-table tr,.estimate-import-table td{width:100%;display:block}.estimate-import-table tr{border-bottom:1px solid #edf1f4;padding:10px}.estimate-import-table td{border-bottom:0;grid-template-columns:96px minmax(0,1fr);gap:8px;padding:5px 0;display:grid}.estimate-import-table td:before{content:attr(data-label);color:#667382;text-transform:uppercase;font-size:10px;font-weight:900}.estimate-import-table td:nth-child(2){grid-template-columns:96px minmax(0,1fr);min-width:0}.estimate-import-table td:nth-child(2):before{grid-row:1/span 2}.estimate-import-table td:nth-child(2) strong,.estimate-import-table td:nth-child(2) span{grid-column:2}}.workspace{min-width:0;padding:24px 30px 42px}.top-bar,.section-toolbar,.category-heading,.visibility-row,.top-actions,.toolbar-actions{align-items:center;display:flex}.top-bar{border-bottom:1px solid #dde6ee;justify-content:space-between;gap:20px;min-height:70px;margin-bottom:18px;padding-bottom:16px}.top-bar h1{color:var(--text);letter-spacing:0;margin:0;font-size:27px;font-weight:800;line-height:1.1}.top-bar p:not(.eyebrow){color:var(--muted);margin:7px 0 0;font-size:14px}.top-actions{gap:10px}.top-actions .icon-button,.top-actions .button{box-shadow:0 8px 20px #1f29330d}.summary-band{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px;margin-bottom:14px;display:grid}.summary-band.admin-dashboard-metrics,.summary-band.admin-build-metrics{grid-template-columns:repeat(7,minmax(0,1fr))}.metric{--metric-accent:var(--blue);--metric-tint:#fff;background:linear-gradient(180deg, #ffffffeb 0%, var(--metric-tint) 100%);border:1px solid #d9e7f2;border-radius:8px;min-width:0;min-height:78px;padding:15px 16px;position:relative;overflow:hidden;box-shadow:0 10px 24px #23374b0f}.metric:before{content:"";background:var(--metric-accent);width:4px;position:absolute;inset:0 auto 0 0}.summary-band .metric:nth-child(4n+1){--metric-accent:var(--blue);--metric-tint:#f1f7ff}.summary-band .metric:nth-child(4n+2){--metric-accent:var(--green);--metric-tint:#effbf6}.summary-band .metric:nth-child(4n+3){--metric-accent:var(--coral);--metric-tint:#fff4f5}.summary-band .metric:nth-child(4n+4){--metric-accent:var(--brass);--metric-tint:#fff9ea}.metric span{color:#718091;text-transform:uppercase;min-width:0;font-size:11px;font-weight:800;display:block}.metric strong{letter-spacing:0;overflow-wrap:anywhere;min-width:0;margin-top:7px;font-size:19px;line-height:1.2;display:block}.metric-good{--metric-accent:var(--green);--metric-tint:var(--green-soft);border-color:#cceadd}.metric-warn{--metric-accent:var(--warn);--metric-tint:var(--warn-bg);border-color:#f1d3bf}@media (width<=1180px){.summary-band.admin-dashboard-metrics,.summary-band.admin-build-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=900px){.workspace{width:100%;max-width:100vw;padding:16px;overflow-x:hidden}.workspace>*{max-width:calc(100vw - 32px)}.top-bar,.section-toolbar{flex-direction:column;align-items:flex-start;width:100%;max-width:100%}.top-bar>div:first-child,.section-toolbar>div:first-child{min-width:0;max-width:100%}.top-bar p:not(.eyebrow),.section-toolbar h2{overflow-wrap:anywhere;white-space:normal}.toolbar-actions,.top-actions{justify-content:flex-start;width:100%}.summary-band.admin-dashboard-metrics,.summary-band.admin-build-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.workspace>*{width:100%;max-width:100%!important}.summary-band{grid-template-columns:1fr}.summary-band.admin-dashboard-metrics,.summary-band.admin-build-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-band.admin-dashboard-metrics .metric:last-child:nth-child(odd),.summary-band.admin-build-metrics .metric:last-child:nth-child(odd){grid-column:1/-1}.top-actions,.toolbar-actions{width:100%;max-width:340px!important}.top-actions{grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;display:grid}.top-actions .button,.toolbar-actions .button{width:100%}.top-actions .sync-status{grid-column:1;justify-content:center;width:100%;max-width:none}.top-actions .icon-button{grid-column:2;justify-self:end}.top-actions .button{grid-column:1/-1}}.login-page{background:#fff;min-height:100vh}.login-shell{background:#fff;grid-template-columns:minmax(420px,.82fr) minmax(540px,1.18fr);width:100%;min-height:100vh;display:grid;overflow:hidden}.login-panel{background:#fff;border-right:1px solid #dbe6ef;grid-template-rows:auto minmax(0,1fr);min-width:0;padding:clamp(32px,5vw,72px);display:grid}.login-panel-content{place-self:center;width:min(420px,100%);padding:56px 0 96px}.login-copy{margin-bottom:30px}.login-copy h1{color:var(--text);letter-spacing:0;margin:0;font-size:38px;font-weight:800;line-height:1.08}.login-copy p{color:var(--muted);margin:10px 0 0;font-size:15px;line-height:1.5}.login-form{gap:16px;display:grid}.login-field{gap:8px;min-width:0;display:grid}.login-field span{color:#334155;font-size:13px;font-weight:800}.login-form input{width:100%;min-width:0;min-height:46px;color:var(--text);box-shadow:none;background:#fff;border:1px solid #c9d5df;border-radius:7px;outline:none;padding:0 13px}.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #16a0851f}.login-form input:disabled{color:var(--muted);cursor:not-allowed;background:#f4f7f8}.login-form input[aria-invalid=true]{border-color:#d79484}.login-error{color:#8c3428;background:#fff5f1;border:1px solid #e2b9ad;border-radius:7px;padding:11px 12px;font-size:13px;font-weight:800;line-height:1.4}.login-submit{justify-content:center;width:100%;min-height:46px;margin-top:2px}.login-visual{background:#e6eef1;min-width:0;min-height:100vh;overflow:hidden}.login-visual img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}@media (width<=900px){.login-shell{grid-template-columns:minmax(0,1fr)}.login-panel{border-right:0;width:100%;min-height:100vh;padding:28px 24px}.login-panel-content{padding:48px 0 80px}.login-visual{display:none}}@media (width<=480px){.login-panel{padding:22px 18px}.login-panel-content{width:100%;padding:40px 0 72px}.login-copy h1{font-size:32px}}.app-shell{background:var(--bg);grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.side-nav{background:#fff;border-right:1px solid #d8e0e8;flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;box-shadow:8px 0 28px #1f293309}.side-nav .brand{border-bottom:1px solid var(--line);padding:0 6px 18px}.side-nav nav{scrollbar-width:none;-ms-overflow-style:none;gap:3px;margin-top:24px;display:grid}.side-nav nav::-webkit-scrollbar{display:none}.side-nav button{min-height:40px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:700;display:flex}.side-nav button.active{color:var(--green-strong);background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green)}.side-nav button:hover{color:var(--green-strong);background:#eef4f0}.side-nav-footer{gap:4px;margin-top:auto;display:grid}.side-nav .backup-data{color:var(--green-strong);background:#f4faf6;border:1px solid #cfe0d6}.side-nav .backup-data:hover{background:var(--green-soft);border-color:#a9c9b8}.side-nav .sign-out{color:var(--muted)}@media (width<=900px){.app-shell{grid-template-columns:1fr;max-width:100vw;overflow-x:hidden}.side-nav{border-right:0;border-bottom:1px solid var(--line);width:100%;max-width:100vw;height:auto;position:static;overflow:hidden}.side-nav nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-width:100%;margin-top:18px;padding-bottom:4px;display:grid;overflow:visible}.side-nav button{justify-content:center;gap:6px;min-width:0;padding:0 8px;font-size:13px}.side-nav-footer{flex-wrap:wrap;margin-top:10px;display:flex}.side-nav .sign-out,.side-nav .backup-data{border:1px solid #d8e0e8;width:fit-content;min-height:36px;display:inline-flex}}.client-page{background:var(--bg);min-height:100vh}.client-header{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcfa;border-bottom:1px solid #d8e0e8;grid-template-columns:auto minmax(340px,1fr) minmax(220px,300px) auto auto;align-items:center;gap:12px;min-height:66px;padding:12px 24px;display:grid;position:sticky;top:0;box-shadow:0 1px #111b1808}.client-header .brand{min-width:0}.client-nav{scrollbar-width:none;-ms-overflow-style:none;background:#edf2f6;border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));justify-self:center;gap:6px;width:min(540px,100%);padding:4px;display:grid}.client-nav::-webkit-scrollbar{display:none}.client-nav a,.client-nav button{min-width:0;min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.client-nav a.active,.client-nav button.active{color:var(--green-strong);background:#fff;box-shadow:0 3px 10px #1c2c2614}.client-build-switcher{gap:5px;min-width:220px;display:grid}.client-build-switcher span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.client-build-switcher select{width:100%;min-height:36px;color:var(--text);background:#fff;border:1px solid #d8e0e8;border-radius:7px;padding:0 10px;font-size:13px;font-weight:800}.client-main{width:min(1440px,100%);margin:0 auto;padding:26px 32px 42px}.client-header .sync-status,.client-header>.icon-button{justify-self:end}.client-preview-header{grid-template-columns:auto minmax(0,1fr) auto auto}.client-preview-label{min-width:0;color:var(--green-strong);align-items:center;gap:10px;display:inline-flex}.client-preview-label span{min-width:0;display:grid}.client-preview-label small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.client-preview-label strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-preview-back{white-space:nowrap}.client-preview-note{color:var(--muted);margin:8px 0 0;font-size:.86rem}@media (width<=980px){.client-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand signout""nav nav""build build""sync sync";gap:10px;padding:14px 16px}.client-header .brand{grid-area:brand;width:auto;min-width:0}.client-nav{grid-area:nav;justify-self:stretch;width:100%}.client-build-switcher{grid-area:build;width:100%}.client-header .sync-status{grid-area:sync;justify-content:center;width:100%;max-width:none}.client-header>.icon-button{grid-area:signout}.client-preview-header{grid-template-areas:"brand back""preview preview"}.client-preview-header .client-preview-label{grid-area:preview}.client-preview-header .sync-status{display:none}.client-preview-back{grid-area:back;justify-self:end}}@media (width<=900px){.client-main{width:100%;max-width:100vw;padding:16px;overflow-x:hidden}.client-main>*{max-width:calc(100vw - 32px)}}@media (width<=620px){.client-main>*{max-width:100%!important}.client-nav button{white-space:nowrap;padding:0 4px;font-size:12px}}@media (width<=420px){.client-nav button{padding:0 3px;font-size:11px}.client-build-switcher select{min-height:34px;font-size:12px}}.backup-drawer{width:min(640px,100%);overflow-x:hidden}.backup-workflow{box-sizing:border-box;gap:0;width:100%;min-width:0;padding:18px 20px 28px;display:grid}.backup-intro{color:var(--green-strong);background:#f4faf6;border:1px solid #cfe0d6;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:14px;display:grid}.backup-intro p,.backup-section-copy,.backup-success{margin:0;line-height:1.5}.backup-report{background:#f4faf6;border:1px solid #bfdccb;border-radius:8px;gap:10px;padding:12px 14px;display:grid}.backup-report.has-notes{background:#fffaf0;border-color:#e5cf95}.backup-report.is-blocked{background:#fff6f4;border-color:#e8b8b2}.backup-report-heading{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;min-width:0;display:grid}.backup-report-heading svg{color:var(--good)}.backup-report.has-notes .backup-report-heading svg{color:#9a6818}.backup-report.is-blocked .backup-report-heading svg{color:var(--danger)}.backup-report-heading div{gap:2px;min-width:0;display:grid}.backup-report-heading strong{color:var(--text);font-size:13px}.backup-report-heading span,.backup-report-list{color:var(--muted);font-size:12px;line-height:1.45}.backup-report-list{gap:5px;margin:0;padding-left:20px;display:grid}.backup-report-list li{overflow-wrap:anywhere}.backup-intro p{color:#405c51;font-size:13px;font-weight:650}.backup-section{border-bottom:1px solid var(--line);gap:14px;padding:22px 0;display:grid}.backup-section:last-of-type{border-bottom:0}.backup-section-heading,.backup-file-heading{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.backup-section-heading h3{color:var(--text);margin:0;font-size:17px}.backup-section-heading svg{color:var(--blue);flex:none}.backup-section-copy{color:var(--muted);font-size:13px}.backup-summary{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;display:grid;overflow:hidden}.backup-summary-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfb;gap:3px;min-width:0;padding:10px 12px;display:grid}.backup-summary-item:nth-child(2n){border-right:0}.backup-summary-item:nth-last-child(-n+2){border-bottom:0}.backup-summary-item:last-child:nth-child(odd){border-bottom:0;border-right:0;grid-column:1/-1}.backup-summary-item span{color:var(--muted);font-size:11px;font-weight:750}.backup-summary-item strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px}.backup-primary-action{width:100%;min-width:0}.backup-success{color:var(--good);overflow-wrap:anywhere;font-size:12px;font-weight:700}.backup-preview{border-top:1px solid var(--line);gap:14px;padding-top:16px;display:grid}.backup-file-heading{background:#f5fafd;border:1px solid #cadce8;border-radius:8px;justify-content:flex-start;align-items:flex-start;padding:12px}.backup-file-heading svg{color:var(--blue);flex:none}.backup-file-heading div{gap:3px;min-width:0;display:grid}.backup-file-heading strong,.backup-file-heading span{overflow-wrap:anywhere;min-width:0}.backup-file-heading strong{color:var(--text);font-size:13px}.backup-file-heading span{color:var(--muted);font-size:11px}@media (width<=480px){.backup-workflow{padding:14px 14px 24px}.backup-summary{grid-template-columns:1fr}.backup-summary-item,.backup-summary-item:nth-child(2n),.backup-summary-item:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--line)}.backup-summary-item:last-child{border-bottom:0;grid-column:auto}}.client-estimate-summary{grid-template-columns:repeat(8,minmax(0,1fr))}.client-estimate-summary .metric{min-width:0}.client-estimate-summary .metric strong{overflow-wrap:normal;word-break:normal;font-size:16px}.client-empty-build{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 150px);padding:48px 24px;display:flex}.client-empty-build-icon{width:52px;height:52px;color:var(--green-strong);background:#e8f7f1;border:1px solid #b8e3d5;border-radius:8px;place-items:center;margin-bottom:18px;display:grid}.client-empty-build h1{margin:6px 0 10px;font-size:28px}.client-empty-build>p:last-child{max-width:460px;color:var(--muted);margin:0}.client-nav button:disabled{color:#9ba7b2;cursor:not-allowed;opacity:.7}@media (width<=1180px){.client-estimate-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=620px){.client-summary,.client-estimate-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.client-hero-status{color:var(--muted);justify-items:end;gap:8px;font-size:12px;display:grid}.homeowner-overage-list{background:#fff;border:1px solid #d6e3ec;border-radius:8px;overflow:hidden}.homeowner-overage-list>header,.homeowner-overage-list>article{grid-template-columns:minmax(240px,1.4fr) 110px 130px 145px minmax(170px,auto);align-items:center;gap:14px;padding:12px 15px;display:grid}.homeowner-overage-list>header{color:var(--muted);text-transform:uppercase;background:#f4f8fb;font-size:10px;font-weight:800}.homeowner-overage-list>article{border-top:1px solid #e1e9ef;border-left:4px solid #e0a432;min-width:0}.homeowner-overage-list>article>div{min-width:0}.homeowner-overage-list article small,.homeowner-overage-list article strong,.homeowner-overage-list article p{overflow-wrap:anywhere;display:block}.homeowner-overage-list article small,.homeowner-overage-list article p{color:var(--muted);margin:3px 0 0;font-size:11px}.homeowner-overage-actions{justify-content:flex-end;gap:6px;display:flex}@media (width<=980px){.homeowner-overage-list>header{display:none}.homeowner-overage-list>article{grid-template-columns:repeat(2,minmax(0,1fr))}.homeowner-overage-list>article>div:first-child,.homeowner-overage-actions{grid-column:1/-1}.homeowner-overage-actions{justify-content:flex-start}}@media (width<=620px){.client-hero-status{justify-items:start}.homeowner-overage-list>article{grid-template-columns:1fr}.homeowner-overage-list>article>div:first-child,.homeowner-overage-actions{grid-column:1}}.project-build-metrics{border-top:3px solid #5a8fdd;grid-template-columns:repeat(5,minmax(0,1fr))}.project-client-list{display:grid}.project-client-group{border-bottom:1px solid var(--line);background:#fff}.project-client-group:last-child{border-bottom:0}.project-client-header{background:#f4f8fc;border-bottom:1px solid #dce8f2;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:20px;padding:18px 20px;display:grid}.project-client-title,.project-client-summary,.project-client-actions,.project-build-actions,.project-build-bank,.icon-action-row,.template-card-footer,.settings-save-row{align-items:center;display:flex}.project-client-title{flex-wrap:wrap;gap:10px}.project-client-title h3,.template-card h2,.settings-document-preview h2{letter-spacing:0;margin:0}.project-client-identity p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0}.project-client-summary{gap:22px}.project-client-summary span{color:var(--muted);gap:2px;font-size:12px;display:grid}.project-client-summary strong{color:var(--text);font-size:15px}.project-client-actions,.project-build-actions,.icon-action-row{gap:7px}.project-build-list{display:grid}.project-build-row{border-bottom:1px solid #edf1ee;grid-template-columns:minmax(230px,1.4fr) minmax(150px,.8fr) minmax(140px,.65fr) auto;align-items:center;gap:18px;min-width:0;padding:16px 20px;display:grid}.project-build-row:last-child{border-bottom:0}.project-build-row:hover{background:#fbfdfc}.project-build-address,.project-build-price,.project-build-bank span{gap:4px;min-width:0;display:grid}.project-build-address .status-pill{width:max-content;margin-bottom:2px}.project-build-address strong,.project-build-price strong,.project-build-bank strong{overflow-wrap:anywhere}.project-build-address>span:last-child,.project-build-price span,.project-build-bank small{color:var(--muted);font-size:12px}.project-build-bank{color:#4b72a8;gap:10px;min-width:0}.project-build-bank strong{color:var(--text);font-size:13px}.project-build-price small{color:var(--muted)}.project-build-actions{flex-wrap:wrap;justify-content:flex-end}.project-build-actions .icon-button{width:34px;height:34px}.project-client-empty{color:var(--muted);padding:18px 20px}.status-pill.info{color:#315f91;background:#e8f1fb;border-color:#c8dcf0}.form-section{border:1px solid var(--line);background:#fafcfb;border-radius:8px;gap:14px;padding:16px;display:grid}.form-section-heading{gap:3px;display:grid}.form-section-heading span,.template-structure-heading span,.form-updated-note{color:var(--muted);font-size:12px}.status-choice{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;display:grid}.status-choice legend{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:700}.status-choice button{border:1px solid var(--line);min-height:42px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:flex}.status-choice button.is-active{color:var(--green-strong);background:var(--good-bg);border-color:#83b9a4;font-weight:700}.template-page-intro{color:#315f91;background:#eef6fc;border:1px solid #cbdff1;border-radius:8px;align-items:center;gap:14px;margin-bottom:16px;padding:14px 18px;display:flex}.template-page-intro div,.template-structure-heading>div{gap:3px;display:grid}.template-page-intro span{color:#58748f;font-size:13px}.template-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.template-card{border:1px solid var(--line);background:#fff;border-top:3px solid #5a8fdd;border-radius:8px;grid-template-rows:auto 1fr auto;gap:16px;min-width:0;padding:18px;display:grid;box-shadow:0 8px 22px #1b31400d}.template-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.template-card-heading>div{min-width:0}.template-card h2{overflow-wrap:anywhere;font-size:17px}.template-card p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.45}.template-card-heading>span{color:#315f91;flex:none;font-size:12px;font-weight:700}.template-card-structure{align-content:start;gap:7px;display:grid}.template-card-structure span{color:var(--muted);border-bottom:1px solid #edf1ee;justify-content:space-between;gap:10px;padding-bottom:7px;font-size:12px;display:flex}.template-card-structure strong{color:var(--text);overflow-wrap:anywhere}.template-card-footer{color:var(--muted);justify-content:space-between;gap:10px;font-size:12px}.template-card-footer>div{gap:6px;display:flex}.template-empty{border:1px dashed var(--line-strong);background:#fff;border-radius:8px;grid-column:1/-1;min-height:220px}.template-drawer{width:min(760px,100vw)}.template-structure-heading{justify-content:space-between;align-items:center;gap:12px;padding-top:6px;display:flex}.template-start-fieldset{border:0;min-width:0;margin:0;padding:0}.template-start-fieldset legend{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.template-start-options{border:1px solid var(--line-strong);background:#edf3f7;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;display:grid}.template-start-options label{min-width:0;min-height:40px;color:var(--muted);cursor:pointer;text-align:center;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.template-start-options label.is-selected{color:#214f73;background:#fff;border-color:#c5d8e8;box-shadow:0 2px 6px #1b314014}.template-start-options input{opacity:0;width:1px;height:1px;position:absolute}.template-start-options label:has(input:focus-visible){outline-offset:2px;outline:3px solid #356f9538}.template-copy-fields{gap:12px;display:grid}.template-copy-note{color:#49657d;background:#f1f7fc;border-left:3px solid #5a8fdd;align-items:flex-start;gap:9px;padding:12px;font-size:13px;line-height:1.45;display:flex}.template-copy-note svg{color:#356c9b;flex:none;margin-top:1px}.template-review-dialog{width:min(860px,100%)}.template-review-summary{background:#f8fbfd;border:1px solid #cfe0e8;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.template-review-summary>div{border-right:1px solid #dce6ed;gap:4px;min-width:0;padding:12px 14px;display:grid}.template-review-summary>div:nth-child(3){border-right:0}.template-review-summary span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.template-review-summary strong{color:#214f73;font-size:18px}.template-review-summary p{color:var(--muted);overflow-wrap:anywhere;border-top:1px solid #dce6ed;grid-column:1/-1;margin:0;padding:9px 14px;font-size:12px}.template-review-structure{gap:12px;display:grid}.template-review-structure>section{background:#fff;border:1px solid #d4e2eb;border-radius:7px;overflow:hidden}.template-review-structure>section>header{background:#edf5fa;border-bottom:1px solid #dce6ed;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.template-review-structure h3{color:#234b63;overflow-wrap:anywhere;margin:0;font-size:14px}.template-review-structure header>span{color:#52718a;flex:none;font-size:11px;font-weight:700}.template-review-line{border-bottom:1px solid #e7edf1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:10px 13px;display:grid}.template-review-line:last-child{border-bottom:0}.template-review-line>span:first-child{gap:2px;min-width:0;display:grid}.template-review-line strong,.template-review-line small{overflow-wrap:anywhere}.template-review-line strong{color:var(--text);font-size:13px}.template-review-line small,.template-review-empty-category{color:var(--muted);font-size:11px}.template-review-line>span:last-child{color:#315f91;font-size:12px;font-weight:800}.template-review-empty-category{padding:12px 13px}.template-category-editor,.template-parent-editor{gap:10px;display:grid}.template-category-block{background:#f7fafc;border:1px solid #dce8f2;border-radius:8px;gap:12px;padding:14px;display:grid}.template-category-row,.template-parent-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.template-category-row input,.template-parent-row input{width:100%;min-width:0}.template-parent-editor{border-left:3px solid #b8d2ea;padding-left:16px}.template-parent-row>div:first-child{grid-template-columns:minmax(150px,.7fr) minmax(180px,1.3fr);gap:8px;min-width:0;display:grid}.icon-action-row .icon-button{width:34px;height:34px}.icon-action-row .icon-button:disabled{opacity:.35;cursor:not-allowed}.settings-business-layout{grid-template-columns:minmax(0,760px) minmax(260px,1fr);align-items:start;gap:18px;display:grid}.company-settings-form{border-top:3px solid var(--green);gap:18px;padding:22px;display:grid}.settings-save-row{border-top:1px solid var(--line);justify-content:space-between;gap:14px;padding-top:16px}.settings-save-row span{color:var(--muted);font-size:12px}.settings-document-preview{background:#f4f8fc;border:1px solid #cbdff1;border-top:3px solid #5a8fdd;border-radius:8px;gap:16px;min-width:0;padding:24px;display:grid}.settings-document-preview h2{overflow-wrap:anywhere;font-size:22px}.settings-document-preview div{gap:5px;display:grid}.settings-document-preview span{color:var(--muted);overflow-wrap:anywhere}@media (width<=1180px){.project-client-header{grid-template-columns:minmax(220px,1fr) auto}.project-client-actions{grid-column:1/-1}.project-build-row{grid-template-columns:minmax(220px,1.2fr) minmax(140px,.8fr) minmax(140px,.7fr)}.project-build-actions{grid-column:1/-1;justify-content:flex-start}.template-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.project-build-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-build-metrics>:last-child{grid-column:1/-1}.project-client-header,.project-build-row,.settings-business-layout{grid-template-columns:1fr}.project-client-summary{justify-content:flex-start}.project-client-actions,.project-build-actions{grid-column:auto}.template-card-grid{grid-template-columns:1fr}}@media (width<=560px){.project-build-metrics{grid-template-columns:1fr}.project-build-metrics>:last-child{grid-column:auto}.project-client-header,.project-build-row,.company-settings-form,.settings-document-preview{padding:15px}.project-client-summary,.project-client-actions,.project-build-actions,.settings-save-row,.template-card-footer,.template-structure-heading{flex-direction:column;align-items:stretch}.project-client-actions .small-action,.project-build-actions .small-action,.settings-save-row .button,.template-structure-heading .button{width:100%}.status-choice,.template-start-options,.template-category-row,.template-parent-row,.template-parent-row>div:first-child{grid-template-columns:1fr}.template-parent-editor{padding-left:10px}.template-review-summary{grid-template-columns:1fr}.template-review-summary>div{border-bottom:1px solid #dce6ed;border-right:0}.template-review-summary>div:nth-child(3){border-bottom:0}.icon-action-row{justify-content:flex-start}}.product-estimate-context{background:#fff;border:1px solid #d7e4ed;border-radius:8px;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(130px,.6fr)) auto;align-items:end;gap:12px;margin-bottom:14px;padding:13px 15px;display:grid;box-shadow:0 8px 20px #23374b0d}.product-estimate-context label,.product-estimate-context>div{gap:5px;min-width:0;display:grid}.product-estimate-context span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.product-estimate-context strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px}.product-estimate-context select{width:100%;min-height:38px;color:var(--text);font:inherit;background:#fff;border:1px solid #cbd8e2;border-radius:7px;padding:0 34px 0 11px;font-size:13px;font-weight:700}.product-estimate-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.product-estimate-summary .metric{align-items:center;gap:10px;min-height:70px;padding:12px 13px;display:flex}.product-estimate-summary .metric-icon{color:var(--metric-accent);flex:none}.product-estimate-summary .metric>div{min-width:0}.product-estimate-summary .metric strong{margin-top:4px;font-size:17px}.workspace-notice{color:#245b87;background:#f0f8ff;border:1px solid #c9dff2;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.workspace-notice.is-error{color:#943b42;background:#fff5f5;border-color:#efc7c9}.workspace-notice.is-success{color:#0e6b58;background:#effaf5;border-color:#bfe5d6}.product-estimate-workspace{grid-template-columns:minmax(0,1fr) minmax(286px,320px);align-items:start;gap:15px;min-width:0;display:grid}.product-estimate-main{background:#fff;border:1px solid #d6e3ec;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 12px 28px #23374b0f}.product-estimate-toolbar{background:#fbfdff;border-bottom:1px solid #dce7ef;justify-content:space-between;align-items:center;gap:14px;padding:14px 15px;display:flex}.product-estimate-toolbar>div{gap:3px;min-width:0;display:grid}.product-estimate-toolbar .product-estimate-toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.product-estimate-toolbar strong{font-size:15px}.product-estimate-toolbar span{color:var(--muted);font-size:12px;line-height:1.4}.product-estimate-ledger,.product-category,.product-parent-list,.product-charge-list{min-width:0}.product-category+.product-category{border-top:1px solid #cbdbe7}.product-category-header{background:#edf6fb;border-left:4px solid #3f7ee8;grid-template-columns:minmax(190px,1fr) auto auto;align-items:center;gap:12px;min-width:0;padding:11px 13px;display:grid}.product-category-title{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;display:flex}.product-category-title>span{gap:2px;min-width:0;display:grid}.product-category-title strong{font-size:14px}.product-category-title small{color:var(--muted);font-size:10px;font-weight:700}.product-category-totals{white-space:nowrap;align-items:center;gap:14px;display:flex}.product-category-totals span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.product-category-totals strong{color:var(--text);margin-left:4px;font-size:12px}.product-row-actions,.product-parent-actions{justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:flex}.compact-icon-button{width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.product-parent-group+.product-parent-group{border-top:1px solid #e1e9ef}.product-parent-group{background:#fff;position:relative}.product-parent-group.is-selected{background:#f8fcff;box-shadow:inset 4px 0 #16a085}.product-parent-row{cursor:pointer;grid-template-rows:auto auto;grid-template-columns:30px minmax(165px,1fr) repeat(3,minmax(75px,.55fr)) 14px;align-items:center;gap:7px 10px;min-width:0;padding:12px 13px 10px 16px;display:grid}.product-expand-button{color:#356178;cursor:pointer;background:#f7fbfd;border:1px solid #d5e1e9;border-radius:6px;place-items:center;width:30px;height:30px;padding:0;display:grid}.product-parent-main{gap:3px;min-width:0;display:grid}.product-parent-main strong{color:#183446;overflow-wrap:anywhere;min-width:0;font-size:14px}.product-parent-main small{min-width:0;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.product-parent-amount{text-align:right;gap:3px;min-width:0;display:grid}.product-parent-amount span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.product-parent-amount strong{overflow-wrap:anywhere;font-size:12px}.product-parent-amount.is-over strong{color:#ba4c54}.product-parent-amount.is-under strong{color:#17705f}.visibility-dot{background:#fff;border:2px solid #aebdc8;border-radius:50%;width:10px;height:10px}.visibility-dot.is-visible{background:#16a085;border-color:#16a085;box-shadow:0 0 0 3px #dcf4ec}.product-parent-actions{grid-area:2/2/auto/-1;justify-content:flex-start;padding-top:2px}.product-charge-list{background:#f7fafc;border:1px solid #dce7ee;border-radius:7px;margin:0 13px 10px 48px;overflow:hidden}.product-charge-row{grid-template-columns:18px minmax(150px,1fr) 92px 170px;align-items:start;gap:9px;min-width:0;min-height:52px;padding:8px 9px;display:grid}.product-charge-row+.product-charge-row{border-top:1px solid #e1e8ed}.product-charge-branch{border-bottom:1px solid #9fb5c4;border-left:1px solid #9fb5c4;width:14px;height:22px;margin-top:-12px}.product-charge-main{align-items:flex-start;gap:8px;min-width:0;display:flex}.product-charge-main>div{gap:3px;min-width:0;display:grid}.product-charge-icon{color:#28738c;background:#e3f3f7;border-radius:6px;flex:none;place-items:center;width:28px;height:28px;display:grid}.product-charge-main strong{overflow-wrap:anywhere;min-width:0;font-size:12px}.product-charge-main small{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:10px;line-height:1.35}.product-charge-workflow-actions{flex-wrap:wrap;gap:5px;min-width:0;margin-top:3px;display:flex}.product-charge-workflow-actions .small-action{min-height:28px;padding-left:8px;padding-right:8px;font-size:10px}.product-charge-amount{text-align:right;justify-items:end;gap:2px;min-width:0;padding-top:2px;display:grid}.product-charge-amount>span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.product-charge-cost{white-space:nowrap;min-width:0;font-size:12px}.product-charge-edit-actions{align-self:start}.product-charge-empty,.product-category-empty{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;font-size:12px;display:flex}.product-estimate-empty{text-align:center;place-content:center;gap:6px;min-height:190px;margin:16px;display:grid}.product-estimate-detail{background:#fff;border:1px solid #d5e3ec;border-radius:8px;align-self:start;min-width:0;max-height:calc(100dvh - 32px);padding:15px;position:sticky;top:16px;overflow-y:auto;box-shadow:0 12px 28px #23374b12}.product-estimate-detail.is-empty{min-height:180px;color:var(--muted);place-items:center;display:grid}.product-estimate-detail.is-empty h2{color:var(--text);margin:12px 0 5px;font-size:17px}.product-estimate-detail.is-empty p{margin:0;font-size:12px;line-height:1.5}.product-detail-heading{border-bottom:1px solid #e0e8ee;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;padding-bottom:13px;display:flex}.product-detail-heading>div{min-width:0}.product-detail-category{color:#2f78c9;text-transform:uppercase;font-size:10px;font-weight:850}.product-detail-heading h2{overflow-wrap:anywhere;margin:5px 0 4px;font-size:18px;line-height:1.25}.product-detail-heading p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.product-detail-metrics{border:1px solid #dce6ed;border-radius:7px;grid-template-columns:1fr 1fr;margin:13px 0;display:grid;overflow:hidden}.product-detail-metrics .detail-row{gap:4px;min-width:0;padding:10px;display:grid}.product-detail-metrics .detail-row:nth-child(2n){border-left:1px solid #dce6ed}.product-detail-metrics .detail-row:nth-child(n+3){border-top:1px solid #dce6ed}.product-detail-metrics .detail-row span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.product-detail-metrics .detail-row strong{overflow-wrap:anywhere;font-size:13px}.product-visibility-control{background:#f3fafb;border:1px solid #cfe3ea;border-radius:7px;gap:10px;min-width:0;padding:12px;display:grid}.product-visibility-control>div{align-items:center;gap:9px;min-width:0;display:flex}.product-visibility-control>div>div{gap:2px;min-width:0;display:grid}.visibility-icon{color:#647684;background:#e6edf1;border-radius:7px;flex:none;place-items:center;width:32px;height:32px;display:grid}.visibility-icon.is-visible{color:#0b725f;background:#d9f2e9}.product-visibility-control strong{overflow-wrap:anywhere;font-size:12px}.product-visibility-control small{color:var(--muted);font-size:10px;line-height:1.35}.product-visibility-control .button{width:100%}.product-builder-note{background:#fff9ea;border-left:3px solid #d69c36;margin-top:12px;padding:11px 12px}.product-builder-note span{color:#876321;text-transform:uppercase;font-size:9px;font-weight:850}.product-builder-note p{color:#4b4130;overflow-wrap:anywhere;margin:5px 0 0;font-size:11px;line-height:1.45}.product-detail-actions{gap:7px;margin-top:13px;display:grid}.product-detail-actions .button,.product-detail-actions .small-action{overflow-wrap:anywhere;justify-content:center;width:100%}.danger-action{color:#a23d45}.product-form-context{background:#eef6ff;border-left:4px solid #3f7ee8;border-radius:6px;gap:3px;padding:11px 12px;display:grid}.product-form-context span,.product-form-context small{color:var(--muted);font-size:11px}.product-form-context strong{color:#1c4c75;overflow-wrap:anywhere;font-size:14px}.product-charge-file-picker{color:#235b7a;cursor:pointer;background:#f6fbfe;border:1px dashed #9db9cc;border-radius:7px;align-items:center;gap:11px;min-height:74px;padding:12px;display:flex}.product-charge-file-picker input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.product-charge-file-picker>span,.product-charge-files{gap:4px;min-width:0;display:grid}.product-charge-file-picker small{color:var(--muted);font-size:11px;font-weight:500;display:block}.product-charge-files{margin-top:7px}.product-charge-files>span,.product-charge-files>button,.product-charge-file-warning{align-items:center;gap:7px;min-width:0;display:flex}.product-charge-files>span{background:#fff;border:1px solid #d8e5ed;border-radius:6px;padding:7px 9px}.product-charge-files strong{overflow-wrap:anywhere}.product-charge-files>button{color:#9a4048;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:11px;font-weight:750}.product-charge-file-warning{color:#76561d;background:#fff9e9;border:1px solid #efd7aa;border-radius:7px;padding:9px 10px;font-size:12px;line-height:1.4}.product-review-backdrop{z-index:80;background:#15222d80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.product-change-review{background:#fff;border:1px solid #cbdbe6;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(820px,100%);height:min(760px,100dvh - 40px);max-height:calc(100dvh - 40px);display:grid;overflow:hidden;box-shadow:0 24px 70px #14233040}.product-change-review.has-note{grid-template-rows:auto auto minmax(0,1fr) auto}.product-review-heading{background:#f8fbfd;border-bottom:1px solid #dce6ed;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px 18px;display:flex}.product-review-heading span{color:#2f78c9;text-transform:uppercase;font-size:10px;font-weight:850}.product-review-heading h2{overflow-wrap:anywhere;margin:4px 0 0;font-size:20px;line-height:1.25}.product-review-note{color:#76561d;background:#fff9e9;border:1px solid #efd7aa;border-radius:7px;margin:14px 18px 0;padding:10px 12px;font-size:12px;line-height:1.45}.product-review-body{align-content:start;gap:16px;min-height:0;padding:18px;display:grid;overflow-y:auto}.product-review-summary,.homeowner-estimate-preview{min-width:0}.product-review-details{background:#f8fbfd;border:1px solid #cfe0e8;border-radius:7px;min-width:0;overflow:hidden}.product-review-details h3{color:#194f65;background:#edf7fa;border-bottom:1px solid #dce6ed;margin:0;padding:10px 12px;font-size:12px}.product-review-details dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.product-review-details dl>div{border-bottom:1px solid #e4ebef;min-width:0;padding:9px 12px}.product-review-details dl>div:nth-child(odd){border-right:1px solid #e4ebef}.product-review-details dt{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.product-review-details dd{color:#233e4d;overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;font-weight:700;line-height:1.4}.product-review-summary>p{color:var(--muted);margin:0 0 15px;font-size:13px}.product-review-financials{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.product-review-amount{background:#fafcfd;border:1px solid #dce6ed;border-radius:7px;min-width:0;padding:12px}.product-review-amount.is-changed{background:#f0fafc;border-color:#b9dce7}.product-review-amount>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.product-review-amount>div{align-items:center;gap:6px;min-width:0;margin-top:8px;display:flex}.product-review-amount strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.product-review-actions{background:#f8fbfd;border-top:1px solid #dce6ed;justify-content:flex-end;gap:8px;padding:13px 18px;display:flex}.homeowner-estimate-preview>header{border-bottom:2px solid #274d62;justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:12px;display:flex}.homeowner-estimate-preview>header>div{gap:3px;display:grid}.homeowner-estimate-preview>header span,.homeowner-estimate-preview>header small{color:var(--muted);font-size:11px}.homeowner-estimate-preview>header strong{color:#173e52;font-size:22px}.homeowner-preview-range{justify-content:space-between;align-items:center;gap:12px;padding:12px 0 2px;display:flex}.homeowner-preview-range>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.homeowner-preview-range>div{background:#f2f6f8;border:1px solid #cfdde4;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;display:inline-grid}.homeowner-preview-range button{color:#526b78;min-height:32px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:6px 12px;font-size:11px;font-weight:750}.homeowner-preview-range button[aria-pressed=true]{color:#174d5c;background:#fff;box-shadow:0 1px 3px #1c3d4b24}.homeowner-preview-range button:focus-visible{outline-offset:1px;outline:2px solid #18859a}.homeowner-preview-visibility{color:#70531e;background:#fff9e9;border:1px solid #e5cf9f;border-radius:7px;align-items:flex-start;gap:9px;margin-top:12px;padding:11px 12px;font-size:12px;line-height:1.45;display:flex}.homeowner-preview-visibility svg{flex:none;margin-top:1px}.homeowner-estimate-preview section{margin-top:13px}.homeowner-estimate-preview h3{color:#194f65;background:#e8f5f8;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:8px 10px;font-size:13px;display:flex}.homeowner-estimate-preview h3 small{color:#196577;text-transform:uppercase;flex:none;font-size:9px;font-weight:800}.homeowner-estimate-preview section.is-affected>h3{background:#dff2f5;box-shadow:inset 3px 0 #18859a}.homeowner-preview-parent{border:1px solid #dce6ed;border-top:0}.homeowner-preview-parent.is-affected{border-color:#9fcdd5;box-shadow:inset 3px 0 #18859a}.homeowner-preview-parent.is-affected>.homeowner-preview-parent-heading{background:#f4fbfc}.homeowner-preview-parent-heading,.homeowner-preview-charge{justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:9px 10px;display:flex}.homeowner-preview-parent-heading>div{gap:2px;min-width:0;display:grid}.homeowner-preview-parent-heading small,.homeowner-preview-charge small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.homeowner-preview-parent-heading>div:last-child{text-align:right;flex:none}.homeowner-preview-parent-heading span,.homeowner-preview-parent-heading strong,.homeowner-preview-charge strong{font-size:11px}.homeowner-preview-change-label{color:#146071;text-transform:uppercase;background:#dceff3;border-radius:4px;width:max-content;max-width:100%;padding:2px 6px;font-weight:800;line-height:1.35;font-size:9px!important}.homeowner-preview-charge{background:#fafcfd;border-top:1px solid #e8eef2;margin-left:20px;font-size:11px}.homeowner-preview-charge.is-affected{background:#edf9fa;border-top-color:#9fcdd5;border-left:3px solid #18859a;margin-left:0;padding-left:30px}.homeowner-preview-charge>span{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.product-review-empty{color:var(--muted);text-align:center;padding:26px 12px;font-size:12px}@media (width<=1399px){.product-estimate-context{grid-template-columns:minmax(230px,1fr) repeat(3,minmax(110px,.55fr))}.product-estimate-context>.button{grid-column:1/-1;justify-self:end}.product-estimate-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1239px){.product-estimate-workspace{grid-template-columns:minmax(0,1fr)}.product-estimate-detail{max-height:none;position:static;overflow:visible}.product-detail-actions{grid-template-columns:minmax(220px,1fr) auto auto}}@media (width<=900px){.product-estimate-context{grid-template-columns:1fr 1fr}.product-estimate-context label,.product-estimate-context>.button{grid-column:1/-1}.product-estimate-context>.button{width:100%}.product-category-header{grid-template-columns:minmax(180px,1fr) auto}.product-category-header>.product-row-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=767px){.product-estimate-context,.product-estimate-summary{grid-template-columns:1fr 1fr}.product-estimate-context label{grid-column:1/-1}.product-estimate-toolbar,.product-category-header{align-items:stretch}.product-estimate-toolbar{flex-direction:column}.product-estimate-toolbar .button{width:100%}.product-estimate-toolbar .product-estimate-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.product-category-header{grid-template-columns:minmax(0,1fr)}.product-category-totals{justify-content:space-between}.product-category-header>.product-row-actions{flex-wrap:wrap;grid-column:auto}.product-parent-row{grid-template-rows:auto auto auto;grid-template-columns:30px minmax(0,1fr) 12px}.product-parent-amount{text-align:left;grid-row:2}.product-parent-amount:nth-child(3){grid-column:1}.product-parent-amount:nth-child(4){grid-column:2}.product-parent-amount:nth-child(5){grid-column:3}.product-parent-actions{flex-wrap:wrap;grid-area:3/1/auto/-1}.product-charge-list{margin-left:24px}.product-charge-row{grid-template-columns:16px minmax(0,1fr) minmax(72px,auto)}.product-charge-edit-actions{grid-column:2/-1;justify-content:flex-start}.product-detail-actions{grid-template-columns:1fr}.product-review-backdrop{align-items:end;padding:0}.product-change-review{border-radius:8px 8px 0 0;width:100%;height:94dvh;max-height:94dvh}.product-review-financials{grid-template-columns:1fr}.product-review-actions{grid-template-columns:1fr 1fr;display:grid}.product-review-actions .button:last-child{grid-column:auto}.homeowner-estimate-preview>header,.homeowner-preview-parent-heading{flex-direction:column;align-items:flex-start}.homeowner-preview-range{flex-direction:column;align-items:stretch}.homeowner-preview-range>div{width:100%}.homeowner-preview-parent-heading>div:last-child{text-align:left}}@media (width<=480px){.product-estimate-context,.product-estimate-summary{grid-template-columns:1fr}.product-category-totals{flex-wrap:wrap}.product-charge-list{margin-left:8px;margin-right:8px}.product-charge-row{grid-template-columns:minmax(0,1fr) auto}.product-charge-branch{display:none}.product-charge-edit-actions{flex-wrap:wrap;grid-column:1/-1}.product-detail-metrics{grid-template-columns:1fr}.product-detail-metrics .detail-row:nth-child(2n){border-left:0}.product-detail-metrics .detail-row+.detail-row{border-top:1px solid #dce6ed}.product-review-actions,.product-review-details dl{grid-template-columns:1fr}.product-review-details dl>div:nth-child(odd){border-right:0}.product-review-actions .button:last-child{grid-column:auto}}.homeowner-estimate-main{max-width:1240px}.homeowner-estimate-hero{border-bottom:2px solid #28576c;justify-content:space-between;align-items:flex-end;gap:24px;min-width:0;padding:22px 0 18px;display:flex}.homeowner-estimate-hero>div{min-width:0}.homeowner-estimate-hero span{color:#2f78c9;text-transform:uppercase;font-size:10px;font-weight:850}.homeowner-estimate-hero h1{color:#173c4f;overflow-wrap:anywhere;margin:5px 0;font-size:27px;line-height:1.15}.homeowner-estimate-hero p{color:var(--muted);margin:0;font-size:13px}.homeowner-contract-total{text-align:right;flex:none;gap:4px;display:grid}.homeowner-contract-total strong{color:#0d6f63;font-size:28px}.homeowner-estimate-facts{background:#d7e3eb;border:1px solid #d7e3eb;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:14px 0;display:grid;overflow:hidden}.homeowner-estimate-facts>div{color:#2b7186;background:#fff;align-items:center;gap:10px;min-width:0;min-height:68px;padding:12px 14px;display:flex}.homeowner-estimate-facts>div>span{gap:4px;min-width:0;display:grid}.homeowner-estimate-facts small{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.homeowner-estimate-facts strong{color:var(--text);overflow-wrap:anywhere;font-size:15px}.homeowner-product-ledger{background:#fff;border:1px solid #d5e2eb;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 12px 28px #23374b0f}.homeowner-product-category+.homeowner-product-category{border-top:2px solid #c8d9e5}.homeowner-product-category>header{color:#173f56;background:#ebf5fb;border-left:4px solid #3f7ee8;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.homeowner-product-category>header strong{font-size:14px}.homeowner-product-category>header span{color:var(--muted);font-size:10px;font-weight:750}.homeowner-product-parent+.homeowner-product-parent{border-top:1px solid #dde7ee}.homeowner-product-parent-heading{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:24px minmax(180px,1fr) repeat(3,minmax(90px,.55fr));align-items:center;gap:10px;padding:12px 14px;display:grid}.homeowner-product-parent-heading:hover{background:#f8fbfd}.homeowner-product-parent-heading>div,.homeowner-product-parent-heading>span{gap:3px;min-width:0;display:grid}.homeowner-product-parent-heading>span{text-align:right}.homeowner-product-parent-heading strong{overflow-wrap:anywhere;font-size:13px}.homeowner-product-parent-heading small{color:var(--muted);overflow-wrap:anywhere;font-size:10px;line-height:1.35}.homeowner-product-parent-heading .is-over strong{color:#b74b53}.homeowner-product-parent-heading .is-under strong{color:#17705f}.homeowner-product-parent-body{background:#f8fafc;border:1px solid #dde7ed;border-radius:7px;margin:0 14px 12px 48px;overflow:hidden}.homeowner-product-charge{color:#33768b;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:48px;padding:8px 11px;display:grid}.homeowner-product-charge+.homeowner-product-charge{border-top:1px solid #e1e8ed}.homeowner-product-charge>div{gap:2px;min-width:0;display:grid}.homeowner-product-charge strong{color:var(--text);overflow-wrap:anywhere;font-size:12px}.homeowner-product-charge small{color:var(--muted);font-size:10px}.homeowner-product-files{background:#fff;border-top:1px solid #dce6ed;padding:10px}.homeowner-product-files h4{color:var(--muted);text-transform:uppercase;margin:0 0 7px;font-size:9px;font-weight:850}.homeowner-product-file{color:#33768b;background:#f8fbfd;border:1px solid #dce6ed;border-radius:6px;grid-template-columns:20px minmax(0,1fr) 30px;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:grid}.homeowner-product-file+.homeowner-product-file{margin-top:6px}.homeowner-product-file>div{gap:2px;min-width:0;display:grid}.homeowner-product-file strong{color:var(--text);overflow-wrap:anywhere;font-size:11px}.homeowner-product-file small{color:var(--muted);font-size:9px}.homeowner-product-file em{color:#a23d45;font-size:9px;font-style:normal}.homeowner-product-empty{color:var(--muted);gap:4px;padding:14px;font-size:11px;display:grid}.homeowner-product-empty.is-page{text-align:center;place-content:center;min-height:180px}.homeowner-product-empty.is-page strong{color:var(--text);font-size:15px}@media (width<=800px){.homeowner-estimate-facts{grid-template-columns:1fr 1fr}.homeowner-product-parent-heading{grid-template-columns:24px repeat(3,minmax(0,1fr))}.homeowner-product-parent-heading>div{grid-column:2/-1}.homeowner-product-parent-heading>span{text-align:left;grid-row:2}.homeowner-product-parent-heading>span:first-of-type{grid-column:2}.homeowner-product-parent-heading>span:nth-of-type(2){grid-column:3}.homeowner-product-parent-heading>span:nth-of-type(3){text-align:right;grid-column:4;justify-self:end}}@media (width<=600px){.homeowner-estimate-hero{flex-direction:column;align-items:flex-start}.homeowner-contract-total{text-align:left}.homeowner-estimate-facts{grid-template-columns:1fr}.homeowner-product-parent-body{margin-left:8px;margin-right:8px}}.product-vendor-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.product-vendor-metrics .metric{align-items:center;gap:10px;min-height:72px;display:flex}.product-vendor-metrics .metric-icon{color:var(--metric-accent);flex:none}.product-vendor-metrics .metric>div{min-width:0}.product-vendor-directory{background:#fff;border:1px solid #d5e2eb;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 12px 28px #23374b0f}.product-vendor-toolbar{background:#f8fbfd;border-bottom:1px solid #dce6ed;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px 15px;display:flex}.product-vendor-toolbar>div{gap:3px;min-width:0;display:grid}.product-vendor-toolbar>div strong{font-size:15px}.product-vendor-toolbar>div span{color:var(--muted);font-size:11px}.product-vendor-toolbar .search-box{flex:0 410px;width:min(410px,100%)}.product-vendor-group+.product-vendor-group{border-top:2px solid #cddde8}.product-vendor-group>header{background:#f2faf7;border-left:4px solid #16a085;grid-template-columns:38px minmax(160px,1fr) minmax(190px,1.25fr) minmax(120px,.65fr) auto;align-items:center;gap:12px;min-width:0;padding:13px 15px;display:grid}.product-vendor-mark{color:#0d6f63;background:#d9f2e9;border-radius:7px;place-items:center;width:36px;height:36px;display:grid}.product-vendor-name,.product-vendor-contact,.product-vendor-totals{gap:3px;min-width:0;display:grid}.product-vendor-name strong{overflow-wrap:anywhere;font-size:14px}.product-vendor-name small,.product-vendor-contact span,.product-vendor-totals span,.product-vendor-totals small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.product-vendor-contact span{align-items:center;gap:5px;min-width:0;display:flex}.product-vendor-contact strong{color:var(--text);font-size:11px}.product-vendor-totals{text-align:right}.product-vendor-totals strong{font-size:13px}.product-vendor-note{color:#5f6f7c;background:#fffdf7;border-top:1px solid #e0e9ef;margin:0;padding:9px 15px;font-size:11px;line-height:1.45}.product-vendor-usage-row{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #e2e9ee;grid-template-columns:minmax(210px,1fr) minmax(220px,1.4fr) minmax(90px,auto);align-items:center;gap:14px;padding:10px 15px 10px 57px;display:grid}.product-vendor-usage-row:hover{background:#f8fbfd}.product-vendor-usage-row>span{gap:2px;min-width:0;display:grid}.product-vendor-usage-place{color:#367e94;grid-template-columns:16px minmax(0,1fr);align-items:center}.product-vendor-usage-place>span{gap:2px;min-width:0;display:grid}.product-vendor-usage-row strong{overflow-wrap:anywhere;font-size:11px}.product-vendor-usage-row small{color:var(--muted);overflow-wrap:anywhere;font-size:9px}.product-vendor-usage-row>strong{text-align:right;font-size:12px}.product-vendor-empty{min-width:0;color:var(--muted);border-top:1px solid #e2e9ee;align-items:center;gap:8px;padding:13px 15px 13px 57px;font-size:11px;display:flex}.product-vendor-empty.is-page{text-align:center;place-content:center;gap:5px;min-height:180px;padding:20px;display:grid}.product-vendor-empty.is-page strong{color:var(--text);font-size:14px}@media (width<=1000px){.product-vendor-group>header{grid-template-columns:38px minmax(150px,1fr) minmax(180px,1fr) auto}.product-vendor-totals{text-align:left;grid-area:2/2/auto/4;gap:12px;display:flex}}@media (width<=767px){.product-vendor-metrics{grid-template-columns:1fr 1fr}.product-vendor-toolbar{flex-direction:column;align-items:stretch}.product-vendor-toolbar .search-box{flex-basis:auto;width:100%}.product-vendor-group>header{grid-template-columns:38px minmax(0,1fr) auto}.product-vendor-contact{grid-column:2/-1}.product-vendor-totals{flex-wrap:wrap;grid-area:auto/2/auto/-1}.product-vendor-usage-row{grid-template-columns:minmax(0,1fr) auto;padding-left:24px}.product-vendor-usage-row>span:nth-child(2){grid-area:2/1/auto/-1}.product-vendor-empty{padding-left:24px}}@media (width<=480px){.product-vendor-metrics{grid-template-columns:1fr}}.product-file-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.product-file-scope-row{justify-content:space-between;align-items:end;gap:16px;padding:12px 0;display:flex}.product-file-scope-row label{gap:6px;width:min(360px,100%);display:grid}.product-file-scope-row label>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:850}.product-file-scope-row select{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--text);background:var(--surface-strong);font:inherit;border-radius:7px;padding:0 34px 0 11px}.product-file-scope-row>span{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:13px}.product-file-index,.homeowner-file-index{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;overflow:hidden}.product-file-toolbar,.homeowner-file-index>header{border-bottom:1px solid var(--line);background:#f8fafb;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.product-file-toolbar>div,.homeowner-file-index>header>div{gap:3px;min-width:0;display:grid}.product-file-toolbar strong,.homeowner-file-index>header strong{color:var(--text);font-size:14px}.product-file-toolbar span,.homeowner-file-index>header span{color:var(--muted);font-size:12px;line-height:1.4}.product-file-toolbar .search-box,.homeowner-file-index .search-box{flex:0 390px;width:min(390px,45%)}.product-file-table-wrap{overflow-x:auto}.product-file-table{border-collapse:collapse;width:100%;min-width:1040px}.product-file-table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;text-transform:uppercase;background:#fff;padding:9px 12px;font-size:10px;font-weight:900}.product-file-table th:last-child{width:122px}.product-file-table td{min-width:0;color:var(--text);vertical-align:middle;border-bottom:1px solid #e8edf1;padding:12px;font-size:13px}.product-file-table tbody tr:last-child td{border-bottom:0}.product-file-table tbody tr:hover td{background:#f8fbfc}.product-file-table td>strong,.product-file-table td>small,.product-file-parent-link strong,.product-file-parent-link small{text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:block;overflow:hidden}.product-file-table td>small,.product-file-parent-link small{color:var(--muted);margin-top:3px;font-size:11px}.product-file-name{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.product-file-name>svg{color:#0c7180;background:#e8f5f6;border-radius:7px;width:30px;height:30px;padding:7px}.product-file-name>span{min-width:0}.product-file-name strong,.product-file-name small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.product-file-name small{color:var(--muted);margin-top:3px;font-size:11px}.product-file-parent-link{max-width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.product-file-parent-link strong{color:#16647a;text-underline-offset:2px;text-decoration:underline}.product-file-access{align-items:center;gap:5px;min-width:0;font-size:11px;font-weight:850;line-height:1.25;display:inline-flex}.product-file-access.is-visible{color:#176846}.product-file-access.is-private{color:#76561a}.product-file-actions{justify-content:flex-end;gap:5px;display:flex}.product-file-empty{min-height:150px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:5px;padding:28px;display:grid}.product-file-empty strong{color:var(--text)}.product-file-form-current,.product-file-availability{border:1px solid var(--line);background:#f8fafb;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;display:grid}.product-file-form-current span,.product-file-availability span{gap:2px;min-width:0;display:grid}.product-file-form-current strong,.product-file-form-current small,.product-file-availability strong,.product-file-availability small{overflow-wrap:anywhere;min-width:0}.product-file-form-current small,.product-file-availability small{color:var(--muted);font-size:11px;line-height:1.35}.product-file-availability.is-visible{color:#176846;background:#f2faf6;border-color:#bedfd1}.product-file-availability.is-private{color:#76561a;background:#fffbef;border-color:#ead8ad}.product-file-picker{color:#16647a;cursor:pointer;background:#f5fafb;border:1px dashed #9bb7c2;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:82px;padding:14px;display:flex}.product-file-picker input{opacity:0;width:1px;height:1px;position:absolute}.product-file-picker span{gap:2px;display:grid}.product-file-picker small{color:var(--muted);font-size:11px}.product-file-selection{gap:6px;margin-top:8px;display:grid}.product-file-selection>span{background:#fff;border:1px solid #e1e8ed;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:7px 9px;display:grid}.product-file-selection>span strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.product-file-selection>span small{color:var(--muted);white-space:nowrap}.product-file-selection>button{color:#8c3428;cursor:pointer;font:inherit;background:0 0;border:0;justify-self:end;align-items:center;gap:5px;padding:4px;font-size:12px;font-weight:800;display:inline-flex}.product-file-form-loading{color:var(--muted);text-align:center;padding:24px}.homeowner-files-hero{align-items:center}.homeowner-file-list{display:grid}.homeowner-file-list article{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:14px 18px;display:grid}.homeowner-file-list article:last-child{border-bottom:0}.homeowner-file-icon{color:#0c7180;background:#e8f5f6;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.homeowner-file-list article>div{min-width:0}.homeowner-file-list article strong,.homeowner-file-list article span,.homeowner-file-list article small{overflow-wrap:anywhere;min-width:0;display:block}.homeowner-file-list article span,.homeowner-file-list article small{color:var(--muted);margin-top:3px;font-size:12px}@media (width<=900px){.product-file-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.product-file-toolbar,.homeowner-file-index>header{flex-direction:column;align-items:stretch}.product-file-toolbar .search-box,.homeowner-file-index .search-box{flex-basis:auto;width:100%}.product-file-table{min-width:0}.product-file-table thead{display:none}.product-file-table tbody,.product-file-table tr,.product-file-table td{width:100%;display:block}.product-file-table tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.product-file-table td{border:0;min-width:0;padding:10px 12px}.product-file-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:900;display:block}.product-file-table td:first-child,.product-file-table td:last-child{grid-column:1/-1}.product-file-actions{justify-content:flex-start;padding-top:0!important}}@media (width<=620px){.product-file-metrics{grid-template-columns:1fr}.product-file-scope-row{flex-direction:column;align-items:stretch}.product-file-table tr{grid-template-columns:1fr}.product-file-table td,.product-file-table td:first-child,.product-file-table td:last-child{grid-column:1}.homeowner-file-list article{grid-template-columns:34px minmax(0,1fr);padding:12px}.homeowner-file-list article>.button{grid-column:1/-1;justify-content:center}}.draw-page-context{background:#fff;border:1px solid #d7e4ed;border-radius:8px;grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,.65fr)) auto;align-items:end;gap:12px;margin-bottom:14px;padding:13px 15px;display:grid;box-shadow:0 8px 20px #23374b0d}.draw-page-context label,.draw-page-context>div{gap:5px;min-width:0;display:grid}.draw-page-context span,.draw-form-build span,.draw-number-field span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.draw-page-context strong,.draw-form-build strong{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px}.draw-page-context select,.draw-charge-picker select{width:100%;min-height:40px;color:var(--text);font:inherit;background:#fff;border:1px solid #cbd8e2;border-radius:7px;padding:0 34px 0 11px;font-size:13px;font-weight:700}.draw-request-list{background:#fff;border:1px solid #d6e3ec;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 12px 28px #23374b0f}.draw-list-columns,.draw-list-row{grid-template-columns:100px 120px minmax(190px,1fr) minmax(110px,135px) minmax(220px,auto);align-items:center;gap:12px;min-width:0;display:grid}.draw-list-columns{min-height:38px;color:var(--muted);text-transform:uppercase;background:#f4f8fb;border-bottom:1px solid #dce7ef;padding:0 14px;font-size:10px;font-weight:800}.draw-list-row{border-left:4px solid #3f7ee8;min-height:76px;padding:12px 14px}.draw-list-row+.draw-list-row{border-top:1px solid #e1e9ef}.draw-list-row:nth-of-type(2n){background:#fbfdff;border-left-color:#16a085}.draw-list-number,.draw-list-date,.draw-list-items{gap:3px;min-width:0;display:grid}.draw-list-number span,.draw-list-date span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800;display:none}.draw-list-number strong{color:#245b87;font-size:19px}.draw-list-date strong,.draw-list-items>span{color:var(--text);font-size:13px}.draw-list-items small{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.4}.draw-list-total{text-align:right;font-size:15px}.draw-list-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.draw-list-empty{min-height:210px}.draw-request-drawer{width:min(760px,100%)}.draw-request-form{gap:16px}.draw-form-build{background:#f1f7fe;border-left:4px solid #3f7ee8;gap:4px;padding:12px 14px;display:grid}.draw-form-build small{color:var(--muted);font-size:12px}.draw-form-heading-fields{grid-template-columns:minmax(170px,.65fr) minmax(190px,1fr);align-items:end;gap:12px;display:grid}.draw-number-field{background:#f8fbfd;border:1px solid #d9e5ee;border-radius:7px;align-content:center;gap:5px;min-height:66px;padding:10px 13px;display:grid}.draw-number-field strong{font-size:14px}.draw-charge-picker{background:#fbfdff;border-top:1px solid #d9e6ef;border-bottom:1px solid #d9e6ef;gap:10px;padding:14px;display:grid}.draw-charge-picker>div:first-child{gap:3px;display:grid}.draw-charge-picker>div:first-child>strong{font-size:14px}.draw-charge-picker>div:first-child>span{color:var(--muted);font-size:12px;line-height:1.4}.draw-charge-picker-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.draw-selected-charges{gap:10px;display:grid}.draw-charge-entry{background:#fff;border:1px solid #d6e3ec;border-left:4px solid #16a085;border-radius:7px;grid-template-columns:minmax(0,1fr) minmax(150px,.32fr);gap:11px 14px;min-width:0;padding:13px 14px;display:grid}.draw-charge-entry>header{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.draw-charge-entry>header>div,.draw-charge-entry.is-missing>div{gap:3px;min-width:0;display:grid}.draw-charge-entry>header span{color:#28738c;overflow-wrap:anywhere;font-size:10px;font-weight:800}.draw-charge-entry>header strong{overflow-wrap:anywhere;font-size:14px}.draw-charge-entry.is-missing{background:#fff8f8;border-left-color:#eb6f76;grid-template-columns:minmax(0,1fr) auto}.draw-charge-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-width:0;display:grid}.draw-charge-facts>span{min-width:0;color:var(--muted);text-transform:uppercase;background:#f7fafc;border:1px solid #e0e8ee;border-radius:6px;align-content:center;gap:4px;padding:8px 9px;font-size:9px;font-weight:800;display:grid}.draw-charge-facts strong{color:var(--text);overflow-wrap:anywhere;font-size:11px}.draw-warning{color:#925218;background:#fff8ee;border:1px solid #f0d2ae;border-radius:6px;grid-column:1/-1;align-items:flex-start;gap:7px;min-width:0;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.4;display:flex}.draw-warning svg{flex:none;margin-top:1px}.draw-form-empty{color:var(--muted);text-align:center;background:#fafcfd;border:1px dashed #cbd9e3;border-radius:7px;padding:24px 14px;font-size:13px}.draw-running-total{color:#183446;background:#f1f7fb;border-top:2px solid #c9dce9;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.draw-running-total span{text-transform:uppercase;font-size:12px;font-weight:800}.draw-running-total strong{font-size:21px}.draw-print-page{background:#eaf0f4;min-height:100dvh;padding:24px}.draw-print-toolbar{justify-content:space-between;align-items:center;gap:12px;width:min(8.5in,100%);margin:0 auto 16px;display:flex}.draw-print-toolbar>div,.draw-print-error>div{flex-wrap:wrap;gap:8px;display:flex}.draw-print-error{color:#7f353c;background:#fff;border:1px solid #efc7c9;border-radius:8px;gap:10px;width:min(720px,100%);margin:40px auto;padding:20px;display:grid;box-shadow:0 14px 34px #23374b1a}.draw-print-error ul{margin:0;padding-left:20px}.draw-document{color:#18222b;background:#fff;width:min(8.5in,100%);min-height:11in;margin:0 auto;padding:.5in;box-shadow:0 16px 44px #23374b2e}.draw-document-header{border-bottom:2px solid #23394a;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;padding-bottom:18px;display:grid}.draw-document-header>strong{overflow-wrap:anywhere;max-width:4.6in;font-size:18px}.draw-document-header>div{text-align:right;gap:4px;display:grid}.draw-document-header h1{letter-spacing:0;margin:0;font-size:25px}.draw-document-header span{font-size:11px}.draw-document-information{grid-template-columns:1fr 1fr;gap:24px;padding:22px 0;display:grid}.draw-document-information>div{gap:6px;min-width:0;display:grid}.draw-document-information span{color:#5b6d79;text-transform:uppercase;font-size:10px;font-weight:800}.draw-document-information strong{overflow-wrap:anywhere;font-size:13px}.draw-document table{border-collapse:collapse;table-layout:fixed;width:100%}.draw-document th,.draw-document td{overflow-wrap:anywhere;border:1px solid #cbd4db;padding:9px 10px;font-size:12px}.draw-document thead th{color:#fff;text-align:left;background:#29485f}.draw-document thead th:last-child,.draw-document tbody td:last-child,.draw-document tfoot td{text-align:right;width:1.6in}.draw-document tbody tr:nth-child(2n){background:#f4f7f9}.draw-document tfoot th,.draw-document tfoot td{border-top:2px solid #29485f;font-size:14px}.draw-document tfoot th{text-align:right}.draw-document footer{text-align:center;border-top:1px solid #cbd4db;gap:5px;margin-top:34px;padding-top:14px;font-size:11px;display:grid}.product-charge-draws{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.product-charge-draws button{color:#245b87;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:800;text-decoration:underline}.product-charge-row .draw-action{color:#245b87;background:#edf6ff;border-color:#bfd5e7}@media (width<=1100px){.draw-list-columns{display:none}.draw-list-row{grid-template-columns:95px 120px minmax(0,1fr) 120px}.draw-list-number span,.draw-list-date span{display:block}.draw-list-actions{grid-column:1/-1;justify-content:flex-start;padding-top:4px}}@media (width<=900px){.draw-page-context{grid-template-columns:repeat(2,minmax(0,1fr))}.draw-page-context label{grid-column:1/-1}.draw-list-row{grid-template-columns:90px minmax(105px,.45fr) minmax(0,1fr) 115px}.draw-charge-entry{grid-template-columns:1fr}.draw-charge-facts,.draw-charge-entry>header,.draw-warning{grid-column:1}.draw-charge-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.draw-page-context,.draw-form-heading-fields,.draw-charge-picker-controls,.draw-list-row,.draw-document-header,.draw-document-information{grid-template-columns:1fr}.draw-page-context label,.draw-list-actions{grid-column:1}.draw-list-row{gap:8px;padding:13px}.draw-list-date,.draw-list-total{text-align:left}.draw-list-items{border-top:1px solid #e1e9ef;border-bottom:1px solid #e1e9ef;padding:8px 0}.draw-list-actions{flex-wrap:wrap}.draw-request-drawer{width:100%}.draw-charge-facts{grid-template-columns:1fr 1fr}.draw-print-page{padding:12px}.draw-print-toolbar{flex-direction:column;align-items:stretch}.draw-print-toolbar>div{grid-template-columns:1fr 1fr;display:grid}.draw-document{min-height:0;padding:24px 18px}.draw-document-header>div{text-align:left}.draw-document thead th:last-child,.draw-document tbody td:last-child,.draw-document tfoot td{width:1.25in}}@media (width<=430px){.draw-charge-facts{grid-template-columns:1fr}}@media print{@page{size:letter;margin:0}body{background:#fff!important}.draw-print-page{background:#fff;min-height:0;padding:0}.draw-print-toolbar,.draw-print-error{display:none!important}.draw-document{width:8.5in;min-height:11in;box-shadow:none;margin:0;padding:.5in}.draw-document thead{display:table-header-group}.draw-document tfoot{display:table-row-group}.draw-document tr,.draw-document footer{break-inside:avoid}}.overage-page-context{background:#fff;border:1px solid #d7e4ed;border-radius:8px;grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(135px,.65fr)) auto;align-items:end;gap:12px;margin-bottom:14px;padding:13px 15px;display:grid;box-shadow:0 8px 20px #23374b0d}.overage-page-context label,.overage-page-context>div{gap:5px;min-width:0;display:grid}.overage-page-context span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.overage-page-context strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.overage-page-context select{width:100%;min-height:40px;color:var(--text);font:inherit;background:#fff;border:1px solid #cbd8e2;border-radius:7px;padding:0 34px 0 11px;font-size:13px;font-weight:700}.overage-invoice-list{background:#fff;border:1px solid #d6e3ec;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 12px 28px #23374b0f}.overage-list-columns,.overage-list-row{grid-template-columns:minmax(210px,1.4fr) 100px minmax(180px,.75fr) minmax(145px,.55fr) minmax(300px,auto);align-items:center;gap:12px;min-width:0;display:grid}.overage-list-columns{min-height:38px;color:var(--muted);text-transform:uppercase;background:#f4f8fb;border-bottom:1px solid #dce7ef;padding:0 14px;font-size:10px;font-weight:800}.overage-list-row{border-left:4px solid #e0a432;padding:13px 14px}.overage-list-row+.overage-list-row{border-top:1px solid #e1e9ef}.overage-list-row:nth-of-type(2n){background:#fbfdff}.overage-list-row.needs-attention{background:snow;border-left-color:#cf5964}.overage-list-charge,.overage-list-date,.overage-list-split,.overage-list-state{gap:4px;min-width:0;display:grid}.overage-list-charge small{color:#2c748b;overflow-wrap:anywhere;font-size:10px;font-weight:800}.overage-list-charge strong{overflow-wrap:anywhere;font-size:14px}.overage-list-charge>span,.overage-list-state>small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.35}.overage-list-date>span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800;display:none}.overage-list-date strong,.overage-list-split strong{font-size:12px}.overage-list-split>span{color:var(--muted);justify-content:space-between;gap:8px;font-size:11px;display:flex}.overage-state{overflow-wrap:anywhere;border:1px solid #0000;border-radius:6px;width:fit-content;max-width:100%;padding:4px 7px;font-size:10px;font-weight:800;line-height:1.3}.overage-state.is-outstanding{color:#86530c;background:#fff8e8;border-color:#efd194}.overage-state.is-paid{color:#126751;background:#eef9f5;border-color:#b9dfd1}.overage-state.is-builder-covered{color:#345d7b;background:#f0f6fa;border-color:#c5d7e6}.overage-list-state .overage-reconcile{color:#a4424a;align-items:center;gap:4px;font-weight:800;display:flex}.overage-list-actions{justify-content:flex-end;align-items:center;gap:5px;min-width:0;display:flex}.overage-list-actions .payment-action{color:#126751;background:#eef9f5;border-color:#b9dfd1}.overage-reconciliation{color:#8b3941;background:#fff4f5;border:1px solid #efc7c9;border-radius:6px;grid-column:1/-1;gap:3px;padding:9px 11px;font-size:11px;display:grid}.overage-list-empty{min-height:210px}.overage-invoice-drawer{width:min(780px,100%)}.overage-invoice-form{gap:15px}.overage-charge-context{background:#f4f8fc;border-left:4px solid #3f7ee8;gap:11px;padding:13px;display:grid}.overage-charge-context header{align-items:flex-start;gap:9px;display:flex}.overage-charge-context header>span{color:#27699d;background:#dcecf8;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.overage-charge-context header>div{gap:3px;min-width:0;display:grid}.overage-charge-context header small{color:#2c748b;overflow-wrap:anywhere;font-size:10px;font-weight:800}.overage-charge-context header strong{overflow-wrap:anywhere;font-size:14px}.overage-context-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.overage-context-facts>span{min-width:0;color:var(--muted);text-transform:uppercase;background:#fff;border:1px solid #dce7ee;border-radius:6px;gap:4px;padding:8px 9px;font-size:9px;font-weight:800;display:grid}.overage-context-facts strong{color:var(--text);overflow-wrap:anywhere;font-size:12px}.overage-form-empty{color:var(--muted);text-align:center;background:#fafcfd;border:1px dashed #cbd9e3;border-radius:7px;padding:20px 14px;font-size:13px}.overage-amount-fields{grid-template-columns:1fr 1fr;gap:11px;display:grid}.overage-profit-preview{background:#d7e3eb;border:1px solid #d7e3eb;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.overage-profit-preview>div{background:#f7fafc;gap:4px;min-width:0;padding:10px 11px;display:grid}.overage-profit-preview span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.overage-profit-preview strong{overflow-wrap:anywhere;font-size:13px}.overage-profit-preview .is-negative{color:#9b3f47;background:#fff1f2}.overage-warning{color:#8a5615;background:#fff8ed;border:1px solid #efd3a8;border-radius:6px;align-items:flex-start;gap:7px;padding:9px 10px;font-size:12px;font-weight:700;line-height:1.4;display:flex}.overage-warning svg{flex:none;margin-top:1px}.product-charge-overage{margin-top:3px;display:flex}.product-charge-overage button{color:#86530c;cursor:pointer;background:#fff8e8;border:1px solid #efd194;border-radius:5px;align-items:center;gap:4px;padding:2px 5px;font-size:10px;font-weight:800;display:inline-flex}.product-charge-row .overage-action{color:#86530c;background:#fff8e8;border-color:#efd194}.overage-print-page{background:#eaf0f4;min-height:100dvh;padding:24px}.overage-print-toolbar{justify-content:space-between;align-items:center;gap:12px;width:min(8.5in,100%);margin:0 auto 16px;display:flex}.overage-print-toolbar>div{gap:8px;display:flex}.overage-print-error{color:#7f353c;background:#fff;border:1px solid #efc7c9;border-radius:8px;gap:10px;width:min(720px,100%);margin:40px auto;padding:20px;display:grid;box-shadow:0 14px 34px #23374b1a}.overage-document{color:#18222b;background:#fff;width:min(8.5in,100%);min-height:11in;margin:0 auto;padding:.5in;box-shadow:0 16px 44px #23374b2e}.overage-document-header{border-bottom:2px solid #23394a;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding-bottom:18px;display:grid}.overage-document-header>div{gap:4px;min-width:0;display:grid}.overage-document-header>div:last-child{text-align:right}.overage-document-header h1{letter-spacing:0;margin:0;font-size:25px}.overage-document-header span{color:#536673;overflow-wrap:anywhere;font-size:11px}.overage-document-scope{padding:22px 0 16px}.overage-document-scope>span,.overage-document-note>span{color:#536673;text-transform:uppercase;font-size:10px;font-weight:800}.overage-document-scope h2{letter-spacing:0;margin:5px 0;font-size:18px}.overage-document-scope p,.overage-document-note p{margin:5px 0 0;font-size:12px;line-height:1.5}.overage-document table{border-collapse:collapse;table-layout:fixed;width:100%}.overage-document th,.overage-document td{border:1px solid #cbd4db;padding:10px;font-size:12px}.overage-document thead th{color:#fff;text-align:left;background:#29485f}.overage-document th:last-child,.overage-document td:last-child{text-align:right;width:1.8in}.overage-document tbody tr:nth-child(2n){background:#f4f7f9}.overage-document tfoot th,.overage-document tfoot td{border-top:2px solid #29485f;font-size:14px}.overage-document-note{background:#fff9ec;border-left:3px solid #d5a13b;margin-top:22px;padding:12px}.overage-document footer{border-top:1px solid #cbd4db;justify-content:space-between;gap:16px;margin-top:32px;padding-top:12px;font-size:11px;display:flex}@media (width<=1220px){.overage-list-columns{display:none}.overage-list-row{grid-template-columns:minmax(210px,1fr) 100px minmax(160px,.7fr) minmax(140px,.55fr)}.overage-list-date>span{display:block}.overage-list-actions{grid-column:1/-1;justify-content:flex-start;padding-top:4px}}@media (width<=950px){.overage-page-context{grid-template-columns:repeat(2,minmax(0,1fr))}.overage-page-context label{grid-column:1/-1}.overage-list-row{grid-template-columns:minmax(200px,1fr) 100px minmax(170px,.7fr)}.overage-list-state{flex-wrap:wrap;grid-column:1/-1;align-items:center;display:flex}}@media (width<=700px){.overage-page-context,.overage-list-row,.overage-context-facts,.overage-amount-fields,.overage-profit-preview,.overage-document-header{grid-template-columns:1fr}.overage-page-context label,.overage-list-state,.overage-list-actions,.overage-reconciliation{grid-column:1}.overage-list-row{gap:8px}.overage-list-date,.overage-list-split,.overage-list-state{border-top:1px solid #e1e9ef;padding-top:8px}.overage-list-actions{flex-wrap:wrap}.overage-invoice-drawer{width:100%}.overage-print-page{padding:12px}.overage-print-toolbar{flex-direction:column;align-items:stretch}.overage-print-toolbar>div{grid-template-columns:1fr 1fr;display:grid}.overage-document{min-height:0;padding:24px 18px}.overage-document-header>div:last-child{text-align:left}.overage-document footer{flex-direction:column}}@media print{@page{size:letter;margin:0}.overage-print-page{background:#fff;min-height:0;padding:0}.overage-print-toolbar,.overage-print-error{display:none!important}.overage-document{width:8.5in;min-height:11in;box-shadow:none;margin:0;padding:.5in}.overage-document tr,.overage-document footer,.overage-document-note{break-inside:avoid}}.dashboard-sections{gap:22px;margin-top:22px;display:grid}.dashboard-section{border-top:1px solid var(--border);min-width:0;padding:20px 0 0}.dashboard-builds-section{border-top:0;padding-top:0}.dashboard-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.dashboard-record-list{border-top:1px solid var(--border);display:grid}.dashboard-record-list>button,.dashboard-empty-row{border:0;border-bottom:1px solid var(--border);width:100%;min-width:0;min-height:66px;color:var(--text);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 4px;display:grid}.dashboard-record-list>button{cursor:pointer}.dashboard-record-list>button:hover{background:#f5f9f7}.dashboard-record-icon{color:#17624b;background:#dff3e9;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.dashboard-record-list span{min-width:0}.dashboard-record-list strong,.dashboard-record-list small{overflow-wrap:anywhere;display:block}.dashboard-record-list small{color:var(--muted);margin-top:3px}.dashboard-record-value{text-align:right}.dashboard-empty-row{color:var(--muted);grid-template-columns:auto minmax(0,1fr)}@media (width<=980px){.dashboard-secondary-grid{grid-template-columns:1fr}}@media (width<=620px){.dashboard-record-list>button{grid-template-columns:auto minmax(0,1fr)}.dashboard-record-value{text-align:left;grid-column:2}}
