/* Dark Mode Styles */

.dark-mode {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
}

.dark-mode .navbar {
    background-color: #2d2d2d !important;
}

.dark-mode .navbar-brand,
.dark-mode .navbar-nav .nav-link {
    color: #ffffff !important;
}

.dark-mode .navbar-toggler {
    border-color: #ffffff;
}

.dark-mode .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.dark-mode .card {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
    border: 1px solid #444444 !important;
}

.dark-mode .card-header {
    background-color: #3d3d3d !important;
    border-bottom: 1px solid #444444 !important;
}

.dark-mode .card-footer {
    background-color: #3d3d3d !important;
    border-top: 1px solid #444444 !important;
}

.dark-mode .form-control {
    background-color: #2d2d2d !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.dark-mode .form-control:focus {
    background-color: #2d2d2d !important;
    border-color: #007bff !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

.dark-mode .form-select {
    background-color: #2d2d2d !important;
    border-color: #444444 !important;
    color: #ffffff !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:focus {
    background-color: #2d2d2d !important;
    border-color: #007bff !important;
    color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:hover {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:active {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:disabled {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:invalid {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dc3545' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:valid {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23198754' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:required {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffc107' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:optional {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:readonly {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23198754' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:indeterminate {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffc107' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:in-range {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23198754' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:out-of-range {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dc3545' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:placeholder-shown {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-select:not(:placeholder-shown) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.dark-mode .form-label {
    color: #ffffff !important;
}

.dark-mode .form-text {
    color: #adb5bd !important;
}

.dark-mode .table {
    color: #ffffff !important;
}

.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > td,
.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > th {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.dark-mode .table-hover > tbody > tr:hover > td,
.dark-mode .table-hover > tbody > tr:hover > th {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.dark-mode .modal-content {
    background-color: #2d2d2d !important;
    color: #ffffff !important;
}

.dark-mode .modal-header {
    border-bottom: 1px solid #444444 !important;
}

.dark-mode .modal-footer {
    border-top: 1px solid #444444 !important;
}

.dark-mode .dropdown-menu {
    background-color: #2d2d2d !important;
    border: 1px solid #444444 !important;
}

.dark-mode .dropdown-item {
    color: #ffffff !important;
}

.dark-mode .dropdown-item:hover {
    background-color: #3d3d3d !important;
    color: #ffffff !important;
}

.dark-mode .dropdown-divider {
    border-top: 1px solid #444444 !important;
}

.dark-mode .list-group-item {
    background-color: #2d2d2d !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.dark-mode .list-group-item:hover {
    background-color: #3d3d3d !important;
}

.dark-mode .list-group-item.active {
    background-color: #007bff !important;
    border-color: #007bff !important;
}

.dark-mode .pagination .page-link {
    background-color: #2d2d2d !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.dark-mode .pagination .page-link:hover {
    background-color: #3d3d3d !important;
    border-color: #444444 !important;
    color: #ffffff !important;
}

.dark-mode .pagination .page-item.active .page-link {
    background-color: #007bff !important;
    border-color: #007bff !important;
}

.dark-mode .pagination .page-item.disabled .page-link {
    background-color: #2d2d2d !important;
    border-color: #444444 !important;
    color: #6c757d !important;
}

.dark-mode .breadcrumb {
    background-color: #2d2d2d !important;
}

.dark-mode .breadcrumb-item a {
    color: #007bff !important;
}

.dark-mode .breadcrumb-item.active {
    color: #ffffff !important;
}

.dark-mode .text-muted {
    color: #adb5bd !important;
}

.dark-mode .text-secondary {
    color: #adb5bd !important;
}

.dark-mode .border {
    border-color: #444444 !important;
}

.dark-mode .border-top {
    border-top-color: #444444 !important;
}

.dark-mode .border-bottom {
    border-bottom-color: #444444 !important;
}

.dark-mode .border-start {
    border-left-color: #444444 !important;
}

.dark-mode .border-end {
    border-right-color: #444444 !important;
}

.dark-mode .bg-light {
    background-color: #2d2d2d !important;
}

.dark-mode .bg-white {
    background-color: #2d2d2d !important;
}

.dark-mode .shadow {
    box-shadow: 0 0.125rem 0.25rem rgba(255, 255, 255, 0.075) !important;
}

.dark-mode .shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(255, 255, 255, 0.075) !important;
}

.dark-mode .shadow-lg {
    box-shadow: 0 1rem 3rem rgba(255, 255, 255, 0.175) !important;
}
