
.user-avatar {
    width: 30px;
    height: 30px;
    object-fit: cover;
}

.bg-selector {
    width: 100px;
    height: 100px;
    border-radius: 4px;
    object-fit: cover;
}

.bg-selector-active {
    outline: 3px solid #8950FC;
    outline-offset: 2px;
}

#kt_header,
#kt_header_menu_wrapper {
    z-index: 1030;
}

input[data-page-jump] {
    -moz-appearance: textfield;
    width: 2.75rem;
    height: calc(1.25em + 1rem + 2px);
    padding: 0.5rem 0.25rem;
    line-height: 1.25;
    box-sizing: border-box;
}
input[data-page-jump]::-webkit-outer-spin-button,
input[data-page-jump]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.checkbox > span {
    margin-right: 0.75rem;
}

.no-spinner {
    -moz-appearance: textfield;
}
.no-spinner::-webkit-outer-spin-button,
.no-spinner::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

[data-sticky-header] thead th {
    position: sticky;
    top: 70px; 
    z-index: 2;
    background-color: #fff;

    border-bottom: 2px solid #EBEDF3;
}

.table-responsive[data-sticky-header] table {
    border-collapse: separate;
    border-spacing: 0;
}

[data-report-table] {
    font-size: 1.05rem;
}

.card-body-band {
    padding: 1.75rem 2.25rem;
    background-color: #F3F6F9;
    border-bottom-left-radius: 0.42rem;
    border-bottom-right-radius: 0.42rem;
}

@media (min-width: 992px) {
    .table-responsive[data-allow-tooltip-overflow],
    .am-switch-panel {
        overflow-x: visible;
        overflow-y: visible;
    }
}

@media (min-width: 992px) {
    .table-responsive[data-sticky-header] {
        overflow-x: visible;
        overflow-y: visible;
    }
}

.pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    vertical-align: middle;
    cursor: default;
    position: relative;
    transition: filter 0.15s, transform 0.15s;
    user-select: none;
    white-space: nowrap;
}
.pill:hover {
    filter: brightness(0.93);
    transform: translateY(-1px);
}
.pill-icon {
    font-size: 13px;
    display: inline-flex;
    align-items: center;
}
.pill .tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: #2C2C2A;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 400;
    padding: 6px 10px;
    border-radius: 6px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s, transform 0.15s;
    transform: translateX(-50%) translateY(4px);
    z-index: 10;
}
.pill .tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #2C2C2A;
}
.pill:hover .tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.pill-blue { background: #185FA5; color: #E6F1FB; }
.pill-blue .pill-icon { color: #85B7EB; }
.pill-teal { background: #0F6E56; color: #E1F5EE; }
.pill-teal .pill-icon { color: #5DCAA5; }
.pill-purple { background: #534AB7; color: #EEEDFE; }
.pill-purple .pill-icon { color: #AFA9EC; }
.pill-amber { background: #854F0B; color: #FAEEDA; }
.pill-amber .pill-icon { color: #EF9F27; }

.status-dot-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: default;
    margin-right: 6px;
    vertical-align: middle;
}
.status-dot-wrap .tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: #2C2C2A;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 400;
    padding: 6px 10px;
    border-radius: 6px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s, transform 0.15s;
    z-index: 1000;
}
.status-dot-wrap .tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #2C2C2A;
}
.status-dot-wrap:hover .tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}
.status-dot-success { background: #1dc9b7; }
.status-dot-warning { background: #ffb822; }
.status-dot-danger { background: #fd397a; }
.status-dot-info { background: #6993FF; }
.status-dot-dark { background: #B5B5C3; }

.am-switch-panel {
    background: linear-gradient(180deg, #333840, #1E2126);
    border-radius: 8px;
    padding: 16px 18px;
    display: flex;
    gap: 5px;
    overflow-x: auto;
}
.am-switch-port-pair {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: none;
}

.am-switch-panel-single-row .am-switch-port {
    width: 38px;
    height: 34px;
}
.am-switch-port {
    position: relative;
    width: 34px;
    height: 26px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 600;
    text-decoration: none;
    cursor: default;
}
.am-switch-port-free {
    background: #3D434C;
    border: 1px solid #4E5560;
    color: #9BA2AC;
}
.am-switch-port-empty {
    background: transparent;
    border: 1px dashed #3A3F47;
}
.am-switch-port-used {
    background: #185FA5;
    border: 1px solid #2B78C8;
    color: #E6F1FB;
    cursor: pointer;
    transition: filter 0.15s;
}
.am-switch-port-used:hover {
    filter: brightness(1.2);
    color: #E6F1FB;
}
.am-switch-port-led {
    position: absolute;
    top: 2px;
    right: 3px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #545B66;
}
.am-switch-port-led-on {
    background: #3DD598;
    box-shadow: 0 0 3px #3DD598;
}
.am-switch-legend-swatch {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 3px;
    vertical-align: middle;
}

.kt-link {
    text-decoration: none;
    position: relative;
    display: inline-block;
    color: #5d78ff;
}
.kt-link::after {
    display: block;
    content: '';
    position: absolute;
    bottom: 0;
    top: 1rem;
    left: 0;
    width: 0%;
    transition: width 0.3s ease;
}
.kt-link:hover {
    text-decoration: none !important;
    color: #3e5fff;
}
.kt-link:hover::after {
    width: 100%;
    border-bottom: 1px solid #3e5fff;
    opacity: 0.3;
}
.kt-link.kt-link--brand { color: #716aca; }
.kt-link.kt-link--brand:hover { color: #4d44bd; }
.kt-link.kt-link--brand:hover::after { border-bottom-color: #4d44bd; }
.kt-link.kt-link--dark { color: #282a3c; }
.kt-link.kt-link--dark:hover { color: #14151d; }
.kt-link.kt-link--dark:hover::after { border-bottom-color: #14151d; }
.kt-link.kt-link--primary { color: #5867dd; }
.kt-link.kt-link--primary:hover { color: #2e40d4; }
.kt-link.kt-link--primary:hover::after { border-bottom-color: #2e40d4; }
.kt-link.kt-link--success { color: #1dc9b7; }
.kt-link.kt-link--success:hover { color: #179c8e; }
.kt-link.kt-link--success:hover::after { border-bottom-color: #179c8e; }
.kt-link.kt-link--info { color: #5578eb; }
.kt-link.kt-link--info:hover { color: #2754e6; }
.kt-link.kt-link--info:hover::after { border-bottom-color: #2754e6; }
.kt-link.kt-link--warning { color: #ffb822; }
.kt-link.kt-link--warning:hover { color: #eea200; }
.kt-link.kt-link--warning:hover::after { border-bottom-color: #eea200; }
.kt-link.kt-link--danger { color: #fd397a; }
.kt-link.kt-link--danger:hover { color: #fc0758; }
.kt-link.kt-link--danger:hover::after { border-bottom-color: #fc0758; }

.kt-link.kt-link--dashed {
    border-bottom: 1px dashed currentColor;
    cursor: help;
}
.kt-link.kt-link--dashed::after {
    display: none;
}

.search-clearable {
    position: relative;
}
.search-clearable input {
    padding-right: 2rem;
}
.search-clear {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    cursor: pointer;
    color: #B5B5C3;
    font-size: 1.1rem;
    line-height: 1;
    user-select: none;
}
.search-clear:hover {
    color: #7E8299;
}

.search-clearable input.form-control-sm {
    padding-right: 1.75rem;
}
.search-clearable input.form-control-sm ~ .search-clear {
    right: 0.5rem;
    font-size: 0.95rem;
}

.client-viewer-tabs.tabs-compact .nav-icon {
    display: none;
}

.native-drag-ghost {
    opacity: 1 !important;
    pointer-events: none;
    z-index: 9999;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
    cursor: grabbing;
}
li[data-step-id].is-dragging,
li[data-id].is-dragging {
    opacity: 0.35;
}

.checklist-item-text {
    flex: 1 1 auto;
    min-width: 0;
}

.process-text-lg,
.process-text-lg .form-control {
    font-size: 1.15rem;
}

select.is-invalid + .select2 .select2-selection {
    border-color: #F64E60 !important;
}

.checkbox > input.is-invalid + span {
    border-color: #F64E60 !important;
    box-shadow: 0 0 0 1px #F64E60;
}

.msd-badge.label-light-danger {
    color: #C4183A;
}
.msd-badge.label-light-secondary {
    color: #7E8299;
}

.quick-search-input-group {
    width: 320px;
}
@media (max-width: 991.98px) {
    #kt_quick_search_inline.w-auto {
        width: 100% !important;
    }
    .quick-search-input-group {
        width: 100%;
    }

    .topbar-item.mr-3:has(#kt_quick_search_inline) {
        margin-right: 0 !important;
    }

    .topbar {
        flex-wrap: wrap;
        row-gap: 8px;
    }

    #kt_header {
        pointer-events: none;
    }

    .topbar-mobile-on .topbar {
        height: auto;
        pointer-events: auto;
    }

    .topbar-mobile-on .topbar.topbar-minimize {
        padding-bottom: 15px;
    }
}

.popover.popover-dark { background-color: #181C32; border-color: #181C32; }
.popover.popover-dark .popover-header { background-color: #181C32; color: #fff; border-bottom-color: rgba(255,255,255,.1); }
.popover.popover-dark .popover-body { color: #fff; }
.popover.popover-dark.bs-popover-top > .arrow::before, .popover.popover-dark.bs-popover-auto[x-placement^="top"] > .arrow::before { border-top-color: #181C32; }
.popover.popover-dark.bs-popover-top > .arrow::after, .popover.popover-dark.bs-popover-auto[x-placement^="top"] > .arrow::after { border-top-color: #181C32; }
.popover.popover-dark.bs-popover-bottom > .arrow::before, .popover.popover-dark.bs-popover-auto[x-placement^="bottom"] > .arrow::before { border-bottom-color: #181C32; }
.popover.popover-dark.bs-popover-bottom > .arrow::after, .popover.popover-dark.bs-popover-auto[x-placement^="bottom"] > .arrow::after { border-bottom-color: #181C32; }
.popover.popover-dark.bs-popover-left > .arrow::before, .popover.popover-dark.bs-popover-auto[x-placement^="left"] > .arrow::before { border-left-color: #181C32; }
.popover.popover-dark.bs-popover-left > .arrow::after, .popover.popover-dark.bs-popover-auto[x-placement^="left"] > .arrow::after { border-left-color: #181C32; }
.popover.popover-dark.bs-popover-right > .arrow::before, .popover.popover-dark.bs-popover-auto[x-placement^="right"] > .arrow::before { border-right-color: #181C32; }
.popover.popover-dark.bs-popover-right > .arrow::after, .popover.popover-dark.bs-popover-auto[x-placement^="right"] > .arrow::after { border-right-color: #181C32; }

.popover.popover-dark.bs-popover-bottom .popover-header::before, .popover.popover-dark.bs-popover-auto[x-placement^="bottom"] .popover-header::before { border-bottom-color: #181C32; }

.popover.popover-dark .kt-link { color: #8bb4ff; }
.popover.popover-dark .kt-link:hover { color: #b3cdff; }

.tooltip {
    pointer-events: none;
}

.dual-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    z-index: 1039;
    background-color: #000;
    opacity: 0.5;
}
@media (min-width: 1200px) {

    .modal.dual-modal-left,
    .modal.dual-modal-right {
        width: 44vw;

        transition: opacity 0.15s linear, left 0.3s ease, width 0.3s ease;
    }
    .modal.dual-modal-left {
        left: 2vw;
    }
    .modal.dual-modal-right {
        left: auto;
        right: 2vw;
    }

    .modal.dual-modal-left .modal-dialog,
    .modal.dual-modal-right .modal-dialog {
        max-width: 100%;
        transition: transform 0.3s ease;
    }
    .modal.dual-modal-left .modal-dialog {
        transform: translateX(-150%);
    }
    .modal.dual-modal-left.dual-modal-active .modal-dialog {
        transform: translateX(0);
    }
    .modal.dual-modal-right .modal-dialog {
        transform: translateX(150%);
    }
    .modal.dual-modal-right.dual-modal-active .modal-dialog {
        transform: translateX(0);
    }
    .modal.dual-modal-left .modal-content,
    .modal.dual-modal-right .modal-content {
        max-height: 90vh;
        overflow-y: auto;
    }
}

#kt_confirm_modal {
    z-index: 1060;
}

#kt_sms_modal {
    z-index: 1060;
}

.flyout {
    display: block;
    position: fixed;
    min-width: 0;
    float: none;
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    padding: 0;
    margin: 0;
    transition: max-width .2s ease, opacity .15s ease;
    z-index: 1060;
}
.flyout.flyout-open {
    max-width: var(--flyout-max-width, 360px);
    opacity: 1;
    pointer-events: auto;
}
.flyout-inner {
    padding: .65rem 1rem;
}

.flyout.flyout-dark {
    color: #ffffff;
    background-color: #181C32;
    border-color: #181C32;
}
.flyout.flyout-dark .kt-link { color: #8bb4ff; }
.flyout.flyout-dark .kt-link:hover { color: #b3cdff; }
.flyout.flyout-dark .text-muted { color: rgba(255, 255, 255, .5) !important; }

.thin-collapse-toggle .fa-chevron-down {
    transition: transform 0.15s ease;
}
.thin-collapse-toggle:not(.collapsed) .fa-chevron-down {
    transform: rotate(180deg);
}

body.modal-open {
    padding-right: 0 !important;
}
body.modal-open .sticky-top {
    margin-right: 0 !important;
}

