.swal2-title-custom {
  font-size: 16px !important; 
  line-height: 1.4 !important;
  
}

.swal2-popup-custom {
    margin-right: 1rem !important;
    padding: 0.7rem 0.2rem 0.7rem 0.5rem !important;  
    width: auto !important;     
    max-width: 400px;   
    border: 1px solid #ffe6e6;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border-radius: 10px !important;     
}

.dropify-wrapper {
    height: 180px !important; 
    font-size: 14px; 
}

.dropify-message span.file-icon {
    font-size: 30px !important; 
}

.dropify-message p {
    font-size: 14px !important; 
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}
textarea {
  resize: none;          
  overflow: auto;        
  -webkit-appearance: none;  
  outline: none;         
}
.bootstrap-select .dropdown-menu.inner {
  max-height: 200px !important; /* adjust this value as needed */
  overflow-y: auto !important;
}
.form-control.is-valid,
.was-validated .form-control:valid {
    border-color: #28a745;
    padding-right: 2.25rem !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-valid:focus,
.was-validated .form-control:valid:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0 rgba(40, 167, 69, .25)
}

.was-validated select.form-control:valid,
select.form-control.is-valid {
    padding-right: 3rem !important;
    background-position: right 1.5rem center
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: 2.25rem;
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: #dc3545;
    padding-right: 2.25rem !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}

.form-control.is-invalid:focus,
.was-validated .form-control:invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0 rgba(220, 53, 69, .25)
}

.was-validated select.form-control:invalid,
select.form-control.is-invalid {
    padding-right: 3rem !important;
    background-position: right 1.5rem center
}


.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: 2.25rem;
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem)
}

.custom-select.is-invalid,
.was-validated .custom-select:invalid {
    border-color: #dc3545;
    padding-right: calc(.75em + 2.3125rem) !important;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat
}

.was-validated .selectpicker.is-invalid + .dropdown-toggle,
.selectpicker.is-invalid + .dropdown-toggle {
    border-color: #dc3545 !important;
    padding-right: 2.25rem !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 2rem center;
    background-size: 1rem 1rem;
}

/* ✅ VALID - Green border, icon, padding */
.was-validated .selectpicker.is-valid + .dropdown-toggle,
.selectpicker.is-valid + .dropdown-toggle {
    border-color: #28a745 !important;
    padding-right: 2.25rem !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 2rem center;
    background-size: 1rem 1rem;
}

/* ❌ INVALID - Red border and icon */
.select2-container--default.select2-container--focus .select2-selection--multiple.is-invalid,
.select2-selection--multiple.is-invalid {
    border: 1px solid #dc3545 !important;
    padding-right: 2.25rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1.5rem center;
    background-size: 1rem 1rem;
    background-color: #fff;
}

/* ✅ VALID - Green border and icon */
.select2-container--default.select2-container--focus .select2-selection--multiple.is-valid,
.select2-selection--multiple.is-valid {
    border: 1px solid #28a745 !important;
    padding-right: 2.25rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1.5rem center;
    background-size: 1rem 1rem;
    background-color: #fff;
}

.today-tomorrow-row {
    background-color: #ffe6e6 !important;
}
.required {
    display: inline-block;
    color: #d2322d;
    font-size: 0.9em;
    font-weight: bold;
    position: relative;
    top: -0.2em;
}
label.valid {
    display: inline-block;
    text-indent: -9999px;
}

label.error {
    color: #C10000;
    font-size: 0.9em;
    margin-top: -5px;
    padding: 0;
}

span.error {
    color: #B94A48;
    font-size: 0.9em;
    padding: 0;
}

span.error p {
    margin: 2px 0 2px !important;
}

.info-table {
    width: 100%;
    border-collapse: collapse;
}

.info-table td {
    padding: 6px 6px !important; 
    vertical-align: top;
    border-bottom: 1px solid #ccc !important;
}

.info-table tr:first-child td {
    border-top: none !important;
}

.info-table tr:last-child td {
    border-bottom: none !important;
}

.info-table td:first-child,
.info-table td:nth-child(2) {
    font-weight: 500;
    width: 30%;
}

.info-table .text-left {
    text-align: left;
}

#example1.table-bordered th,
#example1.table-bordered td {
    border: 0.02px solid rgba(0, 0, 0, 0.10) !important;
    padding: 0.25rem 0.5rem !important;
    line-height: 1.8;
}

td.action {
    white-space: nowrap !important;   
    width: 2%;
    vertical-align: middle;
}
td.action > * {
    white-space: nowrap;
}
td.action .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Loader */
 .loading-overlay-showing {
    overflow: hidden;
}

.loading-overlay-showing>.loading-overlay {
    opacity: 1;
    visibility: visible;
}

.loading-overlay {
    transition: visibility 0s ease-in-out 0.5s, opacity 0.5s ease-in-out;
    bottom: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    right: 0;
    top: 0;
    visibility: hidden;
}

.loading-overlay.dark {
    background: #383838;
}

.loading-overlay.light {
    background: #FFF;
}

body>.loading-overlay {
    position: fixed;
    z-index: 999999;
}

/* ring Loading */

.ring-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
    background: transparent;
    border: 3px solid #3c3c3c;
    border-radius: 50%;
    text-align: center;
    line-height: 150px;
    font-family: sans-serif;
    font-size: 20px;
    color: #fff000;
    letter-spacing: 4px;
    text-transform: uppercase;
    text-shadow: 0 0 10px #fff000;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.39);
}

.ring-loader:before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    width: 100%;
    height: 100%;
    border: 3px solid transparent;
    border-top: 3px solid #fff000;
    border-right: 3px solid #fff000;
    border-radius: 50%;
    -webkit-animation: animateCircle 2s linear infinite;
    animation: animateCircle 2s linear infinite;
}

.ring-loader span {
    display: block;
    position: absolute;
    top: calc(50% - 2px);
    left: 50%;
    width: 50%;
    height: 4px;
    background: transparent;
    transform-origin: left;
    -webkit-animation: animate 2s linear infinite;
    animation: animate 2s linear infinite;
}

.ring-loader span:before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #fff000;
    top: -6px;
    right: -8px;
    box-shadow: 0 0 20px #fff000;
}

@keyframes animateCircle {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@-webkit-keyframes animateCircle {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes animate {
    0% {
        transform: rotate(45deg);
    }
    100% {
        transform: rotate(405deg);
    }
}

@-webkit-keyframes animate {
    0% {
        -webkit-transform: rotate(45deg);
    }
    100% {
        -webkit-transform: rotate(405deg);
    }
}

.FA2-note {
    list-style: decimal;
    padding-left: 20px;
}

.FA2-note li {
    margin-bottom: 5px;
}
.modal-2fa,
.custom-header {
    border-bottom: 2px solid #FFAB1D !important;
}
.table-permission thead th {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
    font-size: 0.875rem !important; 
}

.table-permission tbody td {
    vertical-align: middle;
}

html[data-bs-theme="light"] .select2loading {
    background: url('../../assets/img/loading.gif') 98% 2px no-repeat;
    width: 100%;
    -moz-appearance: window;
    webkit-appearance: none;
}

html[data-bs-theme="dark"] .select2loading {
    background: url('../../assets/img/loading-dark.gif') 98% 2px no-repeat;
}

.select2loading .select2-selection__arrow {
    visibility: hidden;
}


