/* Funds browser (/funds) in the Attio style (attio-style skill; the model portfolio browser, mystocks-models-attio.css,
   is the reference). Attio radii, so this file is excluded from scripts/square_corners.py. js/funds-browse.js draws it. */
#fb { --fb-ink: #101112; --fb-mute: rgba(0,0,0,.63); --fb-faint: rgba(0,0,0,.5); --fb-line: #EEEFF1; --fb-ring: #E6E7EA;
  --fb-on: rgba(0,0,0,.04); --fb-hover: #F6F7F7; --fb-row: #F7F8FD; --fb-sorted: #F7F7FD; --fb-blue: #266DF0; --fb-solid: #FFFFFF;
  --fb-bench: #A0A9C0; --fb-pos: var(--tb-pos, #0d8a66); --fb-neg: var(--tb-neg, #c8203f);
  --fb-pill-bg: #EDF1FF; --fb-pill-ring: #DCE4FF; --fb-pill-tx: #2F4BC2;
  --fb-btn: inset 0 0 0 1px transparent, 0 0 2px 0 rgba(28,40,64,.18), 0 1px 3px 0 rgba(0,0,0,.04);
  font: 500 14px/20px Inter, sans-serif; color: var(--fb-ink); -webkit-font-smoothing: antialiased; }
html[data-theme="dark"] #fb { --fb-ink: #F1F2F3; --fb-mute: rgba(255,255,255,.6); --fb-faint: rgba(255,255,255,.45); --fb-line: rgba(255,255,255,.08);
  --fb-ring: rgba(255,255,255,.12); --fb-on: rgba(255,255,255,.06); --fb-hover: rgba(255,255,255,.05); --fb-row: #24262C; --fb-sorted: #22232B;
  --fb-blue: #4E8CFC; --fb-solid: var(--sh-bed, #1F1F1F); --fb-bench: #6B7488;
  --fb-pill-bg: #1D2E55; --fb-pill-ring: #2B3E6D; --fb-pill-tx: #A9C1FF;
  --fb-btn: inset 0 0 0 1px rgba(255,255,255,.10), 0 1px 2px 0 rgba(0,0,0,.3); }
#fb .fb-mut { color: var(--fb-mute); }
#fb :is(.pos, .neg) { font-weight: 500; }
#fb .pos { color: var(--fb-pos); } #fb .neg { color: var(--fb-neg); }

/* ── the one row: Sorted by · filters … search · Cards | Table ── */
#fb .fb-row { display: flex; align-items: center; gap: 2px; box-sizing: border-box; height: 48px; padding: 0 12px;   /* buttons centred, ~10px to each line (user 2026-11-05: 40px and 44px too tight) */ border-bottom: 1px solid var(--fb-line); background: transparent; }
#fb .fb-sk { display: flex; gap: 10px; } #fb .fb-sk .skel { height: 14px; border-radius: 999px; }
#fb .fb-w { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 8px; border: 0; border-radius: 8px; background: transparent;
  font: 500 14px/20px Inter, sans-serif; color: var(--fb-ink); cursor: pointer; white-space: nowrap; }
#fb .fb-w i { font-size: 13px; color: var(--fb-mute); }
#fb .fb-w:hover { background: var(--fb-hover); }
#fb .fb-w.is-on, #fb .fb-w.is-on i { color: var(--fb-blue); }
#fb .fb-clr { color: var(--fb-faint); }
#fb .fb-sep { width: 1px; height: 16px; background: var(--fb-line); margin: 0 6px; flex: none; }
#fb .fb-sp { flex: 1; min-width: 8px; }
#fb .fb-search { display: flex; align-items: center; gap: 8px; width: 240px; height: 28px; padding: 0 8px; border-radius: 8px; background: var(--fb-solid);
  box-shadow: var(--fb-btn); color: var(--fb-faint); margin-right: 8px; }
#fb .fb-search i { font-size: 14px; }
#fb .fb-search input:not(#_) { flex: 1; min-width: 0; height: auto; padding: 0; border: 0 !important; box-shadow: none !important; outline: 0 !important;
  background: transparent !important; color: var(--fb-ink) !important; font: 500 14px/20px Inter, sans-serif; }
#fb .fb-search input::placeholder { color: var(--fb-faint); }
#fb .fb-seg { display: inline-flex; gap: 2px; padding: 2px; height: 28px; border-radius: 10px; background: var(--fb-on); flex: none; }
#fb .fb-seg button { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px; border: 0; border-radius: 8px; background: transparent;
  font: 500 13px/18px Inter, sans-serif; color: var(--fb-mute); cursor: pointer; transition: none; }
#fb .fb-seg button i { font-size: 13px; }
#fb .fb-seg button.on { background: var(--fb-solid); color: var(--fb-ink); box-shadow: 0 1px 2px -1px rgba(0,0,0,.08), inset 0 0 0 1px var(--fb-line); }

/* ── rail + main ── */
#fb .fb-body { display: grid; grid-template-columns: 256px minmax(0, 1fr); align-items: start; }
#fb .fb-rail { position: sticky; top: var(--fb-top, 48px); display: flex; flex-direction: column; gap: 1px; padding: 10px 8px 24px; border-right: 1px solid var(--fb-line);
  min-height: calc(100vh - 100px); }
html.is-popout #fb .fb-rail { top: 0; }
#fb .fb-sk-r { height: 22px; margin: 4px 6px; border-radius: 999px; }
#fb .fb-rail button { display: flex; align-items: center; gap: 8px; height: 30px; padding: 0 6px 0 6px; border: 0; border-radius: 9px; background: transparent; cursor: pointer;
  font: 500 14px/20px Inter, sans-serif; color: var(--fb-ink); text-align: left; transition: none; }
#fb .fb-rail button:hover { background: var(--fb-hover); }
#fb .fb-rail button.on { background: var(--fb-on); }
#fb .fb-rail .l { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#fb .fb-rail em, #fb .fb-mh em { min-width: 20px; height: 18px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 6px; font: 500 11px/1 Inter, sans-serif;
  font-style: normal; background: var(--fb-on); box-shadow: inset 0 0 0 1px var(--fb-line); color: var(--fb-mute); font-variant-numeric: tabular-nums; }
#fb .fb-rail-h { padding: 14px 6px 6px; font: 500 12px/16px Inter, sans-serif; color: var(--fb-mute); }
#fb .fb-main { min-width: 0; padding: 12px 16px 28px; }
#fb .fb-mh { display: flex; align-items: center; gap: 8px; height: 44px; }
#fb .fb-mh b { font: 600 14px/20px Inter, sans-serif; }
#fb .fb-lnk { margin-left: auto; border: 0; background: none; padding: 0; font: 500 13px/18px Inter, sans-serif; color: var(--fb-mute); cursor: pointer;
  text-decoration: underline; text-decoration-color: var(--fb-ring); text-underline-offset: 3px; }

/* category icon: a tinted square with a white glyph (the same kind on every row) */
#fb .fb-ic, .fd .fb-ic { width: 20px; height: 20px; flex: none; display: inline-grid; place-items: center; border-radius: 6px; color: #fff; }
#fb .fb-ic i { font-size: 12px; }
#fb .fb-card .fb-ic i { font-size: 15px; }
#fb .fb-ic.fb-t-ink { background: var(--fb-on); color: var(--fb-mute); box-shadow: inset 0 0 0 1px var(--fb-ring); }
#fb { --t-blue: #455DDC; --t-violet: #9646EF; --t-teal: #14AABE; --t-green: #1FA97F; --t-orange: #FF862E; --t-pink: #EC4899; --t-indigo: #6366F1;
  --t-slate: #727C94; --t-amber: #E0A526; --t-gold: #C9A227; --t-rose: #F73463; --t-red: #D52B1E; }
#fb .fb-t-blue { background: var(--t-blue); } #fb .fb-t-violet { background: var(--t-violet); } #fb .fb-t-teal { background: var(--t-teal); }
#fb .fb-t-green { background: var(--t-green); } #fb .fb-t-orange { background: var(--t-orange); } #fb .fb-t-pink { background: var(--t-pink); }
#fb .fb-t-indigo { background: var(--t-indigo); } #fb .fb-t-slate { background: var(--t-slate); } #fb .fb-t-amber { background: var(--t-amber); }
#fb .fb-t-gold { background: var(--t-gold); } #fb .fb-t-rose { background: var(--t-rose); } #fb .fb-t-red { background: var(--t-red); }

/* ── cards ── */
#fb .fb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }
#fb .fb-sk-c { height: 190px; border-radius: 12px; }
#fb .fb-card { display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: 12px; background: var(--fb-solid); color: inherit; text-decoration: none;
  box-shadow: inset 0 0 0 1px var(--fb-line); min-width: 0; }
#fb .fb-card:hover { box-shadow: inset 0 0 0 1px var(--fb-ring), 0 1px 3px rgba(0,0,0,.04); }
#fb .fb-card .h { display: flex; gap: 10px; align-items: center; min-width: 0; }
#fb .fb-card .h .fb-ic { border-radius: 8px; }
#fb .fb-card .nm { min-width: 0; display: flex; flex-direction: column; }
#fb .fb-card .nm b { font: 500 14px/20px Inter, sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#fb .fb-card .nm small { font: 500 12px/16px Inter, sans-serif; color: var(--fb-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#fb .fb-tk { font-weight: 600; color: var(--fb-ink); }
#fb .fb-card .sp { display: flex; flex-direction: column; gap: 4px; }
#fb .fb-spark { width: 100%; height: 44px; display: block; overflow: visible; }
#fb .fb-spark polyline { fill: none; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
#fb .fb-spark .m { stroke: #455DDC; stroke-width: 1.75; } #fb .fb-spark .m.dn { stroke: var(--fb-neg); }
#fb .fb-spark .b { stroke: var(--fb-bench); stroke-width: 1.25; stroke-dasharray: 3 3; }
#fb .fb-nospark { height: 44px; display: grid; place-items: center; border-radius: 8px; background: var(--fb-on); font: 500 12px/16px Inter, sans-serif; color: var(--fb-faint); }
#fb .sp-l { display: flex; justify-content: space-between; font: 500 11px/14px Inter, sans-serif; color: var(--fb-faint); }
#fb .sp-l i { display: inline-block; width: 12px; border-top: 1.25px dashed var(--fb-bench); vertical-align: middle; margin-right: 5px; }
#fb .fb-card .s { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding-top: 10px; border-top: 1px solid var(--fb-line);
  font-variant-numeric: tabular-nums; }
#fb .fb-card .s > span { display: flex; flex-direction: column; min-width: 0; white-space: nowrap; }
#fb .fb-card .s small { font: 500 11px/14px Inter, sans-serif; color: var(--fb-mute); }

/* ── table: Attio grid (40px header, 36px rows, hairlines both ways, 14/500, no bold, plain coloured numbers) ── */
#fb .fb-tw { overflow: auto; max-height: calc(100vh - 160px); border-radius: 12px; box-shadow: inset 0 0 0 1px var(--fb-line); position: relative; }
html.is-popout #fb .fb-tw { max-height: calc(100vh - 110px); }
#fb table.fb-tbl:not(#_) { border-collapse: separate; border-spacing: 0; width: max(100%, 1640px); table-layout: fixed; font: 500 14px/20px Inter, sans-serif;
  font-variant-numeric: tabular-nums; color: var(--fb-ink); margin: 0; }
html[data-theme] #fb table.fb-tbl:not(#_) > thead > tr > th { height: 40px; padding: 0 12px; background: var(--fb-solid) !important; color: var(--fb-ink) !important;
  font: 500 14px/20px Inter, sans-serif !important; text-transform: none; letter-spacing: 0; border: 0; border-bottom: 1px solid var(--fb-line);
  border-right: 1px solid var(--fb-line); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; position: sticky; top: 0; z-index: 2; }
html[data-theme] #fb table.fb-tbl:not(#_) > thead > tr > th:hover { background: linear-gradient(var(--fb-hover), var(--fb-hover)), var(--fb-solid) !important; }
#fb table.fb-tbl th[title] span { text-decoration: underline dotted var(--fb-ring); text-underline-offset: 4px; }
#fb .fb-arr { color: var(--fb-blue); font-size: 12px; margin: 0 4px; vertical-align: -1px; }
html[data-theme] #fb table.fb-tbl:not(#_) > tbody > tr > td { height: 36px; padding: 0 12px; border: 0; border-bottom: 1px solid var(--fb-line); border-right: 1px solid var(--fb-line);
  background: var(--fb-solid) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font: 500 14px/20px Inter, sans-serif; color: var(--fb-ink); }
#fb table.fb-tbl:not(#_) > * > tr > :last-child { border-right: 0; }
#fb table.fb-tbl:not(#_) > tbody > tr:last-child > td { border-bottom: 0; }
html[data-theme] #fb table.fb-tbl:not(#_) > tbody > tr > td.is-sorted { background: var(--fb-sorted) !important; }
/* an OPAQUE hover tint on every cell, the frozen name cell included */
html[data-theme] #fb table.fb-tbl:not(#_) > tbody > tr[data-t]:hover > td { background: var(--fb-row) !important; cursor: pointer; }
html[data-theme] #fb table.fb-tbl:not(#_) > tbody > tr.fb-bench > td { background: linear-gradient(var(--fb-on), var(--fb-on)), var(--fb-solid) !important; color: var(--fb-mute); }
#fb table.fb-tbl .num { text-align: right; }
#fb table.fb-tbl .txt { text-align: left; }
#fb table.fb-tbl:not(#_) .nm { position: sticky; left: 0; z-index: 1; width: 320px; text-align: left; }   /* its own 1px border-right is the hairline (a box-shadow on top doubled it) */
html[data-theme] #fb table.fb-tbl:not(#_) > thead > tr > th.nm { z-index: 3; }   /* above the scrolling headers (same specificity as the th rule) */
#fb table.fb-tbl td.nm > div, #fb table.fb-tbl td.nm a { display: flex; align-items: center; gap: 8px; min-width: 0; color: inherit; text-decoration: none; }
#fb table.fb-tbl td.nm b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#fb table.fb-tbl td.nm a b { text-decoration: underline; text-decoration-color: rgba(0,0,0,.09); text-underline-offset: 2px; }
html[data-theme="dark"] #fb table.fb-tbl td.nm a b { text-decoration-color: rgba(255,255,255,.12); }
#fb table.fb-tbl tr.fb-bench td.nm b { color: var(--fb-ink); }
/* column widths (fixed layout): name 300, then */
#fb table.fb-tbl th[data-k="t"] { width: 96px; } #fb table.fb-tbl th[data-k="cat"] { width: 196px; }
#fb table.fb-tbl th:is([data-k="exp"], [data-k="aum"], [data-k="yld"], [data-k="vol"], [data-k="max_dd"], [data-k="n"]) { width: 110px; }
#fb table.fb-tbl th:is([data-k="r1"], [data-k="r3"], [data-k="r5"], [data-k="r10"]) { width: 92px; }
#fb table.fb-tbl th[data-k="top"] { width: 230px; }
#fb .fb-pill { display: inline-flex; align-items: center; height: 22px; padding: 0 6px; border-radius: 7px; background: var(--fb-pill-bg); box-shadow: inset 0 0 0 1px var(--fb-pill-ring);
  color: var(--fb-pill-tx); font: 500 13px/18px Inter, sans-serif; }
#fb .fb-pill.g { background: var(--fb-on); box-shadow: inset 0 0 0 1px var(--fb-ring); color: var(--fb-mute); }
#fb .fb-cat { display: inline-flex; align-items: center; gap: 7px; color: var(--fb-mute); }
#fb .fb-cat::before { content: ""; width: 7px; height: 7px; border-radius: 2px; background: var(--fb-faint); flex: none; }
#fb .fb-c-blue::before { background: var(--t-blue); } #fb .fb-c-violet::before { background: var(--t-violet); } #fb .fb-c-teal::before { background: var(--t-teal); }
#fb .fb-c-green::before { background: var(--t-green); } #fb .fb-c-orange::before { background: var(--t-orange); } #fb .fb-c-pink::before { background: var(--t-pink); }
#fb .fb-c-indigo::before { background: var(--t-indigo); } #fb .fb-c-slate::before { background: var(--t-slate); } #fb .fb-c-amber::before { background: var(--t-amber); }
#fb .fb-c-gold::before { background: var(--t-gold); } #fb .fb-c-rose::before { background: var(--t-rose); } #fb .fb-c-red::before { background: var(--t-red); }
#fb .fb-tn { color: var(--fb-ink); }

/* never a blank list: what's missing, and a way back */
#fb .fb-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 64px 16px; border-radius: 12px; border: 1px dashed var(--fb-ring); text-align: center; }
#fb .fb-empty b { font: 600 16px/20px Inter, sans-serif; }
#fb .fb-empty span { color: var(--fb-mute); margin-bottom: 8px; }

/* ── menus (hang off <body>): Attio popover ── */
.aiq-menu.fb-menu:not(#_):not(#_) { border-radius: 12px !important; padding: 4px !important; background: var(--pop-bg, #fff) !important; -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important; -webkit-mask-image: none !important; mask-image: none !important; max-height: min(420px, 70vh); display: flex; flex-direction: column;
  box-shadow: inset 0 0 0 1px rgba(28,40,64,.06), 0 4px 8px -4px rgba(28,40,64,.12), 0 4px 12px -2px rgba(24,41,75,.16) !important; }
.fb-menu .fb-ml { overflow-y: auto; min-height: 0; }
.fb-menu .fb-mi { display: flex; align-items: center; gap: 8px; width: 100%; height: 32px; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; cursor: pointer;
  font: 500 14px/20px Inter, sans-serif; color: var(--a-ink, #101112); text-align: left; transition: none; }
html[data-theme="dark"] .fb-menu .fb-mi { color: #F1F2F3; }
.fb-menu .fb-mi:hover { background: #F6F7F7; }
html[data-theme="dark"] .fb-menu .fb-mi:hover { background: rgba(255,255,255,.06); }
.fb-menu .fb-mi[hidden] { display: none; }
.fb-menu .fb-mi span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-menu .fb-mi em { font: 500 11px/1 Inter, sans-serif; font-style: normal; opacity: .63; font-variant-numeric: tabular-nums; }
.fb-menu .fb-mi i { font-size: 14px; opacity: .6; }
.fb-menu .fb-mi.on { color: #266DF0; }
.fb-menu .fb-mi.on::after { content: "✓"; margin-left: 8px; color: #266DF0; }
.fb-menu .fb-mi.is-dim { opacity: .45; }
.fb-menu .fb-mh2 { padding: 6px 8px 4px; font: 500 12px/16px Inter, sans-serif; opacity: .7; }
.fb-menu .fb-hr { height: 1px; margin: 4px -4px; background: #EEEFF1; }
html[data-theme="dark"] .fb-menu .fb-hr { background: rgba(255,255,255,.08); }
.fb-menu .fb-ms { display: flex; align-items: center; gap: 8px; padding: 6px 8px; margin: -4px -4px 4px; border-bottom: 1px solid #EEEFF1; flex: none; }
html[data-theme="dark"] .fb-menu .fb-ms { border-bottom-color: rgba(255,255,255,.08); }
.fb-menu .fb-ms i { opacity: .5; }
.fb-menu .fb-ms input:not(#_) { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; outline: 0 !important; background: transparent !important; padding: 0;
  font: 500 14px/20px Inter, sans-serif; color: inherit !important; height: 28px; }

/* ── phones: categories scroll sideways, cards only (the table is desktop) ── */
@media (max-width: 767px) {
  html.aiq-phone #fb .fb-row { flex-wrap: wrap; height: auto; padding: 8px 12px; gap: 4px; overflow: hidden; }
  html.aiq-phone #fb .fb-row .fb-sp { display: none; }
  html.aiq-phone #fb .fb-search { order: -1; width: 100%; margin: 0 0 4px; height: 36px; }
  html.aiq-phone #fb .fb-sep { display: none; }
  html.aiq-phone #fb .fb-body { grid-template-columns: minmax(0, 1fr); }
  html.aiq-phone #fb .fb-rail { position: static; flex-direction: row; min-height: 0; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--fb-line); padding: 8px 12px; gap: 4px; }
  html.aiq-phone #fb .fb-rail-h { display: none; }
  html.aiq-phone #fb .fb-rail button { flex: none; }
  html.aiq-phone #fb .fb-main { padding: 4px 12px 24px; }
}

/* ── narrow windows (the user's ~1000px window, a workspace tab's frame): measured on the page box, not the viewport
   (the sidebar takes 275px) — the search shrinks, Cards | Table go icon-only, the rail narrows ── */
#fb { container-type: inline-size; container-name: fb; }
#fb .fb-row { min-width: 0; }
#fb .fb-search { flex: 0 1 240px; min-width: 120px; }
@container fb (max-width: 1260px) {
  #fb :is(.fb-w, .fb-b) .fb-mut { display: none; }
  #fb .fb-seg button { font-size: 0; gap: 0; padding: 0 7px; }
  #fb .fb-seg button i { font-size: 14px; }
}
@container fb (max-width: 1080px) {
  #fb .fb-body { grid-template-columns: 208px minmax(0, 1fr); }
  /* the narrower rail cut "Factor & smart beta", "Allocation & target date" to "Factor & smart…": wrap instead (2026-11-07) */
  html:not(.aiq-phone) #fb .fb-rail button, html.aiq-desk #fb .fb-rail button { height: auto; min-height: 30px; padding-top: 4px; padding-bottom: 4px; }
  html:not(.aiq-phone) #fb .fb-rail .l, html.aiq-desk #fb .fb-rail .l { white-space: normal; line-height: 16px; text-align: left; }
  #fb .fb-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 236px), 1fr)); }
}
@container fb (max-width: 900px) {
  #fb .fb-body { grid-template-columns: 206px minmax(0, 1fr); }
  #fb .fb-search { flex: 0 1 150px; min-width: 84px; margin-right: 6px; }
  #fb .fb-sep { margin: 0 6px; }
  #fb .fb-row { padding: 0 10px; }
  #fb .fb-main { padding: 4px 12px 28px; }
  #fb .fb-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 216px), 1fr)); gap: 10px; }
  #fb .fb-seg button { font-size: 0; gap: 0; padding: 0 7px; }
  #fb .fb-seg button i { font-size: 14px; }
  #fb .fb-w { padding: 0 6px; }
  #fb .fb-sep { margin: 0 2px; }
}
/* an 820px window ran the blue Compare button 11px off the page (2026-11-09): there it's the icon (+ count) */
@container fb (max-width: 600px) {
  #fb .fb-pri:not(#_) { font-size: 0; gap: 4px; padding: 0 7px; }   /* :not(#_): the base rule sits later in this file */
}


/* ── 2026-11-03 review: outlined buttons with icons, one blue Compare, tick boxes, header icons, hover card ── */
#fb .fb-b { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 8px 0 7px; border: 0; border-radius: 8px; background: var(--fb-solid);
  box-shadow: var(--fb-btn); font: 500 14px/20px Inter, sans-serif; color: var(--fb-ink); cursor: pointer; white-space: nowrap; flex: none; transition: none; }
#fb .fb-b + .fb-b { margin-left: 6px; }
#fb .fb-b > i { font-size: 14px; color: var(--fb-mute); }
#fb .fb-b .fb-car { font-size: 11px; color: var(--fb-faint); margin-left: -2px; }
#fb .fb-b .fb-dir { font-size: 12px; color: var(--fb-blue); }
#fb .fb-b:hover { background: linear-gradient(var(--fb-hover), var(--fb-hover)), var(--fb-solid); }
#fb .fb-b.is-on { background: var(--fb-pick); box-shadow: inset 0 0 0 1px var(--fb-pick-ring); color: var(--fb-blue); }
#fb .fb-b.is-on > i { color: var(--fb-blue); }
#fb .fb-sep { margin: 0 10px; }
#fb .fb-seg { margin-right: 8px; }
#fb .fb-pri { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px 0 8px; border: 0; border-radius: 8px; cursor: pointer; flex: none;
  background: var(--cs-accent, #455DDC); color: #fff; font: 500 14px/20px Inter, sans-serif; transition: none;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06), 0 2px 4px -2px rgba(69,93,220,.24), 0 3px 6px -2px rgba(69,93,220,.16); }
#fb .fb-pri i { font-size: 15px; }
#fb .fb-pri:hover { background: #3A50C4; }
#fb .fb-pri em { min-width: 18px; height: 18px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 6px; font: 600 11px/1 Inter, sans-serif;
  font-style: normal; background: rgba(255,255,255,.22); }
#fb { --fb-pick: #F1F4FF; --fb-pick-ring: #D6E0FF; }
html[data-theme="dark"] #fb { --fb-pick: #1C2235; --fb-pick-ring: #2B3E6D; }

/* tick boxes: 16px, r5, blue fill + white check when ticked */
#fb .fb-ck { width: 16px; height: 16px; flex: none; display: inline-grid; place-items: center; border-radius: 5px; cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); background: var(--fb-solid); color: transparent; }
html[data-theme="dark"] #fb .fb-ck { box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
#fb .fb-ck i { font-size: 11px; }
#fb .fb-ck:hover { box-shadow: inset 0 0 0 1px var(--fb-blue); }
#fb .fb-ck.on { background: var(--fb-blue); box-shadow: none; color: #fff; }
#fb .fb-ck-sp { width: 16px; flex: none; }
#fb .fb-card { position: relative; }
#fb .fb-card .fb-ck { position: absolute; top: 14px; right: 14px; opacity: 0; }
#fb .fb-card:hover .fb-ck, #fb .fb-card .fb-ck.on { opacity: 1; }
#fb .fb-card .h { padding-right: 22px; }
#fb .fb-card.is-picked { background: var(--fb-pick); box-shadow: inset 0 0 0 1px var(--fb-pick-ring); }
html[data-theme] #fb table.fb-tbl:not(#_) > tbody > tr.is-picked > td { background: var(--fb-pick) !important; }

/* table header icons (Attio: a 14px grey type icon before each label) */
#fb .fb-hi { font-size: 14px; color: var(--fb-faint); margin-right: 6px; vertical-align: -2px; }
#fb table.fb-tbl th.nm .fb-hi { margin-left: 24px; }

/* ── hover card on a fund name (hangs off <body>) ── */
.fb-hc, .fb-cmp { --hc-ink: #101112; --hc-mute: rgba(0,0,0,.63); --hc-faint: rgba(0,0,0,.5); --hc-line: #EEEFF1; --hc-bench: #A0A9C0;
  --hc-pos: var(--tb-pos, #0d8a66); --hc-neg: var(--tb-neg, #c8203f); --hc-on: rgba(0,0,0,.04); --hc-ring: #E6E7EA; }
html[data-theme="dark"] :is(.fb-hc, .fb-cmp) { --hc-ink: #F1F2F3; --hc-mute: rgba(255,255,255,.6); --hc-faint: rgba(255,255,255,.45); --hc-line: rgba(255,255,255,.08);
  --hc-bench: #6B7488; --hc-on: rgba(255,255,255,.06); --hc-ring: rgba(255,255,255,.12); }
.fb-hc { position: fixed; z-index: var(--z-pop, 1000); width: 320px; padding: 12px; border-radius: 12px; pointer-events: none; background: var(--pop-bg, #fff);
  box-shadow: inset 0 0 0 1px var(--hc-line), 0 4px 8px -4px rgba(28,40,64,.12), 0 4px 12px -2px rgba(24,41,75,.16);
  font: 500 13px/18px Inter, sans-serif; color: var(--hc-ink); font-variant-numeric: tabular-nums; animation: aiqPopRise .12s ease-out; }
.fb-hc[hidden] { display: none; }
.fb-hc .h { display: flex; gap: 10px; align-items: center; min-width: 0; }
.fb-hc .h > div { min-width: 0; display: flex; flex-direction: column; }
.fb-hc .h b { font: 600 14px/20px Inter, sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-hc .h small { font: 500 12px/16px Inter, sans-serif; color: var(--hc-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-hc .fb-ic { width: 28px; height: 28px; border-radius: 8px; color: #fff; display: inline-grid; place-items: center; flex: none; }
.fb-hc .fb-ic i { font-size: 15px; }
.fb-hc .fb-tk { font-weight: 600; color: var(--hc-ink); }
.fb-hc .sp { margin: 10px 0 8px; }
.fb-hc .fb-spark { width: 100%; height: 52px; display: block; overflow: visible; }
.fb-hc .fb-spark polyline { fill: none; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.fb-hc .fb-spark .m { stroke: #455DDC; stroke-width: 1.75; } .fb-hc .fb-spark .m.dn { stroke: var(--hc-neg); }
.fb-hc .fb-spark .b { stroke: var(--hc-bench); stroke-width: 1.25; stroke-dasharray: 3 3; }
.fb-hc .sp-l { display: flex; justify-content: space-between; font: 500 11px/14px Inter, sans-serif; color: var(--hc-faint); margin-top: 3px; }
.fb-hc .sp-l i { display: inline-block; width: 12px; border-top: 1.25px dashed var(--hc-bench); vertical-align: middle; margin-right: 5px; }
.fb-hc .fb-nospark { height: 52px; display: grid; place-items: center; border-radius: 8px; background: var(--hc-on); font-size: 12px; color: var(--hc-faint); }
.fb-hc .g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 10px; padding: 10px 0; border-top: 1px solid var(--hc-line); }
.fb-hc .g > span { display: flex; flex-direction: column; white-space: nowrap; }
.fb-hc small { font: 500 11px/14px Inter, sans-serif; color: var(--hc-mute); }
.fb-hc .f { display: flex; justify-content: space-between; gap: 10px; padding-top: 8px; border-top: 1px solid var(--hc-line); }
.fb-hc .f > span:first-child { color: var(--hc-mute); }
.fb-hc .fb-mut { color: var(--hc-mute); }
:is(.fb-hc, .fb-cmp) .pos { color: var(--hc-pos); } :is(.fb-hc, .fb-cmp) .neg { color: var(--hc-neg); }
.fb-hc .fb-t-blue { background: #455DDC; } .fb-hc .fb-t-violet { background: #9646EF; } .fb-hc .fb-t-teal { background: #14AABE; } .fb-hc .fb-t-green { background: #1FA97F; }
.fb-hc .fb-t-orange { background: #FF862E; } .fb-hc .fb-t-pink { background: #EC4899; } .fb-hc .fb-t-indigo { background: #6366F1; } .fb-hc .fb-t-slate { background: #727C94; }
.fb-hc .fb-t-amber { background: #E0A526; } .fb-hc .fb-t-gold { background: #C9A227; } .fb-hc .fb-t-rose { background: #F73463; } .fb-hc .fb-t-red { background: #D52B1E; }

/* ── Compare dialog (house .aiq-dlg xl) ── */
.fb-cmp .aiq-dlg-b { font: 500 13px/18px Inter, sans-serif; color: var(--hc-ink); font-variant-numeric: tabular-nums; }
.fb-cmp-ch { padding: 4px 0 14px; }
.fb-cmp-h { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.fb-cmp-h b { font: 600 14px/20px Inter, sans-serif; }
.fb-cmp-leg { display: flex; flex-wrap: wrap; gap: 14px; margin-left: auto; font-size: 12px; color: var(--hc-mute); }
.fb-cmp-leg i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; vertical-align: middle; margin-right: 6px; }
.fb-cmp-leg i.b { height: 0; border-top: 1.5px dashed var(--hc-bench); background: none; }
.fb-cmp-leg small { color: var(--hc-faint); }
.fb-cmp-ch svg { width: 100%; height: auto; display: block; font: 500 11px Inter, sans-serif; overflow: visible; }
.fb-cmp-ch svg path { fill: none; stroke-width: 1.75; stroke-linejoin: round; }
.fb-cmp-ch svg path.b { stroke: var(--hc-bench); stroke-width: 1.25; stroke-dasharray: 4 3; }
.fb-cmp-ch .g line { stroke: var(--hc-line); stroke-dasharray: 3 3; }
.fb-cmp-ch :is(.g, .yr) text { fill: var(--hc-faint); }
.fb-cmp-ch .tg text { fill: #fff; font-weight: 600; font-size: 10.5px; }
.fb-cmp-none { padding: 20px; border-radius: 12px; border: 1px dashed var(--hc-ring); color: var(--hc-mute); text-align: center; margin-bottom: 14px; }
.fb-cmp-tw { overflow-x: auto; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--hc-line); }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; margin: 0; }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) :is(th, td) { height: 34px; padding: 0 12px; border: 0; border-bottom: 1px solid var(--hc-line); border-right: 1px solid var(--hc-line);
  background: var(--pop-bg, #fff) !important; color: var(--hc-ink) !important; font: 500 13px/18px Inter, sans-serif !important; text-align: right; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; text-transform: none; letter-spacing: 0; }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) tr > :last-child { border-right: 0; }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) tbody tr:last-child td { border-bottom: 0; }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) :is(th, td).lbl { text-align: left; color: var(--hc-mute) !important; width: 200px; }
/* the S&P 500 column: plain, like the others (user, 2026-11-03: no grey band) */
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) thead th { height: 52px; text-align: left; vertical-align: middle; }
.fb-cmp-f { display: flex; align-items: center; gap: 8px; min-width: 0; }
.fb-cmp-f a, .fb-cmp-f > span:not(.fb-ic) { min-width: 0; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.fb-cmp-f b { font: 600 13px/18px Inter, sans-serif; }
.fb-cmp-f small { font: 500 11px/14px Inter, sans-serif; color: var(--hc-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-cmp-f a:hover b { text-decoration: underline; }
.fb-cmp-dot { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.fb-cmp-f .fb-ic { width: 20px; height: 20px; border-radius: 6px; flex: none; display: inline-grid; place-items: center; background: var(--hc-on); color: var(--hc-mute); box-shadow: inset 0 0 0 1px var(--hc-ring); }
.fb-cmp-x { margin-left: auto; width: 22px; height: 22px; flex: none; border: 0; border-radius: 6px; background: transparent; color: var(--hc-faint); cursor: pointer; display: grid; place-items: center; }
.fb-cmp-x:hover { background: var(--hc-on); color: var(--hc-ink); }
.fb-cmp .fb-tk { font-weight: 600; } .fb-cmp .fb-mut { color: var(--hc-mute); }

/* narrow boxes: filter buttons go icon-only unless set (the label is the button's tooltip) */
@container fb (max-width: 1060px) {
  #fb .fb-b:not(.is-on):not([data-menu="sort"]) .fb-bl, #fb .fb-b:not(.is-on):not([data-menu="sort"]) .fb-car { display: none; }
  #fb .fb-b:not(.is-on):not([data-menu="sort"]) { padding: 0 7px; }
  #fb .fb-b + .fb-b { margin-left: 4px; }
}

/* very narrow boxes (a ~700px panel with filters set): search folds to its icon until clicked or holding a search,
   Clear to its ×, a set filter's value is capped */
#fb .fb-clr i { display: none; }
@container fb (max-width: 900px) {
  #fb .fb-clr i { display: inline; font-size: 13px; } #fb .fb-clr span { display: none; }
  #fb .fb-b.is-on .fb-bl { max-width: 76px; overflow: hidden; text-overflow: ellipsis; }
  #fb .fb-search:not(:focus-within):not(.has-q) { flex: none; width: 28px; min-width: 28px; padding: 0 7px; cursor: pointer; }
  #fb .fb-search:not(:focus-within):not(.has-q) input { width: 0; }
}

/* ── Table view edge to edge (user, 2026-11-03: "move it so that it's touching the top and left hand side"): the header
   row's rule is its top edge, the rail's rule its left edge; it scrolls in its own box under the page bar ── */
#fb.is-tbl .fb-main { padding: 0; }
#fb.is-tbl .fb-tw { border-radius: 0; box-shadow: none; max-height: calc(100vh - 97px); }
html.is-popout #fb.is-tbl .fb-tw { max-height: calc(100vh - 49px); }
#fb.is-tbl .fb-empty { margin: 16px; }

/* ── Compare dialog, the fuller version ── */
.fb-cmp.aiq-dlg { --dlg-w: 1180px; }
.fb-cmp .aiq-dlg-h { gap: 12px; }
.fb-cmp-add { position: relative; display: flex; align-items: center; gap: 6px; width: 240px; height: 30px; padding: 0 8px; margin-left: auto; border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--hc-ring); color: var(--hc-faint); }
.fb-cmp-add input:not(#_) { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; outline: 0 !important; background: transparent !important; padding: 0;
  height: auto; font: 500 13px/18px Inter, sans-serif; color: var(--hc-ink) !important; }
.fb-cmp-sug { position: absolute; top: 34px; left: 0; right: 0; z-index: 5; padding: 4px; border-radius: 12px; background: var(--pop-bg, #fff);
  box-shadow: inset 0 0 0 1px var(--hc-line), 0 4px 8px -4px rgba(28,40,64,.12), 0 4px 12px -2px rgba(24,41,75,.16); }
.fb-cmp-sug[hidden] { display: none; }
.fb-cmp-sug button { display: flex; align-items: center; gap: 8px; width: 100%; height: 32px; padding: 0 8px; border: 0; border-radius: 8px; background: transparent;
  cursor: pointer; font: 500 13px/18px Inter, sans-serif; color: var(--hc-ink); text-align: left; }
.fb-cmp-sug button:hover { background: var(--hc-on); }
.fb-cmp-sug button span { color: var(--hc-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-cmp-sug .fb-ic { width: 18px; height: 18px; border-radius: 5px; color: #fff; display: inline-grid; place-items: center; flex: none; font-size: 11px; }
.fb-cmp-sug .none { padding: 8px; color: var(--hc-mute); font-size: 13px; }
.fb-cmp .fb-t-blue { background: #455DDC; } .fb-cmp .fb-t-violet { background: #9646EF; } .fb-cmp .fb-t-teal { background: #14AABE; } .fb-cmp .fb-t-green { background: #1FA97F; }
.fb-cmp .fb-t-orange { background: #FF862E; } .fb-cmp .fb-t-pink { background: #EC4899; } .fb-cmp .fb-t-indigo { background: #6366F1; } .fb-cmp .fb-t-slate { background: #727C94; }
.fb-cmp .fb-t-amber { background: #E0A526; } .fb-cmp .fb-t-gold { background: #C9A227; } .fb-cmp .fb-t-rose { background: #F73463; } .fb-cmp .fb-t-red { background: #D52B1E; }
.fb-cmp-ch { padding: 2px 0 18px; }
.fb-cmp-h { flex-wrap: wrap; }
.fb-cmp-leg { margin-left: 4px; }
.fb-cmp-note { font-size: 12px; color: var(--hc-faint); }
.fb-cmp-sp { flex: 1; }
.fb-cmp-rng { display: inline-flex; gap: 2px; padding: 2px; border-radius: 10px; background: var(--hc-on); }
.fb-cmp-rng button { height: 24px; padding: 0 9px; border: 0; border-radius: 8px; background: transparent; cursor: pointer; font: 500 12px/16px Inter, sans-serif; color: var(--hc-mute); transition: none; }
.fb-cmp-rng button.on { background: var(--pop-bg, #fff); color: var(--hc-ink); box-shadow: 0 1px 2px -1px rgba(0,0,0,.08), inset 0 0 0 1px var(--hc-line); }
.fb-cmp-c { position: relative; }
.fb-cmp-c svg { width: 100%; height: auto; display: block; font: 500 11px Inter, sans-serif; font-variant-numeric: tabular-nums; overflow: visible; touch-action: none; }
.fb-cmp-c .g line { stroke: var(--hc-line); stroke-dasharray: 3 3; }
.fb-cmp-c .g line.base { stroke: var(--hc-ring); stroke-dasharray: none; }
.fb-cmp-c :is(.g, .yr) text { fill: var(--hc-faint); }
.fb-cmp-c path { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.fb-cmp-c path.m { stroke-width: 1.75; }
.fb-cmp-c path.b { stroke: var(--hc-bench) !important; stroke-width: 1.25; stroke-dasharray: 4 3; }
.fb-cmp-c .tg text { fill: #fff; font-weight: 600; font-size: 10.5px; }
.fb-cmp-c .tg.tb text { fill: var(--hc-mute); }
.fb-cmp-c .tg.tb rect { stroke: var(--hc-ring); }
.fb-cmp-c .hit { fill: transparent; cursor: crosshair; }
.fb-cmp-c :is(.xh, .dt) { opacity: 0; pointer-events: none; }
.fb-cmp-c.is-hover :is(.xh, .dt) { opacity: 1; }
.fb-cmp-c .xh { stroke: var(--hc-ring); }
.fb-cmp-c .dt { stroke-width: 2; }
.fb-cmp-tip { position: absolute; z-index: 2; pointer-events: none; min-width: 230px; padding: 8px 10px; border-radius: 10px; background: var(--pop-bg, #fff);
  box-shadow: inset 0 0 0 1px var(--hc-line), 0 4px 8px -4px rgba(28,40,64,.12), 0 4px 12px -2px rgba(24,41,75,.16); font: 500 12px/16px Inter, sans-serif;
  font-variant-numeric: tabular-nums; color: var(--hc-ink); }
.fb-cmp-tip[hidden] { display: none; }
.fb-cmp-tip .d { color: var(--hc-mute); margin-bottom: 6px; }
.fb-cmp-tip .r { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto 52px; gap: 8px; align-items: center; padding: 2px 0; }
.fb-cmp-tip .r span { color: var(--hc-mute); }
.fb-cmp-tip .r b { font-weight: 600; text-align: right; }
.fb-cmp-tip .r em { font-style: normal; text-align: right; }
.fb-cmp-tip i { width: 12px; height: 0; border-top: 2px solid; }
.fb-cmp-tip i.b { border-top: 1.5px dashed var(--hc-bench); }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) tr.grp td { height: 30px; text-align: left; background: linear-gradient(var(--hc-on), var(--hc-on)), var(--pop-bg, #fff) !important;
  font: 600 12px/16px Inter, sans-serif !important; color: var(--hc-mute) !important; border-right: 0; }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) td.best { background: linear-gradient(var(--hc-best), var(--hc-best)), var(--pop-bg, #fff) !important; }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) td.txt { text-align: right; white-space: normal; height: auto; padding-top: 8px; padding-bottom: 8px; line-height: 18px; }
html[data-theme] .fb-cmp table.fb-cmp-t:not(#_) :is(th, td).lbl { width: 240px; }
.fb-cmp { --hc-best: #EEF2FF; }
html[data-theme="dark"] .fb-cmp { --hc-best: #1C2235; }
.fb-cmp-sec { display: flex; align-items: baseline; gap: 10px; margin: 22px 0 8px; }
.fb-cmp-sec b { font: 600 14px/20px Inter, sans-serif; }
.fb-cmp-sec span { font-size: 12px; color: var(--hc-faint); }
html[data-theme] .fb-cmp table.fb-cmp-cal:not(#_) thead th { height: 34px; text-align: right; }
html[data-theme] .fb-cmp table.fb-cmp-cal:not(#_) thead th.lbl { text-align: left; }
.fb-cmp-ov { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 8px 24px; padding: 4px 0 6px; }
.fb-cmp-ov > div { display: grid; grid-template-columns: 150px minmax(0, 1fr) 70px; gap: 10px; align-items: center; height: 28px; }
.fb-cmp-ov span { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; }
.fb-cmp-ov span em { font-style: normal; color: var(--hc-faint); font-weight: 500; }
.fb-cmp-ov span i { width: 8px; height: 8px; border-radius: 2px; }
.fb-cmp-ov .tr { height: 6px; border-radius: 999px; background: var(--hc-on); overflow: hidden; }
.fb-cmp-ov .tr div { height: 100%; border-radius: 999px; background: #455DDC; }
.fb-cmp-ov b { text-align: right; font-weight: 500; }

/* Compare: icons on the section rows, the key rows and the section titles (user, 2026-11-03) */
.fb-cmp table.fb-cmp-t tr.grp td i { font-size: 13px; margin-right: 7px; vertical-align: -2px; color: var(--hc-mute); }
.fb-cmp-l { display: inline-flex; align-items: center; gap: 8px; }
.fb-cmp-l i { width: 15px; font-size: 15px; color: var(--hc-faint); flex: none; }
.fb-cmp-hi { font-size: 16px; color: var(--hc-mute); margin-right: 7px; vertical-align: -3px; }

/* Compare: custom benchmark picker beside the range switch (user, 2026-11-03) */
.fb-cmp-bm { position: relative; margin-right: 8px; }
.fb-cmp-bmb { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 8px; border: 0; border-radius: 8px; cursor: pointer; transition: none;
  background: var(--pop-bg, #fff); box-shadow: inset 0 0 0 1px var(--hc-ring); font: 500 13px/18px Inter, sans-serif; color: var(--hc-mute); }
.fb-cmp-bmb b { font-weight: 500; color: var(--hc-ink); }
.fb-cmp-bmb i { font-size: 13px; }
.fb-cmp-bmb i.ph-caret-down { font-size: 10px; color: var(--hc-faint); }
.fb-cmp-bmb:hover { background: linear-gradient(var(--hc-on), var(--hc-on)), var(--pop-bg, #fff); }
.fb-cmp-bmp { position: absolute; top: 32px; right: 0; z-index: 6; width: 280px; padding: 4px; border-radius: 12px; background: var(--pop-bg, #fff);
  box-shadow: inset 0 0 0 1px var(--hc-line), 0 4px 8px -4px rgba(28,40,64,.12), 0 4px 12px -2px rgba(24,41,75,.16); }
.fb-cmp-bmp[hidden] { display: none; }
.fb-cmp-bms { display: flex; align-items: center; gap: 8px; padding: 6px 8px; margin: -4px -4px 4px; border-bottom: 1px solid var(--hc-line); color: var(--hc-faint); }
.fb-cmp-bms input:not(#_) { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; outline: 0 !important; background: transparent !important; padding: 0;
  height: 26px; font: 500 13px/18px Inter, sans-serif; color: var(--hc-ink) !important; }
.fb-cmp-bml { max-height: 300px; overflow-y: auto; }
.fb-cmp-bml button { display: flex; align-items: center; gap: 8px; width: 100%; height: 32px; padding: 0 8px; border: 0; border-radius: 8px; background: transparent;
  cursor: pointer; font: 500 13px/18px Inter, sans-serif; color: var(--hc-ink); text-align: left; }
.fb-cmp-bml button:hover { background: var(--hc-on); }
.fb-cmp-bml button b { font-weight: 600; flex: none; min-width: 52px; }
.fb-cmp-bml button span { color: var(--hc-mute); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-cmp-bml button.on b, .fb-cmp-bml button.on { color: #266DF0; }
.fb-cmp-bml button.on::after { content: "✓"; margin-left: auto; padding-left: 8px; }
.fb-cmp-bml .none { padding: 8px; color: var(--hc-mute); font-size: 13px; }
/* the small grey type icons in the thin weight, as the sidebar's (Phosphor-Regular is already loaded for it) */
html.at-shell :is(#fb .fb-hi, .fb-cmp-l i, .fb-cmp-hi, .fb-cmp table.fb-cmp-t tr.grp td i):not(#_) { font-family: "Phosphor-Regular" !important; }

/* 2026-11-04 (user): lift the toolbar row to the panel's top (cancel <main>'s 12px padding) and let the table's lines run
   to both screen edges: no gutter around the table, no ring or rounded corners, the header row's rule is its top. */
#fb:not(#_) { margin: -12px -12px 0; }
/* in a workspace tab's frame the page bar comes straight before #fb, and aiq-table-attio.css's `.at-pagebar + *
   { margin-top: 0 !important }` dropped the lift: the toolbar sat 12px low there only (user, 2026-11-05) */
html.at-shell .at-pagebar + #fb:not(#_) { margin-top: -12px !important; }
@media (max-width: 767px) { html.aiq-phone #fb:not(#_) { margin: 0; } }
#fb .fb-main:has(> .fb-tw) { padding: 0; }
#fb .fb-main > .fb-tw { border-radius: 0; box-shadow: none; max-height: calc(100vh - 100px); }
html.is-popout #fb .fb-main > .fb-tw { max-height: calc(100vh - 50px); }
