+/* V407.85.53: persistent authenticated theme control and final-source-order dark contrast repairs. */
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
.theme-quick-toggle{min-width:96px;height:44px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 6px 14px rgba(15,23,42,.08);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.theme-quick-toggle:hover{border-color:var(--line-blue-strong);background:var(--sky);box-shadow:0 8px 18px rgba(15,23,42,.12);transform:translateY(-1px)}
.theme-quick-toggle:active{transform:translateY(0)}
.theme-quick-toggle:focus-visible{outline:3px solid var(--line-blue-strong);outline-offset:2px}
.theme-quick-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.theme-quick-icon-sun{display:none}
:root[data-theme="dark"] .theme-quick-icon-moon{display:none}
:root[data-theme="dark"] .theme-quick-icon-sun{display:block}
:root[data-theme="dark"] .theme-quick-toggle{background:var(--surface-2);border-color:var(--line-strong);color:var(--text-strong);box-shadow:0 6px 16px rgba(0,0,0,.32)}
:root[data-theme="dark"] .theme-quick-toggle:hover{background:var(--sky);border-color:var(--blue);color:var(--blue-2)}
@media(max-width:760px){.theme-quick-toggle{min-width:42px;width:42px;height:40px;padding:0}.theme-quick-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}

/* The resolved theme is always written to data-theme, including System preference. */
:root[data-theme="dark"] body.logged-in.app-ready,
:root[data-theme="dark"] body.logged-in.app-ready .app-shell{background:var(--bg)!important;color:var(--text)!important}
:root[data-theme="dark"] body.logged-in.app-ready .app-shell>.topbar{background:rgba(22,27,36,.97)!important;border-bottom-color:var(--line)!important;box-shadow:0 1px 0 rgba(255,255,255,.035)!important}
:root[data-theme="dark"] body.logged-in.app-ready .app-shell>.main.wrap{background:linear-gradient(180deg,var(--bg),var(--surface-soft))!important}
:root[data-theme="dark"] body.logged-in.app-ready .page-title{background:linear-gradient(180deg,var(--surface-soft) 78%,rgba(27,33,44,.94))!important;border-color:var(--line)!important;border-bottom-color:var(--line)!important}
:root[data-theme="dark"] body.logged-in.app-ready .app-shell>.main.wrap::-webkit-scrollbar-track,
:root[data-theme="dark"] body.logged-in.app-ready #vault #vaultList::-webkit-scrollbar-track{background:var(--surface-soft)!important}
:root[data-theme="dark"] body.logged-in.app-ready .app-shell>.main.wrap::-webkit-scrollbar-thumb,
:root[data-theme="dark"] body.logged-in.app-ready #vault #vaultList::-webkit-scrollbar-thumb{background:var(--line-strong)!important}
:root[data-theme="dark"] body.logged-in.app-ready .app-shell>.main.wrap:hover::-webkit-scrollbar-thumb,
:root[data-theme="dark"] body.logged-in.app-ready #vault #vaultList:hover::-webkit-scrollbar-thumb{background:var(--muted)!important}

/* Late component styles previously repainted these surfaces with light-only literals. */
:root[data-theme="dark"] body.logged-in.app-ready .logged-in .guide-card,
:root[data-theme="dark"] body.logged-in.app-ready .guide-card{background:linear-gradient(180deg,var(--surface-2),var(--card) 82%)!important;border-color:var(--line)!important}
:root[data-theme="dark"] body.logged-in.app-ready #boardStatusDropRow.board-status-drop-row{background:rgba(22,27,36,.96)!important;border-color:var(--line-strong)!important;box-shadow:0 -10px 30px rgba(0,0,0,.24),0 24px 64px rgba(0,0,0,.48)!important}
:root[data-theme="dark"] body.logged-in.app-ready #board .board-risk-legend{background:var(--card)!important;border-color:var(--line-strong)!important;color:var(--text-body)!important;box-shadow:0 5px 14px rgba(0,0,0,.28)!important}
:root[data-theme="dark"] body.logged-in.app-ready #board .board-risk-legend strong{color:var(--text-strong)!important}
:root[data-theme="dark"] body.logged-in.app-ready .settings-menu button{background:transparent;color:var(--text-body);border-color:transparent}
:root[data-theme="dark"] body.logged-in.app-ready .settings-menu button:hover{background:var(--surface-2);color:var(--text-strong)}
:root[data-theme="dark"] body.logged-in.app-ready .settings-menu button.active,
:root[data-theme="dark"] body.logged-in.app-ready .settings-child-grid .settings-menu button.active{background:var(--sky)!important;color:var(--blue-2)!important;border-color:var(--line-blue)!important}
:root[data-theme="dark"] body.logged-in.app-ready .ux-mode-option{background:var(--card)!important;border-color:var(--line-strong)!important}
:root[data-theme="dark"] body.logged-in.app-ready .ux-mode-option:hover{background:var(--surface-2)!important;border-color:var(--blue)!important}
:root[data-theme="dark"] body.logged-in.app-ready .ux-mode-option.active{background:var(--sky)!important;border-color:var(--blue)!important;box-shadow:0 0 0 2px rgba(116,155,255,.18)!important}
:root[data-theme="dark"] body.logged-in.app-ready .settings-row,
:root[data-theme="dark"] body.logged-in.app-ready .system-detail-row,
:root[data-theme="dark"] body.logged-in.app-ready .premium-report-meta div,
:root[data-theme="dark"] body.logged-in.app-ready .pricing-intel-metrics div{background:var(--surface-soft)!important;border-color:var(--line)!important}
:root[data-theme="dark"] body.logged-in.app-ready .security-mfa-box,
:root[data-theme="dark"] body.logged-in.app-ready .system-status-overview,
:root[data-theme="dark"] body.logged-in.app-ready .proposal-workspace-topbar,
:root[data-theme="dark"] body.logged-in.app-ready #analysis .premium-report-cover{background:linear-gradient(180deg,var(--card),var(--surface-blue))!important;border-color:var(--line-blue)!important}
:root[data-theme="dark"] body.logged-in.app-ready .system-status-badge.operational,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.operational,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.ok,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.partial{background:var(--surface-green)!important;color:var(--green-text)!important;border-color:var(--line-green)!important}
:root[data-theme="dark"] body.logged-in.app-ready .system-status-badge.degraded,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.waiting,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.not_configured,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.not_started{background:var(--amber-tint)!important;color:var(--amber-text)!important;border-color:var(--line-amber)!important}
:root[data-theme="dark"] body.logged-in.app-ready .system-status-badge.outage,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.failed,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.paused,
:root[data-theme="dark"] body.logged-in.app-ready .system-service-pill.unavailable{background:var(--surface-red)!important;color:var(--red-text)!important;border-color:var(--line-red)!important}

/* Readable semantic text across cards, reports, settings, workspaces, tables, and overlays. */
:root[data-theme="dark"] body.logged-in.app-ready :is(.page-title,.card,.modal-card,.opportunity-panel,.assistant-drawer,.notification-drawer,.resource-shell,.proposal-workspace-page,.proposal-builder-page,.system-status-shell) :is(h1,h2,h3,h4,h5,h6),
:root[data-theme="dark"] body.logged-in.app-ready :is(.section-title,.settings-help-title,.board-search-title,.resource-main-head h2,.premium-card-title-block h4){color:var(--text-strong)!important}
:root[data-theme="dark"] body.logged-in.app-ready :is(.muted,.muted-2,.small,.tiny,.eyebrow,.label,.help-note,.protected-note,.chat-mode-help,.vault-summary-note,.premium-report-source-note,.deadline-meta,.card-meta,.premium-card-meta,.proposal-context-meta,.proposal-workspace-status),
:root[data-theme="dark"] body.logged-in.app-ready :is(.page-title,.card,.modal-card,.opportunity-panel,.assistant-drawer,.notification-drawer,.resource-shell,.proposal-workspace-page,.proposal-builder-page,.system-status-shell) :is(p,li,dd){color:var(--text-soft)!important}
:root[data-theme="dark"] body.logged-in.app-ready :is(.settings-row span,.ux-mode-option span,.notification-item span,.guide-card p,.system-status-card small,.system-detail-row span){color:var(--muted-3)!important}
:root[data-theme="dark"] body.logged-in.app-ready :is(label,legend,th){color:var(--text-body)!important}
:root[data-theme="dark"] body.logged-in.app-ready td{color:var(--text-soft)!important;border-color:var(--line)!important}
:root[data-theme="dark"] body.logged-in.app-ready th{background:var(--surface-2)!important;border-color:var(--line)!important}
:root[data-theme="dark"] body.logged-in.app-ready a:not(.btn):not(.nav-login-link){color:var(--blue-2)}
:root[data-theme="dark"] body.logged-in.app-ready input::placeholder,
:root[data-theme="dark"] body.logged-in.app-ready textarea::placeholder{color:var(--muted-3)!important;opacity:1}
:root[data-theme="dark"] body.logged-in.app-ready :is(input,select,textarea,option){background-color:var(--card)!important;color:var(--text-strong)!important;border-color:var(--line-strong)!important}
:root[data-theme="dark"] body.logged-in.app-ready :is(input,select,textarea):disabled{background:var(--surface-soft)!important;color:var(--muted-3)!important;opacity:1}
:root[data-theme="dark"] body.logged-in.app-ready :is(input,select,textarea,button,a):focus-visible{outline:3px solid var(--blue)!important;outline-offset:2px!important}
:root[data-theme="dark"] body.logged-in.app-ready :is(code,pre){background:var(--surface-dark)!important;color:var(--text-body)!important;border-color:var(--line-strong)!important}

/* Preserve intended inverse text on bright actions and deliberately dark Operations Board cards. */
:root[data-theme="dark"] body.logged-in.app-ready .btn.primary{color:#0b1020!important;-webkit-text-fill-color:#0b1020!important}
:root[data-theme="dark"] body.logged-in.app-ready #board .board-card-analyze{color:#fff!important;-webkit-text-fill-color:#fff!important}
:root[data-theme="dark"] body.logged-in.app-ready #board .f82-dark-card,
:root[data-theme="dark"] body.logged-in.app-ready #board .f82-dark-card :is(h4,b,strong,span,small){-webkit-text-fill-color:initial}

/* V407.85.55: compact, familiar header switch with readable state treatment. */
.theme-quick-toggle{
  position:relative!important;
  isolation:isolate;
  width:78px!important;
  min-width:78px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 9px!important;
  border:1px solid var(--line-strong)!important;
  border-radius:999px!important;
  background:var(--surface-2)!important;
  color:var(--muted-2)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:0!important;
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.08),0 4px 12px rgba(15,23,42,.08)!important;
}
.theme-quick-toggle::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:4px;
  top:4px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:0 2px 7px rgba(15,23,42,.18);
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
:root[data-theme="dark"] .theme-quick-toggle::before{
  transform:translateX(38px);
  background:#283449;
  border-color:#506078;
}
.theme-quick-toggle .theme-quick-icon{
  position:relative;
  z-index:1;
  display:block!important;
  width:17px!important;
  height:17px!important;
  flex:0 0 17px;
}
.theme-quick-icon-sun{color:#b45309!important}
.theme-quick-icon-moon{color:#52606d!important}
:root[data-theme="dark"] .theme-quick-icon-sun{color:#94a3b8!important}
:root[data-theme="dark"] .theme-quick-icon-moon{color:#93c5fd!important}
.theme-quick-toggle:hover{
  transform:none!important;
  border-color:var(--blue)!important;
  background:var(--sky)!important;
}
.theme-quick-toggle:focus-visible{
  outline:3px solid var(--blue)!important;
  outline-offset:3px!important;
}
.theme-quick-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Keep guided-tour content readable while the rest of the app is intentionally dimmed. */
.driver-popover.govbid-tour,
.driver-popover.govbid-tour *{
  color:#243047!important;
  -webkit-text-fill-color:initial!important;
}
.driver-popover.govbid-tour{
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 24px 70px rgba(2,6,23,.32)!important;
}
.driver-popover.govbid-tour .driver-popover-title{color:#0f172a!important}
.driver-popover.govbid-tour .driver-popover-description{color:#334155!important}
.driver-popover.govbid-tour .driver-popover-progress-text{color:#52606d!important}
.driver-popover.govbid-tour button{
  color:#334155!important;
  background:#f8fafc!important;
  border:1px solid #cbd5e1!important;
}
.driver-popover.govbid-tour .driver-popover-next-btn{
  color:#ffffff!important;
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
}

/* Strengthen secondary copy without erasing hierarchy. */
body.logged-in.app-ready :is(.muted,.muted-2,.help-note,.assistant-hint,.source-line,.note-meta,.deadline-meta,.card-meta,.premium-card-meta){
  color:var(--text-soft)!important;
}
body.logged-in.app-ready :is(.card,.modal-card,.opportunity-panel,.notification-drawer,.assistant-drawer) p{
  color:var(--text-body);
}
body.logged-in.app-ready #commandCenterSubtitle,
body.logged-in.app-ready .help-dot{
  color:var(--muted-4)!important;
}
:root[data-theme="dark"] body.logged-in.app-ready :is(.toast-item,.notification-item.urgent,.dealbreaker-card){
  background:var(--card)!important;
  color:var(--text-body)!important;
}

/* Dashboard source-order repairs: custom KPI accents must remain legible in dark mode. */
:root[data-theme="dark"] body.logged-in.app-ready #dashboard .section-title{
  color:var(--text-strong)!important;
  -webkit-text-fill-color:var(--text-strong)!important;
}
:root[data-theme="dark"] body.logged-in.app-ready #dashboard .card.kpi .value:not(.soft-value),
:root[data-theme="dark"] body.logged-in.app-ready #dashboard .card.kpi .kpi-icon{
  color:color-mix(in srgb,var(--kpi-accent) 55%,#ffffff)!important;
  -webkit-text-fill-color:color-mix(in srgb,var(--kpi-accent) 55%,#ffffff)!important;
}
:root[data-theme="dark"] body.logged-in.app-ready #dashboard .card.kpi .trend{
  color:var(--text-soft)!important;
  -webkit-text-fill-color:var(--text-soft)!important;
}
