/* Shared alignment rules for the category hierarchy and spending explanation. */
.finance-chart .chart-axis-label {stroke:none;stroke-width:0}
#budget-navigation-status {position:fixed;right:1rem;bottom:1rem;z-index:1050;max-width:min(28rem,calc(100vw - 2rem));box-sizing:border-box;padding:.85rem 1rem;border:1px solid #b9c9dc;border-radius:10px;background:#fff;color:#294d78;box-shadow:0 4px 18px rgb(18 35 51 / 12%)}
.budget-leave-dialog {max-width:30rem;width:calc(100% - 2rem);box-sizing:border-box;border:1px solid #d4dfdc;border-radius:12px;padding:1.5rem;color:#152333;background:#fff}
.budget-leave-dialog::backdrop {background:rgb(15 30 45 / 40%)}
.budget-leave-dialog .form-actions {display:flex;gap:.75rem;flex-wrap:wrap}
.budget-leave-dialog button {min-height:44px;border:1px solid #355c8a;border-radius:8px;padding:.6rem 1rem;color:#355c8a;background:#fff;cursor:pointer}
.budget-leave-dialog [data-stay] {background:#355c8a;color:#fff}
.budget-workspace .budget-header-actions {align-items:stretch}
.budget-workspace .budget-kpi-icon {display:grid;place-items:center;flex-shrink:0}
.budget-workspace .budget-kpi-icon img {display:block;width:26px;height:26px;filter:invert(31%) sepia(26%) saturate(1143%) hue-rotate(173deg) brightness(95%) contrast(87%)}
.budget-workspace .budget-kpi-overspent .budget-kpi-icon img {filter:invert(24%) sepia(83%) saturate(2614%) hue-rotate(344deg) brightness(91%) contrast(91%)}
.budget-workspace .budget-header-actions>.button,.budget-workspace .budget-add-menu>summary {height:100%;box-sizing:border-box;justify-content:center}
.budget-workspace .budget-group-toggle>.budget-group-heading:first-child {display:flex;align-items:center;gap:12px;min-width:0}
.budget-workspace .budget-group-heading>.budget-group-icon {display:block;width:24px;height:24px;flex:0 0 24px;margin:0}
.budget-workspace .budget-group-heading>span {display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.budget-workspace .budget-group-heading small {display:inline-block;margin:0;padding:3px 8px;border-radius:999px;background:#e8efed;line-height:1.4;white-space:nowrap;font-weight:500}
.budget-settings-page .settings-toolbar>div:first-child {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.budget-settings-page .settings-toolbar>div:first-child>span {display:inline-block;white-space:nowrap;line-height:1.4}
.budget-settings-page .settings-group-list>button {display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:12px;row-gap:3px;width:100%;min-width:0;box-sizing:border-box;text-align:left}
.budget-settings-page .settings-group-list>button>.settings-group-icon {display:grid;place-items:center;grid-row:1 / 3;width:32px;height:32px}
.budget-settings-page .settings-group-icon img {display:block;width:24px;height:24px;margin:0}
.budget-settings-page .settings-group-list>button>span:nth-child(2) {min-width:0;overflow-wrap:anywhere}
.budget-settings-page .settings-group-list>button>b {display:inline-flex;align-items:center;gap:5px;grid-column:2;min-width:0;margin:0;padding:0;text-align:left;white-space:normal}
.budget-settings-page .settings-group-list>button>b>small {display:inline;margin:0}
.spending-basis-panel {margin:1rem 0;padding:1rem;border:1px solid #d4dfdc;border-radius:12px;background:#fff;color:#152333;min-width:0}
.spending-basis-panel>summary {display:list-item;font-weight:700;cursor:pointer}
.spending-basis-panel p {line-height:1.55;color:#526577}
.spending-basis-totals {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
.spending-basis-totals dt {font-size:.85rem;line-height:1.5}
.spending-basis-totals dd {margin:.4rem 0 0;font-weight:700;overflow-wrap:anywhere}
.spending-basis-links {display:flex;gap:1rem;flex-wrap:wrap}
.upcoming-workspace .upcoming-form-grid {align-items:start}
.upcoming-workspace .upcoming-form-grid label {align-content:start;min-width:0}
.upcoming-workspace input[type=date] {max-width:100%;min-width:0;box-sizing:border-box}
.upcoming-workspace .upcoming-card-action {margin-top:auto;min-height:48px}
.upcoming-workspace .upcoming-launch-card {height:100%;min-width:0}
.upcoming-workspace .upcoming-launch-card h2 {min-height:3.1em}
@media(max-width:680px) {
  .budget-workspace .budget-header-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.75rem}
  .budget-workspace .budget-header-actions>.button {min-height:48px}
  .budget-workspace .budget-add-menu {grid-column:1/-1}
  .budget-workspace .budget-add-menu>summary {min-height:44px}
  .spending-basis-totals {grid-template-columns:1fr}
  .upcoming-workspace .upcoming-launch-card h2 {min-height:0}
}
