/* General styles */
body {
    background-color: var(--bs-dark);
    color: var(--bs-light);
}

/* Table styles */
.table {
    margin-top: 1rem;
    border-color: var(--bs-gray-700);
}

.table th {
    background-color: var(--bs-gray-800);
    border-bottom: 2px solid var(--bs-gray-700);
}

.table td {
    border-color: var(--bs-gray-700);
}

.table-hover tbody tr:hover {
    background-color: var(--bs-gray-700);
}

/* Form styles */
.form-control:focus, .form-select:focus {
    background-color: var(--bs-gray-700);
    border-color: var(--bs-primary);
    color: var(--bs-light);
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-control, .form-select {
    background-color: var(--bs-gray-800);
    border-color: var(--bs-gray-700);
    color: var(--bs-light);
}

.form-control::placeholder {
    color: var(--bs-gray-500);
}

/* Modal styles */
.modal-content {
    background-color: var(--bs-gray-900);
    border-color: var(--bs-gray-700);
}

.modal-header, .modal-footer {
    border-color: var(--bs-gray-700);
}

.btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Alert styles */
.alert {
    margin: 1rem 0;
}

/* Card styles */
.card {
    background-color: var(--bs-gray-800);
    border-color: var(--bs-gray-700);
}

/* Button styles */
.btn-outline-primary {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    color: var(--bs-white);
}

.btn-outline-danger {
    border-color: var(--bs-danger);
    color: var(--bs-danger);
}

.btn-outline-danger:hover {
    background-color: var(--bs-danger);
    color: var(--bs-white);
}

/* Icon styles */
.bi {
    vertical-align: -0.125em;
}
