.login-logo {
    max-width: 260px;
    width: 100%;
    height: auto;
}

.mandatory {
    color: red;
    /* margin-left: 2%; */
    margin-left: 2px;
    /* font-size: 22px; */
    font-size: 15px;
}

label {
    width: 100%;
}

.is-invalid{
    border-color:#dc3545 !important;
}

/* Gallery */
/* .file-upload-multiple + .filepond--root .filepond--list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.file-upload-multiple + .filepond--root .filepond--item {
    width: 110px !important;
    height: 110px !important;
    margin: 0;
}

.file-upload-multiple + .filepond--root .filepond--image-preview {
    height: 110px !important;
}

.file-upload-multiple + .filepond--root .filepond--file-info,
.file-upload-multiple + .filepond--root .filepond--file-status {
    display: none;
}

.file-upload-multiple + .filepond--root .filepond--panel-root {
    min-height: 140px;
} */

.file-upload-multiple .filepond--list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px;
}

.file-upload-multiple .filepond--list .filepond--item {
    position: relative;
    width: 120px !important;
    height: 120px !important;
    margin: 0 !important;
    transform: none !important;
}

/* Start Staff Allocation CSS */
.action-btn {
    background: transparent;
    border: none;
    padding: 5px 8px;
    color: #6c757d;
    transition: color 0.2s;
}

.action-btn:hover {
    color: #007bff;
}

.action-allocate {
    background: transparent;
    border: none;
    padding: 5px 8px;
    /* color: #17a2b8; */
    transition: color 0.2s;
}

.action-allocate:hover {
    color: #138496;
}

#staffSearchResults .list-group-item:hover {
    background-color: #f8f9fa;
    cursor: pointer;
}

.staff-select {
    margin: 0;
}

/* Staff Allocation Modal */
#staffAllocationModal .modal-dialog {
    max-width: 90%;
    margin: 1.75rem auto;
}

#staffAllocationModal .modal-body {
    padding: 1.5rem;
}

#staffSearchResults .staff-search-item {
    padding: 10px 15px;
    /* border-bottom: 1px solid #e9ecef; */
}

#staffSearchResults .staff-search-item:hover {
    background-color: #f8f9fa;
    cursor: pointer;
}

/* #staffSearchResults .staff-search-item:last-child {
    border-bottom: none;
} */

/* Make table scrollable on small screens */
#staffAllocationModal .table-responsive {
    max-height: 400px;
    overflow-y: auto;
}

/* Disable hotel select */
#hotelSelect:disabled {
    /* background-color: #e9ecef; */
    cursor: not-allowed;
    color: #000;
}

/* Model Fix */
#staffAllocationModal .modal-dialog {
    max-width: 95%;
}

#staffAllocationModal .modal-content {
    height: 92vh;
}

#staffAllocationModal .modal-header,
#staffAllocationModal .modal-footer {
    flex-shrink: 0;
    background: #fff;
    z-index: 2;
}

#staffAllocationModal .modal-body {
    overflow-y: auto;
    padding: 20px;
}

#staffAllocationModal .form-group{
    margin-bottom:20px;
}

#staffAllocationModal h6{
    margin-bottom:15px;
    font-weight:600;
}
/* End Staff Allocation CSS */

.dataTables_wrapper .page-link {
    color: #000 !important;
}

.dataTables_wrapper .page-item.active .page-link {
    color: #000 !important;
}

.assigned-staff-scroll {
    max-height: 250px;
    overflow-y: auto;
    overflow-x: auto;
}

.assigned-staff-scroll thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8f9fa;
}

/*
.permission-table {
    width: 100%;
}

.permission-table thead th {
    background: #eef0f5;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 12px;
}

.permission-table tbody td {
    padding: 10px 12px;
    vertical-align: middle;
}

.permission-table .module-row td {
    background: #f5f5f5;
    font-weight: 600;
    padding: 10px 12px;
}

.permission-table .sub-module {
    padding-left: 25px !important;
}

.permission-table .sub-module i {
    font-size: 6px;
    margin-right: 8px;
    vertical-align: middle;
}

.permission-table .form-check-input {
    cursor: pointer;
    width: 17px;
    height: 17px;
}

#selectAllPermissions {
    cursor: pointer;
} */

/* Role Permission */
.permission-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

/* Table Header */
.permission-table thead th {
    background: #e9ecf2;
    color: #50576b;
    font-size: 13px;
    font-weight: bold;
    padding: 11px 12px;
    border: 0;
    vertical-align: middle;
}

.permission-table thead th:first-child {
    border-radius: 10px 0 0 10px;
    text-align: left;
}

.permission-table thead th:last-child {
    border-radius: 0 10px 10px 0;
}

/* Main Module */
.permission-main-row td {
    /* background: #f5f5f5; */
    padding: 10px 12px;
    border: 0 !important;
    color: #50576b;
    font-size: 14px;
}

/* Sub Module */
.permission-row td {
    padding: 10px 12px;
    border: 0 !important;
    vertical-align: middle;
}

.permission-module {
    /* padding-left: 20px !important; */
    padding-left: 38px !important;
    color: #62697c;
    font-size: 14px;
}

.permission-bullet {
    display: inline-block;
    margin-right: 6px;
    font-size: 16px;
    color: #8994ad;
}

/* Permission Checkbox Alignment */
.permission-table .form-check {
    margin: 0;
    padding: 0;
    min-height: auto;
}

.permission-table .form-check-input {
    margin: 0;
    float: none;
    vertical-align: middle;
    cursor: pointer;
}

/* Disabled Permission */
.permission-checkbox:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

/* Module Check All */
.permission-main-row .form-check {
    margin-right: 0;
}
/* END Role Permission */



.ck-editor__editable_inline {
    min-height: 400px !important;
}

.ck-editor__editable {
    min-height: 400px !important;
}

.emailKey {
    border: 1px solid #bfc9d4 !important;
    max-height: 220px;
    overflow-y: auto;
    border-radius: 6px !important;
}

.emailKey-table tbody tr td {
    padding: 5px 21px 5px 21px;
}

.tagify__input {
    padding: 0px !important;
}

.tagify {
    min-height: 38px;
    padding: 3px 8px;
    align-items: center;
    border: 1px solid #bfc9d4 !important;
}

.tagify__input {
    margin: 2px 0 !important;
    padding: 3px 0 !important;
    line-height: 22px !important;
    min-width: 120px;
}

.tagify__tag {
    margin: 2px 4px 2px 0;
}

.tagify.is-invalid {
    border: 1px solid #dc3545 !important;
}

.tagify.is-invalid:focus-within {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 .2rem rgba(220,53,69,.25);
}
/* Make Tagify look like Bootstrap form-control-sm */
/* .tagify {
    min-height: 31px !important;
    height: auto !important;
    padding: 7px 16px !important;
    border: 1px solid #bfc9d4;
    border-radius: 6px !important;
    font-size: 13px;
    background: #fff;
    letter-spacing: 1px;
}

.tagify__input {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 120px;
    line-height: 24px;
}

.tagify__tag {
    margin: 2px;
}

.tagify.form-control-sm {
    min-height: 31px !important;
} */


.dashboard-card {
    padding: 15px 18px;
    min-height: 180px; /* Reduce card height */
}

.dashboard-card .widget-heading {
    margin-bottom: 15px;
}

.dashboard-title {
    font-size: 20px;
    font-weight: 700;
    color: #3b3f5c;
    margin: 0;
}

.dashboard-item {
    font-size: 16px;
    margin-bottom: 8px;
    font-weight: 500;
}

.dashboard-item strong {
    font-weight: 700;
}

.dashboard-title {
    font-size: 20px;
    font-weight: 700;
    color: #3b3f5c;
    margin: 0;
}

.widget-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
}

.widget-heading i {
    font-size: 24px;
}


/* Header Profile */
.avatar {
    width: 40px;
    height: 40px;
    position: relative;
}

.avatar img,
.avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.avatar-placeholder {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #3b3f5c;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
}

.avatar-online::after {
    content: "";
    position: absolute;
    right: 2px;
    bottom: 2px;
    width: 10px;
    height: 10px;
    background: #22c55e;
    border: 2px solid #fff;
    border-radius: 50%;
}


/* Customer */
.customer-profile-card {
    background: #fff;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    padding: 22px 25px;
    margin-bottom: 20px;
}

.customer-profile-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
}

.customer-profile-image {
    width: 65px;
    height: 65px;
    flex: 0 0 65px;
}

.customer-profile-image img,
.customer-profile-placeholder {
    width: 65px;
    height: 65px;
    border-radius: 50%;
}

.customer-profile-image img {
    object-fit: cover;
    border: 1px solid #e0e6ed;
}

.customer-profile-placeholder {
    background: #f1f2f3;
    color: #888ea8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
}

.customer-profile-name {
    color: #3b3f5c;
    font-size: 22px;
    font-weight: 500;
    line-height: 30px;
}

.customer-profile-subtitle {
    color: #888ea8;
    font-size: 13px;
    margin-top: 3px;
}

.customer-header-item {
    margin-bottom: 5px;
}

.customer-header-label {
    display: block;
    color: #3b3f5c;
    font-size: 11px;
    margin-bottom: 4px;
    font-weight: bold;
}

.customer-header-value {
    display: block;
    color: #3b3f5c;
    font-size: 13px;
    font-weight: 500;
    word-break: break-word;
}

.customer-card {
    background: #fff;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    padding: 20px;
    height: 100%;
}

.customer-card-title {
    color: #3b3f5c;
    font-size: 17px;
    font-weight: bold;
    padding-bottom: 14px;
    margin-bottom: 18px;
    border-bottom: 1px solid #e0e6ed;
}

.customer-field {
    margin-bottom: 20px;
}

.customer-field-label {
    display: block;
    color: #3b3f5c;
    font-size: 12px;
    margin-bottom: 5px;
    font-weight: bold;
}

.customer-field-value {
    display: block;
    color: #3b3f5c;
    font-size: 14px;
    font-weight: 500;
    line-height: 21px;
    word-break: break-word;
}

.customer-passport-image {
    width: 160px;
    /* height: 190px; */
    height: 115px;
    object-fit: contain;
    border: 1px solid #e0e6ed;
    border-radius: 6px;
    padding: 5px;
    background: #fff;
}

@media (max-width: 767px) {

    .customer-profile-card {
        padding: 18px;
    }

    .customer-profile-wrapper {
        margin-bottom: 18px;
    }

    .customer-profile-name {
        font-size: 19px;
    }

    .customer-card {
        padding: 16px;
    }

}
/* End Customer */


/* Passport Verification Modal */
#passportVerificationModal .modal-dialog {
    max-width: 850px;
    width: 90%;
}

#passportVerificationModal .modal-content {
    border-radius: 10px;
    overflow: hidden;
}

#passportVerificationModal .modal-header {
    padding: 16px 24px;
    border-bottom: 1px solid #e5e7eb;
}

#passportVerificationModal .modal-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 3px;
}

#passportVerificationModal .modal-header small {
    font-size: 12px;
}

#passportVerificationModal .modal-body {
    padding: 18px 24px;
    overflow: visible;
}

/* Customer information */
.passport-customer-box {
    border: 1px solid #e1e5eb;
    border-radius: 8px;
    padding: 15px 18px;
    background: #fff;
}

.passport-profile {
    display: flex;
    align-items: center;
    gap: 15px;
}

.passport-profile-photo {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    object-fit: cover;
    background: #f1f5f9;
}

.passport-profile-placeholder {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 22px;
}

.passport-customer-name {
    font-size: 16px;
    font-weight: 500;
    color: #27334d;
    margin-bottom: 3px;
}

.passport-customer-contact {
    font-size: 12px;
    color: #7d89a5;
    line-height: 1.6;
}

.passport-info-divider {
    border-top: 1px solid #e5e7eb;
    margin: 13px 0;
}

.passport-info-label {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #8792ae;
    text-transform: uppercase;
    margin-bottom: 3px;
}

.passport-info-value {
    font-size: 13px;
    color: #4b5875;
}

/* Passport image */
.passport-document-box {
    margin-top: 14px;
    border: 1px solid #e1e5eb;
    border-radius: 8px;
    padding: 14px 18px;
}

.passport-document-title {
    font-size: 14px;
    font-weight: 500;
    color: #354052;
    margin-bottom: 10px;
}

.passport-image-wrapper {
    height: 180px;
    border: 1px dashed #d5dce7;
    border-radius: 7px;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.passport-image-wrapper img {
    max-width: 250px;
    max-height: 150px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.passport-no-image {
    color: #94a3b8;
    font-size: 13px;
}

/* Reason */
#passportVerificationModal .form-label {
    font-size: 13px;
    font-weight: 500;
    color: #354052;
}

#passport_verify_reason {
    min-height: 75px;
    resize: vertical;
    font-size: 13px;
}

#passportVerificationModal .modal-footer {
    padding: 12px 24px;
    border-top: 1px solid #e5e7eb;
    gap: 8px;
}

#passportVerificationModal .modal-footer .btn {
    min-width: 105px;
    padding: 9px 18px;
    border-radius: 6px;
    font-size: 13px;
}

@media (max-width: 767px) {
    #passportVerificationModal .modal-dialog {
        width: 95%;
        margin: 10px auto;
    }

    #passportVerificationModal .modal-body {
        padding: 15px;
    }

    .passport-image-wrapper {
        height: 180px;
    }

    .passport-image-wrapper img {
        max-width: 200px;
        max-height: 160px;
    }

    #passportVerificationModal .modal-footer {
        padding: 10px 15px;
    }
}
