/* Dark Theme Modal Fixes */
.modal-content {
    background-color: var(--dark-card);
    color: var(--text-primary);
    border: 1px solid var(--gray-800);
}

.modal-header {
    border-bottom: 1px solid var(--gray-800);
}

.modal-footer {
    border-top: 1px solid var(--gray-800);
}

/* Form Input Fixes */
.form-control {
    background-color: var(--dark-surface);
    border: 1px solid var(--gray-800);
    color: var(--text-primary);
}

.form-control:focus {
    background-color: var(--dark-surface);
    border-color: var(--secondary-blue);
    color: var(--text-primary);
    box-shadow: 0 0 0 0.25rem rgba(43, 57, 144, 0.25);
}

.form-control::placeholder {
    color: var(--text-muted);
}

.form-select:focus {
    background-color: var(--dark-surface);
    border-color: var(--secondary-blue);
    color: var(--text-primary);
    box-shadow: 0 0 0 0.25rem rgba(43, 57, 144, 0.25);
}

.form-select option {
    background-color: var(--dark-surface) !important;
    color: var(--text-primary) !important;
}

.form-select option:hover {
    background-color: var(--gray-700) !important;
    color: var(--text-primary) !important;
}

.form-select option:checked,
.form-select option:selected {
    background-color: var(--primary-blue) !important;
    color: var(--text-primary) !important;
}

/* Enhanced form-select styling with custom dropdown arrow */
.form-select {
    background-color: var(--dark-surface);
    border: 1px solid var(--gray-800);
    color: var(--text-primary);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 8px center;
    background-repeat: no-repeat;
    background-size: 16px 12px;
    padding-right: 32px;
}

.form-check-input {
    background-color: var(--dark-surface);
    border: 1px solid var(--gray-800);
}

.form-check-input:checked {
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
}

/* Card Changes */
.card .form-label {
    color: var(--text-primary);
}

/* Search Form Background Fix */
.bg-dark .form-label {
    color: var(--text-primary) !important;
}

.bg-dark .card-body {
    background-color: var(--dark-card);
}

/* Table Row Fix for alternating rows */
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(43, 57, 144, 0.15);
    color: var(--text-primary) !important;
}

.table-striped > tbody > tr:nth-of-type(even) {
    background-color: var(--dark-card);
    color: var(--text-primary) !important;
}

.table-hover > tbody > tr:hover {
    background-color: rgba(43, 57, 144, 0.2);
    color: var(--text-primary) !important;
}

/* Text color for all table cells - with !important to override Bootstrap */
.table td, 
.table th,
.table tr,
.table tbody tr td,
.table tbody tr th {
    color: var(--text-primary) !important;
}

/* Specifically target the user management table */
#admin-users-table tr,
#admin-users-table td {
    color: var(--text-primary) !important;
}

/* Bootstrap Overrides */
.text-muted {
    color: var(--text-secondary) !important;
}

/* Ensure small muted text is visible */
small.text-muted {
    color: var(--text-secondary) !important;
}

/* Close Button Fix */
.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Bootstrap Badge Visibility Fix */
.badge.bg-secondary {
    background-color: var(--gray-800) !important;
    color: var(--text-secondary);
}

.badge.bg-primary {
    background-color: var(--primary-blue) !important;
    color: white;
}

.badge.bg-danger {
    background-color: var(--danger) !important;
    color: white;
}

/* Comprehensive fix for list-group items site-wide */
.list-group-item {
    background-color: var(--dark-card);
    color: var(--text-primary) !important;
    border-color: var(--gray-800);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.list-group-item:hover {
    background-color: white;
    color: #333333 !important;
}

.list-group-item h5, 
.list-group-item .h5 {
    color: var(--text-primary) !important;
    transition: color 0.2s ease;
}

.list-group-item:hover h5,
.list-group-item:hover .h5 {
    color: #333333 !important;
}

.list-group-item p {
    color: var(--text-secondary) !important;
    transition: color 0.2s ease;
}

.list-group-item:hover p {
    color: #555555 !important;
}

.list-group-item .text-muted {
    color: var(--text-secondary) !important;
    transition: color 0.2s ease;
}

.list-group-item:hover .text-muted {
    color: #6c757d !important;
}

/* Keep button styles consistent regardless of hover */
.list-group-item .btn {
    transition: none;
}

.list-group-item:hover .btn-outline-primary {
    color: var(--primary-blue) !important;
}

.list-group-item:hover .btn-outline-success {
    color: var(--success) !important;
}

/* Unread notification style */
.unread-notification {
    background-color: rgba(43, 57, 144, 0.05);
    border-left: 3px solid var(--primary-blue);
}