/* SYNAPSE — visual uplift (Phase 8, additive stylesheet).
   Loaded LAST on product pages (dashboard.html, strategic.html) so its
   overrides win without rewriting styles.css / mono-redesign.css.
   Marketing pages are not touched.

   Goals: readability of the grey/white-on-black palette (contrast bump),
   clear visual hierarchy, color identity per agent type
   (manual / watch / filter / multi-party), clearer strategic view. */

/* ── 1. Palette: readability bump + agent-type identity ─────────────── */

:root {
  /* secondary/tertiary text was #8D949E / #5e646d — too dim on #050607 */
  --text-2: #A9B0BA;
  --text-3: #7E8691;
  /* structural lines slightly more present */
  --line: #32373D;
  --line-strong: #4A525B;

  /* agent-type identity colors */
  --type-manual: #6EA8FF;  /* manual/custom agents  — blue   */
  --type-watch:  #D6A64F;  /* watch agents          — amber  */
  --type-filter: #79C7BC;  /* filter pipelines      — teal   */
  --type-mp:     #B48EAD;  /* multi-party sessions  — mauve  */
}

::selection {
  background: rgba(110, 168, 255, .3);
  color: #fff;
}

:focus-visible {
  outline: 2px solid var(--accent-blue, #6EA8FF);
  outline-offset: 2px;
}

/* ── 2. Dashboard: navigation hierarchy & agent-type coding ─────────── */

/* Grouped sidebar: 4 functional groups instead of 12 flat entries. */
.dash-nav-group {
  display: grid;
  gap: .1rem;
}

.dash-nav-group + .dash-nav-group {
  margin-top: .9rem;
}

.dash-nav-group-label {
  font-family: var(--ff-mono, monospace);
  font-size: .56rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-3, #7E8691);
  padding: 0 .9rem .25rem;
}

.dash-nav-strategic {
  display: block;
  margin-top: 1.1rem;
  padding: .5rem .9rem;
  font-family: var(--ff-mono, monospace);
  font-size: .66rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent-blue, #6EA8FF);
  text-decoration: none;
  border: 1px solid var(--line, #32373D);
  transition: border-color .15s ease, background .15s ease;
}

.dash-nav-strategic:hover {
  border-color: var(--accent-blue, #6EA8FF);
  background: rgba(110, 168, 255, .07);
}

.dash-nav button {
  transition: color .15s ease, background .15s ease, border-color .15s ease;
}

.dash-nav button.active {
  color: var(--white, #F4F6F8);
  background: rgba(110, 168, 255, .07);
  box-shadow: inset 2px 0 0 var(--accent-blue, #6EA8FF);
}

.dash-nav button[data-view-target="agents"]::before,
.dash-nav button[data-view-target="watch"]::before,
.dash-nav button[data-view-target="filtering"]::before,
.dash-nav button[data-view-target="multiparty"]::before {
  content: "";
  display: inline-block;
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  margin-right: .45rem;
  vertical-align: middle;
  opacity: .9;
}

.dash-nav button[data-view-target="agents"]::before     { background: var(--type-manual); }
.dash-nav button[data-view-target="watch"]::before      { background: var(--type-watch); }
.dash-nav button[data-view-target="filtering"]::before  { background: var(--type-filter); }
.dash-nav button[data-view-target="multiparty"]::before { background: var(--type-mp); }

/* View header chips take the type color of their agent family */
[data-view="agents"] .dash-card > header b     { color: var(--type-manual); }
[data-view="watch"] .dash-card > header b      { color: var(--type-watch); }
[data-view="filtering"] .dash-card > header b  { color: var(--type-filter); }
[data-view="multiparty"] .dash-card > header b { color: var(--type-mp); }

[data-view="watch"] .digest-theme-title { color: var(--type-watch); }

.filter-type-badge {
  color: var(--type-filter);
  border-color: var(--type-filter);
  background: rgba(121, 199, 188, .08);
}

.mp-center { stroke: var(--type-mp); }
.mp-mode-note { color: var(--type-mp); }

/* Cards & lists: slightly clearer separation and hover affordance */
.dash-card {
  border-color: var(--line);
}

.conn-item,
.digest-item {
  transition: border-color .15s ease;
}

.conn-item:hover,
.digest-item:hover {
  border-color: var(--line-strong);
}

.reports-grid article:hover,
.mp-session:hover {
  border-color: var(--accent-blue, #6EA8FF);
}

/* Composer shortcuts: quick recipient add + prerequisites hints */
.quick-bene {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .4rem;
  margin-top: .4rem;
}

.quick-bene-msg {
  grid-column: 1 / -1;
  font-size: .68rem;
  color: var(--accent-good, #7da77b);
  line-height: 1.4;
}

.quick-bene-msg.error {
  color: var(--accent-bad, #b04848);
}

.compose-hints {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-bottom: .7rem;
}

.compose-hints:empty {
  display: none;
}

.ch-ok,
.ch-missing {
  font-family: var(--ff-mono, monospace);
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .25rem .55rem;
  border: 1px solid var(--line, #32373D);
  color: var(--text-2, #A9B0BA);
  background: transparent;
}

.ch-missing {
  color: var(--accent-amber, #D6A64F);
  border-color: var(--accent-amber, #D6A64F);
  cursor: pointer;
}

.ch-missing:hover {
  background: rgba(214, 166, 79, .1);
}

/* ── 3. Strategic view: contrast & hierarchy ────────────────────────── */

.indicator-card {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .025);
}

.indicator-value {
  color: var(--white, #F4F6F8);
}

.indicator-card--alert .indicator-value      { color: var(--accent-bad, #b04848); }
.indicator-card--confidence .indicator-value { color: var(--accent-good, #7da77b); }
.indicator-card--sources .indicator-value    { color: var(--accent-blue, #6EA8FF); }
.indicator-card--agents .indicator-value     { color: var(--type-watch); }
.indicator-card--entities .indicator-value   { color: var(--type-filter); }
.indicator-card--priorities .indicator-value { color: var(--accent-amber, #D6A64F); }

.indicator-label,
.indicator-sub {
  color: var(--text-3);
}

.domain-tab {
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.domain-tab.active {
  color: var(--white, #F4F6F8);
  border-color: var(--accent-blue, #6EA8FF);
  background: rgba(110, 168, 255, .08);
}

.exec-brief {
  border-color: var(--line);
}

.brief-item {
  color: var(--text-2);
}

.entity-card,
.risk-item {
  border-color: var(--line);
}

.sit-title {
  color: var(--white, #F4F6F8);
}

.sit-meta,
.section-meta,
.map-legend-item {
  color: var(--text-3);
}

.conf-value {
  color: var(--accent-good, #7da77b);
}

.conf-bar-fill {
  background: var(--accent-good, #7da77b);
}

.priorities-table th {
  color: var(--text-3);
  border-bottom: 1px solid var(--line-strong);
}

.priorities-table td {
  color: var(--text-2);
  border-bottom: 1px solid var(--line);
}

.classif-banner {
  background: rgba(176, 72, 72, .14);
  color: #E2B8B8;
  border-bottom: 1px solid rgba(176, 72, 72, .45);
  letter-spacing: .12em;
}

/* Real watch digests injected on the strategic page */
.strat-live-digests {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .02);
  padding: .9rem 1rem;
}

.strat-live-digests .digest-theme-title {
  color: var(--type-watch);
}
