/* Shared dimensions: portfolio dashboards, cards and chart interactions. */
:root{--ie-panel-padding:18px;--ie-panel-gap:16px;--ie-panel-radius:14px;--ie-content-width:1380px;--ie-heading-size:28px;--ie-kpi-size:25px}
html:root body.authenticated-view #app main{width:100%;max-width:var(--ie-content-width);margin-inline:auto;padding-inline:24px}
html:root body.authenticated-view #app #view{min-width:0;max-width:100%}
html:root body.authenticated-view #app :is(.md-heading,.ip-header,.ew-header) h1{font-size:var(--ie-heading-size);line-height:1.2;letter-spacing:-.7px;margin:4px 0 8px}
html:root body.authenticated-view #app :is(.md-panel,.ew-card,.income-panel){border-radius:var(--ie-panel-radius);padding:var(--ie-panel-padding)}
html:root body.authenticated-view #app :is(.md-metrics,.ew-metrics,.cb-kpis,.ps-summary){gap:12px}
html:root body.authenticated-view #app :is(.md-metric,.ew-metric){padding:16px;gap:8px;min-height:0}
html:root body.authenticated-view #app :is(.md-metric,.ew-metric)>strong{font-size:var(--ie-kpi-size);line-height:1.2}
html:root body.authenticated-view #app :is(.md-panel-head,.income-panel-head){margin-bottom:12px}
html:root body.authenticated-view #app :is(.md-panel,.ew-card,.income-panel) h2{font-size:17px;line-height:1.35}
html:root body.authenticated-view #app :is(.md-main,.ew-result-grid){gap:var(--ie-panel-gap);align-items:start}
html:root body.authenticated-view #app :is(#monthly-dashboard,.ew-page,#income-center){gap:var(--ie-panel-gap)}
/* Consistent hover: preserve chart data and keyboard focus, no full-height band. */
html:root body.authenticated-view #app :is(.income-chart-column,.income-chart-column:hover,.income-chart-column.selected,.md-month,.md-month:hover,.md-month.is-selected){background:transparent;border-color:transparent;box-shadow:none}
html:root body.authenticated-view #app .md-month.is-selected>span:not(.md-bar-zone){color:var(--ie-accent);font-weight:700;text-decoration:underline;text-underline-offset:4px}
html:root body.authenticated-view #app .md-month:focus-visible{outline:2px solid var(--ie-accent);outline-offset:1px}
html:root body.authenticated-view #app #monthly-dashboard .md-chart{height:170px}
html:root body.authenticated-view #app #monthly-dashboard .md-bar-zone{height:120px}
html:root body.authenticated-view #app #monthly-dashboard .md-insights{gap:10px}
html:root body.authenticated-view #app #monthly-dashboard .md-insights>div{padding-top:10px;gap:5px}
html:root body.authenticated-view #app #monthly-dashboard .md-insights strong{font-size:16px}
html:root body.authenticated-view #app #monthly-dashboard .md-assets{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
html:root body.authenticated-view #app #income-center .ip-chart-workspace .income-evolution-chart{flex:0 0 auto;height:300px;min-height:0;max-height:none}
html:root body.authenticated-view #app #income-center .ip-chart-workspace .income-chart-scroll,html:root body.authenticated-view #app #income-center .ip-chart-workspace .income-chart-grid{min-height:0;height:100%}
html:root body.authenticated-view #app #income-center .ip-reference-grid{align-items:start}
#monthly-dashboard .md-donuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ie-panel-gap);align-items:start}
#monthly-dashboard .md-donut-content{display:flex;align-items:center;gap:18px;margin:14px 0}
#monthly-dashboard .md-donut{width:148px;height:148px;flex:0 0 148px;overflow:visible}
#monthly-dashboard .md-donut circle{cursor:pointer;transition:stroke-width .15s}
#monthly-dashboard .md-donut circle:hover,#monthly-dashboard .md-donut circle:focus-visible{stroke-width:21;outline:none;filter:brightness(1.15)}
#monthly-dashboard .md-donut text{fill:var(--ie-ink);font-size:18px;font-weight:650;pointer-events:none}
#monthly-dashboard .md-donut .md-donut-caption{fill:var(--ie-muted);font-size:9px;font-weight:400}
#monthly-dashboard .md-donut-legend{flex:1;display:grid;gap:4px;max-height:180px;overflow:auto}
#monthly-dashboard .md-donut-legend button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:0;color:var(--ie-ink);padding:9px 2px;font-size:12px;text-align:left}
#monthly-dashboard .md-donut-legend i{width:9px;height:9px;border-radius:3px;flex:none}
#monthly-dashboard .md-donut-legend strong{margin-left:auto;font-size:11px}
#monthly-dashboard .md-detail-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;font-size:13px}
#monthly-dashboard #monthly-detail{scroll-margin-top:100px}
@media(max-width:1050px){:root{--ie-heading-size:26px;--ie-kpi-size:23px}#monthly-dashboard .md-donut-content{gap:12px}#monthly-dashboard .md-donut{width:120px;height:120px;flex-basis:120px}}
@media(max-width:760px){html:root body.authenticated-view #app main{padding-inline:16px}#monthly-dashboard .md-donuts{grid-template-columns:1fr}html:root body.authenticated-view #app #monthly-dashboard .md-main{grid-template-columns:1fr}html:root body.authenticated-view #app #monthly-dashboard .md-insights{grid-template-columns:1fr}}
@media(max-width:480px){:root{--ie-panel-padding:14px;--ie-panel-gap:12px;--ie-panel-radius:12px;--ie-heading-size:24px;--ie-kpi-size:21px}html:root body.authenticated-view #app main{padding-inline:12px}html:root body.authenticated-view #app :is(.md-metric,.ew-metric){padding:13px}html:root body.authenticated-view #app #income-center .ip-chart-workspace .income-evolution-chart{height:250px}}
