/* ============================================================
   TERMINAL.CSS — MoveCausality Professional Terminal Override
   Loaded last after layout.css, tape.css, eco.css, research.css.
   Implements flat tape rows, reduced border-radius, MC palette.
   All JS-dependent class names are preserved intact.
   ============================================================ */

/* ── MC Professional Design Tokens ───────────────────────── */
:root {
  --mc-bg:             #f4f6f9;
  --mc-surface:        #ffffff;
  --mc-surface-muted:  #f8fafc;
  --mc-surface-strong: #eef2f7;
  --mc-ink:            #111111;
  --mc-text:           #1f2420;
  --mc-muted:          #64748b;
  --mc-faint:          #94a3b8;
  --mc-border:         #d8dee9;
  --mc-border-soft:    #e5eaf1;
  --mc-accent:         #c88733;
  --mc-accent-soft:    #fff4df;
  --mc-link-muted:     #084c38;
  --mc-live:           #0e6b4f;
  --mc-positive:       #168246;
  --mc-positive-soft:  #e8f5ee;
  --mc-negative:       #c23631;
  --mc-negative-soft:  #fdecec;
  --mc-warning:        #b7791f;
  --mc-warning-soft:   #fff7e6;
  --mc-radius-xs:      3px;
  --mc-radius-sm:      4px;
  --mc-radius-md:      6px;
  --mc-radius-lg:      10px;
  --mc-shadow-sm:      0 1px 2px rgba(15,23,42,0.06);
  --mc-shadow-md:      0 8px 24px rgba(15,23,42,0.08);
}

/* ── Page background ──────────────────────────────────────── */
body {
  background-color: var(--mc-bg);
}

main.layout-grid {
  padding: 0.65rem 0.85rem 2rem;
  gap: 0.75rem;
}

/* ── Sticky header: flat white, no blur ──────────────────── */
#market-shell {
  background: var(--mc-surface) !important;
  border-bottom: 1px solid var(--mc-border) !important;
  box-shadow: 0 1px 4px rgba(15,23,42,0.06) !important;
  backdrop-filter: none !important;
}

/* ── Two-row header: primary right cluster ───────────────── */
/* header-global-meta holds ws-status + user-nav in row 1 */
.header-global-meta {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}
.header-global-meta .ws-status {
  flex: 0 0 auto !important;
  background: transparent !important;
  border-color: transparent !important;
}
.header-global-meta .user-nav {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  flex: 0 0 auto !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  min-height: 26px !important;
}

/* ── Two-row header: section meta (row 2 right side) ─────── */
/* header-secondary-meta holds Load Day in row 2 */
.header-secondary-meta {
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
}
/* Collapse cleanly when Load Day is absent (non-institutional) */
.header-secondary-meta:not(:has(*)) {
  display: none !important;
}

/* ── Row 1: ensure mode-tabs → global-meta alignment ──────── */
/* search grows to fill, mode-tabs pushed to right naturally */
.header-main-row #search-bar-wrapper {
  flex: 1 1 300px !important;
  max-width: 520px !important;
}

/* ── Row 2: section toolbar visual treatment ─────────────── */
.header-secondary-row {
  background: var(--mc-surface-muted) !important;
  border-top: 1px solid var(--mc-border-soft) !important;
  border-bottom: 1px solid var(--mc-border) !important;
}

/* Compress account cluster on laptop widths */
@media (max-width: 1400px) {
  .header-global-meta .user-nav .user-email {
    display: none !important;
  }
}
@media (max-width: 1100px) {
  .header-global-meta .user-nav .user-tier-badge {
    display: none !important;
  }
}

/* ── Market clock: compact terminal module ────────────────── */
#market-clock {
  border-radius: var(--mc-radius-sm) !important;
  background: var(--mc-surface-strong) !important;
  border: 1px solid var(--mc-border) !important;
  box-shadow: none !important;
}
#market-clock .clock-label {
  color: var(--mc-muted) !important;
}
#market-clock .clock-time {
  color: var(--mc-ink) !important;
}

/* ── WS status: no pill shape ─────────────────────────────── */
.ws-status {
  border-radius: var(--mc-radius-xs) !important;
  background: transparent !important;
  border-color: transparent !important;
}

/* ── Search bar: square corners ───────────────────────────── */
#search-bar {
  border-radius: var(--mc-radius-sm) !important;
  background: var(--mc-surface) !important;
  border: 1px solid var(--mc-border) !important;
  box-shadow: none !important;
}
#search-bar:focus {
  border-color: var(--mc-accent) !important;
  box-shadow: 0 0 0 2px rgba(200,135,51,0.14) !important;
  background: #fff !important;
}

/* ── Mode tabs: flat segment bar ─────────────────────────── */
.mode-tabs {
  background: transparent !important;
  border: 1px solid var(--mc-border) !important;
  border-radius: var(--mc-radius-sm) !important;
  padding: 2px !important;
  box-shadow: none !important;
}
.mode-tabs .tab-btn {
  border-radius: var(--mc-radius-xs) !important;
  color: var(--mc-muted) !important;
  min-height: 26px !important;
}
.mode-tabs .tab-btn.active {
  background: var(--mc-ink) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.mode-tabs .tab-btn:hover:not(.active) {
  background: var(--mc-surface-strong) !important;
  color: var(--mc-text) !important;
  box-shadow: none !important;
}

/* In broker/research modes the JS adds is-disabled — hide entirely
   so Row 2 shows only section-specific controls, not greyed tape chips */
.filter-chips.is-disabled {
  display: none !important;
}

/* ── Filter chips: square, no pills ──────────────────────── */
.filter-chips button {
  border-radius: var(--mc-radius-xs) !important;
  background: var(--mc-surface) !important;
  border: 1px solid var(--mc-border) !important;
  color: var(--mc-muted) !important;
}
.filter-chips button:hover:not(.active) {
  background: var(--mc-surface-strong) !important;
  color: var(--mc-text) !important;
  box-shadow: none !important;
}
.filter-chips button.active {
  background: var(--mc-ink) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* ── Guest / delayed tape banner: slim amber ─────────────── */
.guest-banner-compact {
  background: var(--mc-warning-soft) !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid rgba(183,121,31,0.22) !important;
  padding: 0.28rem 0.75rem !important;
  max-height: 60px;
  overflow: hidden;
  transition: max-height 0.2s ease, opacity 0.2s ease, padding 0.2s ease, border 0.2s ease;
}
/* Dismiss: collapse banner and free the space (all viewports) */
.guest-banner-hidden {
  max-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  border: none !important;
  overflow: hidden !important;
}
.guest-upgrade-btn.primary {
  background: var(--mc-ink) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: var(--mc-radius-xs) !important;
  text-decoration: none !important;
}
.guest-upgrade-btn.secondary {
  background: transparent !important;
  color: var(--mc-text) !important;
  border: 1px solid var(--mc-border) !important;
  border-radius: var(--mc-radius-xs) !important;
  text-decoration: none !important;
}
.terminal-legal-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 5px 12px;
  border-bottom: 1px solid var(--mc-border);
  background: var(--mc-surface);
  color: var(--mc-muted);
  font-size: 0.68rem;
  font-weight: 600;
}
.terminal-legal-strip a {
  color: var(--mc-accent);
  font-weight: 800;
  text-decoration: none;
}
.terminal-legal-strip a:hover {
  text-decoration: underline;
}

/* ── Headline stack: tape container ──────────────────────── */
.headline-stack {
  gap: 0 !important;
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-sm);
  overflow: hidden;
}

/* ── Headline card: tape row (not a floating card) ───────── */
.headline-card {
  border-radius: 0 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: 1px solid var(--mc-border-soft) !important;
  border-left: 3px solid transparent !important;
  box-shadow: none !important;
  background: var(--mc-surface) !important;
  margin: 0 !important;
  padding: 0.28rem 0.6rem 0.28rem 0.55rem !important;
  min-height: 40px !important;
}
.headline-card:last-child {
  border-bottom: none !important;
}
.headline-card:hover {
  background: var(--mc-surface-muted) !important;
  box-shadow: none !important;
}

/* Critical row: red left accent */
.headline-card.is-critical {
  border-top: none !important;
  border-right: none !important;
  border-bottom: 1px solid var(--mc-border-soft) !important;
  border-left: 3px solid var(--mc-negative) !important;
  background: var(--mc-surface) !important;
  box-shadow: none !important;
}
.headline-card.is-critical:hover {
  background: rgba(253,236,236,0.36) !important;
}

/* High-impact row: amber left accent */
.headline-card[data-impact="high"]:not(.is-critical) {
  border-top: none !important;
  border-right: none !important;
  border-bottom: 1px solid var(--mc-border-soft) !important;
  border-left: 3px solid var(--mc-warning) !important;
  background: var(--mc-surface) !important;
  box-shadow: none !important;
}
.headline-card[data-impact="high"]:not(.is-critical):hover {
  background: rgba(255,247,230,0.36) !important;
}

/* New incoming row: live/trust emerald, no decorative cool. */
.headline-card.is-new {
  background: rgba(232,244,239,0.42) !important;
  box-shadow: none !important;
  border-left: 3px solid var(--mc-live) !important;
}
.headline-card.is-new::after {
  display: none !important;
}

/* Eco flash row: no special background, keep clean */
.headline-card.eco-flash-headline {
  background: var(--mc-surface) !important;
}
.headline-card.eco-flash-headline .headline-main-row {
  background: transparent !important;
}

/* ── Headline timestamp ───────────────────────────────────── */
.headline-formatted-timestamp {
  color: var(--mc-muted) !important;
  font-weight: 600 !important;
  font-size: 0.70rem !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  line-height: 1.15 !important;
}

/* Date shown on ALL rows (today included) so every card carries date + year,
   matching prior-day cards — traders should never have to infer the date. */
.headline-formatted-timestamp.is-today .ts-date {
  display: block !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  color: var(--mc-faint) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
.headline-formatted-timestamp.is-today .ts-time {
  display: block !important;
  font-size: 0.70rem !important;
  color: var(--mc-muted) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
}

/* Non-today rows: show compact date above the time */
.headline-formatted-timestamp:not(.is-today) .ts-date {
  display: block !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  color: var(--mc-faint) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
.headline-formatted-timestamp:not(.is-today) .ts-time {
  display: block !important;
  font-size: 0.70rem !important;
  color: var(--mc-muted) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
}

/* Search results: always show date regardless of today */
body.search-mode .headline-formatted-timestamp .ts-date {
  display: block !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  color: var(--mc-faint) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
body.search-mode .headline-formatted-timestamp .ts-time {
  display: block !important;
  font-size: 0.69rem !important;
  color: var(--mc-muted) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
}

/* Widen timestamp column slightly to fit two-line date+time on non-today rows */
.headline-formatted-timestamp:not(.is-today) ~ * {
  /* handled by card-meta min-height auto-expand */
}

/* ── Category chip: compact, low-noise ───────────────────── */
.classification-chip {
  border-radius: var(--mc-radius-xs) !important;
  background: var(--mc-surface-strong) !important;
  color: var(--mc-muted) !important;
  border-color: var(--mc-border) !important;
  font-size: 0.57rem !important;
}

/* ── Impact pills ─────────────────────────────────────────── */
.impact-pill {
  border-radius: var(--mc-radius-xs) !important;
}
.impact-critical {
  background: var(--mc-negative) !important;
  border-color: #a32e2a !important;
}
.impact-high {
  background: var(--mc-warning) !important;
  border-color: #9a6218 !important;
}

/* ── MR inline chips: square, more readable ──────────────── */
.headline-mr-inline-label,
.headline-mr-inline-symbol {
  border-radius: var(--mc-radius-xs) !important;
}
.headline-mr-inline-state,
.headline-mr-inline-tag,
.headline-mr-inline-metric {
  border-radius: var(--mc-radius-xs) !important;
}
.headline-mr-inline-state.is-up {
  color: var(--mc-positive) !important;
  background: var(--mc-positive-soft) !important;
  border-color: rgba(22,130,70,0.22) !important;
}
.headline-mr-inline-state.is-down {
  color: var(--mc-negative) !important;
  background: var(--mc-negative-soft) !important;
  border-color: rgba(194,54,49,0.22) !important;
}
.headline-mr-inline-metric.is-up {
  color: var(--mc-positive) !important;
  background: var(--mc-positive-soft) !important;
  border-color: rgba(22,130,70,0.22) !important;
}
.headline-mr-inline-metric.is-down {
  color: var(--mc-negative) !important;
  background: var(--mc-negative-soft) !important;
  border-color: rgba(194,54,49,0.22) !important;
}

/* ── Arc / narrative toggle: compact professional ─────────── */
.arc-history-trigger {
  border-radius: var(--mc-radius-sm) !important;
  background: var(--mc-surface-muted) !important;
  border: 1px solid var(--mc-border-soft) !important;
  box-shadow: none !important;
}
.arc-history-trigger:hover {
  background: var(--mc-surface-strong) !important;
  border-color: var(--mc-border) !important;
  box-shadow: none !important;
}

/* ── Insight blocks ───────────────────────────────────────── */
.insight-block {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── User tier badge: flat small ─────────────────────────── */
.user-tier-badge {
  border-radius: var(--mc-radius-xs) !important;
}

/* ── Research / broker select wrapper ────────────────────── */
.research-select-wrapper {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── Market radar shell ───────────────────────────────────── */
.radar-inline-shell {
  border-radius: 8px !important;
  border: 1px solid #d7e3f0 !important;
  box-shadow: none !important;
  background: #f8fbff !important;
  padding: 6px 10px !important;
  margin-bottom: 0.5rem !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden !important;
  width: 100% !important;
}

/* Keep radar in one scrollable row on all viewports */
.radar-inline-shell .radar-assets-grid {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
.radar-inline-shell .radar-assets-grid::-webkit-scrollbar {
  display: none !important;
}

/* Radar tiles: sharp, clipped, number-forward */
.radar-tile,
.radar-inline-shell .radar-tile {
  height: 36px !important;
  min-height: 36px !important;
  min-width: 130px !important;
  max-width: 190px !important;
  flex: 1 1 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  border-radius: 6px !important;
  border: 1px solid #c9dff0 !important;
  background: #f8fbff !important;
  padding: 3px 6px 3px 14px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.2s !important;
}
.radar-tile:hover,
.radar-inline-shell .radar-tile:hover {
  border-color: #cbd5e1 !important;
  box-shadow: none !important;
  background: #f1f5f9 !important;
}

.radar-inline-shell .radar-tile-symbol {
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  color: #617089 !important;
  text-transform: uppercase !important;
  margin-bottom: 1px !important;
  line-height: 1 !important;
}

.radar-inline-shell .radar-tile-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  line-height: 1 !important;
  justify-content: flex-start !important;
  width: 100% !important;
}

.radar-inline-shell .radar-tile-price {
  font-size: 13px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  font-variant-numeric: tabular-nums !important;
}

.radar-inline-shell .radar-tile-pct {
  font-size: 10px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Sparkline host: allow proper shrink, clip overflow */
.radar-inline-shell .radar-mini-chart-host {
  overflow: hidden !important;
  min-width: 0 !important;
  flex-shrink: 0 !important;
  width: 54px !important;
  height: 20px !important;
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* SVG itself: contained, no overflow bleed */
.radar-inline-shell .radar-mini-chart {
  overflow: visible !important;
  min-width: 0 !important;
  width: 54px !important;
  height: 20px !important;
  display: block !important;
}

/* RTL Specific Overrides */
[dir="rtl"] .radar-tile,
[dir="rtl"] .radar-inline-shell .radar-tile {
  padding: 3px 14px 3px 6px !important;
}
[dir="rtl"] .radar-inline-shell .radar-mini-chart-host {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* On very narrow viewports: hide sparklines and make tiles smaller */
@media (max-width: 900px) {
  .radar-inline-shell {
    height: 48px !important;
    gap: 6px !important;
  }
  .radar-inline-shell .radar-mini-chart-host {
    display: none !important;
  }
  .radar-tile,
  .radar-inline-shell .radar-tile {
    min-width: 110px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 3px 6px 3px 10px !important;
  }
  [dir="rtl"] .radar-tile,
  [dir="rtl"] .radar-inline-shell .radar-tile {
    padding: 3px 10px 3px 6px !important;
  }
  .radar-inline-shell .radar-tile-price {
    font-size: 12px !important;
  }
  .radar-inline-shell .radar-tile-pct {
    font-size: 9px !important;
  }
}

/* ── Economic calendar shell ──────────────────────────────── */
.eco-drawer-shell {
  border-radius: var(--mc-radius-md) !important;
  border: 1px solid var(--mc-border) !important;
  box-shadow: none !important;
}
.eco-live-pill {
  border-radius: var(--mc-radius-xs) !important;
}
.eco-subtitle {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── Eco panel header: flat, no gradient ─────────────────── */
.eco-panel-header {
  background: var(--mc-surface-muted) !important;
}

/* ── Recurring indicator (eco history) panel ─────────────── */
.recurring-indicator-panel {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── Benzinga structured panel ────────────────────────────── */
.benzinga-structured-panel {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── Earnings release panel ───────────────────────────────── */
.earnings-release-panel {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── Market reaction detail disclosure ────────────────────── */
.mr-detail-disclosure {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── Tooltip overlays: slightly less rounded ──────────────── */
.cb-speaker-tooltip,
.mr-chip-tooltip {
  border-radius: var(--mc-radius-md) !important;
}

/* ── Eco float button ─────────────────────────────────────── */
.eco-float-btn {
  border-radius: var(--mc-radius-sm) !important;
}

/* ── Back to top button ───────────────────────────────────── */
#backToTop {
  border-radius: var(--mc-radius-sm) !important;
  background: var(--mc-ink) !important;
}

/* ── New updates pill (shown by JS when scrolled down) ────── */
#newUpdatesPill {
  position: fixed;
  top: 86px;
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  z-index: 1100;
  background: var(--mc-ink);
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.32rem 0.85rem;
  border-radius: var(--mc-radius-sm);
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(11,16,32,0.22);
  border: none;
  display: none;
  white-space: nowrap;
  letter-spacing: 0.02em;
  transition: transform 0.18s ease, opacity 0.18s ease;
  opacity: 0;
}
#newUpdatesPill.visible {
  display: block;
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

/* ============================================================
   TAPE HIERARCHY REFINEMENT
   ============================================================ */

/* ── Truth Social / long_form_post: collapse to a lead preview ─── */
/* A long rambling opinion post must not flood the feed, so clamp it to a few
   lead lines with a working "Show full post" toggle (JS-wired, only shown when
   actually truncated). AUTO-EXPAND the ones that earn attention: high/critical
   impact or a meaningful market reaction — so a critical Iran post shows in full
   while a personal grievance stays a short stub. de-bold (normal weight) kept so
   the post reads as body copy and AI highlights can stand out. */
.post-expand-btn {
  display: inline-flex !important;
}
/* The title must NOT be a flex item or -webkit-line-clamp blockifies it to
   flow-root and the clamp is ignored. Long-form posts are full-width text, so a
   block wrap is fine. (Skip when an inline market-reaction line shares the wrap.) */
.headline-card[data-display-mode="long_form_post"]:not([data-has-market-reaction="true"]) .headline-title-wrap,
.headline-card[data-source="truth_social"]:not([data-has-market-reaction="true"]) .headline-title-wrap {
  display: block !important;
}
.headline-card[data-display-mode="long_form_post"] .headline-title,
.headline-card[data-source="truth_social"] .headline-title,
.headline-card[data-source="truth-social"] .headline-title,
.headline-card[data-source="truth social"] .headline-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: none !important;
  text-overflow: ellipsis !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
/* Auto-expand: the posts that matter, or once the user clicks "Show full post". */
.headline-card[data-display-mode="long_form_post"].post-expanded .headline-title,
.headline-card[data-display-mode="long_form_post"][data-impact="high"] .headline-title,
.headline-card[data-display-mode="long_form_post"][data-impact="critical"] .headline-title,
.headline-card[data-display-mode="long_form_post"][data-has-market-reaction="true"] .headline-title,
.headline-card[data-source="truth_social"][data-impact="high"] .headline-title,
.headline-card[data-source="truth_social"][data-impact="critical"] .headline-title,
.headline-card[data-source="truth_social"][data-has-market-reaction="true"] .headline-title {
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
/* No "Show full post" on auto-expanded posts (already full). */
.headline-card[data-display-mode="long_form_post"][data-impact="high"] .post-expand-btn,
.headline-card[data-display-mode="long_form_post"][data-impact="critical"] .post-expand-btn,
.headline-card[data-display-mode="long_form_post"][data-has-market-reaction="true"] .post-expand-btn {
  display: none !important;
}

/* ============================================================
   TYPOGRAPHY PASS — trader-grade feed type system
   Crisp Inter rendering + a clear, consistent hierarchy so the tape
   scans fast: headline = focal (semibold, not heavy-black), meta recedes,
   labels read as tight uppercase micro-chips, numbers align (tabular).
   ============================================================ */

/* Refined Inter rendering across the feed: variable optical sizing + grayscale
   smoothing so small text stays crisp instead of looking like a default sans. */
#accordionHeadlines,
#accordionHeadlines .headline-card {
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headline = the scanning surface. 700 reads heavy/blocky at tape sizes; 600
   semibold is the fintech standard (Bloomberg/Koyfin). A hair of negative
   tracking is what makes Inter look "designed" rather than default. */
#accordionHeadlines .headline-card .headline-title {
  font-weight: 600 !important;
  letter-spacing: -0.006em !important;
  color: #0f172a !important;
}

/* Long-form (Truth Social) stays body-copy weight (so AI bold can stand out and
   a rant doesn't shout) — this higher-specificity rule keeps the de-bold; just
   tighten tracking a touch to match. */
#accordionHeadlines .headline-card[data-display-mode="long_form_post"] .headline-title,
#accordionHeadlines .headline-card[data-source="truth_social"] .headline-title {
  font-weight: 400 !important;
  letter-spacing: -0.003em !important;
}

/* Category chips: crisp uppercase micro-labels with proper tracking — the
   terminal-standard look, vs the soft 9px sentence-case pills. */
#accordionHeadlines .classification-chip,
#accordionHeadlines .chip-category {
  text-transform: uppercase !important;
  letter-spacing: 0.055em !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

/* Timestamps: tabular figures (already) + slight tracking on the uppercase date
   row so digits and the MMM DD label sit evenly. */
#accordionHeadlines .headline-formatted-timestamp {
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0.012em !important;
}

/* ── ASSIGN ARC: hover-only, not visible by default ──────── */
.arc-assign-btn {
  display: none !important;
}
.headline-card:hover .arc-assign-btn {
  display: inline-flex !important;
  opacity: 0.65;
  font-size: 0.58rem !important;
  padding: 0.1rem 0.38rem !important;
  min-height: 16px !important;
}
/* Collapse footer margin when only the arc button remains */
.headline-title-footer:has(> .headline-tags > .arc-assign-btn:only-child) {
  margin-top: 0 !important;
}
/* Also collapse if headline-tags is effectively empty after hiding arc */
.headline-tags:has(> .arc-assign-btn:only-child) {
  display: none !important;
}

/* display:flex on .earnings-release-body overrides the browser's built-in
   details[closed] visibility — re-enforce hide when closed */
details.earnings-release-panel:not([open]) > .earnings-release-body {
  display: none !important;
}

/* ── Earnings release panel: compact closed summary ──────── */
.earnings-release-panel {
  border-radius: var(--mc-radius-sm) !important;
  background: var(--mc-surface-muted) !important;
  border: 1px solid var(--mc-border) !important;
  margin: 0.15rem 0 0.1rem !important;
}
.earnings-release-summary {
  padding: 0.3rem 0.6rem !important;
  gap: 0.5rem !important;
}
.earnings-release-kicker {
  font-size: 0.58rem !important;
  letter-spacing: 0.05em !important;
}
.earnings-release-label {
  font-size: 0.7rem !important;
}
.earnings-release-reaction-chip {
  border-radius: var(--mc-radius-xs) !important;
  padding: 0.18rem 0.4rem !important;
  font-size: 0.65rem !important;
}

/* ── Earnings panel: compact expanded body ────────────────── */
/* Cap height even when open — prevents dominating the viewport */
.earnings-release-body {
  padding: 0.3rem 0.5rem 0.4rem !important;
  max-height: 200px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.erc-grid {
  font-size: 0.73rem !important;
  border-radius: var(--mc-radius-sm) !important;
}
.erc-panel {
  padding: 0.38rem 0.55rem !important;
  gap: 0.28rem !important;
}
.erc-panel-hdr {
  font-size: 0.59rem !important;
  padding-bottom: 0.2rem !important;
  margin-bottom: 0 !important;
}
.erc-metrics-tbl thead th {
  padding: 0 4px 3px !important;
  font-size: 0.58rem !important;
}
.erc-metrics-tbl td {
  padding: 3px 4px !important;
}
.erc-metric-actual {
  font-size: 0.76rem !important;
}
.erc-metric-est,
.erc-metric-surp {
  font-size: 0.68rem !important;
}
.erc-guidance-tbl td {
  padding: 3px 4px !important;
  font-size: 0.71rem !important;
}

/* ── Narrative arc row: indent to headline column ────────── */
.arc-history-trigger {
  margin-left: calc(var(--headline-meta-col, 96px) + var(--headline-category-col, 118px) + 16px) !important;
  max-width: calc(100% - var(--headline-meta-col, 96px) - var(--headline-category-col, 118px) - 16px) !important;
}

/* Narrative arc cards: make speaker/body headlines read as one story module. */
.headline-card.has-narrative-arc {
  border-left-color: var(--mc-live) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfa 100%) !important;
}

.headline-card.has-narrative-arc.is-critical {
  border-left-color: var(--mc-negative) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fff8f6 100%) !important;
}

.headline-card.has-narrative-arc .headline-main-row {
  margin-bottom: 4px !important;
}

.headline-card.has-narrative-arc .arc-history-trigger {
  width: calc(100% - var(--headline-content-offset, 244px) - 12px) !important;
  max-width: 930px !important;
  min-height: 34px !important;
  margin-top: 6px !important;
  margin-inline-start: var(--headline-content-offset, 244px) !important;
  padding: 6px 8px !important;
  gap: 8px !important;
  justify-content: flex-start !important;
  border-color: #d5e4df !important;
  border-left: 3px solid var(--mc-live) !important;
  border-radius: 7px !important;
  background: #f7fbfa !important;
}

.headline-card.has-narrative-arc .arc-history-trigger:hover,
.headline-card.has-narrative-arc .arc-history-trigger.is-open {
  background: #f1f8f5 !important;
  border-color: #b9d6cc !important;
}

.headline-card.has-narrative-arc .arc-history-icon {
  width: 24px !important;
  height: 24px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--mc-positive-soft) !important;
  color: var(--mc-live) !important;
  font-size: 11px !important;
}

.headline-card.has-narrative-arc .arc-history-left {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.headline-card.has-narrative-arc .arc-history-title {
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}

.headline-card.has-narrative-arc .arc-history-label {
  color: #475569 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.headline-card.has-narrative-arc .arc-history-sep {
  color: #94a3b8 !important;
}

.headline-card.has-narrative-arc .arc-history-name {
  max-width: min(44vw, 520px) !important;
  color: var(--mc-live) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.headline-card.has-narrative-arc .arc-history-sub {
  flex: 0 0 auto !important;
  border: 1px solid #d8e2ea !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #52637a !important;
  padding: 2px 7px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

.headline-card.has-narrative-arc .arc-history-cta {
  display: none !important;
}

.headline-card.has-narrative-arc .arc-history-chevron {
  margin-left: auto !important;
  width: 24px !important;
  height: 22px !important;
  border: 1px solid #d8e2ea !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #475569 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

.headline-card.has-narrative-arc .arc-history-trigger.is-open .arc-history-chevron {
  color: var(--mc-live) !important;
  border-color: #b9d6cc !important;
}

.headline-card.has-narrative-arc .headline-details.narrative-body {
  width: calc(100% - var(--headline-content-offset, 244px) - 12px) !important;
  max-width: 930px !important;
  margin: 7px 0 5px 0 !important;
  margin-inline-start: var(--headline-content-offset, 244px) !important;
  margin-inline-end: 12px !important;
  padding: 10px 14px 10px 16px !important;
  box-sizing: border-box !important;
  border: 1px solid #dce7e2 !important;
  border-left: 3px solid var(--mc-live) !important;
  border-inline-start: 3px solid var(--mc-live) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #1f2b3d !important;
  font-size: 0.86rem !important;
  line-height: 1.34 !important;
}

.headline-card.has-narrative-arc .headline-details.narrative-body ul {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  padding-left: 18px !important;
}

.headline-card.has-narrative-arc .headline-details.narrative-body li {
  margin: 0 !important;
  padding-left: 2px !important;
}

.headline-card.has-narrative-arc .headline-details.narrative-body li::marker {
  color: var(--mc-live) !important;
  font-size: 0.72em !important;
}

.headline-card.has-narrative-arc .headline-details.narrative-body p {
  margin: 0 0 6px 0 !important;
}

.headline-card.has-narrative-arc .headline-details.narrative-body p:last-child {
  margin-bottom: 0 !important;
}

/* Expanded narrative drawer spans the FULL card content width so each row can
   inherit the card's own column grid: timestamp in the left gutter (aligned with
   the parent card timestamp) and headline in the content column (aligned with the
   parent headline). Reads as the same story thread continuing, not an indented box. */
.headline-card.has-narrative-arc .arc-timeline-pane {
  width: auto !important;
  max-width: 100% !important;
  margin: 8px 12px 6px 0 !important;
  margin-inline-start: 0 !important;
  border-radius: 7px !important;
}

body.search-mode .headline-card.has-narrative-arc .arc-history-trigger,
body.search-mode .headline-card.has-narrative-arc .arc-timeline-pane,
body.search-mode .headline-card.has-narrative-arc .headline-details.narrative-body {
  width: calc(100% - 152px) !important;
  max-width: 980px !important;
  margin-inline-start: 140px !important;
}

@media (max-width: 980px) {
  .headline-card.has-narrative-arc .arc-history-trigger,
  .headline-card.has-narrative-arc .arc-timeline-pane,
  .headline-card.has-narrative-arc .headline-details.narrative-body {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
  }

  body.search-mode .headline-card.has-narrative-arc .arc-history-trigger,
  body.search-mode .headline-card.has-narrative-arc .arc-timeline-pane,
  body.search-mode .headline-card.has-narrative-arc .headline-details.narrative-body {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
  }

  .headline-card.has-narrative-arc .arc-history-left {
    flex-wrap: wrap !important;
    row-gap: 3px !important;
  }

  .headline-card.has-narrative-arc .arc-history-name {
    max-width: 62vw !important;
  }
}

@media (max-width: 520px) {
  .headline-card.has-narrative-arc .arc-history-sub {
    display: none !important;
  }

  .headline-card.has-narrative-arc .headline-details.narrative-body {
    padding: 9px 10px 9px 12px !important;
    font-size: 0.82rem !important;
  }
}

/* ── Critical row: reduce footer spacing ─────────────────── */
.headline-card.is-critical .headline-title-footer,
.headline-card[data-impact="high"] .headline-title-footer {
  margin-top: 2px !important;
}

/* ── Density compact mode ─────────────────────────────────── */
body.tape-density-compact .headline-card {
  padding: 0.2rem 0.6rem 0.2rem 0.55rem !important;
  min-height: 32px !important;
}

/* ============================================================
   SEARCH MODE OVERRIDES
   ============================================================ */

/* ── Search panel wrapper ─────────────────────────────────── */
.mc-search-panel {
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-sm);
  margin-bottom: 0.5rem;
  overflow: hidden;
}

/* ── Search header row ────────────────────────────────────── */
.mc-search-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0.45rem 0.75rem;
  border-bottom: 1px solid var(--mc-border-soft);
  background: var(--mc-surface-muted);
}
.mc-search-summary {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  min-width: 0;
  font-size: 0.72rem;
  color: var(--mc-muted);
}
.mc-search-label {
  font-weight: 500;
}
.mc-search-query {
  font-weight: 700;
  color: var(--mc-text);
  font-size: 0.75rem;
}
.mc-search-dot {
  color: var(--mc-faint);
}
.mc-search-meta {
  font-weight: 600;
  color: var(--mc-text);
}
.mc-search-scope {
  color: var(--mc-faint);
  font-size: 0.67rem;
}
.mc-search-clear {
  flex-shrink: 0;
  font-size: 0.67rem;
  font-weight: 700;
  color: var(--mc-muted);
  text-decoration: none;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--mc-border);
  border-radius: var(--mc-radius-xs);
  background: var(--mc-surface);
  white-space: nowrap;
  transition: background 0.12s;
}
.mc-search-clear:hover {
  background: var(--mc-surface-strong);
  color: var(--mc-text);
}

/* ── Search filter chips ──────────────────────────────────── */
.mc-search-filterbar {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0.35rem 0.75rem;
  background: var(--mc-surface);
}
.mc-search-chip {
  height: 24px;
  padding: 0 9px;
  border-radius: var(--mc-radius-xs);
  border: 1px solid var(--mc-border);
  background: var(--mc-surface);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--mc-muted);
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.12s, color 0.12s;
}
.mc-search-chip:hover:not(.is-active) {
  background: var(--mc-surface-strong);
  color: var(--mc-text);
}
.mc-search-chip.is-active {
  background: var(--mc-ink);
  color: #ffffff;
  border-color: var(--mc-ink);
}
.mc-search-count {
  margin-left: auto;
  font-size: 0.64rem;
  font-weight: 600;
  color: var(--mc-faint);
  font-variant-numeric: tabular-nums;
}

/* ============================================================
   SEARCH OVERLAY — LAPTOP-FIRST (1366–1920px viewports)
   Target: compact panel ~820–860px, anchored in the content
   area, internally scrollable, does not dominate the screen.
   ============================================================ */

/* Layout: tighten page padding in search mode */
body.search-mode main.layout-grid {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 12px 16px !important;
  display: block !important;
}

body.search-mode .market-stream {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

body.search-mode #headlines-container {
  width: 100% !important;
  max-width: 1180px !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.search-mode .mc-search-panel {
  width: 100% !important;
  background: var(--mc-surface) !important;
  border: 1px solid var(--mc-border) !important;
  border-radius: var(--mc-radius-sm) !important;
  margin-bottom: 0.75rem !important;
  flex-shrink: unset !important;
}

body.search-mode .headline-stack {
  width: 100% !important;
  background: var(--mc-surface) !important;
  border: 1px solid var(--mc-border) !important;
  border-radius: var(--mc-radius-sm) !important;
  overflow: visible !important;
  max-height: none !important;
  flex: none !important;
}

/* Slim Banners */
body.search-mode .guest-banner-compact {
  height: 36px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 0.7rem !important;
  border-bottom: 1px solid rgba(183,121,31,0.22) !important;
  box-sizing: border-box !important;
}

body.search-mode .guest-banner-compact .guest-banner-text {
  font-size: 0.7rem !important;
  line-height: 1 !important;
}

body.search-mode .guest-banner-compact .guest-upgrade-btn {
  font-size: 0.65rem !important;
  padding: 2px 8px !important;
  line-height: 1.1 !important;
}

body.search-mode .terminal-legal-strip {
  height: 24px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.65rem !important;
  line-height: 1 !important;
  border-bottom: 1px solid var(--mc-border) !important;
  box-sizing: border-box !important;
}

body.search-mode .terminal-legal-strip.dismissed {
  display: none !important;
  height: 0 !important;
}

/* Stable Result Row Grid & Spacing */
body.search-mode .headline-card {
  min-height: 54px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid #e5eaf1 !important;
  background: var(--mc-surface) !important;
}

body.search-mode .headline-main-row {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) 120px !important;
  gap: 12px !important;
  align-items: start !important;
  grid-template-areas: none !important;
}

body.search-mode .card-meta {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  display: block !important;
}

body.search-mode .headline-title-wrap {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: flex-start !important;
}

body.search-mode .headline-title-footer {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin-top: 4px !important;
  display: block !important;
}

body.search-mode .headline-category-slot {
  grid-column: 3 !important;
  grid-row: 1 / 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-self: end !important;
  align-self: start !important;
  gap: 6px !important;
}

/* Clear Date/Time Styles */
body.search-mode .headline-formatted-timestamp .ts-date {
  display: block !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  color: #64748b !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
}

body.search-mode .headline-formatted-timestamp .ts-time {
  display: block !important;
  font-variant-numeric: tabular-nums !important;
  color: #334155 !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  margin-top: 2px !important;
}

/* Headline Text Clamp & Show Full Action */
body.search-mode .headline-title {
  flex: 0 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  direction: ltr !important;
  text-align: left !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  line-height: 1.32 !important;
  color: #0f172a !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.search-mode .headline-title.is-expanded {
  -webkit-line-clamp: unset !important;
  display: block !important;
  overflow: visible !important;
}

body.search-mode .headline-title-footer:empty,
body.search-mode .headline-title-footer:has(.headline-tags:empty) {
  display: none !important;
  margin: 0 !important;
}


/* Dedicated Chip Row & Styling */
body.search-mode .headline-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
}

body.search-mode .headline-mr-inline-line {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  align-items: center !important;
  margin-top: 4px !important;
}

body.search-mode .headline-mr-inline-label,
body.search-mode .headline-mr-inline-symbol,
body.search-mode .headline-mr-inline-state,
body.search-mode .headline-mr-inline-metric,
body.search-mode .tag,
body.search-mode .classification-chip,
body.search-mode .impact-pill {
  height: 18px !important;
  padding: 0 6px !important;
  border-radius: 5px !important;
  border: 1px solid #d8dee9 !important;
  background: #f8fafc !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  line-height: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Specific styling for market cap chip */
body.search-mode .headline-mcap-inline {
  display: inline-flex !important;
  align-items: center !important;
  height: 18px !important;
  padding: 0 6px !important;
  border-radius: 5px !important;
  border: 1px solid #d8dee9 !important;
  background: #f8fafc !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #334155 !important;
  margin-left: 6px !important;
}

body.search-mode .headline-mcap-inline .mcap-prefix {
  display: inline !important;
  opacity: 0.8 !important;
  font-weight: 600 !important;
  margin-right: 2px !important;
}

/* Clean Empty State */
body.search-mode .empty-state {
  padding: 2.5rem !important;
  font-size: 13px !important;
  color: #64748b !important;
  background: #ffffff !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: var(--mc-radius-sm) !important;
}

/* Critical: left accent, minimal tint */
body.search-mode .headline-card.is-critical {
  background: #fff9f9 !important;
}
body.search-mode .headline-card.is-critical:hover {
  background: #fff3f3 !important;
}

/* ── Reduced motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .headline-card.is-new {
    animation: none !important;
  }
  .headline-card.is-new::after {
    animation: none !important;
  }
  .eco-title-dot {
    animation: none !important;
  }
}

/* ── Mobile refinements ───────────────────────────────────── */
@media (max-width: 640px) {
  .guest-banner-compact {
    padding: 0.22rem 0.5rem !important;
  }
  .headline-card {
    padding: 0.24rem 0.4rem 0.24rem 0.4rem !important;
    min-height: 36px !important;
  }
  body.search-mode .headline-card {
    padding: 8px 10px !important;
    min-height: 0 !important;
  }
  body.search-mode .headline-main-row {
    grid-template-columns: minmax(54px, 68px) minmax(0, 1fr) !important;
    grid-template-areas:
      "meta title"
      "tags tags" !important;
    gap: 6px 10px !important;
    padding: 0 !important;
  }
  body.search-mode .card-meta {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  body.search-mode .headline-title-wrap {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  body.search-mode .headline-category-slot {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;
  }
  body.search-mode .headline-title {
    font-size: 13px !important;
    line-height: 1.28 !important;
    -webkit-line-clamp: 3 !important;
  }
  body.search-mode .headline-formatted-timestamp .ts-date,
  body.search-mode .headline-formatted-timestamp .ts-time {
    font-size: 10px !important;
  }
  body.search-mode .guest-banner-compact {
    height: auto !important;
    min-height: 0 !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding: 8px 10px !important;
    flex-wrap: wrap !important;
  }
  body.search-mode .guest-banner-compact .guest-banner-text {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  body.search-mode .guest-banner-compact .guest-banner-actions {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  body.search-mode .guest-banner-compact .guest-upgrade-btn {
    flex: 1 1 135px !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }
  body.search-mode .terminal-legal-strip {
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 4px 8px !important;
    padding: 6px 10px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }
  body.search-mode .terminal-legal-strip .legal-dismiss-btn {
    margin-left: auto !important;
  }
  body.search-mode .mc-search-panel {
    position: static !important;
    padding: 0.45rem 0.55rem !important;
  }
  body.search-mode .mc-search-header {
    gap: 0.45rem !important;
  }
  body.search-mode .mc-search-summary {
    gap: 0.25rem !important;
  }
  body.search-mode .mc-search-scope {
    flex-basis: 100% !important;
  }
  body.search-mode .mc-search-clear {
    padding: 0.28rem 0.65rem !important;
    font-size: 0.72rem !important;
  }
  body.search-mode .mc-search-filterbar {
    padding-bottom: 2px !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
  main.layout-grid {
    padding: 0.5rem 0.5rem 2rem;
    gap: 0.5rem;
  }
}

/* MENA/RTL phone hardening: narrative controls should use the full card width. */
@media (max-width: 640px) {
  .arc-history-trigger {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline-start: 0 !important;
    margin-inline-end: 0 !important;
    padding: 7px 8px !important;
    gap: 6px !important;
  }

  .arc-history-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 5px !important;
  }

  .arc-history-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .arc-history-name {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .arc-history-sub {
    flex: 0 0 auto !important;
    max-width: 96px !important;
  }
}

@media (max-width: 480px) {
  .guest-banner-compact {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    height: auto !important;
    gap: 8px !important;
    padding: 8px 10px !important;
  }

  .guest-banner-compact .guest-banner-text {
    flex: 1 1 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .guest-banner-compact .guest-banner-actions {
    display: flex !important;
    flex: 1 1 100% !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  .guest-banner-compact .guest-upgrade-btn {
    flex: 0 1 auto !important;
    white-space: nowrap !important;
  }

  .guest-banner-compact .guest-dismiss {
    margin-left: auto !important;
  }

  .arc-history-sub {
    display: none !important;
  }

  .eco-float-btn {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    padding: 0 !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  .eco-float-label {
    display: none !important;
  }

  /* Mobile: hide the price/radar strip from atop the news feed. It eats ~300px of
     prime vertical space and (without live prices populated) renders as an empty
     box. On a phone, markets belong in their own view (Bloomberg-style), not
     crammed above the headline feed — keep the feed clean and immediate. */
  #live-prices-grid,
  .radar-inline-shell,
  #radarInlineShell {
    display: none !important;
  }

  .radar-inline-shell .radar-tile-row,
  .radar-tile-row {
    display: block !important;
    min-width: 0 !important;
  }

  .radar-inline-shell .radar-tile-symbol,
  .radar-tile-symbol {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .radar-inline-shell .radar-mini-chart-host,
  .radar-mini-chart-host {
    display: none !important;
  }
}

/* ============================================================
   MC-BRAND-COLOR-002 semantic color lock
   Terminal surfaces stay neutral/cool; warm brand colors are
   restrained to premium modules and public pages.
   ============================================================ */

.terminal-legal-strip a,
.user-nav a,
.headline-translation-action,
.headline-arabic-toggle,
.cb-speaker-anchor,
.mc-search-clear {
  color: var(--mc-link-muted) !important;
}

.headline-translation-action,
.headline-arabic-toggle {
  text-decoration-color: rgba(8, 76, 56, 0.42) !important;
  text-underline-offset: 2px !important;
}

.headline-translation-action:hover,
.headline-arabic-toggle:hover,
.headline-translation-action[aria-expanded="true"],
.headline-arabic-toggle[aria-expanded="true"] {
  color: var(--mc-link-muted) !important;
  text-decoration: underline !important;
}

.headline-arabic-expansion,
.headline-arabic-panel {
  background: #fbfcfd !important;
  border-top-color: var(--mc-border-soft) !important;
}

.status-dot.live,
.eco-title-dot,
.ws-disconnected-banner-dot.is-live {
  background: var(--mc-live) !important;
}

.eco-live-pill {
  color: var(--mc-link-muted) !important;
  background: rgba(14, 107, 79, 0.11) !important;
  border-color: rgba(14, 107, 79, 0.24) !important;
}

.headline-mr-inline-label,
.erc-panel-hdr,
.insight-block[data-insight-kind="market-reaction"] .insight-label {
  color: var(--mc-premium-intel, #9a5f12) !important;
}

.headline-mr-inline-label,
.headline-mr-inline-symbol,
.headline-mr-inline-tag,
.headline-mr-inline-metric.is-path,
.headline-mr-inline-metric.is-volume {
  background: #f8fafc !important;
  border-color: var(--mc-border) !important;
}

.headline-mr-inline-symbol,
.headline-mr-inline-tag,
.headline-mr-inline-metric.is-path,
.headline-mr-inline-metric.is-volume {
  color: var(--mc-text) !important;
}

.mcap-chip,
.headline-mcap-inline,
.benzinga-structured-detail-market-cap,
body.search-mode .headline-mcap-inline {
  color: #475569 !important;
  background: #f1f5f9 !important;
  border-color: #d8dee9 !important;
}

.mcap-mega,
.mcap-large,
.mcap-mid,
.mcap-small,
.mcap-micro,
.mcap-nano,
.headline-mcap-mega,
.headline-mcap-large,
.headline-mcap-mid,
.headline-mcap-small,
.headline-mcap-micro,
.headline-mcap-nano {
  color: #475569 !important;
  background: #f1f5f9 !important;
  border-color: #d8dee9 !important;
}

.mode-tabs .tab-btn.active,
.filter-chips button.active,
.mc-search-chip.is-active,
#dateModeClearBtn,
.date-mode-notice button {
  background: var(--mc-ink) !important;
  color: #ffffff !important;
  border-color: var(--mc-ink) !important;
}

#search-bar:focus,
.intake-input:focus,
.research-select-pill:focus,
.broker-search-input:focus {
  border-color: var(--mc-link-muted) !important;
  box-shadow: 0 0 0 2px rgba(14, 107, 79, 0.14) !important;
}

.eco-date-header.today td,
tr.eco-row-soon td.cell-time,
tr.eco-row-next-impact .eco-event-title,
.eco-time-label {
  color: var(--mc-ink) !important;
}

.eco-date-header.today td,
tr.eco-row-next-impact td:first-child {
  border-left-color: var(--mc-ink) !important;
}

.eco-time-line {
  background: linear-gradient(90deg, transparent 0%, var(--mc-ink) 40%, var(--mc-ink) 60%, transparent 100%) !important;
}

.eco-time-icon {
  background: var(--mc-ink) !important;
}

.eco-ccy,
.eco-ccy[data-cur="US"],
.eco-ccy[data-cur="USD"],
.eco-ccy[data-cur="EU"],
.eco-ccy[data-cur="EUR"] {
  color: #475569 !important;
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
}

/* Narrative module: box left edge sits on the SAME vertical line as the headline
   title and the market-reaction block (--headline-content-offset). This keeps the
   title, narrative bar, and market reaction all aligned under one column on tablet+. */
@media (min-width: 761px) {
    body:not(.search-mode) .headline-card.has-narrative-arc .arc-history-trigger,
    body:not(.search-mode) .headline-card.has-narrative-arc .headline-details.narrative-body {
        margin-inline-start: var(--headline-content-offset, 244px) !important;
        width: calc(100% - var(--headline-content-offset, 244px) - 12px) !important;
    }
    /* Pull the stream icon into the left gutter so the "MARKET NARRATIVE …" label
       text starts on the SAME vertical line as the headline title (not pushed
       right by the icon). The icon sits as a marker just left of the box. */
    body:not(.search-mode) .headline-card.has-narrative-arc .arc-history-trigger {
        padding-inline-start: 6px !important;
    }
    body:not(.search-mode) .headline-card.has-narrative-arc .arc-history-icon {
        margin-inline-start: -40px !important;
    }
}

/* Access CTA visibility hardening */
.header-global-meta .user-nav .user-nav-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
  background: var(--mc-ink) !important;
  color: #ffffff !important;
  border: 1px solid var(--mc-ink) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(8, 76, 56, 0.16) !important;
}

.header-global-meta .user-nav .user-nav-cta:hover,
.guest-upgrade-btn:hover,
.lock-overlay-link:hover .lock-overlay,
.insight-lock-link:hover .lock-overlay {
  transform: translateY(-1px) !important;
}

.guest-banner-compact,
body.search-mode .guest-banner-compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  height: auto !important;
  max-height: none !important;
  min-height: 64px !important;
  margin: 0 0 10px !important;
  padding: 12px 14px !important;
  overflow: visible !important;
  border: 1px solid rgba(183, 121, 31, 0.28) !important;
  border-left: 4px solid var(--mc-warning) !important;
  border-radius: 8px !important;
  background: #fff7e6 !important;
  color: #3f2a12 !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08) !important;
  box-sizing: border-box !important;
}

.guest-banner-compact .guest-banner-text,
body.search-mode .guest-banner-compact .guest-banner-text {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 3px !important;
  margin: 0 !important;
  color: #3f2a12 !important;
}

.guest-banner-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 18px !important;
  padding: 0 6px !important;
  border-radius: 5px !important;
  background: rgba(183, 121, 31, 0.16) !important;
  color: #6f4b17 !important;
  font-size: 0.64rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.guest-banner-title {
  display: block !important;
  color: #111827 !important;
  font-size: 0.96rem !important;
  font-weight: 850 !important;
  line-height: 1.18 !important;
}

.guest-banner-detail {
  display: block !important;
  color: #5f3f16 !important;
  font-size: 0.82rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

.guest-banner-compact .guest-banner-actions,
body.search-mode .guest-banner-compact .guest-banner-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.guest-upgrade-btn,
body.search-mode .guest-banner-compact .guest-upgrade-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  min-width: 112px !important;
  padding: 0 14px !important;
  border-radius: 6px !important;
  font-size: 0.82rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease !important;
}

.guest-upgrade-btn.primary {
  background: var(--mc-ink) !important;
  color: #ffffff !important;
  border: 1px solid var(--mc-ink) !important;
  box-shadow: 0 6px 14px rgba(8, 76, 56, 0.2) !important;
}

.guest-upgrade-btn.secondary {
  background: #ffffff !important;
  color: #2f3a48 !important;
  border: 1px solid rgba(15, 23, 42, 0.16) !important;
}

.guest-banner-compact .guest-dismiss {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  border: 1px solid rgba(120, 53, 15, 0.18) !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: #78350f !important;
  font-size: 1rem !important;
  cursor: pointer !important;
}

.headline-card.is-locked .lock-overlay-link {
  position: absolute !important;
  inset-block-start: 8px !important;
  inset-inline-end: 10px !important;
  display: inline-flex !important;
  justify-content: center !important;
  width: auto !important;
  max-width: min(180px, 36vw) !important;
  margin: 0 !important;
  opacity: 1 !important;
  z-index: 30 !important;
}

.headline-card.is-locked .lock-overlay,
.research-card-premium.is-locked .lock-overlay {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  max-width: 100% !important;
  min-height: 30px !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: var(--mc-ink) !important;
  border: 1px solid rgba(8, 76, 56, 0.22) !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.1) !important;
  font-size: 0.72rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 1024px) {
  .guest-banner-compact,
  body.search-mode .guest-banner-compact {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .guest-banner-compact .guest-banner-actions,
  body.search-mode .guest-banner-compact .guest-banner-actions {
    width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .guest-upgrade-btn,
  body.search-mode .guest-banner-compact .guest-upgrade-btn {
    flex: 1 1 180px !important;
  }
}

@media (max-width: 640px) {
  .header-global-meta .user-nav {
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  .header-global-meta .user-nav .user-nav-cta {
    min-height: 32px !important;
    max-width: 148px !important;
    padding: 0 9px !important;
    font-size: 0.68rem !important;
    white-space: normal !important;
  }

  .guest-banner-compact,
  body.search-mode .guest-banner-compact {
    margin: 0 0 8px !important;
    padding: 12px !important;
    border-left-width: 3px !important;
  }

  .guest-banner-title {
    font-size: 0.92rem !important;
  }

  .guest-banner-detail {
    font-size: 0.78rem !important;
  }

  .guest-banner-compact .guest-banner-actions,
  body.search-mode .guest-banner-compact .guest-banner-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
  }

  .guest-upgrade-btn.primary,
  body.search-mode .guest-banner-compact .guest-upgrade-btn.primary {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .guest-upgrade-btn.secondary,
  body.search-mode .guest-banner-compact .guest-upgrade-btn.secondary {
    min-width: 0 !important;
    width: 100% !important;
  }

  .headline-card.is-locked .lock-overlay-link {
    position: static !important;
    justify-content: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 6px !important;
  }

  .headline-card.is-locked .lock-overlay,
  .research-card-premium.is-locked .lock-overlay {
    width: 100% !important;
    max-width: 100% !important;
  }
}
