:root,
[data-bs-theme=light] {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-info: #0dcaf0;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 243, 244, 246;
    --bs-dark-rgb: 33, 37, 41;
    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-primary-border-subtle: #9ec5fe;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: #0d6efd;
    --bs-link-color-rgb: 13, 110, 253;
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0a58ca;
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-code-color: #d63384;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
    --bs-form-valid-color: #198754;
    --bs-form-valid-border-color: #198754;
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-color: #dee2e6;
    --bs-body-color-rgb: 222, 226, 230;
    --bs-body-bg: #212529;
    --bs-light-rgb: 56, 57, 64;
    --bs-body-bg-rgb: 33, 37, 41;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 226, 230, 0.75);
    --bs-secondary-color-rgb: 222, 226, 230;
    --bs-secondary-bg: #343a40;
    --bs-secondary-bg-rgb: 52, 58, 64;
    --bs-tertiary-color: rgba(222, 226, 230, 0.5);
    --bs-tertiary-color-rgb: 222, 226, 230;
    --bs-tertiary-bg: #2b3035;
    --bs-tertiary-bg-rgb: 43, 48, 53;
    --bs-primary-text-emphasis: #6ea8fe;
    --bs-secondary-text-emphasis: #a7acb1;
    --bs-success-text-emphasis: #75b798;
    --bs-info-text-emphasis: #6edff6;
    --bs-warning-text-emphasis: #ffda6a;
    --bs-danger-text-emphasis: #ea868f;
    --bs-light-text-emphasis: #f8f9fa;
    --bs-dark-text-emphasis: #dee2e6;
    --bs-primary-bg-subtle: #031633;
    --bs-secondary-bg-subtle: #161719;
    --bs-success-bg-subtle: #051b11;
    --bs-info-bg-subtle: #032830;
    --bs-warning-bg-subtle: #332701;
    --bs-danger-bg-subtle: #2c0b0e;
    --bs-light-bg-subtle: #343a40;
    --bs-dark-bg-subtle: #1a1d20;
    --bs-primary-border-subtle: #084298;
    --bs-secondary-border-subtle: #41464b;
    --bs-success-border-subtle: #0f5132;
    --bs-info-border-subtle: #087990;
    --bs-warning-border-subtle: #997404;
    --bs-danger-border-subtle: #842029;
    --bs-light-border-subtle: #495057;
    --bs-dark-border-subtle: #343a40;
    --bs-heading-color: inherit;
    --bs-link-color: #6ea8fe;
    --bs-link-hover-color: #8bb9fe;
    --bs-link-color-rgb: 110, 168, 254;
    --bs-link-hover-color-rgb: 139, 185, 254;
    --bs-code-color: #e685b5;
    --bs-highlight-color: #dee2e6;
    --bs-highlight-bg: #664d03;
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --bs-form-valid-color: #75b798;
    --bs-form-valid-border-color: #75b798;
    --bs-form-invalid-color: #ea868f;
    --bs-form-invalid-border-color: #ea868f;
}

html * {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.navbar, .navbar-collapse-menu  {
    background: #252b36;
}

.fw-400 {
    font-weight: 400 !important;
}
.btn-lg {
    font-size: 14px !important;
    padding: 10px !important;
}
@media (min-width: 900px) {
    .container-md {
        max-width: 900px !important;
    }
}
@media (max-width: 1200px) {
    .row.main>* {
        width: 100% !important;
    }
}
@media only screen and (max-width: 992px) {
    .navbar-collapse {
        margin-top: 5px;
    }
    .navbar-container {
        padding: 0;
    }
}
#theme-menu::after {
    border: none;
}

#toggle-btn {
    outline: none;
    box-shadow: none;
}

.header {
    height: 60px;
    box-shadow: 0 0 30px rgba(28, 39, 60, 0.08);
    border-bottom: 1px solid rgba(28, 39, 60, 0.12);
}

.page-content {
    display: flex;
    flex-grow: 1;
    position: relative;
    overflow: visible;
    margin-top: 70px;
}

@media only screen and (max-width: 768px) {
    .custom-pagination {
        display: block;
        overflow-x: scroll;
    }
}

thead th {
    text-transform: none;
}

.dropdown-menu-end[data-bs-popper]  {
    right: auto;
}
.validation-invalid-label {
    color: #ff3636;
}

.btn-main {
    position: relative;
    background-color: transparent !important;
}

.btn-left {
    width: 100%;
    border-radius: .375rem !important;
}

.btn-right {
    position: absolute;
    z-index: 9;
    right: 0;
    width: 64px;
    text-align: center;
    height: 100%;
}

.btn-main:hover {
    background-color: transparent;
    border-color: #8b8b8b !important;
}

.btn-basic:active {
    background: aliceblue !important;
    transition: background 0.25s;
}

.cursor-pointer {
    cursor: pointer !important;
}

.show-underline-hover:hover {
    text-decoration: underline !important;
}

.sortable, .asc, .desc {
    text-decoration: none;
}

.hand-cursor {
    cursor: grab;
}

.submit-btn-mt {
    margin-top: .8rem !important;
}

.table-striped {
    margin-bottom: 0 !important;
}

#group_permission {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1* var(--bs-gutter-y));
    margin-right: calc(-.5* var(--bs-gutter-x));
    margin-left: calc(-.5* var(--bs-gutter-x));
}

html[data-bs-theme="dark"] .bg-aliceblue {
    background-color: #2e3a3c !important;
}

html[data-bs-theme="dark"] .text-primary {
    color: #428fdc !important;
}

[data-bs-theme=dark] .btn-danger {
    background-color: #98031e;
}

[data-bs-theme=dark] .btn-danger:active {
    background-color: #B00020;
}

[data-bs-theme=dark] .btn-primary {
    background-color: #042391;
}

[data-bs-theme=dark] .btn-primary:active {
    background-color: #0527AB;
}

[data-bs-theme=dark] .invert-svg {
    filter: invert(100%);
    mix-blend-mode: difference;
}

[data-bs-theme=dark] .alert-success {
    background-color: #198754FF !important;
    color: #efefef !important;
}

[data-bs-theme=dark] .alert-danger {
    background-color: #DC3545FF !important;
    color: #efefef !important;
}
tr th {
    font-weight: bold;
}

.text-primary-not-clickable {
    color: #428fdc !important;
    opacity: 0.7;
    pointer-events: none;
}


/* Position the dropdown to the left */
.dropdown-menu-left {
    right: 100%;
    top: 0;
    left: auto;
}

.btn-draggable {
    cursor: grab !important;
}

.btn-draggable:active {
    cursor: grabbing !important;
}

.dropzone {
    min-height: 85px;
    position: relative;
    border: 2px dashed transparent;
    padding: 3px 0 12px 0 !important;
    transition: border 0.3s, background-color 0.3s;
}

.dropzone.drag-over {
    border: 2px dashed rgba(128, 128, 128, 0.3);
    background: rgba(128, 128, 128, 0.1);
    padding: 0;
}

.dropzone.drag-over::before {
    content: "Release button to drop";
    font-weight: 900;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    color: rgba(128, 128, 128, 0.5);
}

/* Centered text inside the drop zone */
.dropzone.drag-over::after {
    position: absolute;
    justify-content: center;
    font-size: 1.2rem;
    color: #4caf50;
    font-style: italic;
    pointer-events: none; /* Ensure it doesn't block mouse events */
}

.edit-icon,
.delete-icon {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 99;
}
#user-buttons .edit-icon, #user-buttons .delete-icon {
    opacity: 0;
}
#custom-sorting-groups .btn-main:hover .camera-btn {
    opacity: 0.25;
}
.btn-element .d-flex:hover .input-group-text img {
    opacity: 0.2;
    transition: opacity 0.3s ease;
}
.btn-main:hover .edit-icon,
.btn-main:hover .delete-icon{
    opacity: 1;
    pointer-events: auto;
}

.edit-icon {
    font-size: 1rem;
    color: #ffffff;
}

.delete-icon {
    font-size: 1.2rem;
    color: #dc3545;
}

.border-yellow {
    border-color: var(--bs-yellow) !important;
}

.border-indigo {
    border-color: var(--bs-indigo) !important;
}

.border-teal {
    border-color: var(--bs-teal) !important;
}

.card-header.collapsed {
    border-radius: calc(0.375rem - (1px));
    transition: border-radius .5s ease;
}

tbody.table-group-divider {
    border-top: calc(var(--bs-border-width) * 2) solid inherit;
}

.badge.bg-secondary {
    color: white !important;
}

.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 0 !important;
}
.divider::before,
.divider::after {
    content: "";
    flex: 1;
    border-bottom: 1.5px solid #e5e5e5;
}

.title {
    margin: 0 16px;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.3;
}

.btn-large {
    margin: 0 !important;
    line-height: 53px;
    padding: 0 40px;
    font-size: 0.875rem !important;
    min-height: 53px;
}

.pause-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.paused_container {
    cursor: pointer;
    position: absolute;
}

.modal-close-btn {
    z-index: 9999;
}

#group_permissions, #building_permissions {
    display: flex;
    flex-wrap: wrap;
}

.login-btn {
    height: 50px !important;
}

.btn-pending {
    background-color: var(--bs-yellow) !important;
    transition: 0.25s ease-in-out !important;
}

.btn-success-background {
    background: linear-gradient(135deg, #25AE88, #1e7e5d) !important;
    color: white;
    transition: 0.25s ease-in-out;
}

.btn-error-background {
    background: linear-gradient(135deg, #d66060, #A84949) !important;
    color: white;
    transition: 0.25s ease-in-out;
}

/*[data-bs-theme=dark] .bg-error-background {
    background: linear-gradient(135deg, #D64242, #A82929) !important;
}*/

.spinner-border {
    --bs-spinner-border-width: 2px !important;
    color: rgba(241, 241, 241, 0.77);
    height: 30px;
    width: 30px;
}

.btn-progress {
    pointer-events: none !important;
    transition: 0.25s ease-in-out;
}

.single-open {
    transition: 0.25s ease-out;
    border-radius: 5px !important;
}

.camera-btn {
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
    background-color: aliceblue;
}

html[data-bs-theme="dark"] .camera-btn {
    background-color: #2e3a3c;
}

html[data-bs-theme="dark"]  .btn-basic:active {
    background: #2e3a3c !important;
}


@media (min-width:992px) {
    #camera-modal .modal-dialog {
        --bs-modal-width:600px
    }
}

.spinner-container {
    position: relative;
    display: inline-block;
}

.spinner-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.spinner-border {
    z-index: 2;
}

img.from-cache {
   filter: grayscale(100%);
}

.btn-success-background:active, html[data-bs-theme="dark"] .btn-success-background:active {
    background: linear-gradient(135deg, #20a06c, #197554) !important;
}

.btn-pending:active, html[data-bs-theme="dark"] .btn-pending:active{
    background-color: var(--bs-yellow) !important;
}

.btn-error-background:active, html[data-bs-theme="dark"] .btn-error-background:active {
    background: linear-gradient(135deg, #d66060, #A84949) !important;
}

.btn-draggable div.btn {
    cursor: grab !important;
}

.dropzone-element {
    min-height: 85px;
    min-width: 100%;
    position: relative;
}

.daterangepicker .calendar-time {
    display: flex;
}

.spinner-border-sm {
    width: 1rem;
    height: 1rem;
}

.success-message {
    background: rgba(40, 167, 69, 0.9);
    color: white;
    padding: 8px 12px;
    border-radius: 6px;
    font-weight: bold;
    text-align: center;
    z-index: 10;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    animation: fadeInScale 0.3s ease-out;
}

@keyframes fadeInScale {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.fade-out {
    animation: fadeOut 0.5s ease-out forwards;
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

.top-52 {
    top: 52%;
}

.img-disabled {
    opacity: 0.5;
}

.breadcrumb {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.breadcrumb-item {
    display: inline-block;
    vertical-align: middle;
}
.breadcrumb-action-button {
    padding: 0 !important;
}
.breadcrumb-item + .breadcrumb-separator {
    margin: 5px 7px 5px 1px;
    vertical-align: middle;
}
.breadcrumb-separator {
    font-size: 1.2rem;
    color: #6c757d;
    line-height: 1.5;
    vertical-align: middle;
}

.breadcrumb-components:hover {
    color: #2992ff !important;
}

.rotate-icon {
    display: inline-block;
}

.rotate-icon:before {
    display: inline-block;
    transition: transform 0.25s ease;
}

.rotate-icon.open:before {
    transition: transform 0.25s ease;
    transform: rotate(90deg);
}

@media (max-width:992px) {
    .rotate-icon.open:before {
        transition: transform 0.25s ease;
        transform: rotate(180deg);
    }
}

.bg-teal {
    background-color: rgba(25, 185, 84, var(--bs-bg-opacity)) !important;
}

.text-teal {
    color: var(--bs-teal, #20c997) !important; /* Fallback color if var is undefined */
}

.bg-opacity-20 {
    --bs-bg-opacity: 0.2;
}

[data-bs-theme=dark] .text-success {
    color: rgb(24, 218, 36) !important;
}

.group-container {
    display: flex;
    flex-wrap: wrap;
    max-width: 180px;
    gap: 2px;
}

[data-bs-theme=light]  .text-muted {
    color: rgba(146, 146, 146, 1) !important;
}

[data-bs-theme=dark] .pz-nav-pills .nav-link {
    color: #737b8a !important;
}

[data-bs-theme=dark] .pz-nav-pills .nav-link.active {
    color: #f8f8f8 !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}
[data-bs-theme="dark"] .theme-option[data-theme-value="dark"] {
    display: none !important;
}

[data-bs-theme="light"] .theme-option[data-theme-value="light"] {
    display: none !important;
}
.theme-transition {
    will-change: opacity, transform;
}
.fs-7 {
    font-size: 0.85rem;
}

.pin-btn {
    height: 60px !important;
    font-size: 22px;
    touch-action: manipulation;
}

.pin-digit-btn {
    border: 1px solid #999 !important;
    background: transparent !important;
}



#pin-input {
    width: 100%;
    font-size: 3.5rem;
    padding: 5px;
    border: none;
    outline: none;
    background: transparent;
}

.phone-with-prefix .country-prefix {
    width: 100%;
    max-width: 68px;
    text-align: center;
    border-right: none;
}

@media (max-width:992px) {
    #navbarResponsive .nav-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #navbarResponsive .navbar-nav .nav-link {
        border-radius: 0 !important;
    }

}


.allow-1-min-select:disabled {
    cursor: not-allowed !important;
}

@media (min-width: 768px) {
    [data-bs-theme="dark"] .pin-digit-btn:hover {
        background: #565656 !important;
    }

    [data-bs-theme="light"] .pin-digit-btn:hover {
        background: #e8e8e8 !important;
    }
}
@media (max-width: 768px) {
    #pin-modal .modal-dialog {
        transform: translateY(100%);
        transition: transform 0.3s ease-out;
    }
    #pin-modal.show .modal-dialog {
        transform: translateY(0);
    }

    #pin-modal .modal-dialog-centered {
        align-items: end !important;
    }

    [data-bs-theme="dark"] .pin-digit-btn:active {
        background: #565656 !important;
    }

    [data-bs-theme="light"] .pin-digit-btn:active {
        background: #e8e8e8 !important;
    }
    .collapse.show .btn {
        margin-bottom: 7px !important;
    }

}
[data-bs-theme="dark"] #collapseFilter .btn-light {
    background: #babdc1 !important;
    border-color: #babdc1 !important;
}
.announcement-alert {
    background: var(--bs-dark-bg-subtle);
}

[data-bs-theme="dark"] .announcement-alert {
    background: var(--bs-light-bg-subtle);
}
#navbarResponsive .dropdown-item.active {
    background: var(--bs-dark-bg-subtle);
    color: #000;
}

[data-bs-theme="dark"] #navbarResponsive .dropdown-item.active {
    background: var(--bs-light-bg-subtle);
    color: #ccc;
}

.unselectable-content {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
