.budget-list-card{background:#fff;border:1px solid var(--phoa-border);border-radius:var(--phoa-r-card);overflow:hidden}.budget-list-row{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--phoa-border-divider);transition:background-color .12s ease}.budget-list-row:hover{background:var(--phoa-subtle-1)}.budget-list-row:last-child{border-bottom:none}.budget-list-icon{width:44px;height:44px;border-radius:11px;background:var(--phoa-primary-tint-3);color:var(--phoa-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}.budget-list-main{flex:1;min-width:0}.budget-list-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.budget-list-name{font-size:15px;font-weight:var(--phoa-fw-extrabold);color:var(--phoa-navy)}.budget-list-meta{font-size:12.5px;color:var(--phoa-muted-4);margin-top:4px}.budget-list-total{text-align:right;flex-shrink:0}.budget-list-total-label{display:block;font-size:11px;font-weight:var(--phoa-fw-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--phoa-muted-4)}.budget-list-total-value{display:block;font-size:18px;font-weight:var(--phoa-fw-extrabold);margin-top:2px}.budget-list-total-value.is-positive{color:var(--phoa-success-text)}.budget-list-total-value.is-negative{color:var(--phoa-danger-text)}.budget-list-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.budget-list-action-btn{display:flex;align-items:center;gap:7px;height:38px;padding:0 16px;border-radius:9px;font-size:13.5px;font-weight:var(--phoa-fw-bold);white-space:nowrap}.budget-list-action-btn.is-primary{background:var(--phoa-primary);color:#fff}.budget-list-action-btn.is-primary:hover{background:var(--phoa-primary-hover);color:#fff}.budget-list-action-btn.is-outline{background:#fff;border:1.5px solid var(--phoa-primary);color:var(--phoa-primary)}.budget-list-action-btn.is-outline:hover{background:var(--phoa-primary-tint-3)}.budget-list-delete-btn{width:36px;height:36px;border:none;background:var(--phoa-subtle-4);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--phoa-muted-4);cursor:pointer;flex-shrink:0;transition:background-color .12s ease,color .12s ease}.budget-list-delete-btn:hover{background:var(--phoa-danger-bg);color:var(--phoa-danger-text)}.budget-list-restore-btn{width:36px;height:36px;border:none;background:var(--phoa-subtle-4);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--phoa-muted-4);cursor:pointer;flex-shrink:0;transition:background-color .12s ease,color .12s ease}.budget-list-restore-btn:hover{background:var(--phoa-success-bg);color:var(--phoa-success-text)}.budget-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:640px){.budget-list-row{flex-wrap:wrap}.budget-list-total{text-align:left;margin-left:62px}}.budget-page-body .content-area.card,.budget-view-body .content-area.card{margin-bottom:0}.budget-page-body,.budget-view-body{display:flex;flex-direction:column;gap:18px}.budget-page-body>.form-page-actions{justify-content:flex-end}.budget-icon-badge{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.budget-icon-badge.is-revenue{background:var(--phoa-success-bg);color:var(--phoa-success-text)}.budget-icon-badge.is-expense{background:var(--phoa-danger-bg);color:var(--phoa-danger-text)}.budget-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.budget-card-header-left{display:flex;align-items:center;gap:10px}.budget-card-header .form-page-section-title{margin-bottom:0}.budget-card-subtitle{font-size:12.5px;color:var(--phoa-muted-3)}.budget-totals-footer{display:flex;align-items:center;justify-content:space-between;margin:16px -24px -20px!important;padding:16px 24px;border-radius:0 0 15px 15px}.budget-totals-footer.is-revenue{background:#f3fbf6}.budget-totals-footer.is-expense{background:#fdf4f4}.budget-totals-footer .budget-totals-label{font-size:14px;font-weight:var(--phoa-fw-extrabold);color:var(--phoa-navy)}.budget-totals-footer .budget-totals-amount{font-size:18px;font-weight:var(--phoa-fw-extrabold)}.budget-totals-footer.is-revenue .budget-totals-amount{color:var(--phoa-success-text)}.budget-totals-footer.is-expense .budget-totals-amount{color:var(--phoa-danger-text)}.budget-category-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--phoa-border-divider)}.budget-category-row:last-of-type{border-bottom:none}.budget-category-row .budget-category-select{flex:1;min-width:0}.budget-category-row .budget-amount-wrap{position:relative;width:170px;flex-shrink:0}.budget-category-row .budget-amount-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--phoa-muted-4);font-size:14px;pointer-events:none}.budget-category-row .budget-amount-wrap .form-control{padding-left:24px;text-align:right}.budget-line-remove-btn{width:36px;height:36px;border:none;background:var(--phoa-subtle-4);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--phoa-muted-4);cursor:pointer;flex-shrink:0;transition:background-color .12s ease,color .12s ease}.budget-line-remove-btn:hover{background:var(--phoa-danger-bg);color:var(--phoa-danger-text)}.budget-add-line-btn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:9px 14px;border:1.5px dashed var(--phoa-border-input-2);border-radius:10px;font-size:13.5px;font-weight:var(--phoa-fw-bold);color:var(--phoa-primary);background:0 0;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.budget-add-line-btn:hover{border-color:var(--phoa-primary);background:var(--phoa-subtle-6)}.budget-net-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,var(--phoa-navy),#2C3B7A);border-radius:16px;padding:22px 26px}.budget-net-bar-label{font-size:13px;font-weight:var(--phoa-fw-bold);color:#aeb9e0}.budget-net-bar-sub{font-size:12px;color:#8290c4;margin-top:2px}.budget-net-bar-amount{font-size:28px;font-weight:var(--phoa-fw-extrabold);color:#6ee7a8}.budget-net-bar-amount.is-deficit{color:#f5a3a8}.budget-empty-line{font-size:13px;color:var(--phoa-muted-3);padding:8px 0}.budget-start-from{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}.budget-start-from .form-control{width:auto;min-width:180px}.budget-start-from .budget-start-from-pct{min-width:0;width:90px}.budget-start-from [hidden]{display:none}.budget-start-from-label{font-weight:var(--phoa-fw-extrabold);margin:0}.budget-start-from-message{font-size:13px;color:var(--phoa-muted-3)}.budget-baseline-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--phoa-muted-3);margin:0 0 8px}.budget-baseline-note{font-size:13px;color:var(--phoa-muted-3);padding:2px 0}.budget-baseline-note.is-warning{color:var(--phoa-danger-text)}.budget-baseline-hint{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px 20px;font-size:12px;color:var(--phoa-muted-3)}.budget-baseline-use{margin-left:6px;padding:0 8px;border:1px solid var(--phoa-border-divider);border-radius:999px;background:0 0;color:inherit;font-size:12px;line-height:20px;cursor:pointer}.budget-baseline-use:hover{text-decoration:underline}.budget-insight-row{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:12px;color:var(--phoa-muted-3)}.budget-spark-svg{display:block;color:var(--phoa-muted-3)}.budget-trend{cursor:help}.budget-escalation{display:inline-flex;align-items:center;gap:4px;margin:0;font-weight:400}.budget-escalation-input{width:64px;height:26px;padding:0 6px;font-size:12px;text-align:right}.budget-flag.is-over,.budget-flag.is-under{font-weight:var(--phoa-fw-extrabold);color:var(--phoa-danger-text)}.budget-insight-section{margin-top:12px}.budget-insight-list{list-style:none;margin:4px 0 0;padding:0;font-size:13px}.budget-insight-list li{padding:4px 0;border-bottom:1px solid var(--phoa-border-divider)}.budget-insight-list li:last-child{border-bottom:none}.budget-rp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:8px 0 12px}.budget-rp-stat{padding:10px 12px;border:1px solid var(--phoa-border-divider);border-radius:8px}.budget-rp-stat-label{font-size:12px;color:var(--phoa-muted-3)}.budget-rp-stat-value{font-size:18px;font-weight:var(--phoa-fw-extrabold)}.budget-rp-stat-note{font-size:12px;color:var(--phoa-muted-3)}.budget-rp-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.budget-rp-tools[hidden]{display:none}.budget-rp-tool{padding:12px;border:1px solid var(--phoa-border-divider);border-radius:8px}.budget-rp-tool-title{font-weight:var(--phoa-fw-extrabold);margin-bottom:8px}.budget-rp-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:8px}.budget-rp-controls label{margin:0;font-size:13px}.budget-rp-controls .form-control{width:auto;min-width:0}.budget-rp-controls .budget-rp-pct{width:90px}.budget-rp-result{font-size:13px;margin-bottom:8px}.budget-rp-result div{padding:2px 0}.budget-rp-result .is-warning{color:var(--phoa-danger-text)}.budget-view-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.budget-view-subtitle{font-size:13px;color:var(--phoa-muted-3);margin-top:4px}.budget-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:900px){.budget-view-grid{grid-template-columns:1fr}}.budget-view-line-list{margin-top:8px}.budget-view-line-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--phoa-border-divider)}.budget-view-line-row:last-of-type{border-bottom:none}.budget-view-line-category{font-size:14px;font-weight:var(--phoa-fw-semibold);color:var(--phoa-text)}.budget-view-line-desc{font-size:12.5px;color:var(--phoa-muted-3);margin-top:2px}.budget-view-line-amount{font-size:14px;font-weight:var(--phoa-fw-bold);flex-shrink:0}.budget-view-line-amount.is-revenue{color:var(--phoa-success-text)}.budget-view-line-amount.is-expense{color:var(--phoa-danger-text)}.budget-category-row .budget-fund-wrap{width:118px;flex-shrink:0}.budget-phasing-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--phoa-border-divider);border-radius:9px;background:0 0;color:var(--phoa-muted-4);font-size:13px;cursor:pointer;flex-shrink:0}.budget-phasing-btn:hover,.budget-phasing-btn[aria-expanded=true],.budget-phasing-btn.is-custom{color:var(--phoa-text);background:var(--phoa-subtle-4)}.budget-phasing-btn.is-invalid{color:var(--phoa-danger-text);border-color:var(--phoa-danger-text)}.budget-phasing-panel{flex-basis:100%;padding:12px;border-radius:10px;background:var(--phoa-subtle-4)}.budget-phasing-panel[hidden]{display:none}.budget-phasing-intro,.budget-phasing-note{font-size:12.5px;color:var(--phoa-muted-3)}.budget-phasing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin:10px 0}.budget-phasing-cell{display:flex;flex-direction:column;gap:2px;margin:0}.budget-phasing-month{font-size:11.5px;color:var(--phoa-muted-3)}.budget-phasing-cell .budget-month-input{text-align:right}.budget-phasing-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.budget-phasing-sum{flex:1 1 260px;font-size:13px;color:var(--phoa-muted-4)}.budget-phasing-sum.is-invalid{color:var(--phoa-danger-text);font-weight:var(--phoa-fw-semibold)}.budget-cashflow-note{font-size:12.5px;color:var(--phoa-muted-3);margin:0 0 8px}.budget-cashflow-alert{margin:8px 0;padding:10px 12px;border-radius:9px;background:var(--phoa-danger-bg);color:var(--phoa-danger-text);font-size:13px;font-weight:var(--phoa-fw-semibold)}.budget-cashflow-chart{display:block;width:100%;max-width:640px;height:auto;margin:12px 0}.budget-cf-bar{fill:var(--phoa-success-text)}.budget-cf-bar.is-negative{fill:url(#budget-cf-hatch);stroke:var(--phoa-danger-text);stroke-width:1.5}.budget-cf-hatch-bg{fill:var(--phoa-danger-bg)}.budget-cf-hatch-line{stroke:var(--phoa-danger-text);stroke-width:2}.budget-cf-zero{stroke:var(--phoa-muted-3);stroke-width:1}.budget-cf-axis{fill:var(--phoa-muted-3);font-size:10px}.budget-cashflow-table{width:100%;border-collapse:collapse;font-size:13px}.budget-cashflow-table th,.budget-cashflow-table td{padding:6px 8px;border-bottom:1px solid var(--phoa-border-divider);text-align:left}.budget-cashflow-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.budget-cashflow-table tr.is-negative td{color:var(--phoa-danger-text);font-weight:var(--phoa-fw-semibold)}.budget-cashflow-reserve{margin-top:16px}.budget-cashflow-assumptions{margin:12px 0 0;padding-left:18px;font-size:12px;color:var(--phoa-muted-3)}@media(max-width:640px){.budget-category-row .budget-fund-wrap{width:100%}}.budget-reserve-meter{display:flex;align-items:center;gap:12px;margin:4px 0 12px}.budget-reserve-meter-label{font-weight:var(--phoa-fw-semibold);min-width:100px}.budget-reserve-meter meter{flex:1;max-width:420px;height:14px}.budget-reserve-table{margin:8px 0}.budget-reserve-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0}.rc-header{flex-wrap:wrap;row-gap:10px;margin-bottom:12px}.rc-table{margin-bottom:0}.rc-table tbody td{white-space:normal;vertical-align:middle}.rc-table .rc-actions{display:flex;justify-content:flex-end;align-items:center}.rc-due{display:block;font-size:12.5px;color:var(--phoa-muted-3)}.rc-c-cost{font-variant-numeric:tabular-nums}@media(max-width:767.98px){.rc-header .btn{min-height:44px}.table.rc-table>tbody>tr.rc-row{grid-template-columns:minmax(0,1fr)minmax(0,1fr)44px;grid-template-areas:"name name actions" "life remaining cost" "status status status";row-gap:10px;align-items:start}.table.rc-table>tbody>tr>td.rc-c-name{grid-area:name;font-weight:800;font-size:16px;overflow-wrap:anywhere;align-self:center}.table.rc-table>tbody>tr>td.rc-c-actions{grid-area:actions}.table.rc-table>tbody>tr>td.rc-c-life{grid-area:life}.table.rc-table>tbody>tr>td.rc-c-remaining{grid-area:remaining}.table.rc-table>tbody>tr>td.rc-c-cost{grid-area:cost;text-align:right}.table.rc-table>tbody>tr>td.rc-c-status{grid-area:status;color:var(--phoa-muted-3);font-size:13px}}@media(max-width:767.98px){.rc-modal .form-control{font-size:16px;min-height:44px}.rc-modal .modal-footer .btn{min-height:44px}.rc-modal .form-check-input{width:1.25em;height:1.25em}}@media(max-width:767.98px){.table.budget-reserve-table>tbody>tr{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}.table.budget-reserve-table>tbody>tr>td{white-space:normal;overflow-wrap:anywhere}.table.budget-reserve-table>tbody>tr>td:first-child{grid-column:1/-1;font-weight:800;font-size:16px}.budget-reserve-actions .btn,.budget-reserve-actions a{min-height:44px;display:inline-flex;align-items:center}}