/* Complete assets are scan-friendly rows; evidence expands within the same row. */
.portfolio-asset-card p, .portfolio-asset-cash p, .portfolio-asset-cash li { color: var(--color-text-muted); font-size: var(--type-small); line-height: 1.6; overflow-wrap: anywhere; }
.portfolio-asset-group { margin-top: var(--space-2); }
.portfolio-asset-group-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-1); }
.portfolio-asset-group-head h3, .portfolio-asset-cash h3 { font-size: 1rem; margin: 0; }
.portfolio-asset-group-head > span { color: var(--color-text-muted); font-size: var(--type-small); }
.portfolio-asset-card { border-bottom: 1px solid var(--card-border); background: var(--card-background); min-width: 0; }
.portfolio-asset-card:first-of-type { border-top: 1px solid var(--card-border); }
.portfolio-asset-detail > summary { position: relative; display: grid; gap: var(--space-2); padding: var(--space-3); min-height: var(--touch-target); cursor: pointer; list-style: none; }
.portfolio-asset-detail > summary::-webkit-details-marker { display: none; }
.portfolio-asset-identity { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-2); min-width: 0; padding-right: 3.5rem; }
.portfolio-asset-identity b { font-size: 1rem; flex-shrink: 0; max-width: 100%; overflow-wrap: anywhere; }
.portfolio-asset-identity > span { flex: 1 1 0; color: var(--color-text-muted); font-size: var(--type-small); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.portfolio-asset-toggle { position: absolute; right: var(--space-3); top: 0; display: flex; gap: var(--space-2); align-items: center; min-height: var(--touch-target); color: var(--color-text-muted); font-size: var(--type-small); }
.portfolio-asset-toggle i { font-style: normal; color: var(--color-accent); }
.portfolio-asset-detail[open] .portfolio-asset-toggle i { font-size: 0; }
.portfolio-asset-detail[open] .portfolio-asset-toggle i::after { content: '−'; font-size: var(--type-small); }
.portfolio-asset-metrics { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.6fr) minmax(0,1.2fr); gap: var(--space-2); font-variant-numeric: tabular-nums; }
.portfolio-asset-metrics > span { display: flex; flex-direction: column; min-width: 0; }
.portfolio-asset-detail > summary .portfolio-asset-metrics small, .portfolio-asset-profit > span { color: var(--color-text-muted); font-size: var(--type-small); }
.portfolio-asset-metrics strong { color: var(--color-text); font-size: var(--type-body); font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.portfolio-asset-metrics > span:nth-child(n+2) { text-align: right; }
.portfolio-asset-card .is-negative { color: var(--color-negative); }
.portfolio-asset-card .is-positive { color: var(--color-positive); }
.portfolio-asset-notices { color: var(--color-attention); font-size: var(--type-small); line-height: 1.5; overflow-wrap: anywhere; }
.portfolio-asset-evidence { border-top: 1px dashed var(--color-border); margin: 0 var(--space-3); padding: var(--space-2) 0 var(--space-3); }
.portfolio-asset-evidence p { margin: var(--space-2) 0; }
.portfolio-asset-evidence > a { display: inline-flex; align-items: center; min-height: var(--touch-target); color: var(--color-accent); }
.portfolio-asset-card dl { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap: var(--space-2); margin: var(--space-2) 0; }
.portfolio-asset-card dt { color: var(--color-text-muted); font-size: var(--type-small); }
.portfolio-asset-card dd { margin: 0; font-size: var(--type-body); overflow-wrap: anywhere; }
.portfolio-asset-cash { margin-bottom: var(--space-3); color: var(--color-text-muted); font-size: var(--type-small); }
.portfolio-asset-cash > summary { display: flex; justify-content: space-between; gap: var(--space-3); align-items: center; min-height: var(--touch-target); cursor: pointer; }
.holding-setup-notice { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) 0; color: var(--color-attention); font-size: var(--type-small); }
.holding-setup-notice[hidden] { display: none; }
.holding-setup-notice button { color: var(--color-accent); min-height: var(--touch-target); padding-inline: var(--space-2); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface); font: inherit; cursor: pointer; }
.holding-setup-notice button:focus-visible, .portfolio-asset-cash > summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.portfolio-asset-card :is(a,summary):focus-visible { outline: 2px solid var(--color-accent); outline-offset: -2px; }
.current-holding-section .home-holding-tabs { display: flex; flex-wrap: wrap; gap: var(--space-1); margin: var(--space-2) 0 var(--space-3); padding: var(--space-1); border: 1px solid var(--control-border, var(--color-border)); border-radius: var(--radius-control); background: var(--color-surface); }
.current-holding-section .home-holding-tabs button { flex: 1 1 0; min-width: 0; min-height: var(--touch-target); padding: var(--space-2) var(--space-1); border: 0; border-radius: .5rem; background: transparent; color: var(--color-text-muted); font: inherit; font-size: var(--type-small); font-weight: 600; cursor: pointer; }
.current-holding-section .home-holding-tabs button[aria-pressed="true"] { background: var(--color-accent-soft); color: var(--color-accent); }
.current-holding-section .home-holding-tabs button[hidden] { display: none; }
.home-holding-score-coverage { margin: 8px 0; font-size: .75rem; line-height: 1.5; color: var(--color-text-muted); }
.current-holding-section .home-holding-tabs button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.portfolio-asset-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-3); margin: var(--space-3) 0; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface); }
.portfolio-asset-summary dt { color: var(--color-text-muted); font-size: var(--type-small); margin-bottom: var(--space-1); }
.portfolio-asset-summary dd { margin: 0; color: var(--color-text); font-size: var(--type-body); line-height: 1.5; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
html[data-home-view="holdings"] body.home-page .current-holding-section { padding: 0; border: 0; background: transparent; }
html[data-home-view="holdings"] body.home-page #homeHoldingList { border: 0; background: transparent; padding: 0; }
@media (min-width: 800px) and (min-height: 600px) {
  .portfolio-asset-detail > summary { grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: var(--space-1) var(--space-6); padding-right: 5rem; }
  .portfolio-asset-identity { align-self: center; padding-right: 0; }
  .portfolio-asset-notices { grid-column: 1 / -1; }
}

/* Compact stock rows share the complete-asset component ownership. */
.portfolio-asset-group > :is(.home-compact-holding, .portfolio-asset-card):first-of-type { border-start-start-radius: var(--radius-card); border-start-end-radius: var(--radius-card); }
.portfolio-asset-group > :is(.home-compact-holding, .portfolio-asset-card):last-child { border-end-start-radius: var(--radius-card); border-end-end-radius: var(--radius-card); }
body.home-page #homeHoldingList .home-holding-row.home-compact-holding {
  display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 4px 10px 8px;
  background: var(--card-background);
  min-width: 0; min-height: 0; height: auto; color: var(--color-text); font-size: .875rem; line-height: 1.4;
}
body.home-page #homeHoldingList .home-compact-holding-head {
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0;
}
body.home-page #homeHoldingList .home-compact-holding .home-holding-symbol > strong {
  display: inline-flex; align-items: baseline; gap: 4px; overflow: visible;
  font-size: 1.125rem; line-height: 1.4; white-space: nowrap; overflow-wrap: normal; text-overflow: clip;
}
body.home-page #homeHoldingList .home-compact-holding .home-holding-symbol {
  display: flex; flex-wrap: wrap; align-items: center; align-content: center; gap: 0 8px;
  min-width: 0; min-height: var(--touch-target);
  color: inherit; text-decoration: none; white-space: normal; overflow-wrap: anywhere;
}
body.home-page #homeHoldingList .home-compact-holding-action { font-size: .875rem; font-weight: 600; }
body.home-page #homeHoldingList .home-compact-holding-addition { font-size: .8125rem; }
body.home-page #homeHoldingList .home-compact-holding .neutral { color: var(--color-text-muted); }
body.home-page #homeHoldingList .home-compact-holding .warning { color: var(--color-attention); }
body.home-page #homeHoldingList .home-compact-holding .risk { color: var(--color-negative); }
body.home-page #homeHoldingList .home-compact-holding-metrics {
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, .8fr); gap: 8px; min-width: 0;
}
body.home-page #homeHoldingList .home-compact-holding-metrics > span {
  display: flex; flex-direction: column; align-items: start; gap: 1px;
  min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums;
}
body.home-page #homeHoldingList .home-compact-holding-metrics > span:nth-child(2) { align-items: center; text-align: center; }
body.home-page #homeHoldingList .home-compact-holding-metrics > span:last-child { align-items: end; text-align: right; }
body.home-page #homeHoldingList .home-compact-holding-metrics b { font-size: .9375rem; font-weight: 600; }
body.home-page #homeHoldingList .home-compact-holding-price b { color: var(--color-text); }
body.home-page #homeHoldingList .home-compact-holding-metrics small { color: var(--color-text-muted); font-size: .8125rem; }
body.home-page #homeHoldingList .home-compact-holding-score {
  display: flex; flex-direction: column; align-items: end; gap: 0; min-width: 0; text-align: right;
  color: var(--color-text-muted); overflow-wrap: anywhere; font-variant-numeric: tabular-nums;
}
body.home-page #homeHoldingList .home-compact-holding-score-status { color: var(--color-text-muted); }
body.home-page #homeHoldingList .home-compact-holding-score small,
body.home-page #homeHoldingList .home-compact-holding-score i { font-size: .8125rem; font-style: normal; }
body.home-page #homeHoldingList .home-compact-holding-score b { font-size: .9375rem; }
body.home-page #homeHoldingList .home-compact-holding-notice,
body.home-page #homeHoldingList .home-compact-holding-exception {
  display: block; min-width: 0; margin: 0; overflow-wrap: anywhere; white-space: normal;
  font-size: .8125rem;
}

@media (min-width: 800px) and (min-height: 600px) {
  body.home-page #homeHoldingList .home-holding-row.home-compact-holding { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.8fr) minmax(0, 1fr) minmax(0, .8fr) minmax(0, 1.1fr); align-items: center; gap: var(--space-1) var(--space-4); padding: var(--space-2) var(--space-3); }
  body.home-page #homeHoldingList .home-compact-holding-head,
  body.home-page #homeHoldingList .home-compact-holding-metrics { display: contents; }
  body.home-page #homeHoldingList .home-compact-holding-identity { grid-column: 1; grid-row: 1; }
  body.home-page #homeHoldingList .home-compact-holding-score { grid-column: 5; grid-row: 1; }
  body.home-page #homeHoldingList .home-compact-holding-price { grid-column: 2; grid-row: 1; }
  body.home-page #homeHoldingList .home-compact-holding-pnl { grid-column: 3; grid-row: 1; }
  body.home-page #homeHoldingList .home-compact-holding-weight { grid-column: 4; grid-row: 1; }
  body.home-page #homeHoldingList :is(.home-compact-holding-notice, .home-compact-holding-exception, .home-policy-confirm-card) { grid-column: 1 / -1; }
}
