﻿body.vertical-layout.vertical-menu .main-menu .navigation > li > a > i, body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation > li > a > i:before {
    font-size: 1rem
}

body.vertical-layout.vertical-menu.menu-expanded .content, body.vertical-layout.vertical-menu.menu-expanded .footer, body.vertical-layout.vertical-menu.menu-expanded .navbar .navbar-container {
    margin-left: 260px
}

body.vertical-layout.vertical-menu.menu-collapsed .main-menu .mTSWrapper, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation {
    overflow: visible
}

body.vertical-layout.vertical-menu .main-menu .main-menu-content {
    padding-top: 15px
}

@media (min-width: 576px) {
    body.vertical-layout.vertical-menu.menu-flipped .main-menu {
        right: 0
    }
}

body.vertical-layout.vertical-menu .navbar .navbar-brand {
    white-space: nowrap
}

body.vertical-layout.vertical-menu.menu-expanded .navbar .navbar-header {
    float: left;
    width: 260px
}

body.vertical-layout.vertical-menu.menu-expanded .navbar.navbar-brand-center .navbar-header {
    float: left;
    width: auto
}

body.vertical-layout.vertical-menu.menu-expanded .navbar .navbar-brand .brand-text {
    animation: .3s cubic-bezier(.25,.8,.25,1) 0s normal forwards 1 fadein;
    visibility: visible
}

body.vertical-layout.vertical-menu.menu-expanded .main-menu {
    width: 260px;
    transition: .3s ease all;
    backface-visibility: hidden
}

    body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation .navigation-header span {
        visibility: visible
    }

    body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation .navigation-header .la-ellipsis-h, body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation .navigation-header .nav-menu-icon {
        display: none
    }

    body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation > li > a > i {
        margin-right: 12px
    }

    body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation > li > a > span {
        visibility: visible
    }

        body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation > li > a > span.badge {
            position: absolute;
            right: 20px;
            top: 12px;
            visibility: visible
        }

    body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation li.has-sub > a:not(.mm-next):after {
        content: "\f112";
        font-family: LineAwesome;
        font-size: 1rem;
        display: inline-block;
        position: absolute;
        right: 20px;
        top: 13px;
        transform: rotate(0);
        transition: -webkit-transform .2s ease-in-out
    }

    body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation li.has-sub .has-sub > a:not(.mm-next):after {
        top: 11px
    }

    body.vertical-layout.vertical-menu.menu-expanded .main-menu .navigation li.open > a:not(.mm-next):after {
        transform: rotate(90deg)
    }

body.vertical-layout.vertical-menu.menu-expanded .navbar-brand-center .content, body.vertical-layout.vertical-menu.menu-expanded .navbar-brand-center .footer {
    margin-left: 0
}

body.vertical-layout.vertical-menu.menu-collapsed .navbar .navbar-header {
    float: left;
    width: 60px
}

body.vertical-layout.vertical-menu.menu-collapsed .navbar.navbar-brand-center .navbar-header {
    float: left;
    width: auto
}

body.vertical-layout.vertical-menu.menu-collapsed .navbar.navbar-brand-center .navbar-brand .brand-text {
    animation: .3s cubic-bezier(.25,.8,.25,1) 0s normal forwards 1 fadein
}

body.vertical-layout.vertical-menu.menu-collapsed .navbar .navbar-brand {
    padding: 10px 0
}

body.vertical-layout.vertical-menu.menu-collapsed .navbar .navbar-container {
    margin-left: 60px
}

body.vertical-layout.vertical-menu.menu-collapsed .navbar .navbar-brand .brand-text {
    animation: .3s cubic-bezier(.25,.8,.25,1) 0s normal forwards 1 fadeout
}

body.vertical-layout.vertical-menu.menu-collapsed .main-menu {
    width: 60px;
    transform: translateZ(-160px) translateX(-160px);
    transform: translate3d(0,0,0);
    transition: .3s ease all
}

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-header .media-body .media-heading, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-header .media-body .text-muted, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-header .media-right {
        display: none
    }

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-header .media-body {
        opacity: 0
    }

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .user-content {
        padding: 20px 10px
    }

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content a.menu-title, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > span.menu-title {
        right: -260px;
        width: 260px;
        font-weight: 600;
        color: #fff;
        text-transform: uppercase;
        text-align: left;
        background-color: #1e9ff2;
        border-color: #1e9ff2;
        padding: 15px 20px
    }

@media all and (-ms-high-contrast:none),(-ms-high-contrast:active) {
    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content a.menu-title, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > span.menu-title {
        left: 59px !important
    }
}

body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content {
    left: 59px;
    width: 260px;
    transition: visibility .25s,opacity .25s;
    box-shadow: 25px 5px 75px 2px rgba(64,70,74,.2);
    border-bottom: 1px solid rgba(0,0,0,.2);
    border-left: 1px solid rgba(0,0,0,.02)
}

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li {
        white-space: nowrap;
        position: relative
    }

        body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li a {
            display: block;
            padding: 12px 20px;
            transition: all .2s ease
        }

        body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li.has-sub > a:not(.mm-next):after {
            content: "\f112";
            font-family: LineAwesome;
            font-size: 1rem;
            display: inline-block;
            position: absolute;
            right: 20px;
            top: 13px;
            transform: rotate(0);
            transition: -webkit-transform .2s ease-in-out
        }

        body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li.has-sub .has-sub > a:not(.mm-next):after {
            top: 11px
        }

        body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li.open > a:not(.mm-next):after {
            transform: rotate(90deg)
        }

        body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li.hover > a, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li:hover > a {
            transform: translateX(4px)
        }

            body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li.hover > a > a, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .main-menu-content > ul.menu-content li:hover > a > a {
                transform: translateX(-4px)
            }

body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li.navigation-header {
    padding: 12px 20px
}

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li.navigation-header .la-ellipsis-h {
        display: block;
        font-size: 1.3rem
    }

    .vertical-overlay-menu .main-menu .navigation .navigation-header .la-ellipsis-h, .vertical-overlay-menu .main-menu .navigation .navigation-header .nav-menu-icon, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li.navigation-header span, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li > a > span, body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li > ul {
        display: none
    }

body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li > a {
    padding: 10px 0 10px 18px
}

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li > a > span {
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: 0;
        right: -260px;
        width: 260px;
        font-weight: 600;
        color: #fff;
        text-align: left;
        background-color: #666ee8;
        border-color: #666ee8;
        padding: 14px 20px
    }

    body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li > a > i {
        margin-right: 0;
        font-size: 1.6rem;
        line-height: 1;
        visibility: visible;
        opacity: 1
    }

body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li.active > a {
    margin: 0
}

body.vertical-layout.vertical-menu.menu-collapsed .content, body.vertical-layout.vertical-menu.menu-collapsed .footer {
    margin-left: 60px
}

body.vertical-layout.vertical-menu.menu-collapsed .navbar-brand-center .content, body.vertical-layout.vertical-menu.menu-collapsed .navbar-brand-center .footer {
    margin-left: 0
}

body.vertical-layout.vertical-menu.menu-collapsed.menu-flipped .content, body.vertical-layout.vertical-menu.menu-collapsed.menu-flipped .footer, body.vertical-layout.vertical-menu.menu-collapsed.menu-flipped .navbar .navbar-container {
    margin: 0 60px 0 0
}

@media (min-width: 576px) {
    body.vertical-layout.vertical-menu.menu-collapsed.menu-flipped .main-menu {
        right: 0
    }

        body.vertical-layout.vertical-menu.menu-collapsed.menu-flipped .main-menu span.menu-title {
            right: 60px
        }

        body.vertical-layout.vertical-menu.menu-collapsed.menu-flipped .main-menu ul.menu-content {
            right: 60px;
            left: inherit
        }
}

body.vertical-layout.vertical-menu.menu-collapsed.menu-flipped .navbar .navbar-header {
    float: right
}

[data-textdirection=rtl] body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li > a {
    padding: 14px 16px !important
}

[data-textdirection=rtl] body.vertical-layout.vertical-menu.menu-collapsed .main-menu .navigation > li.navigation-header .la-ellipsis-h {
    padding: 12px 0
}

@media (min-width: 992px) {
    body.vertical-layout.vertical-menu .main-menu, body.vertical-layout.vertical-menu .navbar .navbar-header {
        width: 260px
    }

    body.vertical-layout.vertical-menu .content, body.vertical-layout.vertical-menu .footer {
        margin-left: 260px
    }

    body.vertical-layout.vertical-menu.menu-flipped .content, body.vertical-layout.vertical-menu.menu-flipped .footer, body.vertical-layout.vertical-menu.menu-flipped .navbar .navbar-container {
        margin: 0 260px 0 0
    }

    body.vertical-layout.vertical-menu.menu-flipped .navbar .navbar-header {
        float: right
    }
}

@media (max-width: 991.98px) {
    body.vertical-layout.vertical-menu .main-menu, body.vertical-layout.vertical-menu .navbar .navbar-header {
        width: 60px
    }

        body.vertical-layout.vertical-menu .main-menu .navigation li.navigation-header span, body.vertical-layout.vertical-menu .main-menu .navigation > li > a > span, body.vertical-layout.vertical-menu .navbar .navbar-header .brand-text {
            visibility: hidden
        }

        body.vertical-layout.vertical-menu .main-menu .navigation > li > a > i {
            font-size: 1.4rem
        }

    body.vertical-layout.vertical-menu .content, body.vertical-layout.vertical-menu .footer {
        margin-left: 60px
    }
}

@media (max-width: 767.98px) {
    body.vertical-layout.vertical-menu .content, body.vertical-layout.vertical-menu .footer {
        margin-left: 0
    }

    body.vertical-layout.vertical-menu.menu-expanded .content, body.vertical-layout.vertical-menu.menu-expanded .footer, body.vertical-layout.vertical-menu.menu-expanded .navbar .navbar-container {
        margin-left: 0 !important
    }

    .vertical-overlay-menu.menu-hide html.loading .main-menu, html.loading .main-menu, html.loading .vertical-overlay-menu.menu-hide .main-menu {
        opacity: 0;
        transform: translate3d(0,0,0)
    }
}

@keyframes fadeout {
    from {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.vertical-overlay-menu .content {
    margin-left: 0
}

.vertical-overlay-menu .navbar .navbar-header {
    float: left;
    width: 280px
}

.vertical-overlay-menu .navbar.navbar-brand-center .navbar-container {
    margin-left: auto
}

.vertical-overlay-menu .navbar.navbar-brand-center .navbar-header {
    float: left;
    width: auto
}

.vertical-overlay-menu .main-menu, .vertical-overlay-menu.menu-hide .main-menu {
    opacity: 0;
    transform: translate3d(0,0,0);
    transition: width .25s,opacity .25s,transform .25s;
    width: 280px;
    left: -280px
}

    .vertical-overlay-menu .main-menu .navigation .navigation-header {
        padding-left: 34px
    }

    .vertical-overlay-menu .main-menu .navigation > li > a {
        padding-left: 32px
    }

        .vertical-overlay-menu .main-menu .navigation > li > a > i {
            font-size: 1.6rem;
            margin-right: 12px;
            float: left
        }

            .vertical-overlay-menu .main-menu .navigation > li > a > i:before {
                transition: .2s ease all
            }

    .vertical-overlay-menu .main-menu .navigation > li.hover > a {
        padding-left: 36px
    }

    .vertical-overlay-menu .main-menu .navigation > li ul li > a {
        padding-left: 68px
    }

    .vertical-overlay-menu .main-menu .navigation > li .active > a {
        padding-left: 54px
    }

    .vertical-overlay-menu .main-menu .navigation > li ul .open > ul li > a {
        padding-left: 74px
    }

    .vertical-overlay-menu .main-menu .navigation > li ul .open > ul li:not(.active):hover > a {
        padding-left: 78px
    }

    .vertical-overlay-menu .main-menu .navigation > li.open > ul > li:hover > a {
        padding-left: 72px
    }

    .vertical-overlay-menu .main-menu .navigation > li.open > ul > li:hover.active > a {
        padding-left: 54px
    }

    .vertical-overlay-menu .main-menu .navigation li.has-sub > a:not(.mm-next):after {
        content: ">";
        font-family: Arial, sans-serif;
        font-size: 1rem;
        display: inline-block;
        position: absolute;
        top: 13px;
        right: 34px;
        transform: rotate(0);
        transition: -webkit-transform .2s ease-in-out;
    }

    .vertical-overlay-menu .main-menu .navigation li.has-sub .has-sub > a:not(.mm-next):after {
        top: 11px
    }

    .vertical-overlay-menu .main-menu .navigation li.open > a:not(.mm-next):after {
        transform: rotate(90deg)
    }

.vertical-overlay-menu.menu-open .main-menu {
    opacity: 1;
    transform: translate3d(280px,0,0);
    transition: width .25s,opacity .25s,transform .25s
}

.vertical-overlay-menu.menu-flipped .main-menu {
    right: -280px;
    left: inherit
}

.vertical-overlay-menu.menu-flipped .navbar .navbar-container {
    margin: 0 280px 0 0
}

.vertical-overlay-menu.menu-flipped .navbar .navbar-header {
    float: right
}

.vertical-overlay-menu.menu-flipped.menu-open .main-menu {
    transform: translate3d(-280px,0,0)
}

.vertical-overlay-menu footer.footer.fixed-bottom {
    z-index: 999
}

.vertical-overlay-menu.boxed-layout {
    position: relative
}

    .vertical-overlay-menu.boxed-layout .main-menu.menu-fixed {
        position: absolute
    }

@media (max-width: 768px) {
    .vertical-overlay-menu .header-navbar .navbar-header .mobile-menu a.menu-toggle, .vertical-overlay-menu .header-navbar .navbar-header li.nav-item.d-md-none a.open-navbar-container {
        padding-top: 1rem
    }
}

@keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}


.menu-content .menu-item i {
    margin-right: 10px;
    font-size: 12px;
}

.menu-content .menu-item:hover i {
    color: #1E9FF1; /* Darker shade on hover */
}

.ps__rail-x, .ps__rail-y {
    display: none;
    opacity: 0;
    position: absolute
}

.ps {
    overflow: hidden !important;
    overflow-anchor: none;
    -ms-overflow-style: none;
    touch-action: auto;
    -ms-touch-action: auto
}

.ps__rail-x {
    transition: background-color .2s linear,opacity .2s linear;
    -webkit-transition: background-color .2s linear,opacity .2s linear;
    height: 15px;
    bottom: 0
}

.ps__rail-y {
    transition: background-color .2s linear,opacity .2s linear;
    -webkit-transition: background-color .2s linear,opacity .2s linear;
    width: 15px;
    right: 0
}

.ps--active-x > .ps__rail-x, .ps--active-y > .ps__rail-y {
    display: block;
    background-color: transparent
}

.ps--focus > .ps__rail-x, .ps--focus > .ps__rail-y, .ps--scrolling-x > .ps__rail-x, .ps--scrolling-y > .ps__rail-y, .ps:hover > .ps__rail-x, .ps:hover > .ps__rail-y {
    opacity: .6
}

.ps .ps__rail-x.ps--clicking, .ps .ps__rail-x:focus, .ps .ps__rail-x:hover, .ps .ps__rail-y.ps--clicking, .ps .ps__rail-y:focus, .ps .ps__rail-y:hover {
    background-color: #eee;
    opacity: .9
}

.ps__thumb-x, .ps__thumb-y {
    background-color: #aaa;
    border-radius: 6px;
    position: absolute
}

.ps__thumb-x {
    transition: background-color .2s linear,height .2s ease-in-out;
    -webkit-transition: background-color .2s linear,height .2s ease-in-out;
    height: 6px;
    bottom: 2px
}

.ps__thumb-y {
    transition: background-color .2s linear,width .2s ease-in-out;
    -webkit-transition: background-color .2s linear,width .2s ease-in-out;
    width: 6px;
    right: 2px
}

.ps__rail-x.ps--clicking .ps__thumb-x, .ps__rail-x:focus > .ps__thumb-x, .ps__rail-x:hover > .ps__thumb-x {
    background-color: #999;
    height: 11px
}

.ps__rail-y.ps--clicking .ps__thumb-y, .ps__rail-y:focus > .ps__thumb-y, .ps__rail-y:hover > .ps__thumb-y {
    background-color: #999;
    width: 11px
}

@supports (-ms-overflow-style: none) {
    .ps {
        overflow: auto !important
    }
}

@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none) {
    .ps {
        overflow: auto !important
    }
}




.Activeswitch {
    position: relative;
    display: inline-block;
    width: 40px; /* Reduced from 50px */
    height: 25px;
}

    .Activeswitch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 17.5px;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 19px;
        width: 19px;
        left: 3px;
        bottom: 3px;
        background-color: white;
        transition: .4s;
        border-radius: 50%;
    }

input:checked + .slider {
    background-color: #4CAF50;
}

    input:checked + .slider:before {
        transform: translateX(14px); /* Adjusted from 24px to match new width */
    }


.app-contacts #users-contacts .delete i, .app-contacts #users-contacts .favorite i {
    font-size: 1.25rem;
    cursor: pointer
}

.app-contacts #users-contacts .favorite.active {
    color: #ff9149
}

.app-contacts .app-content .sidebar-toggle {
    position: absolute;
    cursor: pointer;
    margin-top: 4px
}

.app-contacts .app-content .content-overlay {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    display: block;
    z-index: 2;
    visibility: hidden
}

    .app-contacts .app-content .content-overlay.show {
        visibility: visible;
        background-color: rgba(0,0,0,.6);
        opacity: 1;
        z-index: 3
    }

@media only screen and (max-width: 991px) {
    .app-contacts .app-content .bug-list-search form {
        margin-left: 3rem
    }

    .app-contacts .app-content .sidebar-left {
        transform: translateX(-100%);
        transition: .3s ease all;
        display: none
    }

        .app-contacts .app-content .sidebar-left.show {
            display: block;
            position: fixed;
            top: 71px;
            margin-left: -2.2rem;
            width: 300px;
            z-index: 999;
            transform: translateX(0);
            height: calc(100% - 69px);
            transition: .3s ease all;
            overflow-y: scroll
        }

            .app-contacts .app-content .sidebar-left.show .card {
                margin-bottom: 0
            }

    .app-contacts.horizontal-layout .app-content .sidebar-left {
        left: 0;
        margin-left: 0
    }

    .app-contacts.horizontal-layout .app-content .content-right.show {
        width: 100%;
        top: 124px
    }

    .app-contacts.horizontal-layout .app-content .content-overlay {
        position: fixed;
        top: 70px
    }

    .app-contacts.horizontal-menu-padding .app-content .content-right.show {
        width: 720px
    }

    .app-contacts.vertical-content-menu .app-content .sidebar-left.show {
        z-index: 1000
    }
}

@media only screen and (max-width: 767px) {
    .app-contacts .horizontal-layout .app-content .sidebar-left {
        left: 0
    }

        .app-contacts .horizontal-layout .app-content .sidebar-left.show {
            margin-left: 0
        }

    .app-contacts .app-content .sidebar-left.show {
        margin-left: -1rem
    }

    .app-contacts.vertical-layout .content-right .all-contacts div.dataTables_wrapper div.dataTables_filter#users-contacts_filter {
        text-align: right
    }
}

@media (max-width: 576px) {
    .app-contacts .delete-all {
        position: absolute;
        top: 50px;
        margin-top: 2rem
    }
}

@media screen and (max-width: 1200px) and (min-width:768px) {
    .vertical-layout .content-right .all-contacts div.dataTables_wrapper div.row:last-child {
        justify-content: center
    }
}

.material-vertical-layout .profile-card-with-stats .btn-float {
    padding: 8px 4px 14px !important;
    line-height: 1.2rem
}


#toast1-container {
    position: fixed;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column-reverse;
    gap: 12px;
    z-index: 9999;
    max-width: 350px;
    width: 100%;
}

.toast1 {
    width: 100%;
    padding: 16px 20px 20px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    /*animation: slideIn 0.3s ease-out forwards, fadeOut 0.3s ease-in 5s forwards;*/
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background: white;
    display: flex;
    align-items: center;
    min-height: 60px;
}

    .toast1::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: currentColor;
    }

.toast1-content {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.toast1-icon {
    font-size: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.toast1-message {
    flex-grow: 1;
    color: #333;
    line-height: 1.5;
    word-break: break-word;
    max-width: 280px;
}

.toast1-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    transform-origin: left;
    animation: progress 5s linear forwards;
    background: currentColor;
    opacity: 0.6;
    animation-play-state: running;
}

.toast1:hover .toast1-progress {
    animation-play-state: paused;
}

.toast1.success {
    color: #28a745;
}

    .toast1.success .toast1-icon {
        color: #28a745;
    }

.toast1.error {
    color: #dc3545;
}

    .toast1.error .toast1-icon {
        color: #dc3545;
    }

.toast1.warning {
    color: #ffc107;
}

    .toast1.warning .toast1-icon {
        color: #ffc107;
    }

.toast1.info {
    color: #17a2b8;
}

    .toast1.info .toast1-icon {
        color: #17a2b8;
    }

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeOut {
    to {
        opacity: 0;
        transform: translateY(10px);
    }
}

@keyframes progress {
    from {
        transform: scaleX(1);
    }

    to {
        transform: scaleX(0);
    }
}

@media (max-width: 400px) {
    #toast1-container {
        right: 10px;
        bottom: 10px;
    }

    .toast1-message {
        max-width: 220px;
    }
}

.search-wrapper {
    position: relative;
    width: 300px; /* Slightly wider for better usability */
    max-width: 100%;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

    .search-wrapper input[type="search"] {
        width: 100%;
        padding: 10px 40px 10px 16px; /* More padding for comfort */
        border: 2px solid #e5e7eb; /* Softer gray border */
        border-radius: 3px; /* Softer rounded corners */
        font-size: 16px;
        line-height: 1.5;
        background-color: #ffffff;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); /* Subtle shadow */
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

        .search-wrapper input[type="search"]:focus {
            outline: none;
            border-color: #60a5fa; /* Softer blue focus */
            box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.2); /* Enhanced focus ring */
        }

        .search-wrapper input[type="search"]::placeholder {
            color: #9ca3af; /* Neutral placeholder */
        }

    .search-wrapper .fa-search {
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #6b7280; /* Softer icon color */
        font-size: 18px; /* Larger icon for visibility */
        pointer-events: none;
    }

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .search-wrapper input[type="search"] {
        background-color: #374151;
        border-color: #4b5563;
        color: #f9fafb;
    }

        .search-wrapper input[type="search"]::placeholder {
            color: #d1d5db;
        }

    .search-wrapper .fa-search {
        color: #d1d5db;
    }
}

.modern-card-pagination {
    display: flex;
    gap: 8px;
    border-radius: 15px;
    justify-content: center;
    align-items: center;
}

    .modern-card-pagination li {
        display: inline-flex;
        margin: 0;
    }

    .modern-card-pagination a {
        color: #2d3748;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 6px;
        font-weight: 600;
        transition: all 0.3s ease;
        background-color: #ffffff;
        border: 1px solid #d1d5db;
    }

        .modern-card-pagination a:hover {
            background: linear-gradient(135deg, #edf2f7, #ffffff);
            border-color: #a0aec0;
            transform: translateY(-2px);
        }

    .modern-card-pagination .active a {
        background: #1e9ff2;
        color: white;
        border-color: #4c51bf;
        box-shadow: 0 4px 10px rgba(76, 81, 191, 0.3);
        transform: translateY(-2px);
    }

    .modern-card-pagination .disabled a {
        color: #a0aec0;
        border-color: #e2e8f0;
        cursor: not-allowed;
        opacity: 0.6;
        transform: none !important;
    }

    .modern-card-pagination .arrow a {
        background-color: #ffffff;
        width: 42px;
        border-radius: 50%;
    }

        .modern-card-pagination .arrow a:hover {
            background: linear-gradient(135deg, #e2e8f0, #f7fafc);
        }

.custom-radio-container {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    user-select: none;
}

    .custom-radio-container input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
    }

.radio-checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: #fff;
    border: 2px solid #ddd;
    border-radius: 50%;
    transition: all 0.3s;
}

.custom-radio-container:hover input ~ .radio-checkmark {
    border-color: #007bff;
}

.custom-radio-container input:checked ~ .radio-checkmark {
    background-color: #007bff;
    border-color: #007bff;
}

.radio-checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.custom-radio-container input:checked ~ .radio-checkmark:after {
    display: block;
}

.custom-radio-container .radio-checkmark:after {
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}

.radio-label {
    margin-left: 8px;
    font-size: 14px;
}
/* Dropdown container styles */
.dropdown-container {
    position: relative;
}

.dropdown-menu-custom {
    position: absolute;
    z-index: 1050; /* Higher than table z-index */
    transform: none !important; /* Prevents any transform that might cause clipping */
    inset: auto !important; /* Resets any positioning */
    margin-top: 5px; /* Small gap from the button */
    width: 100%;
    /*min-width: 300px;*/
    overflow-y: auto;
    padding: 0;
    bottom: 100%;
}

/* Alternating background colors for dropdown items */
.dropdown-item.item-entry.odd-item {
    background-color: #f8fafc; /* Light blue-gray */
}

.dropdown-item.item-entry.even-item {
    background-color: #ffffff; /* White */
}

/* Hover effect for dropdown items */
.dropdown-item.item-entry:hover {
    background-color: #f1f5f9 !important; /* Slightly darker blue-gray */
}

/* Selected item styling */
.dropdown-item.item-entry.selected {
    background-color: #e0f2fe !important; /* Light blue background */
    font-weight: 500;
}

/* Item name styling */
.item-name {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    display: inline-block;
    max-width: calc(100% - 30px);
    line-height: 1.4;
    color: #334155; /* Dark gray-blue for text */
}

/* Color indicator styling */
.color-indicator {
    width: 8px;
    height: 100%;
    min-height: 24px;
    border-radius: 2px;
    margin-right: 10px;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 2px;
    background-color: #ccc; /* Fallback color */
}

/* Dropdown item container */
.item-entry > .d-flex {
    min-height: 40px;
    align-items: center;
    color: #1e293b; /* Dark slate for text */
    padding: 8px 12px;
}

/* Scrollable area for dropdown items */
.dropdown-items-container {
    scrollbar-width: thin;
    overflow-y: auto;
    max-height: 250px;
}

    .dropdown-items-container::-webkit-scrollbar {
        width: 6px;
    }

    .dropdown-items-container::-webkit-scrollbar-thumb {
        background-color: #cbd5e1;
        border-radius: 3px;
    }

/* No results styling */
.no-results-item {
    background-color: #fff8e1 !important; /* Light yellow */
    color: #854d0e !important; /* Dark yellow text */
    padding: 10px 15px;
}

/* Add new item area */
.add-new-item {
    background-color: #f8fafc !important;
    border-top: 1px solid #e2e8f0;
    padding: 10px !important;
}

/* Sticky footer for dropdown */
.sticky-bottom {
    position: sticky;
    bottom: 0;
    background: white;
    z-index: 1;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.05);
}

/* Dropdown toggle button styling */
.dropdown-toggle-custom {
    text-align: left;
    background-color: white;
    border: 1px solid #ced4da;
    width: 100%;
    color: #495057;
}

    .dropdown-toggle-custom::after {
        float: right;
        margin-top: 8px;
        color: #6c757d;
    }

/* Table styling */
.table-responsive {
    position: relative;
    overflow-x: auto;
    margin-top: 20px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.table {
    margin-bottom: 0;
}

    .table th {
        background-color: #f8f9fa;
        white-space: nowrap;
        vertical-align: middle;
    }

/* Responsive adjustments */
@media (max-width: 768px) {
    .dropdown-menu-custom {
        position: absolute !important;
        width: auto !important;
        min-width: 100% !important;
    }

    .table th, .table td {
        padding: 0.5rem;
        font-size: 0.875rem;
    }
}

/* Validation styling */
.is-invalid {
    border-color: #dc3545 !important;
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.is-invalid ~ .invalid-feedback {
    display: block;
}

.vaildationbackground {
    color: #dc3545;
    margin-left: 3px;
}

.custom-card-header {
    background: #ebf6f7;
    color: black;
    font-weight: 100;
    padding: 10px;
}














/* Compact Password Modal */
#changePasswordModal .modal-dialog {
    max-width: 450px;
    margin: 1rem;
}

#changePasswordModal .compact-modal {
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    animation: modalSlideUp 0.3s ease-out;
}

/* Form View */
#changePasswordModal .modal-form-view,
#changePasswordModal .modal-success-view {
    display: flex;
    flex-direction: column;
    max-height: 500px;
    overflow: hidden;
}

/* Compact Header */
#changePasswordModal .compact-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #f1f5f9;
    background: transparent;
}

#changePasswordModal .header-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

#changePasswordModal .header-icon {
    width: 36px;
    height: 36px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 16px;
}

#changePasswordModal .header-text h5 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 2px;
    line-height: 1.2;
}

#changePasswordModal .modal-subtitle {
    font-size: 0.8rem;
    color: #64748b;
    margin: 0;
}

#changePasswordModal .btn-close-compact {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 16px;
    padding: 4px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1;
}

    #changePasswordModal .btn-close-compact:hover {
        color: #64748b;
        background: #f1f5f9;
    }

/* Compact Body */
#changePasswordModal .compact-body {
    padding: 20px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Form Rows */
#changePasswordModal .form-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f8fafc;
    transition: all 0.2s ease;
}

    #changePasswordModal .form-row:last-child {
        border-bottom: none;
    }

    #changePasswordModal .form-row.row-complete {
        background: linear-gradient(to right, rgba(16, 185, 129, 0.03), transparent);
        padding: 12px;
        border-radius: 8px;
        margin: -12px 0;
    }

    #changePasswordModal .form-row.row-locked {
        opacity: 0.6;
    }

/* Form Label */
#changePasswordModal .form-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    color: #475569;
}

#changePasswordModal .step-badge {
    width: 22px;
    height: 22px;
    background: #e2e8f0;
    color: #64748b;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
}

#changePasswordModal .row-complete .step-badge {
    background: #10b981;
    color: white;
}

/* Form Field */
#changePasswordModal .form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Input Group */
#changePasswordModal .input-group-compact {
    position: relative;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: white;
    transition: all 0.2s ease;
}

    #changePasswordModal .input-group-compact:focus-within {
        border-color: #667eea;
        box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);
    }

    #changePasswordModal .input-group-compact.field-locked {
        background: #f8fafc;
        border-color: #e2e8f0;
        opacity: 0.7;
    }

#changePasswordModal .form-control-sm {
    border: none;
    padding: 10px 12px;
    font-size: 0.9rem;
    background: transparent;
    width: 100%;
    color: #1e293b;
    outline: none;
    height: 36px;
}

    #changePasswordModal .form-control-sm::placeholder {
        color: #94a3b8;
        font-size: 0.85rem;
    }

    #changePasswordModal .form-control-sm:disabled {
        color: #94a3b8;
        cursor: not-allowed;
    }

#changePasswordModal .btn-eye-sm {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 14px;
    padding: 4px;
    border-radius: 4px;
    cursor: pointer;
    line-height: 1;
}

    #changePasswordModal .btn-eye-sm:hover:not(:disabled) {
        color: #667eea;
        background: #f1f5f9;
    }

    #changePasswordModal .btn-eye-sm:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* Field Status */
#changePasswordModal .field-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: #64748b;
    padding-left: 4px;
    min-height: 18px;
}

    #changePasswordModal .field-status i {
        font-size: 12px;
    }

/* Action Buttons */
#changePasswordModal .action-buttons-compact {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
    margin-top: 4px;
}

#changePasswordModal .btn-compact {
    padding: 8px 20px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 500;
    min-width: 80px;
    transition: all 0.2s ease;
}

#changePasswordModal .btn-outline-secondary {
    background: white;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

    #changePasswordModal .btn-outline-secondary:hover:not(:disabled) {
        background: #f8fafc;
        color: #475569;
        border-color: #cbd5e1;
    }

#changePasswordModal .btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    min-width: 100px;
}

    #changePasswordModal .btn-primary:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
    }

#changePasswordModal .btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* Success View */
#changePasswordModal .modal-success-view {
    padding: 32px 24px;
    text-align: center;
}

#changePasswordModal .success-content-compact {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

#changePasswordModal .success-icon-compact {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    animation: scaleIn 0.3s ease-out;
}

#changePasswordModal .success-text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#changePasswordModal .success-title-sm {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1e293b;
    margin: 0;
}

#changePasswordModal .success-message-sm {
    font-size: 0.9rem;
    color: #64748b;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

#changePasswordModal .timer-badge {
    background: #667eea;
    color: white;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 0.8rem;
    font-weight: 500;
    min-width: 40px;
    display: inline-block;
    animation: pulse 1s infinite;
}

/* Progress Bar */
#changePasswordModal .progress-sm {
    width: 100%;
    height: 6px;
    background: #f1f5f9;
    border-radius: 3px;
    overflow: hidden;
    margin: 8px 0;
}

#changePasswordModal .progress-bar-sm {
    height: 100%;
    background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
    border-radius: 3px;
    animation: progressBar 5s linear forwards;
}

/* Success Actions */
#changePasswordModal .success-actions-compact {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 8px;
}

    #changePasswordModal .success-actions-compact .btn {
        padding: 8px 20px;
        border-radius: 8px;
        font-size: 0.85rem;
        font-weight: 500;
        min-width: 100px;
        transition: all 0.2s ease;
    }

#changePasswordModal .btn-success {
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    color: white;
    border: none;
}

    #changePasswordModal .btn-success:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
    }

#changePasswordModal .btn-outline-success {
    background: white;
    color: #10b981;
    border: 1px solid #10b981;
}

    #changePasswordModal .btn-outline-success:hover {
        background: #10b981;
        color: white;
    }

/* Animations */
@keyframes modalSlideUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes progressBar {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.7;
    }
}

/* Responsive */
@media (max-width: 576px) {
    #changePasswordModal .modal-dialog {
        margin: 0.5rem;
    }

    #changePasswordModal .compact-header,
    #changePasswordModal .compact-body {
        padding: 16px 20px;
    }

    #changePasswordModal .form-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #changePasswordModal .form-label {
        font-size: 0.8rem;
    }

    #changePasswordModal .action-buttons-compact,
    #changePasswordModal .success-actions-compact {
        flex-direction: column;
    }

        #changePasswordModal .btn-compact,
        #changePasswordModal .success-actions-compact .btn {
            width: 100%;
        }

    #changePasswordModal .modal-success-view {
        padding: 24px 20px;
    }
}