/* CircleTrust P1 dark-mode reliability.
   Loaded last. Converts legacy hard-coded light surfaces to canonical tokens.
   Trust-label substrate in tokens.css remains intentionally fixed and untouched. */

[data-mode="dark"] body,
[data-mode="dark"] .app-view{
  background:var(--ct-base);
  color:var(--ct-ink);
}

/* Business + Browse business cards: this fixes the reported white lower-card area
   with light/white text when dark mode is selected. */
[data-mode="dark"] .biz-page,
[data-mode="dark"] .biz-hero,
[data-mode="dark"] .biz-card,
[data-mode="dark"] .me-business-card,
[data-mode="dark"] .browse-business-card,
[data-mode="dark"] .browse-business-body,
[data-mode="dark"] .biz-gallery-slide figcaption{
  background:var(--ct-paper);
  color:var(--ct-ink);
  border-color:var(--ct-line);
}
[data-mode="dark"] .biz-card p,
[data-mode="dark"] .biz-gallery-slide figcaption,
[data-mode="dark"] .browse-business-copy p,
[data-mode="dark"] .browse-business-copy small,
[data-mode="dark"] .biz-gallery-note{
  color:var(--ct-sub)!important;
}
[data-mode="dark"] .biz-proof{
  background:color-mix(in srgb,var(--ct-accent) 5%,var(--ct-paper));
}
[data-mode="dark"] .biz-contact,
[data-mode="dark"] .browse-business-open,
[data-mode="dark"] .browse-business-recommend,
[data-mode="dark"] .me-business-actions button{
  background:var(--ct-paper);
  color:var(--ct-ink);
  border-color:var(--ct-line);
}
[data-mode="dark"] .biz-contact.primary,
[data-mode="dark"] .biz-recommend{
  background:var(--ct-accent);
  color:var(--ct-accent-contrast);
  border-color:var(--ct-accent);
}
[data-mode="dark"] .browse-business-kicker,
[data-mode="dark"] .biz-kicker,
[data-mode="dark"] .biz-eyebrow{
  color:var(--ct-sub);
}
[data-mode="dark"] .biz-gallery-stage,
[data-mode="dark"] .biz-gallery-slide img{
  background:color-mix(in srgb,var(--ct-ink) 8%,var(--ct-paper));
}

/* Browse/search evidence must remain readable in dark mode. */
[data-mode="dark"] .browse-search-evidence{
  color:var(--ct-ink);
  background:color-mix(in srgb,var(--ct-trust-trusted) 12%,var(--ct-paper));
}

/* Student Pulse previously used its own fixed light palette, so changing Appearance
   could leave the page light while the rest of CircleTrust was dark. */
[data-mode="dark"] .student-pulse-page{
  --sp-base:var(--ct-base);
  --sp-paper:var(--ct-paper);
  --sp-ink:var(--ct-ink);
  --sp-sub:var(--ct-sub);
  --sp-line:var(--ct-line);
  --sp-accent:var(--ct-accent);
}
[data-mode="dark"] .student-pulse-status,
[data-mode="dark"] .pulse-act,
[data-mode="dark"] .student-exchange-head button,
[data-mode="dark"] .student-pulse-sheet,
[data-mode="dark"] .student-pulse-sheethead>button,
[data-mode="dark"] .student-pulse-gate{
  background:var(--ct-paper);
  color:var(--ct-ink);
  border-color:var(--ct-line);
}
[data-mode="dark"] .student-pulse-outcome,
[data-mode="dark"] .student-pulse-doctrine{
  background:color-mix(in srgb,var(--ct-accent) 6%,var(--ct-paper));
  border-color:var(--ct-line);
  color:var(--ct-ink);
}
[data-mode="dark"] .student-pulse-status.error{
  background:color-mix(in srgb,#b64032 14%,var(--ct-paper));
  color:#ffb4aa;
  border-color:color-mix(in srgb,#b64032 45%,var(--ct-line));
}

/* Other legacy white controls. */
[data-mode="dark"] .ct-crop-card footer button{
  background:var(--ct-paper);
  color:var(--ct-ink);
  border-color:var(--ct-line);
}
[data-mode="dark"] .cir-status.error,
[data-mode="dark"] .cir-inline-note.error{
  background:color-mix(in srgb,#b64032 14%,var(--ct-paper));
  color:#ffb4aa;
  border-color:color-mix(in srgb,#b64032 45%,var(--ct-line));
}


/* Recommend outcome cards in dark mode. */
[data-mode="dark"] .ctc-radio{
  background:var(--ct-paper);
  color:var(--ct-ink);
  border-color:var(--ct-line);
}
[data-mode="dark"] .ctc-radio>span>strong{
  color:var(--ct-ink);
}
[data-mode="dark"] .ctc-radio>span>small{
  color:var(--ct-sub);
}
[data-mode="dark"] .ctc-feedback-outcome{
  border-color:var(--ct-line);
}
