/* R25 — decisions first, with portfolio work kept in its fund context. */
:root {
  --fm-ink: #27232d; --fm-muted: #746e7b; --fm-line: #ede9f0;
  --fm-soft: #f8f7fa; --fm-purple: #8050bc; --fm-purple-soft: #f3edf9;
  --fm-green: #428b73; --fm-red: #b35f69; --fm-amber: #aa7b37;
}
.thread.view-manager { width: 100%; max-width: none; min-width: 0; min-height: 100%; margin: 0; padding: 0; background: #fff; container: fund-content / inline-size; }
 .fm-page { width: 100%; max-width: 1280px; min-width: 0; margin: 0 auto; padding: 30px 36px 52px; color: var(--fm-ink); font-size: var(--type-body-size);  font-variant-numeric: tabular-nums;  line-height: var(--type-body-line); }
.fm-page *, .fm-dialog * { box-sizing: border-box; }
.fm-page button, .fm-dialog button { cursor: pointer; }
.fm-page button:disabled, .fm-dialog button:disabled { cursor: not-allowed; opacity: .45; }
.fm-page button:focus-visible, .fm-dialog button:focus-visible, .fm-page input:focus-visible, .fm-dialog input:focus-visible, .fm-dialog select:focus-visible, .fm-dialog textarea:focus-visible { outline: 2px solid #ad8cd4; outline-offset: 3px; }
.fm-page h1, .fm-page h2, .fm-page h3, .fm-dialog h2, .fm-dialog h3 { color: var(--fm-ink); }
.fm-page h1 { font-size: var(--type-page-size);  font-weight: 600; letter-spacing: -.035em;  line-height: var(--type-page-line); }
.fm-page h2 { font-size: var(--type-section-size);  font-weight: 600;  line-height: var(--type-section-line); }
 .fm-page h3 { font-size: var(--type-body-size);  font-weight: 600;  line-height: var(--type-body-line); }
.fm-page p { color: var(--fm-muted); }
.fm-page small { font-size: var(--type-caption-size);  color: var(--fm-muted);  line-height: var(--type-caption-line); }
.fm-page-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 27px; }
.fm-page-head > div:first-child { min-width: 0; }
.fm-page-head p { margin-top: 7px; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
 .fm-kicker { display: block; margin-bottom: 7px; color: #9e93aa; font-size: var(--type-caption-size); font-weight: 500; letter-spacing: .13em; text-transform: uppercase;  line-height: var(--type-caption-line); }
.fm-head-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; flex: none; }
.fm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 6px 13px; border: 1px solid #e2dce8; border-radius: 6px; background: #fff; color: #73667f; font: inherit; font-size: var(--type-caption-size); font-weight: 500;  white-space: nowrap; text-decoration: none; cursor: pointer;  line-height: var(--type-caption-line); }
.fm-btn:hover { border-color: #cbbada; background: #faf7fd; color: #7543ad; }
.fm-btn.primary { background: var(--fm-purple); border-color: var(--fm-purple); color: #fff; }
.fm-btn.primary:hover { background: #7244ac; border-color: #7244ac; }
.fm-btn svg { width: 13px; height: 13px; }
.fm-link { color: var(--fm-purple); padding: 4px 0; font-size: var(--type-caption-size);  white-space: nowrap; text-decoration: none; cursor: pointer;  line-height: var(--type-caption-line); }
.fm-link:hover { color: #613394; text-decoration: underline; text-underline-offset: 3px; }
.fm-badge, .fm-page .badge, .fm-dialog .badge { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 20px; padding: 2px 7px; border-radius: 4px; background: #f2f0f5; color: #8c7d98; font-size: var(--type-caption-size); font-weight: 500;  white-space: nowrap;  line-height: var(--type-caption-line); }
.fm-badge.violet, .fm-page .badge.violet, .fm-dialog .badge.violet { background: #f1eaf8; color: #9062b7; }
.fm-badge.green, .fm-page .badge.green, .fm-dialog .badge.green { background: #edf5f1; color: #548d78; }
.fm-badge.amber, .fm-page .badge.amber, .fm-dialog .badge.amber { background: #faf3e9; color: #aa7b37; }
.fm-page .up, .fm-dialog .up { color: var(--fm-green); }
.fm-page .down, .fm-dialog .down { color: var(--fm-red); }
.fm-page .warn, .fm-dialog .warn { color: var(--fm-amber); }

/* One quiet strip summarizes the portfolio; pending decisions own the canvas. */
.fm-stats { display: grid; grid-template-columns: repeat(var(--fm-stat-count, 4), minmax(0, 1fr)); gap: 0; margin: 0 0 29px; padding: 19px 0 20px; border-top: 1px solid var(--fm-line); border-bottom: 1px solid var(--fm-line); }
.fm-stats > * { min-width: 0; padding: 0 23px; border-right: 1px solid var(--fm-line); }
.fm-stats > :first-child { padding-left: 0; }
.fm-stats > :last-child { border-right: 0; padding-right: 0; }
.fm-stats span, .fm-stats label { display: block; font-size: var(--type-caption-size); color: #908799;  line-height: var(--type-caption-line); }
.fm-stats strong { display: block; margin: 7px 0 5px; font-size: var(--type-page-size); font-weight: 500;  letter-spacing: -.025em;  line-height: var(--type-page-line); }
.fm-stats small, .fm-stats em { color: #a298a9; font-size: var(--type-caption-size); font-style: normal;  line-height: var(--type-caption-line); }
.fm-home-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 30px; align-items: stretch; margin-bottom: 28px; }
.fm-panel { min-width: 0; border: 1px solid var(--fm-line); border-radius: 9px; padding: 20px; background: #fff; }
.fm-page > .fm-panel, #fm-section-panel > .fm-panel { margin-bottom: 24px; }
.fm-home-grid > .fm-panel:first-child { border: 0; padding: 1px 0 0; border-radius: 0; }
.fm-home-grid > .fm-panel:last-child { background: #faf9fc; border-color: #f2eef7; }
.fm-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 25px; margin-bottom: 15px; }
.fm-section-head > div:first-child { min-width: 0; }
.fm-section-head p { margin-top: 3px; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-section-head h2 + span { margin-left: 6px; }
.fm-decisions { display: flex; flex-direction: column; }
.fm-decisions article { display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 18px 0; border-top: 1px solid var(--fm-line); }
.fm-decisions article:first-child { padding-top: 0; border-top: 0; }
.fm-decisions article:last-child { padding-bottom: 6px; }
.fm-decisions article > div:not(.fm-event-icon) { min-width: 0; flex: 1; }
.fm-decisions article > .fm-btn, .fm-decisions article > .fm-link { flex: none; align-self: center; }
.fm-decisions article h3, .fm-decisions article b { display: block; font-size: var(--type-body-size); font-weight: 500;  line-height: var(--type-body-line); }
.fm-decisions article p { margin-top: 4px; font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-event-icon { display: grid; place-items: center; flex: none; width: 29px; height: 29px; margin-top: 2px; border-radius: 7px; background: #f1edf7; color: #9a7abc; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-event-icon.amber { background: #faf3e9; color: #bd9a63; }
.fm-event-icon.green { background: #eef5f1; color: #75a48c; }
.fm-event-icon svg { width: 14px; height: 14px; }
.fm-event-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 4px; color: #8c7d98; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-brief-line { margin-top: 13px; padding-top: 13px; border-top: 1px solid #ede8f3; color: #887890; font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-brief-line b, .fm-brief-line strong { color: #65506e; font-weight: 500; }
.fm-brief-line small { display: block; margin-top: 5px; color: #a395ac; }

/* Tables retain their columns; horizontal scrolling belongs to the table wrapper. */
.fm-table-scroll { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
table.fm-table { width: 100%; min-width: 600px; border-collapse: collapse; text-align: left; font-size: var(--type-body-size);  line-height: var(--type-body-line); }
.fm-table th { padding: 10px 12px; border-bottom: 1px solid var(--fm-line); color: #a096a8; font-size: var(--type-caption-size); font-weight: 400; white-space: nowrap;  line-height: var(--type-caption-line); }
.fm-table td { padding: 16px 12px; border-bottom: 1px solid #f1eef4; color: #74677f; vertical-align: middle; white-space: nowrap; }
.fm-table th:first-child, .fm-table td:first-child { padding-left: 0; }
.fm-table th:last-child, .fm-table td:last-child { padding-right: 0; text-align: right; }
.fm-table tr:last-child td { border-bottom: 0; }
.fm-table tbody tr:hover { background: #fcfafe; }
.fm-table td b, .fm-table td strong { display: block; font-weight: 500; color: #5f4e6d; }
.fm-table td small { display: block; margin-top: 3px; color: #a89aac; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-table td .fm-link { text-align: left; }
.fm-table .fm-btn { min-height: 29px; padding: 3px 9px; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-lifecycle { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0 0 26px; padding: 0 0 23px; border-bottom: 1px solid var(--fm-line); }
.fm-lifecycle > * { min-width: 0; }
.fm-lifecycle > div > span { display: block; margin-bottom: 8px; color: #b6a6c4; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-lifecycle b, .fm-lifecycle strong { display: block; margin-bottom: 5px; color: #786383; font-size: var(--type-caption-size); font-weight: 500;  line-height: var(--type-caption-line); }
.fm-lifecycle p, .fm-lifecycle small { display: block; color: #a194aa; font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-filterbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 16px; }
.fm-filterbar > div { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.fm-filter { min-height: 31px; padding: 5px 11px; border-radius: 5px; color: #978b9f; font-size: var(--type-caption-size); white-space: nowrap;  line-height: var(--type-caption-line); }
.fm-filter.active { background: #f1eaf8; color: #8b5eb2; font-weight: 500; }
.fm-filter:hover { background: #f7f2fc; }
.fm-search { display: flex; align-items: center; gap: 7px; min-width: 180px; max-width: 260px; padding: 7px 10px; border: 1px solid #eae4ee; border-radius: 6px; color: #ad9db7; background: #fff; }
.fm-search input { width: 100%; min-width: 0; border: 0; background: transparent; color: #73617e; font: inherit; font-size: var(--type-caption-size); outline: none;  line-height: var(--type-caption-line); }
.fm-search input::placeholder { color: #a294ad; }
.fm-search svg { width: 13px; height: 13px; }
.fm-context-note { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid #f0eaf5; border-radius: 6px; background: #fbf9fd; color: #95809f; font-size: var(--type-caption-size);  margin: 17px 0;  line-height: var(--type-caption-line); }
.fm-context-note > span { flex: 1; min-width: 0; }
.fm-context-note > svg { flex: none; color: #a184b9; }
.fm-context-note b, .fm-context-note strong { color: #836a95; font-weight: 500; }

.fm-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #a898b2; font-size: var(--type-caption-size); margin: 0 0 16px;  line-height: var(--type-caption-line); }
.fm-breadcrumb button { color: #9674af; font-size: inherit; }
.fm-fund-state { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: -7px 0 15px; color: #8e7f99; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-subnav { display: flex; align-items: center; gap: 23px; margin: -3px 0 24px; border-bottom: 1px solid var(--fm-line); overflow-x: auto; overscroll-behavior-x: contain; }
.fm-subnav button { position: relative; flex: none; min-height: 42px; padding: 8px 1px 13px; border-bottom: 2px solid transparent; color: #92829e; font-size: var(--type-caption-size); white-space: nowrap;  line-height: var(--type-caption-line); }
.fm-subnav button.active { color: #8e61b5; border-bottom-color: #a276c4; font-weight: 500; }
.fm-subnav button:hover { color: var(--fm-purple); }
.fm-detail-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; margin-bottom: 25px; align-items: start; }
.fm-chart { width: 100%; min-width: 0; margin-top: 18px; }
.fm-chart svg, svg.fm-spark, .fm-spark svg { width: 100%; max-width: 100%; height: 145px; display: block; stroke: none; }
.fm-spark { width: 100%; min-width: 0; }
.fm-chart svg [fill]:not([fill="none"]), .fm-spark [fill]:not([fill="none"]) { stroke: none; }
.fm-chart > div:last-child, .fm-chart figcaption { display: flex; justify-content: space-between; gap: 10px; color: #a598b0; font-size: var(--type-caption-size); margin-top: 9px;  line-height: var(--type-caption-line); }
.fm-allocations { display: flex; flex-direction: column; gap: 13px; padding-top: 7px; }
.fm-allocations > div { min-width: 0; }
.fm-allocations label, .fm-allocations > div > div:first-child { display: flex; justify-content: space-between; gap: 12px; color: #93819f; font-size: var(--type-caption-size); margin-bottom: 6px;  line-height: var(--type-caption-line); }
.fm-allocations b { color: #816b92; font-weight: 500; }
.fm-allocations i { display: block; height: 5px; border-radius: 4px; background: #f3eef7; overflow: hidden; }
.fm-allocations i > *, .fm-allocations u { display: block; height: 100%; border-radius: inherit; background: #b598ce; text-decoration: none; }
.fm-record { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 15px 0; border-bottom: 1px solid var(--fm-line); }
.fm-record:last-child { border-bottom: 0; }
.fm-record > div:first-child { flex: 1; min-width: 160px; }
.fm-record > div + div { text-align: right; }
.fm-record b, .fm-record strong { color: #7b648b; font-weight: 500; }
.fm-record p { margin: 4px 0; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-record small { display: block; margin-top: 3px; color: #8c7b99; }
.fm-checklist { list-style: none; padding: 0; margin: 11px 0; }
.fm-checklist > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 45px; padding: 11px 0; border-bottom: 1px solid var(--fm-line); color: #7d698b; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-checklist > div:last-child { border-bottom: 0; }
.fm-checklist > div > b { font-weight: 500; }
.fm-checklist > div > .fm-badge { flex: none; }
.fm-checklist li { position: relative; padding: 10px 0 10px 20px; border-bottom: 1px solid #f1ebf6; color: #8e779f; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-checklist li::before { position: absolute; left: 0; top: 10px; content: '✓'; color: #81a18f; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-checklist li:last-child { border-bottom: 0; }
.fm-checklist small { display: block; margin-top: 3px; }
.fm-definition { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 14px 0; }
.fm-definition dl { min-width: 0; margin: 0; }
.fm-definition dt { color: #a18dab; font-size: var(--type-caption-size); margin-bottom: 5px;  line-height: var(--type-caption-line); }
.fm-definition dd { color: #80618f; font-size: var(--type-caption-size);  margin: 0; overflow-wrap: anywhere;  line-height: var(--type-caption-line); }
.fm-timeline { list-style: none; padding: 0; margin: 15px 0 0; }
.fm-timeline > * { position: relative; margin-left: 3px; padding: 0 0 21px 19px; border-left: 1px solid #eee5f6; color: #8c749c; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-timeline > *::before { content: ''; position: absolute; width: 5px; height: 5px; left: -3px; top: 7px; border-radius: 50%; background: #bb9cd1; }
.fm-timeline > :last-child { padding-bottom: 0; border-left-color: transparent; }
.fm-timeline small, .fm-timeline time { display: block; margin: 3px 0; color: #a591b2; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }

.fm-research-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 28px; }
.fm-research-tools > * { position: relative; min-width: 0; padding: 20px; border: 1px solid var(--fm-line); border-radius: 8px; text-align: left; background: #fff; }
.fm-research-tools > button:hover { border-color: #d7c4e6; background: #fcf9ff; }
.fm-research-tools svg { width: 20px; height: 20px; color: #a588bd; margin-bottom: 13px; stroke-width: 1.5; }
.fm-research-tools h3, .fm-research-tools b { display: block; color: #70557f; font-size: var(--type-caption-size); font-weight: 500; margin-bottom: 6px;  line-height: var(--type-caption-line); }
.fm-research-tools p { color: #9d86ab; font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-research-tools .fm-link, .fm-research-tools .fm-btn { margin-top: 15px; }
.fm-research-tools > button > span { display: block; }
.fm-research-tools > button > small { display: block; }
.fm-research-tools > button > em { position: absolute; top: 17px; right: 17px; color: #aa91be; font-style: normal; }
.fm-research-row { display: flex; align-items: center; gap: 14px; padding: 17px 0; border-top: 1px solid var(--fm-line); }
.fm-research-row > div:not(.fm-strategy-symbol) { min-width: 0; flex: 1; }
.fm-research-row p { font-size: var(--type-caption-size); margin-top: 4px;  line-height: var(--type-caption-line); }
.fm-research-row .fm-btn { flex: none; }
.fm-strategy-symbol { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 8px; color: #a37fbd; background: #f5eefb; font-size: var(--type-body-size);  line-height: var(--type-body-line); }
.fm-strategy-symbol.teal { background: #edf5f3; color: #80a49c; }
.fm-account-info { display: flex; align-items: flex-start; gap: 13px; min-width: 0; margin-bottom: 25px; padding: 18px 20px; border-radius: 8px; background: #f8f6fa; }
.fm-account-info > svg { margin-top: 3px; color: #aa90bd; }
.fm-account-info > div { min-width: 0; }
.fm-account-info b, .fm-account-info strong { color: #70547f; font-weight: 500; }
.fm-account-info p, .fm-account-info small { display: block; margin-top: 4px; font-size: var(--type-caption-size); overflow-wrap: anywhere;  line-height: var(--type-caption-line); }
.fm-account-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 20px 0; border-top: 1px solid var(--fm-line); }
.fm-account-row > div { flex: 1; min-width: 180px; }
.fm-account-row p { font-size: var(--type-caption-size); margin-top: 3px;  line-height: var(--type-caption-line); }
.fm-account-row > div:last-child { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.fm-account-row .fm-btn { flex: none; }

.fm-fund-cards { display: none; }
.fm-count { margin-left: 3px; color: var(--fm-muted); }
.fm-fund-card { padding: 18px 0; border-top: 1px solid var(--fm-line); }
.fm-fund-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fm-fund-card > p { margin: 5px 0 13px; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-fund-card-metrics { display: flex; align-items: end; gap: 24px; }
.fm-fund-card-metrics > div { min-width: 0; }
.fm-fund-card-metrics small, .fm-fund-card-metrics b { display: block; }
.fm-fund-card-metrics b { margin-top: 4px; font-weight: 500; }
.fm-fund-card-metrics > button { margin-left: auto; }
@container fund-content (max-width: 650px) {
  .fm-page { padding: 24px 24px 36px; }
  .fm-fund-table { display: none; }
  .fm-fund-cards { display: block; }
  .fm-filterbar { align-items: stretch; }
  .fm-search { width: 100%; max-width: none; }
  .fm-detail-grid, .fm-home-grid { grid-template-columns: minmax(0, 1fr); }
  .fm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fm-stats > * { padding: 0 16px; }
  .fm-stats > :nth-child(odd) { padding-left: 0; }
  .fm-stats > :nth-child(even) { border-right: 0; padding-right: 0; }
  .fm-stats strong { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
  .fm-page-head { gap: 12px; align-items: flex-start; }
  .fm-page-head h1 { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
  .fm-panel { padding: 16px; }
  .fm-subnav { gap: 18px; }
  .fm-decisions article { flex-wrap: wrap; }
  .fm-decisions article > div:not(.fm-event-icon) { flex-basis: calc(100% - 42px); }
  .fm-decisions article > .fm-btn { margin-left: 41px; }
}
@container fund-content (max-width: 420px) {
  .fm-page-head { flex-wrap: wrap; }
  .fm-definition { grid-template-columns: minmax(0, 1fr); }
  .fm-fund-card-metrics { gap: 12px; flex-wrap: wrap; }
}

/* Native dialogs remain bounded even for the longest creation step. */
.fm-dialog { width: calc(100% - 40px); max-width: 560px; max-height: 90vh; max-height: 90dvh; margin: auto; padding: 0; border: 1px solid #e8dff0; border-radius: 12px; background: #fff; color: var(--fm-ink); overflow: auto; box-shadow: 0 20px 80px #30203d26; font-family: var(--font); font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-dialog.wide { max-width: 720px; }
.fm-dialog::backdrop { background: #24173045; backdrop-filter: blur(3px); }
.fm-dialog-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px 24px; border-bottom: 1px solid #eee5f4; background: #fff; }
.fm-dialog-head > div { min-width: 0; }
.fm-dialog-head h2 { font-size: var(--type-section-size); font-weight: 600;  line-height: var(--type-section-line); }
.fm-dialog-head p { margin-top: 4px; font-size: var(--type-caption-size); color: #9a80ac;  line-height: var(--type-caption-line); }
.fm-dialog-head > button { display: inline-grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 6px; color: #987cad; font-size: var(--type-page-size);  line-height: var(--type-page-line); }
.fm-dialog-head > button:hover { background: #f7f0fc; }
.fm-dialog-body { min-width: 0; padding: 22px 24px 26px; }
.fm-dialog-body > p { margin-bottom: 15px; font-size: var(--type-caption-size); color: #9478a7;  line-height: var(--type-caption-line); }
.fm-dialog-body h3 { margin: 18px 0 9px; font-size: var(--type-caption-size); font-weight: 500;  line-height: var(--type-caption-line); }
.fm-dialog-body .fm-stats { padding: 13px 0; margin-bottom: 20px; }
.fm-dialog-body .fm-stats > * { padding: 0 12px; }
.fm-dialog-body .fm-stats > :first-child { padding-left: 0; }
.fm-dialog-body .fm-stats strong { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
.fm-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; margin-bottom: 16px; color: #89699f; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-field > span, .fm-field > label { font-weight: 500; }
.fm-field small { font-size: var(--type-caption-size); color: #a284b6;  line-height: var(--type-caption-line); }
.fm-field input, .fm-field select, .fm-field textarea { display: block; width: 100%; min-width: 0; min-height: 38px; padding: 9px 11px; border: 1px solid #e6daef; border-radius: 6px; background: #fff; color: #76528f; font: inherit; font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-field input::placeholder, .fm-field textarea::placeholder { color: #ad96c0; }
.fm-field textarea { resize: vertical; min-height: 78px; }
.fm-field input[type="checkbox"], .fm-field input[type="radio"] { width: 15px; height: 15px; min-height: 0; accent-color: #9a6fbb; }
.fm-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 17px; }
.fm-weight-list { display: flex; flex-direction: column; gap: 8px; margin: 14px 0 18px; }
.fm-weight-list label { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 8px 11px; border: 1px solid #eee2f5; border-radius: 6px; color: #916ea9; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-weight-list label > span:first-child { flex: 1; min-width: 0; }
.fm-weight-list input { width: 68px; min-width: 0; height: 30px; padding: 5px 7px; border: 1px solid #e2d2ed; border-radius: 4px; background: #fff; color: #86629f; text-align: right; font: inherit; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-weight-list input[type="checkbox"] { width: 15px; height: 15px; accent-color: #9a6fbb; }
.fm-form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; align-items: center; gap: 9px; padding-top: 20px; margin-top: 19px; border-top: 1px solid #eee2f6; }
.fm-form-actions .fm-btn { min-height: 35px; }
.fm-form-error { margin: 10px 0; color: #b86674; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-form-error:empty { display: none; }
.fm-stepper { display: flex; gap: 6px; list-style: none; padding: 0 0 19px; margin: 0 0 20px; border-bottom: 1px solid #eee3f5; }
.fm-stepper li { display: flex; align-items: center; gap: 5px; flex: 1; min-width: 0; color: #af94c3; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-stepper li > span { display: inline-grid; place-items: center; flex: none; width: 22px; height: 22px; background: #f5edf9; border-radius: 50%; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-stepper li.active { color: #9569b1; font-weight: 500; }
.fm-stepper li.active > span { background: #a17abc; color: #fff; }
.fm-stepper li.done { color: #8ba69a; }
.fm-assistant-context { padding: 15px 16px; margin-bottom: 18px; border: 1px solid #ebdef4; border-radius: 8px; background: #fbf8fd; color: #9371aa; font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-assistant-context h3, .fm-assistant-context strong { color: #81598f; font-weight: 500; }
.fm-assistant-context ul, .fm-assistant-context ol { margin: 10px 0 0; padding-left: 18px; }
.fm-assistant-context li { margin: 6px 0; }
#fm-toast { position: fixed; z-index: 10000; bottom: 28px; left: 50%; transform: translateX(-50%); max-width: calc(100vw - 40px); padding: 11px 18px; border: 1px solid #e6d5ef; border-radius: 8px; background: #fff; color: #86649a; box-shadow: 0 8px 30px #4a2c6421; font-size: var(--type-caption-size);  text-align: center; pointer-events: none;  line-height: var(--type-caption-line); }
#fm-toast:empty, #fm-toast[hidden] { display: none; }

/* Shared content treatments, also used by the existing research tools. */
.fm-name-link { color: var(--fm-ink); font-size: var(--type-body-size); font-weight: 500; text-align: left;  line-height: var(--type-body-line); }
.fm-name-link:hover { color: var(--fm-purple); text-decoration: underline; text-underline-offset: 3px; }
.fm-empty { padding: 25px 0; color: var(--fm-muted); font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-footnote { margin-top: 23px; color: var(--fm-muted); font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-inline-note { margin: 14px 0; padding: 11px 13px; border-radius: 6px; background: #f7f5f9; color: var(--fm-muted); font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-muted { color: var(--fm-muted); font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-modal-foot { padding-top: 19px; margin-top: 18px; border-top: 1px solid var(--fm-line); }
.fm-proposal-context { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; font-size: var(--type-body-size);  line-height: var(--type-body-line); }
.fm-brief h2 { font-size: var(--type-section-size);  margin: 7px 0 10px;  line-height: var(--type-section-line); }
.fm-brief > p { font-size: var(--type-caption-size);   line-height: var(--type-caption-line); }
.fm-brief > .fm-btn { margin-top: 17px; }
.fm-brief .fm-brief-line { display: flex; align-items: center; gap: 8px; padding-top: 0; border: 0; margin-top: 12px; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-brief-line > i { width: 4px; height: 4px; border-radius: 50%; flex: none; background: #a58bbf; }
.fm-brief-line.muted > i { background: #b7b0bd; }
.fm-weight-list label b, .fm-weight-list label small { display: block; }
.fm-weight-list label small { color: var(--fm-muted); font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-weight-list label em { color: var(--fm-muted); font-style: normal; font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-draft > p { margin: 8px 0 17px; }
.fm-draft > .fm-btn { margin-top: 12px; }
.fm-assistant-context > svg { width: 14px; height: 14px; margin-right: 8px; vertical-align: -2px; color: var(--fm-purple); }
.fm-research-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 20px; padding: 13px 24px; border-bottom: 1px solid var(--fm-line); background: #fff; }
.fm-research-nav button { min-height: 32px; padding: 5px 9px; border-radius: 5px; color: var(--fm-muted); font-size: var(--type-caption-size); white-space: nowrap; cursor: pointer;  line-height: var(--type-caption-line); }
.fm-research-nav button.active { background: var(--fm-purple-soft); color: var(--fm-purple); font-weight: 500; }
.fm-research-nav button:hover { background: #f7f3fb; }
.fm-research-nav button:first-child { padding-left: 0; margin-right: 5px; }
.fm-research-nav .fm-link { margin-left: auto; color: var(--fm-purple); }
.fm-research-nav button:focus-visible { outline: 2px solid #ad8cd4; outline-offset: 2px; }

/* Strong reading contrast; purple is reserved for a selected state or action. */
.fm-table td, .fm-table td b, .fm-table td strong,
.fm-decisions h3, .fm-decisions b, .fm-lifecycle b, .fm-lifecycle strong,
.fm-record b, .fm-record strong, .fm-definition dd, .fm-checklist > div > b,
.fm-research-tools h3, .fm-research-tools b, .fm-account-info b, .fm-account-info strong,
.fm-allocations b, .fm-timeline > *, .fm-brief-line b, .fm-brief-line strong,
.fm-dialog .fm-field, .fm-dialog .fm-field input, .fm-dialog .fm-field select,
.fm-dialog .fm-field textarea, .fm-weight-list label, .fm-weight-list input,
.fm-assistant-context, .fm-assistant-context h3, .fm-assistant-context strong {
  color: var(--fm-ink); font-size: var(--type-body-size);
 line-height: var(--type-body-line); }
.fm-page p, .fm-page small, .fm-stats span, .fm-stats label, .fm-stats small,
.fm-table th, .fm-table td small, .fm-event-meta, .fm-lifecycle p, .fm-lifecycle small,
.fm-filter, .fm-search, .fm-search input, .fm-search input::placeholder,
.fm-context-note, .fm-context-note b, .fm-context-note strong, .fm-fund-state,
.fm-record p, .fm-record small, .fm-definition dt, .fm-checklist > div,
.fm-timeline time, .fm-timeline small, .fm-allocations label,
.fm-brief-line, .fm-brief-line small, .fm-research-tools p, .fm-research-row p,
.fm-dialog-head p, .fm-dialog-body > p, .fm-field small,
.fm-field input::placeholder, .fm-field textarea::placeholder {
  color: var(--fm-muted); font-size: var(--type-caption-size);
 line-height: var(--type-caption-line); }
.fm-table td.positive, .fm-stats .positive { color: var(--fm-green); }
.fm-table td.warning, .fm-page .fm-warning { color: var(--fm-amber); }
.fm-badge, .fm-page .badge, .fm-dialog .badge { font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
.fm-subnav button { font-size: var(--type-body-size);  line-height: var(--type-body-line); }
.fm-stats strong { font-size: var(--type-page-size); color: var(--fm-ink);  line-height: var(--type-page-line); }
.fm-page .fm-stats strong.positive { color: var(--fm-green); }
.fm-dialog { font-size: var(--type-body-size);  line-height: var(--type-body-line); }
.fm-definition > div { min-width: 0; }

@media (max-width: 1120px) {
  .fm-page { padding: 27px 28px 42px; }
  .fm-page-head { align-items: flex-start; flex-wrap: wrap; gap: 15px; }
  .fm-stats > * { padding: 0 15px; }
  .fm-stats strong { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
  .fm-home-grid { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 20px; }
  .fm-home-grid .fm-panel:last-child { padding: 16px; }
  .fm-research-tools { gap: 10px; }
  .fm-research-tools > * { padding: 16px; }
}
@media (max-width: 960px) {
  .fm-page { padding: 25px 26px 38px; }
  .fm-page-head h1 { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
  .fm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .fm-stats > * { padding: 0 20px; }
  .fm-stats > :nth-child(odd) { padding-left: 0; }
  .fm-stats > :nth-child(even) { border-right: 0; padding-right: 0; }
  .fm-home-grid, .fm-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .fm-home-grid .fm-panel:last-child { padding: 19px 20px; }
  .fm-lifecycle { gap: 15px; }
  .fm-subnav { gap: 19px; }
  .fm-research-tools > * { padding: 16px 13px; }
}
@media (max-width: 760px) {
  .fm-page { padding: 23px 20px 34px; }
  .fm-head-actions { gap: 7px; }
  .fm-page-head { margin-bottom: 22px; }
  .fm-stats { margin-bottom: 24px; }
  .fm-stats strong { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
  .fm-lifecycle { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .fm-panel { padding: 17px; }
  .fm-decisions article { gap: 10px; }
  .fm-research-tools { grid-template-columns: minmax(0, 1fr); }
  .fm-research-tools > * { padding: 17px 18px; }
  .fm-research-tools svg { margin-bottom: 9px; }
  .fm-filterbar { align-items: stretch; }
  .fm-search { width: 100%; max-width: none; }
  .fm-dialog { width: calc(100% - 24px); }
  .fm-dialog-head { padding: 17px 20px; }
  .fm-dialog-body { padding: 20px; }
  .fm-context-note { flex-wrap: wrap; }
  .fm-context-note .fm-link { margin-left: 26px; }
  .fm-research-row { flex-wrap: wrap; }
  .fm-research-row > div:not(.fm-strategy-symbol) { flex-basis: calc(100% - 54px); }
  .fm-research-row > .fm-btn { margin-left: 50px; }
  .fm-research-nav { padding: 12px 16px; gap: 5px; }
  .fm-research-nav .fm-link { margin-left: 0; }
}
@media (max-width: 480px) {
  .fm-page { padding: 21px 15px 30px; }
  .fm-page-head h1 { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
  .fm-page-head p { font-size: var(--type-caption-size);  line-height: var(--type-caption-line); }
  .fm-stats > * { padding: 0 12px; }
  .fm-stats strong { font-size: var(--type-page-size);  line-height: var(--type-page-line); }
  .fm-decisions article { flex-wrap: wrap; }
  .fm-decisions article > div:not(.fm-event-icon) { flex-basis: calc(100% - 41px); }
  .fm-decisions article > .fm-btn, .fm-decisions article > .fm-link { margin-left: 41px; }
  .fm-subnav { gap: 16px; }
  .fm-definition, .fm-form-grid { grid-template-columns: minmax(0, 1fr); }
  .fm-research-row { flex-wrap: wrap; }
  .fm-research-row > .fm-btn { margin-left: 50px; }
  .fm-stepper { flex-wrap: wrap; gap: 10px 6px; }
  .fm-stepper li { flex-basis: calc(50% - 6px); }
  .fm-dialog-head, .fm-dialog-body { padding-left: 17px; padding-right: 17px; }
}

/* Fund manager overview: actionable summaries, portfolio composition and review. */
.fm-dashboard-summary { display:grid; grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(0,1fr)); gap:20px; padding:20px; margin:0 0 24px; border:1px solid #e9e2f1; border-radius:12px; background:linear-gradient(115deg,#f8f4fc 0%,#fcfbfe 65%,#fff 100%); }
.fm-dashboard-summary > div { min-width:0; display:flex; flex-direction:column; gap:5px; }
.fm-dashboard-summary span, .fm-dashboard-summary small { color:var(--fm-muted); font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-dashboard-summary strong { font-size:var(--type-page-size); line-height:var(--type-page-line); font-weight:600; letter-spacing:-.025em; white-space:nowrap; }
.fm-dashboard-summary strong, .fm-portfolio-metrics, .fm-impact-grid b, .fm-fund-stats strong { font-variant-numeric:tabular-nums; }
.fm-fund-stats { grid-template-columns:minmax(200px,1.6fr) repeat(3,minmax(0,1fr)); }
.fm-dashboard .fm-attention { border-color:#eae3f2; border-radius:12px; margin-bottom:28px; }
.fm-attention .fm-section-head { margin-bottom:20px; }
.fm-attention .fm-decisions article { align-items:center; padding:14px 0; flex-wrap:nowrap; }
.fm-attention .fm-decisions article > div:not(.fm-event-icon) { flex-basis:auto; }
.fm-attention .fm-decisions article > .fm-btn { margin-left:0; }
.fm-attention .fm-decisions article:first-child { padding-top:0; }
.fm-attention .fm-decisions article:last-child { padding-bottom:0; }
.fm-attention .fm-decisions h3 { font-size:var(--type-body-size); line-height:var(--type-body-line); font-weight:500; }
.fm-dashboard .fm-funds-section { margin:0 0 28px; }
.fm-dashboard .fm-filterbar { gap:12px; }
.fm-fund-tools { display:flex; gap:8px; flex-wrap:wrap; min-width:0; }
.fm-fund-tools .fm-search { min-width:180px; flex:1; }
.fm-fund-tools select { min-width:130px; max-width:100%; padding:7px 9px; border:1px solid var(--fm-line); border-radius:6px; color:var(--fm-muted); background:#fff; font:inherit; }
.fm-portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fm-portfolio-card { min-width:0; padding:20px; border:1px solid var(--fm-line); border-radius:12px; background:#fff; transition:border-color .15s,box-shadow .15s; }
.fm-portfolio-card:hover { border-color:#d7c7e7; box-shadow:0 3px 14px #40236306; }
.fm-portfolio-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.fm-portfolio-top > div { flex:1; min-width:0; }
.fm-portfolio-code { display:block; color:#8c8397; font-size:var(--type-caption-size); line-height:var(--type-caption-line); margin-bottom:4px; }
.fm-portfolio-top .fm-name-link { font-size:var(--type-section-size)!important; line-height:var(--type-section-line)!important; font-weight:600; overflow-wrap:anywhere; }
.fm-portfolio-mandate { margin:8px 0 18px; }
.fm-portfolio-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fm-portfolio-metrics > div { min-width:0; }
.fm-portfolio-metrics > div:last-child { grid-column:1/-1; display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding-top:12px; border-top:1px solid #f0edf4; }
.fm-portfolio-metrics small, .fm-portfolio-metrics strong { display:block; }
.fm-portfolio-metrics strong { margin-top:4px; font-size:var(--type-page-size); line-height:var(--type-page-line); font-weight:600; letter-spacing:-.02em; }
.fm-portfolio-metrics b { font-size:var(--type-body-size); line-height:var(--type-body-line); font-weight:500; }
.fm-portfolio-strip { display:flex; gap:2px; width:100%; height:7px; overflow:hidden; border-radius:4px; background:#f4f1f7; margin-top:18px; }
.fm-portfolio-strip i { height:100%; min-width:0; }
.fm-portfolio-legend { display:flex; gap:7px 12px; flex-wrap:wrap; margin:10px 0 16px; }
.fm-portfolio-legend span { display:inline-flex; align-items:center; gap:5px; color:var(--fm-muted); font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-portfolio-legend i { width:5px; height:5px; border-radius:50%; }
.fm-portfolio-empty { padding:24px 0; color:var(--fm-muted); font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-portfolio-next { display:flex; align-items:center; gap:7px; padding:10px 11px; border-radius:6px; background:#f8f6fb; color:#71637f; font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-next-dot { width:5px; height:5px; border-radius:50%; background:#b1a7bd; flex:none; }
.fm-next-dot.has-action { background:#a17cce; }
.fm-portfolio-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:14px; }
.fm-dashboard .fm-home-activity { border-radius:12px; }
.fm-dashboard-timeline { list-style:none; padding:0; margin:0; }
.fm-dashboard-timeline li { display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--fm-line); }
.fm-dashboard-timeline li:first-child { border:0; padding-top:0; }
.fm-dashboard-timeline p { margin:5px 0; }
.fm-dashboard-timeline time { color:var(--fm-muted); font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-quiet-state { padding:14px 0; color:var(--fm-muted); font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-dashboard-source { margin-top:24px; font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-gain { color:var(--fm-green); }
.fm-loss { color:var(--fm-red); }
.fm-stats strong.fm-gain { color:var(--fm-green); }
.fm-stats strong.fm-loss { color:var(--fm-red); }
.fm-portfolio-grid > .fm-empty { grid-column:1/-1; }
.fm-empty > div { margin-top:12px; }
.fm-impact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 22px; }
.fm-impact-grid > div { min-width:0; padding:15px; border:1px solid #ebe4f2; background:#fbf9fd; border-radius:9px; }
.fm-impact-grid small, .fm-impact-grid em { display:block; font-size:var(--type-caption-size); line-height:var(--type-caption-line); color:var(--fm-muted); font-style:normal; }
.fm-impact-grid b { display:block; font-size:var(--type-section-size); line-height:var(--type-section-line); margin:5px 0; font-weight:600; }
.fm-impact-grid b span { font-weight:400; color:#ad9cbf; margin:0 4px; }
.fm-impact-warning { display:flex; align-items:center; gap:9px; padding:15px; margin:16px 0; background:#faf5eb; color:#8e6d36; border-radius:8px; }
.fm-impact-warning svg { width:18px; height:18px; flex:none; }
.fm-proposal-reason { display:flex; gap:10px; padding:13px; background:#f7f3fc; border-radius:8px; }
.fm-proposal-reason svg { width:18px; height:18px; color:var(--fm-purple); }
.fm-proposal-reason b { font-weight:500; }
.fm-proposal-reason p { margin-top:5px; color:var(--fm-muted); font-size:var(--type-caption-size); line-height:var(--type-caption-line); }
.fm-comparison-key { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:20px 0 10px; }
.fm-comparison-key h3 { margin:0; font-size:var(--type-section-size); line-height:var(--type-section-line); font-weight:600; }
.fm-comparison-key > span { display:flex; gap:6px; align-items:center; font-size:var(--type-caption-size); line-height:var(--type-caption-line); color:var(--fm-muted); }
.fm-comparison-key i { width:8px; height:8px; border-radius:2px; }
.fm-weight-comparison .before { background:#dad3e5; }
.fm-weight-comparison .after { background:#9571c6; }
.fm-comparison-row { display:grid; grid-template-columns:125px minmax(0,1fr) 105px; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--fm-line); }
.fm-comparison-row b, .fm-comparison-row small { display:block; }
.fm-comparison-row b { font-weight:500; }
.fm-comparison-row small { margin-top:3px; font-size:var(--type-caption-size); line-height:var(--type-caption-line); color:var(--fm-muted); }
.fm-comparison-bars { display:flex; flex-direction:column; gap:7px; }
.fm-comparison-bars > span { display:flex; align-items:center; padding-right:45px; position:relative; min-height:16px; }
.fm-comparison-bars i { display:block; height:6px; border-radius:3px; }
.fm-comparison-bars em { position:absolute; right:0; font-size:var(--type-caption-size); line-height:var(--type-caption-line); font-style:normal; color:var(--fm-muted); }
.fm-comparison-delta { text-align:right; }
@container fund-content (max-width:800px) {
  .fm-fund-stats > div { padding-inline:12px; }
  .fm-fund-stats > div:first-child { padding-left:0; }
  .fm-fund-stats > div:last-child { padding-right:0; }
  .fm-portfolio-grid { grid-template-columns:1fr; }
  .fm-portfolio-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fm-portfolio-metrics > div:last-child { display:block; grid-column:auto; padding:0; border:0; }
  .fm-portfolio-metrics b { display:block; margin-top:8px; }
}
@container fund-content (max-width:650px) {
  .fm-dashboard-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .fm-fund-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; }
  .fm-fund-stats > div:nth-child(odd) { padding-left:0; }
  .fm-fund-stats > div:nth-child(even) { padding-right:0; border-right:0; }
}
@container fund-content (max-width:450px) {
  .fm-fund-stats { grid-template-columns:1fr; }
  .fm-fund-stats > div { padding:0; border-right:0; }
  .fm-dashboard-summary { grid-template-columns:1fr; gap:14px; padding:16px; }
  .fm-dashboard-summary > div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 8px; }
  .fm-dashboard-summary small { grid-column:1/-1; }
  .fm-dashboard-summary strong { font-size:var(--type-page-size); line-height:var(--type-page-line); }
  .fm-portfolio-card { padding:16px; }
  .fm-portfolio-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fm-portfolio-metrics > div:last-child { grid-column:1/-1; display:flex; align-items:baseline; justify-content:space-between; }
  .fm-portfolio-top { flex-wrap:wrap; }
  .fm-fund-tools { width:100%; }
  .fm-fund-tools .fm-search { max-width:none; min-width:0; width:100%; }
  .fm-attention .fm-section-head { align-items:flex-start; }
  .fm-attention .fm-decisions article { flex-wrap:wrap; }
  .fm-attention .fm-decisions article > div:not(.fm-event-icon) { flex-basis:calc(100% - 42px); }
  .fm-attention .fm-decisions article > .fm-btn { margin-left:41px; }
}
body:has(.fm-dashboard) .scroll-to-bottom { display:none!important; }
@container fund-content (min-width:700px) {
  .fm-attention.is-compact .fm-decisions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .fm-attention.is-compact .fm-decisions article { flex-direction:column; align-items:stretch; gap:12px; padding:14px; border:1px solid #eee8f5; border-radius:8px; background:#fcfafe; }
  .fm-attention.is-compact .fm-decisions article > .fm-event-icon { display:none; }
  .fm-attention.is-compact .fm-decisions article > .fm-btn { align-self:flex-start; margin:0; }
  .fm-attention.is-compact .fm-event-meta { min-height:36px; }
  .fm-attention.is-compact .fm-decisions h3 { min-height:44px; }
  .fm-attention.is-compact .fm-decisions .fm-empty { grid-column:1/-1; }
}
@media (max-width:560px) {
  .fm-impact-grid { grid-template-columns:1fr; }
  .fm-comparison-row { grid-template-columns:80px minmax(0,1fr) 75px; gap:8px; }
  .fm-comparison-asset small { overflow-wrap:anywhere; }
  .fm-comparison-key { flex-wrap:wrap; }
}
.fm-portfolio-card[data-fund-card]{cursor:pointer;transition:border-color .16s,box-shadow .16s}
.fm-portfolio-card[data-fund-card]:hover{border-color:#bcabd5;box-shadow:0 5px 18px #7254900b}
.fm-portfolio-card:focus-within{border-color:#a28ac5}
.fm-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fm-card-actions .fm-btn{white-space:nowrap}
.fm-portfolio-footer{gap:12px;flex-wrap:wrap}
.fm-page>.r25-tab-header .fm-subnav{min-width:0;overflow-x:auto;flex-wrap:nowrap}
.fm-page>.r25-tab-header .fm-subnav button{white-space:nowrap;flex-shrink:0}
.fm-page>.r25-tab-header>.fm-btn{flex-shrink:0}
