.account-page [hidden] { display: none !important; }
.account-page .wrap { width: min(1480px, calc(100% - 64px)); }
.account-main { max-width: 1480px; padding-block: 32px 24px; }
.auth-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 480px); grid-template-areas: "intro auth" "privacy auth"; grid-template-rows: auto 1fr; gap: 24px 48px; max-width: 1080px; margin: 12px auto 0; align-items: start; }
.account-intro { grid-area: intro; margin: 10px 0 0; }
.account-intro h1 { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.1; letter-spacing: -.045em; margin: 0 0 16px; }
.account-intro > p:last-child { max-width: 560px; color: var(--glass-muted); line-height: 1.7; }
.account-card, .account-page dialog { position: relative; padding: 28px; margin: 24px 0; border: 1px solid var(--glass-edge); border-radius: 27px; background: var(--pane-dense); color: var(--glass-text); box-shadow: var(--glass-shadow); backdrop-filter: blur(22px) saturate(122%); -webkit-backdrop-filter: blur(22px) saturate(122%); }
.account-card::before { content: ''; position: absolute; inset: 0; background: var(--reflection) center / 100% 100%; opacity: .6; border-radius: inherit; pointer-events: none; }
.account-card::after { content: ''; position: absolute; inset: 0; padding: 1.5px; border-radius: inherit; background: var(--glass-rim); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; pointer-events: none; }
.account-card > * { position: relative; z-index: 1; }
#auth-panel { grid-area: auth; width: 100%; margin: 0; }
.account-card h2, #vault-title { margin: 0 0 12px; font-size: 27px; letter-spacing: -.035em; }
.account-card h3 { margin: 22px 0 10px; }
.account-card p { line-height: 1.65; }
.account-card p:not(.eyebrow), .account-footer { color: var(--glass-muted); }
.account-card .eyebrow { font-size: 11px; }
.privacy-details { grid-area: privacy; margin: 0; padding: 22px 24px; background: var(--pane-clear); }
.privacy-details h2 { font-size: 23px; }
.privacy-details p { font-size: 14px; margin: 10px 0; }
.privacy-details .eyebrow { margin: 0 0 12px; }
.privacy-recovery { border-top: 1px solid var(--glass-line); margin-top: 16px; padding-top: 14px; }
.privacy-recovery summary { cursor: pointer; color: var(--accent); font-size: 13px; font-weight: 650; }
.unlock-panel { max-width: 660px; margin: 40px auto; }
.unlock-panel strong { overflow-wrap: anywhere; }
.unlock-panel #unlock-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: end; }
.account-page .unlock-panel label { margin: 8px 0 0; }
.unlock-panel .button { margin: 0; }
.account-page fieldset { border: 0; padding: 0; margin: 0; }
.account-page label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 650; margin: 18px 0; }
.account-page input, .account-page select { width: 100%; min-height: 46px; padding: 12px 16px; border: 1px solid var(--glass-edge); border-radius: 15px; background: var(--field); color: var(--glass-text); font: inherit; box-shadow: inset 0 1px 2px #ffffff50; }
.account-page input:focus-visible, .account-page select:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.account-page input::placeholder { color: var(--glass-muted); opacity: 1; }
.account-page button { cursor: pointer; }
.account-page :disabled { cursor: not-allowed; opacity: .55; }
.account-page .button { min-height: 46px; gap: 10px; }
.account-page .secondary-button { color: var(--glass-text); background: var(--field); border-color: var(--glass-edge); box-shadow: var(--glass-shadow); }
.account-tabs { display: flex; gap: 8px; margin: 0 0 20px; border-bottom: 1px solid var(--glass-line); padding-bottom: 12px; }
.account-tabs button { border: 1px solid transparent; border-radius: 999px; background: transparent; padding: 10px 16px; color: var(--glass-muted); font: inherit; font-size: 14px; }
.account-tabs button[aria-pressed="true"] { color: var(--glass-text); background: var(--field); border-color: var(--glass-edge); box-shadow: var(--glass-shadow); font-weight: 700; }
.account-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 22px; }
.account-links button { color: var(--accent); padding: 4px 0; border: 0; background: transparent; text-decoration: underline; text-underline-offset: 4px; font: inherit; font-size: 13px; }
.field-help { font-size: 12px; line-height: 1.65; }
.notice { padding: 15px 20px; border: 1px solid var(--glass-edge); border-radius: 18px; background: var(--field); font-size: 14px; line-height: 1.65; margin: 16px 0; max-width: 780px; }
.notice[data-kind="error"] { border-color: var(--coral); }
.section-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.section-heading .eyebrow { margin: 0 0 8px; }
.section-heading p { margin: 6px 0; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.account-page .checkbox { flex-direction: row; align-items: flex-start; gap: 12px; max-width: 650px; line-height: 1.6; font-weight: 500; }
.account-page .checkbox input { flex: none; width: 20px; height: 20px; min-height: 20px; accent-color: var(--accent); }
.account-stats { display: grid; grid-template-columns: 1fr 2fr; gap: 22px; }
.workspace-heading { margin: 0 0 26px; }
.workspace-heading h1 { font-size: clamp(30px, 3.3vw, 47px); line-height: 1.12; letter-spacing: -.045em; margin: 7px 0 8px; }
.workspace-heading > div > p:last-child { color: var(--glass-muted); margin: 0 0 22px; }
.workspace-nav { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px; border: 1px solid var(--glass-edge); border-radius: 22px; background: var(--pane-dense); box-shadow: var(--glass-shadow); backdrop-filter: blur(22px) saturate(122%); -webkit-backdrop-filter: blur(22px) saturate(122%); }
.workspace-nav button { border: 1px solid transparent; background: transparent; color: var(--glass-muted); border-radius: 16px; padding: 11px 18px; font: inherit; font-size: 14px; font-weight: 650; }
.workspace-nav button[aria-pressed="true"] { background: var(--active-button); color: var(--active-ink); border-color: var(--glass-edge); box-shadow: var(--glass-shadow); }
.workspace-screen > .section-heading { margin: 30px 0 18px; }
.workspace-screen > .section-heading h2 { font-size: 28px; letter-spacing: -.035em; margin: 0; }
.workspace-screen > .section-heading .eyebrow { margin-bottom: 5px; }
.overview-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr); gap: 22px; }
.overview-grid .account-card { margin: 0; }
.overview-side { display: grid; grid-template-rows: 1fr 1fr; gap: 22px; }
.period-hero { min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; }
.period-hero h3 { font-size: clamp(19px, 2.1vw, 29px); margin: 8px 0 20px; line-height: 1.25; }
.period-hero .field-help { margin: 4px 0; }
.large-amount { font-size: clamp(28px, 3.5vw, 49px); font-weight: 750; letter-spacing: -.055em; line-height: 1.18; overflow-wrap: anywhere; }
.period-split { border-top: 1px solid var(--glass-line); display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-top: 18px; margin-top: 25px; }
.period-split span { display: block; color: var(--glass-muted); font-size: 13px; margin-bottom: 8px; }
.period-split strong { font-size: clamp(17px, 1.7vw, 24px); overflow-wrap: anywhere; }
.period-split > div:last-child strong { color: var(--accent); }
.overview-side .stat-rule { margin: 14px 0; }
.chart-card { margin-top: 22px; }
.chart-card h3 { margin: 3px 0; }
.forecast-chart { height: 190px; display: flex; align-items: flex-end; gap: clamp(4px, .7vw, 12px); overflow-x: auto; margin: 24px 0 8px; border-bottom: 1px solid var(--glass-line); padding: 0 2px 2px; }
.chart-column { height: 100%; min-width: 22px; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 5px; }
.chart-bar { min-height: 3px; width: min(100%, 44px); border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, #75dbe2, #8460e6 67%, #c57bce); box-shadow: 0 0 12px #8b6ae250, inset 0 1px #ffffff9c; }
.chart-column small { height: 16px; font-size: 10px; color: var(--glass-muted); }
.overview-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.shortcut-card { display: flex; flex-direction: column; text-align: left; gap: 13px; width: 100%; margin-top: 0; font: inherit; }
.shortcut-card span { color: var(--glass-muted); font-size: 13px; }
.shortcut-card strong { font-size: clamp(19px, 2vw, 27px); letter-spacing: -.025em; }
.shortcut-card:hover:not(:disabled) { transform: translateY(-2px); }
.device-section { border-top: 1px solid var(--glass-line); margin-top: 32px; padding-top: 10px; }
.device-list { display: grid; gap: 12px; margin: 20px 0; }
.device-card { display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 1px solid var(--glass-edge); border-radius: 18px; background: var(--field); padding: 16px; }
.device-card strong { font-size: 15px; }
.device-card p { margin: 5px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.device-card .button { white-space: nowrap; }
.plan-card { margin: 30px 0 0; background: var(--pane-clear); }
.range-control { min-width: 180px; }
.account-page #custom-dates { gap: 16px; }
.account-page #custom-dates label { margin: 0; }
.account-page #admin-panel td:nth-child(3), .account-page #admin-panel th:nth-child(3) { text-align: left; }
.account-page #admin-panel td { white-space: nowrap; }
.account-page #admin-panel td:first-child { white-space: normal; }
.account-page #admin-panel td .button { min-height: 36px; padding: 7px 13px; font-size: 12px; }
.stat-value { font-size: 38px; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.stat-rule { display: block; font-size: 23px; letter-spacing: -.025em; }
.account-stats .account-card { margin-bottom: 0; }
.table-controls { display: flex; gap: 20px; align-items: end; }
.table-controls label { min-width: 150px; margin-top: 0; }
.table-controls .search-label { flex: 1; }
.table-scroll { overflow-x: auto; }
.account-page table { width: 100%; border-collapse: collapse; text-align: left; }
.account-page th { padding: 12px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--glass-muted); border-bottom: 1px solid var(--glass-line); }
.account-page td { padding: 13px 12px; border-bottom: 1px solid var(--glass-line); font-size: 14px; }
.account-page tbody tr:nth-child(even) { background: rgba(112, 88, 160, .045); }
:root[data-theme="dark"] .account-page tbody tr:nth-child(even) { background: rgba(184, 195, 241, .045); }
.account-page tbody tr:hover, .account-page tbody tr:focus-within { background: rgba(112, 88, 160, .085); }
:root[data-theme="dark"] .account-page tbody tr:hover, :root[data-theme="dark"] .account-page tbody tr:focus-within { background: rgba(184, 195, 241, .085); }
.account-page tbody tr:last-child td { border-bottom: 0; }
.account-page td:nth-child(3), .account-page th:nth-child(3) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.account-page td strong { display: block; overflow-wrap: anywhere; }
.account-page td small { display: block; color: var(--glass-muted); margin-top: 4px; font-size: 11px; }
.entry-state { display: inline-block; padding: 4px 9px; border-radius: 999px; background: var(--field); font-size: 11px; }
.account-footer { margin-top: 32px; font-size: 12px; line-height: 1.6; }
.account-page input[type="file"] { margin: 0 0 16px; padding: 8px; font-size: 13px; }
.account-page input[type="file"]::file-selector-button { font: inherit; font-weight: 650; padding: 9px 14px; margin-right: 12px; color: var(--glass-text); background: var(--pane-dense); border: 1px solid var(--glass-edge); border-radius: 10px; cursor: pointer; }
#auth-submit { width: 100%; margin-top: 4px; }
#auth-panel .account-links { gap: 8px 20px; margin-top: 18px; }
.account-page dialog { width: min(520px, calc(100% - 32px)); margin: auto; background-color: var(--glass-strong); }
.account-page dialog::backdrop { background: #060b1db3; backdrop-filter: blur(8px); }
.account-page .danger-button { background: #a51f48; color: white; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 850px) {
  .auth-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "auth" "privacy"; gap: 22px; max-width: 540px; }
  .account-intro { margin-top: 0; }
}
@media (max-width: 680px) {
  .account-page .wrap { width: calc(100% - 32px); }
  .account-main { padding-top: 28px; }
  .account-card { padding: 22px 18px; border-radius: 23px; }
  .unlock-panel { margin: 14px auto; }
  .unlock-panel #unlock-fields { grid-template-columns: minmax(0, 1fr); }
  .account-page .site-header { padding: 14px 16px; }
  .account-page .brand { font-size: 18px; gap: 8px; }
  .home-link { display: none; }
  .account-stats { grid-template-columns: 1fr; gap: 0; }
  .overview-grid, .overview-shortcuts { grid-template-columns: 1fr; }
  .overview-side { grid-template-rows: auto; }
  .workspace-nav { flex-wrap: nowrap; overflow-x: auto; }
  .workspace-nav button { white-space: nowrap; padding: 10px 13px; }
  .device-card { align-items: flex-start; flex-direction: column; }
  .account-page td, .account-page th { padding: 12px 7px; }
  .table-controls { flex-wrap: wrap; gap: 0 12px; }
  .table-controls .search-label { min-width: 100%; }
  .table-controls select { min-width: 160px; }
}
@media (prefers-reduced-transparency: reduce) { .account-card { background: var(--glass-strong); backdrop-filter: none; } .account-card::before { display: none; } }

/* Desktop editing uses the same glass surfaces and palette as the overview. */
.period-balance { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.period-balance > div:first-child { min-width: 0; }
.period-ring { position: relative; flex: 0 0 150px; width: 150px; height: 150px; filter: drop-shadow(0 7px 12px #805adb35); }
.period-ring svg { width: 100%; height: 100%; overflow: visible; }
.period-ring circle { fill: none; }
.ring-rim { stroke: var(--glass-edge); stroke-width: 1; }
.ring-track { stroke: var(--glass-line); stroke-width: 10; }
.ring-progress { stroke: url(#ring-colours); stroke-width: 10; stroke-linecap: round; transform: rotate(-90deg); transform-origin: center; }
.ring-label { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ring-label strong { font-size: 36px; line-height: 1.15; letter-spacing: -.05em; }
.ring-label span { color: var(--glass-muted); font-size: 12px; }
.account-page .text-button, .entry-name { font: inherit; color: var(--accent); border: 0; padding: 4px 0; background: transparent; cursor: pointer; text-align: left; }
.account-page .text-button:hover, .entry-name:hover { text-decoration: underline; }
.entry-name { color: var(--glass-text); font-weight: 650; overflow-wrap: anywhere; }
.icon-button { display: inline-grid; place-items: center; min-width: 40px; min-height: 40px; border-radius: 13px; border: 1px solid var(--glass-edge); background: var(--pane-clear); color: var(--glass-text); font-size: 24px; cursor: pointer; box-shadow: inset 0 1px #ffffff35; }
.icon-button:hover { background: var(--field); }
.icon-button:focus-visible, .entry-name:focus-visible, .text-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.entry-table { min-width: 790px; }
.entry-table td:first-child { width: 29%; }
.date-cell { white-space: nowrap; font-variant-numeric: tabular-nums; }
.entry-status-cell { text-transform: capitalize; font-size: 12px !important; }
.account-page dialog.editor-dialog { width: min(760px, calc(100% - 32px)); max-height: 90dvh; overflow-y: auto; padding: 28px; }
.account-page dialog h2 { font-size: 26px; margin: 3px 0; letter-spacing: -.035em; }
.account-page dialog .eyebrow { margin: 0 0 6px; }
.account-page .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.account-page .form-grid label { margin: 12px 0; min-width: 0; }
.account-page .form-grid .span-two { grid-column: 1 / -1; }
.account-page .form-grid input, .account-page .form-grid select { width: 100%; min-width: 0; }
.editor-actions { display: flex; gap: 12px; align-items: center; justify-content: flex-end; padding-top: 20px; margin-top: 12px; border-top: 1px solid var(--glass-line); }
.account-page .editor-dialog .field-help { line-height: 1.6; }
.account-page .editor-dialog [role="alert"] { color: #a51f48; font-size: 14px; line-height: 1.5; }
:root[data-theme="dark"] .account-page .editor-dialog [role="alert"] { color: #ffadc4; }
#entry-actions-list { display: grid; gap: 10px; margin-top: 20px; }
#entry-actions-list button, .history-card button { font: inherit; color: var(--glass-text); background: var(--pane-clear); border: 1px solid var(--glass-edge); border-radius: 12px; padding: 12px 16px; text-align: left; cursor: pointer; }
#entry-actions-list button:hover, .history-card button:hover { background: var(--field); }
#entry-actions-list .action-danger { color: #a51f48; }
:root[data-theme="dark"] #entry-actions-list .action-danger { color: #ffadc4; }
.history-card { padding: 16px; margin-top: 14px; border: 1px solid var(--glass-edge); border-radius: 16px; background: var(--pane-clear); }
.history-card p { margin: 8px 0; font-size: 14px; color: var(--glass-muted); }
.history-card button { font-size: 12px; padding: 7px 10px; margin: 4px 8px 0 0; }
#mortgage-tools { margin: 14px 0; padding: 16px; border: 1px solid var(--glass-edge); border-radius: 16px; }
#mortgage-tools summary { cursor: pointer; font-weight: 650; }
@media (max-width: 680px) {
  .period-ring { flex-basis: 116px; width: 116px; height: 116px; }
  .period-balance { gap: 12px; }
  .ring-label strong { font-size: 29px; }
  .account-page dialog.editor-dialog { padding: 22px 18px; }
  .account-page .form-grid { grid-template-columns: minmax(0, 1fr); }
  .section-heading > .inline-actions { flex-wrap: wrap; }
}

.payday-banner { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 22px 0; padding: 18px 22px; border: 1px solid var(--glass-edge); border-radius: 20px; background: var(--pane-clear); box-shadow: inset 0 1px 0 #ffffff60; }
.payday-banner strong { font-size: 17px; }
.payday-banner p { margin: 6px 0 0; line-height: 1.55; font-size: 13px; color: var(--glass-muted); }
.payday-banner[data-ready="false"] { border-color: var(--accent); }
.payday-banner .button { flex-shrink: 0; }
.report-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; }
.report-heading .eyebrow { margin-bottom: 4px; }
.report-heading label { margin: 0; }
.report-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.report-charts .account-card { margin: 16px 0 24px; padding: 24px; }
.report-chart h3 { margin: 8px 0 16px; font-size: 23px; letter-spacing: -.025em; }
.report-visual { min-height: 220px; display: grid; align-items: center; }
.report-visual svg { display: block; width: 100%; overflow: visible; }
.plot-grid { stroke: var(--glass-line); stroke-width: 1; }
.plot-label { fill: var(--glass-muted); font-size: 14px; font-family: inherit; }
.report-line { fill: none; stroke: var(--accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.report-dot { fill: var(--accent); stroke: var(--glass-strong); stroke-width: 1; }
.report-dot:focus { outline: 2px solid var(--accent); }
:root {
  --chart-green-light: #defff5; --chart-green-mid: #78c8b5; --chart-green-shade: #388f95;
  --chart-amber-light: #fff0d0; --chart-amber-mid: #ebc18b; --chart-amber-shade: #b88878;
  --chart-red-light: #ffe0ec; --chart-red-mid: #e49ab4; --chart-red-shade: #b56494;
  --chart-violet-light: #eee4ff; --chart-violet-mid: #b399e7; --chart-violet-shade: #7965b2;
  --chart-lens-light: #fffaff; --chart-lens-mid: #ae93d2; --chart-depth: #66617f;
}
:root[data-theme="dark"] {
  --chart-green-light: #cafff4; --chart-green-mid: #4cded0; --chart-green-shade: #207c98;
  --chart-amber-light: #fff1d0; --chart-amber-mid: #efb674; --chart-amber-shade: #ac6579;
  --chart-red-light: #ffe0f0; --chart-red-mid: #f086b8; --chart-red-shade: #9e437e;
  --chart-violet-light: #e5d9ff; --chart-violet-mid: #ba99ff; --chart-violet-shade: #705ab9;
  --chart-lens-light: #dcefff; --chart-lens-mid: #725aae; --chart-depth: #020612;
}
.gauge-arc, .income-ring { fill: none; stroke-width: 34; }
.gauge-halo { fill: none; stroke-width: 37; filter: blur(9px); opacity: .26; }
.gauge-depth { fill: none; stroke: var(--chart-depth); stroke-width: 36; opacity: .24; transform: translateY(7px); filter: blur(4px); }
.gauge-rim { fill: none; stroke-width: 1.7; }
.gauge-reflection { fill: none; stroke-width: 6; opacity: .5; }
.gauge-divider { stroke: #fff; stroke-width: 1.3; opacity: .42; }
.gauge-tick { stroke: var(--glass-text); stroke-width: 1.4; }
.gauge-needle { stroke: var(--glass-text); stroke-width: 5; stroke-linecap: round; filter: drop-shadow(0 3px 2px #121a3033); }
.gauge-needle-shine { stroke: #d4fffa; stroke-width: 1.6; stroke-linecap: round; opacity: .85; }
.gauge-hub { stroke-width: 1.5; filter: drop-shadow(0 3px 4px #19142e44); }
.gauge-hub-glint { fill: #fff; opacity: .76; }
.income-percent { fill: var(--glass-text); font-family: inherit; font-size: 40px; font-weight: 700; }
.income-total { fill: var(--glass-text); font-family: inherit; font-size: 31px; font-weight: 720; }
.income-subtotal { fill: var(--glass-text); font-family: inherit; font-size: 25px; font-weight: 650; }
.gauge-value { fill: var(--glass-text); font-size: 31px; font-weight: 750; font-family: inherit; }
.gauge-status { font-weight: 650; font-size: 15px; }
.account-card .gauge-status[data-tone="green"] { color: #14715f; }
.account-card .gauge-status[data-tone="amber"] { color: #8b570c; }
.account-card .gauge-status[data-tone="red"] { color: #a62e51; }
:root[data-theme="dark"] .gauge-status[data-tone="green"] { color: #68e1c9; }
:root[data-theme="dark"] .gauge-status[data-tone="amber"] { color: #f5cc72; }
:root[data-theme="dark"] .gauge-status[data-tone="red"] { color: #ffabc2; }
.chart-placeholder { padding: 30px; text-align: center; line-height: 1.7; color: var(--glass-muted); }
.flow-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.flow-summary button { text-align: left; font: inherit; color: var(--glass-text); border: 1px solid var(--glass-edge); background: var(--pane-clear); border-radius: 17px; padding: 16px 20px; cursor: pointer; }
.flow-summary button span { display: block; color: var(--glass-muted); font-size: 12px; margin-bottom: 6px; }
.flow-summary button strong { font-size: 23px; letter-spacing: -.025em; }
.report-controls { margin-top: 24px; }
@media (max-width: 850px) { .report-charts { grid-template-columns: minmax(0, 1fr); gap: 0; } .report-heading { align-items: flex-start; flex-direction: column; } .payday-banner { align-items: flex-start; flex-direction: column; gap: 16px; } }
@media (max-width: 680px) { .report-charts .account-card { padding: 20px 14px; } .flow-summary { gap: 10px; } .flow-summary button { padding: 12px; } .flow-summary button strong { font-size: 20px; } }
.sheet-dialog .form-error { white-space: pre-line; }
.sheet-dialog details { border: 1px solid var(--glass-edge); border-radius: 16px; padding: 16px; }
.sheet-dialog summary { cursor: pointer; font-weight: 650; }
.account-page .sheet-dialog td, .account-page .sheet-dialog th { text-align: left; white-space: normal; }
.sheet-dialog .table-scroll { max-height: 340px; }
