.datepicker-custom input {
    border-radius: 10px 0 0 10px !important;
    transition: all 0.2s ease-in-out !important;
    width: 100% !important;
    /* Ensures input stays full width */
}

.datepicker-custom .input-group-text {
    border-radius: 0 10px 10px 0 !important;
    cursor: pointer !important;
}

.datepicker-dropdown {
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    padding: 8px !important;
    min-width: 240px !important;
    /* Set a minimum width to prevent shrinking */
    min-height: 280px !important;
    /* Prevent shrinking of the datepicker */
    display: block !important;
    width: auto !important;
    /* Auto width to fit the content */
}

.datepicker table tr td,
.datepicker table tr th {
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    transition: background 0.2s !important;
}

.datepicker table tr td.day:hover {
    background: #4a90e2 !important;
    color: white !important;
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.today {
    background-color: #0d6efd !important;
    color: white !important;
}

.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker tfoot tr th:hover {
    background-color: #0d6efd !important;
    color: white !important;
}

.datepicker table tr td span.focused,
.datepicker table tr td span:hover {
    background-color: #0d6efd !important;
    color: white !important;
}

/* Prevent dropdown shrinkage when selecting year or month */
.datepicker-months,
.datepicker-years {
    min-width: 200px !important;
    /* Ensure month/year selection has enough space */
    width: auto !important;
    /* Allow flexible width */
}

.datepicker-months table,
.datepicker-years table {
    width: 100% !important;
}


/* Disable number input arrows (if applied by browser defaults) */
input[type="text"]::-webkit-outer-spin-button,
input[type="text"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="text"] {
    -moz-appearance: textfield;
    /* Firefox */
}

.datepicker table tr td.today,
.datepicker table tr td.today:hover {
    background-color: #0d6efd !important;
    color: white !important;
    border-radius: 6px;
}

.datepicker table tr td.active.today,
.datepicker table tr td.active.today:hover {
    background-color: #0d6efd !important;
    color: white !important;
}

.datepicker table tr td.today,
.datepicker table tr td.today:hover {
    background-color: #0d6efd !important;
    color: white !important;
    border-radius: 6px;
}

.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.today {
    background-color: #0d6efd !important;
    color: white !important;
}

.datepicker table tr td.day:hover {
    background: #0d6efd !important;
    color: white !important;
}

.datepicker table tr td.today {
    background-color: #0d6efd !important;
    /* Yellow color */
    color: #212529 !important;
    /* Dark text for contrast */
}

.datepicker table tr td.today:hover {
    background-color: #0d6efd !important;
    /* Slightly darker yellow on hover */
    color: #212529 !important;
}

.datepicker table tr td.today.active {
    background-color: #0d6efd !important;
    /* Keep selected dates blue */
    color: white !important;
}


input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1) !important;
}

/* Loader Wrapper */
#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #100f0f;
    ;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Loader Animation (simple bouncing dots) */
#loader {
    width: 50px;
    height: 50px;
    border: 5px solid #377dff;
    border-top: 5px solid transparent;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Spinner Animation */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Optional: Custom small switch */
.form-switch.form-switch-sm .form-check-input {
    height: 1rem;
    width: 2rem;
}

/* Green color when checked */
.form-check-input:checked {
    background-color: #2F6AD9 !important;
    /* Bootstrap 'success' color */
    border-color: #2F6AD9 !important;
}

textarea {
    overflow: hidden;
}

.page-header {
    padding-bottom: 0px !important;
    margin-bottom: 0px !important;
}

.navbar-brand-logo {
    width: 100%;
    min-width: none !important;
    max-width: none !important;
    margin-top: auto;
}


@media (max-width: 768px) {
    .mobileViewLogo {
        width: 100%;
        min-width: 0rem !important;
        max-width: 3rem !important;
        margin-top: auto;
    }
}


.navbar-brand-logo-mini {
    width: 100%;
    min-width: none !important;
    max-width: none !important;
}

@media (max-width: 768px) {
    .custom-dropdown-width {
        width: 22.1rem !important;
    }
}

@media (min-width: 769px) {
    .custom-dropdown-width {
        width: 27rem !important;
    }
}

.form-control:focus:not(.is-invalid) {
    border-color: #2F6AD9 !important;
}

.form-control:not(.is-invalid) {
    border-color: #2F6AD9 !important;
}

.form-select:focus:not(.is-invalid) {
    border-color: #2F6AD9 !important;
}

.form-select:not(.is-invalid) {
    border-color: #2F6AD9 !important;
}