/* Home cash flow and AI share the active Catatu palette. */
/* Balance the chevron with an equal empty column so the number itself is centered. */
.ch-spending-kicker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 8px;min-width:0;min-height:36px;padding:0 34px;text-align:center;box-sizing:border-box}
.ch-spending-amount{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:44px;text-align:center!important;padding-top:4px!important;box-sizing:border-box}
.ch-spending-value{display:inline-grid;grid-template-columns:17px minmax(0,auto) 17px;align-items:center;gap:7px;max-width:100%;min-width:0}
.ch-spending-value:before{content:''}
.ch-surface{--ch-accent:var(--cs-accent);color:var(--cs-ink);font:13px/1.5 'DM Sans',sans-serif;box-sizing:border-box;min-width:0}
.ch-surface *{box-sizing:border-box;min-width:0}
.ch-surface button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}
.ch-surface button:disabled{opacity:.3;cursor:default}
.ch-surface button:focus-visible,.ch-chart:focus-visible,.ch-surface [role=switch]:focus-visible{outline:2px solid var(--cs-accent);outline-offset:3px}
.ch-cashflow{margin:24px 22px 0;padding:16px 18px;background:var(--cs-paper);border:1px solid var(--cs-line);border-radius:20px;container-type:inline-size}
.ch-cashflow h2{font:500 25px/1.15 Fraunces,serif;letter-spacing:-.025em;margin:0}
.ch-cashflow p{margin:4px 0 0;color:var(--cs-muted);font-size:11px}
.ch-flow-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ch-timeframes{display:flex;flex:1 1 195px;gap:3px;padding:3px;background:var(--cs-bg);border:1px solid var(--cs-line);border-radius:12px}
.ch-timeframes button{min-height:38px;flex:1;border:0;padding:6px;border-radius:9px;background:none;font-size:12px;white-space:nowrap;color:var(--cs-muted)}
.ch-timeframes [aria-pressed=true]{background:var(--cs-accent);color:var(--cs-on-accent);font-weight:700}
.ch-chart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin:12px 0 8px}
.ch-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--cs-muted)}
.ch-legend span{display:inline-flex;gap:5px;align-items:center}.ch-legend i{display:block;width:7px;height:7px;flex:none;border-radius:50%;background:var(--cs-accent)}
.ch-legend .ch-income i{background:var(--cs-good)}.ch-legend .ch-ghost i{height:0;border-top:2px dashed var(--cs-muted);border-radius:0;background:none;width:12px}
.ch-income-toggle{display:flex;gap:7px;align-items:center;min-height:40px;border:0;padding:0;background:none;font-size:10px!important;color:var(--cs-muted)!important}
.ch-income-toggle>i{position:relative;width:30px;height:18px;flex:none;background:var(--cs-line);border-radius:20px}.ch-income-toggle>i:after{content:'';position:absolute;width:12px;height:12px;top:3px;left:3px;border-radius:50%;background:var(--cs-muted);transition:transform .15s}
.ch-income-toggle[aria-checked=true]>i{background:var(--cs-accent)}.ch-income-toggle[aria-checked=true]>i:after{background:var(--cs-on-accent);transform:translateX(12px)}
.ch-chart{width:100%;touch-action:pan-y;cursor:crosshair;border-radius:5px;position:relative}
.ch-chart svg{display:block;width:100%;height:150px;overflow:visible}
.ch-chart .ch-axis{font:9px 'DM Sans',sans-serif;fill:var(--cs-muted)}
.ch-period{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 12px}
.ch-period strong{font:500 17px/1.3 Fraunces,serif;text-align:center}.ch-period button{width:40px;min-height:40px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--cs-line);border-radius:10px;background:none}
.ch-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}
.ch-figures>div+div{border-left:1px solid var(--cs-line);padding-left:14px}.ch-figures dt{font-size:11px;color:var(--cs-muted);margin-bottom:3px}.ch-figures dd{margin:0;font:500 clamp(15px,5.8cqw,23px)/1.35 Fraunces,serif;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;color:var(--ch-accent-ink)}
.ch-figures .ch-income dd{color:var(--cs-good)}.ch-figures.ch-expense-only{grid-template-columns:minmax(0,1fr)}
.ch-net{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:space-between;padding:10px 12px;background:color-mix(in srgb,var(--cs-accent) 9%,var(--cs-paper));border:1px solid color-mix(in srgb,var(--cs-accent) 22%,var(--cs-line));border-radius:10px;color:var(--ch-accent-ink)}
.ch-net strong{font:500 clamp(17px,5.5cqw,23px)/1.35 Fraunces,serif;overflow-wrap:anywhere}.ch-net>span{font-size:12px}.ch-net.ch-positive{color:var(--cs-good);background:color-mix(in srgb,var(--cs-good) 9%,var(--cs-paper));border-color:color-mix(in srgb,var(--cs-good) 22%,var(--cs-line))}
.ch-net small{flex-basis:100%;font-size:10px;color:var(--cs-muted)}.ch-ghost-value{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding-top:10px;color:var(--cs-muted)}
.ch-empty{min-height:250px;display:grid;place-content:center;text-align:center;padding:20px;color:var(--cs-muted)}
.ch-ai-wrap{margin:18px 22px 0}.ch-ai-wrap [role=switch]{min-height:44px}
.ch-ai-wrap .cs-ai{max-width:none;padding:18px!important;border-radius:20px!important;background:linear-gradient(150deg,color-mix(in srgb,var(--cs-accent) 8%,var(--cs-paper)),var(--cs-paper) 65%)!important}
.ch-ai-wrap .cs-ai-header{margin-bottom:14px!important}.ch-ai-wrap .cs-ai-header button{border-radius:10px!important;width:40px;height:40px;min-height:40px}
.ch-ai-wrap .cs-ai-header>div:first-child{gap:7px!important}.ch-ai-wrap .cs-ai-header>div:first-child>div:first-child{width:24px!important;height:24px!important}.ch-ai-wrap .cs-ai-header>div:first-child>div:first-child svg{width:24px!important;height:24px!important}
.ch-ai-wrap .cs-ai-header button:last-child{color:var(--ch-accent-ink)!important}
.ch-ai-wrap .cs-ai-header>div:first-child>div:last-child>div:first-child{font-size:10px!important}.ch-ai-wrap .cs-ai-header>div:first-child>div:last-child>div:first-child>span:last-child{background:var(--cs-accent)!important;color:var(--cs-on-accent)!important}
.ch-ai-wrap .cs-ai-context{border:0;margin:0 0 8px}.ch-ai-wrap .cs-ai-context summary{min-height:30px;font-size:10px}
.ch-ai-wrap .cs-insight-pager{display:flex;flex-direction:column}.ch-ai-wrap .cs-insight-position{order:3;justify-content:center;margin:0;font-size:11px}.ch-ai-wrap .cs-insight-position small{display:none}
.ch-ai-wrap .cs-insight-title{font-size:clamp(23px,5.8vw,29px)!important}.ch-ai-wrap .cs-insight-metric{gap:6px 12px!important;margin-top:10px!important}.ch-ai-wrap .cs-insight-metric>span:first-child{font-size:32px!important}
.ch-ai-wrap .cs-insight-detail{font-size:13px!important;line-height:1.65!important}
.ch-ai-wrap .cs-insight-action{padding-top:10px!important}.ch-ai-wrap .cs-insight-action button{background:none!important;border:0!important;padding:8px 0!important;color:var(--ch-accent-ink)!important;border-radius:0!important;box-shadow:none!important}
.ch-ai-wrap .cs-insight-nav{margin-top:8px;gap:8px}.ch-ai-wrap .cs-insight-arrow{border-radius:10px;width:40px;height:40px;min-height:40px}.ch-ai-wrap .cs-insight-dots{padding:0}.ch-ai-wrap .cs-insight-dots button{flex-basis:24px;width:24px}
@media(max-width:360px){.ch-cashflow,.ch-ai-wrap{margin-left:16px;margin-right:16px}.ch-cashflow,.ch-ai-wrap .cs-ai{padding:14px!important}.ch-timeframes button{font-size:11px}.ch-chart-toolbar{gap:4px 12px}.ch-income-toggle{font-size:9px!important}.ch-legend{font-size:9px;gap:7px}.ch-ai-wrap .cs-ai-header{flex-wrap:wrap;gap:8px!important}.ch-ai-wrap .cs-insight-title{font-size:23px!important}}
@media(prefers-reduced-motion:reduce){.ch-income-toggle>i:after{transition:none}}

.ch-insight-count{white-space:nowrap;flex:none;font:10px/1.3 'Geist Mono',monospace;color:var(--cs-muted)}

/* The explorer exposes each series, then opens the records behind the selected value. */
.ch-explorer .ch-flow-header{flex-wrap:nowrap;margin-bottom:14px}.ch-flow-mark{color:var(--cs-ink);flex:none;width:30px;height:30px;padding:5px;border:1px solid var(--cs-line);border-radius:8px}
.ch-explorer .ch-timeframes{width:100%;border-radius:10px}.ch-explorer .ch-timeframes button{border-radius:7px}
.ch-chart-filters{display:flex;align-items:center;gap:6px;margin:12px 0 4px;flex-wrap:wrap}
.ch-chart-filters button{display:flex;align-items:center;gap:6px;min-height:36px;padding:5px 8px;border:1px solid transparent;border-radius:8px;background:none;font-size:11px;color:var(--cs-muted)}
.ch-chart-filters button[aria-pressed=true]{border-color:var(--cs-line);color:var(--cs-ink);background:color-mix(in srgb,var(--ch-series) 5%,var(--cs-paper))}
.ch-chart-filters i{display:block;width:8px;height:8px;flex:none;border-radius:50%;background:var(--ch-series)}
.ch-explorer .ch-chart{cursor:ew-resize}.ch-explorer .ch-chart svg{height:176px;user-select:none}.ch-plot-tooltip{pointer-events:none}
.ch-explorer .ch-chart-hint{text-align:center;font-size:10px;line-height:1.5;margin:6px 0 10px;color:var(--cs-muted)}
.ch-explorer .ch-period{margin:0 0 12px}.ch-explorer .ch-period strong{font-size:18px}.ch-explorer .ch-period button{border-radius:10px}
.ch-selection{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:5px 12px;text-align:left;padding:13px 14px;border:1px solid color-mix(in srgb,var(--ch-selected) 45%,var(--cs-line));border-radius:13px;background:linear-gradient(120deg,color-mix(in srgb,var(--ch-selected) 6%,var(--cs-paper)),var(--cs-paper));color:var(--cs-ink)}
.ch-selection-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--cs-muted)}.ch-selection-label i{width:8px;height:8px;border-radius:50%;background:var(--ch-selected);flex:none}
.ch-selection strong{grid-column:1;font:500 clamp(22px,8cqw,31px)/1.2 Fraunces,serif;letter-spacing:-.025em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ch-selection-link{grid-column:1;font-size:11px;line-height:1.5;color:var(--ch-accent-ink)}.ch-selection-arrow{grid-column:2;grid-row:1/4;align-self:center;color:var(--cs-ink)}
.ch-selection:hover{border-color:var(--ch-selected)}
.ch-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--cs-line);gap:12px;margin-top:14px;padding-top:12px}
.ch-secondary button{display:grid;gap:4px;align-content:start;justify-content:stretch;text-align:left;min-height:44px;padding:0;border:0;border-radius:0;background:none;color:var(--cs-ink)}
.ch-secondary button+button{border-left:1px solid var(--cs-line);padding-left:14px}.ch-secondary span{font-size:11px;color:var(--cs-muted)}.ch-secondary strong{font:500 clamp(14px,5.4cqw,21px)/1.35 Fraunces,serif;overflow-wrap:anywhere}.ch-secondary .ch-income strong{color:var(--cs-good)}
.ch-cashflow-list-note{font:12px/1.5 'DM Sans',sans-serif;margin:0 0 16px;color:var(--cs-muted)}
@media(max-width:360px){.ch-chart-filters{gap:2px}.ch-chart-filters button{font-size:10px;padding:5px 6px}.ch-explorer .ch-chart svg{height:160px}.ch-selection{padding:12px}.ch-explorer .ch-period strong{font-size:16px}}

.ch-chart-filters .ch-ghost-selector i{width:12px;height:0;border-top:2px dashed var(--cs-muted);border-radius:0;background:none}

/* Budget rows distinguish spending-only categories from funded envelopes. */
.ch-budget{margin:20px 22px 0;padding:16px 16px 14px;border:1px solid var(--cs-line);border-radius:18px;background:var(--cs-paper);container-type:inline-size}
.ch-budget-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ch-budget-fold{display:flex;align-items:center;gap:7px;min-height:40px;padding:0;border:0;background:none;text-align:left}
.ch-budget-head h2{margin:0;font:500 clamp(18px,6.5cqw,23px)/1.2 Fraunces,serif;letter-spacing:-.025em}.ch-budget-fold>span{display:flex;flex:none;color:var(--cs-muted)}.ch-budget-share{flex:none}
.ch-budget-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 9px}.ch-budget-meta p{margin:0;font-size:11px;color:var(--cs-muted)}.ch-budget-meta>button{min-width:32px;min-height:32px}
.ch-budget-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:2px 0 8px}.ch-budget-tools [role=radiogroup]{border-radius:9px!important;background:var(--cs-bg)!important;border:1px solid var(--cs-line);padding:3px!important;flex:1}
.ch-budget-tools [role=radio]{flex:1;min-height:34px;border:0!important;border-radius:6px!important;font:600 11px 'DM Sans',sans-serif!important;padding:5px 9px!important;box-shadow:none!important}
.ch-budget-tools [role=radio][aria-checked=true]{background:var(--cs-accent)!important;color:var(--cs-on-accent)!important}
.ch-budget-config{min-height:40px;padding:5px 0 5px 8px;border:0;background:none;font-size:11px!important;color:var(--ch-accent-ink)!important;margin-left:auto}
.ch-budget-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto 12px;column-gap:10px;row-gap:3px;align-items:center;width:100%;padding:10px 0;min-height:56px;border:0;border-bottom:1px solid var(--cs-line);border-radius:0;background:none;text-align:left}
.ch-budget-row:last-child{border-bottom:0}.ch-budget-icon{grid-column:1;grid-row:1/3;display:flex;align-self:center}.ch-budget-name{grid-column:2;grid-row:1;font:500 16px/1.35 Fraunces,serif;overflow-wrap:anywhere}
.ch-budget-amount{grid-column:3;grid-row:1;font:500 clamp(16px,5.8cqw,19px)/1.3 Fraunces,serif;white-space:nowrap;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ch-budget-next{grid-column:4;grid-row:1/3;color:var(--cs-muted);display:flex}.ch-budget-caption{grid-column:2/4;grid-row:2;font-size:10px;line-height:1.4;color:var(--cs-muted)}
.ch-budget-row-funded{row-gap:3px;padding:10px 0 11px}.ch-budget-row-funded .ch-budget-caption{grid-column:2;grid-row:2}.ch-budget-status{grid-column:3;grid-row:2;text-align:right;font-size:10px;line-height:1.4;color:var(--ch-accent-ink)}
.ch-budget-track{grid-column:2/4;grid-row:3;display:block;overflow:hidden;background:var(--cs-line);height:4px;border-radius:8px}.ch-budget-track>span{display:block;height:100%;border-radius:8px;transition:width .2s ease}
.ch-budget-row:hover{background:color-mix(in srgb,var(--cs-accent) 4%,var(--cs-paper))}.ch-budget-row:active{background:color-mix(in srgb,var(--cs-accent) 9%,var(--cs-paper))}
.ch-budget-more{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:2px 0 6px;padding:8px 0;border:0;background:none;font-size:11px!important;color:var(--ch-accent-ink)!important}.ch-budget-more>span{display:flex}
.ch-budget-manage{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:10px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--cs-accent) 40%,var(--cs-line));border-radius:10px;background:none;font-size:11px!important;color:var(--ch-accent-ink)!important}
.ch-budget-empty{margin:12px 0;font-size:12px;color:var(--cs-muted);line-height:1.5}
@media(max-width:360px){.ch-budget{margin-left:16px;margin-right:16px;padding:13px}.ch-budget-head h2{font-size:18px}.ch-budget-fold{gap:4px}.ch-budget-share button{font-size:10px!important;padding:6px 8px!important}.ch-budget-row{column-gap:7px;grid-template-columns:29px minmax(0,1fr) auto 10px}.ch-budget-name{font-size:15px}.ch-budget-amount{font-size:16px}.ch-budget-status{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ch-budget-track>span{transition:none}}

.ch-budget-share>span>span{white-space:normal!important;width:max-content;max-width:min(260px,calc(100vw - 64px));line-height:1.4}

/* Selected Home mockup detail: budget setup and comparison shortcuts. */
.ch-hero-actions{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:0!important;align-items:stretch!important;container:home-shortcuts/inline-size}
.ch-hero-actions>div{min-width:0;display:flex!important;align-items:stretch!important}
.ch-hero-actions>div:first-child{padding-right:12px}.ch-hero-actions>div:last-child{border-left:1px solid var(--ch-action-line);padding-left:16px}
.ch-hero-action{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;gap:9px 10px;width:100%;height:100%;min-width:0;min-height:44px;padding:0;border:0;background:none;text-align:left;font-family:'DM Sans',sans-serif;cursor:pointer;color:var(--ch-action-accent);-webkit-tap-highlight-color:transparent}
.ch-hero-action-icon{width:38px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--ch-action-line);border-radius:10px;background:var(--ch-action-paper);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ch-action-accent) 5%,transparent)}
.ch-hero-action-copy{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;font-size:11px;line-height:1.45;color:var(--ch-action-muted);overflow-wrap:break-word}.ch-hero-action-copy>small{font-size:10px;line-height:1.4}
.ch-hero-action-title{grid-column:1/-1;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:break-word}
.ch-hero-action:hover .ch-hero-action-icon{border-color:var(--ch-action-accent)}.ch-hero-action:active{opacity:.7}.ch-hero-action:focus-visible{outline:2px solid var(--ch-action-accent);outline-offset:4px;border-radius:8px}
.ch-hero-actions-single{grid-template-columns:minmax(0,1fr)}.ch-hero-actions-single>div:last-child{display:none!important}
@container home-shortcuts (max-width:440px){
  .ch-hero-actions>div:first-child{padding-right:10px}
  .ch-hero-actions>div:last-child{padding-left:12px}
  .ch-hero-action{grid-template-columns:30px minmax(0,1fr);gap:8px}
  .ch-hero-action-icon{width:30px;height:36px;border-radius:9px}.ch-hero-action-icon svg{width:18px;height:18px}
  .ch-hero-action-title{font-size:12px}
  .ch-hero-actions-single>div:first-child{padding:0}
}
