/* Stratify v5.8.9 — contrast + evidence control reliability layer.
   Loaded last. It resolves light-card/white-text regressions without flattening intentionally dark surfaces. */
:root{
  --st589-ink:#1b2117;
  --st589-body:#4e554a;
  --st589-muted:#6b7166;
  --st589-line:#e5e1d8;
  --st589-soft:#f7f8f3;
  --st589-success:#176b4d;
  --st589-danger:#9b2c3f;
}

/* Standard light surfaces always use readable dark foregrounds. */
:where(.panel,.surface-card,.card,.metric-card,.mini-metric,.dashboard-panel,.detail-panel,.form-panel,.form-card,.table-panel,.upload-box,.glass-panel,.page-section,.extraction-command-panel,.extracted-signal-board,.signal-cluster-card,.entity-card,.insight-card,.recommendation-card,.governance-card,.report-card,.workspace-summary){
  color:var(--st589-ink) !important;
}
:where(.panel,.surface-card,.card,.metric-card,.mini-metric,.dashboard-panel,.detail-panel,.form-panel,.form-card,.table-panel,.upload-box,.glass-panel,.page-section,.extraction-command-panel,.extracted-signal-board,.signal-cluster-card,.entity-card,.insight-card,.recommendation-card,.governance-card,.report-card,.workspace-summary)
:where(h1,h2,h3,h4,h5,h6,strong,b,label,legend,th,td){
  color:var(--st589-ink) !important;
}
:where(.panel,.surface-card,.card,.metric-card,.mini-metric,.dashboard-panel,.detail-panel,.form-panel,.form-card,.table-panel,.upload-box,.glass-panel,.page-section,.extraction-command-panel,.extracted-signal-board,.signal-cluster-card,.entity-card,.insight-card,.recommendation-card,.governance-card,.report-card,.workspace-summary)
:where(p,li,dd,dt,span:not(.pill):not(.badge):not(.status-dot),small,.muted){
  color:var(--st589-body) !important;
}
:where(.panel,.surface-card,.card,.metric-card,.mini-metric,.dashboard-panel,.detail-panel,.form-panel,.form-card,.table-panel,.upload-box,.glass-panel,.page-section)
.eyebrow{color:#315f16 !important}

/* Evidence Intake hero is deliberately dark, independent of legacy stylesheet order/cache. */
.premium-intake-page .evidence-hero,
.evidence-hero.premium-hero{
  color:#fff !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(161,38,45,.20),transparent 24rem),
    linear-gradient(135deg,#172a08 0%,#315f16 52%,#68141a 115%) !important;
  border-color:rgba(255,255,255,.14) !important;
}
.premium-intake-page .evidence-hero :where(h1,h2,h3,h4,strong){color:#fff !important}
.premium-intake-page .evidence-hero :where(p,.muted,small){color:#eef5e7 !important}
.premium-intake-page .evidence-hero .eyebrow{color:#f3dfaa !important}
.premium-intake-page .evidence-hero .hero-chip-row span{
  color:#ffffff !important;
  background:rgba(255,255,255,.11) !important;
  border-color:rgba(255,255,255,.18) !important;
}
.premium-intake-page .evidence-hero .hero-chip-row svg{color:currentColor !important}

/* Explicit dark surfaces keep light text. */
:where(.dashboard-hero,.budget-hero,.command-hero,.auth-story-panel,.consultant-engine-page .consultant-hero,.enterprise-dashboard-hero,.st-final-cta,.dashboard-health-card,.enterprise-health-card)
:where(h1,h2,h3,h4,h5,h6,strong,b,label,legend,p,small,span:not(.pill),.muted,.eyebrow){
  color:inherit !important;
}
:where(.dashboard-hero,.budget-hero,.command-hero,.auth-story-panel,.consultant-engine-page .consultant-hero,.enterprise-dashboard-hero,.st-final-cta){color:#fff !important}

/* Evidence Control: keep actions clickable, obvious and stateful. */
body:has(.detail-panel) .detail-panel,
body:has(.detail-panel) .detail-panel *{pointer-events:auto}
.detail-panel .button-row,
.page-stack .panel .button-row{position:relative;z-index:2}
.detail-panel button,
.page-stack .panel .button-row button{min-height:42px}
.detail-panel button:disabled,
.page-stack .panel .button-row button:disabled{opacity:.55;cursor:not-allowed}

/* Status feedback must never disappear into the card background. */
.status-box,.production-message.status-box{
  color:#315f16 !important;
  background:#f2f8ee !important;
  border:1px solid #d5e6c9 !important;
  border-left:4px solid #3f731f !important;
  border-radius:12px !important;
  padding:.82rem 1rem !important;
  font-weight:650;
}
.error-box,.production-message.error-box{
  color:#851c23 !important;
  background:#fff2f2 !important;
  border:1px solid #efcfd1 !important;
  border-left:4px solid #a1262d !important;
  border-radius:12px !important;
  padding:.82rem 1rem !important;
  font-weight:650;
}

/* Form controls and table content stay readable even inside themed cards. */
input,select,textarea{color:var(--st589-ink) !important;background:#fff !important;border-color:#d9d3c8 !important}
input::placeholder,textarea::placeholder{color:#797e75 !important;opacity:1}
table,thead,tbody,tr,th,td{color:var(--st589-ink)}
th{color:#5c6258 !important;background:#f7f5f0 !important}
td{color:#2c3129 !important}
.selected-row td,.clickable-row:hover td{color:#203b0a !important}

/* Preserve readable button labels across normal/hover/focus states. */
button:not(.ghost):not(.secondary):not(.secondary-action):not(.st-btn):not(.hc-btn){color:#fff}
button.ghost,button.secondary,.ghost,.secondary{color:#2c3129 !important}
button.ghost:hover,button.ghost:focus-visible{color:#203b0a !important}
button.secondary:hover,button.secondary:focus-visible{color:#851c23 !important}

/* Small-screen evidence review stays usable instead of sticky/overlapping. */
@media(max-width:1100px){.detail-panel{position:static !important}}
