/* Investment refresh: held assets first, optional targets in a disclosure. */
#iv-pane-glance.mr-invest-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "hero" "allocation" "month" "brief" "profile";
  gap: 16px;
  color: var(--mr-ink, var(--text-primary));
}
#iv-pane-glance.mr-invest-layout[hidden] {
  display: none;
}
.mr-invest-layout > .card {
  margin: 0;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--mr-line, var(--grid));
  border-radius: var(--mr-radius, 24px);
  background: var(--mr-card, var(--plane));
  box-shadow: none;
}
.mr-invest-layout h2 {
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -.025em;
  margin: 0;
}
.mr-invest-hero {
  grid-area: hero;
}
.mr-invest-allocation {
  grid-area: allocation;
}
.mr-invest-month {
  grid-area: month;
}
.mr-invest-profile {
  grid-area: profile;
}
.mr-invest-layout #gl-brief {
  grid-area: brief;
}
.mr-invest-eyebrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.mr-invest-hero .k {
  font-size: 14px;
  font-weight: 600;
  color: var(--mr-muted, var(--muted));
}
.mr-invest-badge {
  font-size: 11px;
  padding: 6px 10px;
  border-radius: 99px;
  color: var(--mr-accent, var(--series-1));
  background: color-mix(in srgb, var(--mr-accent, #356cf5) 8%, transparent);
  white-space: nowrap;
}
.mr-invest-hero .v {
  font-size: clamp(29px, 7.8vw, 44px);
  line-height: 1.3;
  font-weight: 780;
  letter-spacing: -.045em;
  margin-top: 10px;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.mr-invest-hero .mr-invest-empty-value {
  font-size: 30px;
}
.mr-invest-hero .d.mr-invest-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 25px;
  padding-top: 19px;
  border-top: 1px solid var(--mr-line, var(--grid));
}
.mr-invest-metrics > div {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.mr-invest-label {
  color: var(--mr-muted, var(--muted));
  font-size: 12px;
}
.mr-invest-metrics strong {
  font-size: clamp(16px, 4.3vw, 21px);
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.mr-invest-rate {
  font-size: 12px;
  font-weight: 650;
}
.mr-invest-hero .n.mr-invest-price-note {
  margin-top: 20px;
  font-size: 11px;
  line-height: 1.6;
  color: var(--mr-muted, var(--muted));
}
.mr-invest-realized {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px;
  margin-top: 17px;
  font-size: 12px;
  color: var(--mr-muted, var(--muted));
}
.mr-invest-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 5px 10px;
}
.mr-invest-section-head .sub {
  font-size: 11px;
  color: var(--mr-muted, var(--muted));
}
.mr-invest-chart-insight {
  margin: 10px 0 23px;
  font-size: 13px;
  color: var(--mr-muted, var(--muted));
  line-height: 1.65;
}
.mr-invest-chart-key {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 21px;
  font-size: 10px;
  color: var(--mr-muted, var(--muted));
}
.mr-invest-chart-key > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.mr-invest-chart-key > span:last-child {
  margin-left: auto;
}
.mr-invest-chart-key i {
  width: 10px;
  height: 6px;
  border-radius: 3px;
  background: var(--mr-accent, #356cf5);
}
.mr-invest-chart-key b {
  width: 2px;
  height: 10px;
  background: var(--mr-ink, var(--text-primary));
}
.mr-invest-chart-row + .mr-invest-chart-row {
  margin-top: 21px;
}
.mr-invest-chart-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 12px;
}
.mr-invest-chart-label strong {
  font-size: 13px;
  font-weight: 650;
  min-width: 0;
  overflow-wrap: anywhere;
}
.mr-invest-chart-label > span {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  text-align: right;
  flex-shrink: 0;
}
.mr-invest-chart-label em {
  font-style: normal;
  color: var(--mr-muted, var(--muted));
  margin-left: 5px;
}
.mr-invest-track {
  height: 8px;
  position: relative;
  background: var(--mr-bg, var(--fill));
  border-radius: 5px;
  margin-right: 1px;
}
.mr-invest-track > i {
  height: 100%;
  display: block;
  background: var(--mr-invest-series, var(--mr-accent, #356cf5));
  border-radius: inherit;
}
.mr-invest-track > b {
  position: absolute;
  top: -3px;
  bottom: -3px;
  width: 2px;
  transform: translateX(-1px);
  border-radius: 2px;
  background: var(--mr-ink, var(--text-primary));
  box-shadow: 0 0 0 2px var(--mr-card, var(--plane));
}
.mr-invest-gap {
  margin-top: 7px;
  font-size: 10px;
  color: var(--mr-muted, var(--muted));
  font-variant-numeric: tabular-nums;
}
.mr-invest-chart-note {
  font-size: 11px;
  line-height: 1.65;
  color: var(--mr-muted, var(--muted));
  margin-top: 23px;
}
.mr-invest-empty-chart {
  padding: 30px 12px;
  background: var(--mr-bg, var(--fill));
  border-radius: 16px;
  color: var(--mr-muted, var(--muted));
  text-align: center;
  font-size: 13px;
  line-height: 1.8;
}
.mr-invest-details {
  margin-top: 20px;
  border-top: 1px solid var(--mr-line, var(--grid));
}
.mr-invest-details > summary {
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 48px;
  padding: 12px 0 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 650;
  color: var(--mr-ink, var(--text-primary));
}
.mr-invest-details > summary::-webkit-details-marker {
  display: none;
}
.mr-invest-details > summary::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1.5px solid var(--mr-muted, var(--muted));
  border-bottom: 1.5px solid var(--mr-muted, var(--muted));
  transform: rotate(45deg);
  margin: -3px 3px 0 6px;
}
.mr-invest-details[open] > summary::after {
  transform: rotate(225deg);
  margin-top: 3px;
}
.mr-invest-details > summary > span {
  margin-left: auto;
  color: var(--mr-muted, var(--muted));
  font-size: 11px;
  font-weight: 500;
}
.mr-invest-details > summary:focus-visible {
  outline: 2px solid var(--mr-accent, #356cf5);
  outline-offset: 4px;
  border-radius: 5px;
}
.mr-invest-details[open] > summary {
  margin-bottom: 18px;
}
.mr-invest-details .sub {
  line-height: 1.65;
}
.mr-invest-allocation .gl-bar {
  height: 10px;
  overflow: hidden;
  border-radius: 6px;
}
.mr-invest-allocation .gl-bar i {
  min-width: 0;
}
.mr-invest-allocation .gl-lab {
  font-size: 11px;
  flex-wrap: wrap;
  gap: 3px 8px;
}
.mr-invest-allocation .gl-alloc {
  margin-top: 20px;
  font-size: 12px;
}
.mr-invest-allocation .gl-alloc th {
  font-size: 10px;
}
.mr-invest-allocation .gl-alloc td {
  padding: 11px 3px;
}
.mr-invest-allocation .gl-alloc td:first-child {
  overflow-wrap: anywhere;
}
.mr-invest-allocation .gl-alloc .chip {
  font-size: 9px;
  padding: 2px 5px;
}
.mr-invest-allocation .gl-alloc .sw {
  width: 6px;
  height: 6px;
  margin-right: 5px;
}
.mr-deposit-summary {
  width: 100%; margin: 12px 0 2px; padding: 11px 12px; border: 1px solid var(--line);
  border-radius: 12px; background: var(--panel); color: var(--ink); display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 4px 10px; text-align: left;
}
.mr-deposit-summary > span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mr-deposit-summary b, .mr-deposit-summary strong { font-size: 14px; line-height: 1.3; }
.mr-deposit-summary small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.mr-deposit-summary > strong { grid-row: 1; grid-column: 2; white-space: nowrap; }
.mr-deposit-summary > small { grid-row: 2; grid-column: 2; white-space: nowrap; }
.mr-deposit-summary > i { grid-column: 3; grid-row: 1 / span 2; color: var(--muted); font-style: normal; font-size: 20px; }
.mr-finance-overview {
  padding: 0 0 22px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--mr-line, var(--grid));
}
.mr-finance-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.mr-finance-head > span { color: var(--muted); font-size: 12px; font-weight: 600; }
.mr-finance-head > strong { font-size: clamp(20px, 6vw, 28px); letter-spacing: -.035em; white-space: nowrap; }
.mr-finance-bar {
  display: flex;
  height: 8px;
  margin: 16px 0 13px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--mr-bg, var(--fill));
}
.mr-finance-bar i { display: block; min-width: 2px; }
.mr-finance-bar .cash, .mr-finance-stat.cash i { background: #9aa9b8; }
.mr-finance-bar .deposit, .mr-finance-stat.deposit i { background: #279382; }
.mr-finance-bar .invest, .mr-finance-stat.invest i { background: #4d7cfe; }
.mr-finance-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.mr-finance-stat {
  min-width: 0;
  padding: 9px 8px;
  border: 0;
  border-radius: 10px;
  background: var(--mr-bg, var(--fill));
  color: var(--ink);
  text-align: left;
  font: inherit;
}
button.mr-finance-stat { cursor: pointer; box-shadow: inset 0 0 0 1px color-mix(in srgb, #279382 32%, transparent); }
.mr-finance-stat > span { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.mr-finance-stat > span i { width: 6px; height: 6px; border-radius: 999px; flex: none; }
.mr-finance-stat > strong { display: block; margin-top: 5px; font-size: 12px; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mr-finance-stat > small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mr-finance-note, .as-balance-note {
  margin-top: 10px;
  padding-left: 10px;
  border-left: 3px solid #dba941;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

/* 자산 전체 — 총액 다음에 현금·예금·투자·기타의 위치가 바로 보인다. */
.as-overview { padding: 4px 2px 20px; border-bottom: 1px solid var(--mr-line, var(--grid)); margin-bottom: 6px; }
.as-overview-head { display: flex; flex-direction: column; gap: 6px; }
.as-overview-head > span { color: var(--muted); font-size: 12px; font-weight: 600; }
.as-overview-head > strong { font-size: clamp(25px, 7vw, 34px); letter-spacing: -.04em; line-height: 1.15; }
.as-mix-bar { display: flex; height: 9px; margin: 17px 0 11px; overflow: hidden; border-radius: 999px; background: var(--fill); }
.as-mix-bar > i { min-width: 2px; }
.as-mix-bar .cash, .as-mix-legend i.cash { background: #9aa9b8; }
.as-mix-bar .deposit, .as-mix-legend i.deposit { background: #279382; }
.as-mix-bar .invest, .as-mix-legend i.invest { background: #4d7cfe; }
.as-mix-bar .other, .as-mix-legend i.other { background: #a081e8; }
.as-mix-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--muted); font-size: 10px; }
.as-mix-legend > span { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.as-mix-legend i { width: 6px; height: 6px; border-radius: 999px; }
.as-mix-legend b { color: var(--text-secondary); font-weight: 650; }
.as-mix-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 12px; margin-top: 10px; }
.as-mix-legend > span { min-width: 0; display: grid; grid-template-columns: 6px minmax(0, 1fr); gap: 3px 6px; align-items: center; padding: 6px 0; }
.as-mix-legend > span > b { grid-column: 2; font-size: 12px; white-space: nowrap; }
.as-mix-legend small { color: var(--muted); font-size: 10px; font-weight: 450; }
.as-overview { padding-bottom: 8px; }
.as-overview-head { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 8px; }
.as-overview-head > strong { font-size: clamp(18px, 5vw, 24px); }
.as-mix-bar { margin: 7px 0 3px; height: 6px; }
.as-mix-legend { margin-top: 3px; }
/* 자산은 요약 뒤에 같은 값을 다시 트리로 반복하지 않는다. 자산 성격과 근거를
   한 줄씩 보여주고, 필요한 상세 화면은 그 줄을 눌러 연다. */
#as-tree .as-asset-list { margin-top: 8px; border-top: 1px solid var(--mr-line, var(--grid)); }
#as-tree .as-asset-row { width: 100%; min-height: 48px; padding: 8px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px; border: 0; border-bottom: 1px solid var(--mr-line, var(--grid)); background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
#as-tree .as-asset-row:active { background: var(--mr-soft, var(--fill)); }
#as-tree .as-asset-copy { min-width: 0; display: grid; gap: 2px; }
#as-tree .as-asset-copy b { font-size: 13px; line-height: 1.25; font-weight: 700; }
#as-tree .as-asset-copy small { overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
#as-tree .as-asset-value { font-size: 13px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
#as-tree .as-asset-row i { color: var(--mr-accent, var(--accent)); font-size: 10px; font-style: normal; font-weight: 650; white-space: nowrap; }
.mr-invest-month #ac-sub {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 400;
}
.mr-invest-month-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 22px;
}
.mr-invest-month-summary > div {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.mr-invest-month-summary .k {
  font-size: 11px;
  color: var(--mr-muted, var(--muted));
}
.mr-invest-month-summary strong {
  font-size: clamp(16px, 4.1vw, 20px);
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.mr-invest-month-summary > div:last-child strong {
  color: var(--mr-accent, #356cf5);
}
.mr-invest-month .ac-top {
  padding-bottom: 17px;
}
.mr-invest-month .ac-row {
  padding: 16px 0;
  gap: 8px;
}
.mr-invest-month .ac-row .nm, .mr-invest-month .ac-row .val {
  font-size: 13px;
}
.mr-invest-month .ac-row .sub2 {
  line-height: 1.7;
  font-size: 11px;
}

/* 자산 개요: 총액은 한 번만, 구성은 접히는 금액 행으로 본다. */
.as-nav{width:max-content;max-width:100%;margin:0 0 12px;padding:3px;background:var(--fill)}
.as-nav button{min-width:76px;font-size:12px}
#as-tree .as-overview{margin:0;padding:0 0 12px;border-bottom:1px solid var(--grid)}
.as-eyebrow{display:block;color:var(--muted);font-size:11px;font-weight:650}
#as-tree .as-total{display:block;margin:4px 0 9px;font-size:clamp(23px,6vw,30px);line-height:1.15;letter-spacing:-.035em}
.as-goal{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;font-size:11px;color:var(--muted)}
.as-goal b{color:var(--text-primary);font-size:12px}
.as-goal-edit{margin-left:auto;padding:2px 0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:11px;cursor:pointer}
.as-goal-form:not([hidden]){display:flex;align-items:end;flex-wrap:wrap;gap:6px;margin-top:9px}
.as-goal-form label{width:100%;font-size:11px;color:var(--muted)}
.as-goal-form input{width:min(190px,60%);height:33px;padding:4px 8px;font-size:13px}
.as-breakdown-list{margin-top:2px}
.as-breakdown{border-bottom:1px solid var(--grid)}
.as-breakdown:last-child{border-bottom:0}
.as-breakdown summary{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:9px;min-height:41px;cursor:pointer;list-style:none;font-size:12px}
.as-breakdown summary::-webkit-details-marker{display:none}
.as-breakdown summary b{font-size:13px;font-variant-numeric:tabular-nums}
.as-chevron{color:var(--muted);transition:transform .15s}
.as-breakdown[open] .as-chevron{transform:rotate(180deg)}
.as-breakdown-rows{padding:0 1px 8px 12px;border-left:2px solid var(--grid)}
.as-breakdown-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;font-size:11px}
.as-breakdown-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-breakdown-row small{margin-left:7px;color:var(--muted);font-size:10px}
.as-breakdown-row b{flex:none;font-size:11px;font-variant-numeric:tabular-nums}
.as-empty{font-size:11px;color:var(--muted)}
.as-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.as-section-head h2{margin:0;font-size:14px}
.as-cashflow-period{color:var(--muted);font-size:10px}
.as-cashflow-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.as-cashflow-stat{position:relative;min-width:0;padding:9px 10px;border-radius:10px;background:var(--fill)}
.as-cashflow-stat:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--cashflow-color)}
.as-cashflow-stat.income{--cashflow-color:#279382}.as-cashflow-stat.spend{--cashflow-color:#dd6270}.as-cashflow-stat.investment{--cashflow-color:#4d7cfe}
.as-cashflow-stat span{display:block;color:var(--muted);font-size:10px}
.as-cashflow-stat b{display:block;overflow:hidden;margin-top:3px;font-size:12px;line-height:1.25;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.as-cashflow-stat small{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.as-cashflow-definition{margin:8px 0 2px;color:var(--muted);font-size:9px;line-height:1.45}
.as-cashflow-chart svg{display:block;width:100%;max-height:145px}
.as-cashflow-grid{stroke:var(--grid);stroke-width:1}
.as-cashflow-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.as-cashflow-line.income{stroke:#279382}.as-cashflow-line.spend{stroke:#dd6270}.as-cashflow-line.investment{stroke:#4d7cfe}
.as-cashflow-dot.income{fill:#279382}.as-cashflow-dot.spend{fill:#dd6270}.as-cashflow-dot.investment{fill:#4d7cfe}
.as-cashflow-label{fill:var(--muted);font-size:8px;font-variant-numeric:tabular-nums}
.as-cashflow-legend{display:flex;justify-content:flex-end;gap:11px;color:var(--muted);font-size:9px}
.as-cashflow-legend span{display:flex;align-items:center;gap:4px}.as-cashflow-legend i{width:8px;height:3px;border-radius:999px}
.as-cashflow-legend i.income{background:#279382}.as-cashflow-legend i.spend{background:#dd6270}.as-cashflow-legend i.investment{background:#4d7cfe}
@media(max-width:360px){.as-cashflow-stats{gap:4px}.as-cashflow-stat{padding:8px 7px}.as-cashflow-stat b{font-size:11px}}
#as-granularity{flex:none}
#as-granularity button{min-width:34px;min-height:27px;padding:3px 7px;font-size:11px}
#as-chart-note{font-size:10px}
#as-chart svg{display:block;width:100%;max-height:190px}
.as-flow-delta{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:6px 10px;margin:7px 0 0;font-size:11px}
.as-flow-delta span{color:var(--muted)}
.as-flow-delta b{font-size:12px;text-align:left}
.as-flow-delta small{font-size:10px;text-align:right}
.as-flow-single{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:15px 0 5px;font-size:11px}
.as-flow-single span,.as-flow-single small{color:var(--muted)}
.as-flow-single b{font-size:13px}
.as-flow-single small{width:100%;font-size:10px}
.as-flow-grid{stroke:var(--grid);stroke-width:1}
.as-flow-line{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.as-flow-dot{fill:var(--accent)}
.as-flow-dot.estimated{fill:var(--surface-1);stroke:var(--accent);stroke-width:2}
.as-flow-label{fill:var(--muted);font-size:10px}
.as-composition{margin-top:8px;padding-top:12px;border-top:1px solid var(--grid)}
.as-composition header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.as-composition h3{margin:0;font-size:12px}
.as-composition header span{color:var(--muted);font-size:9px}
.as-composition-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;margin:5px 0}
.as-composition-row time{color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}
.as-composition-stack{display:flex;height:9px;overflow:hidden;border-radius:999px;background:var(--fill)}
.as-composition-stack>i{position:relative;display:block;min-width:1px}
.as-composition-stack i span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.as-composition-stack .cash,.as-composition-legend i.cash{background:#9aa9b8}
.as-composition-stack .deposit,.as-composition-legend i.deposit{background:#279382}
.as-composition-stack .invest,.as-composition-legend i.invest{background:#4d7cfe}
.as-composition-stack .other,.as-composition-legend i.other{background:#a081e8}
.as-composition-legend{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:9px;color:var(--muted);font-size:9px}
.as-composition-legend span{display:flex;align-items:center;gap:4px}
.as-composition-legend i{width:7px;height:7px;border-radius:2px}
.as-composition-legend b{color:var(--text-primary);font-size:9px}
.as-month-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--grid);font-size:12px;line-height:1.25}
.as-month-row b{font-size:12px;font-variant-numeric:tabular-nums}
.as-month-note{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.35}
.as-month-nav{display:flex;gap:4px}
.as-month-nav button{width:27px;height:27px;padding:0;border:1px solid var(--grid);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:18px;line-height:1;cursor:pointer}
.as-month-nav button:disabled{opacity:.35;cursor:default}
.as-ratio-compact,.as-flow-income{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:36px;border-bottom:1px solid var(--grid);font-size:12px}.as-ratio-compact span,.as-flow-income span{color:var(--text-primary);font-weight:650}.as-ratio-compact strong,.as-flow-income b{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.as-ratio-compact button,.as-flow-income button,.as-flow-action{min-height:28px;padding:4px 7px;border:0;border-radius:7px;background:transparent;color:var(--accent);font:inherit;font-size:11px;font-weight:650;cursor:pointer}.as-flow-fold{margin-top:7px;border:1px solid var(--grid);border-radius:9px;overflow:hidden}.as-flow-fold>summary,.as-flow-nested>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;min-height:36px;padding:0 10px;list-style:none;cursor:pointer;font-size:12px}.as-flow-fold>summary::-webkit-details-marker,.as-flow-nested>summary::-webkit-details-marker{display:none}.as-flow-fold>summary b,.as-flow-nested>summary b{font-size:12px;font-variant-numeric:tabular-nums}.as-flow-chevron{color:var(--muted);text-align:right;transition:transform .15s}.as-flow-fold[open]>summary .as-flow-chevron,.as-flow-nested[open]>summary .as-flow-chevron{transform:rotate(180deg)}.as-flow-fold.spend>summary{background:color-mix(in srgb,var(--critical) 9%,var(--surface-1));color:var(--critical)}.as-flow-fold.invest>summary{background:color-mix(in srgb,var(--accent) 9%,var(--surface-1));color:var(--accent)}.as-flow-fold-body{border-top:1px solid var(--grid)}.as-flow-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:32px;padding:0 10px;border-bottom:1px solid var(--grid);font-size:12px}.as-flow-row b{font-size:12px;font-variant-numeric:tabular-nums}.as-flow-action{display:block;margin-left:auto}.as-flow-nested{border:0;border-bottom:1px solid var(--grid)}.as-flow-nested:last-of-type{border-bottom:0}.as-flow-nested>summary{padding-left:10px;color:var(--text-primary)}.as-flow-nested-body{background:var(--surface-1)}.as-flow-nested-body .as-flow-row{padding-left:22px}.income-card{max-width:720px;margin-inline:auto}.income-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.income-head h2{margin:0 0 2px;font-size:14px}.income-head #income-total{display:block;font-size:18px;font-weight:720;letter-spacing:-.025em}.income-month{margin:10px 0 6px;color:var(--muted);font-size:11px}.income-add{margin:0 0 7px;margin-left:auto;display:block}.income-row{border-top:1px solid var(--grid)}.income-row summary{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:37px;list-style:none;cursor:pointer;font-size:12px}.income-row summary::-webkit-details-marker{display:none}.income-row time{color:var(--muted);font-size:11px}.income-row summary b{font-size:12px;font-variant-numeric:tabular-nums}.income-row>div{display:flex;align-items:center;gap:7px;padding:0 0 8px;font-size:11px;color:var(--muted)}.income-row>div span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-row button{min-height:27px;padding:4px 7px;border:0;border-radius:7px;background:var(--surface-1);color:var(--accent);font:inherit;font-size:11px;cursor:pointer}
.as-ratio-compact,.as-flow-income{border-bottom:0;min-height:34px}.as-flow-fold{border:0;background:var(--surface-1)}.as-flow-fold-body{border-top:0;padding:1px 0 4px}.as-flow-row{border-bottom:0;min-height:31px}.as-flow-nested{border-bottom:0}.as-flow-nested-body{padding:2px 0;background:color-mix(in srgb,var(--fill) 60%,var(--surface-1))}.income-chart-bars{display:flex;align-items:end;gap:6px;height:48px;margin:0 0 6px}.income-bar{display:grid;grid-template-rows:1fr auto;align-items:end;justify-items:center;flex:1;height:100%;gap:3px}.income-bar i{display:block;width:100%;max-width:20px;min-height:3px;border-radius:4px 4px 1px 1px;background:var(--grid)}.income-bar.current i{background:var(--accent)}.income-bar small{font-size:9px;color:var(--muted)}
.as-record-card .fold{font-size:14px}
.iv-log .as-log-kind{font-weight:600}
.as-record-card .filter-bar{margin:5px 0}
.as-log{border-bottom:1px solid var(--grid)}
.as-log:last-child{border-bottom:0}
.as-log summary{display:grid;grid-template-columns:58px minmax(52px,.7fr) minmax(0,1fr) auto;align-items:center;gap:5px;min-height:36px;list-style:none;cursor:pointer;font-size:10px}
.as-log summary::-webkit-details-marker{display:none}
.as-log time{color:var(--muted);font-variant-numeric:tabular-nums}
.as-log-kind,.as-log-account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-log summary b{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
.as-log-detail{display:flex;align-items:center;gap:5px;padding:4px 0 9px 58px;font-size:10px;color:var(--muted)}
.as-log-detail span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-log-detail button{font-size:10px}
@media(max-width:360px){.as-log summary{grid-template-columns:51px minmax(42px,.6fr) minmax(0,1fr) auto;gap:3px;font-size:9px}.as-log summary b{font-size:10px}.as-log-detail{padding-left:51px}}
.mr-invest-month .ac-row .chip {
  font-size: 9px;
  padding: 2px 5px;
}
.mr-invest-month .ac-foot {
  font-size: 11px;
}
.mr-invest-profile > .mr-invest-details {
  border: 0;
  margin: 0;
}
.mr-invest-profile > .mr-invest-details > summary {
  padding: 0;
  min-height: 28px;
}
.mr-invest-profile .gl-nums {
  gap: 8px;
}
.mr-invest-profile .gl-nums > div {
  background: var(--mr-bg, var(--fill));
  padding: 13px;
  border-radius: 14px;
}
.mr-invest-profile .gl-t, .mr-invest-profile .sub {
  font-size: 12px;
  line-height: 1.8;
}
:is(.mr-invest-layout, #iv-pane-mori) #gl-brief h2 {
  font-size: 14px;
  font-weight: 650;
}
:is(.mr-invest-layout, #iv-pane-mori) #ib-body, :is(.mr-invest-layout, #iv-pane-mori) #ib-body * { font-family: inherit; }
:is(.mr-invest-layout, #iv-pane-mori) #ib-body { margin-top: 10px; font-size: 13px; line-height: 1.6; }
:is(.mr-invest-layout, #iv-pane-mori) #ib-body p { font-size: inherit; line-height: inherit; }
:is(.mr-invest-layout, #iv-pane-mori) .ib-plan {
  padding: 11px 12px;
  margin-bottom: 8px;
  border-radius: 10px;
  background: var(--mr-bg, var(--fill));
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-plan p { margin: 0; font-size: 13px; line-height: 1.6; }
:is(.mr-invest-layout, #iv-pane-mori) .ib-plan-total b { font-size: inherit; font-weight: 650; }
:is(.mr-invest-layout, #iv-pane-mori) .ib-plan-mix { color: var(--text-secondary); }
:is(.mr-invest-layout, #iv-pane-mori) .ib-plan-lines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 12px;
  margin-top: 7px;
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-plan-lines span {
  min-width: 0;
  font-size: 13px;
  line-height: 1.6;
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-plan-lines b { font-size: inherit; font-weight: 650; white-space: nowrap; }
:is(.mr-invest-layout, #iv-pane-mori) .ib-watch { gap: 4px 12px; margin: 8px 0; font-size: 13px; line-height: 1.6; }
:is(.mr-invest-layout, #iv-pane-mori) .ib-watch .ib-k { font-size: 13px; line-height: inherit; }
:is(.mr-invest-layout, #iv-pane-mori) .ib-summary {
  padding: 10px 12px;
  margin: 8px 0 5px;
  border-left: 3px solid color-mix(in srgb, var(--accent) 68%, var(--grid));
  border-radius: 0 10px 10px 0;
  background: color-mix(in srgb, var(--accent) 6%, var(--surface-1));
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-sections {
  display: grid;
  gap: 0;
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-sections section {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid var(--grid);
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-sections h3 {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
  color: var(--text-secondary);
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-sections p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-sections section.is-action {
  margin-top: 2px;
  padding-inline: 8px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--accent) 7%, var(--surface-1));
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin-top: 8px;
  font-size: 11px;
}
:is(.mr-invest-layout, #iv-pane-mori) .ib-sources span { color: var(--text-secondary); }
:is(.mr-invest-layout, #iv-pane-mori) .ib-sources a { color: var(--accent); }
@media (max-width: 420px) {
  :is(.mr-invest-layout, #iv-pane-mori) .ib-plan-lines { grid-template-columns: 1fr; }
  :is(.mr-invest-layout, #iv-pane-mori) .ib-sections section { grid-template-columns: 64px minmax(0, 1fr); gap: 9px; }
}
#iv-pane-dp .dp-sum { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 18px 0; }
#iv-pane-dp .dp-sum > div {
  padding: 11px 9px;
  border-radius: 12px;
  background: var(--mr-bg, var(--fill));
}
#iv-pane-dp .dp-sum .v {
  margin-top: 5px;
  font-size: clamp(13px, 3.6vw, 16px);
  white-space: nowrap;
}
#iv-pane-dp .dp-sum .wide {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
}
#iv-pane-dp .dp-sum .wide > span:first-child { min-width: 0; }
#iv-pane-dp .dp-sum .wide > span:first-child b { display: block; margin-top: 3px; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#iv-pane-dp .dp-next-date { flex: none; text-align: right; }
#iv-pane-dp .dp-next-date b { display: block; font-size: 12px; font-variant-numeric: tabular-nums; }
#iv-pane-dp .dp-next-date em { display: inline-block; margin-top: 4px; padding: 2px 6px; border-radius: 999px; background: color-mix(in srgb, #279382 12%, transparent); color: #218274; font-size: 9px; font-style: normal; font-weight: 700; }
#iv-pane-dp .dp-tl { display: none !important; }
#iv-pane-dp .dp-list-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 19px 0 3px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--mr-line, var(--grid));
}
#iv-pane-dp .dp-list-head b { font-size: 13px; }
#iv-pane-dp .dp-list-head span { color: var(--muted); font-size: 10px; }
#iv-pane-dp .dp-cards {
  gap: 0;
}
#iv-pane-dp .dp-card {
  background: transparent;
  border-radius: 0;
  border-top: 1px solid var(--mr-line, var(--grid));
  padding: 16px 0;
  display: block;
}
#iv-pane-dp .dp-card:first-child {
  border-top: 0;
}
#iv-pane-dp .dp-card-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; }
#iv-pane-dp .dp-card-copy { min-width: 0; }
#iv-pane-dp .dp-card .dp-nm {
  font-size: 13px;
  line-height: 1.45;
}
#iv-pane-dp .dp-card .dp-sub {
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.5;
}
#iv-pane-dp .dp-maturity { text-align: right; min-width: 74px; }
#iv-pane-dp .dp-maturity > span { display: block; color: var(--muted); font-size: 9px; }
#iv-pane-dp .dp-maturity > b { display: block; margin-top: 2px; font-size: 11px; font-variant-numeric: tabular-nums; white-space: nowrap; }
#iv-pane-dp .dp-maturity > em { display: inline-block; margin-top: 4px; color: #218274; font-size: 9px; font-style: normal; font-weight: 700; }
#iv-pane-dp .dp-maturity > em.bad { color: var(--critical); }
#iv-pane-dp .dp-flow { display: flex; align-items: center; gap: 8px; margin-top: 11px; padding: 9px 10px; border-radius: 10px; background: var(--mr-bg, var(--fill)); }
#iv-pane-dp .dp-flow > span { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
#iv-pane-dp .dp-flow small { color: var(--muted); font-size: 9px; white-space: nowrap; }
#iv-pane-dp .dp-flow b { font-size: 12px; white-space: nowrap; }
#iv-pane-dp .dp-flow > i { color: var(--muted); font-size: 11px; font-style: normal; }
#iv-pane-dp .dp-interest { display: flex; justify-content: space-between; margin-top: 7px; color: var(--muted); font-size: 10px; }
#iv-pane-dp .dp-interest b { font-size: 10px; }
#iv-pane-dp .dp-due { margin-top: 9px; }
#iv-pane-dp > .card { padding: 12px 14px; margin-bottom: 8px; }
#iv-pane-dp .dp-sum{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}
#iv-pane-dp .dp-sum>div{padding:8px;min-width:0;background:var(--fill);border:0;border-radius:8px}
#iv-pane-dp .dp-sum .k{font-size:11px}#iv-pane-dp .dp-sum .v{font-size:13px}
#iv-pane-dp .dp-sum .wide{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
#iv-pane-dp .dp-sum .wide>span:first-child{display:flex;align-items:center;gap:12px}
#iv-pane-dp .dp-sum .wide>span:first-child b{font-size:12px;margin:0}
#iv-pane-dp .dp-next-date em{display:inline-block;margin:0;font-size:11px}

#iv-pane-dp .dp-list-head { margin: 8px 0 0; padding-bottom: 4px; }
#iv-pane-dp .dp-card { padding: 7px 0; }
#iv-pane-dp .dp-card-head { align-items: baseline; gap: 5px; }
#iv-pane-dp .dp-card .dp-nm { font-size: 11px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#iv-pane-dp .dp-maturity { min-width: 0; display: flex; align-items: baseline; gap: 4px; }
#iv-pane-dp .dp-maturity > b, #iv-pane-dp .dp-maturity > em { font-size: 10px; margin: 0; }
#iv-pane-dp .dp-compact-values { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 7px; margin-top: 2px; font-size: 10px; color: var(--muted); }
#iv-pane-dp .dp-compact-values > strong { margin-left: auto; font-size: 11px; color: var(--text-primary); }
#iv-pane-dp .dp-card .dp-chip { margin-left: 5px; padding: 0 5px; font-size: 8px; }
#iv-pane-dp .dp-due { display:flex; justify-content:flex-end; margin-top:4px; }
#iv-pane-dp .dp-due .chip-btn { padding:3px 7px; font-size:9px; }
#dp-installment-dlg .ml-actions button { flex:1 1 150px; }
#rt-sector { margin-top: -4px; }
#rt-sector button { font-size: 11px; }
.rt-bank > small { margin-left: 6px; color: var(--muted); font-size: 10px; font-weight: 450; }
@media (min-width: 850px) {
  #iv-pane-glance.mr-invest-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    grid-template-areas: "hero hero" "allocation month" "allocation brief" "allocation profile";
    align-items: start;
  }
  .mr-invest-layout > .card {
    padding: 28px;
  }
  .mr-invest-hero .d.mr-invest-metrics {
    max-width: 660px;
  }
  .mr-invest-hero .v {
    font-size: 46px;
  }
}
@media (max-width: 359px) {
  .mr-invest-layout > .card {
    padding: 19px;
  }
  .mr-invest-chart-label {
    align-items: flex-start;
  }
  .mr-invest-chart-label em {
    display: block;
    margin-top: 3px;
  }
  .mr-invest-allocation .gl-alloc .sw {
    display: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .mr-invest-track > i {
    transition: width .25s ease;
  }
}
@media(max-width:700px) {
  .mr-invest-layout>.card {
    padding:21px 23px
  }
  .mr-invest-hero .v {
    font-size:34px;
    margin-top:7px
  }
  .mr-invest-hero .d.mr-invest-metrics {
    margin-top:17px;
    padding-top:14px;
    gap:10px
  }
  .mr-invest-hero .n.mr-invest-price-note {
    margin-top:12px;
    font-size:10px
  }
  .mr-invest-metrics>div {
    gap:3px
  }
  .mr-invest-metrics strong {
    font-size:16px
  }
  .mr-invest-label {
    font-size:10px
  }
  .mr-invest-chart-insight {
    margin:8px 0 13px;
    font-size:12px
  }
  .mr-invest-chart-key {
    margin-bottom:14px
  }
  .mr-invest-chart-row+.mr-invest-chart-row {
    margin-top:13px
  }
  .mr-invest-chart-label {
    margin-bottom:7px
  }
  .mr-invest-gap {
    margin-top:4px
  }
  .mr-invest-chart-note {
    margin-top:17px
  }
  .mr-invest-chart-label strong {
    font-size:12px
  }
}

/* v2: a compact valuation and an interactive composition ring. */
.mr-invest-layout > .card { padding: 21px; }
.mr-invest-hero .v { font-size: clamp(29px, 7.8vw, 39px); margin-top: 7px; }
.mr-invest-hero .d.mr-invest-metrics { margin-top: 17px; padding-top: 15px; }
.mr-invest-hero .n.mr-invest-price-note { margin-top: 13px; font-size: 10px; }
.mr-invest-metrics strong { font-size: clamp(16px, 4.2vw, 19px); }
.mr-invest-rate { font-size: 11px; }
.mr-invest-composition { display: grid; grid-template-columns: 144px minmax(0, 1fr); align-items: center; gap: 13px; margin-top: 19px; }
.mr-invest-donut { width: 144px; height: 144px; position: relative; }
.mr-invest-donut svg { width: 100%; height: 100%; overflow: visible; }
.mr-invest-donut-arc { cursor: pointer; transition: stroke-width .15s ease, opacity .15s ease; outline: none; }
.mr-invest-donut-arc:hover, .mr-invest-donut-arc[aria-pressed="true"] { stroke-width: 25px; }
.mr-invest-donut-arc:focus-visible { stroke-width: 27px; filter: drop-shadow(0 0 2px var(--mr-ink)); }
.mr-invest-donut-center { position: absolute; inset: 28px; display: flex; flex-direction: column; justify-content: center; text-align: center; pointer-events: none; }
.mr-invest-donut-center strong { font-size: 28px; line-height: 1.15; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.mr-invest-donut-center strong > span { margin-left: 2px; font-size: 13px; font-weight: 600; }
.mr-invest-donut-center small { font-size: 10px; color: var(--mr-muted); margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-invest-legend { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mr-invest-legend-item { width: 100%; min-width: 0; display: grid; grid-template-columns: 7px minmax(0, 1fr) auto; align-items: center; gap: 7px; border: 0; background: transparent; color: var(--mr-ink); padding: 7px 3px; min-height: 41px; text-align: left; border-radius: 9px; cursor: pointer; font: inherit; }
.mr-invest-legend-item:hover, .mr-invest-legend-item[aria-pressed="true"] { background: var(--mr-bg); }
.mr-invest-legend-item:focus-visible { outline: 2px solid var(--mr-accent); outline-offset: 2px; }
.mr-invest-legend-item > i { width: 7px; height: 7px; border-radius: 50%; }
.mr-invest-legend-name { min-width: 0; font-size: 11px; font-weight: 600; overflow-wrap: anywhere; line-height: 1.35; }
.mr-invest-legend-name > small { display: block; font-size: 9px; color: var(--mr-muted); font-weight: 450; margin-top: 4px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mr-invest-legend-item > strong { font-size: 11px; font-weight: 650; letter-spacing: -.025em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mr-invest-legend-item > strong > small { font-size: 9px; margin-left: 1px; }
.mr-invest-donut-hint { font-size: 10px; line-height: 1.6; color: var(--mr-muted); margin: 12px 0 0; }
.mr-invest-allocation .mr-invest-chart-note { font-size: 10px; line-height: 1.65; margin-top: 10px; }
.mr-invest-allocation .mr-invest-details { margin-top: 16px; }
.mr-invest-selection { margin-top: 17px; padding: 16px; border-radius: 15px; background: var(--mr-bg); }
.mr-invest-selection[hidden] { display: none; }
.mr-invest-selection-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; font-size: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--mr-line); }
.mr-invest-selection-head > strong { flex: 1; min-width: 70px; }
.mr-invest-selection-head > b { font-size: 14px; font-variant-numeric: tabular-nums; }
.mr-invest-selection-head > span { color: var(--mr-muted); font-size: 11px; }
.mr-invest-selection ul { margin: 0; padding: 0; list-style: none; }
.mr-invest-selection li { display: flex; align-items: baseline; gap: 12px; margin-top: 13px; font-size: 12px; line-height: 1.5; }
.mr-invest-selection li > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.mr-invest-selection li small { display: block; color: var(--mr-muted); font-size: 10px; margin-top: 4px; }
.mr-invest-selection li > strong { font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (min-width: 550px) {
  .mr-invest-composition { grid-template-columns: 160px minmax(0, 1fr); gap: 27px; }
  .mr-invest-donut { width: 160px; height: 160px; }
  .mr-invest-legend-name, .mr-invest-legend-item > strong { font-size: 13px; }
  .mr-invest-legend-name > small { font-size: 11px; }
}
@media (min-width: 850px) {
  .mr-invest-layout > .card { padding: 25px; }
  #iv-pane-glance.mr-invest-layout { grid-template-areas: "hero allocation" "month allocation" "brief profile"; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
  .mr-invest-hero .v { font-size: 37px; }
}
@media (max-width: 374px) {
  .mr-invest-layout > .card { padding: 17px; }
  .mr-invest-composition { gap: 7px; }
  .mr-invest-legend-item { gap: 5px; padding-inline: 1px; }
  .mr-invest-legend-name { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .mr-invest-donut-arc { transition: none; }
}
.mr-invest-layout > .mr-invest-hero { padding: 18px 21px; }
.mr-invest-hero .k { font-size: 13px; }
.mr-invest-hero .mr-invest-badge { padding: 4px 8px; font-size: 11px; }
.mr-invest-hero .d.mr-invest-metrics { margin-top: 12px; padding-top: 12px; }
.mr-invest-metrics > div { position: relative; }
.mr-invest-metrics .mr-invest-rate { position: absolute; top: 0; right: 0; font-size: 11px; }
.mr-invest-hero .n.mr-invest-price-note { margin-top: 10px; font-size: 11px; }
.mr-invest-legend-item { padding: 5px 2px; min-height: 44px; }
.mr-invest-legend-name { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-invest-legend-name > small { font-size: 11px; }
.mr-invest-legend-item > strong { font-size: 12px; }
.mr-invest-legend-item > strong > small { font-size: 10px; }
#iv-pane-glance .mr-invest-legend-name > small { display: none; }
#iv-pane-glance .mr-invest-legend-item > strong > small { font-size: 11px; color: var(--mr-muted); font-weight: 500; }
.mr-invest-donut-hint, .mr-invest-allocation .mr-invest-chart-note { font-size: 11px; }
.mr-invest-selection li small { font-size: 11px; }

/* Compact investment summary: one type scale, four comparable metrics. */
#app #view-savings .iv-compact-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
#app #view-savings .iv-compact-metrics>div{min-width:0;display:flex;flex-direction:column;gap:4px}
#app #view-savings .iv-compact-metrics small{font-size:11px;color:var(--muted)}
#app #view-savings .iv-compact-metrics strong{font-size:15px;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#app #view-savings .mr-invest-hero{padding:16px}
#app #view-savings .mr-invest-price-note{font-size:11px;margin-top:10px}
#app #view-savings .mr-invest-composition{grid-template-columns:90px minmax(0,1fr);gap:12px;align-items:center}
#app #view-savings .mr-invest-donut{width:90px;height:90px;min-width:0;margin:0}
#app #view-savings .mr-invest-donut-center strong{font-size:14px}
#app #view-savings .mr-invest-donut-center small{font-size:9px}
#app #view-savings .mr-invest-legend{gap:0}
#app #view-savings .mr-invest-legend-item{min-height:30px;padding:4px 2px;border-bottom:1px solid var(--grid);gap:6px}
#app #view-savings .mr-invest-legend-name{font-size:11px}
#app #view-savings .mr-invest-legend-name>small{display:none}
#app #view-savings .mr-invest-chart-note,#app #view-savings .mr-invest-donut-hint{display:none}
#app #view-savings .mr-invest-section-head{margin-bottom:8px}
#app #view-savings .pos-row{padding:10px 0;border-bottom:1px solid var(--grid)}
#app #view-savings .pos-row .nm,#app #view-savings .pos-row .val{font-size:12px;line-height:1.4}
#app #view-savings .pos-row .sub2,#app #view-savings .pos-row .pl{font-size:11px;line-height:1.4}
#iv-pane-glance.mr-invest-layout{display:flex;flex-direction:column;gap:10px}
#iv-pane-glance.mr-invest-layout>.card{width:100%}
#app #view-savings .mr-invest-positions{padding:13px 17px}
#app #view-savings .mr-invest-positions>.fold{margin:0 0 3px}
#app #view-savings .pos-row{gap:3px 9px;padding:8px 0;align-items:baseline}
#app #view-savings .pos-row .nm{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;min-width:0;font-weight:680}
#app #view-savings .pos-row .pos-name{font-weight:680;min-width:0}
#app #view-savings .pos-row .val{font-size:12px;font-weight:700}
#app #view-savings .pos-row .sub2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#app #view-savings .pos-row .pos-summary{color:var(--muted)}
#app #view-savings .pos-row .pl{white-space:nowrap;font-variant-numeric:tabular-nums}
#app #view-savings .pos-row .pl small{font-size:10px;font-weight:500}
#app #view-savings .pos-accounts{display:inline-flex;flex-wrap:wrap;gap:3px}
#app #view-savings .pos-account{display:inline-flex;align-items:center;border:1px solid var(--grid);border-radius:4px;background:var(--fill);padding:1px 4px;color:var(--muted);font-size:9px;font-weight:550;white-space:nowrap}
#app #view-savings .pos-qty{display:inline-flex;align-items:center;border:1px solid var(--grid);border-radius:4px;background:var(--mr-soft,var(--fill));padding:1px 4px;color:var(--muted);font-size:9px;font-weight:650;white-space:nowrap}
#app #view-savings .iv-avg-switch{margin-left:auto;transform:scale(.86);transform-origin:right center}
#app #view-savings .mr-invest-allocation{padding:13px 17px}
#app #iv-nav button{font-size:12px;padding:10px 4px;min-height:40px}
#app #view-savings .mr-invest-section-head h2{font-size:14px}
#app #iv-sub button{font-size:12px;padding:8px 10px;min-height:36px}
@media(min-width:650px){#app #view-savings .iv-compact-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
.income-card{max-width:960px}.income-filters{display:flex;gap:6px;margin:12px 0 4px;flex-wrap:wrap}.income-card .income-filters select,.income-card .income-filters input{font:inherit;font-size:12px;min-height:32px;padding:5px 8px;width:auto;min-width:0}.income-filters input{flex:1 1 130px}.income-trend-card{margin-top:12px;padding-top:10px;border-top:1px solid var(--grid)}.income-trend-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.income-trend-card h3{margin:0;font-size:12px}.income-trend-card header span{font-size:10px;color:var(--muted);text-align:right}.income-svg{margin-top:5px}.income-svg svg{display:block;width:100%;height:auto}.income-grid{stroke:var(--grid);stroke-width:1}.income-axis{fill:var(--muted);font-size:9px}.income-bar-rect{fill:var(--accent);opacity:.8}.income-category-picker{display:flex;gap:5px;overflow:auto;padding:7px 0 2px}.income-category-picker button{flex:0 0 auto;min-height:27px;padding:4px 7px;border:1px solid var(--grid);border-radius:7px;background:var(--surface-1);font:inherit;font-size:10px;color:var(--muted)}.income-category-picker button[aria-pressed=true]{border-color:var(--income-color);color:var(--income-color);background:color-mix(in srgb,var(--income-color) 7%,var(--surface-1));font-weight:650}.income-readout{min-height:15px;font-size:10px;color:var(--muted)}.income-table-scroll{overflow:auto;margin-top:16px}.income-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.income-table th{font-weight:600;color:var(--muted);font-size:11px}.income-table th,.income-table td{padding:8px 6px;white-space:nowrap;border-bottom:1px solid var(--grid)}.income-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.income-table td:nth-child(4){min-width:100px;max-width:240px;white-space:normal;overflow-wrap:anywhere}.income-table button{font:inherit;font-size:11px;border:0;background:transparent;color:var(--accent);padding:5px;min-height:28px}.income-date-entry{display:flex;gap:6px}.income-date-entry input{flex:1;min-width:0}.income-date-entry button{white-space:nowrap}#income-dlg input,#income-dlg select,#income-dlg button{font-family:inherit;font-size:13px}#income-date-picker{padding:10px 0}#income-date-picker[hidden]{display:none}.income-date-nav{display:flex;gap:5px;align-items:center}.income-date-nav #income-date-year{width:78px;min-width:0;padding:5px}.income-date-nav #income-date-month{width:70px;min-width:0;padding:5px}.income-date-nav button{min-width:30px;min-height:32px;padding:5px}.income-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:8px;text-align:center}.income-date-grid span{font-size:11px;padding:5px;color:var(--muted)}.income-date-grid button{min-width:0;min-height:34px;padding:4px;box-shadow:none;border:0;background:var(--fill);border-radius:6px}.income-date-grid button:hover,.income-date-grid button:focus-visible{background:var(--accent);color:white}
