/* Loaded after page-level styles so legacy light-only declarations can be adapted. */
[data-bs-theme="dark"] [style*="background: #fff"],
[data-bs-theme="dark"] [style*="background: white"],
[data-bs-theme="dark"] [style*="background-color: #fff"],
[data-bs-theme="dark"] [style*="background-color: #ffffff"],
[data-bs-theme="dark"] [style*="background-color: white"] {
  background-color: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] [style*="background: #f8f9fa"],
[data-bs-theme="dark"] [style*="background-color: #f8f9fa"],
[data-bs-theme="dark"] [style*="background-color: #f7f7f7"],
[data-bs-theme="dark"] [style*="background: #f1f5f9"] {
  background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] [style*="color: #212529"],
[data-bs-theme="dark"] [style*="color: #495057"],
[data-bs-theme="dark"] [style*="color: #334155"] {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] [style*="color: #6c757d"],
[data-bs-theme="dark"] [style*="color: #64748b"] {
  color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] [style*="border: 1px solid #dee2e6"],
[data-bs-theme="dark"] [style*="border-top: 1px solid #dee2e6"],
[data-bs-theme="dark"] [style*="border-bottom: 1px solid #dee2e6"],
[data-bs-theme="dark"] [style*="border-left: 1px solid #dee2e6"] {
  border-color: var(--bs-border-color) !important;
}

/* Shared Bootstrap and third-party component adaptations. */
[data-bs-theme="dark"] .bg-light,
[data-bs-theme="dark"] .bg-white {
  background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .text-dark,
[data-bs-theme="dark"] .text-black {
  color: var(--bs-emphasis-color) !important;
}

[data-bs-theme="dark"] .selectize-input,
[data-bs-theme="dark"] .selectize-dropdown,
[data-bs-theme="dark"] .selectize-dropdown-content,
[data-bs-theme="dark"] .selectize-control.single .selectize-input.input-active {
  border-color: var(--bs-border-color);
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .selectize-input > input,
[data-bs-theme="dark"] .selectize-input > input::placeholder {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .selectize-dropdown .option {
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .selectize-dropdown .optgroup-header {
  color: var(--bs-secondary-color);
  background-color: var(--bs-tertiary-bg);
  border-bottom: 1px solid var(--bs-border-color);
}

[data-bs-theme="dark"] .selectize-dropdown .optgroup + .optgroup {
  border-top-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .selectize-dropdown .active:not(.selected) {
  background: var(--bs-tertiary-bg);
  color: var(--bs-emphasis-color);
}

[data-bs-theme="dark"] .selectize-dropdown .selected {
  background: var(--bs-primary);
  color: #fff;
}

[data-bs-theme="dark"] .ag-grid-loading-indicator-overlay {
  background: rgba(33, 37, 41, 0.72) !important;
}

[data-bs-theme="dark"] body {
  --medirec-purple-bg-subtle: rgba(139, 109, 195, 0.24);
  --medirec-purple-text-emphasis: #d7c2ff;
}

[data-bs-theme="dark"] .medirec-app-logo-avatar,
[data-bs-theme="dark"] .medirec-status-logo,
[data-bs-theme="dark"] .login-logo,
[data-bs-theme="dark"] #medirec-lock-screen .lock-logo,
[data-bs-theme="dark"] .splash-container .logo {
  filter: invert(1);
}

@media screen {
  [data-bs-theme="dark"] img[src*="images/vaninha.png"] {
    filter: invert(1);
  }
}

[data-bs-theme="dark"] .medirec-record-card {
  border-color: var(--bs-border-color) !important;
  background-color: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] .medirec-record-card:hover {
  background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"]
  .medirec-record-card
  [style*="color: #495057"] {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"]
  .medirec-record-card
  [style*="color: #6c757d"] {
  color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"]
  .medirec-record-card
  [style*="border-top: 1px solid #dee2e6"] {
  border-top-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .medirec-record-card a[style] {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .medirec-record-card a[style]:hover {
  color: var(--bs-link-hover-color) !important;
}

/* Bootstrap table variants otherwise retain their light-theme fills. */
[data-bs-theme="dark"] .table-light {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: var(--bs-tertiary-bg);
  --bs-table-border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .table-secondary {
  --bs-table-color: var(--bs-secondary-text-emphasis);
  --bs-table-bg: var(--bs-secondary-bg-subtle);
  --bs-table-border-color: var(--bs-secondary-border-subtle);
}

[data-bs-theme="dark"] .table-primary {
  --bs-table-color: var(--bs-primary-text-emphasis);
  --bs-table-bg: var(--bs-primary-bg-subtle);
  --bs-table-border-color: var(--bs-primary-border-subtle);
}

[data-bs-theme="dark"] .table-success {
  --bs-table-color: var(--bs-success-text-emphasis);
  --bs-table-bg: var(--bs-success-bg-subtle);
  --bs-table-border-color: var(--bs-success-border-subtle);
}

[data-bs-theme="dark"] .table-warning {
  --bs-table-color: var(--bs-warning-text-emphasis);
  --bs-table-bg: var(--bs-warning-bg-subtle);
  --bs-table-border-color: var(--bs-warning-border-subtle);
}

[data-bs-theme="dark"] .table-danger {
  --bs-table-color: var(--bs-danger-text-emphasis);
  --bs-table-bg: var(--bs-danger-bg-subtle);
  --bs-table-border-color: var(--bs-danger-border-subtle);
}

[data-bs-theme="dark"] .table-info {
  --bs-table-color: var(--bs-info-text-emphasis);
  --bs-table-bg: var(--bs-info-bg-subtle);
  --bs-table-border-color: var(--bs-info-border-subtle);
}

[data-bs-theme="dark"] :where(
  .table-light,
  .table-primary,
  .table-secondary,
  .table-success,
  .table-warning,
  .table-danger,
  .table-info
) {
  --bs-table-striped-color: var(--bs-table-color);
  --bs-table-striped-bg: color-mix(in srgb, var(--bs-table-bg), var(--bs-emphasis-color) 5%);
  --bs-table-active-color: var(--bs-table-color);
  --bs-table-active-bg: color-mix(in srgb, var(--bs-table-bg), var(--bs-emphasis-color) 10%);
  --bs-table-hover-color: var(--bs-table-color);
  --bs-table-hover-bg: color-mix(in srgb, var(--bs-table-bg), var(--bs-emphasis-color) 7%);
}

/* Accountability report scales: preserve meaning with darker equivalents. */
[data-bs-theme="dark"] [style*="background-color: #e0eaf6"] {
  background-color: #203447 !important;
}

[data-bs-theme="dark"] [style*="background-color: #d0e0f2"],
[data-bs-theme="dark"] [style*="background-color: #c9d8ec"],
[data-bs-theme="dark"] [style*="background-color: #c4d9ef"],
[data-bs-theme="dark"] [style*="background-color: #b5cfe9"] {
  background-color: #263f56 !important;
}

[data-bs-theme="dark"] [style*="background-color: #548edf"] {
  background-color: #295985 !important;
}

[data-bs-theme="dark"] [style*="background-color: #2d6ebe"] {
  background-color: #245b94 !important;
}

[data-bs-theme="dark"] [style*="color: #2d6ebe"],
[data-bs-theme="dark"] [style*="color: #1f5f9f"] {
  color: #8bb9fe !important;
}

[data-bs-theme="dark"] [style*="background-color: #edf1f2"],
[data-bs-theme="dark"] [style*="background-color: #d5dbdb"] {
  background-color: #303b43 !important;
}

/* Custom workspaces with light-only local styles. */
html[data-bs-theme="dark"] {
  --acolh-bg: var(--bs-body-bg);
  --acolh-surface: var(--bs-body-bg);
  --acolh-soft: var(--bs-tertiary-bg);
  --acolh-ink: var(--bs-body-color);
  --acolh-muted: var(--bs-secondary-color);
  --acolh-line: var(--bs-border-color);
  --acolh-primary-soft: var(--bs-success-bg-subtle);
}

[data-bs-theme="dark"] .lvh-card,
[data-bs-theme="dark"] .lvh-step,
[data-bs-theme="dark"] .lvh-check-item,
[data-bs-theme="dark"] .lvh-quiz-option,
[data-bs-theme="dark"] .conversa-workspace,
[data-bs-theme="dark"] .conversa-shell,
[data-bs-theme="dark"] .conversa-detail-panel,
[data-bs-theme="dark"] .conversa-drawer-panel,
[data-bs-theme="dark"] .reuniao-note-patient-panel,
[data-bs-theme="dark"] .acolh-shell,
[data-bs-theme="dark"] .report-card,
[data-bs-theme="dark"] .invite-panel-card {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .lvh-card-icon,
[data-bs-theme="dark"] .lvh-result-line,
[data-bs-theme="dark"] .reuniao-mobile-section-header,
[data-bs-theme="dark"] .sinan-online-draft-section-header,
[data-bs-theme="dark"] .sinan-online-investigacao-section-header,
[data-bs-theme="dark"] .sinan-online-detail-section-header {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-tertiary-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .lvh-check-item.is-checked,
[data-bs-theme="dark"] .lvh-quiz-option.is-correct {
  background: var(--bs-success-bg-subtle) !important;
}

[data-bs-theme="dark"] .lvh-quiz-option.is-wrong {
  background: var(--bs-danger-bg-subtle) !important;
}

[data-bs-theme="dark"] .signup-shell,
[data-bs-theme="dark"] .signup-invite-card,
[data-bs-theme="dark"] .signup-main-card,
[data-bs-theme="dark"] .login-panel-card {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-body-bg) !important;
}

/* Conversation workspaces intentionally keep their own layout, but share dark surfaces. */
[data-bs-theme="dark"] .conversa-sidebar,
[data-bs-theme="dark"] .conversa-sidebar-filters,
[data-bs-theme="dark"] .conversa-pane-header,
[data-bs-theme="dark"] .conversa-message,
[data-bs-theme="dark"] .conversa-drawer,
[data-bs-theme="dark"] .conversa-drawer-section,
[data-bs-theme="dark"] .conversa-drawer-embed {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .conversa-drawer-body,
[data-bs-theme="dark"] .conversa-pane-footer {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-tertiary-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .conversa-message.mine {
  border-color: var(--bs-primary-border-subtle) !important;
  background: var(--bs-primary-bg-subtle) !important;
  color: var(--bs-body-color) !important;
}

/* Acolhimento workspace and report surfaces. */
[data-bs-theme="dark"] #acolhConvPanel,
[data-bs-theme="dark"] .acolh-shell .acolh-row,
[data-bs-theme="dark"] .acolh-shell .acolh-toast,
[data-bs-theme="dark"] .acolh-shell .detail-pane,
[data-bs-theme="dark"] .acolh-shell .detail-head,
[data-bs-theme="dark"] .acolh-shell .info-block,
[data-bs-theme="dark"] .acolh-shell .sync-note,
[data-bs-theme="dark"] .acolh-shell .conduta-card,
[data-bs-theme="dark"] .report-shell .report-head,
[data-bs-theme="dark"] .report-shell .filter-bar,
[data-bs-theme="dark"] .report-shell .kpi,
[data-bs-theme="dark"] .acolh-shell .status-chip,
[data-bs-theme="dark"] .acolh-shell .notif-chip {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .pill-status-aguardando {
  border-color: var(--bs-warning-border-subtle) !important;
  background: var(--bs-warning-bg-subtle) !important;
  color: var(--bs-warning-text-emphasis) !important;
}

[data-bs-theme="dark"] .pill-status-evadiu {
  border-color: var(--bs-secondary-border-subtle) !important;
  background: var(--bs-secondary-bg-subtle) !important;
  color: var(--bs-secondary-text-emphasis) !important;
}

/* Reunião de Equipe panels, previews and status accents. */
[data-bs-theme="dark"] .reuniao-hover-preview,
[data-bs-theme="dark"] .reuniao-painel-hover-preview,
[data-bs-theme="dark"] .reuniao-note-patient-list,
[data-bs-theme="dark"] .reuniao-note-patient-records,
[data-bs-theme="dark"] .reuniao-note-patient-chip,
[data-bs-theme="dark"] .reuniao-user-avatar-box,
[data-bs-theme="dark"] .adelson-category-card,
[data-bs-theme="dark"] .adelson-med-card,
[data-bs-theme="dark"] .adelson-mini-card,
[data-bs-theme="dark"] [data-adelson-detail-container],
[data-bs-theme="dark"] .app-loading-indicator-chip {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .reuniao-note-patient-placeholder,
[data-bs-theme="dark"] .adelson-lacunas-header,
[data-bs-theme="dark"] .reuniao-mobile-index-header,
[data-bs-theme="dark"] #tab-section-placar-acs .placar-acs-acs-row td {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-tertiary-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] #tab-section-placar-acs .placar-acs-alert-link {
  border-color: var(--bs-danger-border-subtle) !important;
  background: var(--bs-danger-bg-subtle) !important;
  color: var(--bs-danger-text-emphasis) !important;
}

[data-bs-theme="dark"] #tab-section-placar-acs .placar-acs-alert-icon,
[data-bs-theme="dark"] #tab-section-placar-acs .placar-acs-count-badge-danger {
  background: var(--bs-danger-bg-subtle) !important;
  color: var(--bs-danger-text-emphasis) !important;
}

[data-bs-theme="dark"] #tab-section-placar-acs .placar-acs-count-badge-warning {
  background: var(--bs-warning-bg-subtle) !important;
  color: var(--bs-warning-text-emphasis) !important;
}

/* Sign-up and invite flows are outside the main layout. */
[data-bs-theme="dark"] .signup-rail,
[data-bs-theme="dark"] .signup-footer,
[data-bs-theme="dark"] .signup-step-controls,
[data-bs-theme="dark"] .invite-transfer-context,
[data-bs-theme="dark"] .invite-transfer-summary,
[data-bs-theme="dark"] .invite-change-card,
[data-bs-theme="dark"] .invite-idcard,
[data-bs-theme="dark"] .invite-accept {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-tertiary-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .signup-step-dot {
  border-color: var(--bs-border-color) !important;
  background: var(--bs-body-bg);
}

[data-bs-theme="dark"] .signup-brand-title,
[data-bs-theme="dark"] .signup-invite-row strong,
[data-bs-theme="dark"] .invite-transfer-brand-title,
[data-bs-theme="dark"] .invite-transfer-v,
[data-bs-theme="dark"] .invite-term-section h2,
[data-bs-theme="dark"] .invite-term-section p,
[data-bs-theme="dark"] .invite-term-section li {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .signup-step-title,
[data-bs-theme="dark"] .signup-field-label,
[data-bs-theme="dark"] .visit-date {
  color: var(--bs-emphasis-color);
}

[data-bs-theme="dark"] .signup-brand-subtitle,
[data-bs-theme="dark"] .signup-eyebrow,
[data-bs-theme="dark"] .signup-invite-row,
[data-bs-theme="dark"] .signup-step-description,
[data-bs-theme="dark"] .signup-field-help,
[data-bs-theme="dark"] .visit-unit {
  color: var(--bs-secondary-color);
}

/* Accountability dashboards and dense report tables. */
[data-bs-theme="dark"] .eu-card,
[data-bs-theme="dark"] .op-report-legend,
[data-bs-theme="dark"] .accty-sinan-hover-preview,
[data-bs-theme="dark"] .platform-menu,
[data-bs-theme="dark"] .platform-section,
[data-bs-theme="dark"] .platform-table,
[data-bs-theme="dark"] .platform-table thead th,
[data-bs-theme="dark"] .platform-table tbody td,
[data-bs-theme="dark"] .op-report-table tbody tr:nth-child(odd),
[data-bs-theme="dark"] .op-report-table tbody tr:nth-child(even),
[data-bs-theme="dark"] .op-report-table tbody tr .op-report-sticky-op,
[data-bs-theme="dark"] .portal-inadequadas-table tbody tr:nth-child(even) {
  --bs-table-bg: var(--bs-body-bg);
  border-color: var(--bs-border-color) !important;
  background: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .platform-section:nth-child(even),
[data-bs-theme="dark"] .platform-table thead th,
[data-bs-theme="dark"] .op-report-table tbody tr:nth-child(even),
[data-bs-theme="dark"] .portal-inadequadas-table tbody tr:nth-child(even) {
  background: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .platform-menu-link {
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .platform-menu-link:hover,
[data-bs-theme="dark"] .platform-menu-link:focus,
[data-bs-theme="dark"] .platform-menu-link.is-active {
  background: var(--bs-primary-bg-subtle) !important;
  color: var(--bs-primary-text-emphasis) !important;
}
