*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #0f2444;--ink-2: #3a4a6b;--muted: #8090ad;--line: #e6eaf1;--line-soft: #f0f3f8;--bg: #f6f8fc;--surface: #ffffff;--primary: #1f4988;--primary-2: #16386b;--brand: #d32830;--pos: #15803d;--pos-bg: #e7f6ec;--warn: #b7791f;--warn-bg: #fbf1d6;--neg: #c0261f;--neg-bg: #fce7e6;--violet: #6d28d9;--violet-bg: #efe9fd;--info-bg: #e8effb;--radius: .875rem;--shadow-sm: 0 1px .1875rem rgba(15,36,68,.06);--shadow: 0 .375rem 1.375rem rgba(15,36,68,.08)}html{--ui-scale: .8;font-size:calc(16px * var(--ui-scale))}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;letter-spacing:0}h1,h2,h3,.logo,.page-title,.modal-title,.stat-value,.pivot-title{font-family:inherit}header{background:#fff;padding:.875rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9f0}.logo{font-size:1.375rem;font-weight:700;color:#112a55;letter-spacing:.3px}.logo span{color:#d32830}.tabs{display:flex;gap:.25rem}.tab{background:transparent;border:none;padding:.875rem 1.125rem;font-size:.8125rem;font-weight:600;color:#5c739c;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s;font-family:inherit;letter-spacing:.2px}.tab:hover{color:#112a55}.tab-active{color:#1f4988;border-bottom-color:#1f4988}.page{padding:2rem}.page-title{font-size:1.375rem;font-weight:700;margin-bottom:.25rem;color:var(--ink);letter-spacing:-.2px}.page-subtitle{font-size:.8125rem;color:var(--muted);margin-bottom:1.5rem}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.search-box{padding:.5rem .875rem;border:1px solid #e5e9f0;border-radius:8px;font-size:.8125rem;background:#fff;width:13.75rem;outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.25rem;padding:0 1rem;border-radius:8px;font-size:.8125rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;font-family:inherit}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.5px}.btn-primary:hover:not(:disabled){background:var(--primary-2)}.stats{display:flex;gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border-radius:var(--radius);padding:1.125rem 1.5rem;flex:1;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.stat-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600}.stat-value{font-size:1.625rem;font-weight:700;color:var(--ink);margin-top:.25rem;font-variant-numeric:tabular-nums}.stat-value.green{color:var(--pos)}.stat-value.blue{color:var(--primary)}.stat-projected{margin-left:.5rem;font-size:.6em;opacity:.45}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.2px;white-space:nowrap}.status-pill:before{content:"";width:.4375rem;height:.4375rem;border-radius:50%;background:currentColor}.status-pill-planned{background:#eef1f7;color:#64748b}.status-pill-open{background:var(--info-bg);color:var(--primary)}.status-pill-paid{background:var(--pos-bg);color:var(--pos)}.status-pill-void{background:#eef1f7;color:#9aa7bd}.view-toggle{display:inline-flex;gap:0;margin-bottom:1rem;background:#f1f3f7;border-radius:9px;padding:.1875rem}.btn-toggle{padding:.4375rem 1rem;font-size:.75rem;font-weight:600;background:transparent;border:none;border-radius:7px;color:#5c739c;cursor:pointer;font-family:inherit;transition:background .12s,color .12s}.btn-toggle:hover{color:#112a55}.btn-toggle.active{background:#fff;color:#112a55;box-shadow:0 1px 3px #0a143214}.monthly-view{display:flex;flex-direction:column;gap:1.25rem}.monthly-year{font-size:.6875rem;font-weight:600;color:#7e8eac;text-transform:uppercase;letter-spacing:.5px}.monthly-section{display:flex;flex-direction:column;gap:.5rem}.monthly-section.is-unreal{opacity:.45}.monthly-section-title{font-size:.8125rem;font-weight:700;color:#112a55;border-left:3px solid #1f4988;padding:.375rem .25rem .375rem .625rem}.monthly-table{font-size:.75rem;min-width:0}.monthly-table thead th:first-child,.monthly-table tbody td:first-child,.monthly-table tfoot th:first-child{min-width:10rem}.by-project-table-wrap{overflow-x:auto}.by-project-table{width:100%;table-layout:auto}table.subtable.by-project-table thead th{white-space:normal;vertical-align:bottom;line-height:1.25}table.subtable.by-project-table td:not(:first-child){white-space:nowrap}.by-project-table thead th:first-child,.by-project-table tbody td:first-child,.by-project-table tfoot th:first-child{min-width:7rem}.by-project-table.is-projection thead th,.by-project-table.is-projection tbody td,.by-project-table.is-projection tfoot th,.by-project-table.is-projection tfoot td{padding-left:.4375rem;padding-right:.4375rem}.by-project-table tr.by-project-ended td{color:#9aa0ab}.col-expand{width:2.25rem;padding-left:.75rem!important;padding-right:.25rem!important}.expand-btn{width:1.375rem;height:1.375rem;border-radius:5px;border:1px solid #e5e9f0;background:#fff;cursor:pointer;color:#1f4988;font-size:.875rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.expand-btn:hover{background:#f1f5fb;border-color:#1f4988}tr.expanded-row,tr.expanded-row:hover{background:#f9fbff}tr.expanded-row>td{padding:.75rem 1.5rem 1rem 3.5rem;border-bottom:1px solid #f1f3f7}.assignments-subtable{background:#fff;border:1px solid #e5e9f0;border-radius:10px;overflow-x:auto}.subtable-notice{padding:.875rem;color:#7e8eac;font-style:italic;font-size:.75rem;text-align:center}table.subtable{width:100%;min-width:0;border-collapse:collapse;font-size:.75rem}table.subtable thead th{padding:.5rem .75rem;text-align:left;font-weight:600;color:#5c739c;font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;background:#f1f3f7;border-bottom:1px solid #e5e9f0;white-space:nowrap}table.subtable tbody td{padding:.375rem .75rem;color:#26334a;border-bottom:1px solid #f1f3f7}table.subtable tbody tr:last-child td{border-bottom:none}table.subtable .subtable-empty{text-align:center;color:#7e8eac;font-style:italic;padding:.875rem}table.subtable tfoot tr.subtable-total th,table.subtable tfoot tr.subtable-total td{padding:.5rem .75rem;background:#f1f5fb;border-top:1.5px solid #d7e3f7;font-weight:700;color:#112a55;font-size:.75rem}table.subtable tfoot tr.subtable-total th{text-align:right;text-transform:uppercase;letter-spacing:.5px;color:#5c739c}table.subtable th.month-col,table.subtable td.month-col{min-width:4.5rem;padding-left:.5rem;padding-right:.5rem;text-align:right;font-variant-numeric:tabular-nums}table.subtable td.month-col .editable-cell{min-width:0}table.subtable td.month-col .cell-display{padding:.25rem .375rem;min-height:1.625rem;justify-content:flex-end}table.subtable td.month-col .cell-input{text-align:right;padding:.25rem .375rem}table.subtable th.month-group,table.subtable td.month-group{border-left:1px solid #e5e9f0}table.subtable th.month-sub{font-size:.5625rem;color:#7e8eac}table.subtable td.logged-cell{color:#7e8eac}.assignments-subtable table.subtable thead th{text-align:center;padding:.375rem}.assignments-subtable table.subtable tbody td:first-child{text-align:left}.assignments-subtable table.subtable tbody td,.assignments-subtable table.subtable tfoot td{padding:.375rem .5rem}.assignments-subtable table.subtable th.month-col,.assignments-subtable table.subtable td.month-col{min-width:3.25rem;padding-left:.3125rem;padding-right:.3125rem}.assignments-subtable table.subtable tbody td.month-col,.assignments-subtable table.subtable tfoot td.month-col{text-align:right}.cell-bonus{background:#eef8f1;box-shadow:inset 0 0 0 1.5px #a9d5b6}.cell-bonus .cell-display{background:transparent}.cell-bonus .cell-val{color:#18763d;font-weight:700}.cell-bonus .cell-display:hover{background:#e4f4e9;border-color:#8bc59c}.profitability-strip{display:flex;flex-wrap:wrap;gap:1.5rem;padding:.625rem 1rem;background:#f9fbff;border:1px solid #e5e9f0;border-radius:10px;margin-bottom:.5rem}.profitability-strip-item{display:flex;flex-direction:column;gap:2px;min-width:6.875rem}.profitability-strip-label{font-size:.625rem;font-weight:600;color:#7e8eac;text-transform:uppercase;letter-spacing:.5px}.profitability-strip-value{font-size:.875rem;font-weight:600;color:#112a55;font-variant-numeric:tabular-nums}.profitability-strip-controls{margin-left:auto;align-self:center;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.profitability-strip-toggle{white-space:nowrap}.profitability-strip.profitability-matrix{display:block;padding:.75rem 1.125rem .75rem 1.375rem;background:#e8eef8;border-color:#d3dcec}.profitability-matrix-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.75rem;padding-bottom:.625rem;margin-bottom:.25rem;border-bottom:1px solid #d3dcec}.profitability-matrix-scroll{overflow-x:auto}.profitability-matrix-grid{display:grid;grid-template-columns:7rem repeat(5,minmax(6.5rem,1fr));min-width:40rem}.profitability-matrix-grid>*{display:flex;align-items:center;padding:.4375rem .5rem}.profitability-matrix-head{padding-top:.375rem;padding-bottom:.25rem}.profitability-matrix-rowlabel{font-size:.6875rem;font-weight:600;color:#7e8eac;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.profitability-matrix-cell{font-variant-numeric:tabular-nums;color:#112a55;white-space:nowrap}.profitability-matrix-cell.profitability-matrix-actual{font-size:1.1875rem;font-weight:700}.profitability-matrix .profitability-matrix-head,.profitability-matrix .profitability-matrix-rowlabel{color:#5c6e91}.profitability-matrix .profitability-matrix-rowlabel.profitability-matrix-actual{color:#112a55}.profitability-matrix-cell.profitability-matrix-projected,.profitability-matrix-cell.profitability-matrix-whole{font-size:.875rem;font-weight:600;color:#52607a}.profitability-matrix-projected,.profitability-matrix-whole{border-top:1px solid #d3dcec}.profitability-matrix .has-hint{text-decoration:underline dotted rgba(126,142,172,.7);text-underline-offset:3px}.profitability-matrix .has-hint,.profitability-matrix-cell{cursor:help}.subtable-alltime-total{display:flex;flex-wrap:wrap;gap:1.5rem;padding:.5rem 0;margin-bottom:.5rem}.employee-name-link{background:none;border:none;padding:0;font:inherit;color:#1f4988;font-weight:600;cursor:pointer;text-align:left}.employee-name-link:hover{text-decoration:underline}.employee-name-has-rule{text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#d79a1f;text-underline-offset:3px}.split-amounts{display:flex;flex-direction:column;gap:.5rem}.split-amount-row{display:grid;grid-template-columns:minmax(0,1fr) 10rem;align-items:center;gap:.75rem}.split-amount-name{font-size:.8125rem;font-weight:600;color:#112a55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.split-amount-input{text-align:right;font-variant-numeric:tabular-nums}.salary-chart{display:block}.salary-chart-empty{padding:2rem;text-align:center;color:#7e8eac;font-style:italic}.salary-chart-legend{display:flex;flex-wrap:wrap;gap:1.125rem;align-items:center;margin-top:.75rem;font-size:.75rem;color:#5c739c}.salary-chart-legend .legend-item{display:inline-flex;align-items:center;gap:.375rem}.salary-chart-legend .legend-swatch{width:1rem;height:.1875rem;border-radius:2px;display:inline-block}.salary-chart-legend .legend-dot{width:.625rem;height:.625rem;border-radius:50%;display:inline-block}.salary-chart-layout{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap}.salary-chart-values{display:flex;flex-direction:column;gap:.875rem;flex:0 0 10rem;padding-right:1.5rem;border-right:1px solid #f1f3f7}.salary-chart-main{flex:1 1 20rem;min-width:0}.salary-chart-value-item{display:flex;flex-direction:column;gap:.1875rem}.salary-chart-value-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#8a91a0}.salary-chart-value-amount{font-size:.9375rem;font-weight:700;color:#112a55}.col-filter-multiselect{padding:0;display:flex;align-items:center}.col-filter-multiselect .editable-cell{width:100%;min-width:0}.col-filter-multiselect .cell-display{min-height:0;height:100%;padding:0 .625rem;border:0;background:transparent;font:inherit;overflow:hidden}.col-filter-multiselect .cell-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-filter-multiselect .cell-placeholder{color:#9a9fa9;font-weight:500}.profitability-strip-sows{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline;padding:0 0 .5rem;font-size:.75rem;color:#5c739c}.profitability-strip-sows-total{font-weight:700;color:#112a55}.profitability-strip-note{flex-basis:100%;font-style:italic;color:#7e8eac}.profitability-strip-sow-select{max-width:22rem;font-size:.75rem}.profitability-strip-sow-select{min-width:14rem;max-width:26rem}.profitability-strip-sow-select .cell-display{min-height:1.875rem;border:1px solid #dfe2e7;border-radius:8px;background:#fff;font-size:.75rem}.profitability-strip-sow-select .cell-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-toolbar-multiselect{min-width:12rem;max-width:20rem}.grid-toolbar-multiselect .editable-cell{width:100%;min-width:0}.grid-toolbar-multiselect .cell-display{min-height:2.125rem;border:1px solid #dfe2e7;border-radius:8px;background:#fff;font-size:.75rem}.grid-toolbar-multiselect .cell-val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-list-filter-note{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:#5c739c}.link-btn{background:none;border:0;padding:0;color:#1f4988;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.by-project-projection-actions{display:inline-flex;gap:.5rem}.by-project-table .by-project-month-input{width:100%;min-width:7.5rem;max-width:9rem;padding:.25rem .375rem}.by-project-table .by-project-salary-input{width:100%;min-width:5rem;max-width:7.5rem;text-align:right;padding:.25rem .375rem}.by-project-table .cell-input.is-invalid{border-color:#dc2626}.by-project-table td.by-project-projected{color:#c46a0c;font-weight:600}.by-project-table tr.by-project-removed td{color:#9aa0ab;text-decoration:line-through}.by-project-table tr.by-project-removed td:last-child{text-decoration:none}.by-project-table tr.by-project-removed td.by-project-keep-style{text-decoration:none}.by-project-tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid #d7dfec;margin:0 0 .75rem}.by-project-tab{display:inline-flex;align-items:center;gap:.125rem;border:1px solid transparent;border-bottom:0;border-radius:8px 8px 0 0;background:none;padding:.375rem .75rem;font:inherit;font-size:.8125rem;font-weight:600;color:#5c739c;cursor:pointer;margin-bottom:-1px}.by-project-tab.active{background:#fff;border-color:#d7dfec;color:#112a55}.by-project-tab-name{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.by-project-tab-close{background:none;border:0;padding:0 0 0 .375rem;font-size:.6875rem;color:#9aa0ab;cursor:pointer}.by-project-tab-close:hover{color:#dc2626}.opex-wrap{overflow:hidden}.opex-table{min-width:max-content}.opex-table thead th{background:#f1f3f7;position:sticky;top:0;z-index:2}.opex-table thead th.opex-name-col{left:0;z-index:3}.opex-table tbody td.opex-name-col{position:sticky;left:0;background:#fff;z-index:1}.opex-table tbody tr:hover td.opex-name-col{background:#f1f3f7}.opex-name-col{min-width:16.25rem;max-width:16.25rem;box-shadow:1px 0 #e5e9f0}.opex-month-col,.opex-budget-col{min-width:6.875rem;text-align:right;font-variant-numeric:tabular-nums}.opex-budget-col{border-left:1px solid #e5e9f0}.opex-month-col .editable-cell,.opex-budget-col .editable-cell{min-width:0}.opex-month-col .cell-display,.opex-budget-col .cell-display{justify-content:flex-end}.opex-month-col .cell-input,.opex-budget-col .cell-input{text-align:right}.opex-actions-col{width:5rem;text-align:right;white-space:nowrap}tr.opex-group>td{background:#f1f5fb;font-weight:600}tr.opex-group:hover>td{background:#e6f0ff}tr.opex-group td.opex-name-col{background:#f1f5fb!important;color:#112a55}tr.opex-group:hover td.opex-name-col{background:#e6f0ff!important}.opex-group-name .opex-name-wrap{display:flex;align-items:center;gap:.5rem}.opex-group-name .editable-cell{flex:1;min-width:0}.expand-btn-spacer{display:inline-block;width:1.375rem;height:1.375rem;flex-shrink:0}tr.opex-sub td.opex-name-col{padding-left:2.75rem}tr.opex-total>td{background:#f9fbff;font-weight:600;color:#16a34a}tr.opex-total:hover>td{background:#f4f8ff}tr.opex-total td.opex-name-col{background:#f9fbff!important;color:#22304b;text-transform:uppercase;font-size:.6875rem;letter-spacing:.5px;padding-left:2.75rem}tr.opex-total:hover td.opex-name-col{background:#f4f8ff!important}.opex-total-cell{text-align:right;font-variant-numeric:tabular-nums;padding-right:1rem}.opex-add-row{text-align:left;padding:.875rem 1rem!important;background:#f9fbff;position:sticky;left:0}.opex-toolbar-actions{display:flex;gap:.5rem}.opex-import-hint{font-size:.8125rem;color:#5c739c;margin:0 0 .875rem}.opex-import-error{font-size:.8125rem;color:#c0392b;margin-top:.625rem}.opex-import-table{width:100%;border-collapse:collapse;font-size:.75rem}.opex-import-table th{padding:.5rem .625rem;text-align:left;font-weight:600;color:#5c739c;font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;background:#f1f3f7;border-bottom:1px solid #e5e9f0;white-space:nowrap;position:sticky;top:0}.opex-import-table td{padding:.4375rem .625rem;border-bottom:1px solid #f1f3f7;color:#26334a}.opex-import-table select{width:100%;font:inherit;padding:.3125rem .375rem}.opex-import-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.opex-import-row-skipped{opacity:.5}.opex-import-progress{font-size:.75rem;color:#5c739c}.opex-import-summary-hint{margin-top:1.125rem;font-weight:600;color:#112a55}.opex-import-summary-table{background:#f9fbff;border:1px solid #e5e9f0;border-radius:8px;overflow:hidden}.opex-import-summary-table th{background:#f1f5fb}.opex-import-sources{color:#7e8eac;font-style:italic}.invoice-import-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.625rem;margin-bottom:.5rem}.invoice-import-stat{padding:.625rem .75rem;border:1px solid #e5e9f0;border-radius:8px;background:#f9fbff}.invoice-import-stat-value{font-size:1.25rem;font-weight:700;color:#112a55;font-variant-numeric:tabular-nums}.invoice-import-stat-label{font-size:.6875rem;color:#5c739c}.invoice-import-stat-issue{border-color:#f1c4c4;background:#fdf5f5}.invoice-import-stat-issue .invoice-import-stat-value{color:#b82424}.invoice-import-action{text-align:right;white-space:nowrap}.invoice-import-match-why{font-size:.6875rem;color:#7e8eac}.invoice-import-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem}.invoice-import-section-head .btn{min-height:0;padding:.3125rem .75rem;font-size:.75rem;margin-bottom:.875rem}.invoice-import-action .btn{min-height:0;padding:.25rem .625rem;font-size:.75rem}.invoice-import-action .opex-import-error{margin-top:.25rem;white-space:normal}.opex-summary{margin-bottom:1.125rem}.opex-summary .pivot-inner{overflow-x:auto}.opex-summary-table{min-width:max-content}.opex-summary-table th,.opex-summary-table td{padding:.5rem .625rem;text-align:right;font-size:.75rem}.opex-summary-table thead th{background:#f1f3f7;position:sticky;top:0;z-index:2}.opex-summary-table thead th.opex-summary-name-col,.opex-summary-table tbody th.opex-summary-name-col{position:sticky;left:0;background:#fff;z-index:1;text-align:left;min-width:12.5rem;box-shadow:1px 0 #e5e9f0;font-weight:600;color:#112a55}.opex-summary-table thead th.opex-summary-name-col{background:#f1f3f7;z-index:3}.opex-summary-table tr.pivot-grand-total th.opex-summary-name-col,.opex-summary-table tr.pivot-grand-total td{background:#f1f5fb;font-weight:700;color:#112a55}.cashflow-widget{margin-bottom:1.125rem}.cashflow-widget .pivot-inner{overflow-x:auto;margin-top:1rem}.cashflow-table th,.cashflow-table td{padding:.5rem .625rem;text-align:right;font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.cashflow-table thead th{background:#f1f3f7;position:sticky;top:0;z-index:2}.cashflow-table thead th.cashflow-name-col,.cashflow-table tbody th.cashflow-name-col{position:sticky;left:0;z-index:1;text-align:left;min-width:11.25rem;box-shadow:1px 0 #e5e9f0;font-weight:600;color:#112a55;background:#fff}.cashflow-table thead th.cashflow-name-col{background:#f1f3f7;z-index:3}.cashflow-table tbody tr:hover th.cashflow-name-col,.cashflow-table tbody tr:hover td{background:#f1f3f7}.cashflow-editable{padding:2px .625rem!important;min-width:6.875rem}.cashflow-editable .editable-cell{min-width:0}.cashflow-editable .cell-display{justify-content:flex-end;padding:.25rem 0;min-height:1.625rem}.cashflow-editable .cell-input{text-align:right;padding:.25rem .375rem}.cashflow-starting th.cashflow-name-col,.cashflow-starting td{background:#f1f5fb!important;font-weight:700;color:#112a55}.cashflow-starting:hover th.cashflow-name-col,.cashflow-starting:hover td{background:#e6f0ff!important}.cashflow-negative{color:#112a55!important}.cashflow-incoming th.cashflow-name-col,.cashflow-incoming td{background:#f0fdf4!important;font-weight:600;color:#16a34a}.cashflow-expense th.cashflow-name-col,.cashflow-expense td{background:#fff3f3!important;font-weight:600;color:#b82424}table.month-grid-table{width:100%;table-layout:fixed;min-width:calc(11.25rem + var(--month-count, 12) * 6.25rem)}.month-grid-table thead th:first-child,.month-grid-table tbody th:first-child{width:11.25rem}.month-grid-table td{overflow:hidden;text-overflow:ellipsis}.cashflow-current-month,.pivot-current-month{box-shadow:inset 2px 0 #f0a93a,inset -2px 0 #f0a93a}.cashflow-table thead th.cashflow-current-month,.pivot-table thead th.pivot-current-month{background:#fff8e8!important;color:#8a5a00}.profitability-widget{margin-bottom:1.125rem}.pivot-wrap.contract-totals-widget{padding:5px 8px;margin-bottom:8px}.contract-totals-layout{display:flex;align-items:stretch;gap:10px}.contract-totals-summary{display:flex;flex-direction:column;justify-content:center;gap:14px;flex:0 0 25%;padding-right:8px;border-right:1px solid #e6e8ed}.contract-totals-label{font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:#7e8eac;font-weight:600}.contract-totals-big-value{font-size:12px;font-weight:700;color:#112a55;margin-top:0;font-variant-numeric:tabular-nums}.contract-totals-by-type{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.contract-totals-by-type-title{font-size:12px;text-transform:uppercase;letter-spacing:.3px;color:#7e8eac;font-weight:600;margin-bottom:0}.profitability-table.contract-totals-table th,.profitability-table.contract-totals-table td{padding:0 4px;font-size:8px;line-height:1.3}.profitability-table.contract-totals-table th.profitability-name-col,.profitability-table.contract-totals-table td.profitability-name-col{width:1%}.contract-totals-swatch{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px;vertical-align:middle}.contract-totals-chart{flex:0 0 25%;display:flex;align-items:center;justify-content:center;padding-left:8px;border-left:1px solid #e6e8ed}.contract-totals-chart svg{width:100%;height:100%;max-width:120px;max-height:120px}.contract-totals-chart-empty{font-size:8px;color:#9aa0ab}.profitability-table{width:100%}.profitability-table th,.profitability-table td{padding:.5rem .75rem;text-align:right;font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.profitability-table thead th{background:#f1f3f7}.profitability-table thead th.profitability-name-col,.profitability-table tbody th.profitability-name-col{text-align:left;font-weight:600;color:#112a55;background:#fff;width:1%;white-space:nowrap}.profitability-table thead th.profitability-name-col,.profitability-table tbody tr:hover th,.profitability-table tbody tr:hover td{background:#f1f3f7}.profitability-revenue-target{display:block;margin-top:1px;font-size:.65625rem;font-weight:500;color:#8a93a6}.profitability-positive{color:#16a34a;font-weight:600}.profitability-negative{color:#dc2626;font-weight:600}.profitability-empty{padding:1.5rem;text-align:center;color:#7e8eac;font-style:italic}.profitability-table tbody tr.group-header-row{cursor:pointer}.profitability-table tbody tr.group-header-row>th,.profitability-table tbody tr.group-header-row>td{background:#f5f6f8;font-weight:700;color:#525866}.profitability-table tbody tr.group-header-row>th.profitability-name-col{font-size:.875rem}.profitability-table tbody tr.group-header-row:hover>th,.profitability-table tbody tr.group-header-row:hover>td{background:#eef0f3}.profitability-table .group-header-toggle{display:inline-block;width:.875rem;margin-right:.25rem;color:#9aa0ab;font-size:.625rem}.profitability-table th.profitability-indent{padding-left:1.75rem;font-weight:500}.money-negative{color:#dc2626!important}.cashflow-table .money-negative,.payments-table .money-negative{color:#112a55!important}.cell-overridden .cell-val{color:#dc2626;font-weight:700}.form-group .editable-cell{min-width:0}.form-group .editable-cell .cell-display{border:1.5px solid #e5e9f0;border-radius:8px;min-height:2.5rem;padding:.5625rem .75rem}.form-group .editable-cell .cell-display:hover{border-color:#1f4988}.form-group .editable-cell .edit-icon{opacity:.6;margin-left:auto}.contract-value-by-client-widget{margin-bottom:1.125rem}.revenue-bars{display:flex;flex-direction:column;gap:.625rem;padding:.25rem 2px}.revenue-bar-row{display:grid;grid-template-columns:10rem 2.75rem 1fr 6.875rem;align-items:center;gap:.75rem}.revenue-bar-label{font-size:.75rem;font-weight:600;color:#112a55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revenue-bar-pct{font-size:.75rem;font-weight:700;color:#5c739c;text-align:right;font-variant-numeric:tabular-nums}.revenue-bar-track{background:#f1f3f7;border-radius:6px;height:1.375rem;overflow:hidden}.revenue-bar-fill{height:100%;min-width:2px;border-radius:6px;background:linear-gradient(90deg,#d98383,#e99b93,#f2b6ad);transition:width .25s ease}.revenue-bar-value{text-align:right;font-size:.75rem;font-weight:700;color:#112a55;font-variant-numeric:tabular-nums}.dashboard-row{display:flex;gap:1.125rem;align-items:flex-start;flex-wrap:wrap}.dashboard-row>*{flex:1 1 23.75rem;min-width:0}.revenue-pie-wrap{display:flex;gap:1.75rem;align-items:center;flex-wrap:wrap;padding:.5rem 2px}.revenue-pie{flex:0 0 auto}.revenue-pie-label{fill:#fff;stroke:#0006;stroke-width:3px;paint-order:stroke;font-size:.75rem;font-weight:700}.revenue-legend{display:flex;flex-direction:column;gap:.5rem;flex:0 1 22.5rem;min-width:15rem}.revenue-legend-row{display:grid;grid-template-columns:.875rem 1fr auto auto;align-items:center;gap:.625rem;font-size:.75rem}.revenue-legend-swatch{width:.75rem;height:.75rem;border-radius:3px;flex:0 0 auto}.revenue-legend-name{color:#112a55;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revenue-legend-val{color:#112a55;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.revenue-legend-pct{color:#5c739c;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;min-width:2.25rem}.revenue-distribution{display:flex;flex-direction:column;gap:1.125rem;padding:.75rem 2px .375rem}.revenue-distribution-total{display:flex;align-items:flex-end;justify-content:space-between}.revenue-distribution-total span{color:#8b8e95;font-size:.6875rem;font-weight:600}.revenue-distribution-total strong{color:#292a2d;font-size:1.5rem;letter-spacing:-.04em}.revenue-stack{display:flex;width:100%;height:.75rem;overflow:hidden;gap:2px;border-radius:999px;background:#f1f1f2}.revenue-stack>span{min-width:.25rem;height:100%}.revenue-legend{min-width:0;flex-basis:auto;width:100%}.revenue-legend-row{grid-template-columns:.625rem minmax(5.625rem,1fr) minmax(5rem,1.4fr) auto auto;min-height:2.125rem}.revenue-legend-swatch{width:.5rem;height:.5rem}.revenue-legend-track{height:.375rem;overflow:hidden;border-radius:999px;background:#f1f1f2}.revenue-legend-track i{display:block;min-width:.1875rem;height:100%;border-radius:inherit}.margin-summary{display:flex;flex-direction:column;gap:2px;padding:2px}.margin-total{display:flex;flex-direction:column;gap:2px;padding:2px 2px .625rem}.margin-total-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.6px;color:#7e8eac;font-weight:600}.margin-total-line{display:flex;align-items:baseline;gap:.625rem;flex-wrap:wrap}.margin-total-value{font-family:inherit;font-size:1.5rem;font-weight:700;color:#16a34a}.margin-total-sub{font-size:.75rem;font-weight:600;color:#7e8eac}.margin-group{border-top:1px solid #eef1f5;padding-top:.5rem;margin-top:.375rem}.margin-group-title{font-size:.6875rem;text-transform:uppercase;letter-spacing:.6px;color:#7e8eac;font-weight:700;margin-bottom:.25rem}.margin-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.25rem 2px}.margin-row-label{font-size:.8125rem;font-weight:600;color:#112a55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.margin-row-nums{display:flex;align-items:baseline;gap:.875rem;flex:0 0 auto}.margin-row-amount{font-size:.8125rem;font-weight:600;color:#52514e;font-variant-numeric:tabular-nums}.margin-row-value{font-size:.875rem;font-weight:700;color:#112a55;font-variant-numeric:tabular-nums;min-width:3.25rem;text-align:right}.opex-charts-row{display:flex;gap:1.125rem;flex-wrap:wrap}.opex-charts-row>*{flex:1 1 23.75rem;min-width:0}.opex-category-chart,.opex-monthly-chart{display:flex;flex-direction:column}.opex-chart-body{flex:1;display:flex;flex-direction:column;justify-content:center}.opex-category-chart .opex-donut{width:100%;height:auto;max-width:40rem;display:block;margin:0 auto}.opex-donut-track{stroke:#e1e0d9}.opex-donut circle[stroke]{transition:stroke-dasharray .2s ease}.opex-donut-leader{stroke:#c3c2b7;stroke-width:1.25}.opex-donut-leader-dot{fill:#898781}.opex-donut-label-name{font-size:.8125rem;font-weight:600;fill:#52514e}.opex-donut-label-value{font-size:.8125rem;font-weight:700;fill:#112a55;font-variant-numeric:tabular-nums}.opex-donut-center-value{font-size:1.5rem;font-weight:700;fill:#112a55}.opex-donut-center-label{font-size:.6875rem;font-weight:600;fill:#7e8eac;text-transform:uppercase;letter-spacing:.5px}.opex-planned-value{font-size:.9375rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.opex-planned-delta{font-size:.75rem;margin-top:.1875rem;font-variant-numeric:tabular-nums}.opex-actual-planned{display:flex;gap:1.75rem;flex-wrap:wrap;padding:.5rem 2px}.opex-actual-planned-figure{display:flex;flex-direction:column;gap:2px}.opex-actual-planned-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.6px;color:#7e8eac;font-weight:600}.opex-actual-planned-value{font-size:1.5rem;font-weight:700;color:#112a55;letter-spacing:-.02em}.opex-actual-planned-bar{display:flex;width:100%;height:.75rem;overflow:hidden;gap:2px;border-radius:999px;background:#f1f1f2;margin-top:.375rem}.opex-actual-planned-bar>span{height:100%;min-width:.25rem}.opex-actual-planned-bar-actual{background:#2a78d6}.opex-actual-planned-bar-planned{background:#cde2fb}.opex-allocation-grid{margin-top:1.125rem}.opex-monthly-legend{display:flex;flex-wrap:wrap;gap:.25rem 1.125rem;padding:.625rem 2px 0}.opex-monthly-legend-item{display:inline-flex;align-items:center;gap:.4375rem;font-size:.75rem;font-weight:600;color:#52514e}.opex-monthly-legend-swatch{width:.625rem;height:.625rem;border-radius:2px;flex:0 0 auto}.opex-monthly-svg{width:100%;height:auto;display:block;margin-top:.5rem}.opex-monthly-grid{stroke:#e1e0d9;stroke-width:1}.opex-monthly-axis-line{stroke:#c3c2b7;stroke-width:1}.opex-monthly-axis-label{font-size:.6875rem;fill:#898781;font-weight:600}.opex-monthly-segment-label{font-size:.625rem;font-weight:700;font-variant-numeric:tabular-nums}.opex-monthly-total-label{font-size:.75rem;font-weight:700;fill:#112a55;font-variant-numeric:tabular-nums}.total-revenue-section{display:flex;flex-direction:column;gap:.75rem}.total-revenue-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.dashboard-section-title{font-size:1.0625rem;font-weight:700;color:#202124;letter-spacing:-.01em}.total-revenue-section .dashboard-row{align-items:stretch}.revenue-trend-widget .pivot-header{align-items:flex-start}.revenue-headline-figures{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.revenue-headline-actual{font-size:.8125rem;font-weight:600;color:#112a55;white-space:nowrap;font-variant-numeric:tabular-nums}.revenue-headline-actual strong{font-size:1.125rem;font-weight:700;letter-spacing:-.02em}.revenue-headline-target{font-size:.75rem;font-weight:600;color:#8a93a6;white-space:nowrap;font-variant-numeric:tabular-nums}.revenue-headline{padding:2px 2px .875rem}.revenue-headline-bar{position:relative;display:flex;align-items:center;width:100%;height:.75rem;margin-top:.5rem;border-radius:999px;background:#f1f1f2}.revenue-headline-bar-fill{display:block;height:100%;min-width:.25rem;border-radius:999px;background:#2a78d6;transition:width .25s ease}.revenue-headline-bar-pct{position:absolute;left:.5rem;font-size:.6875rem;font-weight:700;color:#fff}.revenue-trend-legend{display:flex;gap:1.125rem;padding:.625rem 2px 0}.revenue-trend-legend .legend-item{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:#52514e}.revenue-trend-legend .legend-swatch{width:1rem;height:.1875rem;border-radius:2px;display:inline-block}.revenue-trend-chart{width:100%;height:auto;display:block;margin-top:.5rem}.revenue-breakdown-legend{display:flex;gap:1.125rem;padding:.625rem 2px .75rem}.revenue-breakdown-legend .legend-item{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:#52514e}.revenue-breakdown-legend .legend-swatch{width:.625rem;height:.625rem;border-radius:2px;display:inline-block}.revenue-breakdown-list{display:flex;flex-direction:column;gap:.75rem;padding:2px}.revenue-breakdown-row{display:grid;grid-template-columns:minmax(5rem,7rem) 1fr auto;align-items:center;gap:.75rem}.revenue-breakdown-label{font-size:.8125rem;font-weight:600;color:#112a55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenue-breakdown-bars{display:flex;flex-direction:column;gap:.1875rem}.revenue-breakdown-track{position:relative;height:.375rem;border-radius:999px;background:#f1f1f2;overflow:hidden}.revenue-breakdown-bar{display:block;height:100%;border-radius:999px;min-width:.1875rem}.planned-actual-pct{margin-left:.375rem;font-size:.6875rem;font-weight:600;color:#7e8eac;font-variant-numeric:tabular-nums}.revenue-breakdown-zero{position:absolute;top:0;bottom:0;width:1px;background:#c3c2b7}.revenue-breakdown-bar-planned{background:#c2790f}.revenue-breakdown-bar-actual{background:#2a78d6}.revenue-breakdown-vals{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.revenue-breakdown-val-actual{font-size:.8125rem;font-weight:700;color:#112a55;font-variant-numeric:tabular-nums}.revenue-breakdown-val-planned{font-size:.6875rem;font-weight:600;color:#7e8eac;font-variant-numeric:tabular-nums}.margin-gauge-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;padding:1.25rem 1rem 1rem}.margin-gauge{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.margin-gauge-ring{width:7rem;height:7rem;display:block}.margin-gauge-value{font-size:1.375rem;font-weight:700;fill:#112a55;font-variant-numeric:tabular-nums}.margin-gauge-value.money-negative{fill:#dc2626}.margin-gauge-value-long{font-size:1rem}.margin-gauge-label{margin-top:.375rem;font-size:.8125rem;font-weight:600;color:#112a55}.margin-gauge-amount{font-size:.9375rem;font-weight:700;color:#112a55;font-variant-numeric:tabular-nums}.margin-gauge-projected{font-size:.6875rem;font-weight:600;color:#7e8eac;font-variant-numeric:tabular-nums}@media (max-width: 1100px){.margin-gauge-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.margin-gauge-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.has-hint{text-decoration:underline dotted rgba(126,142,172,.7);text-underline-offset:3px;cursor:help}.cashflow-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.cashflow-kpi{padding:.875rem 1rem;border:1px solid #e5e9f0;border-radius:10px;background:#fff}.cashflow-kpi-label{font-size:.75rem;font-weight:600;color:#52607a}.cashflow-kpi-value{margin-top:.25rem;font-size:1.5rem;font-weight:700;color:#112a55;font-variant-numeric:tabular-nums}.cashflow-kpi-note{margin-top:2px;font-size:.6875rem;color:#7e8eac}.cashflow-chart-wrap{padding:.75rem 1rem .25rem;border:1px solid #e5e9f0;border-radius:10px;background:#fff}.cashflow-chart-title{font-size:.875rem;font-weight:700;color:#112a55;display:inline-block}.cashflow-chart-legend{display:flex;justify-content:center;gap:1.125rem;padding:.25rem 0 .375rem}.cashflow-chart-legend .legend-item{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:#52514e}.cashflow-chart-legend .legend-swatch{width:.625rem;height:.625rem;border-radius:50%;display:inline-block}.cashflow-chart{width:100%;height:auto;display:block}.cashflow-detail-toggle{margin-top:.75rem;padding:.25rem 0;border:0;background:none;cursor:pointer;font:inherit;font-size:.8125rem;font-weight:600;color:#1f4988}.cashflow-detail-toggle:hover{text-decoration:underline}@media (max-width: 640px){.cashflow-kpis{grid-template-columns:minmax(0,1fr)}}.cashflow-chart-value{font-size:10px;font-weight:600;fill:#26334a;font-variant-numeric:tabular-nums;pointer-events:none}.invoice-validate-table tr.invoice-validate-group td{background:#f5f6f8;color:#112a55;font-weight:700;border-top:1px solid #e5e9f0}.revenue-check{margin-bottom:1rem}.revenue-check-table tr.revenue-check-cause{cursor:pointer}.revenue-check-table tr.revenue-check-cause td{background:#f9fbff;border-top:1px solid #e5e9f0}.revenue-check-table tr.revenue-check-line td:first-child{padding-left:1.75rem}.revenue-check-payment+.revenue-check-payment{margin-top:.25rem}.revenue-check-table .invoice-import-action .btn{min-height:0;padding:.25rem .625rem;font-size:.75rem}.qbo-link-picker{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.5rem .25rem}.qbo-link-picker label{display:flex;flex-direction:column;gap:.25rem;font-size:.6875rem;color:#5c739c}.qbo-link-picker select{min-width:16rem;max-width:28rem;font:inherit;font-size:.75rem;padding:.3125rem .375rem}.qbo-link-picker label.qbo-link-showall{flex-direction:row;align-items:center;gap:.375rem}.qbo-link-actions{display:flex;gap:.5rem}.qbo-link-actions .btn{min-height:0;padding:.3125rem .875rem;font-size:.75rem}.import-sync{margin-bottom:1.25rem}.import-sync-inline{display:flex;flex-wrap:wrap;gap:.375rem;justify-content:flex-end;align-items:center}.import-sync-inline select,.import-sync-inline input{font:inherit;font-size:.75rem;padding:.25rem .375rem;max-width:16rem}.import-sync-table .invoice-import-action .btn{min-height:0;padding:.25rem .625rem;font-size:.75rem}.correct-toggle{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;color:#5c739c;white-space:nowrap;cursor:pointer}.correct-filter-toggle{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:#5c739c;margin-bottom:.75rem;cursor:pointer}.cashflow-changes{margin-top:.75rem}.cashflow-changes-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.expand-toolbar{display:flex;gap:.5rem;padding:.625rem 1rem;border-bottom:1px solid #f1f3f7;background:#f9fbff;justify-content:space-between;align-items:center}.invoices-subtable{padding:.25rem 0}.invoices-subtable-title{font-size:.6875rem;font-weight:700;color:#5c739c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.invoices-table{min-width:37.5rem}.invoices-table thead th{font-size:.625rem}.invoices-table tbody tr.invoice-row-planned td{color:#9ca3af}.invoices-table .cell-link{color:#1f4988;font-weight:600}.invoices-table .cell-link:hover{text-decoration:underline}.invoices-table tbody tr.invoice-row-planned .editable-cell .cell-placeholder{color:#9ca3af}.invoice-amount-cell{text-align:right;font-variant-numeric:tabular-nums}.invoice-actual-cell .editable-cell{min-width:8.75rem}.view-switcher{display:inline-flex;gap:.25rem;background:#eef1f8;border-radius:8px;padding:.25rem;margin-bottom:.875rem}.view-switcher-btn{background:transparent;border:none;padding:.4375rem 1rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#5c739c;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.view-switcher-btn:hover{color:#112a55}.view-switcher-btn-active{background:#fff;color:#1f4988;box-shadow:0 1px 2px #00000014}.invoices-view-table tbody tr.invoice-row-planned td,.invoices-view-table tbody tr.invoice-row-planned .editable-cell .cell-placeholder{color:#9ca3af}.invoices-view-table .invoice-actual-cell{min-width:11.25rem}.empty-state-row{padding:1.5rem;text-align:center;color:#7e8eac;font-style:italic}.salaries-table{min-width:max-content}.salaries-table th.salary-emp-col{min-width:11.25rem}.salaries-table th.salary-field-col{min-width:5rem}.salaries-table th.salary-annual-col,.salaries-table td.salary-annual-cell{background:#f1f5fb;border-left:2px solid #d7e3f7;min-width:6.875rem;text-align:right;font-weight:700}.salaries-table td.salary-annual-cell{color:#1f4988;font-variant-numeric:tabular-nums}.salary-emp-name{font-weight:700;color:#112a55;background:#f9fbff;vertical-align:middle;border-right:1px solid #e5e9f0}.salary-field-label{font-size:.6875rem;font-weight:700;color:#5c739c;text-transform:uppercase;letter-spacing:.5px}tr.salary-row-brutto td:not(.salary-emp-name){background:#d7e6f8;font-weight:600}tr.salary-row-brutto td.salary-field-label{color:#15356e;font-weight:800;border-left:3px solid #2b5797}tr.salary-row-brutto td.salary-annual-cell{background:#c2dbf8;color:#15356e}tr.salary-row-brutto:hover td:not(.salary-emp-name){background:#c9def6}tr.salary-emp-divider>td{border-top:2px solid #e5e9f0}tr.salary-emp-divider .salary-emp-name{border-top:2px solid #e5e9f0}.salaries-table th.salary-month-header{text-align:center}.salaries-table th.salary-planned-header,.salaries-table th.salary-actual-header{font-size:.5625rem;font-weight:700;color:#7e8eac;text-transform:uppercase;letter-spacing:.5px;text-align:right}.salaries-table th.salary-actual-header,.salaries-table td.salary-actual-cell{background:#eef1f6}tr.salary-row-brutto td.salary-actual-cell{background:#c9def6}tr.salary-row-brutto:hover td.salary-actual-cell{background:#bbd3ef}.cell-planned-fallback .cell-val{color:#9aa3b8;font-style:italic;font-weight:400}.cell-actual-recorded .cell-val{color:#111827;font-weight:700}.monthly-table .month-col .editable-cell{min-width:0}.monthly-table .month-col .cell-display{justify-content:flex-end;padding:.25rem .375rem;min-height:1.625rem}.monthly-table .month-col .cell-input{text-align:right;padding:.25rem .375rem}.add-employee-select{padding:.4375rem 1.75rem .4375rem .75rem;border-radius:8px;border:1px solid #e5e9f0;background:#fff;color:#1f4988;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;outline:none;letter-spacing:.2px;transition:border-color .15s,background .15s}.add-employee-select:hover:not(:disabled){border-color:#1f4988;background:#f1f5fb}.add-employee-select:disabled{opacity:.6;cursor:not-allowed}.add-employee-empty{font-size:.75rem;color:#7e8eac;font-style:italic}.bonus-cell{display:flex;align-items:center;gap:.375rem;cursor:pointer;padding:.3125rem .5rem;border-radius:6px;border:1.5px solid transparent;transition:border-color .15s,background .15s;min-height:2rem;font-size:.8125rem}.bonus-cell:hover{border-color:#a2c1f1;background:#f1f5fb}.bonus-cell .cell-placeholder{color:#aab2c0;font-style:italic;font-size:.75rem}.bonus-cell .edit-icon{opacity:0;color:#7e8eac;font-size:.6875rem;transition:opacity .15s;flex-shrink:0;margin-left:auto}.bonus-cell:hover .edit-icon{opacity:1}.bonus-month{color:#7e8eac;font-weight:400;font-size:.6875rem}.invoices-view-table .invoice-owner-cell{min-width:12.5rem}.invoices-view-table .invoice-owner-cell .editable-cell{min-width:0}.invoice-actual-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem}.invoice-flags{display:flex;flex-wrap:wrap;gap:.375rem}.invoices-view-table .invoice-status-cell{min-width:11.25rem}.invoice-flag-badge{display:inline-flex;align-items:center;padding:2px .5rem;border-radius:6px;font-size:.625rem;font-weight:600;line-height:1.5;white-space:nowrap;flex-shrink:0}.invoice-flag-issue_overdue,.invoice-flag-overdue{background:#fdecec;color:#c0392b}.invoice-flag-upcoming,.invoice-flag-partially_paid{background:#fbf1d9;color:#916008}.invoice-flag-overpaid{background:#efeafe;color:#6d28d9}.invoice-source-badge{display:inline-block;padding:2px .5rem;border-radius:20px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-left:.375rem}.invoice-source-manual{background:#eef1f8;color:#5c739c}.invoice-source-qbo{background:#d7e3f7;color:#1f4988}.invoice-due-overdue{color:#b91c1c;font-weight:600}.invoices-widgets-row{display:flex;gap:1.125rem;align-items:stretch;flex-wrap:wrap}.invoices-widgets-row>*{flex:1 1 20rem}.finzo-invoices-page{--finzo-navy: #202124;--finzo-navy-soft: #4f5157;--finzo-gold: rgb(244, 53, 53);--finzo-gold-deep: #d62f2f;--finzo-gold-pale: #fff1f1;--finzo-border: #e5e7eb;--finzo-muted: #687085;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:-2rem;padding:2rem;min-height:calc(100vh - 132px);background:radial-gradient(circle at 96% 0%,rgba(244,53,53,.09),transparent 25rem),#f8f9fc}.finzo-invoices-page .page-title{font-family:inherit;font-size:1.9375rem;font-weight:700;color:var(--finzo-navy);letter-spacing:-.8px;margin-bottom:.1875rem}.finzo-invoices-page .page-subtitle{color:var(--finzo-muted);margin:0}.finzo-breadcrumbs{margin-bottom:.4375rem;color:#9299a8;font-size:.6875rem;letter-spacing:.04em}.finzo-breadcrumbs span{margin:0 .4375rem;color:#c5cad3}.finzo-breadcrumbs b{color:var(--finzo-gold-deep);font-weight:700}.finzo-invoices-page .invoices-widgets-row{gap:1rem;margin-bottom:1.125rem}.finzo-invoices-page .invoices-widgets-row .pivot-wrap{margin:0;padding:1.1875rem 1.3125rem;border-color:#eef0f4;border-radius:14px;box-shadow:0 2px 5px #0f172a0a;position:relative;overflow:hidden}.finzo-invoices-page .invoices-widgets-row .pivot-wrap:before{content:"";position:absolute;inset:0 auto 0 0;width:.1875rem;background:linear-gradient(#f43535,#ff7a7a)}.finzo-invoices-page .pivot-title{color:var(--finzo-muted);font-size:.625rem;letter-spacing:.13em}.finzo-invoices-page .margin-total-label{color:#9299a8}.finzo-invoices-page .margin-total-value{font-family:inherit;color:var(--finzo-navy);font-weight:700}.finzo-grid-head{min-height:4.75rem;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.125rem;border-bottom:1px solid #eef0f4}.finzo-grid-title{font-family:inherit;color:var(--finzo-navy);font-size:1.125rem;font-weight:700}.finzo-grid-subtitle{margin-top:2px;font-size:.6875rem;color:#9299a8}.finzo-invoices-page .view-switcher{margin:0;padding:.1875rem;gap:2px;background:#f4f6fb;border-radius:9px}.finzo-invoices-page .view-switcher-btn{padding:.4375rem .8125rem;color:#6d7588;border-radius:7px;font-size:.6875rem}.finzo-invoices-page .view-switcher-btn:hover{color:var(--finzo-navy)}.finzo-invoices-page .view-switcher-btn-active{color:var(--finzo-navy);box-shadow:0 1px 3px #0f172a14;position:relative}.finzo-invoices-page .view-switcher-btn-active:after{content:"";position:absolute;left:30%;right:30%;bottom:2px;height:2px;border-radius:2px;background:#1f4988}.finzo-invoices-page table{font-size:.78125rem}.finzo-invoices-page thead tr{background:#fbfbfc;border-bottom-color:#e8eaf0}.finzo-invoices-page thead th{padding:.75rem 1rem;color:#747c8d;font-size:.59375rem;letter-spacing:.09em}.finzo-invoices-page tbody tr{border-bottom-color:#f0f1f4}.finzo-invoices-page tbody tr:hover{background:var(--finzo-gold-pale)}.finzo-invoices-page tbody td{padding:.8125rem 1rem;color:#26334a}.finzo-invoices-page tbody td:first-child{color:var(--finzo-navy);font-weight:700}.finzo-invoices-page .status-pill{font-size:.625rem;padding:.25rem .5625rem}.finzo-invoices-page .status-pill-open{background:#eef1f7;color:var(--finzo-navy-soft)}.finzo-invoices-page .status-pill-paid{background:#e7f5eb;color:#18763d}.finzo-invoices-page .invoice-source-badge{font-size:.5625rem}.finzo-invoices-page .invoice-flag-badge{font-size:.59375rem;padding:2px .4375rem}.finzo-invoices-page .btn-bulk{border-color:#e3e6ec;border-radius:8px;color:var(--finzo-navy)}.finzo-invoices-page .btn-bulk:hover{border-color:#c3c8d0;background:#f2f3f6;color:#33363d}@media (max-width: 760px){.finzo-invoices-page{margin:-1.25rem;padding:1.375rem 1rem}.finzo-grid-head{align-items:flex-start;flex-direction:column}.finzo-invoices-page .view-switcher{max-width:100%;overflow-x:auto}}.ct-sync-wrap{position:relative}.ct-sync-trigger{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .875rem;border:1px solid #e5e9f0;border-radius:8px;background:#fff;color:#112a55;font-size:.75rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}.ct-sync-trigger:hover{border-color:#a2c1f1;background:#f1f5fb}.ct-sync-trigger .ct-status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#c7d0e6;flex-shrink:0}.ct-sync-trigger .ct-status-dot.ok{background:#16a34a}.ct-sync-trigger .ct-status-dot.error{background:#b41c1c}.ct-sync-trigger .ct-status-dot.running{background:#1f4988;animation:ct-pulse 1.2s ease-in-out infinite}@keyframes ct-pulse{0%,to{opacity:1}50%{opacity:.35}}.ct-sync-popover{position:absolute;top:calc(100% + .375rem);right:0;min-width:17.5rem;background:#fff;border:1px solid #e5e9f0;border-radius:14px;box-shadow:0 8px 24px #3744561f;padding:.75rem;z-index:30}.ct-sync-popover-title{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:#5c739c;font-weight:600;margin-bottom:.5rem}.ct-sync-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .375rem;border-radius:8px}.ct-sync-row:hover{background:#f1f5fb}.ct-sync-row .btn-sync{padding:.3125rem .75rem;border-radius:6px;background:#f1f5fb;border:1px solid #d7e3f7;color:#1f4988;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.ct-sync-row .btn-sync:hover{background:#d7e3f7}.ct-sync-row .btn-sync:disabled{opacity:.6;cursor:not-allowed}.ct-sync-row .btn-sync.btn-sync-primary{background:#1f4988;color:#fff;border-color:#1f4988}.ct-sync-row .btn-sync.btn-sync-primary:hover{background:#16386b}.ct-sync-meta{font-size:.6875rem;color:#7e8eac;font-variant-numeric:tabular-nums}.ct-sync-meta.ok{color:#16a34a}.ct-sync-meta.error{color:#b41c1c}.badge-ok{background:#e7f7e7;color:#146c14}.badge-error{background:#fde8e8;color:#b41c1c;cursor:help}.badge-muted{background:#eee;color:#666}.input-locked-wrap{position:relative}.input-locked{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--line);border-radius:8px;background:#f6f7f8;color:var(--ink);font-size:.8125rem;font-family:inherit;cursor:default;outline:none}.input-locked-icon{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);color:var(--muted);opacity:.7;font-size:.75rem;pointer-events:none;-webkit-user-select:none;user-select:none}tbody tr.row-local-only td:first-child{box-shadow:inset 2px 0 #aeb6c4}.filter-toggle{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#555;margin:0 .5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f9fbff;padding:2rem}.login-card{background:#fff;border:1px solid #e5e9f0;border-radius:14px;box-shadow:0 4px 16px #37445614;padding:2.5rem 3rem;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:20rem}.login-card .logo{font-size:1.625rem}.login-subtitle{color:#5c739c;font-size:.875rem;margin:0}.login-btn{margin-top:.5rem;min-width:13.75rem;justify-content:center}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#5c739c;font-size:.875rem}.user-menu-wrap{position:relative}.user-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid #e5e9f0;background:#f1f5fb;color:#1f4988;font-size:.8125rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s;font-family:inherit}.user-menu-trigger:hover{background:#d7e3f7;border-color:#a2c1f1}.user-initials{letter-spacing:.5px}.user-menu-popover{position:absolute;top:calc(100% + .375rem);right:0;min-width:15rem;background:#fff;border:1px solid #e5e9f0;border-radius:14px;box-shadow:0 8px 24px #3744561f;padding:.75rem 1rem;z-index:40}.user-menu-name{font-size:.875rem;font-weight:700;color:#112a55}.user-menu-email{font-size:.75rem;color:#5c739c;margin-top:2px}.user-menu-divider{border:none;border-top:1px solid #e5e9f0;margin:.625rem 0}.user-menu-item{background:transparent;border:none;color:#112a55;font-size:.8125rem;font-weight:600;cursor:pointer;padding:.375rem 0;width:100%;text-align:left;font-family:inherit}.user-menu-item:hover{color:#b41c1c}.payments-grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.payments-grid-header .view-switcher{margin-bottom:0}.payments-wrap{overflow-x:auto}.payments-wrap>.grid-inner{max-height:70vh}.payments-table{min-width:max-content;border-collapse:separate;border-spacing:0}.payments-table th,.payments-table td{padding:.375rem .5rem;font-size:.75rem;white-space:nowrap;font-variant-numeric:tabular-nums;border-bottom:1px solid #eef0f5}.payments-table thead th{background:#f1f3f7;color:#112a55;position:sticky;top:0;z-index:2;text-align:center;font-weight:600}.payments-table thead th.payments-name-col{left:0;z-index:5;text-align:left}.payments-table thead tr>th:not(.payments-name-col){height:2.875rem;box-sizing:border-box}.payments-table thead tr:first-child>th{top:0;z-index:4}.payments-table thead tr:nth-child(2)>th{top:2.875rem;z-index:3}.payments-table tbody td.payments-name-col{position:sticky;left:0;background:#fff;z-index:1;min-width:16.25rem;max-width:16.25rem;box-shadow:1px 0 #e5e9f0;text-align:left}.payments-name-col{min-width:16.25rem;max-width:16.25rem}.payments-month-header{border-left:1px solid #e5e9f0;text-transform:uppercase;font-size:.6875rem;letter-spacing:.5px}.payments-planned-header,.payments-actual-header{font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7589;min-width:6.25rem}.payments-planned-header{border-left:1px solid #e5e9f0}.payments-actual-header{background:#e3e7ef}.payments-planned-col,.payments-actual-col{min-width:6.25rem;text-align:right}.payments-planned-col{border-left:1px solid #f0f2f7}.payments-actual-col{background:#eef1f6}tr.payments-data-row>td.payments-actual-col{background:#eef1f6}.payments-actual-qbo{background:#f0f7f0;box-shadow:inset 2px 0 #2ca01c}.payments-planned-col .editable-cell,.payments-actual-col .editable-cell{min-width:0}.payments-planned-col .cell-display,.payments-actual-col .cell-display{justify-content:flex-end}.payments-planned-col .cell-input,.payments-actual-col .cell-input{text-align:right}.payments-derived{color:#22304b;padding:0 .375rem}tr.payments-section>td{background:#e6f0ff}tr.payments-section td.payments-section-name{font-weight:700;color:#0b3b66;text-transform:uppercase;font-size:.75rem;letter-spacing:.6px;padding:.625rem .75rem;position:sticky;left:0}tr.payments-subsection{cursor:pointer}tr.payments-subsection>td{background:#f1f5fb}tr.payments-subsection:hover>td{background:#e6edf9}tr.payments-subsection td.payments-subsection-name{font-weight:600;color:#16486f;text-transform:uppercase;font-size:.875rem;letter-spacing:.5px;padding:.5rem .75rem .5rem 1.75rem;position:sticky;left:0}.payments-section-delete{margin-left:.5rem;vertical-align:middle}tr.payments-data-row:hover td.payments-name-col{background:#f7f9fc}.payments-row-label{color:#112a55}.payments-custom-name{display:flex;align-items:center;gap:.375rem}.payments-custom-name .editable-cell{flex:1;min-width:0}.payments-category-title{flex:1;min-width:0;text-align:left;background:none;border:none;padding:0;margin:0;color:#112a55;font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payments-category-title:hover{color:#1f4988;text-decoration:underline}.payments-group-title{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.payments-group-title:hover{text-decoration:underline}tr.payments-subtotal>td{background:#eef4ff;font-weight:700;color:#16a34a;border-top:2px solid #c6d4ee}tr.payments-subtotal td.payments-total-name{background:#eef4ff!important;color:#2a3550;text-transform:uppercase;font-size:.75rem;letter-spacing:.6px;font-weight:700}tr.payments-subtotal>td.payments-actual-col{background:#dfe9fc}tr.payments-section-total>td{background:#dde7f7;font-weight:800;color:#0b3b66;border-top:3px solid #0b3b66;border-bottom:2px solid #0b3b66}tr.payments-section-total td.payments-total-name{background:#dde7f7!important;color:#0b3b66;text-transform:uppercase;font-size:.8125rem;letter-spacing:.8px;font-weight:800}tr.payments-section-total>td.payments-actual-col{background:#ccdaf1}.payments-total-cell{text-align:right;padding-right:.75rem;font-weight:inherit}.payments-add-row{padding:.375rem .75rem;text-align:left;background:#fff}.payments-add-row .btn-bulk{padding:.25rem .625rem;font-size:.75rem}.payments-category-chart{margin-bottom:.75rem}.payments-category-chart .revenue-breakdown-row{grid-template-columns:8.5rem 1fr auto}.payments-category-chart .revenue-breakdown-list{display:grid;gap:.75rem 2rem;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column}@media (max-width: 1100px){.payments-category-chart .revenue-breakdown-list{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}}.invoice-detail{max-width:67.5rem;margin:0 auto;display:flex;flex-direction:column;gap:1.125rem}.inv-back{align-self:flex-start;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--muted);padding:.25rem 0;transition:color .15s}.inv-back:hover{color:var(--primary)}.inv-summary{padding:1.625rem 1.875rem}.inv-summary-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.inv-headings{min-width:0}.inv-title{font-family:inherit;font-size:1.5rem;font-weight:700;color:var(--ink);letter-spacing:-.3px;line-height:1.15}.inv-client{font-size:.8125rem;color:var(--muted);margin-top:.1875rem}.inv-pills{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.inv-figures{text-align:right;flex-shrink:0}.inv-amount{font-family:inherit;font-size:1.875rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.inv-amount .cur{font-size:.8125rem;color:var(--muted);font-weight:600;margin-left:.3125rem}.inv-amount .editable-cell{min-width:0;display:inline-flex}.inv-amount .cell-display{padding:2px .5rem;gap:.5rem}.inv-amount .cell-input{font-family:inherit;font-size:1.875rem;font-weight:700;color:var(--ink);width:10.625rem;padding:0 .375rem;line-height:1.1}.inv-amount .edit-icon{font-size:.75rem}.inv-doc{font-size:.75rem;color:var(--muted);margin-top:.375rem}.inv-sow{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--muted);margin-top:.25rem}.inv-sow .editable-cell{min-width:14rem}.inv-doc:has(.editable-cell){display:flex;justify-content:flex-end;align-items:center;gap:.25rem}.inv-doc .editable-cell{display:inline-flex;min-width:0}.inv-doc .editable-cell .cell-display{justify-content:flex-end}.inv-warning{margin-top:.875rem;font-size:.8125rem;font-weight:600;color:var(--neg);background:var(--neg-bg);border-radius:8px;padding:.5rem .75rem}.inv-stepper{display:flex;margin:1.625rem 0 .25rem}.inv-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;gap:.375rem}.inv-step:not(:first-child):before{content:"";position:absolute;top:.5rem;right:50%;width:100%;height:2px;background:var(--line)}.inv-step.done:not(:first-child):before,.inv-step.current:not(:first-child):before{background:var(--primary)}.inv-step-dot{position:relative;z-index:1;width:1.125rem;height:1.125rem;border-radius:50%;background:var(--surface);border:2px solid var(--line)}.inv-step.done .inv-step-dot{background:var(--primary);border-color:var(--primary)}.inv-step.current .inv-step-dot{border-color:var(--primary);box-shadow:0 0 0 4px var(--info-bg)}.inv-step.void .inv-step-dot{border-color:var(--muted)}.inv-step-label{font-size:.75rem;font-weight:700;color:var(--ink-2)}.inv-step.upcoming .inv-step-label{color:var(--muted)}.inv-step-date{font-size:.6875rem;color:var(--muted);font-variant-numeric:tabular-nums}.inv-meter{margin-top:1.5rem}.inv-meter-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.8125rem;margin-bottom:.4375rem}.inv-meter-head .paid{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.inv-meter-head .balance{color:var(--muted);font-variant-numeric:tabular-nums}.inv-meter-track{height:.5rem;border-radius:999px;background:#eaeef5;overflow:hidden}.inv-meter-fill{height:100%;border-radius:999px;transition:width .3s ease}.inv-meter-fill.partial{background:var(--primary)}.inv-meter-fill.full{background:var(--pos)}.inv-meter-fill.over{background:var(--violet)}.inv-due{margin-top:.875rem;font-size:.8125rem;color:var(--ink-2);display:inline-flex;align-items:center;gap:.375rem}.inv-due .label{color:var(--muted)}.inv-due.overdue .val{color:var(--neg);font-weight:700}.inv-actions{display:flex;gap:.625rem;flex-wrap:wrap;margin-top:1.375rem;padding-top:1.125rem;border-top:1px solid var(--line-soft)}.inv-lower{display:grid;grid-template-columns:1fr;gap:1.125rem}.inv-lower.has-qbo{grid-template-columns:18.75rem 1fr;align-items:start}@media (max-width: 820px){.inv-lower.has-qbo{grid-template-columns:1fr}}.inv-panel{padding:1.25rem 1.375rem}.inv-panel-title{font-size:.6875rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:.875rem}.inv-qbo-kv{display:flex;flex-direction:column;gap:.75rem}.inv-qbo-kv div{display:flex;justify-content:space-between;gap:.75rem;font-size:.8125rem}.inv-qbo-kv .k{color:var(--muted)}.inv-qbo-kv .v{color:var(--ink-2);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.inv-empty{padding:1.75rem;text-align:center;color:var(--muted);font-size:.8125rem}.inv-pay-form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line-soft)}.inv-pay-del{width:1.625rem;height:1.625rem;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-size:.9375rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.inv-pay-del:hover:not(:disabled){background:var(--neg-bg);border-color:var(--neg);color:var(--neg)}.inv-pay-del:disabled{opacity:.55;cursor:not-allowed}.btn-sync{padding:.375rem .875rem;border-radius:7px;background:#eef2f9;border:1px solid #dbe4f2;color:var(--primary);font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}.btn-sync:hover{background:#dbe4f2}.btn-sync:disabled{opacity:.6;cursor:not-allowed}.btn-sync.btn-sync-primary{background:#464a53;color:#fff;border-color:#464a53}.btn-sync.btn-sync-primary:hover{background:#383b42}.settings-type-count-cell{text-align:right;font-weight:600}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem 1.5rem;max-width:40rem}.settings-calc-value{border:1.5px solid var(--line-soft);border-radius:8px;padding:.5625rem .75rem;font-size:.875rem;color:var(--ink);background:#f8faff;min-height:2.375rem}.settings-calc-total{font-weight:700;color:var(--primary);border-color:#a2c1f1;background:#f1f5fb}:root{--ink: #202124;--ink-2: #4f5157;--muted: #7b7e85;--line: #e7e7e8;--line-soft: #f0f0f1;--bg: #f7f7f8;--surface: #fff;--primary: #f43535;--primary-2: #d62f2f;--brand: rgb(244,53,53);--radius: .5625rem;--shadow-sm: none;--shadow: 0 1px 2px rgba(15,23,42,.04)}body{background:var(--bg);color:var(--ink);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}h1,h2,h3,.page-title,.modal-title,.stat-value,.pivot-title{font-family:inherit;letter-spacing:-.025em}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.app-sidebar{width:17rem;height:100vh;position:sticky;top:0;flex:0 0 17rem;display:flex;flex-direction:column;color:#c4cad9;overflow-y:auto;overflow-x:hidden;background:#0c1729;border-right:1px solid rgba(255,255,255,.06);transition:width .18s ease,flex-basis .18s ease}.app-sidebar.is-mini{width:5rem;flex-basis:5rem}.app-sidebar:before{display:none}.app-brand{display:flex;align-items:center;gap:.75rem;padding:1.125rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06)}.app-brand-mark{width:2.5rem;height:2.5rem;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;box-shadow:0 7px 16px -7px #060d1ab3;overflow:hidden}.app-brand-mark img{display:block;width:2.5rem;height:2.5rem}.app-brand-copy{display:flex;flex-direction:column}.app-brand-copy strong{color:#fff;font:700 1.3125rem/1.1 Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.03em}.app-brand-copy small{margin-top:.25rem;color:#9c8890;font-size:.5rem;letter-spacing:.2em;text-transform:uppercase}.is-mini .app-brand{justify-content:center;padding-left:.75rem;padding-right:.75rem}.is-mini .app-brand-copy{display:none}.sidebar-section-label{padding:1.25rem 1.625rem .4375rem;color:#9c8890;font-size:.5625rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.app-sidebar .tabs{display:flex;flex-direction:column;gap:0;padding:.25rem .75rem 1.25rem}.tab-group{display:flex;flex-direction:column;gap:2px}.tab-group-label{padding:1.125rem .875rem .375rem;color:#9c8890;font-size:.5625rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase;white-space:nowrap}.is-mini .tab-group-label{height:1.1875rem;margin:.5625rem .6875rem .3125rem;padding:0;overflow:hidden;color:transparent;border-bottom:1px solid rgba(255,255,255,.07)}.app-sidebar .tab{width:100%;min-height:2.5rem;margin:0;padding:0 .8125rem;display:flex;align-items:center;gap:.75rem;border:0;border-radius:9px;color:#aeb7c9;font-size:.78125rem;font-weight:600;text-align:left;position:relative}.app-sidebar .tab:hover{color:#fff;background:#ffffff0b}.app-sidebar .tab-active{color:#fff;background:#ffffff13}.app-sidebar .tab-active:before{content:"";position:absolute;left:0;top:.4375rem;bottom:.4375rem;width:.1875rem;border-radius:0 3px 3px 0;background:linear-gradient(#ff7a7a,#f43535)}.tab-icon{width:1.25rem;height:1.25rem;color:#ffffff8c;display:grid;place-items:center}.tab-icon svg{width:1.125rem;height:1.125rem;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tab-active .tab-icon{color:#ff7a7a}.tab-badge{margin-left:auto;padding:2px .4375rem;border-radius:999px;background:#f43535;color:#fff;font-size:.5625rem;font-weight:800}.app-sidebar.is-mini .tab{justify-content:center;padding:0}.is-mini .tab-label,.is-mini .tab-badge{display:none}.sidebar-integrations{margin-top:auto;padding:0 .75rem 1rem}.sidebar-integrations .sidebar-section-label{padding:.75rem .875rem .4375rem}.sidebar-integrations>.ct-sync-wrap{width:100%;margin-top:.3125rem}.sidebar-integrations .ct-sync-trigger{width:100%;min-height:2.4375rem;justify-content:flex-start;padding:0 .8125rem;border-color:#ffffff1a;background:#ffffff0b;color:#c4cad9;border-radius:9px}.sidebar-integrations .ct-sync-trigger:hover{background:#f435351f;border-color:#f4353559;color:#fff}.sidebar-integrations .ct-status-dot{box-shadow:0 0 0 3px #ffffff0e}.sidebar-integrations .ct-sync-popover{left:0;right:0;top:auto;bottom:calc(100% + .4375rem);width:100%;min-width:0;color:var(--ink)}.is-mini .sidebar-integrations{display:none}.app-main{min-width:0;flex:1}.app-main>header{height:4.25rem;padding:0 1.75rem;position:sticky;top:0;z-index:40;background:#ffffffe0;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);border-bottom:1px solid var(--line-soft)}.sidebar-toggle{width:2.375rem;height:2.375rem;margin-right:1px;flex:0 0 auto;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#344054;cursor:pointer}.sidebar-toggle:hover{border-color:var(--line);background:#f4f4f5;color:#202124}.sidebar-toggle svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.header-search{width:min(420px,45vw);position:relative}.header-search>span{position:absolute;left:.8125rem;top:.6875rem;width:1.0625rem;height:1.0625rem;color:#8a93a6}.header-search>span svg{width:1.0625rem;height:1.0625rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.header-search input{width:100%;height:2.5rem;padding:0 .875rem 0 2.5rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:500 .75rem Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.header-search kbd{position:absolute;right:.5625rem;top:.5625rem;padding:.1875rem .375rem;border:1px solid #e3e6ec;border-radius:5px;background:#f4f6fb;color:#7d8597;font:600 .5625rem Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;pointer-events:none}.header-search input{padding-right:4rem}.header-search-results{position:absolute;left:0;right:0;top:calc(100% + .5rem);z-index:80;overflow:hidden;padding:.4375rem;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 18px 40px -14px #0f172a47}.header-search-caption{padding:.375rem .5625rem .5rem;color:#8a93a6;font-size:.5625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.header-search-result{width:100%;min-height:3.125rem;padding:.4375rem .625rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:0;border-radius:8px;background:transparent;color:var(--ink);font:600 .75rem Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;text-align:left}.header-search-result:hover,.header-search-result.active{background:#f4f5f7;color:#26334a}.header-search-result-main,.header-search-result-side{display:flex;flex-direction:column;min-width:0}.header-search-result-main{gap:2px;flex:1;min-width:0}.header-search-result-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.header-search-result-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:17.5rem}.header-search-result-side{align-items:flex-end;gap:.1875rem;flex:0 0 auto}.header-search-result-side em{padding:2px .375rem;border-radius:999px;background:#f4f6fb;color:#687085;font-size:.5rem;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.header-search-result small{color:#8a93a6;font-size:.5625rem;font-weight:600}.header-search-empty{padding:1.125rem .625rem;color:#8a93a6;font-size:.75rem;text-align:center}.header-search input:focus{outline:none;border-color:#1f4988;box-shadow:0 0 0 4px #1f49881f}.header-spacer{flex:1}.mobile-brand{display:none}.user-menu-trigger{min-height:2.625rem;width:auto;padding:.25rem .75rem .25rem .25rem;gap:.625rem;display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}.user-menu-trigger:hover{border-color:#c6cbd6;background:#fbfcfe;box-shadow:0 3px 12px -6px #0f172a38}.user-avatar,.user-initials{width:2.0625rem;height:2.0625rem;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;letter-spacing:.4px}.user-avatar{object-fit:cover;background:#eef1f6;box-shadow:inset 0 0 0 1px #0f172a14}.user-initials{background:linear-gradient(135deg,#565c67,#3a3f48);color:#fff;box-shadow:inset 0 0 0 1px #ffffff24}.user-trigger-copy{display:flex;flex-direction:column;text-align:left;max-width:10.625rem;line-height:1.25}.user-trigger-copy strong{overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:.78125rem;font-weight:600;white-space:nowrap}.user-trigger-copy small{color:var(--muted);font-size:.65625rem;letter-spacing:.2px}.user-menu-caret{width:.9375rem;height:.9375rem;flex:0 0 auto;color:var(--muted);stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.user-menu-head{display:flex;align-items:center;gap:.6875rem}.user-menu-head .user-avatar,.user-menu-head .user-initials{width:2.625rem;height:2.625rem;font-size:.9375rem}.user-menu-headcopy{min-width:0}.user-menu-item{display:flex;align-items:center;gap:.5625rem}.user-menu-item svg{width:1rem;height:1rem;color:currentColor;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.page{padding:1.75rem;max-width:100%;margin:0 auto}.page-loading{min-height:50vh;display:grid;place-items:center;color:#f43535}.page-title{color:var(--ink);font-size:1.8125rem;font-weight:600;letter-spacing:-.4px}.page-subtitle{color:var(--muted);font-size:.78125rem;margin-bottom:1.375rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.375rem}.page-header .page-title{display:inline-block;position:relative;margin:0}.page-header .page-title:after{display:none}.page-header .page-subtitle{margin:.5rem 0 0}.page-eyebrow{margin-bottom:.4375rem}.page-header-actions{display:flex;align-items:center;gap:.625rem}.finzo-invoices-page{margin:0;padding:0;min-height:0;background:transparent}.card,.stat-card,.settings-card{border:1px solid #e1e4e8;border-radius:9px;box-shadow:none;background:#fff}.stat-card{position:relative;overflow:hidden}.stat-card:before,.stat-card:after{display:none}.stat-label,.eyebrow{color:var(--muted);letter-spacing:.1em}.stat-value,.margin-total-value{color:var(--ink);font-family:inherit;font-weight:700}thead tr,.opex-table thead th,.cashflow-table thead th,.profitability-table thead th{background:#fbfbfc}thead th{color:#747c8d;font-size:.59375rem;letter-spacing:.09em;padding:.75rem .9375rem}tbody tr{border-bottom-color:#f0f1f4}tbody tr:hover,tbody tr:hover td{background:#f6f7f9}tbody td{color:#26334a;padding:.75rem .9375rem}thead tr.filter-row{background:#fff}.search-box{border-color:var(--line);border-radius:8px;color:var(--ink)}.search-box:focus{border-color:#1f4988;box-shadow:0 0 0 3px #1f49881f}.expand-toolbar{background:#fbfbfc;border-color:var(--line-soft)}.btn,.btn-bulk,.btn-cancel,.btn-sync{border-radius:9px}.btn-primary,.btn-sync-primary{color:#fff;border-color:#464a53;background:#464a53;box-shadow:none}.btn-primary:hover:not(:disabled),.btn-sync-primary:hover:not(:disabled){background:#383b42;border-color:#383b42}.btn-bulk:hover,.btn-cancel:hover:not(:disabled){background:#f2f3f6;border-color:#c3c8d0;color:#33363d}.view-switcher{background:#f4f6fb;border-radius:9px}.view-switcher-btn-active{color:var(--ink)}.status-pill-open{background:#f1f1f2;color:#4f5157}.modal{border:1px solid rgba(15,23,42,.1);border-radius:18px;box-shadow:0 32px 70px -18px #060d1a73;outline:none;scrollbar-color:#cfd4de transparent;scrollbar-width:thin}.user-menu-popover,.ct-sync-popover,.multiselect-popover,.searchable-select-menu{border-color:var(--line);border-radius:13px;box-shadow:0 18px 40px -14px #0f172a47}.user-menu-popover{padding:.9375rem 1rem}.user-menu-name{color:var(--ink);font-family:inherit;font-size:.9375rem;font-weight:700}.user-menu-email{color:var(--muted)}.user-menu-item{padding:.5rem .5625rem;border-radius:7px}.user-menu-item:hover{background:#f2f3f6;color:#464a53}.ct-sync-popover-title{color:var(--ink);font-family:inherit;font-size:.875rem;font-weight:700;text-transform:none;letter-spacing:0}.ct-sync-row:hover{background:#f6f7f9}.section-label{color:#d62f2f}.editable-cell .cell-display:hover{border-color:#c6cbd6;background:#f6f7f9}.cell-input,.multiselect-popover{border-color:#1f4988;box-shadow:0 0 0 3px #1f49881f}.multiselect-option:hover,.searchable-select-option:hover{background:#f4f5f7}.revenue-bar-fill{background:linear-gradient(90deg,#d98383,#e99b93,#f2b6ad)}.dashboard-page{display:flex;flex-direction:column;gap:1.125rem}.dashboard-heading{min-height:4.625rem;padding:2px 2px .875rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;border-bottom:1px solid #e5e5e7}.dashboard-heading .page-title{color:#202124;font-size:1.875rem}.dashboard-heading .page-subtitle{color:#777a80;margin:.3125rem 0 0}.dashboard-page .dashboard-row{gap:1.125rem}.dashboard-page .pivot-wrap{margin-bottom:0;position:relative;overflow:hidden}.dashboard-page .pivot-wrap:before{display:none}.dashboard-page .pivot-header{min-height:2.25rem;margin-bottom:.75rem}.dashboard-page .pivot-title{font-size:1.0625rem}.widget-subtitle{margin-top:2px;color:#8a93a6;font-size:.65625rem;font-family:inherit;font-weight:500}.dashboard-page .margin-total{padding-top:.375rem}.dashboard-page .margin-total-value{font-size:1.75rem}.dashboard-page .revenue-pie-wrap{min-height:0}.revenue-pie-center-label{fill:#8a93a6;font:700 .4375rem Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.16em}.revenue-pie-center-value{fill:#202124;font:700 .75rem Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.revenue-pie-label{display:none}.revenue-legend-swatch{border-radius:50%;box-shadow:0 0 0 3px #f4f5f7}.dashboard-page .revenue-legend-row{padding:.3125rem .4375rem;border-radius:7px;transition:background .15s}.dashboard-page .revenue-legend-row:hover{background:#f6f7f9}.invoices-widgets-row .pivot-wrap,.employee-totals,.profitability-strip{position:relative;overflow:hidden}.profitability-strip{padding:1rem 1.125rem;gap:2rem;background:linear-gradient(180deg,#fff,#fbfbfc);border-color:var(--line-soft);border-radius:13px;box-shadow:var(--shadow-sm)}.profitability-strip:before{content:"";position:absolute;inset:0 auto 0 0;width:.1875rem;background:linear-gradient(#1f4988,#4a7ac4)}.profitability-strip-label{color:var(--muted);letter-spacing:.09em}.profitability-strip-value{color:var(--ink);font-family:inherit;font-size:1.0625rem;font-weight:700}.margin-group{border-top-color:var(--line-soft)}.margin-row{min-height:2.125rem;padding:.375rem .4375rem;border-radius:7px}.margin-row:hover{background:#f6f7f9}.margin-row-label,.revenue-legend-name,.revenue-legend-val{color:var(--ink)}.empty-state{margin:0;border:1px dashed #dfe2e8;border-radius:13px;background:#fafafa}.dashboard-row .profitability-empty{min-height:9.375rem;display:grid;place-items:center;border:1px dashed #e2e2e4;border-radius:12px;background:#fafafa;color:#9a9ca2;font-style:normal}.grid-inner,.pivot-inner,.payments-wrap,.assignments-subtable{scrollbar-color:#cfd4de transparent;scrollbar-width:thin}.payments-wrap,.assignments-subtable{isolation:isolate}.expand-toolbar{min-height:3.625rem;padding:.625rem 1rem}.expand-toolbar .toolbar-left:before{content:"Table controls";margin-right:.375rem;color:var(--muted);font-size:.5625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}thead th.sortable-th:hover{color:#1f4988;background:#f1f5fb}thead th.sortable-active,thead th.sortable-active .sortable-indicator{color:#1f4988}tbody td:first-child,.payments-row-label{color:var(--ink)}.total-value-cell{color:#15803d;font-weight:700}.contract-id-code{background:#f4f6fb;color:var(--ink);border:1px solid #e8eaf0}.cell-link,.employee-name-link{color:#26334a;font-weight:500;text-decoration:none}.cell-link:hover,.employee-name-link:hover{color:#1f4988;text-decoration:underline}.expand-btn{border-color:#dfe2e8;border-radius:7px;color:#5c6b85;font-family:inherit}.expand-btn:hover{border-color:#1f4988;background:#f1f5fb;color:#1f4988}tr.expanded-row,tr.expanded-row:hover{background:#fbfbfc}tr.expanded-row>td{border-bottom-color:var(--line-soft)}.assignments-subtable{border-color:var(--line-soft);border-radius:12px;box-shadow:inset 0 1px #ffffffb3}table.subtable thead th{background:#f5f6f9;color:#737c8d;border-bottom-color:var(--line)}table.subtable tfoot tr.subtable-total th,table.subtable tfoot tr.subtable-total td{background:#f6f7f9;border-top-color:#e2e6ec;color:var(--ink)}.page-indicator{color:var(--ink);font-weight:600}.opex-wrap,.payments-wrap{border-radius:14px;box-shadow:var(--shadow-sm)}.opex-table thead th,.payments-table thead th,.cashflow-table thead th{background:#f5f6f9;color:#667085}.opex-table tbody td.opex-name-col,.payments-table tbody td.payments-name-col,.cashflow-table tbody th.cashflow-name-col{box-shadow:1px 0 0 var(--line)}tr.opex-group>td,tr.opex-group td.opex-name-col{background:#f6f7f9!important;color:var(--ink)}tr.opex-group:hover>td,tr.opex-group:hover td.opex-name-col{background:#eef0f3!important}tr.opex-total>td,tr.opex-total td.opex-name-col{background:#f1f5fb!important;color:#112a55;border-top:1px solid #d3ddf0}.opex-add-row{background:#fbfbfc}.cashflow-starting th.cashflow-name-col,.cashflow-starting td,.cashflow-incoming th.cashflow-name-col,.cashflow-incoming td,.cashflow-expense th.cashflow-name-col,.cashflow-expense td{background:#f1f5fb!important;color:#112a55}.payments-table th,.payments-table td{padding:.5rem .5625rem;border-bottom-color:var(--line-soft)}.payments-month-header{border-left-color:var(--line);color:var(--ink)!important}.payments-actual-col{background:#eef0f3}tr.payments-data-row>td.payments-actual-col{background:#eef0f3}.payments-actual-qbo{background:#f0f9f3;box-shadow:inset 2px 0 #2ca01c}.payments-table thead th.payments-actual-header{background:#e9eaee}tr.payments-section>td,tr.payments-section td.payments-section-name{background:#f1f1f2!important;color:#202124;border-bottom-color:#e0e0e2}tr.payments-section-incoming>td,tr.payments-section-incoming td.payments-section-name{background:#142746!important;color:#e8ecf5;border-bottom-color:#1f3a63}tr.payments-subsection>td,tr.payments-subsection td.payments-subsection-name{background:#142746!important;color:#e8ecf5}tr.payments-subtotal>td,tr.payments-subtotal td.payments-total-name{background:#f7f7f8!important;color:#15803d;border-top-color:#d7d7da}tr.payments-subtotal>td.payments-actual-col{background:#e9eaed!important}tr.payments-section-total>td,tr.payments-section-total td.payments-total-name{background:#f7f7f8!important;color:var(--ink);border-top-color:#d7d7da;border-bottom-color:#d7d7da}tr.payments-section-total>td.payments-actual-col{background:#e3e4e7!important}.view-toggle{padding:.1875rem;gap:2px;background:#f1f3f7;border-radius:10px}.btn-toggle{min-height:2.125rem;border-radius:8px;color:#667085}.btn-toggle.active{color:var(--ink);position:relative}.btn-toggle.active:after{content:"";position:absolute;left:34%;right:34%;bottom:.1875rem;height:2px;border-radius:2px;background:#1f4988}.monthly-section{padding:1rem;border:1px solid var(--line-soft);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.monthly-section-title{border-left-color:#1f4988;color:var(--ink);font-family:inherit;font-size:1rem;font-weight:700}.settings-card{padding:1.5rem 1.625rem 1.75rem;border-color:var(--line-soft);box-shadow:var(--shadow-sm)}.settings-card .section-label{color:#d62f2f;font-family:inherit;font-size:.9375rem;font-weight:700;text-transform:none;letter-spacing:0}.settings-calc-value{background:#fbfbfc;border-color:var(--line)}.settings-calc-total{background:#f7f7f8;border-color:#d7d7da;color:var(--ink);font-family:inherit;font-size:1rem;font-weight:700}.badge,.invoice-flag-badge,.invoice-source-badge,.status-pill{border:1px solid rgba(15,23,42,.045)}.icon-btn{border-radius:8px;background:#fff;border-color:var(--line)}.icon-btn:hover{background:#fff5f5}@media (max-width: 900px){.app-shell{display:block}.app-sidebar,.app-sidebar.is-mini{width:100%;height:auto;position:static;flex:none;overflow:visible}.app-brand,.sidebar-section-label{display:none}.app-sidebar .tabs{flex-direction:row;overflow-x:auto;padding:.5rem .625rem}.tab-group{display:contents}.tab-group-label{display:none}.app-sidebar .tab{width:auto;flex:0 0 auto;padding:0 .75rem}.app-sidebar.is-mini .tab{padding:0 .75rem}.is-mini .tab-label{display:inline}.app-sidebar .tab-active:before{inset:auto .625rem 0;width:auto;height:2px}.sidebar-integrations{display:none}.app-main>header{height:3.625rem;padding:0 1rem}.header-search{display:none}.mobile-brand{display:block;color:var(--ink);font:700 1.125rem Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.mobile-brand span{color:#f43535}.page{padding:1.25rem 1rem}.user-trigger-copy,.user-menu-caret{display:none}.user-menu-trigger{padding:.25rem}.dashboard-heading{align-items:flex-start;flex-direction:column;padding-bottom:1rem}}@media (max-width: 640px){.page{padding:1rem .75rem}.page-header{align-items:flex-start;flex-direction:column}.page-header-actions{width:100%;flex-wrap:wrap}.dashboard-row>*{flex-basis:100%}.revenue-bar-row{grid-template-columns:minmax(5.625rem,1fr) 2.25rem minmax(5rem,2fr);gap:.5rem}.revenue-bar-row>:last-child{grid-column:3}}.MuiDialog-paper.modal{overflow:hidden;border:1px solid #e8eaf0;border-radius:12px;background:#fff;box-shadow:0 20px 50px -18px #060d1a61}.overlay-backdrop{background:#060d1a9e!important;-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem)}.modal-body{overflow-y:auto}.modal-footer-right{display:flex;gap:.625rem;margin-left:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;position:relative;top:auto;min-height:4.875rem;padding:1.375rem 1.625rem 1.125rem;border-bottom:1px solid #eceef3;background:#fff}.modal-header:before{content:"";position:absolute;inset:0 auto 0 0;width:.25rem;background:transparent}.modal-title{color:#202124;font-size:1.25rem;font-weight:750;letter-spacing:-.025em}.modal-subtitle{margin-top:.25rem;color:#7b8394;font-size:.75rem}.modal-body{padding:1.5rem 1.625rem 1.75rem;background:#fbfbfc}.modal-footer{display:flex;align-items:center;justify-content:space-between;position:relative;bottom:auto;min-height:4.375rem;padding:1rem 1.625rem;border-top:1px solid #eceef3;background:#fff}.modal-close{display:inline-grid;width:2.125rem;height:2.125rem;place-items:center;border:1px solid #e5e7ec;border-radius:10px;background:#fff;color:#687085;font-size:1.125rem;transition:border-color .15s,background .15s,color .15s,transform .15s}.modal-close:hover{border-color:#ffcaca;background:#fff3f3;color:#d62f2f;transform:rotate(3deg)}.section-label{margin:.25rem 0 0;padding:0 0 .625rem;border-bottom:1px solid #e6e8ed;color:#202124;font-size:.75rem;font-weight:700;letter-spacing:.01em;text-transform:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.125rem}.form-hint{color:#8c93a1;font-size:.6875rem}.form-row{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full,.section-label,.invoice-section,.milestones-section,.opex-subcats-section{grid-column:1 / -1}.form-group>label,.modal-body label:not(.checkbox-label):not(.multiselect-option){color:#4f586a;font-size:.75rem;font-weight:650;letter-spacing:0;text-transform:none}.modal input[type=text],.modal input[type=date],.modal input[type=month],.modal input[type=number],.modal input[type=email],.modal select,.modal textarea{min-height:2.625rem;padding:.5625rem .75rem;border:1px solid #dfe2e8;border-radius:10px;background:#fff;color:#202124;font-family:inherit;font-size:.8125rem;box-shadow:0 1px 2px #0f172a06}.modal input[type=month]::-webkit-calendar-picker-indicator,.modal input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.modal input[type=month]:hover::-webkit-calendar-picker-indicator,.modal input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:.7}.modal input:hover,.modal select:hover,.modal textarea:hover{border-color:#b8bec9}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:#f43535;box-shadow:0 0 0 3px #f435351a}.searchable-select{position:relative}.form-group .searchable-select input{width:100%;box-sizing:border-box}.searchable-select-menu,.multiselect-popover{position:absolute;z-index:50;top:calc(100% + .375rem);right:0;left:0;max-height:15rem;overflow-y:auto;padding:.375rem;border:1px solid #e1e3e8;border-radius:10px;background:#fff;box-shadow:0 18px 38px -18px #060d1a61}.multiselect-popover-portal{position:fixed;z-index:1500;right:auto;left:auto}.multiselect-search{display:block;width:100%;box-sizing:border-box;margin-bottom:.375rem;padding:.4375rem .625rem;border:1px solid #e1e3e8;border-radius:8px;font-size:.8125rem}.multiselect-search:focus{outline:0;border-color:#1f4988;box-shadow:0 0 0 3px #1f498817}.searchable-select-option,.multiselect-option{padding:.5rem .625rem;border-radius:7px;color:#17233a;font-size:.8125rem;cursor:pointer}.searchable-select-option:hover,.searchable-select-option-active,.multiselect-option:hover{background:#fff3f3}.searchable-select-option-selected{font-weight:700}.searchable-select-empty,.multiselect-empty{padding:.625rem;color:#8c93a1;font-size:.75rem;text-align:center}.checkbox-list{display:flex;max-height:10rem;overflow-y:auto;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem;border:1px solid #e1e3e8;border-radius:10px;background:#fff}.checkbox-list-item,.checkbox-label,.multiselect-option{display:flex;align-items:center;gap:.4375rem;font-weight:500;letter-spacing:0;text-transform:none}.checkbox-list-item input,.checkbox-label input,.multiselect-option input{width:auto}.multiselect-popover-fit{overflow-x:hidden}.multiselect-popover-fit .multiselect-option{white-space:nowrap}.multiselect-popover-fit .multiselect-option span{min-width:0;overflow:hidden;text-overflow:ellipsis}.multiselect-popover-fit .multiselect-option input{flex:0 0 auto}.form-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.form-label-check{font-size:.75rem;color:#4f586a;cursor:pointer}.form-hint-link{margin-top:.375rem;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:.75rem;font-weight:600;color:#1f4988;align-self:flex-start}.form-hint-link:hover{text-decoration:underline}.invoice-section,.milestones-header,.milestone-row,.bonuses-header,.bonus-row,.opex-subcats-header,.opex-subcat-row{border:1px solid #e5e7ec;border-radius:12px;background:#fff}.invoice-section-title,.milestones-header-label,.bonuses-header-label,.opex-subcats-header-label{color:#202124;text-transform:none;letter-spacing:0}.milestones-header-count,.bonuses-header-count,.opex-subcats-header-count{background:#eef0f3;color:#5c6472}.btn-add-milestone,.btn-add-bonus,.btn-add-opex-subcat{display:inline-flex;align-items:center;gap:.3125rem;padding:.4375rem .75rem;border:1px solid #dfe2e8;border-radius:8px;background:#fff;color:#464a53;font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.btn-add-milestone:hover,.btn-add-bonus:hover,.btn-add-opex-subcat:hover{background:#f4f5f7;border-color:#c3c8d0}.invoice-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.125rem;padding:1.125rem}.invoice-section-title{grid-column:1 / -1;font-size:.75rem;font-weight:700}.milestones-section,.milestone-rows,.bonuses-section,.bonus-rows,.opex-subcats-section,.opex-subcat-rows{display:flex;flex-direction:column;gap:.75rem}.milestones-header,.bonuses-header,.opex-subcats-header{display:flex;align-items:center;justify-content:space-between;padding:.6875rem .875rem}.milestones-header-left,.bonuses-header-left,.opex-subcats-header-left{display:flex;align-items:center;gap:.5rem}.milestones-header-count,.bonuses-header-count,.opex-subcats-header-count{padding:.1875rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:700}.milestone-row,.milestone-col-labels{display:grid;grid-template-columns:minmax(11.25rem,1fr) 8.75rem 8.125rem 2rem;gap:.5rem;align-items:start}.bonus-row,.bonus-col-labels{display:grid;grid-template-columns:8.125rem 8.75rem minmax(11.25rem,1fr) 2rem;gap:.5rem;align-items:start}.opex-subcat-row,.opex-subcat-col-labels{display:grid;grid-template-columns:minmax(11.25rem,1fr) 8.75rem 2rem;gap:.5rem;align-items:start}.milestone-col-labels,.bonus-col-labels,.opex-subcat-col-labels{align-items:center}.milestone-name-input{resize:none;overflow:hidden;min-height:2.625rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.milestone-row,.bonus-row,.opex-subcat-row{padding:.625rem .75rem}.milestone-col-labels,.bonus-col-labels,.opex-subcat-col-labels{padding:0 .75rem}.milestone-col-label,.bonus-col-label,.opex-subcat-col-label{color:#8c93a1;font-size:.625rem;font-weight:700;text-transform:uppercase}.milestone-remove,.bonus-remove,.opex-subcat-remove{width:1.875rem;height:1.875rem;border:1px solid #e1e3e8;border-radius:8px;background:#fff;color:#7b8394;cursor:pointer}.milestone-remove:hover,.bonus-remove:hover,.opex-subcat-remove:hover{border-color:#ffc3c3;background:#fff3f3;color:#d62f2f}.milestone-total,.bonus-total,.opex-subcat-total{display:flex;justify-content:flex-end;gap:.375rem;color:#7b8394;font-size:.75rem}.edit-category-subcat-rows{display:flex;flex-direction:column;gap:.75rem}.edit-category-subcat-row{display:grid;grid-template-columns:minmax(11.25rem,1fr) 2rem;gap:.5rem;align-items:center;border:1px solid #e5e7ec;border-radius:12px;background:#fff;padding:.625rem .75rem}.edit-category-add-subcat{display:flex;gap:.5rem;margin-top:.75rem}.edit-category-add-subcat input{flex:1}.edit-category-subcat-row:has(.btn-bulk){grid-template-columns:minmax(11.25rem,1fr) auto}.milestone-total strong,.bonus-total strong,.opex-subcat-total strong{color:#26334a}.grid-wrap{overflow:hidden;border:1px solid #e6e8ed;border-radius:16px;background:#fff;box-shadow:0 8px 26px -20px #060d1a4d}.grid-inner{scrollbar-color:#c8ccd5 transparent;scrollbar-width:thin}.grid-inner::-webkit-scrollbar{width:.5rem;height:.5rem}.grid-inner::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:#c8ccd5}.grid-inner{overflow-x:auto}.grid-wrap table{width:100%;min-width:75rem;border-collapse:separate;border-spacing:0;font-size:.78125rem}.grid-wrap thead tr{border:0;background:#fff}.grid-wrap thead tr:first-child{box-shadow:inset 0 -1px #e5e7eb}.grid-wrap thead th{height:3rem;padding:0 .875rem;border:0;background:#fff;color:#687085;font-size:.65625rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.grid-wrap tbody tr{border:0;background:#fff}.grid-wrap tbody tr:hover,.grid-wrap tbody tr:hover>td{background:#f6f7f9}.toolbar-left,.subtable-actions{display:flex;align-items:center;gap:.5rem}.subtable-actions{justify-content:flex-end;margin-bottom:.5rem}.grid-wrap thead tr.filter-row{background:#f7f7f8}.grid-wrap thead tr.filter-row th{height:3.125rem;padding:.5rem .4375rem;border-bottom:1px solid #e9e9eb;background:#f7f7f8}.col-filter{height:2.125rem;padding:0 .6875rem;border:1px solid transparent;border-radius:9px;background:#fff;color:#34363a;font-size:.6875rem;box-shadow:0 1px 2px #0000000a,inset 0 0 0 1px #e5e5e7;transition:border-color .15s,box-shadow .15s,background .15s}.col-filter::placeholder{color:#a5a7ac}.col-filter:hover{background:#fff;box-shadow:inset 0 0 0 1px #cacbce}.col-filter:focus{outline:0;border-color:#1f4988;box-shadow:0 0 0 3px #1f49881a}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-indicator{margin-left:.3125rem;color:#c1c6d0;font-size:.625rem}.sortable-active .sortable-indicator,.sortable-th:hover .sortable-label{color:#1f4988}.cell-display{min-height:2.125rem;border-width:1px;border-radius:8px;color:#26334a}.cell-display:hover{border-color:#ffc3c3;background:#fff}.cell-input{border:1px solid #1f4988;border-radius:8px;box-shadow:0 0 0 3px #1f49881a}.editable-cell{position:relative;min-width:6.25rem}.cell-display{display:flex;align-items:center;gap:.375rem;padding:.3125rem .5rem;cursor:pointer}.cell-display .cell-placeholder{color:#a1a7b3;font-size:.75rem;font-style:italic}.cell-display .edit-icon{opacity:0;color:#8c93a1;font-size:.6875rem}.cell-display:hover .edit-icon{opacity:1}.cell-input{width:100%;padding:.375rem .5rem;outline:0;background:#fff;color:#26334a;font:inherit}.cell-link,.contract-link{color:#26334a;font-weight:500}.cell-link:hover,.contract-link:hover{color:#1f4988;text-decoration:underline}.btn,.btn-bulk,.btn-cancel,.btn-danger,.btn-danger-solid{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.375rem;padding:0 .9375rem;border-radius:9px;font:inherit;font-size:.8125rem;font-weight:650;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:none}.btn-secondary{border-color:#d9dde4;background:#fff;color:#464a53;text-transform:none;letter-spacing:0;font-weight:600}.btn-secondary:hover:not(:disabled){border-color:#c3c8d0;background:#f4f5f7}.btn-primary{border-color:#464a53;background:#464a53;color:#fff;box-shadow:0 5px 12px -7px #0f172a59;text-transform:none;letter-spacing:0}.btn-primary:hover:not(:disabled){border-color:#383b42;background:#383b42}.btn-cancel{border:1px solid #e1e3e8;background:#fff;color:#364156}.btn-cancel:hover:not(:disabled){border-color:#c8ccd5;background:#f6f7f9}.btn-danger{border:1px solid #ffc3c3;background:#fff;color:#d62f2f}.btn-danger:hover:not(:disabled){background:#fff1f1}.btn-danger-solid{border:1px solid #d62f2f;background:#d62f2f;color:#fff}.btn-danger-solid:hover:not(:disabled){background:#b82424}.btn-cancel:disabled,.btn-danger:disabled,.btn-danger-solid:disabled{opacity:.5;cursor:not-allowed}.btn-bulk{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e1e3e8;background:#fff;color:#364156;padding:.4375rem .6875rem;box-shadow:none;font:inherit;cursor:pointer}.btn-bulk:hover:not(:disabled){border-color:#ffc3c3;background:#fff4f4;color:#d62f2f}.grid-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:1.25rem;min-height:3.625rem;padding:.625rem 1rem;border-top:1px solid #eceef2;background:#fff;color:#7b8394}.grid-pagination .page-size,.grid-pagination .page-nav{display:flex;align-items:center;gap:.5rem}.grid-pagination .page-size select{width:auto}.grid-pagination .page-indicator{min-width:5.625rem;text-align:center}.grid-pagination label{color:inherit;font-size:.6875rem;letter-spacing:0;text-transform:none}.grid-pagination .btn-bulk{min-height:2rem;padding:.25rem .6875rem}.empty-state{padding:4.375rem 1.25rem;color:#8c93a1}.project-empty-state{min-height:11.875rem;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;border:0;border-radius:0;background:#fff}.project-empty-state:before{display:none}.project-empty-state strong{color:#34363a;font-size:.9375rem}.project-empty-state p{max-width:21.25rem;margin:0 0 .375rem;color:#85888f;font-size:.75rem}.project-empty-icon{width:2.625rem;height:2.625rem;display:grid;place-items:center;border-radius:12px;background:#fff1f1;color:#d86f6f}.project-empty-icon svg{width:1.375rem;height:1.375rem}.pivot-wrap{border:1px solid #e6e8ed;border-radius:16px;background:#fff;box-shadow:0 8px 26px -20px #060d1a4d;padding:1rem 1.125rem;margin-bottom:1.125rem}.pivot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.625rem}.pivot-inner{overflow-x:auto}.pivot-table{width:100%;border-collapse:collapse;font-size:.75rem}.pivot-title{color:#202124;font-size:.875rem;font-weight:700;letter-spacing:-.01em;text-transform:none}.pivot-filter{height:2.125rem;box-sizing:border-box;padding:0 1.875rem 0 .6875rem;border:1px solid #e5e9f0;border-radius:8px;background-color:#fff;color:#26334a;font:inherit;font-size:.78125rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a93a6' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:13px}.pivot-filter:hover{border-color:#cfd3da}.pivot-filter:focus{outline:0;border-color:#1f4988;box-shadow:0 0 0 3px #1f49881a}.pivot-table thead th{border-bottom-color:#e8eaf0;background:#fafafb;color:#737b8c}.pivot-table tbody th{background:#fff;color:#26334a}.pivot-table tbody td,.pivot-table tbody th{border-bottom-color:#eff0f3}.pivot-table tr.pivot-grand-total th,.pivot-table tr.pivot-grand-total td{border-top:1px solid var(--line);background:#f7f8fa;color:var(--ink);font-weight:700}.pivot-table tr.pivot-grand-total th{color:#202124}.pivot-table thead th{padding:.5rem .4375rem;text-align:right;white-space:nowrap}.pivot-table thead th:first-child,.pivot-table tbody th{text-align:left}.pivot-table tbody th,.pivot-table tbody td{padding:.5rem .625rem;white-space:nowrap}.pivot-table tbody td{text-align:right;font-variant-numeric:tabular-nums;color:#26334a}.opex-table tbody td,.opex-table tbody th,.cashflow-table tbody td,.cashflow-table tbody th,.payments-table tbody td,.payments-table tbody th{color:#26334a}.badge{display:inline-flex;padding:.1875rem .5625rem;border-radius:999px;font-size:.6875rem;font-weight:650}.badge-one{background:#f1edff;color:#6d28d9}.badge-month{background:#fff1f1;color:#b82424}.badge-quart{background:#edf2fb;color:#315b98}.badge-mile{background:#e8f7ee;color:#11713a}.empty-state{text-align:center}.icon-btn{width:1.875rem;height:1.875rem;border:1px solid #e1e3e8;border-radius:8px;background:#fff;color:#7b8394;cursor:pointer}.icon-btn:hover{border-color:#ffc3c3;background:#fff3f3;color:#d62f2f}.cell-link{border:0;background:none;cursor:pointer;text-align:left;padding:0;white-space:nowrap;font:inherit}.contract-id-code{padding:.1875rem .4375rem;border-radius:6px;background:#f3f4f6;font-size:.75rem}.total-value-cell{color:#17233a;font-weight:700}.payment-terms-cell{max-width:9.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contracts-table th.col-contract-id,.contracts-table td.col-contract-id{min-width:11.875rem;text-align:left}.contracts-table th.total-value-cell,.contracts-table td.total-value-cell{text-align:right}.real-cell{text-align:center}tbody tr.is-unreal>td,tbody tr.is-unreal>th{opacity:.45}tbody tr.is-unreal>td.real-cell{opacity:1}tbody tr.is-fully-consumed>td,tbody tr.is-fully-consumed>th{color:var(--pos)}tbody tr.is-fully-consumed .cell-link{color:var(--pos)}@media (max-width: 640px){.MuiDialog-paper.modal{width:calc(100% - 1.25rem);margin:.625rem;border-radius:16px}.modal-header{min-height:4.25rem;padding:1.125rem}.modal-body{padding:1.25rem 1.125rem 1.5rem}.modal-footer{padding:.875rem 1.125rem}.form-grid,.form-row,.invoice-section{grid-template-columns:minmax(0,1fr)}.modal-footer{align-items:stretch;flex-direction:column;gap:.625rem}.modal-footer-right{justify-content:flex-end;flex-wrap:wrap}.milestone-col-labels,.bonus-col-labels,.opex-subcat-col-labels{display:none}.milestone-row,.bonus-row,.opex-subcat-row{grid-template-columns:minmax(0,1fr) 2rem}.milestone-row>*,.bonus-row>*,.opex-subcat-row>*{grid-column:1}.milestone-row .milestone-remove,.bonus-row .bonus-remove,.opex-subcat-row .opex-subcat-remove{grid-column:2;grid-row:1}.expand-toolbar{align-items:stretch;flex-direction:column}.toolbar-left{flex-wrap:wrap}.dashboard-page .pivot-wrap{width:100%;max-width:100%;padding:1rem}.dashboard-page .pivot-header{align-items:flex-start;flex-wrap:wrap;gap:.625rem}.dashboard-page .pivot-filter{max-width:9.0625rem}.revenue-distribution-total strong{font-size:1.25rem}.revenue-legend-row{grid-template-columns:.5rem minmax(4.75rem,1fr) auto 2rem;gap:.4375rem}.revenue-legend-track{display:none}.revenue-legend-val{font-size:.6875rem}.revenue-legend-pct{min-width:1.875rem;font-size:.6875rem}}.grid-wrap{--grid-gutter: 1rem;overflow:clip;border:1px solid #e2e4e9;border-radius:10px;background:#fff;box-shadow:none}.expand-toolbar{min-height:4.25rem;padding:.8125rem 1rem;border:1px solid #e2e4e9;border-bottom:0;border-radius:18px 18px 0 0;background:#fffffff5;box-shadow:none}.grid-wrap>.expand-toolbar{border:0;border-bottom:1px solid #ebecef;border-radius:0}.expand-toolbar .toolbar-left:before{display:none}.grid-inner{position:relative;overflow:auto;scrollbar-gutter:stable;background:#fff}.grid-wrap table{min-width:70rem;border-collapse:separate;border-spacing:0;font-size:.8125rem;line-height:1.35}.grid-wrap thead{position:relative;z-index:4}.grid-wrap thead tr:first-child{box-shadow:none}.grid-wrap thead th{position:sticky;top:0;z-index:3;height:2.875rem;padding:0 var(--grid-gutter);border:0;border-bottom:1px solid #e6e8ec;background:#fafafa;color:#525866;font-size:.71875rem;font-weight:700;letter-spacing:-.005em;text-transform:none;white-space:nowrap}.grid-wrap thead tr.filter-row th{position:sticky;top:2.875rem;z-index:2;height:3rem;padding:.4375rem .375rem;border-bottom:1px solid #e8eaee;background:#f5f6f8;animation:grid-filter-reveal .16s ease-out both}@keyframes grid-filter-reveal{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.col-filter{width:100%;height:2.125rem;min-width:0;padding:0 .625rem;border:1px solid transparent;border-radius:8px;background:transparent;color:#272a31;font:600 .71875rem/1 Manrope,sans-serif;box-shadow:none}.col-filter::placeholder{color:#9a9fa9;font-weight:500}.col-filter:hover{border-color:#dfe2e7;background:#fff;box-shadow:none}.col-filter:focus{outline:0;border-color:#1f4988;background:#fff;box-shadow:0 0 0 3px #1f498817}.grid-wrap tbody td,.grid-wrap tbody th{height:3.5rem;padding:.625rem var(--grid-gutter);border:0;border-bottom:1px solid #eef0f2;background:#fff;color:#26334a;font-variant-numeric:tabular-nums;transition:background-color .12s ease,box-shadow .12s ease}.grid-wrap tbody tr:hover>td,.grid-wrap tbody tr:hover>th{background:#fafafa}.grid-wrap tbody tr:hover>:first-child{box-shadow:inset 3px 0 #1f4988}.grid-wrap tbody tr:last-child>td,.grid-wrap tbody tr:last-child>th{border-bottom:0}.grid-wrap tbody td:has(.status-pill),.grid-wrap tbody td:has(.badge){white-space:nowrap}.grid-wrap tbody tr.group-header-row>td{height:auto;padding:.5625rem var(--grid-gutter, 1rem);background:#f5f6f8;border-bottom:1px solid #e6e8ec;color:#525866;font-size:.875rem;font-weight:700;letter-spacing:-.005em}.grid-wrap tbody tr.group-header-row{cursor:pointer}.grid-wrap tbody tr.group-header-row:hover>td{background:#eef0f3}.grid-wrap tbody tr.group-header-row:hover>td:first-child{box-shadow:none}.group-header-toggle{display:inline-block;width:.875rem;margin-right:.375rem;color:#9aa0ab;font-size:.625rem}.grid-wrap tbody tr.group-header-row>td.group-header-total-label{text-align:right;color:#9aa0ab;font-size:.75rem;font-weight:600;white-space:nowrap}.group-header-count{margin-left:.5rem;padding:1px .4375rem;border-radius:999px;background:#e9ebef;color:#6d7380;font-size:.65625rem;font-weight:700}.invoices-view-table{min-width:76.25rem!important}.invoices-view-table th:nth-child(1),.invoices-view-table td:nth-child(1){min-width:9.375rem}.invoices-view-table th:nth-child(2),.invoices-view-table td:nth-child(2){min-width:7.5rem}.invoices-view-table th:nth-child(4),.invoices-view-table td:nth-child(4){min-width:9.375rem}.invoices-view-table th:nth-child(8),.invoices-view-table td:nth-child(8){min-width:9.0625rem}.sortable-th{transition:color .12s ease,background-color .12s ease}.sortable-th:hover{color:#202124!important;background:#f3f4f6!important}.sortable-label{vertical-align:middle}.sortable-indicator{display:inline-grid;width:1rem;height:1rem;margin-left:.1875rem;place-items:center;border-radius:5px;color:#a4a9b2;font-size:.5625rem;vertical-align:middle}.sortable-active .sortable-indicator{background:#feecec;color:#d62f2f}.cell-display{min-height:2.125rem;margin:-.25rem -.5rem;border:1px solid transparent;border-radius:8px;padding:.3125rem .5rem}.cell-display:hover{border-color:#e0e3e8;background:#fff}.cell-display .edit-icon{color:#9da2ac}.grid-pagination{min-height:3.625rem;padding:.625rem 1rem;justify-content:space-between;gap:.875rem;border-top:1px solid #e8eaee;background:#fafafa;color:#6d7380;font-size:.71875rem}.grid-pagination .page-size{margin-right:auto}.grid-pagination .page-size .col-filter{width:4.125rem;border-color:#dfe2e7;background:#fff}.grid-pagination .btn-bulk{min-width:4.5rem;min-height:2rem;border-color:#dfe2e7;background:#fff;box-shadow:0 1px 2px #1018280a}.grid-pagination .btn-bulk:disabled{background:transparent;box-shadow:none}.page-indicator{min-width:auto!important;color:#444a55;font-weight:650}.page-range{color:#7b818c;font-variant-numeric:tabular-nums}.status-pill,.badge,.invoice-flag-badge,.invoice-source-badge{min-height:1.5rem;align-items:center;padding:.1875rem .5625rem;border-radius:7px;box-shadow:inset 0 0 0 1px #1018280b;font-size:.65625rem;font-weight:700}.empty-state,.empty-state-row{min-height:13.75rem;padding:4rem 1.5rem!important;border:0;border-radius:0;background:#fff;color:#7f8591;text-align:center}.pivot-table thead th,.opex-table thead th,.payments-table thead th,.cashflow-table thead th{color:#535a68;font-size:.65625rem;font-weight:700;letter-spacing:0;text-transform:none}.pivot-table tbody td,.pivot-table tbody th{height:2.625rem}@media (max-width: 640px){.grid-wrap{margin-inline:-.25rem;border-radius:14px}.expand-toolbar{border-radius:14px 14px 0 0}.grid-wrap table{min-width:61.25rem}.grid-wrap thead th{height:2.75rem;padding-inline:.75rem}.grid-wrap thead tr.filter-row th{top:2.75rem}.grid-wrap tbody td,.grid-wrap tbody th{height:3.25rem;padding-inline:.75rem}.grid-pagination{align-items:flex-start;flex-direction:column}.grid-pagination .page-nav{width:100%;justify-content:space-between}.page-range{order:-1}.expand-toolbar>.view-switcher{width:100%;margin:.25rem 0 0;overflow-x:auto}}@media (prefers-reduced-motion: reduce){.grid-wrap thead tr.filter-row th{animation:none}}.finzo-invoices-page .invoices-widgets-row{gap:.75rem;margin-bottom:.875rem}.finzo-invoices-page .invoices-widgets-row .pivot-wrap{min-height:6rem;padding:.9375rem 1.125rem;border-radius:12px;box-shadow:0 1px 2px #10182809}.finzo-invoices-page .invoices-widgets-row .pivot-wrap:before{display:none}.finzo-invoices-page .invoices-widgets-row .pivot-header{margin-bottom:.5rem}.finzo-invoices-page .invoices-widgets-row .pivot-title{color:#626975;font-size:.6875rem;letter-spacing:.06em}.finzo-invoices-page .invoices-widgets-row .margin-total{padding:0}.finzo-invoices-page .invoices-widgets-row .margin-total-value{font-size:1.625rem}.finzo-grid-head{min-height:4.5rem;padding:.8125rem 1rem}tr:has(>.opex-add-row):hover>:first-child,tr:has(>.payments-add-row):hover>:first-child{box-shadow:none}.opex-add-row,.payments-add-row{background:#fafafa!important}.opex-add-row .btn-bulk,.payments-add-row .btn-bulk{min-height:2rem;padding:.25rem .5rem;border-color:transparent;background:transparent;color:#525866;box-shadow:none}.opex-add-row .btn-bulk:hover,.payments-add-row .btn-bulk:hover{border-color:#dfe2e7;background:#fff;color:#202124}.settings-card{width:min(57.5rem,100%);max-width:none}.settings-card .form-grid{grid-template-columns:repeat(2,minmax(13.75rem,1fr))}@media (max-width: 640px){.settings-card .form-grid{grid-template-columns:minmax(0,1fr)}}.form-group .btn-picker{align-self:flex-start;justify-content:flex-start;gap:.5rem;min-width:13.75rem;max-width:100%;padding-left:.75rem;border-style:dashed;color:var(--ink-2)}.form-group .btn-picker:before{content:"+";font-size:.9375rem;line-height:0;color:var(--muted)}.form-group .btn-picker:hover:not(:disabled):before{color:inherit}.settings-calc-value.is-empty{color:var(--muted)}.settings-calc-total.is-empty{background:#fbfbfc;border-color:var(--line);color:var(--muted)}tr.opex-total>td.opex-total-cell{color:var(--ink)}tr.payments-section td.payments-section-name{color:#202124}tr.payments-section-incoming td.payments-section-name,tr.payments-subsection td.payments-subsection-name{color:#e8ecf5}.inv-pay-form input[type=text],.inv-pay-form input[type=date],.inv-pay-form input[type=number]{min-height:2.625rem;padding:.5625rem .75rem;border:1px solid #dfe2e8;border-radius:10px;background:#fff;color:#202124;font-size:.8125rem;box-shadow:0 1px 2px #0f172a06}.inv-pay-form input:hover{border-color:#b8bec9}.inv-pay-form input:focus{outline:0;border-color:#f43535;box-shadow:0 0 0 3px #f435351a}.clients-table td.total-value-cell{text-align:right}.badge-integration{background:#f1f1f2;color:#525866}.opex-filter-input{flex:0 0 auto;width:15rem;min-width:0}.expand-toolbar .toolbar-left .MuiButton-root{color:#555b66}.expand-toolbar .toolbar-left .MuiButton-root:hover{color:#202124;background:#f3f3f4}.detail-page{max-width:67.5rem;margin:0 auto;display:flex;flex-direction:column;gap:1.125rem}.detail-back{align-self:flex-start;background:none;border:none;cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--muted);padding:.25rem 0;transition:color .15s}.detail-back:hover{color:var(--primary)}.detail-head{padding:1.5rem 1.75rem}.detail-head-top{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.detail-headings{flex:1;min-width:12.5rem}.detail-title{font-family:inherit;font-size:1.5rem;font-weight:700;color:var(--ink);letter-spacing:-.3px;line-height:1.15}.detail-title .editable-cell{display:inline-flex;min-width:0}.detail-subtitle{font-size:.8125rem;color:var(--muted);margin-top:.25rem}.detail-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.detail-figures{text-align:right;flex-shrink:0}.detail-figure-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:600;margin-bottom:.25rem}.detail-figure-value{font-family:inherit;font-size:1.625rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.detail-actions{display:flex;gap:.625rem;margin-top:1.125rem;flex-wrap:wrap}.detail-menu-slot{flex-shrink:0}.detail-menu{position:relative}.detail-menu-trigger{width:2rem;height:2rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:1.125rem;line-height:1;transition:border-color .15s,background .15s,color .15s}.detail-menu-trigger:hover{border-color:#c8ccd5;background:#f6f7f9;color:var(--ink)}.detail-menu-pop{position:absolute;right:0;top:calc(100% + .375rem);z-index:30;min-width:11.25rem;padding:.375rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.detail-menu-item{width:100%;text-align:left;padding:.5rem .625rem;border:none;background:none;border-radius:7px;font:inherit;font-size:.8125rem;color:var(--ink-2);cursor:pointer}.detail-menu-item:hover{background:#f6f7f9}.detail-menu-item:disabled{opacity:.5;cursor:not-allowed}.detail-menu-item-danger{color:var(--neg)}.detail-menu-item-danger:hover{background:var(--neg-bg)}.detail-count{margin-left:.5rem;padding:1px .5625rem;border-radius:999px;background:#f1f1f2;color:var(--muted);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;vertical-align:middle}.detail-section{padding:1.25rem 1.5rem}.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.875rem}.detail-section-head .detail-section-btn{min-height:0;padding:.3125rem .75rem;font-size:.75rem}.detail-section-title{font-family:inherit;font-size:.9375rem;font-weight:700;color:var(--ink)}.detail-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr));gap:.875rem 1.5rem}.detail-fields-compact{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.detail-field-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600;margin-bottom:.25rem}.detail-field-value{font-size:.875rem;color:var(--ink)}.detail-empty{font-size:.8125rem;color:var(--muted);padding:.375rem 2px}.opex-inclusion-field{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.opex-inclusion-field .filter-toggle{margin:0}.opex-percent-wrap{display:inline-flex;align-items:center;gap:.25rem}.opex-percent-input{width:3.5rem;padding:.1875rem .375rem;font-size:.8125rem;border:1px solid var(--line);border-radius:4px}.opex-percent-input:disabled{background:var(--line-soft);color:var(--muted);cursor:not-allowed}.opex-percent-suffix{font-size:.8125rem;color:var(--muted)}.detail-section .subtable{width:100%;border-collapse:collapse}.detail-section .subtable th{text-align:left;font-size:.65625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.375rem .625rem;border-bottom:1px solid var(--line)}.detail-section .subtable td{padding:.5625rem .625rem;border-bottom:1px solid var(--line-soft);color:var(--ink-2);font-size:.8125rem}.detail-section .subtable tbody tr:last-child td{border-bottom:0}.detail-section .subtable td.total-value-cell,.detail-section .subtable th.total-value-cell{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 640px){.detail-head,.detail-section{padding:1.125rem 1rem}}.grid-wrap tbody td,.grid-wrap tbody th,.finzo-invoices-page tbody td,.pivot-table tbody td,.pivot-table tbody th,.opex-table tbody td,.opex-table tbody th,.cashflow-table tbody td,.cashflow-table tbody th,.payments-table tbody td,.payments-table tbody th,table.subtable tbody td,table.subtable tbody th,.detail-section .subtable td{color:#26334a}.finzo-invoices-page tbody td:first-child{color:#26334a;font-weight:400}.cell-display,.cell-input,.col-filter,.add-employee-select,.editable-cell input,.editable-cell select,.grid-wrap select{font-family:inherit}.rep-cell{display:flex;flex-direction:column;line-height:1.3}.rep-cell-name{color:#26334a}.rep-cell-meta{color:#8a93a6;font-size:.6875rem}.cell-empty{color:#a3abbb}.rep-table th:nth-child(6),.rep-table th:nth-child(7){width:1%}.rep-table td{vertical-align:middle}.rep-actions{text-align:right;width:1%}.rep-type-select{font:inherit;font-size:.78125rem;color:#26334a;background:transparent;border:1px solid transparent;border-radius:7px;padding:.3125rem 1.5rem .3125rem .4375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a93a6' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:12px;transition:background-color .15s,border-color .15s}.rep-type-select:hover{background-color:#f4f5f7;border-color:#e5e9f0}.rep-type-select:focus{outline:none;background-color:#fff;border-color:#1f4988;box-shadow:0 0 0 3px #1f49881f}.badge-primary-contact{background:#eef2f9;color:#1f4988;border:1px solid #d7e0ee;border-radius:999px;padding:2px .5625rem;font-size:.65625rem;font-weight:600;white-space:nowrap}.rep-make-primary{background:none;border:none;font:inherit;font-size:.71875rem;color:#8a93a6;cursor:pointer;padding:2px 0;white-space:nowrap}.rep-make-primary:hover{color:#464a53;text-decoration:underline}.rep-draft-row{background:#fbfcfe}.rep-draft-row input{font:inherit;font-size:.78125rem;width:100%;height:2.25rem;box-sizing:border-box;color:#26334a;background:#fff;border:1px solid #e5e9f0;border-radius:8px;padding:0 .5625rem}.rep-draft-row input::placeholder{color:#a3abbb}.rep-draft-row input:focus{outline:none;border-color:#1f4988;box-shadow:0 0 0 3px #1f49881f}.rep-draft-actions{white-space:nowrap}.rep-draft-actions .btn{height:2.25rem}.rep-draft-actions .btn+.btn{margin-left:.4375rem}.rep-add-button{margin-top:.6875rem;background:none;border:1px dashed #d3d9e4;border-radius:9px;color:#6b7488;font:inherit;font-size:.78125rem;padding:.4375rem .8125rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.rep-add-button:hover{border-color:#464a53;color:#464a53;background:#fafbfc}.audit-when{white-space:nowrap;color:#6b7488;font-variant-numeric:tabular-nums}.audit-change{color:#26334a}.audit-actor{color:#6b7488}.audit-action{display:inline-block;border-radius:999px;padding:2px .5625rem;font-size:.65625rem;font-weight:600;white-space:nowrap;background:#f1f3f7;color:#6b7488}.audit-action-create{background:#edf5ee;color:#35704a}.audit-action-delete{background:#fbeff0;color:#a3384a}.toolbar-ghost-button{height:2.25rem;padding:0 .875rem;border:1px solid #e5e9f0;border-radius:8px;background:#fff;color:#464a53;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.toolbar-ghost-button:hover{border-color:#c3c8d0;background:#f4f5f7}.export-hint{margin:0 0 .875rem;color:#6b7488;font-size:.78125rem;line-height:1.5}.export-hint-quiet{margin:.875rem 0 0;color:#8a93a6;font-size:.71875rem}.export-warning{margin:.625rem 0 0;color:#a3384a;font-size:.75rem}.grid-status{padding:2.125rem 1.25rem;color:#8a93a6;font-size:.8125rem;text-align:center}.grid-scope-label{color:#6b7488;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.grid-toolbar-input{height:2rem;min-width:11.875rem;padding:0 .6875rem;border:1px solid #e5e9f0;border-radius:8px;background:#fff;color:#26334a;font:inherit;font-size:.78125rem}.grid-toolbar-input::placeholder{color:#a3abbb}.grid-toolbar-input:hover{border-color:#cfd3da}.grid-toolbar-input:focus{outline:0;border-color:#1f4988;box-shadow:0 0 0 3px #1f49881a}.grid-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.grid-inner{max-height:70vh}.grid-inner>table:not(.payments-table)>thead>tr:first-child>th{position:sticky;top:0;z-index:3;background-color:inherit}.grid-inner>table:not(.payments-table)>thead>tr:first-child{background-color:#fbfbfc}.grid-inner>table.subtable:not(.payments-table)>thead>tr:first-child{background-color:#f5f6f9}th.month-col,th.salary-annual-col{text-align:right}.expand-toolbar,.expand-toolbar .toolbar-left,.expand-toolbar .grid-toolbar-actions{display:flex;align-items:center}.expand-toolbar>*,.expand-toolbar .toolbar-left>*,.expand-toolbar .grid-toolbar-actions>*{height:2.25rem;min-height:2.25rem;box-sizing:border-box;margin-top:0;margin-bottom:0}.expand-toolbar .filter-toggle,.expand-toolbar .view-switcher,.expand-toolbar .grid-scope-label{display:flex;align-items:center}.expand-toolbar .view-switcher>*{align-self:stretch}.grid-year-select{display:flex;align-items:center;gap:.5rem}.grid-year-select .pivot-filter{height:2.25rem}.grid-year-range-select{display:flex;align-items:center;gap:.75rem}.month-window-select{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.user-menu-section-label{color:#8a93a6;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.scale-options{display:flex;gap:.25rem}.scale-option{flex:1;padding:.3125rem 0;border:1px solid #e5e9f0;border-radius:.4375rem;background:#fff;color:#6b7488;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.scale-option:hover{border-color:#c6cbd6;background:#fafbfc}.scale-option.active{border-color:#1f4988;background:#eef2f9;color:#1f4988}.settings-card{background:#fff;border:1px solid #e5e9f0;border-radius:.875rem;padding:1.25rem 1.375rem;max-width:30rem}.settings-card-title{color:#26334a;font-size:.9375rem;font-weight:700}.settings-card-hint{margin:.5rem 0 1rem;color:#6b7488;font-size:.8125rem;line-height:1.5}.grid-wrap tbody tr.project-header-row>td{background:#112a55;color:#fff;border-bottom-color:#0b1e3f}.grid-wrap tbody tr.project-header-row:hover>td{background:#1a3866}.grid-wrap tbody tr.project-header-row .cell-link{color:#fff;font-weight:700}.grid-wrap tbody tr.project-header-row .cell-link:hover,.grid-wrap tbody tr.project-header-row .cell-val,.grid-wrap tbody tr.project-header-row .edit-icon{color:#fff}.grid-wrap tbody tr.project-header-row .cell-placeholder{color:#fff9}.grid-wrap tbody tr.project-header-row .expand-btn{background:transparent;border-color:#ffffff73;color:#fff}.grid-wrap tbody tr.project-header-row .expand-btn:hover{background:#ffffff1f;border-color:#fff;color:#fff}.grid-wrap tbody tr.project-header-row .super-project-name{font-weight:700;color:#fff}.grid-wrap tbody tr.project-header-row .icon-btn{color:#fff;border-color:#ffffff73;background:transparent}.grid-wrap tbody tr.project-header-row .icon-btn:hover{background:#ffffff1f;border-color:#fff}.budget-wrap .grid-inner{max-height:none}.budget-wrap tr.budget-admin-row td.opex-name-col{font-weight:600}.budget-wrap tr.budget-admin-row .expand-btn{margin-right:.125rem}.budget-wrap .budget-admin-count{color:#7e8eac;font-weight:400;font-size:.75rem}.budget-wrap td.budget-admin-cell{text-align:right;padding-right:.5rem;font-variant-numeric:tabular-nums}.budget-wrap tr.budget-admin-employee td{background:#f7f9fc;font-size:.8125rem}.budget-wrap tr.budget-admin-employee td.opex-name-col{padding-left:2.25rem}.budget-wrap .budget-not-opex{margin-left:.5rem;background:#f1f3f7;color:#5b6b88;cursor:help}.projection-chart{padding:.75rem 1rem .5rem}.projection-wrap .grid-inner{max-height:none}.projection-table{width:100%;min-width:60rem;table-layout:fixed}.projection-table .projection-col-expand{width:2.25rem}.projection-table .projection-col-client{width:13%}.projection-table .projection-col-pct{width:6.5%}.projection-table thead th{white-space:normal;padding:.5rem .375rem;line-height:1.25}.projection-table tbody td,.projection-table tbody th{padding:.5rem .375rem;font-size:clamp(.6875rem,.3rem + .5vw,.8125rem)}.projection-table th{text-align:center}.projection-table .projection-client-col{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projection-table .projection-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projection-table .projection-group{border-left:1px solid #d7dfec}.projection-table th.projection-group{text-align:center}.projection-muted{color:#7e8eac;font-weight:400}.projection-positive{color:#15803d}.projection-unallocated td{font-style:italic;color:#4b5b78}.projection-sow-row td{background:#f7f9fc;font-size:.8125rem}.projection-sow-name{padding-left:1.5rem!important;white-space:normal!important}.projection-empty{text-align:center;padding:1.5rem;color:#7e8eac}.projection-toggle{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem}.projection-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(20rem,1fr);gap:1rem;margin-bottom:1rem;align-items:stretch}@media (max-width: 1100px){.projection-top{grid-template-columns:minmax(0,1fr)}}.projection-types-card{padding:.875rem 1rem}.projection-types-list{display:flex;flex-direction:column;gap:.625rem;margin-top:.875rem}.projection-types-row{display:grid;grid-template-columns:minmax(6rem,11rem) minmax(3rem,1fr) auto 2.5rem;align-items:center;gap:.625rem}.projection-types-label{font-size:.8125rem;font-weight:600;color:#112a55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projection-types-track{height:.5rem;border-radius:999px;background:#f1f1f2;overflow:hidden}.projection-types-bar{display:block;height:100%;border-radius:999px;background:#2f5bab;min-width:.1875rem}.projection-types-val{font-size:.8125rem;font-weight:700;color:#112a55;font-variant-numeric:tabular-nums;text-align:right}.projection-types-pct{font-size:.75rem;color:#7e8eac;font-variant-numeric:tabular-nums;text-align:right}.projection-types-total{border-top:1px solid #e5e9f0;padding-top:.5rem}.projection-types-empty{padding:1.5rem 0;text-align:center;color:#7e8eac;font-size:.8125rem}
