/* V9.7 theme + modal stability fixes */
.dark .v95-modal,
.dark .v94-modal,
.dark #marks-entry-modal .bg-card,
.dark .modal-content {
  background: var(--dash-surface) !important;
  color: var(--dash-text) !important;
  border-color: var(--dash-border) !important;
}

.dark .v95-modal-head,
.dark .v95-modal-foot,
.dark .v95-section-card,
.dark .v95-info-side,
.dark .v95-selectbox,
.dark .v95-summary-card,
.dark .v95-marks-panel,
.dark .v95-alert-list-card,
.dark .v95-alert-side-card,
.dark .v95-preview-card,
.dark .v95-role-card,
.dark .v95-toggle-card,
.dark .v94-card,
.dark .v94-stat,
.dark .v94-modal .bg-card,
.dark .v94-modal .bg-background {
  background: var(--dash-surface-2) !important;
  color: var(--dash-text) !important;
  border-color: var(--dash-border) !important;
}

.dark .v95-field input,
.dark .v95-field select,
.dark .v95-field textarea,
.dark .v95-marks-table input,
.dark #marks-entry-modal input,
.dark #marks-entry-modal select,
.dark #marks-entry-modal textarea,
.dark .v94-field input,
.dark .v94-field select,
.dark .v94-field textarea {
  background: var(--dash-surface) !important;
  color: var(--dash-text) !important;
  border-color: var(--dash-border) !important;
}

.dark .v95-marks-table th,
.dark .v95-marks-table td,
.dark #marks-entry-modal th,
.dark #marks-entry-modal td {
  border-color: var(--dash-border) !important;
  color: var(--dash-text) !important;
}

.dark .v95-marks-table th,
.dark #marks-entry-modal thead {
  background: var(--dash-surface-2) !important;
}

.dark .v95-btn:not(.primary):not(.danger),
.dark .v94-btn:not(.primary):not(.danger) {
  background: var(--dash-surface) !important;
  color: var(--dash-text) !important;
  border-color: var(--dash-border) !important;
}

.dark .v95-btn.danger,
.dark .v94-btn.danger {
  background: rgba(127, 29, 29, .18) !important;
  color: #fca5a5 !important;
  border-color: rgba(248, 113, 113, .35) !important;
}

/* Broad fixes for legacy hard-coded light utility classes inside dashboards/modals */
.dark .bg-white,
.dark .bg-gray-50,
.dark .bg-slate-50,
.dark .bg-blue-50,
.dark .bg-indigo-50,
.dark .bg-green-50,
.dark .bg-orange-50,
.dark .bg-yellow-50,
.dark .bg-red-50,
.dark .bg-purple-50 {
  background-color: var(--dash-surface-2) !important;
}

.dark .text-gray-900,
.dark .text-gray-800,
.dark .text-slate-900,
.dark .text-slate-800,
.dark .text-blue-900,
.dark .text-green-900,
.dark .text-orange-900,
.dark .text-red-900,
.dark .text-purple-900 {
  color: var(--dash-text) !important;
}

.dark .text-gray-600,
.dark .text-gray-500,
.dark .text-slate-600,
.dark .text-slate-500 {
  color: var(--dash-muted) !important;
}

.dark .border-gray-200,
.dark .border-slate-200,
.dark .border-blue-200,
.dark .border-green-200,
.dark .border-orange-200,
.dark .border-red-200,
.dark .border-purple-200 {
  border-color: var(--dash-border) !important;
}

/* Make approved modal overlays closeable and visually consistent */
.v95-overlay,
#marks-entry-modal {
  color: var(--dash-text);
}

#marks-entry-modal .modal-content {
  max-height: 86vh;
}

#marks-entry-modal table {
  width: 100%;
}

#marks-entry-modal .v95-modal-head {
  border-bottom: 1px solid var(--dash-border);
}

.v95-overlay[data-closeable="true"] {
  cursor: pointer;
}

.v95-modal,
#marks-entry-modal > div:nth-child(2) {
  cursor: default;
}
