/* Final SOS / Capstone contrast lock.
   Loaded last so every major surface has an explicit foreground/background
   pair instead of relying on inherited color from an older component. */

/* Light operational cards: dark copy only. */
.sos-elite-lab .sos-info-card,
.sos-elite-lab .sos-compact-card,
.sos-elite-lab .v25-custody-card:not(.v25-dark-card):not(.v25-iris-card),
.sos-elite-lab .v25-release-board>div,
.sos-elite-lab .wf-card,
.sos-elite-lab .wf-step,
.sos-elite-lab .capstone-current-answer,
.sos-elite-lab .capstone-semantic-outcomes,
.sos-elite-lab .capstone-operational-stress,
.sos-elite-lab .capstone-state-chip,
.sos-elite-lab .capstone-answer-cell{
  background:#f7fafc!important;
  color:#102437!important;
  border-color:#b9ceda!important;
}
.sos-elite-lab .sos-info-card h1,
.sos-elite-lab .sos-info-card h2,
.sos-elite-lab .sos-info-card h3,
.sos-elite-lab .sos-compact-card h1,
.sos-elite-lab .sos-compact-card h2,
.sos-elite-lab .sos-compact-card h3,
.sos-elite-lab .v25-custody-card:not(.v25-dark-card):not(.v25-iris-card) h3,
.sos-elite-lab .v25-release-board>div h3,
.sos-elite-lab .wf-card h3,
.sos-elite-lab .wf-step b,
.sos-elite-lab .capstone-current-answer h4,
.sos-elite-lab .capstone-semantic-outcomes h4,
.sos-elite-lab .capstone-operational-stress h4,
.sos-elite-lab .capstone-state-chip b,
.sos-elite-lab .capstone-answer-cell strong{
  color:#102437!important;
  -webkit-text-fill-color:#102437!important;
}
.sos-elite-lab .sos-info-card p,
.sos-elite-lab .sos-info-card li,
.sos-elite-lab .sos-info-card span,
.sos-elite-lab .sos-compact-card p,
.sos-elite-lab .sos-compact-card li,
.sos-elite-lab .sos-compact-card span,
.sos-elite-lab .v25-custody-card:not(.v25-dark-card):not(.v25-iris-card) p,
.sos-elite-lab .v25-custody-card:not(.v25-dark-card):not(.v25-iris-card) li,
.sos-elite-lab .v25-release-board>div p,
.sos-elite-lab .wf-card p,
.sos-elite-lab .wf-card li,
.sos-elite-lab .wf-step small,
.sos-elite-lab .capstone-current-answer p,
.sos-elite-lab .capstone-current-answer span,
.sos-elite-lab .capstone-semantic-outcomes p,
.sos-elite-lab .capstone-semantic-outcomes span,
.sos-elite-lab .capstone-operational-stress p,
.sos-elite-lab .capstone-operational-stress span,
.sos-elite-lab .capstone-state-chip span,
.sos-elite-lab .capstone-answer-cell span{
  color:#314e65!important;
  -webkit-text-fill-color:#314e65!important;
  opacity:1!important;
}

/* Dark or iris operational cards: near-white copy only. */
.sos-elite-lab .v25-dark-card,
.sos-elite-lab .v25-iris-card,
.sos-elite-lab .sos-scope,
.sos-elite-lab .sos-warning,
.sos-elite-lab .sos-version-stamp,
.sos-elite-lab .wf-shell{
  color:#f8fbff!important;
}
.sos-elite-lab .v25-dark-card h1,
.sos-elite-lab .v25-dark-card h2,
.sos-elite-lab .v25-dark-card h3,
.sos-elite-lab .v25-iris-card h1,
.sos-elite-lab .v25-iris-card h2,
.sos-elite-lab .v25-iris-card h3,
.sos-elite-lab .sos-scope h1,
.sos-elite-lab .sos-scope h2,
.sos-elite-lab .sos-scope h3,
.sos-elite-lab .wf-shell h2{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.sos-elite-lab .v25-dark-card p,
.sos-elite-lab .v25-dark-card li,
.sos-elite-lab .v25-dark-card span,
.sos-elite-lab .v25-iris-card p,
.sos-elite-lab .v25-iris-card li,
.sos-elite-lab .v25-iris-card span,
.sos-elite-lab .sos-scope p,
.sos-elite-lab .sos-scope li,
.sos-elite-lab .sos-warning,
.sos-elite-lab .sos-version-stamp span,
.sos-elite-lab .wf-shell>p{
  color:#d6e4ee!important;
  -webkit-text-fill-color:#d6e4ee!important;
  opacity:1!important;
}

/* Quick sensitivity and architecture utility links must remain visible. */
#sosQuickSensitivity .qs-cta a,
#sosArchitectureComparison .sos-arch-source,
#sosRunEvidenceRecord .sos-evidence-actions a,
#sosRunEvidenceRecord .sos-evidence-actions button{
  background:#fff!important;
  color:#075f63!important;
  -webkit-text-fill-color:#075f63!important;
  border:2px solid #08777a!important;
}
#sosQuickSensitivity .qs-cta a.primary,
#sosRunEvidenceRecord .sos-evidence-actions .primary{
  background:#08777a!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#075b5e!important;
}

/* Tables: explicit zebra foregrounds, no inherited white text. */
.capstone-elite table,
.sos-elite-lab table,
#sosArchitectureComparison table{
  background:#fff!important;
  color:#102437!important;
}
.capstone-elite table tbody td,
.capstone-elite table tbody th,
.sos-elite-lab table tbody td,
.sos-elite-lab table tbody th,
#sosArchitectureComparison table tbody td,
#sosArchitectureComparison table tbody th{
  color:#203f56!important;
  -webkit-text-fill-color:#203f56!important;
}
.capstone-elite table thead th,
.sos-elite-lab table thead th,
#sosArchitectureComparison table thead th{
  background:#143a56!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Inputs, outputs, and controls always expose their current value. */
.sos-elite-lab input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
.sos-elite-lab select,
.sos-elite-lab textarea{
  background:#fff!important;
  color:#102437!important;
  -webkit-text-fill-color:#102437!important;
  border-color:#8fabbb!important;
}
.sos-elite-lab input::placeholder,
.sos-elite-lab textarea::placeholder{
  color:#526f82!important;
  opacity:1!important;
}

/* Honest disabled state remains readable instead of disappearing. */
.sos-elite-lab button:disabled,
.sos-elite-lab a[aria-disabled="true"]{
  background:#667b89!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#8da1ad!important;
  opacity:1!important;
}

/* PR6 first-frame contrast authority. These rules use page roots and
   component semantics that exist in the static DOM; no delayed class or
   stylesheet injection is required before foreground/background pairing. */
body.sos-live-page{
  background-color:#0D1B2A;
  color:#E8EDF2;
}
body.sos-live-page .lakana-menu-button,
body.sos-live-page .capstone-path-start{
  background:#F3C75B!important;
  color:#0D1B2A!important;
  -webkit-text-fill-color:#0D1B2A!important;
}
body.sos-live-page .sos-btn.primary{
  background:#E8EDF2!important;
  color:#0D1B2A!important;
  -webkit-text-fill-color:#0D1B2A!important;
}
body.sos-live-page .v25-custody-doctrine .v25-section-label{
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
}
body.sos-live-page .v25-iris-card{
  background:#242044!important;
  color:#F8FBFF!important;
}
body.sos-live-page .v25-iris-card :is(h1,h2,h3,h4,strong,b){
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
body.sos-live-page .v25-iris-card :is(p,li,span){
  color:#D6E4EE!important;
  -webkit-text-fill-color:#D6E4EE!important;
  opacity:1!important;
}
body.sos-live-page #sosV21Lab .v21-kicker{
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
}
body.sos-live-page #sosV21Lab .v21-intro .v21-kicker,
body.sos-live-page #sosV21Lab .v21-access .v21-kicker,
body.sos-live-page #sosV21Lab .v21-panel.dark>.v21-kicker{
  color:#F3C75B!important;
  -webkit-text-fill-color:#F3C75B!important;
}
body.sos-live-page #lkmcRunBtn:disabled,
body.sos-live-page #v21Run:disabled,
body.sos-live-page .professor-console button:disabled{
  background:#405666!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border-color:#718694!important;
  opacity:1!important;
}
body.sos-live-page #sosV21Lab #v21Run{
  background:#075F63!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
body.sos-live-page #sosV21Lab .v55-bridge-group,
body.sos-live-page #sosV21Lab .v55-reviewer-panel,
body.sos-live-page #sosV21Lab .v55-reviewer-drawer{
  background:#F3F6F8!important;
  color:#0D1B2A!important;
}
body.sos-live-page #sosV21Lab .v55-bridge-group summary,
body.sos-live-page #sosV21Lab .v55-reviewer-head h3,
body.sos-live-page #sosV21Lab .v55-reviewer-drawer summary{
  color:#0D1B2A!important;
  -webkit-text-fill-color:#0D1B2A!important;
}
body.sos-live-page #sosV21Lab .v55-bridge-group summary small,
body.sos-live-page #sosV21Lab .v55-reviewer-head p,
body.sos-live-page #sosV21Lab .v55-bridge-help{
  color:#345275!important;
  -webkit-text-fill-color:#345275!important;
}
body.sos-live-page #sosV21Lab .v55-bridge-grid .v55-bridge-control,
body.sos-live-page #sosV21Lab .v55-bridge-summary,
body.sos-live-page #sosV21Lab .v55-chain span,
body.sos-live-page #sosV21Lab .v55-open-cta{
  background:#FFFFFF!important;
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
}
body.sos-live-page #sosV21Lab .v55-bridge-control :is(label,span,output){
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
}

/* Legacy lab layers use stacked IDs with !important declarations. Keep the
   final authority equally specific so those late selectors cannot re-create
   light-on-light or dark-on-dark text. */
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab table.capstone-data-table,
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab table.capstone-data-table :is(thead,tbody,tr,th,td){
  background:#FFFFFF!important;
  color:#203F56!important;
  -webkit-text-fill-color:#203F56!important;
}
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-bridge-group,
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-reviewer-panel,
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-reviewer-drawer{
  background:#F3F6F8!important;
  color:#0D1B2A!important;
}
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-open-cta,
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-chain span,
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-bridge-control :is(label,span,output),
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-bridge-summary :is(b,span){
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
  opacity:1!important;
}
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-bridge-summary{
  background:#FFFFFF!important;
}
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-reviewer-tab{
  background:#FFFFFF!important;
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
}
html body.sos-live-page.sos-elite-lab #sosSafetySimulationLab #sosV21Lab .v55-reviewer-tab[aria-selected="true"]{
  background:#075F63!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
html body.sos-live-page.sos-elite-lab .sos-info-card .sos-warning{
  background:#FFF4CC!important;
  color:#4A3500!important;
  -webkit-text-fill-color:#4A3500!important;
}
html body.sos-live-page.sos-elite-lab .sos-compact-card a{
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
}
html body.sos-live-page.sos-elite-lab .capstone-skip-link{
  background:#FFFFFF!important;
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
  border-color:#075F63!important;
}
html body.sos-live-page.sos-elite-lab .professor-console-footer a{
  background:#075F63!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border-color:#D6E4EE!important;
}
html body.sos-live-page.sos-elite-lab .reviewer-primary .reviewer-report-heading>span{
  color:#075F63!important;
  -webkit-text-fill-color:#075F63!important;
}
html body.sos-live-page.sos-elite-lab .reviewer-actions button:disabled{
  background:#405666!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  border-color:#718694!important;
  opacity:1!important;
}
