/* InvestElos v7.18 · proventos. Escopo isolado; os cálculos permanecem no motor existente. */
#app #income-center{
  --ip-paper:#172330;--ip-soft:#1d2b3b;--ip-ink:#edf3fa;--ip-muted:#a8b8ca;--ip-line:#34475a;
  --ip-accent:#abc8eb;--ip-primary:#315f8b;--ip-input:#111e2c;--ip-positive:#8bd3bc;
  --ip-chart-1:#91b9e5;--ip-chart-2:#79c2b9;--ip-chart-3:#bdade4;--ip-chart-4:#d9bc87;--ip-chart-5:#92a2bc;--ip-chart-other:#b9c2ce;
  --cb-paper:var(--ip-paper);--cb-text:var(--ip-ink);--cb-soft:var(--ip-soft);--cb-muted:var(--ip-muted);--cb-border:var(--ip-line);
  --income-accent-text:var(--ip-accent);--income-forecast:var(--ip-chart-2);--income-chart-height:210px;
  color:var(--ip-ink);font-size:13px;line-height:1.5;max-width:1440px;min-width:0;margin:0 auto 28px;
  container-type:inline-size;container-name:income;--amber:var(--ip-chart-1);
}
html[data-color-mode=soft] #app #income-center{
  --ip-paper:#fff;--ip-soft:#f3f6fa;--ip-ink:#1c304a;--ip-muted:#53687e;--ip-line:#dce4ed;
  --ip-accent:#315e8c;--ip-primary:#294e75;--ip-input:#fff;--ip-positive:#246d57;
  --ip-chart-1:#4d78ad;--ip-chart-2:#4d9287;--ip-chart-3:#937cae;--ip-chart-4:#b59860;--ip-chart-5:#8494ac;--ip-chart-other:#a6b1bd;
}
#app #income-center *{box-sizing:border-box}
#app #income-center :is(h1,h2,h3,p){color:inherit}
#app #income-center .eyebrow{display:block;margin:0 0 5px;font-size:9px;letter-spacing:.13em;font-weight:650;color:var(--ip-muted);line-height:1.5}
#app #income-center :is(button,select,summary,[tabindex]):focus-visible{outline:2px solid var(--ip-accent)!important;outline-offset:3px}
#app #income-center svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#app #income-center button{font:inherit;cursor:pointer}
#app #income-center button:disabled{opacity:.45;cursor:default}
#app #income-center .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border:1px solid var(--ip-line);border-radius:7px;background:var(--ip-paper);color:var(--ip-ink);font-size:12px;font-weight:550;line-height:1.4;box-shadow:none;white-space:normal}
#app #income-center .btn:hover{background:var(--ip-soft);border-color:var(--ip-accent)}
#app #income-center .btn.primary{background:var(--ip-primary)!important;border-color:var(--ip-primary)!important;color:#fff!important;box-shadow:none!important}
#app #income-center .btn.primary-light{background:var(--ip-soft)!important;border-color:var(--ip-line)!important;color:var(--ip-accent)!important}
#app #income-center .btn.small{min-height:34px;padding:7px 10px;font-size:11px}
#app #income-center .btn.ip-delete{color:var(--ip-muted);background:transparent;border-color:transparent}
#app #income-center .btn.ip-delete:hover{color:var(--ip-ink);border-color:var(--ip-line)}
#app #income-center .ip-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:3px 0 20px}
#app #income-center .ip-header h1{font-size:28px;line-height:1.2;letter-spacing:-.035em;font-weight:600;margin:3px 0 7px}
#app #income-center .ip-header p{font-size:12px;color:var(--ip-muted);margin:0}
#app #income-center .ip-header-actions{display:flex;gap:8px;flex-wrap:wrap}
#app #income-center .ip-filters{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.15fr auto;align-items:end;gap:12px;padding:15px 18px;margin-bottom:16px;background:var(--ip-paper);border:1px solid var(--ip-line);border-radius:10px}
#app #income-center .ip-filters label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px;color:var(--ip-muted);font-weight:500}
#app #income-center .ip-filters select{width:100%;min-width:0;height:40px;border:1px solid var(--ip-line)!important;border-radius:6px;padding:8px 24px 8px 10px;background:var(--ip-input)!important;color:var(--ip-ink)!important;font:inherit;font-size:12px;box-shadow:none!important}
#app #income-center .ip-reset{border:0;background:none;color:var(--ip-muted);min-height:40px;padding:8px 0;font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
#app #income-center .ip-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
#app #income-center .income-metric{border:1px solid var(--ip-line);border-radius:10px;background:var(--ip-paper);padding:18px;min-width:0;box-shadow:none}
#app #income-center .income-metric.featured{background:var(--ip-soft);border-color:color-mix(in srgb,var(--ip-accent) 45%,var(--ip-line))}
#app #income-center .income-metric.featured:before{display:none}
#app #income-center .income-metric-label{color:var(--ip-muted);font-size:11px;font-weight:500;min-height:18px;margin-bottom:12px;gap:8px}
#app #income-center .income-metric-label svg{width:17px;height:17px;opacity:.8}
#app #income-center .income-metric>strong{font-size:clamp(20px,2.1vw,28px);font-weight:600;letter-spacing:-.035em;color:var(--ip-ink);white-space:nowrap;line-height:1.3}
#app #income-center .income-metric.featured>strong{color:var(--ip-accent)}
#app #income-center .income-metric>small{color:var(--ip-muted);font-size:10px;line-height:1.5;margin-top:7px}
#app #income-center .income-panel{border:1px solid var(--ip-line);border-radius:11px;background:var(--ip-paper);min-width:0;overflow:hidden;box-shadow:0 2px 5px #10243b03}
#app #income-center .income-panel-head{padding:20px 20px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
#app #income-center .income-panel-head h2{font-size:16px;font-weight:600;line-height:1.35;letter-spacing:-.025em;margin:0 0 4px;color:var(--ip-ink)}
#app #income-center .income-panel-head p{font-size:11px;line-height:1.6;color:var(--ip-muted);margin:0}
#app #income-center .ip-overview{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(280px,1fr);gap:16px;margin-bottom:18px;align-items:stretch}
#app #income-center .income-evolution-header{padding:20px 20px 0;gap:14px;align-items:center;flex-wrap:wrap}
#app #income-center .income-evolution-header h2{font-size:18px;line-height:1.35;font-weight:600;letter-spacing:-.025em;margin:0 0 4px}
#app #income-center .income-evolution-header p{font-size:11px;color:var(--ip-muted)}
#app #income-center .income-group-switch{padding:3px;border-color:var(--ip-line);background:var(--ip-soft);border-radius:7px}
#app #income-center .income-group-switch button{min-height:32px;padding:6px 12px;color:var(--ip-muted);font-size:11px}
#app #income-center .income-group-switch button[aria-pressed=true]{color:var(--ip-accent);background:var(--ip-paper);font-weight:600;box-shadow:0 1px 3px #16283912}
#app #income-center .income-chart-legend{margin:22px 20px 18px;gap:16px;color:var(--ip-muted);font-size:10px}
#app #income-center .income-chart-legend i{width:8px;height:8px;border-radius:2px}
#app #income-center .income-bar-received{background:var(--ip-chart-1)}
#app #income-center .income-bar-expected{background:color-mix(in srgb,var(--ip-chart-2) 22%,var(--ip-paper));border:1px solid var(--ip-chart-2)}
#app #income-center .income-evolution-chart{padding:0 20px 0 12px;gap:10px;margin-top:auto}
#app #income-center .income-chart-axis{flex-basis:52px;font-size:10px;white-space:nowrap}
#app #income-center .income-chart-scroll{padding-top:62px;margin-top:-62px;overscroll-behavior-x:contain}
#app #income-center .income-chart-columns{gap:3px}
#app #income-center .income-chart-pair{padding:0 3px;gap:3px}
#app #income-center .income-chart-pair i{width:40%;max-width:22px;border-radius:3px 3px 0 0}
#app #income-center .income-chart-label{font-size:10px}
#app #income-center .income-chart-label small{font-size:9px;opacity:1}
#app #income-center .income-chart-column:hover,#app #income-center .income-chart-column.selected{background:color-mix(in srgb,var(--ip-accent) 8%,transparent)}
#app #income-center .ip-chart-tooltip{display:none;position:absolute;top:-60px;left:50%;transform:translateX(-50%);z-index:2;min-width:145px;max-width:200px;padding:7px 9px;border:1px solid var(--ip-line);border-radius:6px;background:var(--ip-paper);color:var(--ip-ink);box-shadow:0 4px 12px #0002;text-align:left;font-size:10px;line-height:1.5;pointer-events:none;white-space:nowrap}
#app #income-center .ip-chart-tooltip span{display:block}
#app #income-center .income-chart-column:is(:hover,:focus-visible) .ip-chart-tooltip{display:block}
#app #income-center .income-chart-column:first-child .ip-chart-tooltip{left:0;transform:none}
#app #income-center .income-chart-column:last-child .ip-chart-tooltip{left:auto;right:0;transform:none}
#app #income-center .income-chart-note{font-size:10px;line-height:1.6;padding:10px 20px;margin:4px 0 10px;color:var(--ip-muted)}
#app #income-center .ip-composition{display:flex;align-items:center;gap:15px;padding:0 20px 14px}
#app #income-center .ip-donut{width:94px;height:94px;border-radius:50%;padding:13px;flex:0 0 94px;display:grid;place-items:center}
#app #income-center .ip-donut>div{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ip-paper);border-radius:50%;width:100%;height:100%}
#app #income-center .ip-donut strong{font-size:23px;font-weight:600;line-height:1.1;letter-spacing:-.03em}
#app #income-center .ip-donut span{font-size:10px;color:var(--ip-muted);margin-top:3px}
#app #income-center .ip-composition p{font-size:11px;font-weight:500;margin:0}
#app #income-center .ip-composition small{display:block;color:var(--ip-muted);font-size:10px;font-weight:400;margin-top:5px}
#app #income-center .ip-contributors{list-style:none;padding:0 20px!important;margin:0 0 12px!important}
#app #income-center .ip-contributors li{list-style:none;margin:0;padding:0}
#app #income-center .ip-contributors button{width:100%;padding:9px 0;min-height:43px;display:flex;align-items:center;gap:8px;border:0;border-top:1px solid var(--ip-line);background:none;color:var(--ip-ink);text-align:left}
#app #income-center .ip-contributors button:hover{background:var(--ip-soft)}
#app #income-center .ip-swatch{width:5px;height:22px;border-radius:2px;flex:0 0 5px}
#app #income-center .ip-contributor-name{display:flex;flex-direction:column;min-width:0;gap:1px}
#app #income-center .ip-contributor-name b{font-size:11px;font-weight:600;overflow-wrap:anywhere}
#app #income-center .ip-contributor-name small{font-size:10px;color:var(--ip-muted)}
#app #income-center .ip-contributors strong{margin-left:auto;font-size:11px;font-weight:550;white-space:nowrap}
#app #income-center .asset-logo,#app #income-center .ip-logo-fallback{width:30px;height:30px;border-radius:7px;border:1px solid var(--ip-line);flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--ip-soft);font-size:10px;color:var(--ip-ink)}
#app #income-center .asset-logo img{position:absolute;inset:0;width:100%;height:100%;padding:3px;object-fit:contain;background:#fff}
#app #income-center .asset-logo img[hidden]{display:none}
#app #income-center .asset-logo-fallback{background:var(--ip-soft);color:var(--ip-ink)}
#app #income-center .ip-more{margin:0 20px 14px;border-top:1px solid var(--ip-line)}
#app #income-center .ip-more summary{font-size:11px;color:var(--ip-accent);padding:10px 0;cursor:pointer}
#app #income-center .ip-more .ip-contributors{padding:0!important;margin-bottom:0!important}
#app #income-center .income-calendar{margin-bottom:18px}
#app #income-center .income-calendar-scroll{margin:0 20px;overflow:auto;overscroll-behavior-x:contain}
#app #income-center .income-calendar table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0 5px;font-size:11px}
#app #income-center .income-calendar th{background:var(--ip-paper);color:var(--ip-muted);font-size:10px;font-weight:500;padding:8px 5px;white-space:nowrap;letter-spacing:0}
#app #income-center .income-calendar tbody th{color:var(--ip-ink);font-size:12px;font-weight:650;border:0}
#app #income-center .income-calendar thead th:first-child,#app #income-center .income-calendar tbody th{position:sticky;left:0;z-index:1;background:var(--ip-paper);border-right:1px solid var(--ip-line)}
#app #income-center .income-calendar tbody th small{display:block;font-size:9px;color:var(--ip-muted);font-weight:400;margin-top:2px}
#app #income-center .income-calendar td{padding:2px 3px;border:0;font-size:11px;text-align:right}
#app #income-center .income-month-cell{background:color-mix(in srgb,var(--ip-chart-1) var(--income-cell-strength,0%),var(--ip-soft));border:1px solid transparent;border-radius:5px;min-height:40px;width:100%;padding:10px 6px;font-size:10px;white-space:nowrap;color:var(--ip-ink)}
#app #income-center .income-month-cell:hover,#app #income-center .income-month-cell.selected{border-color:var(--ip-accent);color:var(--ip-ink)}
#app #income-center .income-calendar td.income-calendar-total{color:var(--ip-accent);font-size:11px;font-weight:650;border-left:1px solid var(--ip-line);padding:10px 8px}
#app #income-center .income-calendar td.income-calendar-average{font-size:10px;color:var(--ip-muted);padding:10px 8px}
#app #income-center .income-calendar-key{color:var(--ip-muted);font-size:10px;white-space:normal}
#app #income-center .income-calendar-key i{background:var(--ip-chart-1)}
#app #income-center .ip-calendar-help{margin:10px 20px 14px;color:var(--ip-muted);font-size:11px}
#app #income-center .ip-calendar-help summary{cursor:pointer;min-height:28px;line-height:28px}
#app #income-center .income-calendar-note{margin:4px 0 0;font-size:11px;line-height:1.65}
#app #income-center .ip-calendar-mobile{display:none}
#app #income-center .ip-agenda{margin-bottom:18px}
#app #income-center .ip-count{padding:4px 8px;border-radius:6px;border:1px solid var(--ip-line);font-size:10px;white-space:nowrap;color:var(--ip-muted)}
#app #income-center .ip-agenda-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;padding:0 20px 10px}
#app #income-center .ip-agenda-items>button{display:flex;align-items:center;min-width:0;gap:10px;padding:12px 0;border:0;border-top:1px solid var(--ip-line);background:none;color:var(--ip-ink);text-align:left}
#app #income-center .ip-agenda-items>button:hover{background:var(--ip-soft)}
#app #income-center .ip-date-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;width:39px;height:43px;flex:0 0 39px;border:1px solid var(--ip-line);border-radius:7px;background:var(--ip-soft);line-height:1.2}
#app #income-center .ip-date-chip>b{font-size:17px;font-weight:600}
#app #income-center .ip-date-chip>small{font-size:9px;text-transform:uppercase;color:var(--ip-muted);margin-top:3px}
#app #income-center .ip-agenda-asset{display:flex;align-items:center;gap:8px;min-width:0}
#app #income-center .ip-agenda-asset b{font-size:11px;font-weight:600;overflow-wrap:anywhere}
#app #income-center .ip-agenda-asset small,#app #income-center .ip-agenda-items strong small{display:block;font-size:10px;color:var(--ip-muted);font-weight:400;line-height:1.5;margin-top:2px}
#app #income-center .ip-agenda-items strong{font-size:12px;margin-left:auto;text-align:right;white-space:nowrap;font-weight:600}
#app #income-center .ip-agenda-items>.income-empty{grid-column:1/-1;min-height:85px;padding:10px}
#app #income-center .ip-history{margin-bottom:12px;scroll-margin-top:100px}
#app #income-center .ip-tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--ip-line);overflow-x:auto;scrollbar-width:thin}
#app #income-center .ip-tabs button{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:10px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ip-muted);font-size:11px;min-height:42px}
#app #income-center .ip-tabs button[aria-pressed=true]{border-bottom-color:var(--ip-accent);color:var(--ip-accent);font-weight:600}
#app #income-center .ip-tabs button span{font-size:10px;font-weight:500;background:var(--ip-soft);padding:1px 5px;border-radius:4px;color:var(--ip-muted)}
#app #income-center .ip-ledger-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}
#app #income-center .ip-ledger{width:100%;min-width:780px;border-collapse:collapse;font-size:12px}
#app #income-center .ip-ledger th{padding:12px 14px;text-align:left;white-space:nowrap;background:var(--ip-soft);color:var(--ip-muted);font-size:10px;font-weight:550;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--ip-line)}
#app #income-center .ip-ledger td{padding:12px 14px;vertical-align:top;border-bottom:1px solid var(--ip-line);color:var(--ip-ink);font-size:11px;background:none;white-space:nowrap}
#app #income-center .ip-ledger tr:last-child td{border-bottom:0}
#app #income-center .ip-ledger tr:hover td{background:var(--ip-soft)}
#app #income-center .ip-ledger th:nth-child(3),#app #income-center .ip-ledger th:nth-child(4),#app #income-center .ip-ledger-gross,#app #income-center .ip-ledger-net{text-align:right}
#app #income-center .ip-ledger td>strong{font-weight:550}
#app #income-center .ip-ledger .ip-ledger-net{color:var(--ip-positive)}
#app #income-center .ip-asset-button{display:flex;align-items:center;gap:9px;padding:0;border:0;background:none;text-align:left;color:var(--ip-ink);min-height:34px}
#app #income-center .ip-asset-button b{font-size:12px;font-weight:650}
#app #income-center .ip-asset-button small{display:block;font-size:10px;color:var(--ip-muted);margin-top:2px}
#app #income-center .ip-asset-button:hover b{text-decoration:underline;text-underline-offset:3px}
#app #income-center .income-status{padding:4px 7px;border:1px solid var(--ip-line);border-radius:5px;background:var(--ip-soft);color:var(--ip-muted);font-size:10px;line-height:1.5;white-space:nowrap}
#app #income-center .income-status.received{color:var(--ip-positive);background:color-mix(in srgb,var(--ip-positive) 7%,var(--ip-paper));border-color:color-mix(in srgb,var(--ip-positive) 25%,var(--ip-line))}
#app #income-center .income-status.expected{color:var(--ip-accent)}
#app #income-center .ip-ledger-detail summary{cursor:pointer;color:var(--ip-accent);min-height:32px;line-height:32px;font-size:11px}
#app #income-center .ip-ledger-detail dl{margin:6px 0 0;display:grid;gap:9px;min-width:150px}
#app #income-center .ip-ledger-detail dt{color:var(--ip-muted);font-size:10px}
#app #income-center .ip-ledger-detail dd{font-size:11px;margin:3px 0 0;white-space:normal;overflow-wrap:anywhere}
#app #income-center .ip-ledger-detail small{display:block;color:var(--ip-muted);font-size:10px}
#app #income-center .row-actions{display:flex;flex-wrap:wrap;gap:3px;margin:0}
#app #income-center .ip-mobile-label{display:none}
#app #income-center .ip-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--ip-line);font-size:11px;color:var(--ip-muted)}
#app #income-center .ip-pagination nav{display:flex;align-items:center;gap:10px;white-space:nowrap}
#app #income-center .income-undated{padding:12px 20px;font-size:11px}
#app #income-center .income-coverage{padding:10px 0 8px;gap:9px;color:var(--ip-muted)}
#app #income-center .income-coverage b{font-size:11px;font-weight:500}
#app #income-center .income-coverage span{font-size:10px;overflow-wrap:anywhere}
#app #income-center .income-coverage-dot{background:var(--ip-chart-4);flex:0 0 6px;width:6px;height:6px}
#app #income-center .income-coverage-dot.complete{background:var(--ip-positive)}
#app #income-center .income-explainer{padding:12px 16px;margin:6px 0 0;border:1px solid var(--ip-line);border-radius:8px;background:var(--ip-paper)}
#app #income-center .income-explainer summary{font-size:11px;min-height:22px;line-height:22px;color:var(--ip-muted)}
#app #income-center .income-explainer p{font-size:11px;color:var(--ip-muted);line-height:1.7}
#app #income-center .income-empty{color:var(--ip-muted);font-size:12px;min-height:150px;white-space:normal}
#app #income-center .income-empty strong{font-size:13px;color:var(--ip-ink);font-weight:550}
#app #income-center .income-empty>span{display:none}
#app #income-center .income-empty p{font-size:11px;color:var(--ip-muted);margin:0;max-width:400px}
#app #income-center .privacy-chart-placeholder{min-height:180px;background:var(--ip-soft);color:var(--ip-muted)}
#app #income-center .privacy-chart-placeholder strong{color:var(--ip-ink)}
@container income (max-width:1050px){
  #app #income-center .ip-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  #app #income-center .ip-reset{grid-column:1/-1;justify-self:end;min-height:24px;padding:0}
  #app #income-center .ip-metrics{gap:10px}
  #app #income-center .income-metric{padding:15px}
  #app #income-center .income-metric>strong{font-size:22px}
  #app #income-center .ip-overview{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:12px}
  #app #income-center .ip-agenda-items{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container income (max-width:780px){
  #app #income-center .ip-header{align-items:flex-start;flex-wrap:wrap;gap:15px}
  #app #income-center .ip-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  #app #income-center .ip-overview{grid-template-columns:minmax(0,1fr)}
  #app #income-center .ip-distribution{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1fr)}
  #app #income-center .ip-distribution .income-panel-head{grid-column:1;align-self:start;padding-bottom:8px}
  #app #income-center .ip-composition{grid-column:1;align-self:start;flex-wrap:wrap}
  #app #income-center .ip-distribution>.ip-contributors{grid-column:2;grid-row:1/4;padding-top:15px!important}
  #app #income-center .ip-distribution>.ip-more{grid-column:1/-1}
  #app #income-center .ip-distribution>.income-empty,#app #income-center .ip-distribution>.privacy-chart-placeholder{grid-column:1/-1}
  #app #income-center .income-calendar-key{display:none}
  #app #income-center .income-calendar-scroll{display:none}
  #app #income-center .ip-calendar-mobile{display:block;margin:0 18px}
  #app #income-center .ip-calendar-year{border-top:1px solid var(--ip-line)}
  #app #income-center .ip-calendar-year>summary{display:flex;align-items:center;gap:12px;min-height:56px;cursor:pointer;font-size:14px;font-weight:600;list-style:none}
  #app #income-center .ip-calendar-year>summary:after{content:'+';color:var(--ip-accent);font-size:19px;font-weight:400}
  #app #income-center .ip-calendar-year[open]>summary:after{content:'−'}
  #app #income-center .ip-calendar-year>summary::-webkit-details-marker{display:none}
  #app #income-center .ip-calendar-year>summary strong{font-size:13px;margin-left:auto}
  #app #income-center .ip-calendar-year>summary small{display:block;font-size:10px;font-weight:400;color:var(--ip-muted)}
  #app #income-center .ip-calendar-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  #app #income-center .ip-calendar-months button,#app #income-center .ip-month-outside{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:60px;padding:10px;border-radius:6px;min-width:0;text-align:left}
  #app #income-center .ip-calendar-months button span{font-size:10px;color:var(--ip-muted)}
  #app #income-center .ip-calendar-months button strong{font-size:12px;font-weight:600;max-width:100%;overflow-wrap:anywhere;white-space:normal}
  #app #income-center .ip-month-outside{font-size:10px;color:var(--ip-muted);border:1px dashed var(--ip-line)}
  #app #income-center .ip-calendar-year>p{display:flex;justify-content:space-between;font-size:11px;color:var(--ip-muted);margin:10px 0 14px}
  #app #income-center .ip-calendar-year>p b{color:var(--ip-ink);font-weight:600}
  #app #income-center .ip-ledger-scroll{overflow:visible}
  #app #income-center .ip-ledger{display:block;min-width:0;width:100%}
  #app #income-center .ip-ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  #app #income-center .ip-ledger tbody{display:grid;gap:10px;padding:14px}
  #app #income-center .ip-ledger tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;padding:14px;border:1px solid var(--ip-line);border-radius:8px;background:var(--ip-paper)}
  #app #income-center .ip-ledger td{display:block;padding:0;border:0;font-size:12px;min-width:0;white-space:normal;text-align:left;background:none!important}
  #app #income-center .ip-ledger th:nth-child(3),#app #income-center .ip-ledger th:nth-child(4),#app #income-center .ip-ledger-gross,#app #income-center .ip-ledger-net{text-align:left}
  #app #income-center .ip-ledger td>strong{font-size:16px;letter-spacing:-.02em;overflow-wrap:anywhere}
  #app #income-center .ip-ledger-asset{grid-column:1;grid-row:1}
  #app #income-center .ip-ledger .ip-ledger-status{grid-column:2;grid-row:1;justify-self:end;align-self:center}
  #app #income-center .ip-ledger-gross{grid-column:1;grid-row:2}
  #app #income-center .ip-ledger-net{grid-column:2;grid-row:2}
  #app #income-center .ip-ledger-date{grid-column:1;grid-row:3}
  #app #income-center .ip-ledger-detail{grid-column:1/-1;grid-row:4;border-top:1px solid var(--ip-line)!important;padding-top:3px!important}
  #app #income-center .ip-ledger-actions{grid-column:2;grid-row:3;justify-self:end;align-self:center}
  #app #income-center .ip-ledger-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;padding:4px 0}
  #app #income-center .ip-mobile-label{display:block;color:var(--ip-muted);font-size:10px;margin-bottom:5px}
  #app #income-center .ip-ledger-detail summary{min-height:36px;line-height:36px}
  #app #income-center .ip-empty-row{display:block!important}
  #app #income-center .ip-empty-row td{display:block}
}
@container income (max-width:520px){
  #app #income-center .ip-header h1{font-size:26px}
  #app #income-center .ip-header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  #app #income-center .ip-header-actions .btn{font-size:11px;padding:10px 8px;min-height:44px}
  #app #income-center .ip-header-actions svg{width:15px;height:15px}
  #app #income-center .ip-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;gap:10px}
  #app #income-center .ip-filters select{min-height:44px;font-size:14px;padding-left:8px;padding-right:20px}
  #app #income-center .ip-filters label{font-size:10px}
  #app #income-center .income-metric{padding:14px 12px}
  #app #income-center .income-metric-label{font-size:10px;align-items:flex-start;min-height:28px;margin-bottom:8px}
  #app #income-center .income-metric-label svg{width:14px;height:14px}
  #app #income-center .income-metric>strong{font-size:21px}
  #app #income-center .income-metric>small{font-size:10px}
  #app #income-center .income-panel-head{padding:17px 16px 12px;flex-wrap:wrap}
  #app #income-center .income-panel-head h2{font-size:16px}
  #app #income-center .income-evolution-header{padding:17px 16px 0}
  #app #income-center .income-evolution-header h2{font-size:17px}
  #app #income-center .income-group-switch button{min-height:36px}
  #app #income-center .income-chart-legend{margin:17px 16px;gap:8px 14px;font-size:10px}
  #app #income-center .income-evolution-chart{padding-right:14px;padding-left:8px;gap:7px}
  #app #income-center .income-chart-axis{flex-basis:44px;font-size:9px}
  #app #income-center .income-chart-note{padding:9px 16px;font-size:10px}
  #app #income-center .ip-distribution{display:block}
  #app #income-center .ip-composition{padding:0 16px 14px;flex-wrap:nowrap}
  #app #income-center .ip-distribution>.ip-contributors{padding:0 16px!important}
  #app #income-center .ip-contributors button{min-height:48px}
  #app #income-center .ip-contributor-name b,#app #income-center .ip-contributors strong{font-size:12px}
  #app #income-center .ip-more{margin-left:16px;margin-right:16px}
  #app #income-center .ip-more summary{min-height:44px}
  #app #income-center .ip-calendar-mobile{margin:0 16px}
  #app #income-center .ip-calendar-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  #app #income-center .ip-calendar-help{margin-left:16px;margin-right:16px}
  #app #income-center .ip-agenda-items{grid-template-columns:1fr;padding:0 16px 8px}
  #app #income-center .ip-agenda-items>button{padding:11px 0}
  #app #income-center .ip-agenda-asset b{font-size:12px}
  #app #income-center .ip-tabs{padding:0 12px}
  #app #income-center .ip-tabs button{min-height:44px;padding:10px 9px;font-size:11px}
  #app #income-center .ip-ledger tbody{padding:12px;gap:10px}
  #app #income-center .ip-ledger tr{padding:12px}
  #app #income-center .ip-ledger .btn.small{min-height:40px;padding:8px;font-size:11px}
  #app #income-center .ip-ledger-detail summary{min-height:44px;line-height:44px}
  #app #income-center .ip-pagination{flex-direction:column;align-items:center;padding:12px;gap:10px}
  #app #income-center .ip-pagination nav{width:100%;justify-content:space-between}
  #app #income-center .ip-pagination .btn{min-height:44px}
  #app #income-center .income-coverage{align-items:flex-start}
}
@container income (max-width:330px){
  #app #income-center .ip-metrics{grid-template-columns:1fr}
  #app #income-center .income-metric-label{min-height:0}
  #app #income-center .income-metric>strong{font-size:24px}
  #app #income-center .ip-ledger td>strong{font-size:14px}
  #app #income-center .ip-header-actions{grid-template-columns:1fr}
  #app #income-center .ip-ledger .ip-ledger-status{font-size:9px}
  #app #income-center .ip-tabs button{padding-left:8px;padding-right:8px}
  #app #income-center .ip-tabs button span{display:none}
  #app #income-center .ip-calendar-months button strong{font-size:11px}
  #app #income-center .ip-agenda-asset .asset-logo{display:none}
}
@media(prefers-reduced-motion:reduce){#app #income-center *{scroll-behavior:auto!important;transition:none!important}}
@media print{#app #income-center .ip-header-actions,#app #income-center .ip-filters,#app #income-center .ip-pagination{display:none}#app #income-center .income-panel{break-inside:avoid}}
