/* v134: scoped analytics layout repair and semantic income / expense palette. */
:root:root:root,
:root:root:root[data-theme=golden],
:root:root:root[data-theme=light] {
  --analytics-income:#86bc9e!important; --analytics-income-soft:#b9ddc8!important;
  --analytics-expense:#d58e91!important; --analytics-expense-soft:#efc3c4!important;
  --income-ink:#357653; --expense-ink:#a74e57;
  --income-tint:#edf6f0; --expense-tint:#fcf0f1;
}
:root:root:root[data-theme=dark],
:root:root:root[data-theme=platinum] {
  --analytics-income:#9ed4b5!important; --analytics-income-soft:#c2e8d0!important;
  --analytics-expense:#e6a3a7!important; --analytics-expense-soft:#f2cbcc!important;
  --income-ink:#a5dcbc; --expense-ink:#edb0b3;
  --income-tint:#2b3c33; --expense-tint:#412f34;
}
/* Currency abbreviations keep an intrinsic text width plus a separate arrow gutter. */
:root:root:root :is(.refCurrencyPill,.analyticsCurrencyPill,.currencyPill) {
  width:calc(4ch + 44px)!important;min-width:calc(4ch + 44px)!important;max-width:none!important;
  flex:0 0 auto!important;box-sizing:content-box!important;
  padding:0 28px 0 12px!important;height:40px!important;min-height:40px!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:16px!important;line-height:normal!important;
  letter-spacing:0!important;white-space:nowrap!important;text-overflow:clip!important;
  background-position:right 10px center!important;text-align:left!important;text-align-last:left!important;
}
:root:root:root :is(.refCurrencyPill,.analyticsCurrencyPill,.currencyPill) {
  /* Border-box width includes 3 letters, padding and border; no flex shrinking. */
  box-sizing:border-box!important;width:calc(4ch + 48px)!important;min-width:calc(4ch + 48px)!important;
}
:root:root:root .refBalanceHead {grid-template-columns:minmax(0,1fr) max-content!important;}
:root:root:root .refEquivalentItem b {display:flex!important;flex-wrap:wrap!important;align-items:baseline;gap:3px 5px;min-width:0;}
:root:root:root .refEquivalentItem b em {flex:0 0 auto;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;}
:root:root:root .amountRow {grid-template-columns:minmax(0,1fr) minmax(94px,max-content)!important;}
:root:root:root .amountRow select {min-width:94px!important;padding-left:10px!important;padding-right:24px!important;font-size:16px!important;}
/* The header previously had z-index 90 and intercepted the close target. */
:root:root:root .analyticsModal.refAnalyticsModal {isolation:isolate;overflow-x:hidden!important;scroll-padding-top:56px;}
:root:root:root .analyticsModal.refAnalyticsModal > .close {
  position:sticky!important;float:right!important;top:0!important;right:0!important;left:auto!important;
  z-index:120!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
  margin:0 0 -44px 0!important;padding:10px!important;display:grid!important;place-items:center!important;
  pointer-events:auto!important;touch-action:manipulation;box-shadow:0 2px 6px #00000012!important;
}
:root:root:root .analyticsModal.refAnalyticsModal > .close svg {width:22px!important;height:22px!important;pointer-events:none;}
:root:root:root .analyticsModal .analyticsTitleWrap {
  position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;
  align-items:stretch!important;width:100%!important;max-width:100%!important;min-width:0!important;
  margin:0 0 14px!important;padding:0!important;gap:0!important;
}
:root:root:root .analyticsModal .analyticsTitleWrap .modalHeading {
  width:100%!important;max-width:100%!important;margin:0 0 14px!important;padding:7px 54px 0 0!important;
  min-height:44px;font-size:24px!important;line-height:1.2!important;letter-spacing:-.015em!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-align:left!important;
}
:root:root:root .analyticsModal :is(.analyticsMonthRow,.analyticsBalanceRow) {width:100%!important;min-width:0!important;max-width:100%!important;}
:root:root:root .analyticsModal .analyticsMonthRow {margin:0 0 8px!important;}
:root:root:root .analyticsModal .analyticsMonthSelect {width:100%!important;max-width:100%!important;min-width:0!important;min-height:42px!important;}
:root:root:root .analyticsModal .analyticsBalanceRow {display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;gap:8px!important;}
:root:root:root .analyticsModal .budgetChipBtn {min-height:40px!important;}
:root:root:root .analyticsModal :is(.flowSection,.analyticsSection,.wfBlock) {min-width:0!important;max-width:100%!important;}
:root:root:root .analyticsModal .flowSectionHead {gap:8px!important;flex-wrap:wrap!important;}
:root:root:root .analyticsModal .flowSectionHead h3 {white-space:normal!important;font-size:14px!important;line-height:1.35!important;}
:root:root:root .analyticsModal .flowSectionHead p {max-width:100%!important;font-size:12px!important;line-height:1.4!important;text-align:left!important;}
:root:root:root .analyticsModal .analyticsSection h3 {font-size:20px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere;}
:root:root:root .analyticsModal .flowTabs button {white-space:normal!important;text-overflow:clip!important;overflow:visible!important;min-width:0!important;height:auto!important;min-height:40px!important;padding:6px!important;font-size:12px!important;line-height:1.25!important;}
:root:root:root .analyticsModal :is(.flowRowTitle>span:last-child,.flowPieName,.flowStateName em) {white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;}
:root:root:root .analyticsModal .monthlyGroup {width:174px!important;flex-basis:174px!important;}
:root:root:root .analyticsModal .monthlyBarItem {width:48px!important;min-width:48px!important;}
:root:root:root .analyticsModal .monthlyBarValue {width:48px!important;min-width:48px!important;max-width:48px!important;font-size:11px!important;line-height:1.2!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:anywhere;}
:root:root:root .analyticsModal :is(.monthlyScale,.monthlyMonthLabel) {font-size:11px!important;}
/* Both wrapper and actual SVG must fit the column (old SVG remained 98px wide). */
@media(max-width:899px) {
  :root:root:root .analyticsAbove .refAnalyticsMain {display:grid!important;grid-template-columns:84px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;}
  :root:root:root .analyticsAbove .analyticsDesignerDonut.homeDonut {width:84px!important;height:84px!important;min-width:0!important;margin:0!important;align-self:center!important;}
  :root:root:root .analyticsAbove .homeDonut>.designerDonutSvg {display:block!important;width:100%!important;height:100%!important;max-width:100%!important;transform:none!important;}
  :root:root:root .analyticsAbove .refShareCards {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:0!important;align-self:center!important;}
  :root:root:root .analyticsAbove .refShareCard {min-width:0!important;min-height:0!important;height:auto!important;padding:5px 6px!important;display:flex!important;flex-direction:column!important;gap:3px!important;}
  :root:root:root .analyticsAbove .refShareCardLabel {font-size:12px!important;line-height:1.3!important;gap:4px!important;flex-wrap:wrap!important;}
  :root:root:root .analyticsAbove .refShareCard b {font-size:22px!important;line-height:1.1!important;margin:0!important;}
  :root:root:root .analyticsModal.refAnalyticsModal {padding:14px!important;}
  :root:root:root .analyticsModal .analyticsTitleWrap .modalHeading {font-size:21px!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .analyticsTop {grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;margin:0 0 14px!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .designerPopupDonutWrap {width:92px!important;min-width:0!important;max-width:92px!important;padding:0!important;margin:0!important;justify-content:center!important;align-self:center!important;}
  :root:root:root .analyticsModal .modalDonut {width:92px!important;height:92px!important;margin:0!important;}
  :root:root:root .analyticsModal .modalDonut>.designerDonutSvg {width:100%!important;height:100%!important;display:block!important;transform:none!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .analyticsTop .sumList {min-width:0!important;gap:6px!important;grid-template-rows:repeat(3,auto)!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .analyticsTop .sumRow {grid-template-columns:minmax(0,1fr)!important;gap:3px!important;padding:7px 8px!important;min-height:48px!important;height:auto!important;}
  :root:root:root .analyticsModal .sumLabel {font-size:12px!important;line-height:1.2!important;white-space:normal!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .analyticsTop .sumValues {width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr) 6px 34px!important;gap:3px!important;height:auto!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .analyticsTop .sumRowBalance .sumValues {grid-template-columns:minmax(0,1fr)!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .analyticsTop :is(.sumValue,.sumSep,.sumPct) {height:auto!important;font-size:13px!important;line-height:1.25!important;}
  :root:root:root .analyticsModal.refAnalyticsModal .analyticsTop .sumPct {width:34px!important;min-width:0!important;}
  :root:root:root .analyticsModal .flowSection {padding:10px!important;margin:12px 0!important;}
  :root:root:root .analyticsModal .wfBlock {padding:10px 8px!important;}
}
/* Matching semantics in charts, legends, progress bars and bottom navigation. */
:root:root:root .monthlyBar.income {background:linear-gradient(180deg,var(--analytics-income-soft),var(--analytics-income))!important;}
:root:root:root .monthlyBar.expense {background:linear-gradient(180deg,var(--analytics-expense-soft),var(--analytics-expense))!important;}
:root:root:root .nav.appNav button[aria-label=Income] {color:var(--analytics-income)!important;}
:root:root:root .nav.appNav button[aria-label=Expenses] {color:var(--analytics-expense)!important;}
:root:root:root .nav.appNav button[aria-label=Income].active {background:var(--income-tint)!important;color:var(--income-ink)!important;}
:root:root:root .nav.appNav button[aria-label=Expenses].active {background:var(--expense-tint)!important;color:var(--expense-ink)!important;}
:root:root:root .nav.appNav button:is([aria-label=Income],[aria-label=Expenses]) svg {color:inherit!important;opacity:1!important;}
:root:root:root .flow-end-pos .flowDot,:root:root:root .flow-end-pos .flowRowBar>span {background:var(--analytics-income)!important;}
:root:root:root .flow-end-neg .flowDot,:root:root:root .flow-end-neg .flowRowBar>span {background:var(--analytics-expense)!important;}
:root:root:root .flow-end-pos .flowRowValues {color:var(--income-ink)!important;}
:root:root:root .flow-end-neg .flowRowValues {color:var(--expense-ink)!important;}

:root:root:root .flowWedge[fill="#db6b68"] {fill:#c77c84!important;}
:root:root:root .flowPieDot:is([style*="#db6b68"],[style*="rgb(219, 107, 104)"]) {background:#c77c84!important;}

:root:root:root .flowWedge[fill="#e1867e"] {fill:#d79299!important;}
:root:root:root .flowPieDot:is([style*="#e1867e"],[style*="rgb(225, 134, 126)"]) {background:#d79299!important;}

:root:root:root .flowWedge[fill="#dd8a63"] {fill:#e7b0b4!important;}
:root:root:root .flowPieDot:is([style*="#dd8a63"],[style*="rgb(221, 138, 99)"]) {background:#e7b0b4!important;}

:root:root:root .flowWedge[fill="#c9a85e"] {fill:#b96a76!important;}
:root:root:root .flowPieDot:is([style*="#c9a85e"],[style*="rgb(201, 168, 94)"]) {background:#b96a76!important;}

:root:root:root .flowWedge[fill="#9cc8c3"] {fill:#dca0aa!important;}
:root:root:root .flowPieDot:is([style*="#9cc8c3"],[style*="rgb(156, 200, 195)"]) {background:#dca0aa!important;}

:root:root:root .flowWedge[fill="#9dbfe8"] {fill:#eac1c5!important;}
:root:root:root .flowPieDot:is([style*="#9dbfe8"],[style*="rgb(157, 191, 232)"]) {background:#eac1c5!important;}

:root:root:root .flowWedge[fill="#5fab69"] {fill:var(--analytics-income)!important;}
:root:root:root .flowPieDot:is([style*="#5fab69"],[style*="rgb(95, 171, 105)"]) {background:var(--analytics-income)!important;}

/* Shared currency controls in forms/settings must also fit their full value. */
:root:root:root select:has(option[value="USD"]):has(option[value="EUR"]):has(option[value="UAH"]) {
  min-width:calc(4ch + 48px)!important;font-size:16px!important;
  padding-left:12px!important;padding-right:28px!important;
  text-overflow:clip!important;white-space:nowrap!important;
}
