.report-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.report-invite h2{font-size:22px;margin:6px 0}.report-invite p{font-size:13px;line-height:1.6}.report-invite .button{flex-shrink:0}
#info-dialog:has(.monthly-report){width:min(960px,calc(100vw - 24px));background:var(--paper)}
#info-dialog[open]:has(.monthly-report){display:flex;flex-direction:column;overflow:hidden}
#info-dialog:has(.monthly-report)>.dialog-header{flex-shrink:0}
#info-content:has(.monthly-report){min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 2px 12px}
/* Teal steps derived from --accent; level 3 keeps 4.5:1 with its ink and level 4 with white. */
.monthly-report{--report-teal-1:#d5eee5;--report-teal-2:#a3d8c6;--report-teal-3:#5cb39a;--report-teal-ink:#0b3d33;--report-track:var(--wash);--report-alert-soft:#fff0f1;color:var(--ink);line-height:1.6;overflow-wrap:anywhere}.monthly-report p{word-break:keep-all}.monthly-report h3{font-size:19px;line-height:1.4;margin:5px 0 12px}.monthly-report p{font-size:13px;margin:8px 0}.monthly-report .eyebrow{font-size:12px;letter-spacing:1.2px;word-break:keep-all;font-weight:700;color:var(--accent)}
.report-controls{display:flex;gap:12px;align-items:center;justify-content:center;margin-bottom:16px}.report-controls label{display:flex;align-items:center;gap:12px;font-size:12px;min-width:0}.report-controls input{font:inherit;padding:10px;min-width:0;min-height:44px}.report-controls button{min-width:44px;min-height:44px}
.report-hero{background:var(--surface);border-radius:var(--radius);padding:24px}.report-hero h3{font-size:28px;letter-spacing:-1px;line-height:1.25;margin:8px 0 12px}.report-hero h3 br{display:none}.report-period{display:inline-block;font-size:12px;font-weight:600;color:var(--accent-hover);background:var(--accent-soft);border-radius:20px;padding:4px 10px}.report-hero .report-headline{font-size:18px;font-weight:700;margin-top:14px}
.report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.report-kpis span{display:block;font-size:13px;color:var(--muted)}.report-kpis strong{display:block;font-size:clamp(18px,2.6vw,28px);letter-spacing:-.6px;margin-top:6px;font-variant-numeric:tabular-nums}.report-kpis small{display:block;font-size:12px;color:var(--muted)}
.report-income-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;margin:12px 0 0;font-size:12px}.report-income-split dt{margin:0;color:var(--muted)}.report-income-split dd{margin:4px 0 0;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}.report-income-split small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--muted);overflow-wrap:anywhere}@media(max-width:600px){.report-income-split{grid-template-columns:1fr;gap:6px}.report-income-split>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.report-income-split dd{margin:0;text-align:right}}
.report-savings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-top:16px;padding:14px 16px;border-radius:16px;background:var(--accent-soft)}.report-savings span{display:block;font-size:12px;color:var(--muted)}.report-savings strong{display:block;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.6px;color:var(--accent-hover);font-variant-numeric:tabular-nums}.monthly-report .report-savings p{grid-column:1/-1;margin:4px 0 0;font-size:12px;color:var(--muted)}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.report-grid:not(:has(.report-panel)){display:none}.report-panel{min-width:0;padding:24px;background:var(--surface);border-radius:20px}.report-panel>p{color:var(--muted)}.report-panel>p strong{color:var(--ink)}
.report-categories{list-style:none;padding:0;margin:22px 0 0}.report-categories li{margin-bottom:18px}.report-categories li>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:13px;margin-bottom:8px}.report-categories strong small{color:var(--muted);font-weight:400;margin-left:5px}.report-rank{font-size:12px;color:var(--muted);margin-right:4px}.report-categories svg{display:block;width:100%;height:7px;border-radius:5px}.report-other-members{display:block;margin:-4px 0 8px;font-size:12px;color:var(--muted)}
.report-track{fill:var(--report-track)}.report-category-fill,.report-color-0{fill:var(--accent)}.report-color-1{fill:#2a9479}.report-color-2{fill:#4ea98e}.report-color-3{fill:#79bfa8}.report-color-4{fill:var(--report-teal-2)}.report-color-5{fill:var(--report-teal-1)}
.report-surge-tag,.report-flag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.6;color:var(--negative);background:var(--report-alert-soft);white-space:nowrap}.report-flag{margin:0 6px 0 0}
.report-budget-number{display:block;font-size:48px;letter-spacing:-2px;margin-top:24px;font-variant-numeric:tabular-nums}.monthly-report progress{display:block;width:100%;height:12px;margin:22px 0 12px;accent-color:var(--accent);border:0;border-radius:10px;background:var(--report-track)}.monthly-report progress::-webkit-progress-bar{background:var(--report-track);border-radius:10px}.monthly-report progress::-webkit-progress-value{background:var(--accent);border-radius:10px}.monthly-report progress::-moz-progress-bar{background:var(--accent);border-radius:10px}
.report-budget.is-over .report-budget-number,.monthly-report .report-budget.is-over .report-budget-copy{color:var(--negative)}.report-budget.is-over .report-budget-copy{font-weight:700}.monthly-report .report-budget.is-over progress{accent-color:var(--negative)}.monthly-report .report-budget.is-over progress::-webkit-progress-value{background:var(--negative)}.monthly-report .report-budget.is-over progress::-moz-progress-bar{background:var(--negative)}
.report-compare-panel{grid-column:1/-1}.report-surges{list-style:none;padding:12px 14px;margin:14px 0 0;border-radius:14px;background:var(--report-alert-soft);font-size:13px}.report-surges li+li{margin-top:4px}.report-surges strong{color:var(--negative)}.report-surges small{color:var(--muted)}
.report-compare{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 24px}.report-compare>li{min-width:0;padding:12px 0;border-top:1px solid var(--line)}.report-compare-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px;margin-bottom:6px}.report-compare-head .report-surge-tag{margin-left:0}.report-compare-head small{margin-left:auto;font-size:12px;color:var(--muted)}
.report-compare-row{display:grid;grid-template-columns:2.4em minmax(24px,1fr) 3.6em 6.4em;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.report-compare-row svg{display:block;width:100%;height:6px}.report-compare-row b{text-align:right;color:var(--ink);font-weight:600}.report-compare-row small{text-align:right;font-size:12px}.report-compare-row.is-current{color:var(--ink);font-weight:600}.report-compare-fill{fill:var(--report-teal-2)}.report-compare-row.is-current .report-compare-fill{fill:var(--accent)}.is-surge .report-compare-row.is-current .report-compare-fill{fill:var(--negative)}.report-compare-none{grid-column:3/-1}
.report-trend{list-style:none;padding:0;margin:18px 0 0}.report-trend>li{display:grid;grid-template-columns:2.6em minmax(0,1fr);gap:2px 10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.report-trend>li>strong{font-size:12px;font-weight:600;grid-row:span 2}.report-trend>li.is-current>strong{color:var(--accent);font-weight:800}.report-trend>li>small{grid-column:2;font-size:12px;color:var(--muted)}.report-trend>li>.report-trend-empty{grid-row:span 2}
.report-trend-bar{display:grid;grid-template-columns:2.2em minmax(24px,1fr) 5.8em;align-items:center;gap:6px;font-size:12px;color:var(--muted);line-height:1.7}.report-trend-bar svg{display:block;width:100%;height:8px}.report-trend-bar b{color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.report-income-fill{fill:var(--accent)}.report-expense-fill{fill:var(--orange)}
.report-weekdays,.report-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.report-weekdays{font-size:12px;text-align:center;margin:18px 0 6px;color:var(--muted)}.report-day{display:grid;place-items:center;aspect-ratio:1.2;border-radius:6px;font-size:12px;background:var(--wash);color:var(--muted)}.report-level-1{background:var(--report-teal-1);color:var(--report-teal-ink)}.report-level-2{background:var(--report-teal-2);color:var(--report-teal-ink)}.report-level-3{background:var(--report-teal-3);color:var(--report-teal-ink)}.report-level-4{background:var(--accent);color:#fff}.report-future{background:transparent;color:var(--muted);border:1px dashed #c9d0d8}
.monthly-report .report-caption{font-size:12px;color:var(--muted)}.report-data{font-size:13px;margin-top:18px}.report-data summary,.report-footnote summary{display:flex;align-items:center;cursor:pointer;padding:4px 0;min-height:44px}.report-data table{width:100%;font-size:12px;border-collapse:collapse;margin-top:8px;table-layout:fixed}.report-data caption{text-align:left}.report-data th,.report-data td{padding:8px 3px;border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere}.report-data td small{white-space:nowrap;color:var(--muted)}.report-data th:first-child{text-align:left}.report-data ul{padding-left:18px}
.report-footnote{padding:24px 6px 4px}.report-footnote p{color:var(--muted)}.report-footnote details{font-size:13px;border-top:1px solid var(--line);margin-top:18px;padding-top:8px}.report-empty{padding:20px;border:1px dashed #c9d0d8;border-radius:12px;background:var(--surface)}
.monthly-report>.report-empty{margin-top:16px}.report-empty .button{margin-top:8px;min-height:44px}
@media(max-width:600px){.report-invite{align-items:flex-start;flex-direction:column;gap:12px}.report-invite h2{font-size:20px}#info-dialog:has(.monthly-report){padding:18px}.report-controls{gap:8px}.report-controls label{font-size:0;gap:0}.report-controls input{font-size:14px}.report-hero{padding:22px 18px}.report-hero h3{font-size:27px}.report-hero h3 br{display:initial}.report-hero .report-headline{font-size:16px}.report-kpis{grid-template-columns:1fr;gap:10px}.report-kpis>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 12px}.report-kpis strong{font-size:21px;margin-top:0;text-align:right}.report-kpis small{grid-column:1/-1;text-align:right}.report-savings{grid-template-columns:1fr;padding:12px 14px}.report-savings>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.report-savings strong{font-size:21px}.report-grid{grid-template-columns:1fr}.report-panel{padding:20px}.report-compare{grid-template-columns:1fr}}

/* Member-checked no-spend days keep their spending level and gain an outline. */
.report-day.report-no-spend{box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent);font-weight:700}
.report-habit{margin:6px 0 0;font-size:13px;color:var(--muted)}.report-habit strong{color:var(--ink)}
