/* Community budget CSS preserved from PR 90. Unified read-only branch budget below. */
.dan-community-budget { container: cb / inline-size; display: flex; flex-direction: column; gap: 16px; color: var(--d-text); --cb-accent: var(--d-orange-ink); --cb-soft: var(--d-orange-soft); }
.dan-community-budget *, .dan-community-budget *::before, .dan-community-budget *::after { box-sizing: border-box; }
.dan-community-budget h1, .dan-community-budget h2, .dan-community-budget h3, .dan-community-budget p, .dan-community-budget dl, .dan-community-budget dd { margin: 0; }
.dan-community-budget h1 { font-size: clamp(24px, 2.9cqi, 32px); font-weight: 700; color: var(--d-ink); letter-spacing: -.025em; }
.dan-community-budget h2 { color: var(--d-ink); font-weight: 700; font-size: var(--fs-h2); }
.dan-community-budget a { text-decoration: none; }
.dan-community-budget bdi { white-space: nowrap; font-variant-numeric: tabular-nums; }
.dan-community-budget .cb-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.dan-community-budget .cb-subtitle { color: var(--d-muted); font-size: var(--fs-th); margin-block-start: 4px; }
.dan-community-budget .cb-years { display: flex; gap: 8px; }
.dan-community-budget .cb-year { display: flex; align-items: center; gap: 8px; border: 1px solid var(--d-line); border-radius: 10px; background: var(--surface); color: var(--d-muted); padding: 8px 12px; font-size: var(--fs-td); font-weight: 600; }
.dan-community-budget .cb-year span { font-size: 11px; font-weight: 400; }
.dan-community-budget .cb-year-on { border-color: var(--cb-accent); color: var(--cb-accent); background: var(--cb-soft); }
.dan-community-budget .cb-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dan-community-budget .cb-summary > label { display: flex; flex-direction: column; gap: 4px; cursor: pointer; padding: 12px 16px; background: var(--surface); border: 1px solid var(--d-line); border-radius: 16px; }
.dan-community-budget .cb-summary > label > span { color: var(--d-muted); font-size: var(--fs-th); margin-block-end: 4px; }
.dan-community-budget .cb-summary > label > strong { font-size: var(--fs-h2); color: var(--d-ink); font-weight: 700; }
.dan-community-budget .cb-summary small { display: flex; align-items: center; gap: 4px; font-size: 11px; color: var(--d-muted); font-weight: 400; }
.dan-community-budget .cb-closed { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 12px; background: var(--cb-soft); color: var(--cb-accent); }
.dan-community-budget .cb-closed svg { flex: none; }
.dan-community-budget .cb-closed span { display: block; margin-block-start: 3px; font-size: var(--fs-td); }
.dan-community-budget .cb-workspace { display: grid; position: relative; isolation: isolate; grid-template-columns: minmax(290px, .9fr) minmax(0, 1.8fr); grid-template-rows: auto repeat(var(--cb-rows), min-content) minmax(30px, 1fr); column-gap: 16px; }
.dan-community-budget .cb-workspace::before { content: ''; grid-column: 1; grid-row: 1 / -1; background: var(--surface); border: 1px solid var(--d-line); border-radius: 16px; z-index: -1; }
.dan-community-budget .cb-list-head { grid-column: 1; grid-row: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 18px 10px; }
.dan-community-budget .cb-list-head h2 { font-size: 18px; }
.dan-community-budget .cb-list-head > span { font-size: var(--fs-th); color: var(--d-muted); }
.dan-community-budget .cb-choice { display: contents; }
.dan-community-budget .cb-select { position: absolute; inset-block-start: 0; inset-inline-start: 0; inline-size: 1px; block-size: 1px; clip-path: inset(50%); opacity: 0; overflow: hidden; white-space: nowrap; }
.dan-community-budget .cb-branch { grid-column: 1; grid-row: var(--cb-row); display: flex; align-items: center; gap: 10px; padding: 12px 10px; margin: 0 10px 6px; border: 1px solid transparent; border-radius: 14px; cursor: pointer; transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.dan-community-budget .cb-branch:hover { background: var(--d-cream2); }
.dan-community-budget .cb-select:checked + .cb-branch { background: var(--cb-soft); border-color: var(--d-sand); }
.dan-community-budget .cb-select:focus-visible + .cb-branch, .dan-community-budget a:focus-visible { outline: 2px solid var(--cb-accent); outline-offset: 3px; }
.dan-community-budget .cb-icon { display: grid; place-items: center; inline-size: 34px; block-size: 38px; flex: none; border-radius: 12px; background: var(--d-cream2); color: var(--cb-accent); }
.dan-community-budget .cb-icon svg { inline-size: 23px; block-size: 23px; }
.dan-community-budget .cb-icon-large { inline-size: 52px; block-size: 52px; border-radius: 12px; }
.dan-community-budget .cb-icon-large svg { inline-size: 30px; block-size: 30px; }
.dan-community-budget .cb-branch-text { display: flex; flex: 1; min-inline-size: 0; flex-direction: column; gap: 5px; }
.dan-community-budget .cb-branch-text > strong { font-size: var(--fs-small); line-height: 1.3; color: var(--d-ink); }
.dan-community-budget .cb-branch-amounts { font-size: var(--fs-th); color: var(--d-muted); line-height: 1.6; }
.dan-community-budget .cb-track { block-size: 6px; background: var(--d-track); border-radius: 9px; overflow: hidden; margin-block-start: 3px; }
.dan-community-budget .cb-track i { display: block; block-size: 100%; background: var(--d-muted); border-radius: inherit; }
.dan-community-budget .cb-select:checked + .cb-branch .cb-track i, .dan-community-budget .cb-branch-warn .cb-track i { background: var(--cb-accent); }
.dan-community-budget .cb-percent { font-size: var(--fs-td); font-weight: 700; color: var(--d-muted); }
.dan-community-budget .cb-select:checked + .cb-branch .cb-percent, .dan-community-budget .cb-branch-warn .cb-percent { color: var(--cb-accent); }
.dan-community-budget .cb-chevron { display: flex; color: var(--d-muted); }
.dan-community-budget .cb-chevron svg { inline-size: 16px; block-size: 16px; }
.dan-community-budget .cb-list-foot { grid-column: 1; grid-row: -2; padding: 10px 18px 16px; font-size: var(--fs-th); color: var(--d-muted); align-self: end; }
.dan-community-budget .cb-detail { display: none; grid-column: 2; grid-row: 1 / -1; min-inline-size: 0; background: var(--surface); border: 1px solid var(--d-line); border-radius: 16px; padding: 20px; gap: 18px; }
.dan-community-budget .cb-select:checked ~ .cb-detail { display: flex; flex-direction: column; }
.dan-community-budget .cb-detail-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.dan-community-budget .cb-heading { display: flex; align-items: center; gap: 12px; }
.dan-community-budget .cb-heading h2 { font-size: 23px; }
.dan-community-budget .cb-heading p { margin-block-start: 4px; color: var(--d-muted); font-size: var(--fs-th); }
.dan-community-budget .cb-open { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--d-line); border-radius: 12px; color: var(--d-muted); font-size: var(--fs-th); white-space: nowrap; }
.dan-community-budget .cb-open:hover { border-color: var(--cb-accent); color: var(--cb-accent); }
.dan-community-budget .cb-open svg { inline-size: 17px; block-size: 17px; }
.dan-community-budget .cb-main-metrics { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: center; }
.dan-community-budget .cb-donut-block { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.dan-community-budget .cb-donut { inline-size: min(100%, 230px); aspect-ratio: 1; border-radius: 50%; background: conic-gradient(from 0deg, var(--cb-accent) var(--cb-used), var(--d-line) 0); position: relative; display: grid; place-items: center; }
.dan-community-budget .cb-donut::before { content: ''; position: absolute; inset: 14%; background: var(--surface); border-radius: 50%; }
.dan-community-budget .cb-donut-unknown { background: var(--d-line); }
.dan-community-budget .cb-donut-center { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; max-inline-size: 62%; }
.dan-community-budget .cb-donut-center strong { color: var(--d-ink); font-size: clamp(30px, 4cqi, 44px); line-height: 1.15; }
.dan-community-budget .cb-donut-center span { font-size: var(--fs-th); line-height: 1.4; color: var(--d-muted); }
.dan-community-budget .cb-legend { display: flex; gap: 18px; font-size: var(--fs-th); color: var(--d-muted); }
.dan-community-budget .cb-legend span { display: flex; align-items: center; gap: 8px; }
.dan-community-budget .cb-legend i { inline-size: 12px; block-size: 12px; background: var(--d-line); border-radius: 50%; }
.dan-community-budget .cb-legend .cb-used-dot { background: var(--cb-accent); }
.dan-community-budget .cb-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.dan-community-budget .cb-figures:has(> a:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dan-community-budget .cb-figures > a { display: flex; align-items: center; gap: 10px; padding: 12px; min-inline-size: 0; border: 1px solid var(--d-line); border-radius: 15px; background: var(--d-cream2); }
.dan-community-budget .cb-figures dt { color: var(--d-muted); font-size: var(--fs-th); margin-block-end: 4px; }
.dan-community-budget .cb-figures dd { font-size: clamp(17px, 1.8cqi, 22px); font-weight: 700; color: var(--d-ink); }
.dan-community-budget .cb-metric-icon { color: var(--cb-accent); display: flex; flex: none; }
.dan-community-budget .cb-metric-icon svg { inline-size: 28px; block-size: 28px; }
.dan-community-budget .cb-notice { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 12px; background: var(--d-cream2); color: var(--d-ink); }
.dan-community-budget .cb-notice p { margin-block-start: 3px; font-size: var(--fs-th); line-height: 1.6; color: var(--d-muted); }
.dan-community-budget .cb-notice-icon { display: flex; flex: none; }
.dan-community-budget .cb-notice-warn { background: var(--cb-soft); color: var(--cb-accent); }
.dan-community-budget .cb-notice-warn p { color: var(--cb-accent); }
.dan-community-budget .cb-comparison { display: flex; flex-direction: column; justify-content: center; padding: 16px 12px; min-inline-size: 0; border: 1px solid var(--d-line); border-radius: 14px; }
.dan-community-budget .cb-comparison h3 { color: var(--d-ink); font-size: var(--fs-td); margin-block-end: 14px; }
.dan-community-budget .cb-compare-row { display: grid; grid-template-columns: 1fr max-content; align-items: center; gap: 12px; margin-block-end: 14px; font-size: var(--fs-th); color: var(--d-muted); }
.dan-community-budget .cb-compare-row strong { min-inline-size: 0; font-weight: 500; color: var(--d-ink); text-align: end; }
.dan-community-budget .cb-compare-track { grid-column: 1 / -1; grid-row: 2; block-size: 12px; background: var(--d-track); border-radius: 5px; overflow: hidden; }
.dan-community-budget .cb-compare-track i { display: block; block-size: 100%; background: var(--d-sand); border-radius: inherit; }
.dan-community-budget .cb-actual .cb-compare-track i { background: var(--cb-accent); }
.dan-community-budget .cb-footnote { color: var(--d-muted); font-size: var(--fs-th); margin-block-start: 18px; }
.dan-community-budget .cb-empty { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; background: var(--surface); border: 1px solid var(--d-line); border-radius: 16px; padding: 55px 24px; }
.dan-community-budget .cb-empty p { color: var(--d-muted); max-inline-size: 420px; font-size: var(--fs-small); line-height: 1.7; }
.dan-community-budget .cb-summary small svg, .dan-community-budget .cb-chart-hint svg { inline-size: 14px; block-size: 14px; }
.dan-community-budget .cb-summary > label:hover, .dan-community-budget .cb-figures > a:hover { border-color: var(--cb-accent); background: var(--cb-soft); }
.dan-community-budget .cb-chart-link { color: var(--d-ink); cursor: pointer; }
.dan-community-budget .cb-donut-block { padding: 8px; border: 1px solid transparent; border-radius: 14px; }
.dan-community-budget .cb-chart-link:hover { border-color: var(--cb-accent); background: var(--d-cream2); }
.dan-community-budget .cb-chart-hint { display: flex; align-items: center; justify-content: center; gap: 5px; font-size: var(--fs-th); color: var(--cb-accent); margin-block-start: 12px; }
.dan-community-budget .cb-notice > div { flex: 1; }
.dan-community-budget .cb-notice:hover { box-shadow: inset 0 0 0 1px var(--cb-accent); }
.dan-community-budget .cb-breakdown { border-block-start: 1px solid var(--d-line); padding-block-start: 16px; scroll-margin-block-start: 24px; }
.dan-community-budget .cb-breakdown > p { font-size: var(--fs-th); color: var(--d-muted); margin-block: 8px 14px; }
.dan-community-budget .cb-breakdown-table { display: grid; grid-template-columns: minmax(0, 1fr) max-content max-content 16px; column-gap: 14px; }
.dan-community-budget .cb-breakdown-head, .dan-community-budget .cb-breakdown-row { display: grid; grid-column: 1 / -1; grid-template-columns: subgrid; gap: 14px; align-items: center; }
.dan-community-budget .cb-breakdown-head { font-size: var(--fs-th); color: var(--d-muted); padding: 8px 10px; }
.dan-community-budget .cb-breakdown-row { padding: 13px 10px; color: var(--d-ink); border-block-start: 1px solid var(--d-line); font-size: var(--fs-th); border-radius: 8px; }
.dan-community-budget .cb-breakdown-row { cursor: pointer; }
.dan-community-budget .cb-breakdown-row:hover { background: var(--cb-soft); }
.dan-community-budget .cb-breakdown-row svg { inline-size: 16px; block-size: 16px; }
@container cb (max-width: 1100px) {
  .dan-community-budget .cb-workspace { grid-template-columns: minmax(260px, 1fr) minmax(0, 1.6fr); column-gap: 16px; }
  .dan-community-budget .cb-detail { padding: 16px; }
  .dan-community-budget .cb-branch { gap: 8px; margin-inline: 10px; padding-inline: 10px; }
  .dan-community-budget .cb-branch .cb-icon { inline-size: 32px; block-size: 38px; }
  .dan-community-budget .cb-chevron { display: none; }
  .dan-community-budget .cb-main-metrics { gap: 18px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .dan-community-budget .cb-figures > a { padding: 12px; gap: 8px; }
  .dan-community-budget .cb-metric-icon { display: none; }
}
@container cb (max-width: 760px) {
  .dan-community-budget .cb-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dan-community-budget .cb-summary > label { padding: 14px; }
  .dan-community-budget .cb-summary > label > strong { font-size: var(--fs-h2); }
  .dan-community-budget .cb-workspace { display: block; }
  .dan-community-budget .cb-workspace::before { display: none; }
  .dan-community-budget .cb-list-head { padding: 0 0 14px; }
  .dan-community-budget .cb-choice { display: block; }
  .dan-community-budget .cb-branch { margin: 0 0 10px; background: var(--surface); padding: 16px; border-color: var(--d-line); }
  .dan-community-budget .cb-branch .cb-icon { inline-size: 34px; block-size: 38px; }
  .dan-community-budget .cb-detail { margin-block-end: 12px; gap: 16px; }
  .dan-community-budget .cb-heading h2 { font-size: 23px; }
  .dan-community-budget .cb-main-metrics { gap: 16px; }
  .dan-community-budget .cb-donut-center strong { font-size: 34px; }
  .dan-community-budget .cb-donut-center span { font-size: 11px; }
  .dan-community-budget .cb-figures dt { font-size: var(--fs-th); }
  .dan-community-budget .cb-figures dd { font-size: 18px; }
  .dan-community-budget .cb-list-foot { padding: 6px 0; }
}
@container cb (max-width: 420px) {
  .dan-community-budget .cb-detail { padding: 16px; }
  .dan-community-budget .cb-main-metrics { grid-template-columns: 1fr; }
  .dan-community-budget .cb-donut { inline-size: 200px; }
  .dan-community-budget .cb-figures > a { padding: 14px 16px; }
  .dan-community-budget .cb-metric-icon { display: none; }
  .dan-community-budget .cb-summary { grid-template-columns: 1fr; }
  .dan-community-budget .cb-figures { grid-template-columns: 1fr; }
  .dan-community-budget .cb-figures:has(> a:nth-child(4)) { grid-template-columns: 1fr; }
  .dan-community-budget .cb-compare-row { gap: 8px; font-size: var(--fs-th); }
  .dan-community-budget .cb-compare-row strong { min-inline-size: 0; }
}

/* Approved unified branch budget. Scoped to its content; shared palette and shell stay shared. */
.dan-branch-budget { color:var(--d-ink); container-type:inline-size; container-name:bb; }
.dan-branch-budget .bb-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.dan-branch-budget h1 { color:var(--d-ink); font-size:calc(var(--fs-body) * 2); font-weight:750; margin:0 0 8px; }
.dan-branch-budget h2 { color:var(--d-ink); font-size:calc(var(--fs-body) * 1.4375); font-weight:700; margin:0; }
.dan-branch-budget h3, .bb-detail-content h3 { font-size:var(--fs-h3); color:var(--d-ink); margin:0 0 14px; }
.dan-branch-budget .bb-page-head p { font-size:var(--fs-small); color:var(--d-muted); margin:0; }
.dan-branch-budget .bb-years { display:flex; gap:10px; }
.dan-branch-budget .bb-year { display:flex; align-items:center; gap:10px; padding:10px 16px; border:1px solid var(--d-line); border-radius:14px; background:var(--surface); color:var(--d-muted); font-size:var(--fs-td); }
.dan-branch-budget .bb-year strong { font-size:var(--fs-h2); }
.dan-branch-budget .bb-year.bb-selected { color:var(--d-orange-ink); background:var(--d-orange-soft); border-color:var(--d-orange-ink); }
.dan-branch-budget .bb-card { background:var(--surface); border:1px solid var(--d-line); border-radius:20px; padding:26px; }
.dan-branch-budget .bb-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.dan-branch-budget .bb-kpi { background:var(--surface); border:1px solid var(--d-line); border-radius:20px; padding:22px; }
.dan-branch-budget .bb-kpi span, .dan-branch-budget .bb-kpi small, .bb-detail-content .bb-kpi span, .bb-detail-content .bb-kpi small { display:block; color:var(--d-muted); font-size:var(--fs-th); }
.dan-branch-budget .bb-kpi strong, .bb-detail-content .bb-kpi strong { display:block; color:var(--d-ink); font-size:var(--fs-h1); font-weight:750; margin:10px 0 8px; font-variant-numeric:tabular-nums; }
.dan-branch-budget .bb-primary { display:grid; grid-template-columns:1fr 2fr; gap:20px; margin-bottom:20px; }
.dan-branch-budget .bb-secondary { display:grid; grid-template-columns:2fr 1fr; gap:20px; margin-bottom:24px; }
.dan-branch-budget .bb-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.dan-branch-budget .bb-card-head > span { color:var(--d-muted); font-size:var(--fs-th); }
.dan-branch-budget .bb-heading { display:flex; align-items:center; gap:12px; }
.dan-branch-budget .bb-muted, .bb-detail-content .bb-muted { color:var(--d-muted); font-size:var(--fs-th); line-height:1.65; margin:8px 0; }
.dan-branch-budget .bb-symbol { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; background:var(--d-cream2); color:var(--d-orange-ink); flex-shrink:0; }
.dan-branch-budget .bb-symbol svg { width:28px; height:28px; }
.dan-branch-budget .bb-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--d-line); background:var(--surface); color:var(--d-muted); border-radius:12px; padding:10px 14px; font-size:var(--fs-th); min-height:44px; white-space:nowrap; }
.dan-branch-budget .bb-button:hover { background:var(--d-cream2); color:var(--d-ink); }
.dan-branch-budget .bb-text-button { display:inline-flex; align-items:center; gap:5px; border:0; padding:8px 0; min-height:44px; color:var(--d-orange-ink); font-size:var(--fs-th); background:transparent; }
.dan-branch-budget .bb-category { display:flex; align-items:center; gap:10px; border:0; border-bottom:1px solid var(--d-line-soft); padding:18px 0; width:100%; background:transparent; text-align:start; color:var(--d-muted); font-size:var(--fs-td); }
.dan-branch-budget .bb-category:hover { background:var(--d-cream2); }
.dan-branch-budget .bb-category .bb-symbol { width:42px; height:42px; border-radius:12px; }
.dan-branch-budget .bb-category-main { flex:1; min-width:0; }
.dan-branch-budget .bb-category-main strong { display:block; color:var(--d-ink); font-size:var(--fs-body); margin-bottom:8px; }
.dan-branch-budget .bb-category-main small { display:block; font-size:var(--fs-th); line-height:1.6; margin-bottom:8px; }
.dan-branch-budget .bb-track { display:block; height:8px; border-radius:999px; background:var(--d-track); overflow:hidden; }
.dan-branch-budget .bb-track i { display:block; height:100%; border-radius:999px; background:var(--d-orange-ink); }
.dan-branch-budget .bb-category .bb-track i { background:var(--d-muted); }
.dan-branch-budget .bb-spending { display:grid; grid-template-columns:1.15fr 1fr; gap:26px; align-items:center; padding:12px 0 22px; }
.dan-branch-budget .bb-donut-block { display:flex; flex-direction:column; align-items:center; gap:18px; }
.dan-branch-budget .bb-donut { background:conic-gradient(var(--d-orange-ink) 0 var(--bb-used),var(--d-track) var(--bb-used) 100%); border:0; border-radius:50%; width:min(100%,280px); aspect-ratio:1; padding:0; display:grid; place-items:center; }
.dan-branch-budget .bb-donut > span { border-radius:50%; background:var(--surface); width:74%; height:74%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px; }
.dan-branch-budget .bb-donut strong { font-size:calc(var(--fs-body) * 3); font-weight:750; color:var(--d-ink); }
.dan-branch-budget .bb-donut small { font-size:var(--fs-th); color:var(--d-muted); line-height:1.6; }
.dan-branch-budget .bb-legend { display:flex; flex-wrap:wrap; align-items:center; gap:16px; color:var(--d-muted); font-size:var(--fs-th); }
.dan-branch-budget .bb-legend span { display:flex; align-items:center; gap:7px; }
.dan-branch-budget .bb-legend i { width:12px; height:12px; border-radius:50%; background:var(--d-orange-ink); }
.dan-branch-budget .bb-legend .bb-remaining { background:var(--d-track); }
.dan-branch-budget .bb-legend .bb-plan-dot { background:var(--d-sand); }
.dan-branch-budget .bb-comparison { border:1px solid var(--d-line); border-radius:16px; padding:22px; }
.dan-branch-budget .bb-comparison h3 { margin-bottom:28px; }
.dan-branch-budget .bb-comparison > div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; font-size:var(--fs-th); color:var(--d-muted); }
.dan-branch-budget .bb-comparison strong { color:var(--d-ink); font-size:var(--fs-small); }
.dan-branch-budget .bb-comparison .bb-track { height:12px; margin:12px 0 22px; }
.dan-branch-budget .bb-comparison .bb-plan i { background:var(--d-sand); }
.dan-branch-budget .bb-summary-foot { width:100%; border:0; background:var(--d-cream2); color:var(--d-ink); border-radius:14px; padding:18px; display:flex; align-items:center; gap:12px; text-align:start; }
.dan-branch-budget .bb-summary-foot span { flex:1; }
.dan-branch-budget .bb-summary-foot small { display:block; margin-top:7px; color:var(--d-muted); font-size:var(--fs-th); }
.dan-branch-budget .bb-months { display:flex; gap:8px; height:175px; margin-top:25px; direction:rtl; }
.dan-branch-budget .bb-month { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--d-muted); font-size:var(--fs-th); }
.dan-branch-budget .bb-month > div { height:145px; display:flex; align-items:flex-end; gap:3px; width:70%; }
.dan-branch-budget .bb-month i { width:50%; background:var(--d-orange-ink); border-radius:4px 4px 0 0; }
.dan-branch-budget .bb-month .bb-month-plan { background:var(--d-sand); }
.dan-branch-budget .bb-attention { display:flex; align-items:center; gap:12px; padding:18px 0; border:0; border-bottom:1px solid var(--d-line-soft); width:100%; color:var(--d-orange-ink); background:transparent; text-align:start; }
.dan-branch-budget .bb-attention span { flex:1; }
.dan-branch-budget .bb-attention strong { display:block; color:var(--d-ink); font-size:var(--fs-td); }
.dan-branch-budget .bb-attention small { display:block; color:var(--d-muted); margin-top:7px; font-size:var(--fs-th); }
.dan-branch-budget .bb-table-card { padding:0; overflow:hidden; scroll-margin-top:20px; }
.dan-branch-budget .bb-table-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:22px 24px; }
.dan-branch-budget .bb-table-head h2 { display:flex; align-items:center; gap:10px; }
.dan-branch-budget .bb-table-head h2 span { color:var(--d-muted); background:var(--d-track); border-radius:6px; padding:3px 7px; font-size:var(--fs-th); }
.dan-branch-budget .bb-filters { display:flex; flex-wrap:wrap; gap:10px; padding:0 24px 18px; }
.dan-branch-budget .bb-search { display:flex; align-items:center; gap:8px; flex:1; min-width:180px; border:1px solid var(--d-line); background:var(--d-cream2); border-radius:10px; padding:0 12px; color:var(--d-muted); }
.dan-branch-budget .bb-search input { width:100%; min-width:0; border:0; background:transparent; padding:10px 0; font:inherit; font-size:var(--fs-th); color:var(--d-ink); }
.dan-branch-budget .bb-search input::placeholder { color:var(--d-muted); }
.dan-branch-budget .bb-filters select { border:1px solid var(--d-line); background:var(--surface); color:var(--d-muted); border-radius:10px; font-size:var(--fs-th); padding:8px 12px; min-height:44px; }
.dan-branch-budget .bb-table-scroll, .bb-detail-content .bb-table-scroll { overflow-x:auto; }
.dan-branch-budget table, .bb-detail-content table { width:100%; border-collapse:collapse; text-align:start; font-variant-numeric:tabular-nums; }
.dan-branch-budget .bb-table-card table { min-width:750px; }
.dan-branch-budget th, .bb-detail-content th { background:var(--d-cream2); color:var(--d-muted); font-size:var(--fs-th); font-weight:600; padding:14px; border-block:1px solid var(--d-line); white-space:nowrap; }
.dan-branch-budget td, .bb-detail-content td { padding:17px 14px; border-bottom:1px solid var(--d-line-soft); font-size:var(--fs-td); white-space:nowrap; line-height:1.55; }
.dan-branch-budget td small { display:block; color:var(--d-muted); font-size:var(--fs-th); margin-top:5px; }
.dan-branch-budget .bb-plan-cell { background:var(--d-cream2); }
.dan-branch-budget .bb-actual { font-weight:650; }
.dan-branch-budget .bb-row-name { background:transparent; color:var(--d-ink); font-size:var(--fs-td); font-weight:650; text-align:start; padding:0; border:0; min-height:32px; white-space:normal; max-width:190px; }
.dan-branch-budget .bb-row-name:hover { text-decoration:underline; }
.dan-branch-budget .bb-row-open { background:transparent; color:var(--d-muted); border:0; min-width:44px; min-height:44px; }
.dan-branch-budget .bb-usage { display:flex; align-items:center; gap:8px; color:var(--d-muted); font-size:var(--fs-th); margin-top:7px; }
.dan-branch-budget .bb-usage .bb-track { width:58px; height:5px; }
.dan-branch-budget .bb-state { font-size:var(--fs-th); }
.dan-branch-budget .bb-warning { color:var(--d-orange-ink); }
.dan-branch-budget tfoot td { background:var(--d-cream2); font-weight:650; }
.dan-branch-budget .bb-table-foot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:14px 24px; color:var(--d-muted); font-size:var(--fs-th); }
.dan-branch-budget .bb-footer { display:flex; align-items:flex-start; gap:8px; color:var(--d-muted); font-size:var(--fs-th); line-height:1.7; margin-top:20px; }
.dan-branch-budget .bb-footer svg { flex-shrink:0; margin-top:3px; }
.dan-branch-budget .bb-notice { display:flex; align-items:center; gap:8px; padding:13px 18px; border:1px solid var(--d-line); background:var(--d-cream2); border-radius:12px; font-size:var(--fs-td); color:var(--d-muted); }
.dan-branch-budget .bb-empty { text-align:center; padding:35px; color:var(--d-muted); }
.dan-branch-budget .bb-empty-state { display:flex; flex-direction:column; align-items:center; gap:15px; text-align:center; padding:50px 25px; }
.dan-branch-budget .bb-empty-state p { color:var(--d-muted); margin:0; }
.bb-detail-content .bb-detail-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:20px 0; }
.bb-detail-content .bb-kpi { border:1px solid var(--d-line); background:var(--d-cream2); border-radius:12px; padding:12px; }
.bb-detail-content .bb-kpi strong { font-size:var(--fs-h2); }
.bb-detail-content .bb-detail-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:20px 0; }
.bb-detail-content dt { color:var(--d-muted); font-size:var(--fs-th); }
.bb-detail-content dd { color:var(--d-ink); font-size:var(--fs-td); margin:5px 0 0; overflow-wrap:anywhere; }
.bb-detail-content .bb-refunds > div { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid var(--d-line); padding:14px 0; font-size:var(--fs-td); color:var(--d-ink); }
.bb-detail-content .bb-refunds small { display:block; color:var(--d-muted); font-size:var(--fs-th); margin-top:6px; }
.bb-detail-content .bb-refunds strong { white-space:nowrap; }
@container bb (max-width:1050px) {
  .dan-branch-budget .bb-kpi { padding:18px; }
  .dan-branch-budget .bb-kpi strong { font-size:calc(var(--fs-body) * 1.5); }
  .dan-branch-budget .bb-primary { grid-template-columns:1fr 1.65fr; }
  .dan-branch-budget .bb-spending { gap:18px; }
  .dan-branch-budget .bb-card { padding:22px; }
  .dan-branch-budget .bb-table-card { padding:0; }
  .dan-branch-budget .bb-comparison { padding:16px; }
  .dan-branch-budget h2 { font-size:var(--fs-h2); }
}
@container bb (max-width:800px) {
  .dan-branch-budget .bb-primary, .dan-branch-budget .bb-secondary { grid-template-columns:1fr; }
  .dan-branch-budget .bb-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dan-branch-budget .bb-categories { order:2; }
  .dan-branch-budget .bb-category { padding:14px 0; }
}
@container bb (max-width:500px) {
  .dan-branch-budget .bb-page-head { flex-direction:column; }
  .dan-branch-budget h1 { font-size:var(--fs-h1); }
  .dan-branch-budget .bb-kpi { padding:15px; }
  .dan-branch-budget .bb-kpi strong { font-size:var(--fs-h2); }
  .dan-branch-budget .bb-kpis { gap:10px; }
  .dan-branch-budget .bb-card { padding:18px; }
  .dan-branch-budget .bb-spending { grid-template-columns:1fr; }
  .dan-branch-budget .bb-card-head { flex-wrap:wrap; }
  .dan-branch-budget .bb-table-card { padding:0; }
  .dan-branch-budget .bb-table-head { padding:18px; flex-wrap:wrap; }
  .dan-branch-budget .bb-filters { padding:0 18px 15px; }
  .dan-branch-budget .bb-search { min-width:100%; }
  .dan-branch-budget .bb-filters select { flex:1; min-width:0; }
}
@media (max-width:500px) { .bb-detail-content .bb-detail-totals { grid-template-columns:1fr; } }

.dan-branch-budget .bb-inline-icon { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
