/*================================================================================
	Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
	Version: 2.0
	Author: PIXINVENT
	Author URL: http://www.themeforest.net/user/pixinvent
================================================================================

NOTE:
------
PLACE HERE YOUR OWN SCSS CODES AND IF NEEDED, OVERRIDE THE STYLES FROM THE OTHER STYLESHEETS.
WE WILL RELEASE FUTURE UPDATES SO IN ORDER TO NOT OVERWRITE YOUR STYLES IT'S BETTER LIKE THIS.  */
.mg-lt-bm {
    margin-top: 33px;
    margin-left: 20px;
}

.mg-tp {
    margin-top: 21px;
}

.pd-10 {
    padding: 10px;
}

.m-t-20 {
    margin-top: 20px;
}

.readOnlyField {
    pointer-events: none;
    touch-action: none;
}

.hide {
    display: none;
}


.loader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

.loader-spinner {
    border: 16px solid #f3f3f3;
    border-top: 16px solid #7367F0;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -60px;
    margin-left: -60px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

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

.avatar img {

    width: 40px;
    height: 40px;

}

.datePicker {

    cursor: default;
}

.item_row {
    border: 1px solid #d3d1d1;
    border-radius: 10px;
    padding: 2rem;
    margin-top: 1rem;
}

.item_select {
    width: 450px;

}

/* .large_input{
	width:80px;
}
.medium_input{
	width:50px;
}
.small_input{
	width:45px;
} */

.pull_right {
    float: right;
}

.underline {
    text-decoration: underline;
}


label.required:after {
    content: " *";
    color: red;

}

/*  
@media (min-width: 769px) {
	.zoom:hover {
        transform: scale(1.5);
    }
    .zoom_1_5:hover {
        transform: scale(1.5);
    }
    .zoom_2:hover {
        transform: scale(2);
    }
    .zoom_3:hover {
        transform: scale(3);
    }
    .zoom_4:hover {
        transform: scale(4);
    }
    .zoom_6:hover {
        transform: scale(6);
    }

    .customer_images img:hover {
        transform: scale(4.5);
        transform-origin: left;
    }
    .gurantor_row img:hover {
        transform: scale(4.5);
        transform-origin: left;
    }
    .guardian_row img:hover {
        transform: scale(4.5);
        transform-origin: left;
    }
} */



.highlight_row {
    background-color: #bfdcff;
}

#modalImage {
    max-height: 500px;
    object-fit: contain;
    /* keeps aspect ratio */
}

.flatpickr-clear-btn {
    margin: 5px;
    padding: 6px 10px;
    background: #e74c3c;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

@keyframes invalidBlink {

    0%,
    100% {
        border-color: #dc3545;
        box-shadow: 0 0 0 0 rgba(220, 53, 69, .4);
    }

    50% {
        border-color: #ff0000;
        box-shadow: 0 0 10px 4px rgba(220, 53, 69, .8);
    }
}

.invalid-blink {
    animation: invalidBlink .5s linear 4;
}

/* ==========================================================================
   Filters Horizontal Layout - Reusable One-Line Filters
   Apply 'filters-horizontal-layout' class to any parent container/div
   ========================================================================== */
.filters-horizontal-layout .mb-1 {
    display: flex;
    align-items: center;
    margin-bottom: 0.35rem !important;
}

/* Compact label with fixed width for perfect symmetry */
.filters-horizontal-layout .mb-1 .form-label {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
    flex: 0 0 160px !important;
    margin-bottom: 0 !important;
    padding-right: 10px !important;
    font-weight: 500 !important;
    font-size: 0.82rem !important;
    color: #4b465c !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* Compact inputs and selects */
.filters-horizontal-layout .mb-1 .form-control,
.filters-horizontal-layout .mb-1 .form-select {
    flex: 1 1 auto;
    min-width: 0;
    width: 100% !important;
    height: 31px !important;
    min-height: 31px !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.82rem !important;
}

/* Compact Select2 single */
.filters-horizontal-layout .mb-1 .select2-container {
    flex: 1 1 auto;
    min-width: 0;
    width: 100% !important;
    font-size: 0.82rem !important;
}

.filters-horizontal-layout .select2-container--default .select2-selection--single {
    height: 31px !important;
    min-height: 31px !important;
    padding: 2px 4px !important;
}

.filters-horizontal-layout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 26px !important;
    font-size: 0.82rem !important;
    padding-left: 4px !important;
}

.filters-horizontal-layout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 29px !important;
}

/* Compact Select2 multiple */
.filters-horizontal-layout .select2-container--default .select2-selection--multiple {
    min-height: 31px !important;
    padding: 0 4px !important;
}

.filters-horizontal-layout .select2-container--default .select2-selection--multiple .select2-selection__choice {
    margin-top: 3px !important;
    font-size: 0.78rem !important;
    padding: 1px 4px !important;
}

/* Dusre input (jaise Year ya Date) ka blank label hide takay input full space le */
.filters-horizontal-layout .default_value .mb-1 .form-label {
    display: none !important;
}

/* Range fields (Greater Than / Less Than) ka label compact */
.filters-horizontal-layout .range_fields .mb-1 .form-label {
    width: auto !important;
    min-width: unset !important;
    max-width: unset !important;
    flex: none !important;
    font-size: 0.75rem !important;
    padding-right: 6px !important;
    white-space: nowrap !important;
}

/* Mobile responsive: stack on small screens */
@media (max-width: 575.98px) {
    .filters-horizontal-layout .mb-1 {
        display: block !important;
    }

    .filters-horizontal-layout .mb-1 .form-label {
        width: 100% !important;
        min-width: 100% !important;
        margin-bottom: 4px !important;
        white-space: normal !important;
    }

    .filters-horizontal-layout .mb-1 .form-control,
    .filters-horizontal-layout .mb-1 .form-select,
    .filters-horizontal-layout .mb-1 .select2-container {
        width: 100% !important;
    }
}

   #toast-container.toast-center-all {
            position: fixed;
            top: 50%;
            left: 50%;
            right: auto;
            bottom: auto;
            transform: translate(-50%, -50%);
            width: min(90%, 450px);
            display: flex;
            flex-direction: column;
            align-items: stretch;
            z-index: 999999;
        }

        #toast-container.toast-center-all > div {
            width: 100%;
            margin: 5px 0;
            box-sizing: border-box;
        }

        #toast-container.toast-center-all > .toast-error {
            border: 2px solid #dc3545 !important;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
        }
