/* Global Text Visibility CSS for Dark/Light Mode */

/* Light Mode Text Colors */
.text-muted {
    color: #64748b !important;
}

.text-primary {
    color: #2563eb !important;
}

.text-secondary {
    color: #475569 !important;
}

.text-success {
    color: #059669 !important;
}

.text-warning {
    color: #d97706 !important;
}

.text-danger {
    color: #dc2626 !important;
}

.text-info {
    color: #0891b2 !important;
}

.text-dark {
    color: #1e293b !important;
}

.text-light {
    color: #f8fafc !important;
}

/* Dark Mode Text Colors */
.dark-mode .text-muted {
    color: #94a3b8 !important;
}

.dark-mode .text-primary {
    color: #60a5fa !important;
}

.dark-mode .text-secondary {
    color: #cbd5e1 !important;
}

.dark-mode .text-success {
    color: #4ade80 !important;
}

.dark-mode .text-warning {
    color: #fbbf24 !important;
}

.dark-mode .text-danger {
    color: #f87171 !important;
}

.dark-mode .text-info {
    color: #22d3ee !important;
}

.dark-mode .text-dark {
    color: #f1f5f9 !important;
}

.dark-mode .text-light {
    color: #0f172a !important;
}

/* Page Headers */
.page-header h1 {
    color: var(--primary-color, #2563eb);
}

.dark-mode .page-header h1 {
    color: var(--primary-color, #60a5fa);
}

.page-header p {
    color: var(--secondary-color, #64748b);
}

.dark-mode .page-header p {
    color: var(--secondary-color, #94a3b8);
}

/* Card Headers */
.card h5, .card h6 {
    color: var(--dark-color, #1e293b);
}

.dark-mode .card h5, .dark-mode .card h6 {
    color: var(--light-color, #f1f5f9);
}

.card p {
    color: var(--secondary-color, #64748b);
}

.dark-mode .card p {
    color: var(--secondary-color, #94a3b8);
}

/* Form Labels */
.form-label {
    color: var(--dark-color, #1e293b);
    font-weight: 600;
}

.dark-mode .form-label {
    color: var(--light-color, #f1f5f9);
}

/* Form Controls */
.form-control, .form-select {
    background-color: var(--light-color, #ffffff);
    border-color: var(--secondary-color, #d1d5db);
    color: var(--dark-color, #1e293b);
}

.dark-mode .form-control, .dark-mode .form-select {
    background-color: var(--dark-color, #1e293b);
    border-color: var(--secondary-color, #4b5563);
    color: var(--light-color, #f1f5f9);
}

.form-control:focus, .form-select:focus {
    border-color: var(--primary-color, #2563eb);
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.25);
}

.dark-mode .form-control:focus, .dark-mode .form-select:focus {
    border-color: var(--primary-color, #60a5fa);
    box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.25);
}

/* Form Check */
.form-check-label {
    color: var(--dark-color, #1e293b);
}

.dark-mode .form-check-label {
    color: var(--light-color, #f1f5f9);
}

.form-check-input {
    background-color: var(--light-color, #ffffff);
    border-color: var(--secondary-color, #d1d5db);
}

.dark-mode .form-check-input {
    background-color: var(--dark-color, #1e293b);
    border-color: var(--secondary-color, #4b5563);
}

.form-check-input:checked {
    background-color: var(--primary-color, #2563eb);
    border-color: var(--primary-color, #2563eb);
}

.dark-mode .form-check-input:checked {
    background-color: var(--primary-color, #60a5fa);
    border-color: var(--primary-color, #60a5fa);
}

/* Table Headers */
.table th {
    color: var(--dark-color, #1e293b);
    font-weight: 600;
    background-color: var(--light-color, #f8fafc);
    border-color: var(--secondary-color, #e2e8f0);
}

.dark-mode .table th {
    color: var(--light-color, #f1f5f9);
    background-color: var(--dark-color, #1e293b);
    border-color: var(--secondary-color, #334155);
}

.table td {
    color: var(--secondary-color, #475569);
    background-color: var(--light-color, #ffffff);
    border-color: var(--secondary-color, #e2e8f0);
}

.dark-mode .table td {
    color: var(--secondary-color, #cbd5e1);
    background-color: var(--dark-color, #0f172a);
    border-color: var(--secondary-color, #334155);
}

/* Table Styling */
.table {
    background-color: var(--light-color, #ffffff);
    border-color: var(--secondary-color, #e2e8f0);
}

.dark-mode .table {
    background-color: var(--dark-color, #0f172a);
    border-color: var(--secondary-color, #334155);
}

/* Table Hover Effects */
.table tbody tr:hover {
    background-color: rgba(37, 99, 235, 0.1);
}

.dark-mode .table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* Table Striped Rows */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05);
}

.dark-mode .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
}

/* Alert Messages */
.alert {
    color: var(--dark-color, #1e293b);
}

.dark-mode .alert {
    color: var(--light-color, #f1f5f9);
}

/* Stat Cards */
.stat-value {
    color: var(--primary-color, #2563eb);
}

.dark-mode .stat-value {
    color: var(--primary-color, #60a5fa);
}

.stat-label {
    color: var(--secondary-color, #64748b);
}

.dark-mode .stat-label {
    color: var(--secondary-color, #94a3b8);
}

/* Button Text */
.btn {
    color: white;
}

.btn-outline-primary {
    color: var(--primary-color, #2563eb);
    border-color: var(--primary-color, #2563eb);
}

.dark-mode .btn-outline-primary {
    color: var(--primary-color, #60a5fa);
    border-color: var(--primary-color, #60a5fa);
}

.btn-outline-success {
    color: var(--success-color, #059669);
    border-color: var(--success-color, #059669);
}

.dark-mode .btn-outline-success {
    color: var(--success-color, #4ade80);
    border-color: var(--success-color, #4ade80);
}

.btn-outline-danger {
    color: var(--danger-color, #dc2626);
    border-color: var(--danger-color, #dc2626);
}

.dark-mode .btn-outline-danger {
    color: var(--danger-color, #f87171);
    border-color: var(--danger-color, #f87171);
}

/* List Items */
.list-group-item {
    color: var(--secondary-color, #475569);
    background-color: var(--light-color, #f8fafc);
    border-color: var(--secondary-color, #e2e8f0);
}

.dark-mode .list-group-item {
    color: var(--secondary-color, #cbd5e1);
    background-color: var(--dark-color, #1e293b);
    border-color: var(--secondary-color, #334155);
}

/* Modal */
.modal-header h5 {
    color: var(--dark-color, #1e293b);
}

.dark-mode .modal-header h5 {
    color: var(--light-color, #f1f5f9);
}

.modal-body {
    color: var(--secondary-color, #475569);
}

.dark-mode .modal-body {
    color: var(--secondary-color, #cbd5e1);
}

/* Navbar */
.navbar-brand {
    color: var(--primary-color, #2563eb);
}

.dark-mode .navbar-brand {
    color: var(--primary-color, #60a5fa);
}

.nav-link {
    color: var(--secondary-color, #64748b);
}

.dark-mode .nav-link {
    color: var(--secondary-color, #94a3b8);
}

.nav-link:hover {
    color: var(--primary-color, #2563eb);
}

.dark-mode .nav-link:hover {
    color: var(--primary-color, #60a5fa);
}

/* Footer */
.footer {
    color: var(--secondary-color, #64748b);
}

.dark-mode .footer {
    color: var(--secondary-color, #94a3b8);
}

.footer h6 {
    color: var(--dark-color, #1e293b);
}

.dark-mode .footer h6 {
    color: var(--light-color, #f1f5f9);
}

/* Small Text */
small, .small {
    color: var(--secondary-color, #64748b);
}

.dark-mode small, .dark-mode .small {
    color: var(--secondary-color, #94a3b8);
}

/* Badge Text */
.badge {
    color: white;
}

.badge-outline {
    background-color: transparent;
    border: 1px solid var(--primary-color, #2563eb);
    color: var(--primary-color, #2563eb);
}

.dark-mode .badge-outline {
    border-color: var(--primary-color, #60a5fa);
    color: var(--primary-color, #60a5fa);
}

/* Specific fixes for email alerts table */
#rulesTable th {
    background-color: var(--light-color, #f8fafc) !important;
    color: var(--dark-color, #1e293b) !important;
    border-color: var(--secondary-color, #e2e8f0) !important;
}

.dark-mode #rulesTable th {
    background-color: var(--dark-color, #1e293b) !important;
    color: var(--light-color, #f1f5f9) !important;
    border-color: var(--secondary-color, #334155) !important;
}

#rulesTable td {
    background-color: var(--light-color, #ffffff) !important;
    color: var(--secondary-color, #475569) !important;
    border-color: var(--secondary-color, #e2e8f0) !important;
}

.dark-mode #rulesTable td {
    background-color: var(--dark-color, #0f172a) !important;
    color: var(--secondary-color, #cbd5e1) !important;
    border-color: var(--secondary-color, #334155) !important;
}

#rulesTable tbody tr:hover {
    background-color: rgba(37, 99, 235, 0.1) !important;
}

.dark-mode #rulesTable tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Table in email alerts page */
.table-modern th {
    background-color: var(--light-color, #f8fafc) !important;
    color: var(--dark-color, #1e293b) !important;
    border-color: var(--secondary-color, #e2e8f0) !important;
}

.dark-mode .table-modern th {
    background-color: var(--dark-color, #1e293b) !important;
    color: var(--light-color, #f1f5f9) !important;
    border-color: var(--secondary-color, #334155) !important;
}

.table-modern td {
    background-color: var(--light-color, #ffffff) !important;
    color: var(--secondary-color, #475569) !important;
    border-color: var(--secondary-color, #e2e8f0) !important;
}

.dark-mode .table-modern td {
    background-color: var(--dark-color, #0f172a) !important;
    color: var(--secondary-color, #cbd5e1) !important;
    border-color: var(--secondary-color, #334155) !important;
}

.table-modern tbody tr:hover {
    background-color: rgba(37, 99, 235, 0.1) !important;
}

.dark-mode .table-modern tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}
