/* ============================================================================
   Insights page — institutional market briefing layout.
   Namespace: .insv2-*  (isolated from legacy .insights-*, .ir-*, .ii-* etc.)
   Loaded after styles.css. Scoped to #page-analytics .insv2-shell.
   ============================================================================ */

#page-analytics .insv2-shell {
  --insv2-bg:          #050608;
  --insv2-surface:     #0A0C10;
  --insv2-surface-2:   #0F1116;
  --insv2-surface-3:   #14171D;
  /* Pass 7 polish: borders reduced ~20% for softer dark institutional feel */
  --insv2-border:      rgba(255,255,255,0.044);
  --insv2-border-2:    rgba(255,255,255,0.068);
  --insv2-hairline:    rgba(255,255,255,0.032);

  --insv2-text-hero:   #ECEFF3;
  --insv2-text-body:   #B6BCC6;
  --insv2-text-mute:   #7A8290;
  --insv2-text-dim:    #555C68;
  --insv2-text-ghost:  #383E47;

  --insv2-bull:        #5BB58E;
  --insv2-bull-soft:   rgba(91,181,142,0.10);
  --insv2-bull-line:   rgba(91,181,142,0.22);
  --insv2-bear:        #C97676;
  --insv2-bear-soft:   rgba(201,118,118,0.08);

  --insv2-font-serif:  'Charter', 'Source Serif Pro', 'Georgia', 'Cambria', 'Times New Roman', serif;
  --insv2-font-ui:     'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --insv2-font-mono:   'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  background: var(--insv2-bg);
  color: var(--insv2-text-body);
  font-family: var(--insv2-font-ui);
  font-feature-settings: "ss01","cv11";
  min-height: 100vh;
  padding: 28px 36px 80px 36px;
  box-sizing: border-box;
}

/* ── Top bar ─────────────────────────────────────────────────────────────── */

.insv2-topbar {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  column-gap: 32px;
  margin-bottom: 32px;
}

.insv2-topbar__left {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.insv2-topbar__title {
  font-size: 22px;
  font-weight: 600;
  color: var(--insv2-text-hero);
  letter-spacing: -0.005em;
  margin: 0;
}

.insv2-topbar__tabs {
  display: flex;
  align-items: center;
  gap: 22px;
  border-bottom: 1px solid var(--insv2-border);
  padding-bottom: 0;
}

.insv2-tab {
  background: transparent;
  border: none;
  color: var(--insv2-text-mute);
  font-family: var(--insv2-font-ui);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.005em;
  padding: 8px 0 12px 0;
  cursor: pointer;
  position: relative;
}

.insv2-tab:hover { color: var(--insv2-text-body); }

.insv2-tab--active {
  color: var(--insv2-text-hero);
}
.insv2-tab--active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--insv2-bull);
  border-radius: 1px;
}

.insv2-beta-pill {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 6px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--insv2-border);
  border-radius: 3px;
  color: var(--insv2-text-mute);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-left: -10px;
}

.insv2-topbar__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.insv2-search {
  width: 320px;
  height: 32px;
  background: var(--insv2-surface-2);
  border: 1px solid var(--insv2-border);
  border-radius: 6px;
  padding: 0 12px 0 32px;
  color: var(--insv2-text-body);
  font-family: var(--insv2-font-ui);
  font-size: 12px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

.insv2-search input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: var(--insv2-text-body);
  font-family: var(--insv2-font-ui);
  font-size: 12px;
  height: 100%;
}
.insv2-search input::placeholder { color: var(--insv2-text-dim); }

.insv2-search__icon {
  color: var(--insv2-text-dim);
  font-size: 13px;
  display: inline-flex;
}

.insv2-search__filter {
  color: var(--insv2-text-dim);
  font-size: 13px;
  border-left: 1px solid var(--insv2-border);
  padding-left: 8px;
  cursor: pointer;
}

.insv2-datebox {
  text-align: right;
  font-size: 11px;
  line-height: 1.55;
  color: var(--insv2-text-mute);
  font-family: var(--insv2-font-ui);
  letter-spacing: 0.01em;
}
.insv2-datebox__day {
  color: var(--insv2-text-body);
  font-weight: 500;
}

/* ── Two-column shell: main editorial + right context rail ────────────── */

.insv2-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  column-gap: 36px;
  align-items: start;
}

.insv2-main { min-width: 0; }
.insv2-rail { min-width: 0; position: sticky; top: 24px; }

/* ── Section structure ───────────────────────────────────────────────────── */

.insv2-section {
  border-top: 1px solid var(--insv2-border);
  padding-top: 20px;
  margin-bottom: 56px;
}
.insv2-section:first-child { border-top: none; padding-top: 0; }

.insv2-section__label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--insv2-text-mute);
  margin: 0 0 14px 0;
  display: block;
}

.insv2-section__label-num {
  color: var(--insv2-text-dim);
  margin-right: 8px;
}

.insv2-section__title {
  font-family: var(--insv2-font-serif);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: var(--insv2-text-hero);
  margin: 0 0 18px 0;
  max-width: 720px;
  text-transform: none;
}

.insv2-section__title--hero {
  font-size: 46px;
  line-height: 1.08;
  letter-spacing: -0.018em;
  margin-bottom: 22px;
  border-left: 3px solid var(--insv2-bull);
  padding-left: 22px;
  margin-left: -25px;
}

.insv2-section__lede {
  font-family: var(--insv2-font-ui);
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--insv2-text-body);
  margin: 0 0 22px 0;
  max-width: 620px;
}

/* ── Hero chip strip (Stance / Conviction / Time Horizon) ────────────── */

.insv2-chipstrip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 14px 0;
  max-width: 640px;
}
.insv2-chip {
  background: var(--insv2-surface);
  border: 1px solid var(--insv2-border);
  border-radius: 6px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.insv2-chip__icon {
  width: 26px;
  height: 26px;
  background: rgba(255,255,255,0.025);
  border: 1px solid var(--insv2-border);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--insv2-text-mute);
  flex-shrink: 0;
}
.insv2-chip__icon svg { display: block; }
.insv2-chip__body { display: flex; flex-direction: column; min-width: 0; }
.insv2-chip__label {
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--insv2-text-mute);
  line-height: 1.1;
}
.insv2-chip__value {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--insv2-text-hero);
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.insv2-chip__value--bull { color: var(--insv2-bull); }
.insv2-chip__value--bear { color: var(--insv2-bear); }

.insv2-section__commentary {
  font-size: 12px;
  color: var(--insv2-text-mute);
  font-style: italic;
  margin: 8px 0 0 0;
  line-height: 1.55;
  max-width: 720px;
}

/* ── Section body: icon column + paragraph + data block ────────────────── */

.insv2-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  column-gap: 28px;
  align-items: start;
  margin-bottom: 14px;
}

.insv2-row__left {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  column-gap: 14px;
  align-items: start;
}

.insv2-row__icon {
  width: 24px;
  height: 24px;
  margin-top: 2px;
  color: var(--insv2-text-mute);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.insv2-row__icon svg { display: block; width: 22px; height: 22px; }

.insv2-row__copy {
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--insv2-text-body);
  max-width: 360px;
}

/* Data block on the right of a row */
.insv2-datablock {
  border: 1px solid var(--insv2-border);
  background: var(--insv2-surface);
  border-radius: 6px;
  padding: 14px 16px;
}
.insv2-datablock__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 7px 0;
  border-bottom: 1px solid var(--insv2-hairline);
  font-size: 12px;
}
.insv2-datablock__row:last-child { border-bottom: none; }
.insv2-datablock__row:first-child { padding-top: 0; }
.insv2-datablock__label {
  color: var(--insv2-text-mute);
}
.insv2-datablock__value {
  color: var(--insv2-text-hero);
  font-weight: 500;
  text-align: right;
}
.insv2-datablock__value--bull { color: var(--insv2-bull); }
.insv2-datablock__value--bear { color: var(--insv2-bear); }
.insv2-datablock__value--num {
  font-family: var(--insv2-font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 11.5px;
}
.insv2-datablock__value--pending {
  color: var(--insv2-text-ghost);
  font-style: italic;
  font-size: 11px;
}

/* Strategic observation strip (green bordered note at the bottom of a section) */
.insv2-obstrip {
  margin-top: 16px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--insv2-bull-soft);
  border: 1px solid var(--insv2-bull-line);
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--insv2-text-body);
}
.insv2-obstrip__icon {
  color: var(--insv2-bull);
  flex-shrink: 0;
  margin-top: 2px;
  display: inline-flex;
}
.insv2-obstrip__icon svg { display: block; }
.insv2-take__head svg { display: inline-block; vertical-align: -1px; }

/* ── What matters tomorrow — triggers + "Our Take" card ────────────────── */

.insv2-triggers {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  column-gap: 28px;
  align-items: start;
}

.insv2-triggers__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.insv2-triggers__item {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  column-gap: 14px;
  align-items: start;
  padding: 9px 0;
  border-bottom: 1px solid var(--insv2-hairline);
  font-size: 12.5px;
}
.insv2-triggers__item:last-child { border-bottom: none; }
.insv2-triggers__num {
  width: 18px;
  height: 18px;
  background: rgba(91,181,142,0.10);
  border: 1px solid rgba(91,181,142,0.22);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--insv2-bull);
  font-size: 10px;
  font-weight: 600;
  margin-top: 1px;
}
.insv2-triggers__body { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 1fr); column-gap: 16px; align-items: baseline; }
.insv2-triggers__name { color: var(--insv2-text-hero); font-weight: 500; }
.insv2-triggers__desc { color: var(--insv2-text-mute); }

.insv2-take {
  background: var(--insv2-surface);
  border: 1px solid var(--insv2-border);
  border-radius: 6px;
  padding: 14px 16px;
}
.insv2-take__head {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--insv2-bull);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.01em;
  margin-bottom: 10px;
}
.insv2-take__body {
  font-size: 12px;
  line-height: 1.7;
  color: var(--insv2-text-body);
  margin: 0 0 12px 0;
}
.insv2-take__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  background: var(--insv2-bull-soft);
  border: 1px solid var(--insv2-bull-line);
  border-radius: 14px;
  color: var(--insv2-bull);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ── Right rail ──────────────────────────────────────────────────────────── */

.insv2-rail__module {
  background: var(--insv2-surface);
  border: 1px solid var(--insv2-border);
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 14px;
}
.insv2-rail__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.insv2-rail__title {
  font-size: 12px;
  font-weight: 500;
  color: var(--insv2-text-hero);
  margin: 0;
  letter-spacing: -0.005em;
}
.insv2-rail__pill {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--insv2-text-mute);
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--insv2-border);
  border-radius: 10px;
  padding: 3px 8px;
}

/* Market Snapshot list */
.insv2-snap-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.insv2-snap-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  column-gap: 12px;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid var(--insv2-hairline);
  font-size: 12px;
}
.insv2-snap-row:last-child { border-bottom: none; }
.insv2-snap-row__name {
  color: var(--insv2-text-body);
  font-weight: 500;
  letter-spacing: 0.005em;
}
.insv2-snap-row__val {
  font-family: var(--insv2-font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 11.5px;
  color: var(--insv2-text-hero);
  font-weight: 500;
}
.insv2-snap-row__chg {
  font-family: var(--insv2-font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 10.5px;
  min-width: 52px;
  text-align: right;
}
.insv2-snap-row__chg--up   { color: var(--insv2-bull); }
.insv2-snap-row__chg--down { color: var(--insv2-bear); }
.insv2-snap-row__chg--flat { color: var(--insv2-text-mute); }
.insv2-snap-row__chg--pending { color: var(--insv2-text-ghost); font-style: italic; font-family: var(--insv2-font-ui); }

/* Market tone */
.insv2-tone__label {
  color: var(--insv2-bull);
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 12px 0;
}
.insv2-tone__bar {
  height: 6px;
  background: linear-gradient(90deg, #C97676 0%, #B58A3F 38%, #8FB47F 62%, #5BB58E 100%);
  border-radius: 3px;
  position: relative;
  margin: 0 0 8px 0;
}
.insv2-tone__marker {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  background: #fff;
  border: 2px solid rgba(0,0,0,0.4);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.05);
}
.insv2-tone__legend {
  display: flex;
  justify-content: space-between;
  font-size: 9.5px;
  color: var(--insv2-text-mute);
  letter-spacing: 0.01em;
  margin-bottom: 12px;
}
.insv2-tone__note {
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--insv2-text-mute);
  margin: 0;
}

/* Key charts */
.insv2-chartcard {
  background: var(--insv2-surface);
  border: 1px solid var(--insv2-border);
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.insv2-chartcard__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 8px;
}
.insv2-chartcard__title {
  font-size: 12px;
  font-weight: 500;
  color: var(--insv2-text-hero);
  margin: 0;
}
.insv2-chartcard__meta {
  font-size: 9.5px;
  color: var(--insv2-text-mute);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.insv2-chartcard__body {
  height: 130px;
  position: relative;
  margin-bottom: 10px;
}
.insv2-chartcard__body svg {
  width: 100%;
  height: 100%;
  display: block;
}
.insv2-chartcard__note {
  font-size: 11px;
  line-height: 1.55;
  color: var(--insv2-text-mute);
  margin: 0 0 8px 0;
}
.insv2-chartcard__cta {
  font-size: 11px;
  color: var(--insv2-bull);
  text-decoration: none;
  display: inline-block;
  font-weight: 500;
}
.insv2-chartcard__cta:hover { color: #7AC8A5; }

/* Key Charts header */
.insv2-rail__group-title {
  font-size: 13px;
  font-weight: 500;
  color: var(--insv2-text-hero);
  margin: 18px 0 10px 0;
}

/* ── Generic placeholders & loading ────────────────────────────────────── */

.insv2-pending {
  font-size: 11px;
  color: var(--insv2-text-ghost);
  font-style: italic;
}
.insv2-pending::before {
  content: "◌  ";
  color: var(--insv2-text-dim);
  font-style: normal;
}

.insv2-empty {
  font-size: 12px;
  color: var(--insv2-text-mute);
  padding: 20px;
  text-align: center;
  border: 1px dashed var(--insv2-border);
  border-radius: 6px;
}

/* Insights anchor bar & depth sections — visible (part of approved design) */
#page-analytics > .insights-intro-panel,
#page-analytics > .insights-anchor-bar,
#page-analytics > .insights-section {
  display: block !important;
}
#page-analytics > .insights-anchor-bar {
  display: flex !important;
}

/* When the Insights page is the active page, hide the shared dashboard
   header chrome — the Insights page has its own .insv2-topbar. */
body:has(#page-analytics:not([hidden])) header.dash-header,
body:has(#page-analytics:not([hidden])) #app-status {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════════════════
   Pass 7 — Visual Polish Refinement (subtle, non-redesign)
   ══════════════════════════════════════════════════════════════════════ */

/* Subtle fade-in for sections + rail modules on initial render. Stagger
   cascades the page in vertically. Premium, restrained — 0.45s ease-out. */
@keyframes insv2-fade-up {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

#page-analytics .insv2-section,
#page-analytics .insv2-rail__module,
#page-analytics .insv2-chartcard,
#page-analytics .insv2-rail__group-title {
  animation: insv2-fade-up 0.45s cubic-bezier(0.22, 0.7, 0.3, 1) backwards;
}
#page-analytics .insv2-main .insv2-section:nth-child(1) { animation-delay: 0.02s; }
#page-analytics .insv2-main .insv2-section:nth-child(2) { animation-delay: 0.07s; }
#page-analytics .insv2-main .insv2-section:nth-child(3) { animation-delay: 0.12s; }
#page-analytics .insv2-main .insv2-section:nth-child(4) { animation-delay: 0.17s; }
#page-analytics .insv2-main .insv2-section:nth-child(5) { animation-delay: 0.22s; }
#page-analytics .insv2-main .insv2-section:nth-child(6) { animation-delay: 0.27s; }
#page-analytics .insv2-main .insv2-section:nth-child(7) { animation-delay: 0.32s; }
#page-analytics .insv2-rail .insv2-rail__module:nth-child(1) { animation-delay: 0.05s; }
#page-analytics .insv2-rail .insv2-rail__module:nth-child(2) { animation-delay: 0.10s; }
#page-analytics .insv2-rail .insv2-rail__group-title       { animation-delay: 0.15s; }
#page-analytics .insv2-rail .insv2-chartcard:nth-of-type(1) { animation-delay: 0.18s; }
#page-analytics .insv2-rail .insv2-chartcard:nth-of-type(2) { animation-delay: 0.22s; }
#page-analytics .insv2-rail .insv2-chartcard:nth-of-type(3) { animation-delay: 0.26s; }
@media (prefers-reduced-motion: reduce) {
  #page-analytics .insv2-section,
  #page-analytics .insv2-rail__module,
  #page-analytics .insv2-chartcard,
  #page-analytics .insv2-rail__group-title { animation: none; }
}

/* Sticky-rail smoothness — composite layer hint to the browser, plus
   global smooth-scroll for anchor jumps. */
#page-analytics .insv2-rail {
  will-change: transform;
  transform: translateZ(0);
}
#page-analytics .insv2-shell { scroll-behavior: smooth; }

/* Very subtle regime glow behind the hero section. Soft green tint —
   reinforces the green hero left-border without becoming a "glow card". */
#page-analytics .insv2-main > .insv2-section:first-child {
  position: relative;
}
#page-analytics .insv2-main > .insv2-section:first-child::before {
  content: "";
  position: absolute;
  top: -36px;
  left: -48px;
  right: 8%;
  height: 260px;
  background: radial-gradient(
    ellipse at 18% 30%,
    rgba(91,181,142,0.055) 0%,
    rgba(91,181,142,0.018) 38%,
    transparent 68%
  );
  pointer-events: none;
  z-index: 0;
}
#page-analytics .insv2-main > .insv2-section:first-child > * {
  position: relative;
  z-index: 1;
}

/* ── Responsive collapse: stack rail under main on narrow widths ───────── */

@media (max-width: 1100px) {
  #page-analytics .insv2-shell { padding: 22px 22px 60px 22px; }
  #page-analytics .insv2-grid { grid-template-columns: minmax(0, 1fr); }
  #page-analytics .insv2-rail { position: static; margin-top: 24px; }
  #page-analytics .insv2-row { grid-template-columns: minmax(0, 1fr); }
  #page-analytics .insv2-row .insv2-datablock { margin-top: 14px; }
  #page-analytics .insv2-triggers { grid-template-columns: minmax(0, 1fr); }
  #page-analytics .insv2-triggers .insv2-take { margin-top: 14px; }
  #page-analytics .insv2-search { width: 220px; }
}

@media (max-width: 720px) {
  #page-analytics .insv2-section__title--hero { font-size: 32px; }
  #page-analytics .insv2-section__title { font-size: 24px; }
  #page-analytics .insv2-chipstrip { grid-template-columns: minmax(0, 1fr); }
}

/* ── Phase 2: inline section narrative (replaces standalone narrative cards) ── */
.ml-section-narrative {
  color: var(--P-t1, #C8D4E0);
  font-size: 13px;
  line-height: 1.65;
  margin: 14px 0 0;
}

/* ══════════════════════════════════════════════════════════════════════
   AI Narrative v2.2 — three-tier extras, scoring dashboard, observations,
   and the Appendix-B compliance disclaimers. Scoped to the Insights page.
   ══════════════════════════════════════════════════════════════════════ */

/* ── §B.1 persistent header disclaimer (sticky) ──────────────────────────── */
#page-analytics .ins-header-disclaimer {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 16px;
  margin: 0 0 4px;
  background: rgba(11, 15, 26, 0.92);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--P-hair, rgba(255,255,255,.07));
  color: var(--P-t2, #8B93A8);
  font-size: 11px;
  letter-spacing: .01em;
}
#page-analytics .ins-header-disclaimer__icon { flex: 0 0 auto; opacity: .8; }

/* ── three-tier extras: Bull / Bear callouts + Bottom-line pill ──────────── */
#page-analytics .ins-bullbear {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  margin-top: 14px;
}
#page-analytics .ins-callout {
  border: 1px solid var(--P-hair, rgba(255,255,255,.07));
  border-radius: 8px;
  padding: 12px 14px;
  background: var(--P-s1, #0B0F1A);
}
#page-analytics .ins-callout--bull {
  border-left: 3px solid var(--P-bull, #3FB97F);
  background: var(--P-bull-d, rgba(63,185,127,.10));
}
#page-analytics .ins-callout--bear {
  border-left: 3px solid var(--P-bear, #E5604D);
  background: var(--P-bear-d, rgba(229,96,77,.10));
}
#page-analytics .ins-callout__lbl {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
#page-analytics .ins-callout--bull .ins-callout__lbl { color: var(--P-bull, #3FB97F); }
#page-analytics .ins-callout--bear .ins-callout__lbl { color: var(--P-bear, #E5604D); }
#page-analytics .ins-callout__txt {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--P-t1, #E9ECF4);
}
#page-analytics .ins-bottomline {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--P-s3, #161B29);
  border: 1px solid var(--P-hair, rgba(255,255,255,.07));
}
#page-analytics .ins-bottomline__tag {
  flex: 0 0 auto;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--P-accent, #4FD1E0);
}
#page-analytics .ins-bottomline__txt {
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--P-t1, #E9ECF4);
  font-weight: 500;
}

/* ── §B.2 per-section micro-disclosure ───────────────────────────────────── */
#page-analytics .ins-microdisclosure {
  margin: 14px 0 0;
  font-style: italic;
  font-size: 10.5px;
  line-height: 1.5;
  color: var(--P-t3, #565E73);
}

/* ── §10 Scoring Dashboard ───────────────────────────────────────────────── */
#page-analytics .ins-scoredash {
  display: grid;
  gap: 14px;
}
#page-analytics .ins-score-row {
  padding-bottom: 13px;
  border-bottom: 1px solid var(--P-hair, rgba(255,255,255,.07));
}
#page-analytics .ins-score-row:last-child { border-bottom: 0; padding-bottom: 0; }
#page-analytics .ins-score-row__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
#page-analytics .ins-score-row__lbl {
  font-size: 12px;
  font-weight: 600;
  color: var(--P-t1, #E9ECF4);
}
#page-analytics .ins-score-row__val {
  flex: 0 0 auto;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 15px;
  font-weight: 700;
}
#page-analytics .ins-score-row__den {
  font-size: 10px;
  font-weight: 500;
  color: var(--P-t3, #565E73);
  margin-left: 1px;
}
#page-analytics .ins-score-row__val--bull  { color: var(--P-bull, #3FB97F); }
#page-analytics .ins-score-row__val--amber { color: var(--P-conv, #F2B441); }
#page-analytics .ins-score-row__val--bear  { color: var(--P-bear, #E5604D); }
#page-analytics .ins-score-row__val--mute  { color: var(--P-t2, #8B93A8); }
#page-analytics .ins-score-meter {
  height: 5px;
  border-radius: 3px;
  background: var(--P-s3, #161B29);
  overflow: hidden;
  margin: 8px 0;
}
#page-analytics .ins-score-meter__fill { display: block; height: 100%; border-radius: 3px; }
#page-analytics .ins-score-meter__fill--bull  { background: linear-gradient(90deg, #2e8c60, var(--P-bull, #3FB97F)); }
#page-analytics .ins-score-meter__fill--amber { background: linear-gradient(90deg, #b07d1d, var(--P-conv, #F2B441)); }
#page-analytics .ins-score-meter__fill--bear  { background: linear-gradient(90deg, #a8432f, var(--P-bear, #E5604D)); }
#page-analytics .ins-score-meter__fill--mute  { background: var(--P-t3, #565E73); }
#page-analytics .ins-score-row__just {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
  color: var(--P-t2, #8B93A8);
}

/* ── §11 Educational Observations by Time Horizon ────────────────────────── */
#page-analytics .ins-obs-framing {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--P-t2, #8B93A8);
}
#page-analytics .ins-obs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
#page-analytics .ins-obs-block {
  border: 1px solid var(--P-hair, rgba(255,255,255,.07));
  border-radius: 8px;
  padding: 12px 14px;
  background: var(--P-s1, #0B0F1A);
  border-top: 2px solid var(--P-accent, #4FD1E0);
}
#page-analytics .ins-obs-block--scheduled { border-top-color: var(--P-conv, #F2B441); }
#page-analytics .ins-obs-block__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
}
#page-analytics .ins-obs-block__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--P-t1, #E9ECF4);
}
#page-analytics .ins-obs-block__sub {
  font-size: 9.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--P-t3, #565E73);
}
#page-analytics .ins-obs-list {
  margin: 0;
  padding-left: 16px;
  display: grid;
  gap: 7px;
}
#page-analytics .ins-obs-list li {
  font-size: 11.5px;
  line-height: 1.55;
  color: var(--P-t1, #E9ECF4);
}
#page-analytics .ins-obs-list li::marker { color: var(--P-accent, #4FD1E0); }
#page-analytics .ins-obs-block--scheduled .ins-obs-list li::marker { color: var(--P-conv, #F2B441); }
#page-analytics .ins-obs-closing {
  margin: 14px 0 0;
  font-size: 11px;
  line-height: 1.55;
  color: var(--P-t2, #8B93A8);
}

/* ── §B.3 bottom-of-page comprehensive disclosure block ──────────────────── */
#page-analytics .ins-bigdisclosure {
  display: block;
  margin: 28px 0 12px;
  padding: 18px 22px;
  border: 1px solid rgba(242, 180, 65, 0.32);
  border-left: 4px solid var(--P-conv, #F2B441);
  border-radius: 10px;
  background: var(--P-conv-d, rgba(242,180,65,.10));
}
#page-analytics .ins-bigdisclosure__head {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--P-conv, #F2B441);
  margin-bottom: 10px;
}
#page-analytics .ins-bigdisclosure p {
  margin: 0 0 9px;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--P-t2, #8B93A8);
}
#page-analytics .ins-bigdisclosure p:last-child { margin-bottom: 0; }

@media (max-width: 720px) {
  #page-analytics .ins-bullbear { grid-template-columns: minmax(0, 1fr); }
}
