/* Phase 94: definitive admin contrast cleanup.
   Purpose: stop white/near-white text from appearing on white/light admin panels while preserving
   intentional white text in the dark sidebar, blue hero banners, and primary buttons. */
html.admin-ui-active,
html.admin-ui-active body,
.admin-shell-body,
.admin-app-v91,
.admin-app-v91__workspace,
.admin-content-v91{
  background:#f5f7fb!important;
  color:#0f172a!important;
}

/* Light content zones must default to dark text. */
.admin-content-v91,
.admin-content-v91 .surface,
.admin-content-v91 .card,
.admin-content-v91 .panel,
.admin-content-v91 .panel-v67,
.admin-content-v91 .admin-panel-v90,
.admin-content-v91 .table-shell,
.admin-content-v91 .admin-table-shell-v90,
.admin-content-v91 .modal-content,
.admin-content-v91 .dropdown-menu,
.admin-content-v91 .list-group-item,
.admin-content-v91 .accordion-item,
.admin-content-v91 .accordion-button,
.admin-content-v91 .tab-content,
.admin-content-v91 .nav-tabs,
.admin-content-v91 .form-control,
.admin-content-v91 .form-select,
.admin-content-v91 .select2-selection,
.admin-content-v91 .tox-tinymce,
.admin-topbar-v91{
  background-color:#fff!important;
  color:#0f172a!important;
}

.admin-content-v91 h1:not(.text-white),
.admin-content-v91 h2:not(.text-white),
.admin-content-v91 h3:not(.text-white),
.admin-content-v91 h4:not(.text-white),
.admin-content-v91 h5:not(.text-white),
.admin-content-v91 h6:not(.text-white),
.admin-content-v91 p:not(.text-white):not(.text-white-50),
.admin-content-v91 span:not(.text-white):not(.text-white-50),
.admin-content-v91 small:not(.text-white):not(.text-white-50),
.admin-content-v91 div:not(.text-white):not(.text-white-50),
.admin-content-v91 label,
.admin-content-v91 legend,
.admin-content-v91 strong,
.admin-content-v91 td,
.admin-content-v91 th,
.admin-content-v91 li,
.admin-content-v91 a:not(.btn):not(.dropdown-item),
.admin-topbar-v91 h1,
.admin-topbar-v91 p,
.admin-topbar-v91 span,
.admin-topbar-v91 small,
.admin-topbar-v91 strong{
  color:#0f172a!important;
}

/* Muted text should be readable, not white/washed-out. */
.admin-content-v91 .text-muted,
.admin-content-v91 .small,
.admin-content-v91 small,
.admin-content-v91 .help-text,
.admin-content-v91 .form-text,
.admin-content-v91 .card-subtitle,
.admin-content-v91 .panel-kicker-v67:not(.text-white-50),
.admin-content-v91 .admin-subtitle,
.admin-content-v91 .metric-label,
.admin-content-v91 .ops-card-v67 p,
.admin-content-v91 .admin-stat-card-v90 p,
.admin-content-v91 .metric-tile p{
  color:#475569!important;
}

/* Bootstrap utility overrides inside light admin cards. */
.admin-content-v91 .text-white,
.admin-content-v91 .text-white-50,
.admin-content-v91 .text-light{
  color:#0f172a!important;
}
.admin-content-v91 .bg-white,
.admin-content-v91 .bg-light,
.admin-content-v91 .bg-transparent{
  color:#0f172a!important;
}

/* Hero/banners are intentionally dark/gradient: keep readable white text there only. */
.admin-content-v91 .workspace-hero,
.admin-content-v91 .admin-page-hero-v90,
.admin-content-v91 .command-hero-v67,
.admin-content-v91 .admin-hero,
.admin-content-v91 .hero,
.admin-content-v91 [data-hero]{
  background:linear-gradient(135deg,#102a54,#1d4ed8 64%,#0891b2)!important;
  color:#fff!important;
}
.admin-content-v91 .workspace-hero *,
.admin-content-v91 .admin-page-hero-v90 *,
.admin-content-v91 .command-hero-v67 *,
.admin-content-v91 .admin-hero *,
.admin-content-v91 .hero *,
.admin-content-v91 [data-hero] *{
  color:#fff!important;
}
.admin-content-v91 .workspace-hero .text-white-50,
.admin-content-v91 .admin-page-hero-v90 .text-white-50,
.admin-content-v91 .command-hero-v67 .text-white-50{
  color:rgba(255,255,255,.78)!important;
}

/* Cards/metrics with accidental gradient/dark classes but light backgrounds. */
.admin-content-v91 .metric-tile,
.admin-content-v91 .admin-stat-card-v90,
.admin-content-v91 .ops-card-v67,
.admin-content-v91 .dashboard-card,
.admin-content-v91 .stat-card,
.admin-content-v91 .summary-card{
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #dbe5f2!important;
}
.admin-content-v91 .metric-tile *,
.admin-content-v91 .admin-stat-card-v90 *,
.admin-content-v91 .ops-card-v67 *,
.admin-content-v91 .dashboard-card *,
.admin-content-v91 .stat-card *,
.admin-content-v91 .summary-card *{
  color:#0f172a!important;
}
.admin-content-v91 .metric-tile i,
.admin-content-v91 .admin-stat-card-v90 i,
.admin-content-v91 .ops-card-v67 i,
.admin-content-v91 .dashboard-card i,
.admin-content-v91 .stat-card i,
.admin-content-v91 .summary-card i{
  color:#2563eb!important;
}

/* Keep button colours intentional. */
.admin-content-v91 .btn-primary,
.admin-content-v91 .btn-success,
.admin-content-v91 .btn-danger,
.admin-content-v91 .btn-warning,
.admin-content-v91 .btn-info,
.admin-content-v91 .btn-dark,
.admin-content-v91 .btn-secondary{
  color:#fff!important;
}
.admin-content-v91 .btn-light,
.admin-content-v91 .btn-outline-secondary,
.admin-content-v91 .btn-outline-primary,
.admin-content-v91 .btn-surface,
.admin-content-v91 .btn-ghost{
  color:#0f172a!important;
}

/* Tables: ensure headers and cells never inherit white text. */
.admin-content-v91 table,
.admin-content-v91 thead,
.admin-content-v91 tbody,
.admin-content-v91 tr,
.admin-content-v91 td{
  background:#fff!important;
  color:#0f172a!important;
}
.admin-content-v91 th,
.admin-content-v91 thead th{
  background:#eef4fb!important;
  color:#1e293b!important;
}
.admin-content-v91 table a:not(.btn),
.admin-content-v91 table span:not(.badge),
.admin-content-v91 table small{
  color:#0f172a!important;
}

/* Badges should be readable by status. */
.admin-content-v91 .badge:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-dark):not(.bg-secondary){
  background:#e2e8f0!important;
  color:#0f172a!important;
}
.admin-content-v91 .badge.bg-warning,
.admin-content-v91 .badge.status-unpaid,
.admin-content-v91 .status-pill--unpaid{color:#92400e!important;background:#fffbeb!important;border:1px solid #fcd34d!important;}
.admin-content-v91 .badge.bg-info{color:#075985!important;background:#e0f2fe!important;border:1px solid #7dd3fc!important;}
.admin-content-v91 .badge.bg-success,
.admin-content-v91 .status-paid{color:#047857!important;background:#ecfdf5!important;border:1px solid #86efac!important;}
.admin-content-v91 .badge.bg-danger{color:#991b1b!important;background:#fef2f2!important;border:1px solid #fca5a5!important;}
.admin-content-v91 .badge.bg-secondary{color:#334155!important;background:#f1f5f9!important;border:1px solid #cbd5e1!important;}

/* Sidebar remains dark and fixed. */
.admin-app-v91 .admin-sidebar,
.admin-app-v91 .admin-sidebar *,
.admin-sidebar .admin-sidebar__brand,
.admin-sidebar .admin-sidebar__group-toggle,
.admin-sidebar .admin-sidebar__link,
.admin-sidebar .admin-sidebar__mini-link{
  color:inherit!important;
}
.admin-app-v91 .admin-sidebar{background:#0f172a!important;color:#dbe7f5!important;}
.admin-app-v91 .admin-sidebar__brand,
.admin-app-v91 .admin-sidebar__brand strong,
.admin-app-v91 .admin-sidebar__group-toggle{color:#fff!important;}
.admin-app-v91 .admin-sidebar__link{color:#cbd5e1!important;}
.admin-app-v91 .admin-sidebar__link small{color:#94a3b8!important;}
.admin-app-v91 .admin-sidebar__link.is-active,
.admin-app-v91 .admin-sidebar__link:hover{color:#fff!important;}
.admin-app-v91 .admin-sidebar__link.is-active small,
.admin-app-v91 .admin-sidebar__link:hover small{color:rgba(255,255,255,.82)!important;}
.admin-app-v91 .admin-sidebar input{background:#111827!important;color:#fff!important;}

/* Forms/selects/dropdowns. */
.admin-content-v91 input,
.admin-content-v91 select,
.admin-content-v91 textarea,
.admin-content-v91 .form-control,
.admin-content-v91 .form-select,
.admin-content-v91 .select2-container--default .select2-selection--single,
.admin-content-v91 .select2-container--default .select2-selection--multiple{
  background:#fff!important;
  color:#0f172a!important;
  border-color:#94a3b8!important;
}
.admin-content-v91 option{background:#fff!important;color:#0f172a!important;}
.select2-dropdown,
.select2-results__option,
.select2-search__field{background:#fff!important;color:#0f172a!important;}

/* Mobile card-table labels. */
.admin-content-v91 table tbody td::before{color:#475569!important;}

/* JS-added emergency class. */
.admin-contrast-fix{color:#0f172a!important;background-color:#fff!important;}
.admin-contrast-fix *:not(.btn):not(.badge):not(.dropdown-item){color:#0f172a!important;}
