/* ════════════════════════════════════════════════════════════════════════
   Mind Climate — W6 analytics + Explore layer
   Behavioural, capability-agnostic classes for the per-entity hub analytics,
   the Explore prioritisation workspace, locked-layer teasers, external-benchmark
   badges, the 16-tier toggle, and the funder-brief print stylesheet.
   Consumes W1 --mc-* tokens only — NO new brand hex (benchmark/locked chrome all
   derive from tokens, so both themes adapt automatically).
   Show/hide uses the native `hidden` attribute (never a `.hidden` class).
   ════════════════════════════════════════════════════════════════════════ */

/* ── Overview view-switch (hub header: Risk prioritisation ⇄ Priority-Gap) ── */
.mc-hub__oview-switch        { font-size: 0.74rem; }
.mc-hub__oview-switch button { white-space: nowrap; }

/* ── Per-entity hub analytics (fills the mc_hub W6 slot) ──────────────────── */
.mc-an              { display: flex; flex-direction: column; gap: var(--mc-space-3); }
.mc-an__section     { display: flex; flex-direction: column; gap: var(--mc-space-2);
                      background: var(--mc-panel); border: 1px solid var(--mc-hairline);
                      border-radius: var(--mc-radius); padding: var(--mc-space-3); }
.mc-an__label       { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em;
                      text-transform: uppercase; color: var(--mc-muted); }
.mc-an__hint        { font-size: 0.72rem; color: var(--mc-muted); line-height: 1.45; margin: 0; }

/* 7-day Open sparkline (inline SVG; no Chart.js on the public layer) */
.mc-spark           { width: 100%; height: auto; display: block; overflow: visible; }
.mc-spark__line     { fill: none; stroke: var(--mc-primary); stroke-width: 2; stroke-linejoin: round; }
.mc-spark__area     { fill: var(--mc-primary-soft); opacity: 0.7; }
.mc-spark__dot      { fill: var(--mc-primary); }
.mc-spark__empty    { font-size: 0.74rem; color: var(--mc-muted); margin: 2px 0 0; }
.mc-spark__ends     { display: flex; justify-content: space-between; font-size: 0.64rem;
                      color: var(--mc-muted); font-variant-numeric: tabular-nums; }

/* Richer 8-tier domain decomposition (Open) — value chips beside the bars */
.mc-decomp          { display: flex; flex-direction: column; gap: 5px; }
.mc-decomp__row     { display: grid; grid-template-columns: 1fr; gap: 2px; }
.mc-decomp__head    { display: flex; align-items: baseline; justify-content: space-between; gap: var(--mc-space-2); }
.mc-decomp__name    { font-size: 0.78rem; color: var(--mc-ink-2); }
.mc-decomp__tier    { font-size: 0.66rem; color: var(--mc-muted); font-variant-numeric: tabular-nums; }
.mc-decomp__track   { height: 7px; border-radius: 4px; background: var(--mc-hairline); overflow: hidden; }
.mc-decomp__bar     { height: 100%; border-radius: 4px; }

/* ── Raw signal decomposition (locked layer; from the auth trace) ─────────── */
.mc-raw             { display: flex; flex-direction: column; gap: 4px; }
.mc-raw__domain     { background: var(--mc-surface); border: 1px solid var(--mc-hairline);
                      border-radius: var(--mc-radius-sm); padding: 2px var(--mc-space-2); }
.mc-raw__head       { display: grid; grid-template-columns: 1fr auto auto; gap: var(--mc-space-2);
                      align-items: baseline; cursor: pointer; font-size: 0.78rem; padding: 5px 0; }
.mc-raw__head::-webkit-details-marker { display: none; }
.mc-raw__name       { color: var(--mc-ink-2); }
.mc-raw__score      { font-variant-numeric: tabular-nums; font-weight: 600; }
.mc-raw__weight     { color: var(--mc-muted); font-size: 0.7rem; font-variant-numeric: tabular-nums; }
.mc-raw__table      { width: 100%; border-collapse: collapse; font-size: 0.72rem; margin: 2px 0 6px; }
.mc-raw__table th   { text-align: left; color: var(--mc-muted); font-weight: 600; padding: 2px 6px; }
.mc-raw__table td   { padding: 2px 6px; color: var(--mc-ink-2); font-variant-numeric: tabular-nums; }
.mc-raw__table td:nth-child(n+2), .mc-raw__table th:nth-child(n+2) { text-align: right; }

/* ── Locked-layer teaser (honest one-liner, NOT a fake-disabled control) ──── */
.mc-locked          { display: flex; flex-direction: column; gap: 4px;
                      background: var(--mc-panel); border: 1px dashed var(--mc-hairline);
                      border-radius: var(--mc-radius); padding: var(--mc-space-3); }
.mc-locked__title   { display: flex; align-items: center; gap: 6px; font-weight: 600;
                      font-size: 0.84rem; color: var(--mc-ink-2); }
.mc-locked__title::before { content: "🔒"; font-size: 0.82em; }
.mc-locked__blurb   { font-size: 0.74rem; color: var(--mc-muted); line-height: 1.45; margin: 0; }
.mc-locked__hint    { font-size: 0.7rem; color: var(--mc-primary); font-weight: 600; margin: 2px 0 0; }
.mc-locked__mount   { margin-top: var(--mc-space-2); }   /* host for the live (unlocked) module */

/* ── Explore workspace (rides the hub overview mode, full-canvas) ─────────── */
.mc-explore-ws      { display: flex; flex-direction: column; gap: var(--mc-space-4);
                      max-width: 1320px; margin: 0 auto; }
.mc-explore-ws__switch { display: flex; align-items: center; gap: var(--mc-space-3); flex-wrap: wrap; }
.mc-explore-ws__views  { display: flex; gap: var(--mc-space-2); flex-wrap: wrap; }
.mc-exview          { font-size: 0.78rem; color: var(--mc-ink-2); background: var(--mc-panel);
                      border: 1px solid var(--mc-hairline); border-radius: var(--mc-radius-sm);
                      padding: 6px 12px; cursor: pointer; }
.mc-exview:hover    { background: var(--mc-primary-soft); }
.mc-exview.is-active { background: var(--mc-primary-soft); color: var(--mc-ink); border-color: var(--mc-primary); font-weight: 600; }

/* Filters row */
.mc-explore-ws__filters { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mc-space-3);
                      padding: var(--mc-space-2) 0; border-top: 1px solid var(--mc-hairline);
                      border-bottom: 1px solid var(--mc-hairline); }
.mc-filter          { display: inline-flex; align-items: center; gap: 6px; font-size: 0.74rem; color: var(--mc-muted); }
.mc-filter select   { font: inherit; font-size: 0.76rem; color: var(--mc-ink-2); background: var(--mc-surface);
                      border: 1px solid var(--mc-hairline); border-radius: var(--mc-radius-sm); padding: 4px 8px; }
.mc-filter__clear   { font-size: 0.72rem; }

/* Explore table region (re-homes insight_table.renderComparisonTable) */
.mc-explore-ws__panel { min-height: 200px; }
.mc-explore-ws__panel table { width: 100%; }
.mc-explore-ws__count { font-size: 0.72rem; color: var(--mc-muted); }

/* Compare pins (explicit, no silent accretion — backlog #23) */
.mc-pins            { display: flex; flex-wrap: wrap; gap: var(--mc-space-2); align-items: center; }
.mc-pin             { display: inline-flex; align-items: center; gap: 6px; font-size: 0.76rem;
                      background: var(--mc-primary-soft); color: var(--mc-ink); border: 1px solid var(--mc-primary);
                      border-radius: 20px; padding: 4px 10px; }
.mc-pin__x          { cursor: pointer; color: var(--mc-muted); font-weight: 700; }
.mc-pin__x:hover    { color: var(--mc-primary); }

/* ── Compare view (explicit pins, side-by-side) ──────────────────────────── */
.mc-compare         { display: flex; flex-direction: column; gap: var(--mc-space-3); }
.mc-cmp__table      { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.mc-cmp__table th, .mc-cmp__table td { border: 1px solid var(--mc-hairline); padding: 6px 10px; text-align: right;
                      font-variant-numeric: tabular-nums; }
.mc-cmp__table th:first-child, .mc-cmp__metric { text-align: left; color: var(--mc-ink-2); font-weight: 600; }
.mc-cmp__sub td     { background: var(--mc-panel); font-weight: 700; color: var(--mc-muted); text-align: left;
                      font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; }

/* ── Movers view (Δ over the available history window) ───────────────────── */
.mc-mv__table       { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.mc-mv__table caption { caption-side: top; text-align: left; font-size: 0.72rem; color: var(--mc-muted); padding: 0 0 var(--mc-space-2); }
.mc-mv__table th, .mc-mv__table td { padding: 6px 8px; text-align: right; font-variant-numeric: tabular-nums; }
.mc-mv__table th:nth-child(2), .mc-mv__table td:nth-child(2),
.mc-mv__table th:first-child, .mc-mv__table td:first-child { text-align: left; }
.mc-mv__table tbody tr:hover { background: var(--mc-primary-soft); cursor: pointer; }
.mc-mv__delta       { font-weight: 700; }
.mc-mv--worse       { color: var(--mc-tier-severe); }
.mc-mv--better      { color: var(--mc-tier-resilient); }

/* ── External-benchmark badges (Explore credibility strip) ───────────────── */
.mc-bench           { background: var(--mc-panel); border: 1px solid var(--mc-hairline);
                      border-left: 3px solid var(--mc-primary); border-radius: var(--mc-radius);
                      padding: var(--mc-space-4); display: flex; flex-direction: column; gap: var(--mc-space-2); }
.mc-bench__title    { font-family: var(--mc-font-display); font-size: 0.98rem; color: var(--mc-ink); margin: 0; }
.mc-bench__badges   { display: flex; flex-wrap: wrap; gap: var(--mc-space-3); }
.mc-bench__badge    { display: flex; flex-direction: column; gap: 2px; min-width: 140px;
                      background: var(--mc-surface); border: 1px solid var(--mc-hairline);
                      border-radius: var(--mc-radius-sm); padding: var(--mc-space-2) var(--mc-space-3); }
.mc-bench__rho      { font-size: 1.2rem; font-weight: 700; color: var(--mc-primary); font-variant-numeric: tabular-nums; }
.mc-bench__name     { font-size: 0.78rem; color: var(--mc-ink-2); font-weight: 600; }
.mc-bench__meta     { font-size: 0.66rem; color: var(--mc-muted); font-variant-numeric: tabular-nums; }
.mc-bench__caption  { font-size: 0.74rem; color: var(--mc-muted); line-height: 1.5; margin: 0; font-style: italic; }

/* ── 16-tier toggle (locked colour mode, near the legend) ────────────────── */
.mc-tier16          { margin-top: var(--mc-space-2); display: flex; align-items: center; gap: 6px;
                      font-size: 0.72rem; color: var(--mc-ink-2); background: var(--mc-surface);
                      border: 1px solid var(--mc-hairline); border-radius: var(--mc-radius);
                      padding: 6px 10px; box-shadow: var(--mc-shadow-1); cursor: pointer; }
.mc-tier16[hidden]  { display: none; }
.mc-tier16--locked  { cursor: default; color: var(--mc-muted); }
.mc-tier16--locked::before { content: "🔒"; font-size: 0.82em; }
.mc-tier16 input    { accent-color: var(--mc-primary); }

/* ── Funder-brief export (button near Explore) + the print document ───────── */
.mc-brief-btn       { font-family: var(--mc-font-sans); font-size: 0.78rem; font-weight: 600;
                      color: var(--mc-ink-2); background: var(--mc-surface); border: 1px solid var(--mc-hairline);
                      border-radius: var(--mc-radius); padding: 7px 13px; cursor: pointer; }
.mc-brief-btn:hover { border-color: var(--mc-primary); color: var(--mc-ink); }

/* The brief itself is built into #mc-brief-print (a direct child of <body>),
   hidden on screen and revealed only for print (window.print → Save as PDF). */
#mc-brief-print     { display: none; }
.mc-brief           { color: #1a1a1a; background: #fff; font-family: var(--mc-font-sans);
                      padding: 32px 40px; max-width: 900px; }
.mc-brief__head     { border-bottom: 2px solid #1a1a1a; padding-bottom: 10px; margin-bottom: 18px; }
.mc-brief__title    { font-family: var(--mc-font-display); font-size: 1.5rem; margin: 0; }
.mc-brief__date     { font-size: 0.8rem; color: #555; }
.mc-brief h2        { font-family: var(--mc-font-display); font-size: 1.1rem; margin: 18px 0 8px; }
.mc-brief table     { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.mc-brief th, .mc-brief td { border: 1px solid #ccc; padding: 5px 8px; text-align: left; }
.mc-brief__disclosure { font-size: 0.74rem; color: #333; line-height: 1.5; margin-top: 18px;
                      border-top: 1px solid #ccc; padding-top: 10px; }

@media print {
  /* Hide the whole app + dialog; show only the brief. */
  body.mc-print-brief > *:not(#mc-brief-print) { display: none !important; }
  body.mc-print-brief #mc-brief-print { display: block !important; }
  .mc-brief { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ── Mobile: Explore collapses to one column (W5 backlog #20 ergonomics) ──── */
@media (max-width: 900px) {
  .mc-explore-ws__band    { grid-template-columns: 1fr; }
  .mc-bench__badge        { min-width: 0; flex: 1 1 120px; }
}
