/* Research and News rooms, the page designer's pass (batch P9RES, 17 Oct 2026).
   One rule for every room: the head is a title, one short line and a bordered Explain control;
   every explanatory sentence a module prints sits behind that control (the room carries
   .is-explain while it is open). Figures first, words on request. Light tokens here,
   redeclared for dark under html[data-intel-theme="dark"]. No amber, no gradients, no shadows. */

body.research-page {
  --rp-ink: var(--intel-ink, #1A1F29);
  --rp-mut: var(--intel-mut, #5A626B);
  --rp-card: var(--intel-card, #FFFFFF);
  /* An edge a member can see: 4.7:1 on the white card, 5.5:1 on the dark one (owner rule 3:1 for a line token). */
  --rp-line: #64748B;
  --rp-line-soft: #E4E8EE;
  --rp-ctl: #64748B;
  --rp-accent: var(--jag-accent, #0F6E76);
  --rp-tint: var(--jag-accent-tint-soft, #E3F3F4);
  --rp-tint-line: var(--jag-tint-line, #4F949C);
  --rp-up: #117A37;
  --rp-dn: #B4232A;
}
html[data-intel-theme="dark"] body.research-page {
  --rp-line: #8B94A3;
  --rp-line-soft: #263142;
  --rp-ctl: #8B94A3;
  --rp-accent: #57CFD8;
  --rp-tint: #0E2B32;
  --rp-tint-line: #3E8E99;
  --rp-up: #4FC97F;
  --rp-dn: #FF6678;
}

/* ── THE ROOM HEAD ───────────────────────────────────────────────────────────── */
.rh { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px 16px; flex-wrap: nowrap; margin: 2px 0 12px; }
.rh-t { min-width: 0; flex: 1 1 auto; }
body.intel-premium .ria-pane-intro .rh h2 { margin: 0; font-size: 22px !important; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--rp-ink); }
.rh-k { display: block; margin-top: 3px; font-size: 13.5px; font-weight: 600; color: var(--rp-mut); line-height: 1.4; max-width: 72ch; }
.rh-info {
  appearance: none; -webkit-appearance: none; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  min-height: 32px; padding: 0 12px; border: 1px solid var(--rp-ctl); border-radius: var(--jag-radius, 2px); background: var(--rp-card); color: var(--rp-ink);
  font: inherit; font-size: 12.5px; font-weight: 800; cursor: pointer; white-space: nowrap;
}
.rh-info:hover { border-color: var(--rp-ink); }
.rh-info:focus-visible { outline: 2px solid var(--rp-accent); outline-offset: 2px; }
/* Open = a chosen option: outlined in teal, never filled. The 2px is paid for by 1px less padding. */
.rh-info.on { border: 2px solid var(--rp-accent); color: var(--rp-accent); padding: 0 11px; }
.rh-x { margin: -4px 0 14px; padding: 10px 12px; border: 1px solid var(--rp-ctl); border-radius: var(--jag-radius-panel, 4px); background: var(--rp-card); color: var(--rp-ink); font-size: 13.5px; line-height: 1.5; max-width: 78ch; }
.rh-x[hidden] { display: none; }
.rh-x p { margin: 0; }
.rh-x p + p { margin-top: 6px; }
/* A section head inside a room: one weight down from the room's own. */
.rs-h { margin: 0 0 10px; font-size: 17px; font-weight: 800; letter-spacing: -.015em; line-height: 1.2; color: var(--rp-ink); }
.ovw-sec .ria-pane-intro { margin-bottom: 8px; }
body.intel-premium .ovw-sec .ria-pane-intro h2.rs-h { font-size: 17px !important; margin: 0; }

/* ── WORDS ON REQUEST ────────────────────────────────────────────────────────
   Every explanatory line a module prints is drawn only while the room's Explain is open.
   Labels, figures, empty states and every control stay.
   NOT behind Explain (AUDIT9, 17 Oct 2026): a line that answers a press (My tickers with nothing to show,
   .news-tabs-hint.is-answer), a count (Free look-ups left today, .lookup-hint.has-count) and a warning
   (saved headlines read from this device only, .nr-line.nr-warn). They were caught by these class rules
   and a press looked like it did nothing. */
[data-ria-pane]:not(.is-explain) .ovw-acct-x,
[data-ria-pane]:not(.is-explain) .ovw-x,
[data-ria-pane]:not(.is-explain) .pf-x,
[data-ria-pane]:not(.is-explain) .bt-chart > .x,
[data-ria-pane]:not(.is-explain) .bt-stat > .x,
[data-ria-pane]:not(.is-explain) .bt-note:not(:has(.rex-btn)):not(:has(.bt-more)):not(:has(.jag-unlock-pro)),
[data-ria-pane]:not(.is-explain) .rs-quote-x,
[data-ria-pane]:not(.is-explain) .rs-x:not(.rs-x-keep),
[data-ria-pane]:not(.is-explain) .rs-tiles .etf-kpi .h,
[data-ria-pane]:not(.is-explain) .rs-under > span:last-child,
[data-ria-pane]:not(.is-explain) .rs-about-d,
[data-ria-pane]:not(.is-explain) .rs-fine,
[data-ria-pane]:not(.is-explain) .ivs-pw,
[data-ria-pane]:not(.is-explain) .ivs-starter,
[data-ria-pane]:not(.is-explain) .myr-x,
[data-ria-pane]:not(.is-explain) .cdsk-lede,
[data-ria-pane]:not(.is-explain) .cal-pw,
[data-ria-pane]:not(.is-explain) .cal-export-x,
[data-ria-pane]:not(.is-explain) .myr-pw,
[data-ria-pane]:not(.is-explain) .news-tabs-hint:not(.is-answer),
[data-ria-pane]:not(.is-explain) .lookup-hint:not(.has-count),
[data-ria-pane]:not(.is-explain) .lookup-hint.has-count > .lookup-hint-x,
[data-ria-pane]:not(.is-explain) .ntd-note,
[data-ria-pane]:not(.is-explain) .nr-foot-note,
[data-ria-pane]:not(.is-explain) .nr-line:not(.nr-warn),
[data-ria-pane]:not(.is-explain) .ria-freeline,
[data-ria-pane]:not(.is-explain) .ovw-fact > .ovw-x,
[data-ria-pane]:not(.is-explain) .ovw-map-h > .ovw-x,
/* Batch RESEARCH2 (owner, 30 Oct 2026: "We need to fix the research section too. There's a lot wrong and confusing
   with this"): the last paragraphs a Free member met under the tools. Calendar's two feed notes, the Screener's source
   line, its tone card's definition and its "What each filter and column means" fold, the watchlist, alerts and goals
   disclaimers. Each sits behind the room's Explain like every other explanation. */
[data-ria-pane]:not(.is-explain) .cal-note,
[data-ria-pane]:not(.is-explain) #scNote,
[data-ria-pane]:not(.is-explain) .sc-cons .sc-exp,
[data-ria-pane]:not(.is-explain) .sc-pwd,
[data-ria-pane]:not(.is-explain) .wd-note,
[data-ria-pane]:not(.is-explain) .cdsk-disc { display: none !important; }
/* The answer and the count win over the two older rules that hide these lines (AUDIT9): the hint carries
   data-coach-guide, which css/paper-trading-shell hides whenever Coach Jag is off, so with Coach off a press on My
   tickers never had a visible answer even before P9RES; and css/intel-tape.css keeps .lookup-hint off the Newsroom,
   which hid the Free count FREE2 put there. Higher specificity than both, so the order of the sheets does not matter. */
html body .jag-newsdesk .news-tabs-hint.is-answer { display: block !important; }
html body.research-page .lookup-hint.has-count { display: block !important; }
/* The Backtest door under the Overview's mix keeps its line short: the sentence before the link goes, the link stays. */
[data-ria-pane]:not(.is-explain) .bt-note > .bt-note-w { display: none; }
.bt-note:has(.bt-more) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }

/* ── THE EXAMPLE'S LABEL, ONE LINE ───────────────────────────────────────────── */
.rex-label { padding: 8px 12px !important; border-left-width: 3px !important; }
.rex-label .rex-lead { display: inline; margin: 0 8px 0 0; font-size: 13.5px; }
.rex-label .rex-line { font-weight: 500; color: var(--rp-mut); }
html[data-intel-theme="dark"] .rex-label .rex-line { color: #c7d2de; }
.rex-label .rex-words { font-size: 13.5px; }
.rex-tag { font-size: 11px !important; letter-spacing: .04em; text-transform: uppercase; }

/* ── OVERVIEW: FIGURES FIRST ─────────────────────────────────────────────────── */
#savedAccountSec .ovw-acct { border-radius: var(--jag-radius-panel, 4px); padding: 14px 16px; }
#savedAccountSec .ovw-acct .v { font-size: 30px; }
#ovwTiles { margin-top: 10px; }
#ovwTiles .ovw-card { gap: 1px; }
#ovwTiles .ovw-card .v { font-size: 22px; }
#ovwTiles .ovw-card .s { font-size: 12px; }
/* One edge weight everywhere on this page: the cards' heavier line and any shadow are gone. */
body.research-page .rsec, body.research-page .rx-block, body.research-page .pf-card, body.research-page .ovw-card, body.research-page .ovw-hero, body.research-page .ovw-facts, body.research-page .ovw-map, body.research-page .ovw-list, body.research-page .tkr-bar, body.research-page .ria-modes { box-shadow: none !important; }
.pf-card { border-radius: var(--jag-radius-panel, 4px); }
.pf-card-h h3 { font-size: 15px; }
#researchRiskLab .pf-qbtn { width: 32px; height: 32px; flex: 0 0 32px; }
@media (max-width: 767px) { #researchRiskLab .pf-qbtn { width: 44px; height: 44px; flex: 0 0 44px; } }

/* ── COMPANY: ONE SUMMARY BLOCK ───────────────────────────────────────────────── */
#stockDossierHead .rs-hero-nm { font-size: 17px; margin: 6px 0 0; }
#stockDossierHead .rs-hero-px { font-size: 36px; margin-top: 2px; }
#stockDossierHead .rs-hero-chg { margin-top: 4px; }
#stockDossierHead .rs-quote { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px 14px; margin-top: 12px; padding-top: 12px; }
#stockDossierHead .rs-quote dt { font-size: 10.5px; }
#stockDossierHead .rs-quote dd { font-size: 15px; }
#stockDossierHead .rs-hero .lead { margin: 10px 0 0; font-size: 14px; line-height: 1.45; }
#stockDossierHead .rs-quote .rs-q-x { margin: 4px 0 0; font-size: 12px; line-height: 1.4; color: var(--rp-mut); }
[data-ria-pane]:not(.is-explain) #stockDossierHead .rs-quote .rs-q-x { display: none; }
#stockDossierHead .rs-quote .rs-q-door { margin: 3px 0 0; font-size: 12.5px; }
#stockDossierHead .rs-quote .rs-q-door a { font-weight: 800; color: var(--rp-accent); text-decoration: underline; text-underline-offset: 2px; }
/* The example's label on the company page says one thing; the ticker line keeps its price so the identity rides when scrolling. */
#stockDossierHead .rs-hero-quick .rs-hero-chg .rng { font-weight: 600; }
#stockDossierHead .rs-tiles .etf-kpi { border-radius: var(--jag-radius-panel, 4px); }
#stockDossierHead .rs-tiles .etf-kpi .v { font-size: 19px; }
/* The company's headlines: titles only, source and time, nothing invented. */
.cn-list { margin: 0; padding: 0; list-style: none; }
.cn-list li { padding: 10px 0; border-bottom: 1px solid var(--rp-line-soft); }
.cn-list li:last-child { border-bottom: 0; padding-bottom: 2px; }
.cn-list a.cn-t { display: block; font-size: 14.5px; font-weight: 700; line-height: 1.35; color: var(--rp-ink); text-decoration: none; }
.cn-list a.cn-t:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--rp-accent); }
.cn-list .cn-m { display: block; margin-top: 3px; font-size: 12px; font-weight: 600; color: var(--rp-mut); }
.cn-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 14px; flex-wrap: wrap; }
.cn-head h2 { margin: 0; font-size: 16px; font-weight: 800; letter-spacing: -.015em; }
.cn-head .cn-k { font-size: 12px; font-weight: 700; color: var(--rp-mut); }
.cn-more { display: inline-flex; align-items: center; font: inherit; font-weight: 700; cursor: pointer; min-height: 36px; margin-top: 8px; padding: 0 12px; border: 1px solid var(--rp-ctl); border-radius: var(--jag-radius, 2px); background: var(--rp-card); color: var(--rp-ink); font-size: 13px; font-weight: 800; text-decoration: none; }
.cn-more:hover { border-color: var(--rp-ink); }
.cn-empty { margin: 0; font-size: 13.5px; color: var(--rp-mut); }
@media (max-width: 767px) { .cn-more { min-height: 44px; } .cn-list li { padding: 12px 0; } }

/* ── CALENDAR: THE WEEK FOR WHAT YOU HOLD OR WATCH ───────────────────────────── */
.cw { margin: 0 0 14px; border: 1px solid var(--rp-line); border-radius: var(--jag-radius-panel, 4px); background: var(--rp-card); padding: 12px 14px; }
.cw-h { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 14px; flex-wrap: wrap; margin: 0 0 8px; }
.cw-h b { font-size: 15px; font-weight: 800; letter-spacing: -.01em; color: var(--rp-ink); }
.cw-h span { font-size: 12px; font-weight: 700; color: var(--rp-mut); }
.cw-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cw-day { min-width: 0; border: 1px solid var(--rp-line-soft); border-radius: var(--jag-radius, 2px); padding: 8px 8px 6px; }
.cw-day.is-today { border-color: var(--rp-accent); }
.cw-day .d { display: block; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--rp-mut); }
.cw-day .n { display: block; font-size: 18px; font-weight: 800; letter-spacing: -.02em; color: var(--rp-ink); font-variant-numeric: tabular-nums; }
.cw-day ul { margin: 6px 0 0; padding: 0; list-style: none; }
.cw-day li { margin: 3px 0 0; }
.cw-day li .cw-ev { appearance: none; -webkit-appearance: none; font: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; max-width: 100%; min-height: 28px; padding: 0 7px; border: 1px solid var(--rp-ctl); border-radius: var(--jag-radius, 2px); background: var(--rp-card); color: var(--rp-ink); font-size: 11.5px; font-weight: 800; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cw-day li .cw-ev span { font-weight: 600; color: var(--rp-mut); }
.cw-day li .cw-ev.cw-e { border-color: var(--rp-tint-line); background: var(--rp-tint); color: var(--rp-accent); }
.cw-day li .cw-ev.cw-e span { color: var(--rp-accent); }
.cw-day li .cw-ev:hover { border-color: var(--rp-ink); }
.cw-day li .cw-ev:focus-visible { outline: 2px solid var(--rp-accent); outline-offset: 2px; }
.cw-day .cw-none { display: block; margin-top: 6px; font-size: 11.5px; color: var(--rp-mut); }
/* Each day's head is the day button (AUDIT9): the day, its market-wide count, pressed to open the day. */
.cw-dh { appearance: none; -webkit-appearance: none; font: inherit; cursor: pointer; display: block; width: 100%; min-width: 0; text-align: left; padding: 4px 6px; border: 1px solid var(--rp-ctl); border-radius: var(--jag-radius, 2px); background: var(--rp-card); color: var(--rp-ink); }
.cw-dh:hover { border-color: var(--rp-ink); }
.cw-dh:focus-visible { outline: 2px solid var(--rp-accent); outline-offset: 2px; }
.cw-dh[aria-pressed="true"] { border: 2px solid var(--rp-accent); padding: 3px 5px; }
.cw-dh .cw-mk { display: block; font-size: 11px; font-weight: 600; line-height: 1.25; color: var(--rp-mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cw-key { margin: 8px 0 0; font-size: 12px; color: var(--rp-mut); }
.cw-key i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; vertical-align: -1px; margin-right: 4px; border: 1px solid var(--rp-tint-line); background: var(--rp-tint); }
.cw-key i.cw-d { border-color: var(--rp-ctl); background: var(--rp-card); }
.cw-empty { margin: 0; font-size: 13.5px; color: var(--rp-mut); }
/* The strip is the week: the second row of seven day counts under it is not drawn (the month grid holds the counts). */
.cw + .cal-week { display: none; }
@media (max-width: 767px) {
  .cw-days { grid-template-columns: 1fr; gap: 4px; }
  .cw-day { display: grid; grid-template-columns: 124px minmax(0, 1fr); align-items: center; gap: 0 10px; padding: 6px 10px; }
  .cw-dh { min-height: 44px; }
  .cw-day .n { font-size: 16px; }
  .cw-day ul { margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
  .cw-day li { margin: 0; }
  .cw-day li .cw-ev { min-height: 44px; padding: 0 12px; font-size: 13px; }
  .cw-day .cw-none { margin: 0; }
}

/* ── SCREENER: THE PRESET ROW ────────────────────────────────────────────────── */
.sc-presets .sc-chip { font-weight: 800; }

/* ── NEWS ROOM: MOVERS FROM THE SCREENER'S LIST ─────────────────────────────── */
.mv-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 0 0 12px; }
.mv-row[hidden] { display: none; }
.mv-k { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--rp-mut); margin-right: 4px; }
.mv-chip { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; border: 1px solid var(--rp-ctl); border-radius: var(--jag-radius, 2px); background: var(--rp-card); color: var(--rp-ink); font: inherit; font-size: 12.5px; font-weight: 800; cursor: pointer; font-variant-numeric: tabular-nums; }
.mv-chip:hover { border-color: var(--rp-ink); }
.mv-chip.on { border: 2px solid var(--rp-accent); color: var(--rp-accent); padding: 0 9px; }
.mv-chip .up { color: var(--rp-up); } .mv-chip .dn { color: var(--rp-dn); }
.mv-x { flex: 1 1 100%; margin: 0; font-size: 11.5px; color: var(--rp-mut); }
@media (max-width: 767px) { .mv-chip { min-height: 44px; } }

/* ── SMALL SITE-RULE FIXES SEEN IN THE PICTURES ─────────────────────────────── */
@media (max-width: 767px) {
  .rh-info, .tkr-qbtn, .rface-btn, .rjump a, .cn-more { min-height: 44px; }
  .ovw-earn a.ovw-cal-go { min-height: 44px; }
}
