/* Mineral Ledger Terminal: dense research-terminal presentation over the V6 styles.
   V6 component styles still load first (darkened for the dark theme); this file sets
   the palette, typography and density, and lays out the terminal-only blocks. */

:root,
:root[data-theme="dark"] {
  --ink: #d6dce3;
  --ink-2: #a9b3be;
  --ink-3: #78838f;
  --forest: #0b0e11;
  --forest-2: #1b2128;
  --forest-ink: var(--ink);
  --forest-2-ink: #6fd3a3;
  --green: #22c07a;
  --green-pale: rgba(34, 192, 122, .12);
  --blue: #59a6ff;
  --blue-pale: rgba(89, 166, 255, .12);
  --amber: #f5a524;
  --amber-pale: rgba(245, 165, 36, .12);
  --red: #ff5c61;
  --red-pale: rgba(255, 92, 97, .12);
  --paper: #07090b;
  --surface: #0f1317;
  --surface-2: #151a20;
  --surface-3: #1b2229;
  --line: #222a33;
  --line-strong: #313b46;
  --accent: #f5a524;
  --head-bg: #000000;
  --shadow: none;
  --radius: 2px;
  --shell: calc(100% - 20px);
  --border: var(--line);
  --muted: var(--ink-3);
  --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --sans: "IBM Plex Sans", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}

:root[data-theme="light"] {
  --ink: #111c2b;
  --ink-2: #3a4859;
  --ink-3: #66727f;
  --forest: #0e2240;
  --forest-2: #1b355c;
  --forest-ink: #0e2240;
  --forest-2-ink: #1b355c;
  --green: #0d8a52;
  --green-pale: #e5f4ec;
  --blue: #1260c4;
  --blue-pale: #e7f0fb;
  --amber: #b26a00;
  --amber-pale: #fff3dc;
  --red: #c6262e;
  --red-pale: #fde9ea;
  --paper: #eef1f5;
  --surface: #ffffff;
  --surface-2: #f6f8fb;
  --surface-3: #eaeef3;
  --line: #d9dfe6;
  --line-strong: #c3ccd6;
  --accent: #0e2240;
  --head-bg: #0e2240;
  color-scheme: light;
}

/* ---------- Base ---------- */
html { scroll-padding-top: 76px; }
body.terminal { color: var(--ink); background: var(--paper); font: 12.5px/1.45 var(--sans); }
body.terminal * { box-shadow: none !important; }
.terminal a { color: var(--blue); text-decoration: none; }
.terminal a:hover { text-decoration: underline; text-underline-offset: 2px; }
.terminal h1, .terminal h2, .terminal h3, .terminal h4 { letter-spacing: 0; }
.terminal .num, .terminal td.num, .terminal th.num,
.terminal .metric-value, .terminal time, .terminal .kv-row dd, .terminal .sec-quote dd,
.terminal .tape-item, .terminal .data-table td, .terminal .term-table td { font-variant-numeric: tabular-nums; }
.terminal .num, .terminal td.num, .terminal .metric-value, .terminal .kv-row dd, .terminal .sec-quote dd, .terminal .tape-item { font-family: var(--mono); }
.terminal .up, .terminal .positive { color: var(--green) !important; }
.terminal .down, .terminal .negative { color: var(--red) !important; }
.terminal .muted { color: var(--ink-3); }
.terminal .strong { font-weight: 600; }
.terminal .nowrap { white-space: nowrap; }
.terminal .wrap-cell { white-space: normal; min-width: 140px; }
.terminal ::selection { background: rgba(245, 165, 36, .35); }
.terminal :focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }

/* Developer-only content is rendered but hidden until ?dev=1. */
.dev-only { display: none !important; }
body.is-dev .dev-only { display: revert !important; }
body.is-dev tr .dev-only, body.is-dev th.dev-only, body.is-dev td.dev-only { display: table-cell !important; }
.dev-tag { display: inline-block; margin-right: 4px; padding: 0 4px; border: 1px solid #7a5cff; color: #b9a8ff; font: 600 9px/14px var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.dev-tag.bad { border-color: var(--red); color: var(--red); }
.dev-tag.warn { border-color: var(--amber); color: var(--amber); }
.dev-note { margin: 6px 10px; color: #b9a8ff; font: 11px/1.4 var(--mono); }
.dev-panel { margin: 0 10px 6px; padding: 4px 8px; border: 1px dashed #7a5cff; background: rgba(122, 92, 255, .06); font-size: 11px; }
.dev-panel summary { display: flex; gap: 8px; align-items: center; cursor: pointer; }
.dev-panel ul { margin: 6px 0; padding-left: 18px; font-family: var(--mono); font-size: 10.5px; }

/* ---------- Top bar ---------- */
.term-bar { position: sticky; top: 0; z-index: 40; height: 38px; display: flex; align-items: center; gap: 18px; padding: 0 10px; color: #e8ecf0; background: var(--head-bg); border-bottom: 1px solid var(--accent); }
.term-brand { display: inline-flex; align-items: center; gap: 8px; color: #fff !important; text-decoration: none !important; }
.term-brand-mark { display: inline-grid; place-items: center; width: 22px; height: 22px; color: #000; background: var(--amber); font: 700 10px var(--mono); }
.term-brand-name { font-weight: 600; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.term-nav { display: flex; gap: 2px; }
.term-nav a { padding: 4px 10px; color: #aeb7c1 !important; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; }
.term-nav a:hover { color: #fff !important; }
.term-nav a[aria-current] { color: #000 !important; background: var(--amber); }
.term-command { flex: 0 1 280px; display: flex; align-items: center; gap: 6px; height: 24px; margin-left: auto; padding: 0 6px; border: 1px solid #39424c; background: #0c0f12; }
.term-command:focus-within { border-color: var(--amber); }
.term-command-prompt { color: var(--amber); font: 600 12px var(--mono); }
.term-command input { flex: 1; min-width: 0; border: 0; outline: 0; color: #fff; background: transparent; font: 12px var(--mono); text-transform: uppercase; }
.term-command input::placeholder { color: #66717c; text-transform: none; }
.term-command kbd { padding: 0 4px; border: 1px solid #39424c; color: #7b8691; font: 10px var(--mono); }
.term-bar-tools { display: flex; align-items: center; gap: 8px; }
.term-theme-toggle { height: 22px; padding: 0 8px; border: 1px solid #39424c; color: #aeb7c1; background: transparent; cursor: pointer; font: 600 10px var(--sans); letter-spacing: .06em; text-transform: uppercase; }
.term-theme-toggle:hover { color: #fff; border-color: #6b7783; }
.term-dev-badge { padding: 1px 6px; color: #fff !important; background: #6a4cff; font: 700 10px var(--mono); text-decoration: none !important; }

/* ---------- Market tape ---------- */
.term-tape { position: sticky; top: 38px; z-index: 39; height: 24px; display: flex; align-items: center; gap: 12px; padding: 0 10px; overflow: hidden; background: var(--surface-2); border-bottom: 1px solid var(--line); font-size: 11px; }
.term-tape-track { min-width: 0; display: flex; -webkit-mask-image: linear-gradient(90deg, #000 94%, transparent); mask-image: linear-gradient(90deg, #000 94%, transparent); gap: 18px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.term-tape-track::-webkit-scrollbar { display: none; }
.tape-item { display: inline-flex; gap: 6px; align-items: baseline; }
.tape-item b { color: var(--amber); font-weight: 600; }
.tape-last { color: var(--ink); }
.tape-ytd { color: var(--ink-3); }
.tape-asof { margin-left: auto; color: var(--ink-3); font: 10px var(--mono); white-space: nowrap; }

/* ---------- Panels ---------- */
.term-page { padding: 8px 10px 24px; }
.term-page-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-bottom: 8px; }
.term-page-head h1 { margin: 0; color: var(--amber); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.term-count { color: var(--ink-3); font-size: 11px; }
.term-count b { color: var(--ink); font-family: var(--mono); font-weight: 500; }
.term-panel { min-width: 0; border: 1px solid var(--line); background: var(--surface); }
.term-panel-head { min-height: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 4px 8px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.term-panel-head h2, .term-panel-head h3 { margin: 0; color: var(--amber); font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.term-panel-head > span { color: var(--ink-3); font-size: 10.5px; }
.term-panel-head > a, .term-panel-head > button { margin-left: auto; font-size: 10.5px; }
.term-panel-head > span + a, .term-panel-head > span + button { margin-left: auto; }
.term-link-button { padding: 0; border: 0; color: var(--blue); background: transparent; cursor: pointer; font: inherit; font-size: 10.5px; }
.term-note { margin: 6px 8px; color: var(--ink-2); font-size: 11.5px; }
.term-foot { margin: 0; padding: 5px 8px; border-top: 1px solid var(--line); color: var(--ink-3); font-size: 10px; }
.term-empty { margin: 0; padding: 14px 8px; color: var(--ink-3); text-align: center; }
.term-notice { margin: 0; padding: 5px 10px; border-left: 2px solid var(--blue); background: var(--blue-pale); font-size: 11.5px; }
.term-notice.notice-amber { border-left-color: var(--amber); background: var(--amber-pale); }
.term-notice summary { cursor: pointer; }
.term-notice ul { margin: 6px 0 2px; padding: 0; list-style: none; }
.term-notice li { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; gap: 10px; padding: 2px 0; }
.term-notice li time, .term-notice li span { color: var(--ink-3); font-size: 10.5px; }

/* ---------- Tables ---------- */
.term-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.term-table th, .term-table td { height: 24px; padding: 2px 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; white-space: nowrap; }
.term-table thead th { position: sticky; top: 0; z-index: 1; height: 24px; color: var(--ink-3); background: var(--surface-2); font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.term-table thead th button { padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.term-table thead th[aria-sort="ascending"] button::after { content: " ▲"; color: var(--amber); }
.term-table thead th[aria-sort="descending"] button::after { content: " ▼"; color: var(--amber); }
.term-table th.num, .term-table td.num { text-align: right; }
.term-table tbody th { font-weight: 600; }
.term-table tbody tr:nth-child(even) { background: rgba(127, 140, 155, .035); }
.term-table tbody tr:hover { background: var(--surface-3); }

/* Rewrite every V6 data table at terminal density. */
.terminal .data-table { min-width: 0; font-size: 12px; }
.terminal .data-table th, .terminal .data-table td { padding: 4px 8px; border-top: 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.terminal .data-table thead th { color: var(--ink-3); background: var(--surface-2); font-size: 10px; font-weight: 600; letter-spacing: .06em; }
.terminal .data-table thead button { min-height: 0; margin: 0; padding: 0; }
.terminal .data-table tbody tr:hover { background: var(--surface-3); }
.terminal .data-table tbody tr:nth-child(even) { background: rgba(127, 140, 155, .035); }

/* ---------- Monitor ---------- */
.term-filters { flex: 1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.terminal .term-filters .company-filter { min-width: 0; }
.terminal .term-filters .company-filter summary { min-height: 24px; gap: 6px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--surface); font-size: 11px; }
.terminal .term-filters .company-filter summary .filter-label { color: var(--ink-3); font-size: 10px; }
.terminal .term-filters .company-filter details[open] summary { border-radius: 0; border-color: var(--amber); }
.terminal .term-filters .filter-options { border-radius: 0; background: var(--surface); }
.terminal .term-filters .filter-options label { min-height: 26px; border-radius: 0; }
.terminal .term-filters .filter-options label:has(input:checked) { color: var(--ink); background: var(--amber-pale); }
.terminal .term-search input { width: 220px; min-height: 24px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--surface); font-size: 11.5px; }
.terminal .term-search input:focus { border-color: var(--amber); box-shadow: none; }
.monitor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 470px; gap: 8px; align-items: start; }
.screener-scroll { max-height: calc(100vh - 140px); overflow: auto; }
.screener-table tbody tr { cursor: pointer; }
.screener-table .ticker-cell a { color: var(--amber); font-family: var(--mono); font-weight: 600; }
.screener-table .name-cell { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.screener-table .wrap-cell { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.screener-table .star-rating, .indices-table .star-rating { font-size: 11px; }
.new-flag { display: inline-block; margin-left: 4px; padding: 0 4px; color: #000; background: var(--amber); font: 600 9px/13px var(--mono); vertical-align: 1px; }
.indices-table th, .indices-table td { padding-inline: 5px; }
.indices-table tbody th { max-width: 130px; overflow: hidden; text-overflow: ellipsis; }
.indices-table .spark-cell { width: 60px; padding-block: 1px; }
.indices-table .index-sparkline { width: 58px; height: 18px; }
.stage-meter { display: inline-flex; align-items: center; gap: 6px; }
.stage-meter-bar { display: inline-flex; gap: 1px; }
.stage-meter-bar i { width: 4px; height: 9px; background: var(--line-strong); }
.stage-meter-bar i.on { background: var(--green); }
.stage-meter-label { color: var(--ink-2); font-size: 11px; }
.tiles-panel { margin-top: 8px; border: 0; background: transparent; }
.tile-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; }
.term-tile { display: grid; gap: 4px; padding: 8px; border: 1px solid var(--line); color: var(--ink) !important; background: var(--surface); text-decoration: none !important; }
.term-tile:hover { border-color: var(--amber); }
.term-tile header { display: flex; justify-content: space-between; align-items: center; }
.term-tile header b { color: var(--amber); font-family: var(--mono); }
.tile-name { font-size: 12.5px; }
.tile-exposure { color: var(--ink-3); font-size: 11px; }
.term-tile dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 4px 0 0; }
.term-tile dt { color: var(--ink-3); font-size: 9.5px; text-transform: uppercase; }
.term-tile dd { margin: 0; font-family: var(--mono); font-size: 11.5px; }

/* ---------- Security header ---------- */
.sec-header { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 6px 10px; border-bottom: 1px solid var(--line); background: var(--surface); }
.sec-identity { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.sec-back { color: var(--ink-3) !important; font-size: 11px; }
.sec-ticker { padding: 0 6px; color: #000; background: var(--amber); font: 600 14px/20px var(--mono); }
.sec-exchange { color: var(--ink-3); font: 11px var(--mono); }
.sec-identity h1 { margin: 0; font-size: 17px; font-weight: 600; }
.sec-meta { color: var(--ink-2); font-size: 11.5px; }
.sec-meta b { color: var(--ink); font-weight: 600; }
.sec-rating .star-rating { font-size: 13px; }
.sec-quote { display: flex; flex-wrap: wrap; gap: 0; margin: 0; border: 1px solid var(--line); background: var(--surface-2); }
.sec-quote > div { min-width: 86px; padding: 3px 10px; border-right: 1px solid var(--line); }
.sec-quote dt { color: var(--ink-3); font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.sec-quote dt span { color: var(--ink-3); font: 9.5px var(--mono); letter-spacing: 0; text-transform: none; }
.sec-quote dd { margin: 0; font-size: 13.5px; font-weight: 500; white-space: nowrap; }
.sec-quote .sec-last dd { color: #fff; font-size: 17px; }
:root[data-theme="light"] .sec-quote .sec-last dd { color: var(--ink); }
.sec-quote .sec-fair dd { color: var(--amber); }
.sec-notices { display: grid; gap: 2px; padding: 4px 10px 0; }

/* ---------- Company tabs ---------- */
.terminal .term-tabs { position: sticky; top: 62px; z-index: 30; margin-top: 4px; border-bottom: 1px solid var(--line); background: var(--paper); backdrop-filter: none; }
.terminal .term-tabs > div { display: flex; gap: 0; padding: 0 10px; overflow-x: auto; scrollbar-width: none; }
.terminal .term-tabs a { min-height: 26px; padding: 0 12px; border-bottom: 2px solid transparent; color: var(--ink-2); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.terminal .term-tabs a:hover { color: var(--ink); text-decoration: none; }
.terminal .term-tabs a[aria-selected="true"] { color: var(--amber); border-bottom-color: var(--amber); background: var(--surface); }
.terminal .company-view.term-company { width: auto; margin: 0; padding: 8px 10px 24px; }

/* ---------- Overview grid ---------- */
.ov-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 8px; align-items: start; }
.ov-chart { grid-column: 1; grid-row: 1 / span 2; }
.ov-side { grid-column: 2; grid-row: 1 / span 3; display: grid; gap: 8px; align-content: start; }
.ov-thesis { grid-column: 1; }
.ov-news { grid-column: 1; }
.ov-calendar, .ov-roster { grid-column: 1 / -1; }
@media (min-width: 1500px) {
  .ov-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .62fr) 360px; }
  .ov-chart { grid-column: 1 / span 2; grid-row: 1; }
  .ov-side { grid-column: 3; grid-row: 1 / span 2; }
  .ov-thesis { grid-column: 1; grid-row: 2; }
  .ov-news { grid-column: 2; grid-row: 2; }
  .ov-calendar, .ov-roster { grid-column: 1 / -1; }
}
.kv-list { margin: 0; padding: 2px 0; }
.kv-row { display: flex; justify-content: space-between; gap: 10px; padding: 2px 8px; border-bottom: 1px solid var(--line); }
.kv-row:last-child { border-bottom: 0; }
.kv-row dt { color: var(--ink-3); font-size: 11.5px; }
.kv-row dd { margin: 0; text-align: right; font-size: 12px; }
.kv-row dd small { display: block; color: var(--ink-3); font-size: 9.5px; }
.kv-row.kv-strong dd { color: var(--amber); font-weight: 600; }
.kv-row.up dd { color: var(--green); }
.kv-row.down dd { color: var(--red); }
.kv-row .star-rating { font-size: 12px; }
.thesis-headline { margin: 8px 8px 4px; color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.35; }
.thesis-copy { margin: 0 8px 8px; color: var(--ink-2); }
.thesis-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); }
.thesis-grid > div { padding: 6px 8px; border-bottom: 1px solid var(--line); }
.thesis-grid > div:nth-child(odd) { border-right: 1px solid var(--line); }
.thesis-grid dt { color: var(--amber); font-size: 9.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.thesis-grid dd { margin: 2px 0 0; color: var(--ink); font-size: 12px; }
.news-list { margin: 0; padding: 0; list-style: none; }
.news-list li { display: grid; grid-template-columns: 74px minmax(0, 1fr) auto; gap: 8px; align-items: baseline; padding: 3px 8px; border-bottom: 1px solid var(--line); }
.news-list li:last-child { border-bottom: 0; }
.news-list time { color: var(--ink-3); font: 11px var(--mono); }
.news-list a { overflow: hidden; color: var(--ink) !important; text-overflow: ellipsis; white-space: nowrap; }
.news-list a:hover { color: var(--blue) !important; }
.news-tag { color: var(--ink-3); font-size: 10px; white-space: nowrap; }
.news-tag.materiality-high { color: var(--amber); }
.materiality-high { color: var(--amber); }
.materiality-low { color: var(--ink-3); }

/* ---------- V6 components at terminal density ---------- */
.terminal .eyebrow { display: none; }
.terminal .panel, .terminal .comparison-panel, .terminal .data-disclosure, .terminal .research-report-disclosure { border-radius: 0; border-color: var(--line); background: var(--surface); }
.terminal .panel-heading { min-height: 26px; align-items: center; gap: 4px 12px; padding: 4px 8px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.terminal .panel-heading h3, .terminal .panel-heading h2 { margin: 0; color: var(--amber); font-size: 11px; font-weight: 600; letter-spacing: .09em; line-height: 1.3; text-transform: uppercase; }
.terminal .panel-heading > span, .terminal .panel-heading > small, .terminal .panel-heading p { color: var(--ink-3); font-size: 10.5px; }
.terminal .panel-copy { padding: 6px 8px; font-size: 12px; }
.terminal .section-panel { margin-top: 8px; }
.terminal .view-heading { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; padding: 2px 0 4px; border-bottom: 1px solid var(--line); }
.terminal .view-heading h2 { margin: 0; color: var(--ink); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.terminal .view-heading > span { color: var(--ink-3); font-size: 11px; }
.terminal .view-actions { display: flex; gap: 6px; }
.terminal .metric-grid { gap: 0; border: 1px solid var(--line); background: var(--surface); }
.terminal .metric-card { min-height: 0; padding: 5px 8px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; }
.terminal .metric-card:last-child { border-right: 0; }
.terminal .metric-card.featured { color: var(--ink); background: var(--amber-pale); }
.terminal .metric-card.featured .metric-value { color: var(--amber); }
.terminal .metric-card.featured .metric-label, .terminal .metric-card.featured .metric-helper { color: var(--ink-3); }
.terminal .metric-card.positive-card, .terminal .metric-card.negative-card { background: transparent; }
.terminal .metric-card.positive-card .metric-value { color: var(--green); }
.terminal .metric-card.negative-card .metric-value { color: var(--red); }
.terminal .metric-label, .terminal .metric-helper { font-size: 9.5px; }
.terminal .metric-value { margin: 2px 0 1px; font-size: 15px; font-weight: 500; letter-spacing: 0; }
.terminal .two-column-grid, .terminal .overview-grid { gap: 8px; margin-top: 8px; }
.terminal .data-disclosure { margin-top: 8px; }
.terminal .data-disclosure > summary, .terminal .research-report-disclosure > summary { min-height: 26px; padding: 3px 8px; background: var(--surface-2); font-size: 11.5px; }
.terminal .data-disclosure > summary::after { color: var(--amber); font-size: 14px; }
.terminal .data-disclosure > summary .summary-count { min-width: 18px; height: 16px; margin-right: 8px; border-radius: 0; color: var(--ink-2); background: var(--surface-3); font: 10px var(--mono); }
.terminal .tag { min-height: 18px; padding: 1px 6px; border-radius: 0; color: var(--ink-2); background: var(--surface-3); font-size: 9.5px; }
.terminal .tag.warning { color: #000; background: var(--amber); }
.terminal .tag.secondary { color: var(--ink-2); background: var(--surface-3); }
.terminal .button, .terminal .secondary-button { min-height: 24px; padding: 0 10px; border-radius: 0; border: 1px solid var(--line-strong); color: var(--ink) !important; background: var(--surface-2); font-size: 11px; text-decoration: none !important; }
.terminal .button:hover { border-color: var(--amber); }
.terminal .empty-state { padding: 10px; border-radius: 0; border-color: var(--line); font-size: 11.5px; }
.terminal .star-rating { color: var(--line-strong); }
.terminal .star-rating .filled { color: var(--amber); }
.terminal .rating-state, .terminal .unrated { color: var(--ink-3); font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; }
.terminal .validation-notice { margin: 0 0 6px; padding: 5px 8px; border-radius: 0; border: 0; border-left: 2px solid var(--amber); background: var(--amber-pale); font-size: 11.5px; }
.terminal .relationship-notice { padding: 6px 8px; border-radius: 0; border-color: var(--line); background: var(--surface-2); font-size: 11.5px; }
.terminal .skip-link { background: var(--amber); color: #000; }

/* Chart panel */
.terminal .market-chart-panel .chart-legend { margin-left: auto; gap: 10px; font-size: 9.5px; font-weight: 600; }
.terminal .chart-toolbar { gap: 8px; padding: 5px 8px; align-items: center; }
.terminal .chart-control, .terminal .chart-select { display: flex; align-items: center; gap: 6px; font-size: 10px; }
.terminal .segmented-control { gap: 0; }
.terminal .segmented-control button { min-width: 34px; min-height: 22px; padding: 0 7px; border-radius: 0 !important; border-color: var(--line-strong); color: var(--ink-2); background: var(--surface); font: 500 10.5px var(--mono); }
.terminal .segmented-control button + button { margin-left: -1px; }
.terminal .segmented-control button.active, .terminal .segmented-control button[aria-pressed="true"] { color: #000; border-color: var(--amber); background: var(--amber); }
.terminal .chart-select select, .terminal .curve-panel select { min-height: 22px; min-width: 150px; padding: 0 24px 0 6px; border-radius: 0; border-color: var(--line-strong); background-color: var(--surface); font-size: 11px; }
.terminal .event-filter-row { min-height: 0; gap: 4px; padding: 4px 8px; border-top: 1px solid var(--line); }
.terminal .event-filter-row label { min-height: 20px; padding: 0 6px; border-radius: 0; border-color: var(--line); background: var(--surface); font-size: 10.5px; }
.terminal .event-filter-row input { width: 11px; height: 11px; }
.terminal .chart-canvas-wrap { min-height: 360px; margin-inline: 4px; }
.terminal .chart-status { padding: 4px 8px; }
.terminal .chart-foot { padding: 4px 8px; font-size: 10px; }
.terminal .chart-tooltip { border-radius: 0; border: 1px solid var(--line-strong); color: var(--ink); background: var(--surface-2); font-family: var(--mono); }
.terminal .chart-tooltip span { color: var(--ink-2); }
.terminal .chart-grid { stroke: var(--line); }
.terminal .chart-axis { fill: var(--ink-3); font: 10px var(--mono); }
.terminal .chart-close-line { stroke: var(--amber); stroke-width: 1.6; }
.terminal .chart-volume { fill: #4b5967; opacity: .7; }
.terminal .chart-legend span::before { background: var(--amber); }
.terminal .chart-legend .volume-key::before { background: #4b5967; }
.terminal .chart-legend .value-key::before { background: rgba(34, 192, 122, .35); }
.terminal .chart-legend .commodity-key::before { background: #b77ee0; }
.terminal .range-plot { min-height: 0; padding: 8px 10px 22px; }
.terminal .compact-range { min-height: 96px; }

/* Long-form reading stays comfortable inside a dense frame */
.terminal .markdown-report { max-width: 980px; padding: 12px 16px; font-size: 13px; line-height: 1.6; }
.terminal .markdown-report h1 { font-size: 20px; }
.terminal .markdown-report h2 { margin-top: 20px; padding-top: 10px; color: var(--amber); font-size: 15px; }
.terminal .markdown-report h3 { font-size: 13.5px; }
.terminal .markdown-report table { font-size: 12px; }

/* Footer */
.term-footer { display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 6px 10px; border-top: 1px solid var(--line); color: var(--ink-3); background: var(--surface); font-size: 10.5px; }
.term-footer-dev { margin-left: auto; }

/* ---------- Narrow screens ---------- */
@media (max-width: 1180px) {
  .monitor-layout { grid-template-columns: minmax(0, 1fr); }
  .ov-grid { grid-template-columns: minmax(0, 1fr); }
  .ov-chart, .ov-side, .ov-thesis, .ov-news, .ov-calendar, .ov-roster { grid-column: 1; grid-row: auto; }
  .terminal .metric-grid.six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .term-bar { gap: 8px; }
  .term-brand-name, .term-command kbd { display: none; }
  .term-command { flex-basis: 140px; }
  .term-tabs { top: 62px; }
  .sec-quote > div { min-width: 33%; }
  .thesis-grid { grid-template-columns: minmax(0, 1fr); }
  .thesis-grid > div:nth-child(odd) { border-right: 0; }
  .terminal .metric-grid.six, .terminal .metric-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .terminal .term-search input { width: 100%; }
  .term-filters { justify-content: flex-start; }
}

@media print {
  .term-bar, .term-tape, .term-tabs, .term-footer { display: none; }
}

/* ---------- Chart and range details ---------- */
.terminal .valuation-under-zone { fill: rgba(34, 192, 122, .07); }
.terminal .valuation-over-zone { fill: rgba(255, 92, 97, .06); }
.terminal .valuation-band { fill: rgba(34, 192, 122, .2); opacity: 1; }
.terminal .event-marker { stroke: var(--surface); stroke-width: 1; }
.terminal .range-track { height: 22px; margin: 26px 10px 20px; border-radius: 0; background: var(--surface-3); }
.terminal .range-zone { border-radius: 0; background: rgba(34, 192, 122, .32); }
.terminal .range-marker { top: -8px; height: 38px; width: 1px; background: var(--ink-2); }
.terminal .range-marker span { padding: 0 4px; border-radius: 0; color: var(--ink); background: var(--surface-3); font: 500 9.5px/14px var(--mono); }
.terminal .range-marker.weighted { background: var(--amber); }
.terminal .range-marker.weighted span { color: #000; background: var(--amber); }
.terminal .range-marker.price, .terminal .range-marker.price span { color: #000; background: var(--blue); }

/* ---------- Report figures (inline SVG colours from the research pipeline) ---------- */
[data-theme="dark"] .terminal svg text[fill="#334b43"],
[data-theme="dark"] .terminal svg text[fill="#687d70"] { fill: var(--ink-2); }
[data-theme="dark"] .terminal svg text[fill="#183e33"] { fill: var(--ink); }
[data-theme="dark"] .terminal svg line[stroke="#183e33"] { stroke: var(--ink-2); }
[data-theme="dark"] .terminal svg rect[fill="#183e33"] { fill: var(--ink-3); }
[data-theme="dark"] .terminal svg rect[fill="#faf3e8"] { fill: var(--surface-2); }
[data-theme="dark"] .terminal svg rect[stroke="#c1d2c8"] { stroke: var(--line-strong); }
[data-theme="dark"] .terminal svg line[stroke="#e1e8e3"],
[data-theme="dark"] .terminal svg line[stroke="#edf1ee"],
[data-theme="dark"] .terminal svg line[stroke="#dfe7e2"] { stroke: var(--line); }
[data-theme="dark"] .terminal svg circle[stroke="white"] { stroke: var(--surface); }
[data-theme="dark"] .terminal .citation-number { color: #04130b; }

/* ---------- Shareholders ---------- */
.terminal .shareholder-coverage { margin: 0 0 8px; font-size: 11.5px; }
.terminal .shareholder-panel .panel-heading { margin-bottom: 0; }
.terminal .shareholder-table th, .terminal .shareholder-table td { padding: 4px 10px; vertical-align: baseline; }
.terminal .shareholder-table thead th { padding-block: 6px; background: var(--surface-2); color: var(--ink-3); font: 600 10px/1.3 var(--sans); text-transform: uppercase; letter-spacing: .06em; }
.terminal .shareholder-table tbody tr:hover { background: var(--surface-2); }
.terminal .shareholder-table .shareholder-rank { width: 34px; font-family: var(--mono); }
.terminal .shareholder-name { display: inline; margin-right: 8px; font-size: 12.5px; font-weight: 600; }
.terminal .shareholder-caveat { display: inline; margin-right: 8px; }
.terminal .shareholder-badge { margin: 0 8px 0 0; padding: 1px 5px; background: var(--surface-3); border-radius: 2px; }
.terminal .shareholder-profile { margin: 0 8px 0 0; color: var(--blue); }
.terminal .shareholder-row-evidence { display: inline; margin: 0; }
.terminal .shareholder-row-evidence summary { display: inline; color: var(--ink-3); }
.terminal .shareholder-row-evidence[open] { display: block; margin-top: 4px; }
.terminal .shareholder-percent { font: 600 12.5px var(--mono); }
.terminal .shareholder-percent small { display: inline; margin-left: 6px; }
.terminal .shareholder-shares, .terminal .shareholder-table .shareholder-date { font-family: var(--mono); font-size: 12px; }
.terminal .shareholder-table-note { margin: 6px 10px 8px; }
.terminal .shareholder-review { padding: 8px 10px; }

/* ---------- Insiders ---------- */
.terminal .insiders-view { gap: 8px; }
.terminal .insider-switch { padding: 0; gap: 0; background: none; border: 1px solid var(--line); border-radius: 2px; }
.terminal .insider-switch a { padding: 4px 12px; border-radius: 0; color: var(--ink-2); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.terminal .insider-switch a[aria-current] { background: var(--amber); color: #000; }
.terminal .insider-filters { grid-template-columns: minmax(160px, 1.3fr) 1fr 1fr 130px 130px auto; align-items: end; gap: 8px; padding: 8px 10px; }
.terminal .insider-filters label { gap: 3px; color: var(--ink-3); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.terminal .insider-filters select, .terminal .insider-filters input { padding: 3px 6px; border-color: var(--line-strong); border-radius: 2px; background: var(--paper); color: var(--ink); font-size: 12px; }
.terminal .insider-filter-actions { grid-column: auto; gap: 10px; }
@media (max-width: 700px) {
  .terminal .insider-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .terminal .insider-filters label:first-of-type { grid-column: 1 / -1; }
  .terminal .insider-filter-actions { grid-column: 1 / -1; flex-wrap: wrap; }
}
.terminal .insider-metrics { gap: 8px; }
.terminal .insider-metrics article { padding: 8px 12px; gap: 2px; }
.terminal .insider-metrics strong { font: 600 18px var(--mono); }
.terminal .insider-table { font-size: 12px; }
.terminal .insider-table th, .terminal .insider-table td { padding: 4px 10px; border-bottom-color: var(--line); vertical-align: baseline; }
.terminal .insider-table thead th { padding-block: 6px; background: var(--surface-2); color: var(--ink-3); font: 600 10px/1.3 var(--sans); text-transform: uppercase; letter-spacing: .06em; }
.terminal .insider-table tbody tr:hover { background: var(--surface-2); }
.terminal .insider-table td.numeric, .terminal .insider-date { font-family: var(--mono); }
.terminal .insider-table small { display: inline; margin: 0 0 0 6px; color: var(--ink-3); font-size: 10.5px; }
.terminal .insider-table th[scope=row] small { margin-left: 0; }
.terminal .insider-table th[scope=row] small::before { content: "· "; }
.terminal .insider-action { padding: 1px 5px; border-radius: 2px; background: var(--surface-3); color: var(--ink-2); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.terminal .insider-action-purchase { background: var(--green-pale); color: var(--green); }
.terminal .insider-action-sale { background: var(--red-pale); color: var(--red); }
.terminal .insider-evidence { display: inline; margin: 0 0 0 8px; }
.terminal .insider-evidence summary { display: inline; color: var(--ink-3); }
.terminal .insider-evidence[open] { display: block; margin: 4px 0 0; }
.terminal .insider-profile { display: inline; margin: 0 0 0 6px; }
.terminal .insider-warning { padding: 6px 10px; border-left-color: var(--amber); background: var(--amber-pale); font-size: 12px; }

/* ---------- Management ---------- */
.terminal .management-cards { gap: 8px; margin-bottom: 8px; }
.terminal .management-findings { padding: 0 12px; }
.terminal .management-finding { padding: 8px 0; }
.terminal .management-finding h4 { margin: 4px 0; font-size: 13px; }
.terminal .management-finding p { margin: 4px 0; font-size: 12px; line-height: 1.5; }
.terminal .management-team-rating { padding: 0 12px 4px; }
.terminal .management-stars { font-size: 18px; }
.terminal .management-stars .filled { color: var(--amber); }
.terminal .management-stars .unfilled { color: var(--line-strong); }
.terminal .management-rating-details { padding: 0 12px 10px; }
.terminal .management-rating-details summary { color: var(--blue); }
.terminal .management-card-action { padding: 6px 12px; }
.terminal .management-card-action a { color: var(--blue); font-size: 12px; }
.terminal .management-gaps { padding: 8px 12px; }
[data-theme="dark"] .terminal .management-view .tag.secondary,
[data-theme="dark"] .terminal .management-category { color: var(--ink-2); background: var(--surface-3); }
[data-theme="dark"] .terminal .management-category.category-company_success,
[data-theme="dark"] .terminal .management-category.category-personal_success { color: var(--green); background: var(--green-pale); }
[data-theme="dark"] .terminal .management-category.category-failure,
[data-theme="dark"] .terminal .management-category.category-fraud,
[data-theme="dark"] .terminal .management-category.category-legal { color: var(--red); background: var(--red-pale); }
[data-theme="dark"] .terminal .management-category.category-safety,
[data-theme="dark"] .terminal .management-category.category-environment { color: var(--amber); background: var(--amber-pale); }
[data-theme="dark"] .terminal .management-category.category-education,
[data-theme="dark"] .terminal .management-category.category-governance,
[data-theme="dark"] .terminal .management-category.category-role_fit { color: var(--blue); background: var(--blue-pale); }

/* ---------- Investor directory ---------- */
.terminal .investor-intro { gap: 20px; padding-block: 10px 8px; }
.terminal .investor-intro h1, .terminal .investor-profile-heading h1 { font-size: 20px; font-weight: 600; letter-spacing: 0; }
.terminal .investor-lead { margin-top: 2px; font-size: 12px; }
.terminal .investor-stats { gap: 14px; }
.terminal .investor-stats div { padding-left: 12px; border-left-color: var(--line); }
.terminal .investor-stats dt { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.terminal .investor-stats dd { margin-top: 0; font: 600 18px var(--mono); letter-spacing: 0; }
.terminal .investor-stats .investor-stat-date { padding-top: 0; font-size: 13px; }
.terminal .investor-content { padding-block: 8px 24px; }
.terminal .investor-filters { gap: 8px; padding: 8px 10px; border-radius: 2px; }
.terminal .investor-filters input, .terminal .investor-filters select { min-height: 28px; padding: 3px 8px; border-radius: 2px; background: var(--paper); }
.terminal .investor-button { min-height: 28px; padding: 3px 14px; border-radius: 2px; background: var(--amber); color: #000; text-transform: uppercase; font-size: 11px; letter-spacing: .06em; }
.terminal .investor-clear { min-height: 28px; color: var(--blue); }
.terminal .investor-list-heading { margin: 12px 0 6px; }
.terminal .investor-list-heading h2 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.terminal .investor-list-heading h2 span, .terminal .investor-count { background: var(--surface-3); border-radius: 2px; font-family: var(--mono); }
.terminal .investor-download { color: var(--blue); }
.terminal .investor-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px; }
.terminal .investor-card { padding: 10px 12px; border-radius: 2px; }
.terminal .investor-kind { padding: 1px 5px; border-radius: 2px; color: var(--green); font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; }
.terminal .investor-card h3 { margin: 6px 0 2px; font-size: 14px; font-weight: 600; letter-spacing: 0; }
.terminal .investor-focus { min-height: 0; margin: 0 0 8px; font-size: 11px; }
.terminal .investor-vehicles { padding-top: 6px; }
.terminal .investor-vehicles h4 { margin-bottom: 3px; font-size: 9.5px; }
.terminal .investor-vehicles ul { font-size: 11.5px; }
.terminal .investor-vehicles li { margin-block: 1px; }
.terminal .investor-card footer { margin-top: 8px; }
.terminal .investor-profile { padding-block: 8px 24px; }
.terminal .investor-back { min-height: 24px; color: var(--blue); }
.terminal .investor-profile-heading { margin-block: 4px 10px; }

/* ---------- Financials ---------- */
.terminal .arrangement-status { color: var(--green); }
.terminal .shareholder-table thead th.shareholder-date, .terminal .shareholder-table thead th.shareholder-shares { font: 600 10px/1.3 var(--sans); }
.terminal .insider-table th[scope=row] { width: 380px; }
.terminal .insider-evidence summary { white-space: nowrap; }
.terminal .compact-range .range-track { margin-inline: 56px; }

/* Country codes: the country name shows on hover. */
abbr.v8-country { text-decoration: none; border-bottom: 1px dotted currentColor; cursor: help; }


/* ---------- Trend charts (Financials & capital, Insiders): see dashboard_v8/trend_charts.py ---------- */
.terminal .trend-panel { margin: 8px 0; padding: 0; }
.terminal .trend-panel > summary { display: flex; align-items: center; gap: 12px; min-height: 30px; padding: 4px 10px; cursor: pointer; list-style: none; background: var(--surface-2); }
.terminal .trend-panel > summary::-webkit-details-marker { display: none; }
.terminal .trend-panel > summary::after { content: none; }
.terminal .trend-panel[open] > summary { border-bottom: 1px solid var(--line); }
.terminal .trend-summary-title { flex: none; color: var(--ink); font: 600 10.5px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.terminal .trend-toggle { flex: none; margin-left: auto; color: var(--blue); font-size: 11px; }
.terminal .trend-toggle::after { content: " ▾"; color: var(--amber); }
.terminal .trend-panel[open] .trend-toggle::after { content: " ▴"; }
.terminal .trend-panel .when-open, .terminal .trend-panel[open] .when-closed { display: none; }
.terminal .trend-panel[open] .when-open { display: inline; }
.terminal svg .tc-grid { stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.terminal svg .tc-zero { stroke: var(--line-strong); stroke-width: 1; vector-effect: non-scaling-stroke; }
.terminal svg .tc-axis { fill: var(--ink-3); font: 9px var(--mono); }
.terminal svg rect.tc-green { fill: var(--green); }
.terminal svg rect.tc-red { fill: var(--red); }
.terminal svg rect:hover, .terminal svg circle:hover, .terminal svg polygon:hover { opacity: .8; }

/* Inline trends: one small chart on the same line as its figure */
.terminal .inline-trend { display: inline-block; width: 76px; height: 16px; vertical-align: middle; overflow: visible; }
.terminal .metric-value .inline-trend { width: 64px; height: 16px; margin-left: 10px; vertical-align: -1px; }
.terminal svg .it-bar { fill: var(--blue); }
.terminal svg .it-bar.is-neg { fill: var(--red); }
.terminal svg .it-bar.is-fc { opacity: .4; }
.terminal svg .it-line { fill: none; stroke: var(--blue); stroke-width: 1.3; vector-effect: non-scaling-stroke; }
.terminal svg .it-line.is-fc { stroke-dasharray: 2 2; opacity: .6; }
.terminal svg .it-dot { fill: var(--blue); }
.terminal svg .it-dot.is-fc { opacity: .5; }
.terminal svg .it-zero { stroke: var(--line-strong); stroke-width: 1; vector-effect: non-scaling-stroke; }
.terminal .financial-model th.fm-trend, .terminal .financial-model td.fm-trend { width: 84px; padding-left: 6px; padding-right: 6px; text-align: center; }

/* Insider activity chart */
.terminal .insider-chart-stats { display: flex; flex: 1; flex-wrap: wrap; gap: 4px 16px; color: var(--ink-3); font-size: 11px; }
.terminal .insider-chart-stats strong { font: 500 11px var(--mono); }
.terminal .insider-chart-body { padding: 6px 10px 6px; }
.terminal .insider-chart-svg { display: block; width: 100%; height: auto; }
.terminal svg .insider-price-line { fill: none; stroke: var(--ink-2); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.terminal svg .insider-mark { stroke: var(--surface); stroke-width: .8; }
.terminal svg .insider-buy { fill: var(--green); } .terminal svg .insider-sell { fill: var(--red); }
.terminal svg .insider-buy.is-hollow { fill: var(--surface); stroke: var(--green); stroke-width: 1.5; }
.terminal svg .insider-tick { stroke: var(--ink-3); stroke-width: 1.4; }
.terminal .insider-chart-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 2px; color: var(--ink-3); font-size: 10.5px; }
.terminal .insider-chart-legend > span { display: inline-flex; align-items: center; }
.terminal .insider-key { display: inline-block; flex: none; width: 10px; height: 10px; margin-right: 4px; vertical-align: -1px; }
.terminal .insider-key-tick { display: inline-block; width: 2px; height: 9px; margin-right: 4px; vertical-align: -1px; background: var(--ink-3); }

/* Capital events: one dense row per event */
.terminal .capital-events-table td, .terminal .capital-events-table th { vertical-align: top; }
.terminal .capital-events-table .ce-type { white-space: nowrap; }
.terminal .capital-events-table .ce-summary { display: -webkit-box; max-width: 72ch; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.terminal .capital-events-table .ce-terms { display: block; color: var(--ink-3); font-size: 10.5px; }
.terminal .capital-events-table td.num, .terminal .capital-events-table th.num { text-align: right; white-space: nowrap; }
.terminal .ce-status { display: inline-block; padding: 0 4px; color: var(--ink-2); background: var(--surface-3); font: 10px var(--mono); text-transform: uppercase; letter-spacing: .03em; }
.terminal .ce-status-completed { color: var(--green); background: var(--green-pale); }
.terminal .ce-status-ongoing, .terminal .ce-status-pending, .terminal .ce-status-announced { color: var(--amber); background: var(--amber-pale); }
@media (max-width: 720px) {
}

/* Nearby assets on the project map (static/nearby-map.js) */
.nearby-asset { background: none; border: 0; cursor: pointer; }
.nearby-asset:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.nearby-dot { position: absolute; left: 1px; top: 1px; width: 10px; height: 10px; border-radius: 50%; background: #59a6ff; border: 2px solid #ffffff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .55); box-sizing: border-box; }
.nearby-dot.is-core { background: #f5a524; }
.nearby-asset:hover .nearby-dot { transform: scale(1.35); }
.nearby-label { position: absolute; left: 15px; top: -3px; white-space: nowrap; font: 600 11px/16px var(--sans); color: #ffffff; text-shadow: 0 0 3px #000, 0 0 2px #000, 0 1px 2px #000; pointer-events: auto; }
.nearby-asset:hover .nearby-label { text-decoration: underline; }
.leaflet-tooltip.nearby-tip { min-width: 200px; max-width: 280px; white-space: normal; padding: 8px 10px; background: var(--surface, #0f1317); color: var(--ink, #d6dce3); border: 1px solid var(--line-strong, #313b46); border-radius: 3px; box-shadow: 0 4px 14px rgba(0, 0, 0, .45); font: 12px/1.4 var(--sans); }
.leaflet-tooltip.nearby-tip::before { border-top-color: var(--line-strong, #313b46); }
.nearby-tip-title { font-weight: 600; color: var(--ink, #d6dce3); }
.nearby-tip-company { color: var(--accent, #f5a524); font-family: var(--mono); font-size: 11px; margin-bottom: 4px; }
.nearby-tip-site, .nearby-tip-row { color: var(--ink-2, #a9b3be); }
.nearby-tip-hint { margin-top: 5px; color: var(--ink-3, #78838f); font-size: 11px; }
.nearby-control { background: var(--surface, #0f1317); color: var(--ink, #d6dce3); padding: 4px 8px; font: 11px/1.4 var(--sans); }
.nearby-control label { display: flex; align-items: center; gap: 6px; cursor: pointer; margin: 0; }
.nearby-own { background: none; border: 0; pointer-events: none; }
.nearby-own svg { display: block; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .6)); }
.nearby-own-label { position: absolute; left: 26px; top: 2px; white-space: nowrap; padding: 1px 6px; background: #e53935; color: #fff; border-radius: 2px; font: 700 11px/16px var(--sans); box-shadow: 0 1px 3px rgba(0, 0, 0, .5); }
