/* Styles for form elements in both light and dark mode */

/* Light mode styles (default) */
.form-control, 
.form-select {
    background-color: #fff;
    border-color: #ced4da;
    color: #212529;
}

.form-control:focus, 
.form-select:focus {
    background-color: #fff;
    border-color: #86b7fe;
    color: #212529;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-control::placeholder {
    color: #6c757d;
    opacity: 0.8;
}

textarea.form-control {
    background-color: #fff;
    border-color: #ced4da;
    color: #212529;
}

/* Dark mode styles */
body.dark-mode .form-control, 
body.dark-mode .form-select {
    background-color: #333;
    border-color: #444;
    color: #e0e0e0;
}

body.dark-mode .form-control:focus, 
body.dark-mode .form-select:focus {
    background-color: #3a3a3a;
    border-color: #555;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

body.dark-mode .form-control::placeholder {
    color: #aaa;
    opacity: 0.8;
}

body.dark-mode textarea.form-control {
    background-color: #333;
    border-color: #444;
    color: #e0e0e0;
}

/* Input groups */
.input-group-text {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #212529;
}

body.dark-mode .input-group-text {
    background-color: #444;
    border-color: #555;
    color: #e0e0e0;
}

/* Custom file input */
.form-control[type="file"]::file-selector-button {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #212529;
}

body.dark-mode .form-control[type="file"]::file-selector-button {
    background-color: #444;
    border-color: #555;
    color: #e0e0e0;
}

.form-control[type="file"]::-webkit-file-upload-button {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #212529;
}

body.dark-mode .form-control[type="file"]::-webkit-file-upload-button {
    background-color: #444;
    border-color: #555;
    color: #e0e0e0;
}

/* Range inputs */
.form-range::-webkit-slider-thumb {
    background-color: #0d6efd;
}

.form-range::-moz-range-thumb {
    background-color: #0d6efd;
}

.form-range::-webkit-slider-runnable-track {
    background-color: #dee2e6;
}

.form-range::-moz-range-track {
    background-color: #dee2e6;
}

body.dark-mode .form-range::-webkit-slider-runnable-track {
    background-color: #444;
}

body.dark-mode .form-range::-moz-range-track {
    background-color: #444;
}

/* Checkboxes and radios */
.form-check-input {
    background-color: #fff;
    border-color: #ced4da;
}

.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

body.dark-mode .form-check-input {
    background-color: #333;
    border-color: #444;
}

body.dark-mode .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

/* Disabled inputs */
.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
    background-color: #e9ecef;
    color: #6c757d;
}

body.dark-mode .form-control:disabled,
body.dark-mode .form-control[readonly],
body.dark-mode .form-select:disabled {
    background-color: #2a2a2a;
    color: #888;
}
