: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}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;display:flex}.brand-icon{color:#fff;background:var(--green);border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand strong{color:var(--text);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}.estimate-workspace,.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}.approval-box{justify-items:end;gap:12px;display:grid}.approval-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.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}.approval-note{color:var(--green);background:var(--good-bg);border:1px solid #cce4d9;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.approval-note p{color:var(--text);margin:0;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%}.approval-box{justify-items:start}.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,.approval-actions{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,.estimate-workspace,.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}.estimate-workspace,.client-estimate,.detail-panel,.page-panel{border-color:#d9dfda}.estimate-workspace,.client-estimate{background:#fff}.estimate-detail-panel,.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) auto;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-end;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}.message-workspace{grid-template-columns:minmax(320px,.42fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.message-thread-list,.message-conversation{overflow:hidden}.message-thread-list .section-toolbar{flex-direction:column;align-items:flex-start}.message-thread-list .search-box{width:100%}.message-thread-scroll{gap:0;display:grid}.message-thread-card{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;gap:10px;padding:15px 16px;display:grid}.message-thread-card:last-child{border-bottom:0}.message-thread-card:hover,.message-thread-card.active{background:#f3f8f5}.message-thread-card strong,.message-thread-card small{display:block}.message-thread-card strong{color:var(--text);margin-top:0;line-height:1.25}.message-thread-card small,.message-thread-card p{color:var(--muted)}.message-thread-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.message-conversation-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:18px 20px;display:flex}.message-conversation-header h2{margin:0;font-size:20px}.message-conversation-header span:not(.status-pill){color:var(--muted);margin-top:7px;display:block}.message-list{background:#fbfcfb;gap:12px;padding:18px 20px;display:grid}.message-bubble{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;width:min(680px,92%);padding:13px 14px;display:grid}.message-bubble.is-own{background:var(--good-bg);border-color:#b8d9ca;justify-self:end}.message-bubble>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.message-bubble strong{color:var(--text)}.message-bubble span,.message-bubble time{color:var(--muted);font-size:12px;font-weight:700}.message-bubble p{color:var(--text);margin:0;line-height:1.5}.message-reply-form{border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px 20px;display:grid}.message-reply-form textarea{resize:vertical;min-height:46px;padding:11px 12px}.message-reply-actions{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:6px;display:flex}.message-reply-actions .field-error{text-align:right;max-width:220px}.message-reply-form .button:disabled{opacity:.55;cursor:not-allowed}.message-empty{text-align:center;place-items:center;min-height:320px}@media (width<=1240px){.estimate-editor-grid,.client-estimate-grid{grid-template-columns:1fr}.estimate-detail-panel,.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}.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}.message-workspace,.message-conversation-header,.message-reply-form{grid-template-columns:1fr}.message-reply-actions{align-items:stretch}.message-reply-actions .field-error{text-align:left;max-width:none}.message-conversation-header{flex-direction:column}.form-actions{background:#fff;padding-top:4px;position:static}}.estimate-workspace,.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)}.category-section{border-bottom:1px solid var(--line);background:#fff}.category-section:last-child{border-bottom:0}.category-heading{background:linear-gradient(90deg,#eef8ff 0%,#fff 44% 100%);border-top:1px solid #d7e7f1;justify-content:space-between;gap:16px;padding:16px 20px 12px}.category-heading h3{margin:0;font-size:17px}.category-heading span{color:var(--muted);font-weight:700}.table-wrap{scrollbar-width:thin;width:100%;overflow-x:auto}.estimate-table{border-collapse:collapse;width:100%;font-size:13px}.line-table{min-width:1080px}.estimate-table th{color:#5f7488;letter-spacing:0;text-align:left;text-transform:uppercase;white-space:nowrap;background:#eef5fa;border-top:0;border-bottom:1px solid #d4e3ee;padding:8px 12px;font-size:10.5px;font-weight:800}.estimate-table td{color:#273949;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e4edf4;padding:11px 12px}.estimate-table td:first-child{white-space:normal;min-width:220px}.line-table td:first-child{min-width:300px}.estimate-table tr{cursor:pointer}.estimate-table tr:hover td,.estimate-table tr.selected td{background:#f0f8fb}.estimate-table td strong{margin-bottom:4px;display:block}.estimate-table td span:not(.status-pill){color:var(--muted);font-size:12px}.estimate-table tfoot td{border-top:1px solid var(--line-strong);color:var(--text);background:#f7faf7;border-bottom:0;font-weight:800}.cost-cell{gap:3px;min-width:96px;display:grid}.cost-cell strong{margin:0!important}.cost-cell span{align-items:center;gap:4px;display:inline-flex}.cost-cell em{color:var(--warn);font-size:12px;font-style:normal;font-weight:700}.parent-row td{color:#1f3140;background:#fff;border-top:1px solid #d9e7f2;font-weight:760}.sub-row td{color:#5d7284;background:#f8fbff;padding-top:10px;padding-bottom:10px;font-size:13px;font-weight:650}.sub-row td:first-child{padding-left:64px;box-shadow:inset 4px 0 #9ed1ef}.line-item-title{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;display:grid}.line-item-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex!important}.line-item-meta span:not(.status-pill){color:var(--muted)!important;font-size:12px!important}.expand-button{border:1px solid var(--line);width:24px;height:24px;color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;place-items:center;display:grid}.expand-button:hover{color:var(--green);border-color:var(--line-strong);background:var(--good-bg)}.subline-title{gap:3px;display:grid}.subline-title span{background:var(--blue-soft);text-transform:uppercase;border:1px solid #b9d9ff;border-radius:999px;width:fit-content;padding:2px 7px;font-weight:800;color:#256fc5!important;font-size:11px!important}.subline-title strong{color:var(--text);font-size:13px;margin:0!important}.subline-title small{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.file-count{align-items:center;gap:6px;display:inline-flex}.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,.estimate-workspace,.client-estimate,.detail-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,.estimate-workspace,.client-estimate,.detail-panel{border-color:#d8e6ef;box-shadow:0 12px 30px #23374b12}.section-toolbar,.panel-title-row,.client-build-group-header,.message-conversation-header,.drawer-heading{background:#fff;border-color:#d8e0e8}.section-toolbar h2,.panel-title-row h2,.message-conversation-header h2{font-size:19px;font-weight:800}.message-thread-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.message-thread-controls .small-action{min-height:30px}.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}.approval-summary-panel{background:#fff;border:1px solid #d8e0e8;border-radius:8px;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);align-items:stretch;gap:12px;min-width:0;margin:0 0 18px;padding:14px;display:grid;box-shadow:0 8px 24px #1f29330b}.approval-summary-heading{align-content:center;gap:4px;min-width:0;display:grid}.approval-summary-heading h2{color:var(--text);margin:0;font-size:18px;line-height:1.2}.approval-summary-heading span{color:var(--muted);font-size:12px;font-weight:700}.approval-filter-grid{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:8px;min-width:0;display:grid}.approval-filter-button{min-width:0;min-height:62px;color:var(--text);text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #d8e0e8;border-radius:7px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;display:grid}.approval-filter-button:hover{background:#fff;border-color:#b8c5d1}.approval-filter-button.is-active{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green);border-color:#9bcbbb}.approval-filter-icon{width:32px;height:32px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.approval-filter-button.is-active .approval-filter-icon{color:var(--green-strong);background:#fff}.approval-filter-button strong,.approval-filter-button small{display:block}.approval-filter-button strong{color:var(--text);font-size:18px;line-height:1}.approval-filter-button small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-transform:uppercase;margin-top:5px;font-size:11px;font-weight:800;overflow:hidden}.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}.approval-box{background:#f8fafc;border:1px solid #d8e0e8;border-radius:8px;justify-items:stretch;min-width:min(460px,100%);padding:12px}.approval-box>.status-pill{justify-self:end}.approval-actions{justify-content:flex-end}.message-bubble{border-color:#d8e0e8}.message-bubble.is-own{background:var(--green-soft);border-color:#a9d3c6}.message-scope-panel{margin-bottom:16px}.admin-message-metrics{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.admin-message-notice,.admin-message-context-notice{align-items:center}.message-scope-panel{overflow:visible}.message-scope-panel .section-toolbar{align-items:center;gap:16px}.message-scope-panel .ledger-controls{grid-template-columns:minmax(260px,1fr);min-width:min(420px,100%);display:grid}.message-scope-panel .ledger-scope-field{min-width:0}.message-workspace{gap:16px}.message-thread-list,.message-conversation{border-color:#d8e0e8;box-shadow:0 12px 28px #1f29330d}.message-thread-card{min-width:0}.message-thread-card strong,.message-thread-card small,.message-thread-card p{overflow-wrap:anywhere}.message-empty .button{justify-self:center;width:fit-content;margin-top:8px}.section-subtext{color:#667382;margin-top:5px;font-size:13px;font-weight:700;display:block}.client-overview-side{gap:18px;display:grid}.message-alert-panel{overflow:hidden}.message-alert-panel .panel-title-row{align-items:center}.message-alert-list{gap:0;display:grid}.message-alert-item{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e8eef3;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 16px;display:grid}.message-alert-item:last-child{border-bottom:0}.message-alert-item:hover{background:#f7fbf9}.message-alert-icon{width:34px;height:34px;color:var(--blue);background:#eff7fb;border-radius:8px;place-items:center;display:grid}.message-alert-copy{justify-items:start;gap:6px;min-width:0;display:grid}.message-alert-copy strong,.message-alert-copy small,.message-alert-copy p{overflow-wrap:anywhere;max-width:100%}.message-alert-copy strong{color:var(--text);line-height:1.25}.message-alert-copy small,.message-alert-copy p,.message-alert-item time{color:var(--muted)}.message-alert-copy small{font-size:12px;font-weight:800;line-height:1.35}.message-alert-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.message-alert-item time{white-space:nowrap;font-size:12px;font-weight:800}.client-approval-activity{overflow:hidden}.client-approval-activity-list{display:grid}.client-approval-activity-item{background:#fff;border-bottom:1px solid #e8eef3;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:14px 16px;display:grid}.client-approval-activity-item:last-child{border-bottom:0}.client-approval-activity-copy{justify-items:start;gap:6px;min-width:0;display:grid}.client-approval-activity-copy strong,.client-approval-activity-copy small,.client-approval-activity-copy p{overflow-wrap:anywhere;max-width:100%}.client-approval-activity-copy strong{color:var(--text);line-height:1.25}.client-approval-activity-copy small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.client-approval-activity-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.client-approval-activity-actions{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.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-workspace,.client-estimate,.detail-panel,.page-panel{box-shadow:0 12px 28px #23374b0f}.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{align-items:center}.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}.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}.approval-filter-button{box-shadow:inset 0 1px #fffc}.approval-filter-button strong{font-variant-numeric:tabular-nums}.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{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:800;overflow:hidden}.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-metrics{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}.admin-build-registry{overflow:visible}.build-registry-toolbar{align-items:center;gap:16px}.build-registry-actions{grid-template-columns:minmax(260px,360px) auto;align-items:center;display:grid}.build-registry-actions .search-box{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-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{justify-content:space-between;align-items:center;gap:10px;display:flex}.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<=1180px){.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}.message-context-notice{color:#285c7a;background:#f1f8fc;border-color:#c8dce9}.message-context-notice .small-action{color:#285c7a;background:#fff;border-color:#b7d4e4;width:auto;min-width:max-content}.message-thread-card.active{box-shadow:inset 3px 0 0 var(--green)}.message-thread-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.message-thread-top time{color:#718091;white-space:nowrap;font-size:12px;font-weight:800}.message-conversation-header{background:#fbfcfd}@media (width<=900px){.build-registry-actions{grid-template-columns:minmax(0,1fr) auto;width:100%}.message-scope-panel .section-toolbar{align-items:flex-start}.message-scope-panel .ledger-controls{grid-template-columns:1fr;width:100%}}@media (width<=620px){.section-toolbar,.client-hero,.approval-summary-panel{flex-direction:column;align-items:flex-start}.approval-summary-panel{grid-template-columns:1fr;display:grid}.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,.approval-actions{width:100%}.approval-box>.status-pill{justify-self:start}.approval-actions{justify-content:flex-start}.toolbar-actions .button,.approval-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}.message-thread-controls{justify-content:flex-start;width:100%}.message-alert-item{grid-template-columns:34px minmax(0,1fr)}.message-alert-item time{grid-column:2;justify-self:start}.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.is-approved td:first-child{box-shadow:inset 4px 0 0 var(--green), 1px 0 0 #e4ebf1}.admin-table .parent-row.is-awaiting td:first-child{box-shadow:inset 4px 0 0 var(--brass), 1px 0 0 #e4ebf1}.admin-table .parent-row.is-awaiting td{background:#fffdf7}.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-operations-metrics{grid-template-columns:1fr}}.file-list button{cursor:pointer;border:0}.file-list{gap:8px;display:grid}.file-list button{min-width:0;min-height:40px;color:var(--text);background:var(--surface-strong);border:1px solid var(--line);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.file-list button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-list button{border-radius:6px;min-height:36px}.file-list-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.file-list-row>button:first-child{min-width:0}.file-remove-button{width:38px;color:#8c3428!important;background:#fff5f1!important;border-color:#e7c6bd!important;justify-content:center!important;min-width:38px!important;padding:0!important}.document-table{min-width:1040px}.document-table td:first-child{min-width:260px}.document-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.document-detail-shell{gap:16px;padding:18px 20px 22px;display:grid}.document-detail-hero{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.document-detail-hero strong,.document-detail-hero span:not(.status-pill){text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.document-detail-hero strong{color:var(--text);font-size:14px}.document-detail-hero span:not(.status-pill){color:var(--muted);margin-top:3px;font-size:12px;font-weight:750}.document-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.document-detail-actions .button{justify-content:center}.document-detail-groups{gap:12px;display:grid}.document-detail-group{gap:8px;display:grid}.document-detail-group h3{color:var(--text);margin:0;font-size:13px}.document-detail-list{border:1px solid var(--line);border-radius:8px;gap:0;padding:0;display:grid;overflow:hidden}.document-detail-group .detail-row{border-bottom:1px solid #e7edf2;padding:9px 10px}.document-detail-group .detail-row:last-child{border-bottom:0}.admin-document-table td:last-child{min-width:230px}.document-table td small{color:var(--muted);margin-top:3px;display:block}.client-document-list{gap:0;display:grid}.client-document-card{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;display:grid}.client-document-card.document-row-target{box-shadow:inset 3px 0 0 var(--blue);background:#f1f8fc}.client-document-card:last-child{border-bottom:0}.client-document-card strong,.client-document-card span,.client-document-card small{display:block}.client-document-card strong{color:var(--text)}.client-document-card span,.client-document-card small{color:var(--muted);margin-top:4px}.client-document-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.client-document-note{border:1px solid var(--line);background:#fff;border-radius:6px;margin-top:16px}.document-row-target td{background:#fff8ef!important}.document-row-target td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.document-review-summary{background:#f8fafc;border:1px solid #dce5ed;border-radius:8px;gap:10px;padding:12px;display:grid}.document-review-summary.is-good{background:#f7fbf8;border-color:#cfe4db}.document-review-summary.is-warn{background:#fff9f3;border-color:#f0d1bd}.document-review-summary>div:first-child{gap:3px;display:grid}.document-review-summary small,.document-review-summary-card small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900;line-height:1.1}.document-review-summary strong,.document-review-summary span,.document-review-summary-card strong,.document-review-summary-card em{overflow-wrap:anywhere;min-width:0}.document-review-summary>div:first-child strong{color:var(--text);font-weight:900;line-height:1.2}.document-review-summary>div:first-child span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.document-review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.document-review-summary-card{background:#fff;border:1px solid #e1e9ef;border-radius:7px;gap:3px;min-width:0;padding:9px;display:grid}.document-review-summary-card strong{color:var(--text);font-size:13px;font-weight:900;line-height:1.15}.document-review-summary-card em{color:var(--muted);font-size:11px;font-style:normal;font-weight:700;line-height:1.25}.document-review-summary-card.is-good{background:#f7fbf8;border-color:#cfe4db}.document-review-summary-card.is-warn{background:#fff9f3;border-color:#f0d1bd}.document-review-summary-card.is-muted{background:#fbfcfd;border-color:#e0e8ee}.file-list button,.file-list-row>button:first-child{background:#fff;border-color:#d8e0e8}.file-list-row{grid-template-columns:minmax(0,1fr) auto auto}.file-list-primary{min-width:0;background:#fbfdfc!important}.file-edit-button,.file-remove-button{width:38px;justify-content:center!important;min-width:38px!important;padding:0!important}.file-edit-button{color:var(--green)!important;background:#f4faf7!important;border-color:#cfe2d8!important}.document-filter-bar{background:#fbfcfd;border-bottom:1px solid #d8e0e8;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;padding:12px 16px;display:grid}.admin-document-metrics{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))}.admin-document-ledger{overflow:visible}.document-ledger-toolbar{align-items:flex-end;gap:16px}.document-ledger-controls{grid-template-columns:minmax(220px,1.25fr) minmax(140px,.8fr) minmax(150px,.8fr) minmax(220px,1fr) auto;min-width:min(720px,100%);display:grid}.document-ledger-controls .search-box{min-width:0}.document-ledger-controls .button{min-height:42px}.document-status-filter-bar{background:#f8fbfa}.document-status-filter-bar .registry-filter-button{background:#fff;border-color:#d8e4df;min-height:58px}.document-status-filter-bar .registry-filter-button.is-active{background:#eaf6f1;border-color:#9bcbbb}.admin-document-table th:last-child,.admin-document-table td:last-child{z-index:2;background:#fff;min-width:188px;position:sticky;right:0;box-shadow:-1px 0 #e3eaf0}.admin-document-table th:last-child{z-index:4;background:#f4f7fa}.admin-document-table tr:hover td:last-child{background:#f7fbf9}.admin-document-table.document-table .document-actions{grid-template-columns:repeat(2,minmax(74px,1fr));justify-content:stretch;display:grid}.admin-document-table.document-table .document-actions .small-action{justify-content:center;min-width:0;padding:0 8px}.document-meta-stack{justify-items:start;gap:4px;display:grid}.document-meta-stack strong,.document-meta-stack span,.document-meta-stack small{overflow-wrap:anywhere;max-width:100%}.document-meta-stack small{color:var(--muted);font-size:12px;font-weight:750}.client-shared-documents{overflow:hidden}.client-document-alert-list{display:grid}.client-document-alert-item{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e8eef3;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.client-document-alert-item:last-child{border-bottom:0}.client-document-alert-item:hover{background:#f7fbf9}.client-document-alert-copy{justify-items:start;gap:6px;min-width:0;display:grid}.client-document-alert-copy strong,.client-document-alert-copy small{overflow-wrap:anywhere;max-width:100%}.client-document-alert-copy strong{color:var(--text);line-height:1.25}.client-document-alert-copy small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.35}.client-shared-documents .panel-footer-action{background:#fbfcfd;border-top:1px solid #e8eef3;justify-content:flex-end;padding:12px 16px;display:flex}@media (width<=900px){.document-ledger-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.document-ledger-controls .document-scope-field,.document-ledger-controls .search-box,.document-ledger-controls .button{grid-column:1/-1}}@media (width<=620px){.document-ledger-controls{grid-template-columns:1fr}.document-actions{justify-content:flex-start}.document-detail-actions{grid-template-columns:1fr}.document-detail-hero{grid-template-columns:auto minmax(0,1fr)}.document-detail-hero .status-pill{grid-column:1/-1;justify-self:start}.client-document-card{grid-template-columns:34px minmax(0,1fr)}.client-document-actions{grid-column:2;justify-content:flex-start;justify-self:start}}@media (width<=760px){.document-review-summary-grid{grid-template-columns:1fr}}.vendor-list{gap:12px;padding:12px;display:grid}.vendor-card{background:#fff;border:1px solid #d8e0e8;border-radius:8px;overflow:hidden}.vendor-card-header{background:#fff;border-bottom:1px solid #d8e0e8;justify-content:space-between;align-items:flex-start;gap:18px;padding:15px 18px;display:flex}.vendor-card-header-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.vendor-card h3{color:var(--text);margin:8px 0 4px;font-size:18px}.vendor-card p{color:var(--muted);margin:0}.vendor-card-totals{text-align:right;white-space:nowrap;justify-items:end;gap:5px;min-width:0;display:grid}.vendor-card-totals span{color:var(--muted)}.vendor-card-totals strong{font-size:18px}.vendor-stats{border-bottom:1px solid var(--line);background:#fbfcfd;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px 18px;display:grid}.vendor-stats .detail-row{gap:5px;padding:0;display:grid}.vendor-stats .detail-row strong{text-align:left}.vendor-table-wrap{border-top:0}.vendor-table{min-width:1040px}.vendor-table td:first-child,.vendor-table td:nth-child(2){min-width:180px}.vendor-ledger-table th:last-child,.vendor-ledger-table td:last-child{text-align:right;width:96px}.vendor-ledger-table td:last-child .small-action{justify-content:center}.vendor-entry-context{border:1px solid var(--line);background:#fbfcfb;border-radius:6px;gap:2px;padding:12px;display:grid}.vendor-entry-context .detail-row{padding:4px 0}.vendor-filter-bar{background:#fbfcfd;border-bottom:1px solid #d8e0e8;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:8px;padding:12px 16px;display:grid}.admin-vendor-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.admin-vendor-ledger{overflow:visible}.vendor-ledger-toolbar{align-items:flex-end;gap:16px}.vendor-ledger-controls{grid-template-columns:minmax(220px,1.15fr) minmax(150px,.75fr) minmax(220px,1fr);min-width:min(660px,100%);display:grid}.vendor-ledger-controls .search-box{min-width:0}.vendor-payment-filter-bar{background:#f8fbfa;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.vendor-payment-filter-bar .registry-filter-button{background:#fff;border-color:#d8e4df;min-height:58px}.vendor-payment-filter-bar .registry-filter-button.is-active{background:#eaf6f1;border-color:#9bcbbb}@media (width<=900px){.vendor-card-totals{text-align:left;justify-items:start}.vendor-card-header{flex-direction:column}.vendor-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vendor-ledger-controls{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.vendor-ledger-controls .vendor-scope-field,.vendor-ledger-controls .search-box{grid-column:1/-1}}@media (width<=620px){.vendor-stats,.vendor-ledger-controls{grid-template-columns:1fr}.vendor-card-header-actions{justify-content:space-between;width:100%}}.admin-audit-metrics .metric strong{font-size:clamp(20px,2vw,27px)}.audit-panel,.admin-audit-panel{gap:18px;display:grid}.audit-operations-panel{background:linear-gradient(#fff 0%,#fbfdfc 100%);border-color:#d8e4df;gap:14px;display:grid}.audit-operations-toolbar{align-items:center}.audit-operations-toolbar .button{min-height:40px}.audit-operations-grid{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.audit-retention-summary{background:#fff;border:1px solid #dfe8e4;border-radius:8px;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:0;min-width:0;display:grid;overflow:hidden}.audit-retention-icon{width:44px;color:var(--green-strong);background:var(--green-soft);border-right:1px solid #dfe8e4;place-items:center;display:grid}.audit-retention-summary .detail-row{border-right:1px solid #edf2f0;gap:4px;padding:10px 12px;display:grid}.audit-retention-summary .detail-row:last-child{border-right:0}.audit-retention-summary .detail-row span{font-size:10px}.audit-retention-summary .detail-row strong{text-align:left;overflow-wrap:anywhere;font-size:13px}.audit-toolbar{align-items:flex-start}.audit-controls{grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(260px,1.15fr);align-items:end;gap:10px;min-width:min(720px,100%);display:grid}.audit-filter-field{gap:6px;display:grid}.audit-filter-field span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.audit-filter-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;box-shadow:inset 0 1px #ffffffa6}.audit-feed{gap:12px;display:grid}.audit-event-card{background:linear-gradient(#fff 0%,#fbfcfd 100%);border:1px solid #d8e0e8;border-radius:8px;gap:14px;padding:16px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #1f2a370b}.audit-event-card:before{content:"";background:#9bcbbb;width:4px;position:absolute;inset:0 auto 0 0}.audit-event-card:hover{border-color:#b8c9d5;box-shadow:0 14px 30px #1f2a3713}.audit-event-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:14px;display:grid}.audit-event-icon{width:38px;height:38px;color:var(--green-strong);background:var(--green-soft);border-radius:8px;place-items:center;display:grid}.audit-event-icon-approvals{color:var(--warn);background:var(--warn-bg)}.audit-event-icon-documents,.audit-event-icon-messages{color:var(--blue);background:#eff7fb}.audit-event-title{min-width:0}.audit-event-title h3{letter-spacing:0;margin:8px 0 4px;font-size:17px}.audit-event-title p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.45}.audit-event-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.audit-event-actions time{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.audit-event-details{border-top:1px solid #e8eef3;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:12px;display:grid}.audit-event-details .detail-row{gap:4px;padding:0;display:grid}.audit-event-details .detail-row strong{text-align:left;overflow-wrap:anywhere}@media (width<=620px){.audit-controls,.audit-filter-field{width:100%}.audit-controls,.audit-operations-grid,.audit-retention-summary{grid-template-columns:1fr}.audit-retention-icon,.audit-retention-summary .detail-row{border-bottom:1px solid #edf2f0;border-right:0;width:auto}.audit-retention-summary .detail-row:last-child{border-bottom:0}.audit-event-header{grid-template-columns:1fr}.audit-event-actions{justify-content:flex-start}.audit-event-details{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}}.cost-entry-impact,.line-item-impact,.build-form-impact,.client-form-impact,.document-attachment-impact,.vendor-ledger-impact,.client-approval-impact{background:#f8fafc;border:1px solid #dce5ed;border-radius:8px;gap:10px;padding:12px;display:grid}.cost-entry-impact>div:first-child,.line-item-impact>div:first-child,.build-form-impact>div:first-child,.client-form-impact>div:first-child,.document-attachment-impact>div:first-child,.vendor-ledger-impact>div:first-child,.client-approval-impact>div:first-child{gap:3px;display:grid}.cost-entry-impact>div:first-child small,.cost-entry-impact-card small,.line-item-impact>div:first-child small,.line-item-impact-card small,.build-form-impact>div:first-child small,.build-form-impact-card small,.client-form-impact>div:first-child small,.client-form-impact-card small,.document-attachment-impact>div:first-child small,.document-attachment-impact-card small,.vendor-ledger-impact>div:first-child small,.vendor-ledger-impact-card small,.client-approval-impact>div:first-child small,.client-approval-impact-card small{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:900;line-height:1.1}.cost-entry-impact>div:first-child strong,.cost-entry-impact-card strong,.line-item-impact>div:first-child strong,.line-item-impact-card strong,.build-form-impact>div:first-child strong,.build-form-impact-card strong,.client-form-impact>div:first-child strong,.client-form-impact-card strong,.document-attachment-impact>div:first-child strong,.document-attachment-impact-card strong,.vendor-ledger-impact>div:first-child strong,.vendor-ledger-impact-card strong,.client-approval-impact>div:first-child strong,.client-approval-impact-card strong{color:var(--text);font-weight:900;line-height:1.18}.cost-entry-impact-grid,.line-item-impact-grid,.build-form-impact-grid,.client-form-impact-grid,.document-attachment-impact-grid,.vendor-ledger-impact-grid,.client-approval-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.cost-entry-impact-card,.line-item-impact-card,.build-form-impact-card,.client-form-impact-card,.document-attachment-impact-card,.vendor-ledger-impact-card,.client-approval-impact-card{background:#fff;border:1px solid #e1e9ef;border-radius:7px;gap:3px;min-width:0;padding:9px;display:grid}.cost-entry-impact-card strong,.cost-entry-impact-card span,.line-item-impact-card strong,.line-item-impact-card span,.build-form-impact-card strong,.build-form-impact-card span,.client-form-impact-card strong,.client-form-impact-card span,.document-attachment-impact-card strong,.document-attachment-impact-card span,.vendor-ledger-impact-card strong,.vendor-ledger-impact-card span,.client-approval-impact-card strong,.client-approval-impact-card span{overflow-wrap:anywhere;min-width:0}.cost-entry-impact-card span,.line-item-impact-card span,.build-form-impact-card span,.client-form-impact-card span,.document-attachment-impact-card span,.vendor-ledger-impact-card span,.client-approval-impact-card span{color:var(--muted);font-size:12px;font-weight:650;line-height:1.35}.cost-entry-impact-card.is-good,.line-item-impact-card.is-good,.build-form-impact-card.is-good,.client-form-impact-card.is-good,.document-attachment-impact-card.is-good,.vendor-ledger-impact-card.is-good,.client-approval-impact-card.is-good{border-color:#d3e5dc}.cost-entry-impact-card.is-warn,.line-item-impact-card.is-warn,.build-form-impact-card.is-warn,.client-form-impact-card.is-warn,.document-attachment-impact-card.is-warn,.vendor-ledger-impact-card.is-warn,.client-approval-impact-card.is-warn{background:#fffaf5;border-color:#f0d1bd}.line-item-impact-card.is-muted,.build-form-impact-card.is-muted,.client-form-impact-card.is-muted,.document-attachment-impact-card.is-muted,.vendor-ledger-impact-card.is-muted,.client-approval-impact-card.is-muted{background:#f9fbfc;border-color:#e2e8ee}.client-estimate-approval-impact{background:#fff;width:100%;padding:10px}.client-approval-confirm-dialog{width:min(520px,100%)}.client-approval-confirm-copy{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:18px 20px 4px;display:grid}.client-approval-confirm-copy svg{color:var(--green)}.client-approval-confirm-copy p{color:var(--muted);margin:0;line-height:1.5}.client-approval-confirm-dialog .client-estimate-approval-impact{width:auto;margin:0 20px 4px}@media (width<=760px){.cost-entry-impact-grid,.line-item-impact-grid,.build-form-impact-grid,.client-form-impact-grid,.document-attachment-impact-grid,.vendor-ledger-impact-grid,.client-approval-impact-grid{grid-template-columns:1fr}}.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-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-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}}.cost-entry-list{gap:10px;display:grid}.cost-entry{background:#fbfcfd;border:1px solid #dce5ed;border-radius:6px;grid-template-columns:1fr;align-items:start;gap:10px;padding:10px;display:grid}.cost-entry.is-focused,.focused-cost-card{box-shadow:inset 3px 0 0 var(--warn);background:#fff8ef!important;border-color:#edc39b!important}.cost-entry strong,.cost-entry small,.cost-entry span{display:block}.cost-entry strong{margin-top:4px}.cost-entry small{color:var(--muted);align-items:center;gap:4px;margin-top:4px;display:flex}.cost-index{width:fit-content;color:var(--green-strong);text-transform:uppercase;background:#edf7f2;border:1px solid #d7e4de;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:800;line-height:1.1}.cost-entry-workspace{gap:8px;min-width:0;display:grid}.cost-entry-amounts{color:var(--muted);white-space:nowrap;justify-items:end;gap:4px;font-size:12px;display:grid}.cost-entry-amounts strong{color:var(--text);margin:0;font-size:15px}.cost-entry-metrics{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:6px;min-width:0;display:grid}.focused-cost-card .cost-entry-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.cost-entry-metric{background:#fff;border:1px solid #dfe9f2;border-radius:7px;gap:3px;min-width:0;padding:8px;display:grid}.focused-cost-card .cost-entry-metric{border-color:#eadfce}.cost-entry-metric small,.cost-entry-metric strong,.cost-entry-metric em{overflow-wrap:anywhere;white-space:normal;min-width:0}.cost-entry-metric small{color:var(--muted);text-transform:uppercase;margin:0;font-size:9px;font-weight:900;line-height:1.1}.cost-entry-metric strong{color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:900;line-height:1.15}.cost-entry-metric em{color:var(--muted);font-size:10px;font-style:normal;font-weight:700}.cost-entry-metric.is-good{background:var(--green-soft);border-color:#bfe8dc}.cost-entry-metric.is-warn{background:var(--brass-soft);border-color:#f1d0a5}.cost-entry-metric.is-muted{background:#f7fbff;border-color:#dfe9f2}.cost-entry-actions{flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:6px;display:flex}.cost-entry-actions button{border:1px solid var(--line);width:32px;min-width:32px;height:30px;color:var(--green);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:800;display:inline-flex}.cost-entry-actions button:disabled{cursor:not-allowed;opacity:.45}.cost-entry-files{flex-wrap:wrap;grid-column:1/-1;gap:6px;padding-top:2px;display:flex}.cost-entry-files span{max-width:100%;min-height:28px;color:var(--green);background:#f4faf7;border:1px solid #dce8e2;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.cost-entry-files button{width:20px;height:20px;color:var(--green);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.cost-entry-files button:hover{background:#e4f1eb}.cost-entry-files button:last-child{color:#8c3428}.cost-entry-file-pill{max-width:100%;min-height:28px;color:var(--green);background:#f4faf7;border:1px solid #dce8e2;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.cost-entry-file-pill>span{min-width:0;min-height:auto;color:inherit;font-size:inherit;font-weight:inherit;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex;overflow:hidden}.focused-cost-card{gap:12px;display:grid}.focused-cost-card>strong{color:var(--text);font-size:15px}.focused-cost-meta{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.focused-cost-actions{flex-wrap:wrap;align-items:flex-start}.client-line-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.client-action-reason{color:var(--muted);margin:-4px 0 0;font-size:12px;font-weight:700;line-height:1.4}.client-request-summary,.request-review-card{border:1px solid var(--line);background:#fbfcfb;border-radius:8px;gap:7px;margin-top:14px;padding:12px;display:grid;box-shadow:inset 0 1px #fffc}.client-request-summary strong,.request-review-card strong{color:var(--text)}.client-request-summary span,.request-review-card span,.request-review-card p{color:var(--muted);font-size:13px;line-height:1.45}.request-review-card.is-open{background:var(--warn-bg);border-color:#f1d3bf}.request-review-card div{justify-content:space-between;gap:12px;display:flex}.request-review-card p{color:var(--text);margin:0}.request-review-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-top:0;display:flex}.change-request-card{border-radius:8px}.change-request-card.is-resolved{background:#f5fbf8;border-color:#cce2d8}.change-request-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid!important}.change-request-heading>div:first-child{justify-content:start;gap:6px;min-width:0;display:grid!important}.change-request-heading strong{overflow-wrap:anywhere;min-width:0}.change-request-dates{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex!important}.change-request-dates span{white-space:nowrap;background:#fff;border:1px solid #d8e0e8;border-radius:999px;align-items:center;min-height:24px;margin-top:0;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.change-request-context{color:var(--muted);font-size:12px;line-height:1.45;display:block}.change-request-resolution-note,.request-resolution-preview{background:#fff;border:1px solid #d8e6dd;border-radius:8px;gap:7px;padding:10px;display:grid}.change-request-resolution-note span{color:var(--green-strong);text-transform:uppercase;font-size:11px;font-weight:800}.change-request-resolution-note p,.request-resolution-preview p{color:var(--ink);margin:0;line-height:1.45}.request-resolution-summary{background:#f6fbf8;border-color:#d8e6dd}.approval-history-list{gap:10px;display:grid}.approval-history-item,.approval-history-empty{border:1px solid var(--line);background:#f8fafc;border-radius:7px;grid-template-columns:28px minmax(0,1fr);gap:10px;padding:10px;display:grid;box-shadow:inset 0 1px #fffc}.approval-history-icon,.approval-history-empty svg{width:28px;height:28px;color:var(--green);background:var(--green-soft);border-radius:999px;place-items:center;display:grid}.approval-history-item strong,.approval-history-item span,.approval-history-item p,.approval-history-empty span{display:block}.approval-history-item strong{color:var(--text);font-size:13px}.approval-history-item span,.approval-history-empty span{color:var(--muted);font-size:12px;line-height:1.4}.approval-history-item p{color:var(--text);margin:5px 0 0;font-size:12px;line-height:1.45}.line-publication-button{border-radius:7px;justify-content:flex-start;min-width:102px;min-height:30px;padding:0 10px}.line-publication-button span{text-overflow:ellipsis;overflow:hidden}.line-publication-button.is-visible{color:#145347;background:#eef8f3;border-color:#add9ca}.line-publication-button.is-hidden{color:#6f442d;background:#fff6ef;border-color:#edcdb7}.line-publication-card{box-shadow:inset 3px 0 0 var(--green);background:#fbfdfc;border:1px solid #d8e4df;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.line-publication-card.is-hidden{box-shadow:inset 3px 0 0 var(--warn);background:#fff8f2;border-color:#ecd2bf}.line-publication-copy{gap:5px;min-width:0;display:grid}.line-publication-copy strong,.line-publication-copy span{display:block}.line-publication-copy strong{color:var(--text);overflow-wrap:anywhere;font-size:14px;line-height:1.25}.line-publication-copy>span:not(.line-publication-kicker){color:var(--muted);font-size:12px;line-height:1.45}.line-publication-kicker{width:fit-content;color:var(--blue);text-transform:uppercase;font-size:10px;font-weight:900}.line-publication-switch{flex:none}@media (width<=760px){.line-publication-card,.cost-entry{grid-template-columns:1fr}.line-publication-switch{justify-self:start}.cost-entry-workspace{width:100%;min-width:0}.cost-entry-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.request-review-card>div:first-child{display:grid}.change-request-heading{grid-template-columns:1fr}.change-request-dates{justify-content:flex-start}}@media (width<=420px){.cost-entry-metrics{grid-template-columns:1fr}}.workspace{min-width:0;padding:24px 30px 42px}.top-bar,.section-toolbar,.category-heading,.visibility-row,.approval-actions,.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}.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<=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%}}@media (width<=620px){.workspace>*{width:100%;max-width:100%!important}.summary-band{grid-template-columns:1fr}.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:radial-gradient(circle at 18% 12%,#427b9c1a,#0000 26%),linear-gradient(135deg,#f9fbf7 0%,#eef4f0 100%);place-items:center;min-height:100vh;padding:32px;display:grid}.login-shell{background:var(--surface);border:1px solid var(--line);width:min(1120px,100%);min-height:680px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(360px,.86fr) minmax(420px,1.14fr);display:grid;overflow:hidden}.login-panel{flex-direction:column;padding:46px;display:flex}.login-copy h1{letter-spacing:0;margin:0;font-size:42px;line-height:1}.login-copy p:not(.eyebrow){width:min(360px,100%);color:var(--muted);line-height:1.55}.login-form{gap:16px;display:grid}.login-form label{color:var(--text);gap:8px;font-size:14px;font-weight:700;display:grid}.login-form input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:0 12px}.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f6f5e1a}.login-form input:disabled{color:var(--muted);cursor:not-allowed;background:#f5f7f5}.login-error{color:#8c3428;background:#fff5f1;border:1px solid #e2b9ad;border-radius:8px;padding:11px 12px;font-size:13px;font-weight:800}.login-footnote{color:var(--muted);align-items:center;gap:8px;margin-top:auto;padding-top:24px;font-size:13px;display:flex}.login-visual{background:#dfeae3;min-height:680px;position:relative;overflow:hidden}.login-visual img{object-fit:cover;width:100%;height:100%;display:block}.visual-overlay{color:#24312f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;border:1px solid #ffffffb8;border-radius:8px;width:min(320px,100% - 56px);padding:20px;position:absolute;bottom:28px;right:28px}.visual-overlay span{color:var(--green);text-transform:uppercase;font-size:12px;font-weight:800}.visual-overlay strong{margin-top:8px;font-size:20px;display:block}.visual-overlay p{color:var(--muted);margin:8px 0 0}@media (width<=900px){.login-page{padding:18px}.login-shell{grid-template-columns:1fr}.login-panel{padding:30px}.login-copy{margin:42px 0 24px}.login-visual{min-height:360px}}@media (width<=620px){.login-copy h1{font-size:30px}}.login-form input{box-shadow:none;border-radius:6px}.login-page{background:#eef2ef;padding:0}.login-shell{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;grid-template-columns:minmax(380px,.76fr) minmax(520px,1.24fr)}.login-panel{border-right:1px solid var(--line);justify-content:center;padding:56px 64px}.login-copy h1{font-size:36px}.login-copy p:not(.eyebrow){margin-top:10px}.login-form{max-width:420px}.login-visual{min-height:100vh}@media (width<=900px){.login-shell{grid-template-columns:1fr;min-height:100vh}.login-visual{display:none}.login-panel{width:100vw;max-width:100vw;padding:34px 24px;overflow-x:hidden}.login-form{width:calc(100vw - 48px);max-width:calc(100vw - 48px)}.login-copy{margin:56px 0 24px}}@media (width<=620px){.login-form{width:100%;max-width:340px}}.login-shell{border-radius:8px}.login-page{background:#f3f6f8}.login-shell{border-color:#d6dee6;min-height:640px;box-shadow:0 24px 70px #1f29331f}.login-panel{justify-content:center;padding:56px}.login-copy{margin:88px 0 30px}.login-copy h1{max-width:440px;font-size:38px;font-weight:800;line-height:1.06}.login-copy p:not(.eyebrow){max-width:390px;font-size:15px}.login-form{gap:14px;max-width:430px}.login-field span{color:#334155;text-transform:uppercase;font-size:12px;font-weight:800}.login-form input{background:#fff;border-color:#cfd8e2}.login-form input[aria-invalid=true]{border-color:#d79484}.login-submit{justify-content:center;width:100%;margin-top:2px}.login-visual{background:#e5edf2;align-items:end;padding:34px;display:grid}.login-visual img{position:absolute;inset:0}.visual-overlay{display:none}.login-visual-content{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border:1px solid #ffffffb8;border-radius:8px;justify-self:end;gap:14px;width:min(390px,100%);padding:18px;display:grid;position:relative;box-shadow:0 18px 40px #1f29331f}.login-visual-badge{width:fit-content;min-height:30px;color:var(--green-strong);background:#eaf4ef;border-radius:999px;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.login-meta-list{gap:0;margin:0;display:grid}.login-meta-list div{border-top:1px solid #dfe7ed;grid-template-columns:minmax(86px,.75fr) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.login-meta-list div:first-child{border-top:0}.login-meta-list dt{color:var(--muted);font-size:12px;font-weight:800}.login-meta-list dd{color:var(--text);text-align:right;margin:0;font-size:13px;font-weight:900}.login-footnote{max-width:430px;margin-top:28px}@media (width<=620px){.login-page{padding:16px}.login-shell{border:1px solid #d6dee6;border-radius:8px;grid-template-columns:minmax(0,1fr);width:min(100%,100vw - 32px);min-width:0;min-height:auto}.login-panel{border-right:0;width:100%;min-width:0;padding:28px 22px}.login-visual{display:none}}.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 .sign-out{color:var(--muted);margin-top:auto}@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{gap:6px;width:100%;max-width:100%;margin-top:18px;padding-bottom:4px;display:flex;overflow-x:auto}.side-nav button{flex:none}.side-nav .sign-out{background:#fff;border:1px solid #d8e0e8;width:fit-content;min-height:36px;margin-top:10px;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:max-content}.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}@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}}@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}}
