.budget-overview{width:100%;max-width:var(--layout-content-max);margin-inline:auto}
.budget-snapshot-select .app-dropdown__trigger{min-height:2.625rem;padding:.5rem 2.5rem .5rem 1rem;color:var(--color-text);font:inherit;font-size:.8125rem;font-weight:650;background:var(--color-surface-lowest);border:1px solid var(--color-border);border-radius:999px;cursor:pointer}
.budget-snapshot-select .app-dropdown__trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}
.budget-snapshot-select .app-dropdown__trigger:focus-visible,.budget-filter-bar select:focus-visible{outline:0;box-shadow:var(--focus-ring);border-color:var(--color-primary)}

.budget-warning,.budget-info{margin-bottom:var(--space-4);padding:.875rem var(--space-4);color:var(--color-text-muted);font-size:.8125rem;line-height:1.5;background:var(--color-surface-lowest);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control)}
.budget-warning strong{color:var(--color-text)}

.budget-metrics.kpi-stats{grid-template-columns:repeat(3,minmax(0,1fr))}

.budget-breakdown{display:grid;gap:var(--space-4)}
.budget-breakdown-header{align-items:flex-end;margin:0}
.budget-breakdown-header h2{font-size:1.125rem;letter-spacing:-.015em}
.budget-breakdown-header .section-header__actions{display:flex;gap:.5rem}
.budget-breakdown-header .app-button{min-height:2.375rem;padding:.4375rem .875rem;border-radius:.65rem}
.budget-filter-bar{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface-lowest);border:1px solid var(--color-border-subtle);border-radius:.875rem}
.budget-filter-bar label{color:var(--color-text-muted);font-size:.75rem;font-weight:650}
.budget-filter-bar .app-select{width:auto;min-width:12rem;min-height:2.25rem;padding-block:.375rem}

.budget-table-card{min-width:0;overflow:hidden;background:var(--color-surface-lowest);border:1px solid var(--color-border-subtle);border-radius:1rem;box-shadow:var(--shadow-ambient)}
.budget-table-scroll{max-width:100%;overflow-x:auto}
.budget-category-table{width:100%;min-width:63rem;border-collapse:collapse;font-size:.8125rem}
.budget-category-table th,.budget-category-table td{padding:1rem 1.125rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border-subtle)}
.budget-category-table thead th{padding-block:.75rem;color:var(--color-text-muted);font-size:.6875rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase;background:var(--color-surface-low);white-space:nowrap}
.budget-category-table tbody tr{transition:background var(--transition-fast)}
.budget-category-table tbody tr:hover{background:color-mix(in srgb,var(--color-surface-low) 52%,transparent)}
.budget-category-table tbody tr:last-child>*{border-bottom:0}
.budget-category-name{min-width:9rem;color:var(--color-text);font-size:.8125rem;font-weight:700}
.budget-money-cell,.budget-difference-cell{font-variant-numeric:tabular-nums;white-space:nowrap}
.budget-category-table .money-display{display:inline-flex;gap:.25rem;color:var(--color-text);font-size:.8125rem;line-height:1.35;font-weight:600}
.budget-category-table .money-display__prefix,.budget-category-table .money-display__value{color:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;overflow-wrap:normal}
.budget-money-cell .money-display,.budget-difference-value{color:var(--color-text);font-size:.8125rem;line-height:1.35;font-weight:600}
.budget-difference-value{display:inline-flex;align-items:baseline}
.budget-allocation-cell{min-width:11rem}
.budget-allocation-cell>.money-display{display:inline-flex;color:var(--color-text);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.budget-allocation-cell>span{display:block;margin-top:.275rem;color:var(--color-text-muted);font-size:.6875rem}
.budget-allocation-cell progress{width:100%;height:.25rem;display:block;margin-top:.5rem;overflow:hidden;appearance:none;border:0;border-radius:999px;background:var(--color-surface-highest)}
.budget-allocation-cell progress::-webkit-progress-bar{background:var(--color-surface-highest);border-radius:999px}
.budget-allocation-cell progress::-webkit-progress-value{background:color-mix(in srgb,var(--color-primary) 72%,white);border-radius:999px}
.budget-allocation-cell progress::-moz-progress-bar{background:color-mix(in srgb,var(--color-primary) 72%,white);border-radius:999px}
.budget-empty{color:var(--color-text-muted)}

.budget-status{width:max-content;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .625rem;font-size:.6875rem;font-weight:700;line-height:1;border-radius:999px;white-space:nowrap}
.budget-status>span{width:.35rem;height:.35rem;border-radius:50%;background:currentColor}
.budget-status--safe{color:#286a50;background:var(--color-success-soft)}
.budget-status--over{color:#9b3831;background:var(--color-danger-soft)}
.budget-status--empty{color:var(--color-text-muted);background:var(--color-neutral-subtle)}
.budget-detail-link,.budget-visual-link{display:inline-flex;align-items:center;gap:.35rem;min-height:2.5rem;color:var(--color-primary);font-size:.75rem;font-weight:700;text-decoration:none;white-space:nowrap;border-radius:.45rem}
.budget-detail-link:hover,.budget-visual-link:hover{text-decoration:underline;text-underline-offset:.2em}
.budget-detail-link:focus-visible,.budget-visual-link:focus-visible,.budget-export:focus-visible{outline:0;box-shadow:var(--focus-ring)}
.budget-detail-link span,.budget-visual-link span{font-size:1rem;line-height:1}

.budget-table-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:.875rem 1.125rem;background:var(--color-surface-low);border-top:1px solid var(--color-border-subtle)}
.budget-table-footer dl{display:flex;flex-wrap:wrap;gap:1rem 1.75rem;margin:0}
.budget-table-footer dl>div{display:grid;gap:.2rem}
.budget-table-footer dt{color:var(--color-text-muted);font-size:.65rem}
.budget-table-footer dd{margin:0;color:var(--color-text);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums}.budget-table-footer .money-display{display:inline-flex;gap:.2rem;font-size:.75rem}.budget-table-footer .money-display__prefix,.budget-table-footer .money-display__value{color:inherit;font-size:inherit;line-height:inherit;font-weight:inherit}

.budget-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);gap:var(--space-gutter);align-items:start}.budget-detail-main{display:grid;gap:var(--space-gutter)}.budget-detail-main h2,.budget-payment-placeholder h2{margin:0}.budget-detail-main form{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space-md);align-items:end}.budget-detail-main form .app-button{margin-bottom:1px}
.budget-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);padding-top:var(--space-gutter);border-top:1px solid var(--color-border-subtle)}.budget-detail-facts>div{display:grid;gap:var(--space-xs)}.budget-detail-facts span{font-size:.75rem;color:var(--color-text-muted)}
.budget-payment-placeholder{position:sticky;top:var(--space-gutter);display:grid;gap:var(--space-md)}.budget-payment-placeholder p{margin:0;color:var(--color-text-muted)}.budget-payment-placeholder dl{display:grid;gap:var(--space-sm);margin:0}.budget-payment-placeholder dl div{display:flex;justify-content:space-between}.budget-payment-placeholder dd{margin:0}
.budget-alternatives{display:grid;gap:var(--space-md);margin-top:var(--space-xl)}.budget-alternative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}.budget-alternative-grid article{display:grid;gap:var(--space-sm)}.budget-alternative-grid h3{margin:0}.budget-alternative-grid small{color:var(--color-text-muted)}

@media(max-width:1000px){.budget-metrics.kpi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-detail-grid{grid-template-columns:1fr}.budget-payment-placeholder{position:static}.budget-alternative-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-table-footer{align-items:flex-start;flex-direction:column}}
@media(min-width:1001px) and (max-width:1199px){.budget-payment-placeholder{top:calc(var(--layout-topbar-height) + env(safe-area-inset-top) + var(--space-md))}}
@media(max-width:767px){.budget-page-header .page-header__actions,.budget-snapshot-select,.budget-snapshot-select .app-dropdown__trigger{width:100%}.budget-alternative-grid{grid-template-columns:1fr}.budget-breakdown-header{align-items:flex-start;flex-direction:column}.budget-breakdown-header .section-header__actions{width:100%}.budget-breakdown-header .app-button{flex:1}.budget-filter-bar{align-items:stretch;flex-direction:column}.budget-filter-bar .app-select{width:100%}.budget-table-card{margin-inline:calc(var(--space-md) * -1);border-right:0;border-left:0;border-radius:0}.budget-table-footer{padding-inline:var(--space-4)}.budget-table-footer dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.875rem}.budget-visual-link{min-height:2.75rem}.budget-detail-main form,.budget-detail-facts{grid-template-columns:1fr}}
