@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

body {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px;
}

.bg-blueT {
    background-color: #004d6f !important;
}

.breadcrumb {
    background-color: transparent !important;
}

.text-muted {
    color: #bebebe !important;
}


.breadcrumb>li+li:before {
    content: ">" !important;
}

.m25 {
    margin-left: 25px;
    margin-right: 25px;
}

.p5 {
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 10px;
}

.p0 {
    padding-left: 0px;
    padding-right: 0px;
}

.m0 {
    margin-left: 0px;
    margin-right: 0px;
}



.faicons {
    font-size: 18px;
    margin-top: 1.0em;
    margin-bottom: 0.6em;
}


.fawords {
    margin-left: 5px;
    margin-bottom: 5px;
}


#rsvn .tab-content,
#futuredate .tab-content {
    border: 1px solid;
    border-color: #fff #dee2e6 #dee2e6 #dee2e6;
}

#rsvn .nav-tabs .nav-link,
#futuredate .nav-tabs .nav-link {
    border-color: #dee2e6 #dee2e6 #dee2e6;
    margin-right: 5px;
    color: #585b5d;
}

#rsvn .nav-tabs .nav-link.active,
#futuredate .nav-tabs .nav-link.active {
    color: #000;
    border-color: #dee2e6 #dee2e6 #fff;
}

.rsvn-box {
    padding: 20px 0px 10px 20px;
}

.rsvn-icon {
    font-size: 1.9em;
}

.rsvn-setting {
    margin-left: -13px;
    margin-right: -13px;
}

.rsvn-setting-icon {
    padding-top: 10px;
    font-size: large;
}

.rsvn-box .btn {
    width: 105px;
    color: #7b818a;
    border: 3px solid #7b818a;
}

.orange {
    color: #ff8529;
}

.btn-orange {
    border-color: #ff8529 !important;
    background-color: #fff4eb;
}

.border-orange {
    border-top: 3px solid #fa6800;
}

.blue {
    color: #4aa2ff;
}

.btn-blue {
    border-color: #4aa2ff !important;
    background-color: #eaf4ff;
}

.border-blue {
    border-top: 3px solid #4aa2ff;
}

.green {
    color: #00dd00;
}

.btn-green {
    border-color: #00dd00 !important;
    background-color: #ecffec;
}

.border-green {
    border-top: 3px solid #00dd00;
}

.yellow {
    color: #fff000;
}

.btn-yellow {
    border-color: #fff000 !important;
    background-color: #fffee8;
}

.border-yellow {
    border-top: 3px solid #fff000;
}

.purple {
    color: #aa00ff;
}

.btn-purple {
    border-color: #9b0ad8 !important;
    background-color: #f7e7ff;
}

.border-purple {
    border-top: 3px solid #9b0ad8;
}

.grey {
    color: #7b818a;
}

.btn-grey {
    border-color: #7b818a !important;
}

.border-grey {
    border-top: 3px solid #7b818a;
}

.pr5 {
    padding-right: 5px;
}

.mr5 {
    margin-right: 5px;
}

.fg-black {
    font-weight: 600 !important;
}

.bg-lightSteel {
    background-color: #8d9cab !important;
}

.bg-cyan {
    background-color: #1ba1e2 !important;
}


.skill-box {
    display: block;
    position: relative;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    background-color: #ffffff;
    color: #1d1d1d;
}

.mt-4-minus {
    margin-top: -16px !important;
}

.skill-box .header {
    display: block;
    position: relative;
    padding: 20px;
}

.bd-default {
    border-color: #585b5d !important;
}

.skill-box .header .avatar {
    float: left;
    width: 64px;
    height: auto;
    border-radius: 50%;
    overflow: hidden;
}

.skill-box .header .title {
    font-size: 25px;
    line-height: 1.1;
    font-weight: 300;
    margin: 5px 5px 5px 75px;
}

.skill-box .header::after {
    display: block;
    clear: both;
    content: "";
}

/*.custom-checkbox .custom-control-label::before {
    border-radius: 0rem;
    border: 2px solid #585b5d;
    }

    .custom-control-label::before {
    width: 1.2rem;
    height: 1.2rem;
    }

    .custom-control-label::after {
    width: 1.2rem;
    height: 1.2rem;
    }

    .custom-control-input:checked ~ .custom-control-label::before {
    border-color: #585b5d;
    background-color: #585b5d;
    }
    */
.fg-grayBlue {
    color: #7b818a !important;
}

.loginw {
    font-size: 1.8rem;
}

.falogin {
    font-size: 36px;
    padding-top: 10px;
}

.faloginc {
    font-size: 14px;
}

.loginsw {
    font-size: 1.2rem;
}

.info-box {
    background-color: #ffffff;
    color: #1d1d1d;
    border: 1px solid #dfdfdf;
    max-width: calc(100vw - 100px);
    max-height: calc(100vh - 100px);
}

/*-----------ori default css------------------*/
/* @media (min-width: 1200px) {
    .container, .container2 {
    max-width: 1200px;
    }
    }
    */

.shortcut {
    margin: 5px;
}

.shortcut .icon {
    margin-top: 0rem;
}

.bt-red {
    border-top: 4px solid #CE352C;
}

.tile-small .icon {
    height: 70%;
    font-size: 25px;
}

.h-menu {
    background-color: transparent;
}

.crumbs-menu {
    text-align: center;
    list-style: none;
    display: inline-table;
}


.crumbs-menu>li {
    display: inline;
}

.crumbs-menu>li>a {
    display: block;
    float: left;
    height: 80px;
    background: #3498db;
    text-align: center;
    padding: 10px 10px 0 30px;
    position: relative;
    margin: 0 10px 0 0;
    font-size: 16px;
    text-decoration: none;
    color: #fff;
    min-width: 130px;
}

.crumbs-menu>li>a:after {
    content: "";
    border-top: 40px solid transparent;
    border-bottom: 40px solid transparent;
    border-left: 40px solid #3498db;
    position: absolute;
    right: -40px;
    top: 0;
    z-index: 1;
}

.crumbs-menu>li>a:before {
    content: "";
    border-top: 40px solid transparent;
    border-bottom: 40px solid transparent;
    border-left: 40px solid #2b2b2b;
    position: absolute;
    left: 0;
    top: 0;
}

.crumbs-menu>li:first-child>a {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    background: #fa6800;
}

.crumbs-menu>li:first-child> :after {
    border-left-color: #fa6800;
}

.crumbs-menu>li:first-child>a:before {
    display: none;
}

.crumbs-menu>li:nth-child(2)>a {
    background: #f0a30a;
}

.crumbs-menu>li:nth-child(2)>a:after {
    border-left-color: #f0a30a;
}

.crumbs-menu>li:nth-child(3)>a {
    background: #00aff0;
}

.crumbs-menu>li:nth-child(3)>a:after {
    border-left-color: #00aff0;
}

.crumbs-menu>li:nth-child(4)>a {
    background: #ff2599;
}

.crumbs-menu>li:nth-child(4)>a:after {
    border-left-color: #ff2599;
}

.crumbs-menu>li:nth-child(5)>a {
    background: #7b818a;
}

.crumbs-menu>li:nth-child(5)>a:after {
    border-left-color: #7b818a;
}

.crumbs-menu>li:nth-child(6)>a {
    background: #43505b;
}

.crumbs-menu>li:nth-child(6)>a:after {
    border-left-color: #43505b;
}


.crumbs-menu>li:last-child>a {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    background: #ce352c;
}

.crumbs-menu>li:last-child> :after {
    border-left-color: #ce352c;
}

.crumbs-menu>li:last-child>a:after {
    display: none;
}

.crumbs-menu>li>a:hover {
    background: #fa5ba5;
}

.crumbs-menu>li>a:hover:after {
    border-left-color: #fa5ba5;
}

.d-menu,
.v-menu {
    margin-top: 85px;
}

.ribbon-menu .tabs-holder a {
    font-size: 14px;
    height: 30px;
    line-height: 30px;
}

.ribbon-menu .tabs-holder .active {
    background-color: #fff;
    color: #585b5d;
    border: 0px solid transparent;
}

.ribbon-menu .tabs-holder li {
    color: #fff;
    background-color: #585b5d;
    border-left: 0px solid transparent;
    border-right: 0px solid transparent;
    border-bottom: 0px solid transparent;
}

.ribbon-menu .tabs-holder {
    height: 40px;
}

.room-caption {
    color: inherit;
    height: 1.2rem;
    margin-top: 5px;
}

.option {
    position: absolute;
    bottom: -25px;
    border-left: 1px solid grey;
    border-right: 1px solid grey;
    border-bottom: 1px solid grey;
    width: 96px;
    text-align: center;
}

a.option:hover,
a.option:active {
    background-color: #175971;
}

input[type=text],
input[type=password],
input[type=tel],
input[type=datetime-local],
input[type=email],
input[type=file],
input[type=month],
input[type=number],
input[type=search],
input[type=time],
input[type=url],
input[type=week],
input[type=file],
select,
textarea,
.file,
.input,
.textarea,
.select {
    background-color: #ffffff;
    color: #585b5d;
    border-color: #afafaf !important;
}



.breadcrumbs {
    color: #c1c1c1;
}

.breadcrumbs .page-item::before,
.breadcrumbs .page-item::after {
    background-color: #c1c1c1 !important;
}



.ma {
    margin: auto;
}

.avatar {
    width: 50px;
    height: auto;
    border-radius: 50%;
}


/*----------Side Bar-----------------*/

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background-color: #2b2b2b;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
    text-align: center;
}

.sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s;
}

.sidenav a:hover {
    color: #f1f1f1;
}

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

@media screen and (max-height: 450px) {
    .sidenav {
        padding-top: 15px;
    }

    .sidenav a {
        font-size: 18px;
    }
}

.tdci {
    border-top: 4px solid #fa6800 !important;
    border-left: 1px solid #fa6800 !important;
    border-right: 1px solid #fa6800 !important;
}

.tdcib {
    border: 1px solid #fa6800 !important;
}

.tdco {
    border-top: 4px solid #00aff0 !important;
    border-left: 1px solid #00aff0 !important;
    border-right: 1px solid #00aff0 !important;
}

.tdcob {
    border: 1px solid #00aff0 !important;
}

.tdh {
    border-top: 4px solid #60a917 !important;
    border-left: 1px solid #60a917 !important;
    border-right: 1px solid #60a917 !important;
}

.tdhb {
    border-bottom: 1px solid #60a917 !important;
}

.tdo {
    border-top: 4px solid #fff000 !important;
    border-left: 1px solid #fff000 !important;
    border-right: 1px solid #fff000 !important;
}

.tdob {
    border: 1px solid #fff000 !important;
}

.tdr {
    border-top: 4px solid #aa00ff !important;
    border-left: 1px solid #aa00ff !important;
    border-right: 1px solid #aa00ff !important;
}

.tdrb {
    border: 1px solid #aa00ff !important;
}

.bg-darkC {
    background-color: #2b2b2b !important;
    border-color: rgb(43, 43, 43) !important;
}



/* Style the tab */
.tabMenu {
    overflow: hidden;
    border: 1px solid #ccc;
    background-color: #f1f1f1;
}

/* Style the buttons inside the tab */
.tabMenu button {
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    transition: 0.3s;
    font-size: 17px;
}

.navt {
    padding: 14px 16px;
}

/* Change background color of buttons on hover */
.tabMenu button:hover {
    background-color: #ddd;
}

/* Create an active/current tablink class */
.tabMenu button.active {
    background-color: #ccc;
}

/* Style the tab content */
.tabcontent {
    display: none;
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-top: none;
}

.ginfo-box {
    width: 1100px !important;
    height: auto;
    visibility: visible;
    top: 50px;
    left: 443px;
    overflow: auto;
}

.vam {
    vertical-align: middle;
}

.breadcrumbs .page-link:hover,
.breadcrumbs .page-item a:hover,
.breadcrumbs .breadcrumb-item a:hover {
    color: #0ebef3;
}

.white {
    color: #fff !important;
}

.tabcontent {
    border: 1px solid transparent !important;
}

.none {
    display: none;
}

.mb200 {
    margin-bottom: 200px;
}

.mifsize {
    font-size: 20px;
    cursor: pointer;
}

.ftitle {
    font-size: 1.3rem;
}

.t50 {
    top: 50%;
}

.w100 {
    width: 100%;
}

.fblack {
    color: #1d1d1d;
}

.ml0 {
    margin-left: 0px !important;
}

.rsvnbox {
    margin: 20px 20px 50px 20px;
}

.fbold {
    font-weight: bold;
}



.progressbar-wrapper {
    width: 80%;
    padding-top: 10px;
    padding-bottom: 10px;
}

.progressbar li {
    list-style-type: none;
    width: 20%;
    float: left;
    font-size: 12px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    color: #7d7d7d;
}

.progressbar li:before {
    width: 60px;
    height: 60px;
    content: "";
    line-height: 60px;
    border: 2px solid #7d7d7d;
    display: block;
    text-align: center;
    margin: 0 auto 3px auto;
    border-radius: 50%;
    position: relative;
    z-index: 2;
    background-color: #fff;
    font-weight: bold;
}

.progressbar li:after {
    width: 100%;
    height: 2px;
    content: '';
    position: absolute;
    background-color: #7d7d7d;
    top: 30px;
    left: -50%;
    z-index: 0;
}

.progressbar li:first-child:after {
    content: none;
}

.progressbar li.active {
    color: #fff;
}

.progressbar li.active:before {
    border-color: #55b776;
    background: #55b776;
    color: white;
}

.progressbar li.active+li:after {
    background-color: #3f8657;
}

/*.progressbar li.active:before {
    background: #55b776 url(user.svg) no-repeat center center;
    background-size: 60%;

    }

    .progressbar li::before {
    background: #fff url(user.svg) no-repeat center center;
    background-size: 60%;
    }*/

.progressbar {
    counter-reset: step;
}

.progressbar li:before {
    content: counter(step);
    counter-increment: step;
    font-size: 16px;
    color: grey;
}

@keyframes swing {
    0% {
        transform: rotate(0deg);
    }

    10% {
        transform: rotate(10deg);
    }

    30% {
        transform: rotate(0deg);
    }

    40% {
        transform: rotate(-10deg);
    }

    50% {
        transform: rotate(0deg);
    }

    60% {
        transform: rotate(5deg);
    }

    70% {
        transform: rotate(0deg);
    }

    80% {
        transform: rotate(-5deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

@keyframes sonar {
    0% {
        transform: scale(0.9);
        opacity: 1;
    }

    100% {
        transform: scale(2);
        opacity: 0;
    }
}

.page-wrapper .sidebar-wrapper,
.sidebar-wrapper .sidebar-brand>a,
.sidebar-wrapper .sidebar-dropdown>a:after,
.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a:before,
.sidebar-wrapper ul li a i,
.page-wrapper .page-content,
.sidebar-wrapper .sidebar-search input.search-menu,
.sidebar-wrapper .sidebar-search .input-group-text,
.sidebar-wrapper .sidebar-menu ul li a,
#show-sidebar,
#close-sidebar {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/*----------------page-wrapper----------------*/

.page-wrapper {
    height: 100vh;
}

/*----------------toggeled sidebar----------------*/

.page-wrapper.toggled .sidebar-wrapper {
    left: 0px;
}

@media screen and (min-width: 768px) {
    .page-wrapper.toggled .page-content {
        padding-left: 450px;
    }
}

/*----------------show sidebar button----------------*/
#show-sidebar {
    z-index: 1040; /* Above Navbar (1030) */
    position: fixed;
    left: 0;
    top: 15px;
    border-radius: 0 4px 4px 0px;
    width: 35px;
    transition-delay: 0.3s;
}

.page-wrapper.toggled #show-sidebar {
    left: -40px;
}

#close-sidebar {
    padding: 10px;
    margin: -10px;
    cursor: pointer;
    z-index: 1060; /* Top of everything */
}

/*----------------sidebar-wrapper----------------*/

.sidebar-wrapper {
    width: 450px;
    height: 100%;
    max-height: 100%;
    position: fixed;
    top: 0;
    left: -450px;
    z-index: 1050; /* Above show-sidebar (1040) */
}

.sidebar-wrapper ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.sidebar-wrapper a {
    text-decoration: none;
}

/*----------------sidebar-content----------------*/

.sidebar-content {
    max-height: calc(100% - 30px);
    height: calc(100% - 30px);
    overflow-y: auto;
    position: relative;
}

.sidebar-content.desktop {
    overflow-y: hidden;
}

/*--------------------sidebar-brand----------------------*/

.sidebar-wrapper .sidebar-brand {
    padding: 10px 20px;
    display: flex;
    align-items: center;
}

.sidebar-wrapper .sidebar-brand>a {
    text-transform: uppercase;
    font-weight: bold;
    flex-grow: 1;
}

.sidebar-wrapper .sidebar-brand #close-sidebar {
    cursor: pointer;
    font-size: 20px;
}

/*--------------------sidebar-header----------------------*/

.sidebar-wrapper .sidebar-header {
    padding: 15px 30px;
    overflow: hidden;
}

.sidebar-wrapper .sidebar-header .user-pic {
    float: left;
    width: 60px;
    padding: 2px;
    border-radius: 12px;
    margin-right: 15px;
    overflow: hidden;
}

.sidebar-wrapper .sidebar-header .user-pic img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}



.sidebar-wrapper .sidebar-header .user-info>span {
    display: block;
}

.sidebar-wrapper .sidebar-header .user-info .user-role {
    font-size: 14px;
}

.sidebar-wrapper .sidebar-header .user-info .user-status {
    margin-top: 4px;
}

.sidebar-wrapper .sidebar-header .user-info .user-status i {
    margin-right: 4px;
    color: #5cb85c;
}

/*-----------------------sidebar-search------------------------*/

.sidebar-wrapper .sidebar-search>div {
    padding: 10px 20px;
}

/*----------------------sidebar-menu-------------------------*/

.sidebar-wrapper .sidebar-menu {
    padding-bottom: 10px;
}

.sidebar-wrapper .sidebar-menu .header-menu span {
    padding: 15px 20px 5px 20px;
    display: inline-block;
}

.sidebar-wrapper .sidebar-menu ul li a {
    display: inline-block;
    width: 100%;
    text-decoration: none;
    position: relative;
    padding: 8px 30px 8px 20px;
}

.sidebar-wrapper .sidebar-menu ul li a i {
    margin-right: 10px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 4px;
}

.sidebar-wrapper .sidebar-menu ul li a:hover>i::before {
    display: inline-block;
    animation: swing ease-in-out 0.5s 1 alternate;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown>a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
    font-style: normal;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    background: 0 0;
    position: absolute;
    right: 15px;
    top: 10px;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul {
    padding: 5px 0;
    background-color: #151a30;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li {
    padding-left: 0;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li:hover,
.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li:focus,
.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li:active {
    background-color: #101426;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu .active {
    background-color: #101426;
}

.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown .active a {
    color: #fff;
}

.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown .active a:before {
    color: #16c7ff;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a:before {
    content: "\f111";
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 400;
    font-style: normal;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 10px;
    font-size: 8px;
}

.sidebar-wrapper .sidebar-menu ul li a span.label,
.sidebar-wrapper .sidebar-menu ul li a span.badge {
    float: right;
    margin-top: 8px;
    margin-left: 5px;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a .badge,
.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a .label {
    float: right;
    margin-top: 0px;
}

.sidebar-wrapper .sidebar-menu .sidebar-submenu {
    display: none;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown.active>a:after {
    transform: rotate(90deg);
    right: 17px;
}

/*--------------------------side-footer------------------------------*/

.sidebar-footer {
    position: absolute;
    width: 100%;
    bottom: 0;
    display: flex;
}

.sidebar-footer .fa {
    font-size: 1.3rem;
}

.sidebar-footer>a {
    flex-grow: 1;
    text-align: center;
    height: 40px;
    line-height: 45px;
    position: relative;
}

.sidebar-footer>a .notification {
    position: absolute;
    top: 0;
}

.badge-sonar {
    display: inline-block;
    background: #980303;
    border-radius: 50%;
    height: 8px;
    width: 8px;
    position: absolute;
    top: 0;
}

.badge-sonar:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border: 2px solid #980303;
    opacity: 0;
    border-radius: 50%;
    width: 100%;
    height: 100%;
    animation: sonar 1.5s infinite;
}

/*--------------------------page-content-----------------------------*/


.page-wrapper .page-content {
    display: inline-block;
    width: 100%;
    flex: 1 0 auto;
    background-image: linear-gradient(to bottom, rgb(233 233 233) 0%, rgb(233 233 233) 100%), linear-gradient(to bottom, rgb(25 32 56) 0%, rgb(25 32 56) 100%);
    background-clip: content-box, padding-box;
}


.page-wrapper .page-content>div {
    padding: 10px 40px;
}

.page-wrapper .page-content .hotel-name {
    color: #fff;
    text-decoration: none;
}

.page-wrapper .page-content .hotel-name:hover {
    color: #d1d3dd;
}


/*.page-wrapper .page-content {
    overflow-x: hidden;
}*/

/*------scroll bar---------------------*/

::-webkit-scrollbar {
    width: 5px;
    height: 7px;
}

::-webkit-scrollbar-button {
    width: 0px;
    height: 0px;
}

::-webkit-scrollbar-thumb {
    background: #3a4460;
    border: 0px none #ffffff;
    border-radius: 0px;
}

::-webkit-scrollbar-thumb:hover {
    background: #7f8ba2;
}

::-webkit-scrollbar-thumb:active {
    background: #7f8ba2;
}

::-webkit-scrollbar-track {
    background: transparent;
    border: 0px none #ffffff;
    border-radius: 50px;
}

::-webkit-scrollbar-track:hover {
    background: transparent;
}

::-webkit-scrollbar-track:active {
    background: transparent;
}

::-webkit-scrollbar-corner {
    background: transparent;
}


/*-----------------------------chiller-theme-------------------------------------------------*/

.chiller-theme .sidebar-wrapper {
    background: #101426;
}

.chiller-theme .sidebar-wrapper .sidebar-header,
.chiller-theme .sidebar-wrapper .sidebar-search,
.chiller-theme .sidebar-wrapper .sidebar-menu {
    border-top: 1px solid #222b45;
}

.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu,
.chiller-theme .sidebar-wrapper .sidebar-search .input-group-text {
    border-color: transparent;
    box-shadow: none;
}

.chiller-theme .sidebar-wrapper .sidebar-header .user-info .user-role,
.chiller-theme .sidebar-wrapper .sidebar-header .user-info .user-status,
.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu,
.chiller-theme .sidebar-wrapper .sidebar-search .input-group-text,
.chiller-theme .sidebar-wrapper .sidebar-brand>a,
.chiller-theme .sidebar-wrapper .sidebar-menu ul li a,
.chiller-theme .sidebar-footer>a {
    color: #8a96ae;
}

.chiller-theme .sidebar-wrapper .sidebar-menu>ul>li>a:hover,
.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li>a:hover,
.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active>a,
.chiller-theme .sidebar-wrapper .sidebar-header .user-info,
.chiller-theme .sidebar-wrapper .sidebar-brand>a:hover,
.chiller-theme .sidebar-footer>a:hover i {
    color: #fefefe;
}

.page-wrapper.chiller-theme.toggled #close-sidebar {
    color: #bdbdbd;
}

.page-wrapper.chiller-theme.toggled #close-sidebar:hover {
    color: #ffffff;
}

.chiller-theme .sidebar-wrapper .sidebar-menu>ul>li>a:hover i,
.chiller-theme .sidebar-wrapper .sidebar-dropdown .sidebar-submenu li a:hover:before,
.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu:focus+span,
.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active>a i {
    color: #16c7ff;
    text-shadow: 0px 0px 10px rgba(22, 199, 255, 0.5);
}

/*.chiller-theme .sidebar-wrapper .sidebar-menu ul li a i,
.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown div,
.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu,
.chiller-theme .sidebar-wrapper .sidebar-search .input-group-text {
    background: #2b2b2b;
}
*/
.chiller-theme .sidebar-wrapper .sidebar-menu .header-menu span {
    font-weight: 500;
    color: #8a96ae;
}

.chiller-theme .sidebar-footer {
    background: #222b45;
}

.chiller-theme .sidebar-footer>a:first-child {
    border-left: none;
}

.chiller-theme .sidebar-footer>a:last-child {
    border-right: none;
}

.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown ul li a {
    padding: 10px 30px 10px 45px;
}

.footer {
    margin-top: -2px;
    text-align: center;
    color: #8f949a;
}

.bg-main {
    background-color: #e9e9e9;
}

.nav-link i.fa {
    padding: 0.3em;
    margin-right: 0.5rem;
}

.actionbtn-group .btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.actionbtn-group .btn:nth-child(n) {
    margin: 0;
}


.main-theme a {
    text-decoration: none;
    color: white;
}

.main-theme .title {
    padding-left: .5rem;
    padding-bottom: .5rem;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.main-theme .fa {
    font-size: 2.3em;
    margin-top: 1.1em;
    margin-bottom: 0.8em;
}

.colour:hover,
.colour:focus {
    opacity: 0.90;
}


.general-theme .colour-1 {
    background-color: #6a00ff;
}

.general-theme .colour-2 {
    background-color: #1ba1e2;
}

.general-theme .colour-3 {
    background-color: #fa6800;
}

.general-theme .colour-4 {
    background-color: #86e22a;
}

.room-theme .colour-1 {
    background-color: #3d7eff;
}

.room-theme .colour-2 {
    background-color: #f0a30a;
}

.room-theme .colour-3 {
    background-color: #ff2599;
}

.room-theme .colour-4 {
    background-color: #00aba9;
}

.mngm-theme .colour-1 {
    background-color: #ff2599;
}

.mngm-theme .colour-2 {
    background-color: #1ba1e2;
}

.mngm-theme .colour-3 {
    background-color: #60a917;
}

.mngm-theme .colour-4 {
    background-color: #fa6800;
}

.data-theme .colour-1 {
    background-color: #f0a30a;
}

.data-theme .colour-2 {
    background-color: #aeacf9;
}

.data-theme .colour-3 {
    background-color: #aa00ff;
}

.data-theme .colour-4 {
    background-color: #6a00ff;
}

.btn .fa {
    margin-right: .30rem;
}


.btn-warning {
    color: #ffffff !important;
}

.icon-circle {
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-l {
    width: 200px;
}

.btn-lh {
    width: 150px;
}

.ml-6 {
    margin-left: 4rem !important;
}

.text-blue {
    color: #003a6b !important;
}

.text-blue .fa {
    color: rgba(0, 58, 155, 0.7) !important;
}

.bg-darkblue {
    background-color: #0766b8;
}

.configuration-view-switch .btn {
    min-width: 88px;
    min-height: 38px;
    font-weight: 600;
}

.config-action-bar {
    border-radius: 0.75rem 0.75rem 0 0;
}

.config-action-bar,
.navbar.bg-darkblue {
    background-color: #0766b8;
    box-shadow: 0 8px 22px rgba(10, 35, 66, 0.16);
}

.config-action-bar .navbar-nav,
.navbar.bg-darkblue .navbar-nav {
    gap: 0.15rem;
}

.config-action-bar .nav-link,
.navbar.bg-darkblue .nav-link {
    border-radius: 0.45rem;
    color: #f8fbff;
    font-weight: 500;
    padding: 0.55rem 0.7rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-height: 42px;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.config-action-bar .nav-link i,
.navbar.bg-darkblue .nav-link i {
    width: 1rem;
    text-align: center;
}

.config-action-bar .nav-link:hover,
.config-action-bar .nav-link:focus,
.navbar.bg-darkblue .nav-link:hover,
.navbar.bg-darkblue .nav-link:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.16);
    text-decoration: none;
    box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.22);
}

.config-action-bar .nav-link.active,
.navbar.bg-darkblue .nav-link.active {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.24);
}

.config-action-bar .btn-link.nav-link {
    border: 0;
    cursor: pointer;
    text-align: left;
}

.navbar.bg-darkblue .btn-link.nav-link {
    border: 0;
    cursor: pointer;
    text-align: left;
}

.config-action-bar .config-nav-title {
    font-weight: 700;
    cursor: default;
    opacity: 0.98;
}

.config-action-bar .config-nav-title:hover,
.config-action-bar .config-nav-title:focus {
    background: transparent;
    color: #f8fbff;
}

@media (max-width: 767.98px) {
    .config-action-bar .navbar-nav {
        width: 100%;
    }

    .navbar.bg-darkblue .navbar-nav {
        width: 100%;
    }

    .config-action-bar .nav-link,
    .config-action-bar .btn-link.nav-link,
    .navbar.bg-darkblue .nav-link,
    .navbar.bg-darkblue .btn-link.nav-link {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {

    .config-action-bar .nav-link,
    .navbar.bg-darkblue .nav-link {
        transition: none !important;
    }
}

.bg-lightblue {
    background-color: #f7f7f7;
}

.bg-lightblue .navbar-nav .nav-link {
    color: #2a9df4;
}


#rsvnTab .nav-link {
    color: rgba(7, 102, 184, 0.3);
}

#rsvnTab .nav-link:hover {
    color: #0766b8;
}

#rsvnTab .nav-link.active {
    color: #0766b8;
}

#rsvnTab .nav-link .btn-circle {
    color: #ffffff;
    background-color: rgba(7, 102, 184, 0.3);
}

#rsvnTab .nav-link:hover .btn-circle {
    background-color: #0766b8;
}

#rsvnTab .nav-link.active .btn-circle {
    color: #fff;
    background-color: #0766b8;
}

#topTab .nav-link {
    padding: 0.55rem 0.7rem;
    border-right: 0 !important;
    font-size: 1.0em;
}

#topTab .nav-link:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

#topTab .nav-link.active {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.24);
}


.navbar-line {
    box-shadow: 0 9px 0px 0px white, 0 -9px 0px 0px white, 12px 0 15px -4px rgba(0, 0, 0, .15), -12px 0 15px -4px rgba(0, 0, 0, .15);
}


.btn-circle {
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    padding: 0;
    border-radius: 50%;
    font-size: 0.8rem;
}

.btn-circle i {
    position: relative;
    top: -1px;
}

.btn-circle-sm {
    width: 25px;
    height: 25px;
    line-height: 22px;
}

.btn-circle-lg {
    width: 55px;
    height: 55px;
    line-height: 55px;
    font-size: 1.1rem;
    font-size: 1.1rem;
}

.btn-circle-xl {
    width: 70px;
    height: 70px;
    line-height: 70px;
    font-size: 1.3rem;
}


.mycheckbox {
    margin-top: 5px;
    margin-left: 5px;
    width: 20px;
    height: 20px;
}

.form-check-input {
    -ms-transform: scale(1.5);
    /* IE */
    -moz-transform: scale(1.5);
    /* FF */
    -webkit-transform: scale(1.5);
    /* Safari and Chrome */
    -o-transform: scale(1.5);
    /* Opera */
}

input[type=checkbox],
input[type=radio] {
    -ms-transform: scale(1.5);
    /* IE */
    -moz-transform: scale(1.5);
    /* FF */
    -webkit-transform: scale(1.5);
    /* Safari and Chrome */
    -o-transform: scale(1.5);
    /* Opera */
}


/* ========== Login Form ========== */

#login-form form {
    padding: 2em;
}

#login-form {
    color: #677d9a;
}

#login-form a {
    color: #677d9a;
    text-decoration: none;
}

#login-form a:hover {
    color: #4b5e77;
}

#login-form .modal-footer a {
    color: #fff;
}

#login-form input {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.04)) !important;
    border-radius: 50rem !important;
    border: none;
    padding: .5em 1.5em .5em;
    outline: none;
    transition: all 0.3s ease;
    color: #f2f2f2;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(255, 255, 255, 0.05);
}

#login-form input:hover,
#login-form input:focus {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.06)) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 2px rgba(22, 199, 255, 0.2), 0 4px 8px rgba(22, 199, 255, 0.1);
}

#login-form .form-group input {
    margin-top: 1.2em;
}

#login-form .input-group input {
    border-radius: 50rem 0 0 50rem !important;
}

#login-form .input-group-prepend .input-group-text {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.04)) !important;
    border-radius: 0 50rem 50rem 0 !important;
    border: none;
    color: #f2f2f2;
    transition: all 0.3s ease;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(255, 255, 255, 0.05);
}

#login-form .input-group:hover .input-group-text,
#login-form .input-group-prepend .input-group-text:focus-within {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.06)) !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 0 2px rgba(22, 199, 255, 0.2), 0 4px 8px rgba(22, 199, 255, 0.1);
}

/* Make sure the input box and icon area are visually consistent */
#login-form .input-group {
    border-radius: 50rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

#login-form .input-group:hover,
#login-form .input-group:focus-within {
    box-shadow: 0 0 0 2px rgba(22, 199, 255, 0.2), 0 4px 8px rgba(22, 199, 255, 0.1);
}



.btn.btn-pill {
    border-radius: 2rem;
}


.pl-15,
.px-15 {
    padding-left: 3.75rem !important;
}

.pr-15,
.px-15 {
    padding-right: 3.75rem !important;
}

#login-form .propname {
    font-size: 1.3rem;
    line-height: 1.3;
    color: #c3cae4;
}

#login-form .color-agreement {
    color: #c3cae4;
}

#login-form .propname p {
    padding-top: 10px;
    font-size: 0.9rem;
}

#login-form input:focus {
    border: 0px !important;
}

#login-form select.customDropdown {
    background-color: rgba(255, 255, 255, .05) !important;
    border-radius: 50rem !important;
    border: 0px solid transparent;
    padding: .5em 1.5em .5em;
    margin-top: 2.0em;
    font-size: larger;
    color: #fff;
}

#login-form select.customDropdown option {
    color: #1d2646;
}


#login-form select.customDropdown:focus {
    border-bottom: 0px;
    box-shadow: none;
}


#login-form .btn-login {
    width: 168.42px;
    height: 42px;
    color: #fff;
    background-color: #007bff;
    border: none;
    border-radius: 50rem;
    /* Restore rounded shape */
    font-size: 1rem;
    line-height: 1.5;
    transition: all 0.2s ease-in-out;
    /* Enhanced 3D effect */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

#login-form .btn-login:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    border-radius: 50rem 50rem 0 0;
}

#login-form .btn-login:hover {
    color: #fff;
    background-color: #0069d9;
    transform: translateY(-2px);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

#login-form .btn-login:active {
    background-color: #0062cc;
    transform: translateY(1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1) inset;
}

#login-form .btn-login:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5), 0 4px 6px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

#login-form .captcha-input {
    padding: .5em 3.0em .5em;
}

#login-form input,
#login-form .btn-login {
    transition: all 0.3s ease;
}

#login-form input:focus {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(22, 199, 255, 0.1), inset 0 1px 3px rgba(0, 0, 0, 0.2);
}

#login-form .btn-login {
    position: relative;
    overflow: hidden;
}

#login-form .btn-login:before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.3) 0%, transparent 70%);
    transform: scale(0);
    transition: transform 0.6s, opacity 0.6s;
    opacity: 0;
}

#login-form .btn-login:hover:before {
    transform: scale(1);
    opacity: 1;
}

#login-form .btn-login:active {
    transform: scale(0.98);
}

#login-form .color-agreement {
    position: relative;
    text-decoration: none;
}

#login-form .color-agreement:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -2px;
    left: 0;
    background-color: currentColor;
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

#login-form .color-agreement:hover:after {
    transform: scaleX(1);
}

#forgot-password {
    transition: color 0.3s ease;
}

#forgot-password:hover {
    color: #16c7ff;
}

/* Input error shaking animation */
@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translateX(-10px);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translateX(10px);
    }
}

.shake {
    animation: shake 0.6s cubic-bezier(.36, .07, .19, .97) both;
}

/* Login button loading animation */
@keyframes spinner {
    to {
        transform: rotate(360deg);
    }
}

.loading::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 4px solid transparent;
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spinner 0.6s linear infinite;
}

/* Mobile device optimization */
@media (max-width: 768px) {
    #login-form {
        padding: 1em;
    }

    #login-form input,
    #login-form .btn-login {
        font-size: 16px;
        /* Prevent iOS from zooming */
    }

    #login-form .btn-login {
        width: 100%;
        margin-top: 1em;
    }

    .img-wrap-box {
        max-width: 180px;
        height: auto;
    }

    .img-wrap-box img {
        max-width: 100%;
        height: auto;
    }
}

/* Enhanced Logo Section */
.img-wrap-box {
    max-height: 90px;
    max-width: 226px;
    width: 226px;
    height: 90px;
    text-align: center;
    perspective: 1000px;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    overflow: hidden;
    /* Prevent animation overflow */
}

.img-wrap-box img {
    margin: 0 auto;
    max-height: 90px;
    max-width: 226px;
    animation: enhancedFadeIn 2.5s ease-out;
    transition: transform 0.3s ease-in-out;
}

@keyframes enhancedFadeIn {
    0% {
        opacity: 0;
        transform: scale(0.8) translateY(20px);
    }

    40% {
        opacity: 0.4;
        transform: scale(0.9) translateY(10px);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.img-wrap-box:hover {
    transform: rotateY(10deg);
}

.img-wrap-box:hover img {
    transform: scale(1.05);
}

/* If logo is an SVG, add color transition effect */
.img-wrap-box svg path {
    transition: fill 0.5s ease;
}

.img-wrap-box:hover svg path {
    fill: #23a6d5;
    /* Change this to whatever color you want */
}


.footerLogin {
    position: absolute;
    bottom: 0;
    width: 100%;
    color: #677d9a;
    text-align: center;
}

.footerLogin .homelink {
    text-decoration: none;
    color: #677d9a;
}

/* Limit the width of the property code input group text */
/* Target the specific input group in the login form */
#login-form .input-group {
    display: flex;
    align-items: stretch;
}

/* Style for the input field in the login form */
#login-form .input-group input[name="Input.UserName"] {
    flex: 1;
    min-width: 0;
    /* Allow input to shrink if necessary */
    border-radius: 50rem 0 0 50rem !important;
}

/* Style for the property code container in the login form */
#login-form .input-group-prepend.prop-behind {
    display: flex;
    max-width: 50%;
}

/* Style for the property code text */
#Input\.PropertyCode {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 0 50rem 50rem 0 !important;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}


.plain-select {
    vertical-align: middle;
    position: relative;
}

.plain-select select {
    -webkit-appearance: none;
    -moz-appearance: none;
}

.plain-select:after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: -3px;
    border-top: 6px solid #3087c1;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
}

.card.shadow {
    border-radius: 7px;
    box-shadow: 0px 0px 30px 0px rgba(82, 63, 105, 0.05) !important;
    border: 0;
}

.card .dropdown-item {
    padding-top: 5px;
    padding-bottom: 5px;
}

.card .dropdown-item .fa {
    padding-right: 10px;
    color: #b8b8b8;
}

.card .dropdown-menu.show {
    top: 5px !important;
}

.menu-divider {
    height: 0;
    overflow: hidden;
    border-top: 1px solid #262e44;
}

.menu-title {
    font-size: 1.2rem;
    line-height: 1.2;
}

.menu-title .fa {
    vertical-align: middle;
    color: #a7a7a7;
    padding: 0px 5px;
}

.menu-b {
    font-weight: 500;
}

.back-to-top {
    position: fixed;
    bottom: 65px;
    right: 25px;
    display: none;
}

.container-fluid {
    height: 100%;
}

.text-cc {
    color: #007bff;
    font-weight: 500;
}

.text-dd {
    color: #ff0018;
    font-weight: 500;
}

.font-weight-semibold {
    font-weight: 600;
}

.min-vh-25 {
    min-height: 250px;
}


[data-status="O"] {
    background-color: #e5e5e5;
}

.rsvn-box .rsvn-icon:nth-child(1) {
    margin-right: 4px;
}


.error-title {
    font-size: 3rem !important;
    font-weight: 600;
}

.error-desc {
    font-size: 2.0rem;
    font-weight: 300;
}

.error-desc-2 {
    font-size: 1.1rem;
}

.text-info {
    color: #509dfc !important;
}


.form-group.required label:after {
    content: "*";
    color: red;
    display: inline;
    font-weight: bold;
}

.table th {
    padding: .50rem !important;
    vertical-align: middle;
}

.table td {
    padding: .35rem !important;
    vertical-align: middle;
}


.navbar {
    padding: 0rem !important;
}

.nav-link i.fa:hover,
.nav-link i.fa:active,
.nav-link i.fa:focus {
    color: #0766b8;
}

.breadcrumb {
    padding: 0rem !important;
}

.breadcrumb-item+.breadcrumb-item::before {
    padding-right: .3rem !important;
}

/* Dark template */
.bg-darkT {
    background-color: #192038 !important;
}

.home {
    background-image: linear-gradient(to bottom, rgb(25 32 56) 0%, rgb(25 32 56) 100%), linear-gradient(to bottom, rgb(25 32 56) 0%, rgb(25 32 56) 100%) !important;
    color: #fff;
}

.expbg {
    background-color: #293556;
}

.expbg .fa {
    transform: scale(2.1, 2.1);
    color: #8f9bb3;
    height: 100%;
    display: inline-flex;
    align-items: center;
}

.expbg .title {
    color: white;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.more {
    background-color: #293556;
    padding: 8px 0px;
    font-size: 0.8em;
    color: rgba(255, 255, 255, 0.8);
}

.more a {
    text-decoration: none;
    color: #fff;
}

.more a:hover {
    color: #a7a6a6;
}

.btn-dark {
    background-color: #222b45;
    border-color: #222b45;
}

/* Dark template */

.tableFixHead {
    overflow-y: auto;
    height: 350px;
}

.tableFixHead thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.tableFixHead::-webkit-scrollbar {
    width: 10px !important;
}

.swal2-content {
    padding: 0.5em !important;
}

.swal2-html-container .pop {
    text-align: left;
}

.swal2-html-container .pop-header {
    padding: 0 0 0.8rem;
    font-weight: 600;
    font-size: 1.2rem;
    border-bottom: 1px solid #ddd;
}

.swal2-html-container .pop-body {
    padding: 1rem 0rem;
    color: #3F4254;
}

.pop-body .col-lg-8::before {
    content: ":";
    padding-right: 5px;
}

.swal2-close {
    top: 10px !important;
    right: 15px !important;
}

.swal2-close:focus {
    box-shadow: none !important;
}

.all-report a {
    color: #333;
    font-weight: 600;
    font-size: 1.1em;
}

.all-report a:hover {
    color: #0766b8;
}

.tab-title {
    padding: 10px 25px;
    color: #fff;
    font-size: 1.1em;
}

.home-night-audit-date {
    font-size: 1.3em;
}

#navbarSupportedContent {
    padding: 8px 40px 3px 40px;
    color: #fff;
}

#navbarSupportedContent i {
    padding-top: 5px;
}

.card {
    border: none;
}

/* Full Screen */
.panel {
    background-color: #fff;
}

.fullscreen {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: auto;
}

#fullscreen .fas {
    font-size: 1.5em;
    color: #fff;
}

.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: .25rem;
}

.form-input-word {
    padding-top: .375rem;
    font-size: 1rem;
    color: #585b5d;
}

.prop-behind .input-group-text {
    background-color: rgba(255, 255, 255, .05) !important;
    border-radius: 0 50rem 50rem 0 !important;
    border: 0px solid transparent;
    transition: all .5s ease;
    color: #fff;
}

.training-button {
    margin: 5px 5px 10px 10px;
    font-weight: 500;
    line-height: 1.2;
    font-size: 1.00rem;
}

.bgdarkL {
    background-color: #111a3c;
}

.bgdarkT {
    background-color: #192038;
}


.popover {
    max-width: 100%;
    width: 400px;
    background-color: rgba(0, 0, 0, .95);
}

.popover-header {
    background-color: rgba(0, 0, 0, 0);
    color: #fff;
    border-bottom: 1px solid #8a8a8a;
}

.popover-body {
    color: #fff;
}

.bs-popover-auto[x-placement^=right]>.arrow::after,
.bs-popover-right>.arrow::after {
    border-right-color: #000 !important;
}

.bs-popover-auto[x-placement^=left]>.arrow::after,
.bs-popover-left>.arrow::after {
    border-left-color: #000 !important;
}

.def-cursor {
    cursor: default;
}

@media (max-width: 1366px) {

    .bigdrop-rt {
        width: 600px !important;
    }
}

@media (min-width: 1367px) {

    .bigdrop-rt {
        width: 700px !important;
    }
}

@media (min-width: 1400px) {
    .modal-xl {
        max-width: 1320px;
    }
}

@media (min-width: 1600px) {
    .modal-xl {
        max-width: 1520px;
    }
}

@media (min-width: 1900px) {
    .modal-xl {
        max-width: 1820px;
    }
}

.notice-w {
    min-width: 450px;
    color: #495057;
}

.notice-scroll {
    max-height: 250px;
    overflow-y: scroll;
}

.notice-scroll a {
    text-decoration: none;
}

.notice-title {
    color: #636363;
    padding-right: 10px;
}

.notice-date {
    font-size: 0.8em;
    color: #858585;
    padding-bottom: 5px;
}

.notice-content {
    font-size: 0.8em;
    color: #858585;
    white-space: pre-line;
}

.notice-all .notice-title {
    font-size: 1.1em;
    color: #636363;
    font-weight: 500;
}

.notice-all .notice-date {
    font-size: 14px;
    color: #666;
    padding-top: 3px;
    padding-bottom: 3px;
    padding-bottom: 2px;
}

.notice-all .notice-content {
    font-size: 1em;
    color: #666;
}

.notice-heading {
    font-size: 14px;
    font-weight: 500;
    color: #696969;
    padding: 5px 0px 10px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, .125);
}

.notice-list-group-item {
    font-size: 14px;
    padding: .50rem 1.25rem;
    border-bottom: 1px solid rgba(0, 0, 0, .125);
}

.notice-all .notice-list-group-item {
    font-size: 14px;
    padding: .50rem;
    border-bottom: 1px solid rgba(0, 0, 0, .125);
}

.notice-list-group-item-action:hover {
    background-color: #e9ecef;
}

.notice-bottom {
    font-size: 14px;
    padding: 8px 0px 3px 0px;
    border-top: 1px solid rgba(0, 0, 0, .125);
    text-align: center;
}

.notice-empty {
    font-size: 14px;
    padding: 10px 20px;
    color: #858585;
}

.notice-list-group {
    display: flex;
    flex-direction: column;
}

.active .notice-title,
.active .notice-content,
.active .notice-date {
    font-weight: 600;
    color: #565656;
}

.new-notice-button {
    padding: .2rem .4rem;
    border-radius: .2rem;
    color: #fff;
    font-size: 0.7em;
    background-color: #8bc641;
    margin-right: 5px;
    float: right !important;
}

.critical-notice-button {
    padding: .2rem .4rem;
    border-radius: .2rem;
    color: #fff;
    font-size: 0.7em;
    background-color: #dc3545;
    margin-right: 5px;
    float: right !important;
}

.notice-all .active .notice-title,
.notice-all .active .notice-content,
.notice-all .active .notice-date {
    font-weight: 600;
    color: #404040;
}

.notice-all a {
    text-decoration: none;
}


.notice-swal .swal2-styled:focus {
    box-shadow: none;
}

.notice-swal .fa {
    font-size: 2.7em;
    color: #2898f9;
    padding-bottom: 15px;
}

.notice-swal .title {
    color: #000;
    padding-bottom: 5px;
}

.notice-swal .content {
    font-size: 0.8em;
    text-align: left;
    color: #6d6d6d;
    white-space: pre-line;
}

.notice-swal .swal2-styled.swal2-confirm {
    margin: 0.25em auto 0;
    font-size: 14px;
}

.notice-message-col {
    text-align: left;
    white-space: pre-line;
    padding-left: 10px;
}

.notice-message-col:first-line {
    line-height: 0;
}

.notice ::-webkit-scrollbar {
    width: 10px;
}

.notice ::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
}

/*.notice ::-webkit-scrollbar-thumb {
    border-radius: 5px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}*/

.notice ::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: #898989;
}

.notice-show-icon {
    cursor: pointer;
    float: right;
    position: relative;
    margin-bottom: -25px;
    padding-right: 15px;
    font-size: 13px;
    color: #898989;
}

.circle-icon-red {
    background: #fb6160;
    padding: 35px 0px;
    border-radius: 50%;
    color: #fff;
    width: 100%;
    text-align: center;
    font-size: 4.2rem;
}

.access-denied {
    background-color: #fff;
    border-radius: .25rem;
    padding: 60px;
    margin-top: 3%;
}

.access-denied .title {
    font-size: 2.5em;
    padding-bottom: 10px;
}

.access-denied .content {
    font-size: 1.1em;
    color: #808080;
}

.pCircle {
    display: inline-block;
    line-height: 0px;
    border-radius: 50%;
    font-size: 1.28em;
    font-weight: 600;
    background-color: #ff8529;
}

.pCircle span {
    display: inline-block;
    padding-top: 50%;
    padding-bottom: 50%;
    margin-left: 9px;
    margin-right: 8px;
    font-size: 26px;
    color: #ffffffd4;
}

.table-checkout .table-responsive {
    height: 65vh;
    overflow: scroll;
}

#RoomTable input[type="checkbox"]:disabled:before {
    display: inline-block;
    padding: 0.04em 0.2em;
    color: #edeceb;
    background: #adadad;
    border-radius: 2px;
    position: absolute;
    width: 13px;
    height: 13px;
    font-size: 9px;
}

#RoomTable input[type="checkbox"]:disabled:checked:before {
    content: "\f00c";
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 900;
    cursor: not-allowed;
}

/* smartphones, iPhone, portrait 480px phones */

@media only screen and (max-width: 480px) {
    .sidebar-wrapper {
        width: 100%;
    }

    .home-night-audit-date {
        text-align: left;
        font-size: 1.0em;
    }

    .op-toolbar-group.ml-auto {
        margin-left: 0 !important;
    }

    .op-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* landscape mobile / small tablets */
@media screen and (min-width: 481px) and (max-width: 767px) {
    .sidebar-wrapper {
        width: 260px;
        left: -260px;
    }

    .page-wrapper.toggled .sidebar-wrapper {
        left: 0px;
    }

    .page-wrapper.toggled .page-content {
        padding-left: 0px;
    }
}

.bg-low {
    background-color: #f0f0f0;
}

.bg-normal {
    background-color: #ffffff;
}

.bg-weekend {
    background-color: #cee7ff;
}

.bg-shoulder {
    background-color: #fff1d4;
}

.bg-peak {
    background-color: #fed7b0;
}

.bg-superpeak {
    background-color: #fcb47a;
}

.table-holiday {
    font-size: 0.7rem;
}

#select2row:hover {
    background-color: #5897fb !important;
}

#select2row:hover div {
    background-color: transparent;
}

.select2-results__option[aria-selected=true] #select2row {
    background-color: #ddd;
    color: #000;
}

.select2-results__option[aria-selected=true] #select2row div {
    background-color: transparent;
}

.select2-results__option .select2-results__option--highlighted #select2row {
    background-color: #5897fb;
    color: #fff;
}

.select2-results__option .select2-results__option--highlighted #select2row div {
    background-color: transparent;
}

.locked-out {
    text-align: center;
}

.locked-out h2 {
    color: #c3cae4;
}

.locked-out .fa-user-lock {
    font-size: 2.3rem;
    color: #c3cae4;
    padding: 0.5rem 0rem 1.5rem 0rem;
}

.locked-out .content {
    font-size: 1.0rem;
    padding-bottom: 2rem;
}

.fa-left-input {
    position: absolute;
    width: 3.5rem;
    display: block;
    height: 2.4rem;
    line-height: 2.4rem;
    text-align: center;
    pointer-events: none;
    color: #c3cae4;
    font-size: 18px;
}

#login-form .captcha-input {
    padding: .5em 3.0em .5em;
}

.split-folio {
    margin-top: 1rem !important;
}

.split-folio .title {
    padding-bottom: 5px;
    font-size: 1.0em;
    font-weight: 500;
}

.split-folio .content {
    padding: 10px;
}

.split-folio .table {
    margin-bottom: 0px;
}

.split-folio .actionbtn-group {
    margin-left: .5rem !important;
}

.split-folio .title-other {
    padding: 10px;
    font-size: 1.0em;
    font-weight: 500;
}

.table-reservation {
    font-size: 0.8rem;
    margin-bottom: 0rem;
}

.table-outline {
    border: 1px solid #777;
    margin-top: 1.5rem;
}

.table-reservation-detail {
    font-size: 0.8rem;
    border: 1px solid #ddd;
    margin-bottom: 0rem;
}

.table-reservation-detail .title {
    background-color: #ddd;
    font-weight: bold;
}

.table-reservation-detail .info {
    border-bottom: 1px solid #ddd;
    background-color: #f9f9f9;
}

.table-reservation-detail tr td:first-child {
    width: 20%;
    vertical-align: top !important;
}

.table-reservation-detail tr td:nth-child(2) {
    width: 20%;
    vertical-align: top !important;
}

.table-reservation-detail tr td:nth-child(3) {
    width: 20%;
    vertical-align: top !important;
}

.table-reservation-detail tr td:nth-child(4) {
    width: 10%;
    vertical-align: top !important;
}

.table-reservation-detail tr td:nth-child(5) {
    width: 10%;
    vertical-align: top !important;
}

.table-reservation-detail tr td:nth-child(6) {
    width: 10%;
    vertical-align: top !important;
}

.table-reservation-detail tr td:nth-child(7) {
    width: 10%;
    vertical-align: top !important;
}

.col-expect {
    width: 20%;
}

.button {
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    font-size: 0.9rem;
    color: #fff;
    background-color: #9d9d9d;
    border-color: #9d9d9d;
}

.button-prev {
    border-radius: 30px 0 0 30px;
    position: absolute;
    right: 114px;
    top: 9px;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.button.dx-state-focused {
    background-color: #6c757d !important;
}

.button-next {
    border-radius: 0 30px 30px 0;
}

.button-prev:hover,
.button-next:hover {
    background-color: #6c757d;
    border-color: #6c757d;
}

.alert-trans {
    margin: 5px 180px 0 0;
}

.twof {
    padding: 0em !important;
}

.twof input[type=checkbox] {
    margin-right: 8px;
}

/** AwesomeFont 5.15.1 was installed when I try to debug, and the font content changed, current version running on server is 5.13.4 */

.fa-hand-sparkles:before {
    content: "\f95d" !important;
}

.fa-house-user:before {
    content: "\f965" !important;
}

/* Enhanced Main Page Styles */

.main-theme .colour {
    transition: all 0.3s ease;
}

.main-theme .colour:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.main-theme .colour .fa {
    transition: all 0.3s ease;
}

.main-theme .colour:hover .fa {
    transform: scale(1.1);
}

/* Enhanced Navbar Styles */

#navbarSupportedContent {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#navbarSupportedContent .nav-link {
    position: relative;
    overflow: hidden;
}

#navbarSupportedContent .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #16c7ff;
    transform: scaleX(0);
    transition: transform 0.3s ease;
    transform-origin: right;
}

#navbarSupportedContent .nav-link:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

#userDropdown::after {
    transition: transform 0.3s ease;
}

#userDropdown:hover::after {
    transform: rotate(180deg);
}

/* Enhanced Sidebar Styles */

.sidebar-wrapper {
    transition: left 0.3s ease;
}

.sidebar-wrapper .sidebar-menu ul li a {
    transition: all 0.2s ease;
}

.sidebar-wrapper .sidebar-menu ul li a:hover {
    padding-left: 25px;
    background-color: rgba(255, 255, 255, 0.05);
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown>a:after {
    transition: transform 0.3s ease;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown.active>a:after {
    transform: rotate(90deg);
}

/* Enhanced Mobile Styles */

@media (max-width: 768px) {
    .main-theme .colour {
        margin-bottom: 15px;
    }

    .expbg {
        margin-bottom: 10px;
    }

    #navbarSupportedContent {
        padding: 8px 20px 3px 20px;
    }

    .home-night-audit-date {
        font-size: 1.1em;
    }
}

.csv-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.csv-table th,
.csv-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.csv-table th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.csv-table tr:nth-child(even) {
    background-color: #f9f9f9;
}

.csv-table tr:hover {
    background-color: #f1f1f1;
}

.json-output {
    white-space: pre-wrap;
    word-wrap: break-word;
    background-color: #f4f4f4;
    padding: 10px;
    border: 1px solid #ddd;
}

#auditTrailModal .modal-body {
    overflow-x: auto;
}

@media (max-width: 576px) {
    #auditTrailModal .modal-dialog {
        margin: 0;
        max-width: 100%;
        height: 100%;
    }

    #auditTrailModal .modal-content {
        height: 100%;
        border-radius: 0;
    }
}

/* Soft Toast Styling */
.soft-toast-popup {
    border-radius: 15px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important;
    padding: 10px 15px !important;
    width: auto !important;
    font-size: 0.85rem !important;
}

.soft-toast-popup .swal2-title {
    font-size: 1rem !important;
}

.soft-toast-popup .swal2-html-container {
    font-size: 0.85rem !important;
}

/* Ensure DevExtreme toasts appear above modal backdrops */
.dx-toast-wrapper,
.dx-toast,
.dx-overlay-wrapper.dx-toast,
.dx-overlay-wrapper.dx-toast .dx-overlay-content {
    z-index: 20000 !important;
}

/* Tablet Compatibility (Landscape & Portrait) */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    /* Layout Adjustments */
    .page-wrapper .page-content>div {
        padding: 10px 20px;
        /* Reduce side padding */
    }

    /* Override fixed widths */
    .ginfo-box {
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        position: relative !important;
        top: 0 !important;
        height: auto !important;
    }

    .info-box {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Modal Responsiveness */
    .modal-dialog {
        max-width: 95%;
        margin: 1.75rem auto;
    }

    .modal-lg,
    .modal-xl {
        max-width: 95%;
    }

    /* Grid/Table Optimizations */
    .table-responsive {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Reservation Box */
    .rsvn-box {
        padding: 10px;
    }

    .rsvn-box .btn {
        width: auto;
        min-width: 80px;
        padding: 5px 10px;
        font-size: 0.85rem;
    }

    /* Form Inputs */
    .form-control {
        font-size: 1rem;
        /* Prevent zoom on iOS */
    }

    /* Header Adjustments */
    h1,
    .h1 {
        font-size: 2rem;
    }

    h2,
    .h2 {
        font-size: 1.75rem;
    }

    h3,
    .h3 {
        font-size: 1.5rem;
    }

    /* Sidebar Toggling Logic Override (Visual) */
    .page-wrapper.toggled .sidebar-wrapper {
        left: 0px;
    }

    .page-wrapper .sidebar-wrapper {
        width: 260px;
        left: -260px;
        /* Force hide by default on tablet until toggled */
    }

    .page-wrapper.toggled .page-content {
        padding-left: 0px;
        /* Overlay mode for tablet */
    }

    /* Ensure page content takes full width */
    .page-wrapper .page-content {
        padding-left: 0px;
    }

    /* Navigation Bar */
    .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    /* Calendar and Tabs */
    .nav-tabs .nav-link {
        padding: 0.5rem 0.5rem;
        font-size: 0.9rem;
    }

    /* Adjust buttons in grids */
    .btn-sm {
        padding: 0.25rem 0.5rem;
        font-size: 0.875rem;
    }
}

/*
 * ABS Hotel Cloud v4 tokens
 * Contract: variables only. No component selectors.
 */

:root {
    /* Locked brand/system colors */
    --abs-blue-dark: #004d6f;
    --abs-blue-main: #0d6efd;
    --abs-orange: #fa6800;
    --abs-green: #60a917;
    --abs-yellow: #fff000;
    --abs-purple: #aa00ff;
    --abs-red: #ce352c;
    --abs-dark: #2b2b2b;

    /* Core text */
    --text-main: #585b5d;
    --text-light: #bebebe;

    /* Locked status backgrounds */
    --status-housekeeping: #aa00ff;
    --status-checkedin: #fa6800;
    --status-checkedout: #00aff0;
    --status-available: #ffffff;

    /* Fixed readable foregrounds */
    --on-status-housekeeping: #ffffff;
    --on-status-checkedin: #2b2b2b;
    --on-status-checkedout: #2b2b2b;
    --on-status-available: #2b2b2b;

    /* Optional separation borders while preserving backgrounds */
    --status-border-housekeeping: rgba(255, 255, 255, 0.2);
    --status-border-checkedin: rgba(43, 43, 43, 0.24);
    --status-border-checkedout: rgba(43, 43, 43, 0.24);
    --status-border-available: rgba(43, 43, 43, 0.18);

    /* Typography */
    --font-family-base: 'Poppins', sans-serif;
    --font-size-sm: 14px;
    --font-size-base: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 20px;
    --font-size-xxl: 24px;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --line-height-tight: 1.2;
    --line-height-normal: 1.5;

    /* 4px grid */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-6: 24px;

    /* Shape */
    --radius-sm: 4px;
    --radius-md: 8px;

    /* Elevation */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);

    /* Motion */
    --duration-fast: 150ms;
    --duration-normal: 200ms;
}
/*
 * ABS Hotel Cloud v4 UI overrides
 * Contract: scoped selectors only under body[data-ui="v4"].
 */

body[data-ui="v4"] {
    font-family: var(--font-family-base);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}

body[data-ui="v4"] .ui-widget,
body[data-ui="v4"] .ui-widget input,
body[data-ui="v4"] .ui-widget select,
body[data-ui="v4"] .ui-widget textarea,
body[data-ui="v4"] .ui-widget button {
    font-family: var(--font-family-base) !important;
    font-size: 14px;
}

body[data-ui="v4"] .ui-datepicker {
    font-size: 14px;
}

/* Normalize third-party widget typography for v4 pages. */
body[data-ui="v4"] .dx-theme-generic-typography,
body[data-ui="v4"] .dx-theme-generic-typography input,
body[data-ui="v4"] .dx-theme-generic-typography textarea,
body[data-ui="v4"] .dx-field,
body[data-ui="v4"] .dx-field input,
body[data-ui="v4"] .dx-field textarea,
body[data-ui="v4"] .dx-datagrid-column-chooser,
body[data-ui="v4"] .dx-treelist-column-chooser,
body[data-ui="v4"] .select2-container,
body[data-ui="v4"] .select2-dropdown,
body[data-ui="v4"] .select2-dropdown .select2-search__field,
body[data-ui="v4"] .select2-dropdown .select2-results__group,
body[data-ui="v4"] .select2-dropdown .select2-results__option {
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-sm);
}

/* ==========================================================================
   v4 App Frame (Global Header, Sidebar, Footer)
   ========================================================================== */

/* Keep original dark app frame on top nav and sidebar */
body[data-ui="v4"] .sidebar-wrapper,
body[data-ui="v4"] .page-content>nav.navbar {
    background-color: #192038 !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
}

/* Make Dashboard top nav bar background match the body, with a separator line */
body[data-ui="v4"].is-dashboard-page .page-content>nav.navbar {
    background-color: transparent !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: none !important;
}

body[data-ui="v4"].is-dashboard-page footer.footer,
body[data-ui="v4"].is-dashboard-page footer.footer a,
body[data-ui="v4"].is-dashboard-page footer.footer .home-night-audit-date {
    color: rgba(255, 255, 255, 0.82) !important;
}

body[data-ui="v4"] .sidebar-wrapper .sidebar-menu ul li a {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}


body[data-ui="v4"] [data-v4-surface="dashboard"] a[data-toggle="tooltip"] {
    display: block;
}

body[data-ui="v4"] [data-v4-surface="dashboard"] .text-decoration-none:focus-visible {
    outline: 2px solid var(--abs-blue-main);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}
/* Native <select> bottom-clip fix for forms where Bootstrap's fixed .form-control
   height clips the bottom border/chevron. Allow auto height while preserving
   form-control parity. Scoped to known affected wrappers. */
#time-div select.form-control,
#checkoutForm select.form-control,
.op-payment-modal select.form-control {
    height: auto;
    min-height: calc(1.5em + 0.75rem + 2px);
    line-height: 1.5;
}

/* Check-In Form Modernization (Single-Page Retained) */
.op-checkin-wrapper .form-group {
    margin-bottom: 0.85rem;
}
.op-checkin-wrapper .border-right {
    border-color: var(--border-color, #e2e8f0) !important;
}
.op-checkin-wrapper h6 {
    margin-bottom: 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
    color: var(--text-primary, #0f172a);
    font-weight: 600;
}
body.dark-mode .op-checkin-wrapper h6 {
    color: var(--text-primary, #f8fafc);
    border-color: var(--border-color, #334155);
}
.op-checkin-wrapper input, .op-checkin-wrapper select {
    transition: all 0.2s ease;
}
.op-checkin-wrapper input:focus, .op-checkin-wrapper select:focus {
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
    border-color: #3b82f6;
}

/* Premium Outline Primary Refinement */
/* Premium Outline Button Variations */
.btn-outline-primary {
    color: #3a78c9;
    border: 1px solid #3a78c9 !important;
    background-color: transparent;
    transition: all 0.2s ease-in-out;
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: #3a78c9;
    border-color: #3a78c9 !important;
    box-shadow: 0 2px 6px rgba(58, 120, 201, 0.25);
}

.btn-outline-secondary {
    color: #64748b;
    border: 1px solid #cbd5e1 !important;
    background-color: transparent;
}

.btn-outline-secondary:hover {
    color: #1e293b;
    background-color: #f1f5f9;
    border-color: #94a3b8 !important;
}

.btn-outline-success {
    color: #16a34a;
    border: 1px solid #16a34a !important;
    background-color: transparent;
}

.btn-outline-success:hover {
    color: #ffffff;
    background-color: #16a34a;
    border-color: #16a34a !important;
}

.btn-outline-danger {
    color: #dc2626;
    border: 1px solid #dc2626 !important;
    background-color: transparent;
}

.btn-outline-danger:hover {
    color: #ffffff;
    background-color: #dc2626;
    border-color: #dc2626 !important;
}

.btn-outline-info {
    color: #0891b2;
    border: 1px solid #0891b2 !important;
    background-color: transparent;
}

.btn-outline-info:hover {
    color: #ffffff;
    background-color: #0891b2;
    border-color: #0891b2 !important;
}

.btn-outline-primary:active, 
.btn-outline-primary.active {
    background-color: #2e61a3;
    border-color: #2e61a3 !important;
}

/* Refined Button Sizing & Consistency */
.op-checkin-wrapper .form-control {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    height: auto;
    min-height: 36px;
}

/* Ensure small icon buttons (pencil/calendar) are perfectly centered */
.op-checkin-wrapper .btn-sm.btn-secondary,
.op-checkin-wrapper .btn-sm {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    width: 32px;
    height: 32px;
    line-height: 1;
}

.op-checkin-wrapper .btn-sm i {
    margin: 0 !important;
    font-size: 0.875rem;
}

/* Force action buttons to be exactly the same height regardless of solid/outline */
.op-actions-panel .form-group {
    margin-bottom: 0.625rem !important;
}

.op-actions-panel .btn,
.op-actions-panel .form-group .btn,
.op-checkin-wrapper .op-actions-panel .btn {
    padding: 0 0.75rem !important; /* Centered via flex + height */
    font-size: 13px !important;
    height: 38px !important;
    line-height: normal !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
    margin-bottom: 0;
    font-weight: 500;
}

.op-checkin-wrapper .SaveBtnDiv .btn {
    padding: 0.5rem 1rem;
    font-weight: 600;
}

/* Enhanced Disabled State for Side Panel Actions */
.op-actions-panel .btn.disabled,
.op-actions-panel .btn[disabled] {
    opacity: 0.5 !important;
    background-color: #f1f5f9 !important;
    color: #94a3b8 !important;
    border-color: #e2e8f0 !important;
    cursor: not-allowed !important;
    pointer-events: none;
    box-shadow: none !important;
}

/*
 * ABS Hotel Cloud v4 - Operational Page Specific Styles
 * Scope: body[data-ui="v4"].is-operational-page
 */

/* =====================================================================
   0. App Frame: Keep Original Operational Footer Surface
   ===================================================================== */
body[data-ui="v4"].is-operational-page footer.footer {
    background-color: #e9e9e9 !important;
}

body[data-ui="v4"].is-operational-page footer.footer,
body[data-ui="v4"].is-operational-page footer.footer a,
body[data-ui="v4"].is-operational-page footer.footer .home-night-audit-date {
    color: #8f949a !important;
}

/* =====================================================================
   1. The Canvas: Backgrounds & Surfaces
   ===================================================================== */
body[data-ui="v4"].is-operational-page .page-content {
    background-color: #e9e9e9 !important;
}

body[data-ui="v4"].is-operational-page .card,
body[data-ui="v4"].is-operational-page .panel {
    background-color: #ffffff !important;
    border: 1px solid #d7dde6;
    box-shadow: none !important;
    border-radius: 0;
    transition: none;
}

body[data-ui="v4"].is-operational-page .card:hover,
body[data-ui="v4"].is-operational-page .panel:hover {
    box-shadow: none !important;
}

body[data-ui="v4"].is-operational-page .modal-content {
    background-color: #ffffff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #d7dde6;
    border-radius: 0;
    overflow: hidden;
}

/* =====================================================================
   2. Typography & Sizing
   ===================================================================== */
body[data-ui="v4"].is-operational-page {
    font-size: 14px;
    color: #334155;
}

body[data-ui="v4"].is-operational-page h1,
body[data-ui="v4"].is-operational-page h2,
body[data-ui="v4"].is-operational-page h3,
body[data-ui="v4"].is-operational-page h4,
body[data-ui="v4"].is-operational-page h5,
body[data-ui="v4"].is-operational-page h6,
body[data-ui="v4"].is-operational-page .modal-title {
    color: #1e293b;
    font-weight: 600;
}

body[data-ui="v4"].is-operational-page .navbar .hotel-name h5 {
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .form-group>label {
    display: block;
    font-size: 14px;
    color: #64748b;
    margin-bottom: 4px;
    font-weight: 500;
}

/* =====================================================================
   3. DevExpress Grids & Tables (Modernized)
   ===================================================================== */
body[data-ui="v4"].is-operational-page .dx-datagrid {
    border-radius: 0;
    overflow: hidden;
    border: 1px solid #d7dde6 !important;
    /* Soft outer border */
}

/* Clean up native borders applied by DevExtreme */
body[data-ui="v4"].is-operational-page .dx-datagrid-borders>.dx-datagrid-headers,
body[data-ui="v4"].is-operational-page .dx-datagrid-borders>.dx-datagrid-filter-panel {
    border-top: none;
}

body[data-ui="v4"].is-operational-page .dx-datagrid-borders>.dx-datagrid-headers {
    border-bottom-width: 0;
}

/* Header Modernization */
body[data-ui="v4"].is-operational-page .dx-datagrid-headers .dx-datagrid-table .dx-row>td {
    padding: 14px 16px;
    font-weight: 600;
    color: #0f172a;
    /* Darker text for hierarchy */
    background-color: #f8fafc !important;
    /* Soft slate background */
    border-bottom: 2px solid #e2e8f0 !important;
    /* Distinct separator line */
    border-left: none !important;
    /* Remove vertical lines */
    border-right: none !important;
    /* Remove vertical lines */
    letter-spacing: 0.01em;
    font-size: 13px;
    vertical-align: middle;
}

/* Row Modernization */
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row>td {
    padding: 16px 16px;
    /* Increased padding so data breathes */
    border-top: none;
    border-bottom: 1px solid #f1f5f9 !important;
    /* Gentle horizontal rule */
    border-left: none !important;
    /* Remove vertical lines */
    border-right: none !important;
    /* Remove vertical lines */
    color: #334155;
    vertical-align: middle;
}

/* Soft Hover State */
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row:hover>td {
    background-color: #f0f9ff !important;
    /* Soft blue highlight */
    color: #0f172a;
    transition: background-color var(--duration-fast) ease;
}

/* Selected State */
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-selection.dx-row>td {
    background-color: #e0f2fe !important;
    color: #0c4a6e;
}

/* Keep command icons visible on soft hover/focus/selection backgrounds. */
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-focused>td,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-selection.dx-row>td,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row:hover>td {
    color: #0f172a;
}

body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-focused .dx-command-edit .dx-link,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-selection.dx-row .dx-command-edit .dx-link,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row:hover .dx-command-edit .dx-link,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-focused td .dx-link.dx-link-icon,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-selection.dx-row td .dx-link.dx-link-icon,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row:hover td .dx-link.dx-link-icon {
    color: #2563eb !important;
}

body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-focused .dx-command-edit .dx-link .dx-icon,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-selection.dx-row .dx-command-edit .dx-link .dx-icon,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row:hover .dx-command-edit .dx-link .dx-icon,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-focused .dx-command-edit .dx-link .fa,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-selection.dx-row .dx-command-edit .dx-link .fa,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row:hover .dx-command-edit .dx-link .fa,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-focused .dx-command-edit .dx-link .fas,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-selection.dx-row .dx-command-edit .dx-link .fas,
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row.dx-data-row:hover .dx-command-edit .dx-link .fas {
    color: #2563eb !important;
}

/* Alternating Row Adjustment */
body[data-ui="v4"].is-operational-page .dx-datagrid-rowsview .dx-row-alt>td {
    background-color: #fafbfc;
}

/* Filter Row Cleanup */
body[data-ui="v4"].is-operational-page .dx-datagrid-filter-row>td {
    padding: 8px 16px;
    background-color: #ffffff;
    border-bottom: 1px solid #e2e8f0 !important;
}

/* Pager Modernization */
body[data-ui="v4"].is-operational-page .dx-datagrid-pager {
    border-top: 1px solid #e2e8f0;
    padding: 16px;
    background-color: #ffffff;
}

/* Edit Form Popup Modernization */
body[data-ui="v4"].is-operational-page .dx-overlay-content.dx-popup-normal.dx-popup-draggable .dx-popup-title {
    background-color: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 16px 24px;
}

body[data-ui="v4"].is-operational-page .dx-overlay-content.dx-popup-normal.dx-popup-draggable .dx-popup-title .dx-toolbar-label {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
}

body[data-ui="v4"].is-operational-page .dx-overlay-content.dx-popup-normal.dx-popup-draggable .dx-popup-content {
    padding: 24px;
}

body[data-ui="v4"].is-operational-page .dx-overlay-content.dx-popup-normal.dx-popup-draggable .dx-popup-bottom {
    background-color: #f8fafc;
    border-top: 1px solid #e2e8f0;
    padding: 16px 24px;
}

/* DevExpress Form Internals */
body[data-ui="v4"].is-operational-page .dx-form .dx-field-item-label {
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
    margin-bottom: 4px;
}

body[data-ui="v4"].is-operational-page .dx-form .dx-field-item-content {
    margin-bottom: 12px;
}

body[data-ui="v4"].is-operational-page .dx-cell-numeric,
body[data-ui="v4"].is-operational-page .text-tabular {
    font-variant-numeric: tabular-nums;
}

/* =====================================================================
   4. Interaction Design: Forms & Modals
   ===================================================================== */
body[data-ui="v4"].is-operational-page .form-control {
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: var(--radius-sm);
    color: #334155;
    font-size: 14px;
    padding: 8px 12px;
    transition: border-color var(--duration-fast) ease, outline var(--duration-fast) ease;
}

body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .form-control,
body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .input-group-text,
body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .multiWrapper .select2-container--default .select2-selection--single,
body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .multiWrapper .select2-container--default .select2-selection--multiple {
    background-color: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
    color: #64748b !important;
}

body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .form-control::placeholder {
    color: #94a3b8 !important;
}

body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .multiWrapper .select2-container--default .select2-selection--single .select2-selection__rendered,
body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .multiWrapper .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body[data-ui="v4"].is-operational-page #myForm.form-readonly-mode .multiWrapper .select2-container--default .select2-selection--single .select2-selection__arrow b {
    color: #64748b !important;
}

body[data-ui="v4"].is-operational-page .form-control:focus,
body[data-ui="v4"].is-operational-page input:focus-visible,
body[data-ui="v4"].is-operational-page select:focus-visible,
body[data-ui="v4"].is-operational-page textarea:focus-visible,
body[data-ui="v4"].is-operational-page .dx-texteditor-input:focus-visible,
body[data-ui="v4"].is-operational-page .btn:focus-visible,
body[data-ui="v4"].is-operational-page a:focus-visible {
    border-color: var(--abs-blue-main);
    outline: 2px solid var(--abs-blue-main) !important;
    outline-offset: 2px;
    box-shadow: none !important;
}

body[data-ui="v4"].is-operational-page select.form-control {
    border-radius: var(--radius-sm);
}

/* Windows Chrome can clip selected text in small selects when custom padding exceeds control height.
   Normalize modal selects so option labels stay fully visible. */
body[data-ui="v4"].is-operational-page #myPaymentForm select.form-control:not(.form-control-sm),
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm select.form-control:not(.form-control-sm),
body[data-ui="v4"].is-operational-page #myChargesForm select.form-control,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm select.form-control:not(.form-control-sm),
body[data-ui="v4"].is-operational-page #modalReportDialog select.form-control {
    min-height: 38px;
    height: calc(2.25rem + 2px);
    line-height: 1.5;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    padding-right: 2rem;
    background-position: right 0.75rem center;
}

body[data-ui="v4"].is-operational-page #myPaymentForm select.form-control.form-control-sm,
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm select.form-control.form-control-sm,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm select.form-control.form-control-sm {
    min-height: calc(1.8125rem + 2px);
    height: calc(1.8125rem + 2px);
    line-height: 1.5;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-right: 1.75rem;
    background-position: right 0.5rem center;
}

/* Keep folio input groups aligned with neighboring inputs. */
body[data-ui="v4"].is-operational-page #myPaymentForm .input-group,
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm .input-group,
body[data-ui="v4"].is-operational-page #myChargesForm .input-group,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm .input-group {
    align-items: stretch;
}

body[data-ui="v4"].is-operational-page #myPaymentForm .input-group-prepend,
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm .input-group-prepend,
body[data-ui="v4"].is-operational-page #myChargesForm .input-group-prepend,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm .input-group-prepend {
    display: flex;
}

body[data-ui="v4"].is-operational-page #myChargesForm .input-group>.form-control,
body[data-ui="v4"].is-operational-page #myChargesForm .input-group-prepend .input-group-text,
body[data-ui="v4"].is-operational-page #myPaymentForm .input-group:not(.input-group-sm)>.form-control,
body[data-ui="v4"].is-operational-page #myPaymentForm .input-group:not(.input-group-sm) .input-group-prepend .input-group-text,
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm .input-group:not(.input-group-sm)>.form-control,
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm .input-group:not(.input-group-sm) .input-group-prepend .input-group-text,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm .input-group:not(.input-group-sm)>.form-control,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm .input-group:not(.input-group-sm) .input-group-prepend .input-group-text {
    display: flex;
    align-items: center;
    min-height: calc(2.25rem + 2px);
    height: calc(2.25rem + 2px);
    padding: 0.375rem 0.75rem;
    font-size: 14px;
    line-height: 1.5;
    white-space: nowrap;
}

body[data-ui="v4"].is-operational-page #myPaymentForm .input-group.input-group-sm>.form-control,
body[data-ui="v4"].is-operational-page #myPaymentForm .input-group.input-group-sm .input-group-prepend .input-group-text,
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm .input-group.input-group-sm>.form-control,
body[data-ui="v4"].is-operational-page #myCheckInPaymentModalForm .input-group.input-group-sm .input-group-prepend .input-group-text,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm .input-group.input-group-sm>.form-control,
body[data-ui="v4"].is-operational-page #mySplitFolioPaymentForm .input-group.input-group-sm .input-group-prepend .input-group-text {
    min-height: calc(1.8125rem + 2px);
    height: calc(1.8125rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

body[data-ui="v4"].is-operational-page .input-group>.form-control:first-child {
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

body[data-ui="v4"].is-operational-page .input-group>.form-control:last-child,
body[data-ui="v4"].is-operational-page .input-group>.input-group-append>.btn {
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

body[data-ui="v4"].is-operational-page .modal-header {
    padding: var(--space-4);
    border-bottom: 1px solid #f0f0f0;
}

body[data-ui="v4"].is-operational-page .modal-body {
    padding: var(--space-4);
}

body[data-ui="v4"].is-operational-page .modal-footer {
    padding: var(--space-3) var(--space-4);
    border-top: 1px solid #f0f0f0;
}

/* =====================================================================
   5. Visual Hierarchy: Buttons & Actions
   ===================================================================== */
body[data-ui="v4"].is-operational-page .btn {
    border-radius: var(--radius-sm);
    font-weight: 500;
    transition: background-color var(--duration-fast) ease, color var(--duration-fast) ease, border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;
}

body[data-ui="v4"].is-operational-page .btn:active {
    transform: none;
}

body[data-ui="v4"].is-operational-page .btn .fa:not(:last-child),
body[data-ui="v4"].is-operational-page .btn .fas:not(:last-child),
body[data-ui="v4"].is-operational-page .btn .far:not(:last-child),
body[data-ui="v4"].is-operational-page .btn .fal:not(:last-child),
body[data-ui="v4"].is-operational-page .btn .fab:not(:last-child) {
    margin-right: var(--space-1);
}

body[data-ui="v4"].is-operational-page .btn .fa:not(:first-child),
body[data-ui="v4"].is-operational-page .btn .fas:not(:first-child),
body[data-ui="v4"].is-operational-page .btn .far:not(:first-child),
body[data-ui="v4"].is-operational-page .btn .fal:not(:first-child),
body[data-ui="v4"].is-operational-page .btn .fab:not(:first-child) {
    margin-left: var(--space-1);
}

body[data-ui="v4"].is-operational-page .btn-sm {
    border-radius: var(--radius-sm);
    font-size: 13px;
}

body[data-ui="v4"].is-operational-page .btn-primary {
    background-color: var(--abs-blue-main);
    color: #ffffff;
    border: none;
}

body[data-ui="v4"].is-operational-page .btn-secondary,
body[data-ui="v4"].is-operational-page .btn-default {
    background-color: #f1f5f9;
    color: #334155;
    border: 1px solid #e2e8f0;
}

body[data-ui="v4"].is-operational-page .btn-danger {
    background-color: #ef4444;
    color: #ffffff;
    border: none;
}

/* =====================================================================
   6. Status Indicators (Badges/Pills)
   ===================================================================== */
body[data-ui="v4"].is-operational-page [class*="v4-status-"] {
    border: none !important;
    padding: 2px 10px;
    border-radius: 9999px;
    font-weight: 500;
    font-size: 12px;
    display: inline-block;
}

body[data-ui="v4"].is-operational-page .v4-status-housekeeping {
    background-color: #e0f2fe;
    color: #0369a1;
}

body[data-ui="v4"].is-operational-page .v4-status-checkedin {
    background-color: #dbeafe;
    color: #1e40af;
}

body[data-ui="v4"].is-operational-page .v4-status-checkedout {
    background-color: #f1f5f9;
    color: #475569;
}

body[data-ui="v4"].is-operational-page .v4-status-available {
    background-color: #dcfce7;
    color: #166534;
}

/* =====================================================================
   7. Reservation Calendar & Room Racks Specifics
   ===================================================================== */
body[data-ui="v4"].is-operational-page .table-room-rack-calendar .table thead th {
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.01em;
    border-bottom: 2px solid #e2e8f0;
    color: #1e293b;
}

body[data-ui="v4"].is-operational-page .table-room-rack-calendar .table tbody td {
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
    vertical-align: middle;
    font-size: 13px;
    border-bottom: 1px solid #f1f5f9;
}

body[data-ui="v4"].is-operational-page .table-room-rack-calendar td:first-child,
body[data-ui="v4"].is-operational-page .table-room-rack-calendar th:first-child,
body[data-ui="v4"].is-operational-page .table-room-rack-calendar td:nth-child(2),
body[data-ui="v4"].is-operational-page .table-room-rack-calendar th:nth-child(2) {
    border-right: 2px solid #e2e8f0;
}

body[data-ui="v4"].is-operational-page .table-room-rack-calendar .th-date-header {
    font-weight: 500;
    font-size: 13px;
}

body[data-ui="v4"].is-operational-page .table-room-rack-calendar .task-header {
    font-weight: 600;
    font-size: 13px;
}

body[data-ui="v4"].is-operational-page .context-menu {
    border-radius: var(--radius-md);
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    padding: var(--space-2) 0;
    overflow: hidden;
    background-color: #ffffff;
}

body[data-ui="v4"].is-operational-page .context-menu__link {
    padding: var(--space-2) var(--space-4);
    font-size: 13px;
    transition: background-color var(--duration-fast) ease, color var(--duration-fast) ease;
    border-radius: 0;
    color: #334155;
}

body[data-ui="v4"].is-operational-page .context-menu__link:hover {
    background-color: #f1f5f9;
    color: var(--abs-blue-main);
}

body[data-ui="v4"].is-operational-page .popover {
    border-radius: var(--radius-md);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid #e2e8f0;
    font-size: 13px;
    background-color: #ffffff;
    color: #334155;
    max-width: 400px;
}

/* Status-specific Popover Borders & Top Accents */
body[data-ui="v4"].is-operational-page .popover.popover-status-r { border-color: #aa00ff !important; border-top-width: 4px !important; }
body[data-ui="v4"].is-operational-page .popover.popover-status-c { border-color: #ff8529 !important; border-top-width: 4px !important; }
body[data-ui="v4"].is-operational-page .popover.popover-status-d { border-color: #4aa2ff !important; border-top-width: 4px !important; }
body[data-ui="v4"].is-operational-page .popover.popover-status-u { border-color: #00dd00 !important; border-top-width: 4px !important; }
body[data-ui="v4"].is-operational-page .popover.popover-status-o { border-color: #4b5563 !important; border-top-width: 4px !important; }
body[data-ui="v4"].is-operational-page .popover.popover-status-available { border-top-width: 1px; }

body[data-ui="v4"].is-operational-page .popover-header {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    font-weight: 600;
    font-size: 14px;
    padding: var(--space-3) var(--space-4);
    background-color: #f8fafc;
    color: #0f172a;
    border-bottom: 1px solid #e2e8f0;
}

body[data-ui="v4"].is-operational-page .popover-body {
    padding: var(--space-3) var(--space-4);
    color: inherit;
}

/* Arrow Overrides for Light Theme */
body[data-ui="v4"].is-operational-page .bs-popover-top>.arrow::after,
body[data-ui="v4"].is-operational-page .bs-popover-auto[x-placement^=top]>.arrow::after {
    border-top-color: #ffffff !important;
}

body[data-ui="v4"].is-operational-page .bs-popover-bottom>.arrow::after,
body[data-ui="v4"].is-operational-page .bs-popover-auto[x-placement^=bottom]>.arrow::after {
    border-bottom-color: #ffffff !important;
}

body[data-ui="v4"].is-operational-page .bs-popover-left>.arrow::after,
body[data-ui="v4"].is-operational-page .bs-popover-auto[x-placement^=left]>.arrow::after {
    border-left-color: #ffffff !important;
}

body[data-ui="v4"].is-operational-page .bs-popover-right>.arrow::after,
body[data-ui="v4"].is-operational-page .bs-popover-auto[x-placement^=right]>.arrow::after {
    border-right-color: #ffffff !important;
}

/* Specific Arrow Borders to match status borders */
body[data-ui="v4"].is-operational-page .popover.popover-status-r .arrow::before { border-color: transparent transparent transparent #aa00ff; }
body[data-ui="v4"].is-operational-page .popover.popover-status-c .arrow::before { border-color: transparent transparent transparent #ff8529; }
body[data-ui="v4"].is-operational-page .popover.popover-status-d .arrow::before { border-color: transparent transparent transparent #4aa2ff; }
body[data-ui="v4"].is-operational-page .popover.popover-status-u .arrow::before { border-color: transparent transparent transparent #00dd00; }
body[data-ui="v4"].is-operational-page .popover.popover-status-o .arrow::before { border-color: transparent transparent transparent #4b5563; }

/* Override arrow placement border colors to match status border */
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-top .arrow::before,
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-auto[x-placement^=top] .arrow::before { border-top-color: inherit !important; }
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-bottom .arrow::before,
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-auto[x-placement^=bottom] .arrow::before { border-bottom-color: inherit !important; }
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-left .arrow::before,
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-auto[x-placement^=left] .arrow::before { border-left-color: inherit !important; }
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-right .arrow::before,
body[data-ui="v4"].is-operational-page .popover[class*="popover-status-"]:not(.popover-status-available).bs-popover-auto[x-placement^=right] .arrow::before { border-right-color: inherit !important; }

body[data-ui="v4"].is-operational-page .popover-body .row {
    padding-top: var(--space-1);
    padding-bottom: var(--space-1);
}

body[data-ui="v4"].is-operational-page .popover-body .row+.row {
    border-top: 1px solid #f0f0f0;
}

body[data-ui="v4"].is-operational-page .breadcrumb {
    padding: var(--space-2) 0;
    margin-bottom: var(--space-3);
    font-size: 13px;
    background-color: transparent;
}

body[data-ui="v4"].is-operational-page .breadcrumb-item {
    font-weight: 400;
    color: #64748b;
}

body[data-ui="v4"].is-operational-page .breadcrumb-item.active {
    font-weight: 500;
    color: #1e293b;
}

/* Nav tabs */
body[data-ui="v4"].is-operational-page .nav-tabs {
    border-bottom: 2px solid #e2e8f0;
}

body[data-ui="v4"].is-operational-page .filter-toolbar .nav-tabs {
    border-bottom: none;
}

body[data-ui="v4"].is-operational-page .nav-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: var(--space-2) var(--space-4);
    font-weight: 500;
    font-size: 14px;
    color: #64748b;
    transition: color var(--duration-fast) ease, border-color var(--duration-fast) ease;
}

body[data-ui="v4"].is-operational-page .nav-tabs .nav-link:hover {
    color: #334155;
    border-bottom-color: #cbd5e1;
}

body[data-ui="v4"].is-operational-page .nav-tabs .nav-link.active {
    color: var(--abs-blue-main);
    border-bottom-color: var(--abs-blue-main);
    font-weight: 600;
    background-color: transparent;
}

body[data-ui="v4"].is-operational-page #rsvn .nav-tabs,
body[data-ui="v4"].is-operational-page #futuredate .nav-tabs {
    border-bottom: 2px solid #e2e8f0;
}

body[data-ui="v4"].is-operational-page #rsvn .nav-tabs .nav-link,
body[data-ui="v4"].is-operational-page #futuredate .nav-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    margin-right: 0;
    color: #64748b;
}

body[data-ui="v4"].is-operational-page #rsvn .nav-tabs .nav-link:hover,
body[data-ui="v4"].is-operational-page #futuredate .nav-tabs .nav-link:hover {
    color: #334155;
    border-bottom-color: #cbd5e1;
}

body[data-ui="v4"].is-operational-page .filter-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 0px;
    border-bottom: 1px solid #e2e8f0;
}

body[data-ui="v4"].is-operational-page .filter-toolbar .nav-tabs {
    border-bottom: none;
    margin-bottom: -1px;
}

body[data-ui="v4"].is-operational-page .filter-toolbar .btn-group {
    margin-bottom: 5px;
}

body[data-ui="v4"].is-operational-page #rsvn .nav-tabs .nav-link.active,
body[data-ui="v4"].is-operational-page #futuredate .nav-tabs .nav-link.active {
    color: var(--abs-blue-main);
    border-bottom-color: var(--abs-blue-main);
    background-color: rgba(0, 175, 240, 0.05);
    /* very light blue tint */
    font-weight: 600;
    border-bottom-width: 3px;
}

/* =====================================================================
   8. High-Frequency Workflow Consistency
   ===================================================================== */

/* Shared top navigation rhythm for front-desk workflows */
body[data-ui="v4"].is-operational-page #topTab {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

body[data-ui="v4"].is-operational-page #topTab .nav-item {
    flex: 0 0 auto;
}

body[data-ui="v4"].is-operational-page #topTab .nav-link {
    min-height: 44px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    padding: 10px 12px;
    color: #ffffff;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

body[data-ui="v4"].is-operational-page #topTab .nav-link:hover,
body[data-ui="v4"].is-operational-page #topTab .nav-link:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0.45);
}

body[data-ui="v4"].is-operational-page #topTab .nav-link.active {
    color: #ffffff;
    background: #4f8fd2;
    box-shadow: inset 0 -3px 0 rgba(255, 255, 255, 0.9);
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav {
    box-shadow: 0 6px 16px rgba(10, 35, 66, 0.14);
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab {
    gap: 0;
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link {
    position: relative;
    min-height: 52px;
    padding: 12px 16px;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-item:last-child .nav-link {
    border-right: 0;
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 3px;
    border-radius: 999px;
    background-color: transparent;
    opacity: 0;
    transition: background-color var(--duration-fast) ease, opacity var(--duration-fast) ease;
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link:hover,
body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link:focus {
    background: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link:hover::after,
body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link:focus::after {
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.4);
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link.active {
    background: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

body[data-ui="v4"].is-operational-page .frontdesk-top-nav #topTab .nav-link.active::after {
    opacity: 1;
    background-color: #ffffff;
}

/* Check-In page form density and hierarchy */
body[data-ui="v4"].is-operational-page #myForm h6 {
    font-size: 16px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 10px;
}

body[data-ui="v4"].is-operational-page #myForm .form-group {
    margin-bottom: 10px;
}

/* Preserve legacy operation muscle-memory in right action rails. */
body[data-ui="v4"].is-operational-page .op-actions-panel .btn {
    display: block;
    width: 100%;
    min-height: 34px;
    padding: 7px 8px;
    font-size: 13px;
    font-weight: 500;
    line-height: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: var(--radius-sm);
    transition: all 0.2s ease;
    cursor: pointer;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    filter: brightness(110%);
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn:active {
    transform: translateY(0);
}

/* Hierarchy: Primary actions are slightly larger and bolder */
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-primary,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-danger,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-success {
    padding-top: 9px;
    font-size: 13px;
    font-weight: 600;
}

/* Secondary/Utility buttons remain compact */
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-secondary,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-default {
    min-height: 34px !important;
    font-size: 11.5px;
}

/* Compact spacing for side actions panel */
body[data-ui="v4"].is-operational-page .op-actions-panel .form-group {
    margin-bottom: 6px !important;
}

body[data-ui="v4"].is-operational-page .op-actions-panel h6 {
    font-size: 14px;
    margin-bottom: 8px;
    margin-top: 5px;
}

body[data-ui="v4"].is-operational-page .op-actions-panel hr {
    margin-top: 8px;
    margin-bottom: 8px;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-secondary,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-default {
    background-color: #6c757d;
    border: 1px solid #6c757d;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-secondary:hover,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-secondary:focus,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-default:hover,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-default:focus {
    background-color: #5a6268;
    border-color: #545b62;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-danger {
    background-color: #dc3545;
    border: 1px solid #dc3545;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-primary {
    background-color: var(--abs-blue-main);
    border: 1px solid var(--abs-blue-main);
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn.disabled,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn:disabled {
    opacity: 1;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-primary.disabled,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-primary:disabled {
    background-color: #6ea8fe;
    border-color: #6ea8fe;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-outline-danger,
body[data-ui="v4"].is-operational-page #DoneCloseBtnDiv .btn-outline-danger {
    background-color: #f04444;
    border-color: #f04444 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-outline-danger:hover,
body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-outline-danger:focus,
body[data-ui="v4"].is-operational-page #DoneCloseBtnDiv .btn-outline-danger:hover,
body[data-ui="v4"].is-operational-page #DoneCloseBtnDiv .btn-outline-danger:focus {
    background-color: #dc2626;
    border-color: #dc2626 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-primary,
body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SavingDiv .btn-primary,
body[data-ui="v4"].is-operational-page #DoneBtnDiv .btn-primary,
body[data-ui="v4"].is-operational-page #SavingDoneDiv .btn-primary {
    background-color: #28a745;
    border-color: #28a745;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-primary:hover,
body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-primary:focus,
body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SavingDiv .btn-primary:hover,
body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SavingDiv .btn-primary:focus,
body[data-ui="v4"].is-operational-page #DoneBtnDiv .btn-primary:hover,
body[data-ui="v4"].is-operational-page #DoneBtnDiv .btn-primary:focus,
body[data-ui="v4"].is-operational-page #SavingDoneDiv .btn-primary:hover,
body[data-ui="v4"].is-operational-page #SavingDoneDiv .btn-primary:focus {
    background-color: #218838;
    border-color: #218838;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-primary.disabled,
body[data-ui="v4"].is-operational-page .op-checkin-wrapper .SaveBtnDiv .btn-primary:disabled,
body[data-ui="v4"].is-operational-page #DoneBtnDiv .btn-primary.disabled,
body[data-ui="v4"].is-operational-page #DoneBtnDiv .btn-primary:disabled {
    background-color: #7bc38a;
    border-color: #7bc38a;
    color: #ffffff;
    opacity: 1;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-secondary.op-action-btn {
    background-color: #6c757d;
    border-color: #6c757d !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-secondary.op-action-btn:hover,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-secondary.op-action-btn:focus {
    background-color: #5a6268;
    border-color: #545b62 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-primary.op-action-btn {
    background-color: #0d6efd;
    border-color: #0d6efd !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-primary.op-action-btn:hover,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-primary.op-action-btn:focus {
    background-color: #0b5ed7;
    border-color: #0a58ca !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-danger.op-action-btn {
    background-color: #dc3545;
    border-color: #dc3545 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-danger.op-action-btn:hover,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-danger.op-action-btn:focus {
    background-color: #c82333;
    border-color: #bd2130 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-primary.op-action-btn.disabled,
body[data-ui="v4"].is-operational-page .op-actions-panel .btn-outline-primary.op-action-btn:disabled {
    background-color: #6a97e4 !important;
    border-color: #6a97e4 !important;
    color: #f8fbff !important;
    opacity: 1 !important;
}

body[data-ui="v4"].is-operational-page #myForm .form-row>[class*="col-"] {
    padding-left: 6px;
    padding-right: 6px;
}

body[data-ui="v4"].is-operational-page #myForm .form-control,
body[data-ui="v4"].is-operational-page #myForm select.form-control,
body[data-ui="v4"].is-operational-page #myForm .input-group-text {
    min-height: 46px;
    height: 46px;
    font-size: 15px;
    line-height: 1.45;
}

/* Keep typography consistent between native controls and Select2-rendered controls */
body[data-ui="v4"].is-operational-page #myForm,
body[data-ui="v4"].is-operational-page #myForm input,
body[data-ui="v4"].is-operational-page #myForm select,
body[data-ui="v4"].is-operational-page #myForm textarea,
body[data-ui="v4"].is-operational-page #myForm .select2-container,
body[data-ui="v4"].is-operational-page #myForm .select2-container .select2-selection__rendered {
    font-family: var(--font-family-base);
}

body[data-ui="v4"].is-operational-page #myForm .multiWrapper .select2-container--default .select2-selection--single {
    min-height: 46px;
    height: 46px;
    padding: 0 0.75rem;
    font-size: 15px;
    line-height: 1.45;
    color: #334155;
    border: 1px solid #cbd5e1;
    border-radius: var(--radius-sm);
}

body[data-ui="v4"].is-operational-page #myForm .multiWrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 0;
    padding-right: 20px;
    font-size: 15px;
    line-height: 44px;
    color: #334155;
}

body[data-ui="v4"].is-operational-page #myForm .multiWrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 1px;
    right: 8px;
    height: 44px;
}

body[data-ui="v4"].is-operational-page .select2-dropdown,
body[data-ui="v4"].is-operational-page .select2-dropdown .select2-search__field,
body[data-ui="v4"].is-operational-page .select2-dropdown .select2-results__group,
body[data-ui="v4"].is-operational-page .select2-dropdown .select2-results__option {
    font-family: var(--font-family-base);
    font-size: 15px;
}

/* Replace legacy per-control Select2 result layout rules with one scoped pattern. */
body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__group,
body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__option {
    padding: 10px 16px;
}

body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__group:has(.row),
body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__option:has(.row) {
    padding: 0;
}

body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__group .row,
body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__option .row {
    padding: 10px 16px;
    margin: 0;
}

body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__group [class*="col-"],
body[data-ui="v4"].is-operational-page [id^="select2-"][id$="-results"] .select2-results__option [class*="col-"] {
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 0;
    font-size: 15px;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__option,
body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__group {
    padding: 0 !important;
    background: transparent !important;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__option--highlighted[aria-selected],
body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__option[aria-selected="true"] {
    background: transparent !important;
    color: inherit !important;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results>.select2-results__options {
    max-height: 76vh;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result {
    display: grid;
    grid-template-columns: minmax(180px, 2.05fr) minmax(0, 2.45fr);
    align-items: stretch;
    margin: 3px 6px;
    border: 1px solid #dbe6f4;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.035);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result--basic {
    grid-template-columns: minmax(200px, 1fr) minmax(84px, 112px);
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__description {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.42rem 0.62rem;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%);
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__title {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
    color: #243b53;
    white-space: normal;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__badge {
    flex: 0 0 auto;
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    background: #fff1f2;
    color: #be123c;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-width: 0;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metrics--basic {
    grid-template-columns: minmax(0, 1fr);
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 0.34rem 0.4rem;
    border-left: 1px solid rgba(148, 163, 184, 0.2);
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric-label {
    font-size: 9px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    opacity: 0.8;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric-value {
    margin-top: 0.05rem;
    font-size: 12px;
    line-height: 1.1;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric--room {
    background: #edf4ff;
    color: #1d4f91;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric--weekend {
    background: #f7edd8;
    color: #7a5b18;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric--shoulder {
    background: #f7e4c7;
    color: #8a5a1c;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric--peak {
    background: #f8d9b5;
    color: #96501c;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric--superpeak {
    background: #f6c998;
    color: #8a4212;
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__option--highlighted[aria-selected] .rate-type-result,
body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__option[aria-selected="true"] .rate-type-result {
    border-color: #7daaf7;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.1);
    transform: translateY(-1px);
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__option--highlighted[aria-selected] .rate-type-result__description,
body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .select2-results__option[aria-selected="true"] .rate-type-result__description {
    background: linear-gradient(180deg, #eff6ff 0%, #dcecff 100%);
}

body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__group {
    padding: 0.4rem 0.8rem 0.2rem;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

@media (max-width: 767.98px) {

    body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result,
    body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result--basic {
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metrics--basic {
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-ui="v4"].is-operational-page .select2-dropdown.rate-type-dropdown .rate-type-result__metric {
        border-left: 0;
        border-top: 1px solid rgba(148, 163, 184, 0.2);
    }
}

body[data-ui="v4"].is-operational-page #myForm .text-danger {
    font-size: 13px;
    line-height: 1.3;
}

body[data-ui="v4"].is-operational-page #myForm input.btn,
body[data-ui="v4"].is-operational-page #myForm .btn {
    min-height: 44px;
    font-size: 14px;
    font-weight: 600;
}

body[data-ui="v4"].is-operational-page .op-full-width {
    width: 100% !important;
}

body[data-ui="v4"].is-operational-page .op-action-btn {
    min-height: 44px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

body[data-ui="v4"].is-operational-page .op-action-btn:hover {
    filter: brightness(105%);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
}

body[data-ui="v4"].is-operational-page .op-action-btn:active {
    transform: translateY(1px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

/* Override for side panel buttons which need to be more compact */
body[data-ui="v4"].is-operational-page .op-actions-panel .op-action-btn {
    min-height: 34px !important;
}

body[data-ui="v4"].is-operational-page .op-modal-btn {
    min-width: 100px;
}

body[data-ui="v4"].is-operational-page #myForm .op-inline-copy-btn,
body[data-ui="v4"].is-operational-page .op-heading-copy-btn {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 30px;
    padding: 4px 10px;
    margin-left: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    border-radius: 6px;
    border: 1px solid #17a2b8;
    background-color: #17a2b8;
    color: #ffffff;
    vertical-align: middle;
    cursor: pointer;
}

body[data-ui="v4"].is-operational-page #myForm .op-inline-copy-btn:hover,
body[data-ui="v4"].is-operational-page #myForm .op-inline-copy-btn:focus,
body[data-ui="v4"].is-operational-page .op-heading-copy-btn:hover,
body[data-ui="v4"].is-operational-page .op-heading-copy-btn:focus {
    border-color: #138496;
    background-color: #138496;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page #myForm .op-inline-copy-btn:focus-visible {
    outline: 2px solid rgba(30, 58, 138, 0.35);
    outline-offset: 1px;
}

body[data-ui="v4"].is-operational-page .op-hidden {
    display: none;
}

body[data-ui="v4"].is-operational-page .op-pb-10 {
    padding-bottom: 10px;
}

body[data-ui="v4"].is-operational-page .op-transition-modal-width {
    transition: max-width 0.3s ease;
}

body[data-ui="v4"].is-operational-page .op-transition-width {
    transition: width 0.3s ease;
}

body[data-ui="v4"].is-operational-page .op-card-div-hidden {
    display: none;
}

body[data-ui="v4"].is-operational-page .op-payment-modal .modal-content {
    border: 1px solid #d7dde6;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12) !important;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 28px);
    overflow: hidden;
}

.op-payment-modal form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

.op-payment-modal__body-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
}

.op-payment-modal__dialog.modal-lg {
    max-width: 560px;
    transition: max-width 0.18s ease;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__dialog.modal-lg {
    max-width: 560px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal.op-payment-modal--card .op-payment-modal__dialog.modal-lg,
.op-payment-modal.op-payment-modal--card .op-payment-modal__dialog.modal-lg {
    max-width: 920px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__header {
    align-items: flex-start;
    justify-content: space-between;
    padding: 12px 18px;
    border-bottom: 1px solid #e2e8f0;
    background-color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__header .modal-title {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__subtitle {
    margin-top: 4px;
    color: #64748b;
    font-size: 13px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__close {
    margin: 0;
    padding: 0;
    color: #94a3b8;
    font-size: 20px;
    line-height: 1;
    text-shadow: none;
    opacity: 1;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__close:hover,
body[data-ui="v4"].is-operational-page .op-payment-modal__close:focus {
    color: #475569;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__body {
    padding: 10px 18px 12px;
    flex: 1 1 auto;
    min-height: 0;
    overflow: visible;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 0;
    margin-bottom: 8px;
    border: 1px solid #d7dde6;
    background-color: #f8fafc;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__stat-card {
    min-width: 0;
    padding: 6px 10px;
    border-right: 1px solid #d7dde6;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__stat-card:last-child {
    border-right: 0;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__stat-label {
    display: block;
    color: #64748b;
    overflow: hidden;
    font-size: 10px;
    font-weight: 500;
    margin-bottom: 1px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__stat-value,
body[data-ui="v4"].is-operational-page .op-payment-modal__preview-value {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin: 0;
    color: #334155;
    font-size: 12px;
    font-weight: 600;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__stat-value--accent {
    color: #f97316;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__currency-text {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__main > * + * {
    margin-top: 8px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal .form-group {
    margin-bottom: 8px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal .form-group > label {
    margin-bottom: 3px;
    color: #64748b;
    font-size: 11px;
    font-weight: 500;
}

body[data-ui="v4"].is-operational-page .op-payment-modal .form-control,
body[data-ui="v4"].is-operational-page .op-payment-modal .input-group-text {
    min-height: 32px;
    height: 32px;
    border-color: #d7dde6;
    font-size: 13px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal select.form-control {
    height: auto;
    min-height: calc(1.5em + 0.75rem + 2px);
    line-height: 1.5;
}

body[data-ui="v4"].is-operational-page .op-payment-modal .input-group-text {
    background-color: #f8fafc;
    color: #64748b;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__currency-input .input-group-text {
    min-width: 46px;
    padding: 0 8px;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

body[data-ui="v4"].is-operational-page .op-payment-modal .form-control:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
}

body[data-ui="v4"].is-operational-page .op-payment-modal__input--readonly {
    background-color: #f8fafc;
    color: #64748b;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__change.op-payment-modal__change--active {
    border-color: #f59e0b;
    background-color: #fffbeb;
    color: #92400e;
    font-weight: 600;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__hint {
    font-size: 9px;
    line-height: 1.35;
    margin-top: 3px;
    color: #94a3b8 !important;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__section {
    border: 0;
    border-top: 1px solid #e2e8f0;
    background-color: transparent;
    padding: 8px 0 0;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__section-heading {
    margin-top: 0;
    margin-bottom: 6px;
    color: #64748b;
    font-size: 11px;
    font-weight: 500;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__payment-grid {
    display: block;
}

body[data-ui="v4"].is-operational-page .op-payment-modal.op-payment-modal--card .op-payment-modal__payment-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(340px, 1.1fr);
    gap: 16px;
    align-items: start;
}

body[data-ui="v4"].is-operational-page .op-payment-modal.op-payment-modal--card .op-payment-modal__payment-grid > .op-payment-modal__drawer {
    margin-top: 0;
    border-top: 0;
    padding-top: 8px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__cash-row.op-hidden {
    display: none;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__preview {
    border-top: 1px solid #e2e8f0;
    padding-top: 8px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__preview-title {
    margin: 0;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 500;
    min-width: 0;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__preview-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 6px 8px;
    border: 1px solid #d7dde6;
    background-color: #f8fafc;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__preview-metric {
    text-align: left;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__preview-label {
    display: block;
    color: #475569;
    font-size: 10px;
    margin-bottom: 2px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__remarks-row {
    margin-top: 8px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__drawer {
    border-top: 1px solid #e2e8f0;
    padding-top: 7px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__drawer-summary {
    display: flex;
    align-items: center;
    min-height: 28px;
    padding: 0 8px;
    border: 1px solid transparent;
    cursor: pointer;
    color: #475569;
    font-size: 11px;
    font-weight: 600;
    list-style-position: outside;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__drawer-summary:hover {
    background-color: #f8fafc;
    border-color: #d7dde6;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__drawer-summary:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
}

body[data-ui="v4"].is-operational-page .op-payment-modal__drawer-panel {
    margin-top: 7px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__drawer-panel .form-group {
    margin-bottom: 8px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__card-fields {
    padding: 8px 8px 0;
    border: 1px solid #d7dde6;
    background-color: #f8fafc;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__card-fields .form-row {
    margin-right: -4px;
    margin-left: -4px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__card-fields [class*="col-"] {
    padding-right: 4px;
    padding-left: 4px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__calc {
    display: grid;
    gap: 4px;
    padding: 6px 8px;
    border: 1px solid #d7dde6;
    background-color: #f8fafc;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__calc-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #475569;
    font-size: 11px;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__calc-row > span:last-child {
    color: #334155;
    font-weight: 600;
    text-align: right;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__footer {
    justify-content: flex-end;
    padding: 10px 18px;
    border-top: 1px solid #e2e8f0;
    background-color: #ffffff;
    flex-shrink: 0;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    text-align: right;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__actions.op-hidden {
    display: none;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__submit,
body[data-ui="v4"].is-operational-page .op-payment-modal__actions .btn {
    min-width: 146px;
    min-height: 34px;
    font-weight: 600;
}

body[data-ui="v4"].is-operational-page .op-payment-modal__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

@media (max-width: 991.98px) {
    .op-payment-modal__dialog.modal-lg,
    body[data-ui="v4"].is-operational-page .op-payment-modal__dialog.modal-lg {
        max-width: calc(100vw - 32px);
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__body,
    body[data-ui="v4"].is-operational-page .op-payment-modal__header,
    body[data-ui="v4"].is-operational-page .op-payment-modal__footer {
        padding-left: 18px;
        padding-right: 18px;
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__preview {
        gap: 8px;
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__preview-metrics {
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__preview-metric {
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    body[data-ui="v4"].is-operational-page .op-payment-modal__stats {
        grid-template-columns: 1fr;
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__stat-card {
        border-right: 0;
        border-bottom: 1px solid #d7dde6;
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__stat-card:last-child {
        border-bottom: 0;
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__preview-metrics {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    body[data-ui="v4"].is-operational-page .op-payment-modal__submit,
    body[data-ui="v4"].is-operational-page .op-payment-modal__actions .btn {
        width: 100%;
    }
}

body[data-ui="v4"].is-operational-page .op-modal-height-80 {
    height: 80%;
}

/* Reservation calendar controls and table toolbar consistency */
body[data-ui="v4"].is-operational-page #futuredate .card-body {
    padding: 16px;
}

body[data-ui="v4"].is-operational-page #futuredate .row.my-2 {
    row-gap: 8px;
}

body[data-ui="v4"].is-operational-page #futuredate .form-control {
    min-height: 44px;
    font-size: 14px;
}

body[data-ui="v4"].is-operational-page #futuredate .btn {
    min-height: 44px;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 12px;
}

body[data-ui="v4"].is-operational-page #futuredate .filter-toolbar {
    margin-top: 8px;
    margin-bottom: 10px;
}

body[data-ui="v4"].is-operational-page #futuredate .filter-toolbar .nav-tabs .nav-link {
    min-height: 44px;
    padding: 10px 12px;
    font-size: 14px;
}

body[data-ui="v4"].is-operational-page #futuredate .table-room-rack-calendar {
    border: 1px solid #e2e8f0;
    border-radius: var(--radius-sm);
    background-color: #ffffff;
}

/* =====================================================================
   9. Unified Action Toolbar (Operational)
   ===================================================================== */
body[data-ui="v4"].is-operational-page .op-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-4);
    padding: var(--space-3) 0;
    margin-bottom: var(--space-2);
}

body[data-ui="v4"].is-operational-page .op-toolbar-group {
    display: flex;
    align-items: flex-end;
    gap: var(--space-2);
}

/* Align labels within toolbar groups */
body[data-ui="v4"].is-operational-page .op-toolbar-group .form-group {
    margin-bottom: 0;
}

body[data-ui="v4"].is-operational-page .op-toolbar-group .form-group label {
    margin-bottom: 4px;
    font-size: 13px;
}

/* Ensure consistent height for toolbar controls */
body[data-ui="v4"].is-operational-page .op-toolbar .form-control {
    height: 38px !important;
    min-height: 38px !important;
    padding: 6px 12px !important;
    font-size: 14px;
}

body[data-ui="v4"].is-operational-page .op-toolbar .btn {
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    font-weight: 500;
    font-size: 13px;
    padding: 0 var(--space-4);
    transition: all var(--duration-fast) ease;
    white-space: nowrap;
}

body[data-ui="v4"].is-operational-page .op-toolbar .btn i:not(:last-child) {
    margin-right: var(--space-2);
}

/* Remove decorative shadows/transforms in favor of clean operational style */

body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-primary {
    background-color: #0d6efd;
    border-color: #0d6efd !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-primary:hover,
body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-primary:focus {
    background-color: #0b5ed7;
    border-color: #0a58ca !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-success {
    background-color: #28a745;
    border-color: #28a745 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-success:hover,
body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-success:focus {
    background-color: #218838;
    border-color: #1e7e34 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-info {
    background-color: #17a2b8;
    border-color: #17a2b8 !important;
    color: #ffffff;
}

body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-info:hover,
body[data-ui="v4"].is-operational-page .op-toolbar .btn-outline-info:focus {
    background-color: #138496;
    border-color: #117a8b !important;
    color: #ffffff;
}

/* Custom Vibrant Purple for Color Code tool */
body[data-ui="v4"].is-operational-page .btn-outline-purple {
    color: #ffffff;
    border-color: var(--abs-purple);
    background-color: var(--abs-purple);
}

body[data-ui="v4"].is-operational-page .btn-outline-purple:hover {
    color: #fff;
    background-color: #8f00d9;
    border-color: var(--abs-purple);
    box-shadow: 0 4px 12px rgba(170, 0, 255, 0.2);
}

/* Standardized Grid Action Buttons */
body[data-ui="v4"].is-operational-page .grid-btn-icon-only {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0 !important;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
    background-color: #ffffff;
    color: #475569;
    transition: all 0.2s ease;
    cursor: pointer;
    overflow: visible;
}

/* Size Variants */
body[data-ui="v4"].is-operational-page .grid-btn-icon-only.grid-btn-lg {
    width: 32px !important;
    height: 32px !important;
}

body[data-ui="v4"].is-operational-page .grid-btn-icon-only.grid-btn-sm {
    width: 24px !important;
    height: 24px !important;
}


body[data-ui="v4"].is-operational-page .grid-btn-icon-only:hover {
    background-color: #f8fafc;
    color: #0f172a;
    border-color: #cbd5e1;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

body[data-ui="v4"].is-operational-page .grid-btn-icon-only i {
    font-size: 14px;
    margin: 0 !important;
    line-height: 1;
}

body[data-ui="v4"].is-operational-page .grid-btn-icon-only.grid-btn-lg i {
    font-size: 16px;
}

body[data-ui="v4"].is-operational-page .grid-btn-icon-only.grid-btn-sm i {
    font-size: 12px;
}

/* ==========================================================================
   ABS Hotel Cloud v4 Brand Theme
   Used by: Login, SelectProperty, Logout, Dashboard
   ========================================================================== */

/* --------------------------------------------------------------------------
   1) Global Canvas (static, brand-consistent)
   -------------------------------------------------------------------------- */
body.brand-theme {
    background-color: #111a3c !important;
    background-image:
        radial-gradient(circle at 100% 0%, rgba(30, 60, 140, 0.18) 0%, rgba(30, 60, 140, 0) 30%),
        radial-gradient(circle at 50% 100%, rgba(28, 53, 122, 0.33) 0%, rgba(28, 53, 122, 0) 58%);
    background-repeat: no-repeat;
    color: #e0e6ed;
}

body.brand-theme .home {
    background-image: none !important;
    background-color: transparent !important;
}

/* --------------------------------------------------------------------------
   2) Auth Surface (login / select property / logout)
   -------------------------------------------------------------------------- */
.auth-panel,
#account {
    max-width: 460px;
    margin: 5vh auto;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
}

.brand-theme .propname,
.propname {
    color: rgba(255, 255, 255, 0.92);
    font-weight: 600;
    letter-spacing: 0;
    margin-bottom: 1.25rem !important;
}

.brand-theme .propname p,
.propname p {
    color: rgba(255, 255, 255, 0.62);
    font-weight: 400;
    font-size: 0.95rem;
}

.brand-theme .img-wrap-box img,
.img-wrap-box img {
    max-height: 80px;
    filter: none;
}

/* --------------------------------------------------------------------------
   3) Auth Form Controls
   -------------------------------------------------------------------------- */
.modern-form .input-group,
#login-form .input-group {
    height: 52px;
    margin-bottom: 0.5rem !important;
    border-radius: 9999px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    transition: border-color 0.2s ease;
}

.modern-form .input-group:focus-within,
#login-form .input-group:focus-within {
    border-color: rgba(0, 175, 240, 0.55) !important;
    box-shadow: none !important;
}

.modern-form .input-group .form-control,
.modern-form .input-group input,
#login-form .input-group .form-control,
#login-form .input-group input,
#login-form input[type="text"],
#login-form input[type="password"],
.modern-form .captcha-input {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    color: #ffffff !important;
    padding: 22px 16px 6px 16px !important;
    height: 100%;
    width: 100%;
}

.modern-form .form-control:focus,
#login-form .form-control:focus,
#login-form input.form-control:focus {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
}

.modern-form .input-group-prepend,
.modern-form .input-group-append,
.modern-form .prop-behind,
.modern-form .input-group-prepend *,
.modern-form .input-group-append *,
.modern-form .prop-behind *,
#login-form .input-group-prepend,
#login-form .input-group-append,
#login-form .prop-behind,
#login-form .input-group-prepend *,
#login-form .input-group-append *,
#login-form .prop-behind *,
#login-form .prop-behind .input-group-text,
.prop-behind .input-group-text,
#Input\.PropertyCode {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.modern-form .input-group-prepend,
.modern-form .input-group-append,
.modern-form .prop-behind,
#login-form .input-group-prepend,
#login-form .input-group-append,
#login-form .prop-behind {
    height: 100%;
    display: flex;
    align-items: center;
    padding-right: 16px;
}

.modern-form .input-group-text,
#login-form .input-group-text {
    color: rgba(255, 255, 255, 0.56) !important;
    font-size: 0.9rem;
    padding: 0 16px 0 0;
    height: 100%;
    display: flex;
    align-items: center;
}

.modern-form .prop-behind::before,
.modern-form .prop-behind::after,
.modern-form .input-group-text::before,
.modern-form .input-group-text::after,
#login-form .prop-behind::before,
#login-form .prop-behind::after,
#login-form .input-group-text::before,
#login-form .input-group-text::after {
    display: none !important;
    content: none !important;
}

.floating-label {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.60);
    pointer-events: none;
    transition: 0.18s ease all;
    font-size: 0.95rem;
    z-index: 5;
}

.modern-form .form-control:focus~.floating-label,
.modern-form .form-control:not(:placeholder-shown)~.floating-label,
#login-form .form-control:focus~.floating-label,
#login-form .form-control:not(:placeholder-shown)~.floating-label {
    top: 13px;
    font-size: 0.74rem;
    color: #8fd8ff;
    font-weight: 500;
}

/* Fix autofill styles to maintain dark theme */
.modern-form .form-control:-webkit-autofill,
.modern-form .form-control:-webkit-autofill:hover,
.modern-form .form-control:-webkit-autofill:focus,
.modern-form .form-control:-webkit-autofill:active,
#login-form .form-control:-webkit-autofill,
#login-form .form-control:-webkit-autofill:hover,
#login-form .form-control:-webkit-autofill:focus,
#login-form .form-control:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s !important;
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   4) Buttons and Messaging
   -------------------------------------------------------------------------- */
.btn-login,
.modern-form .btn-primary,
#login-form .btn-login {
    width: 100%;
    margin-top: 1rem;
    padding: 13px;
    border: 0 !important;
    border-radius: 9999px !important;
    background: #007bff !important;
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22) !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
    position: relative;
    overflow: hidden;
}

.btn-login:hover,
.modern-form .btn-primary:hover,
#login-form .btn-login:hover {
    background: #0069d9 !important;
    transform: translateY(-1px);
}

.btn-login:active,
.modern-form .btn-primary:active,
#login-form .btn-login:active {
    transform: none;
}

#login-form .btn-login::before {
    display: none !important;
    content: none !important;
}

button.btn-login.loading,
.modern-form button.loading {
    color: transparent !important;
    pointer-events: none;
}

button.btn-login.loading::after,
.modern-form button.loading::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    margin-top: -10px;
    margin-left: -10px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: brand-login-spinner 0.8s linear infinite;
}

@keyframes brand-login-spinner {
    to {
        transform: rotate(360deg);
    }
}

.brand-theme .color-agreement,
.brand-theme #forgot-password,
.color-agreement,
#forgot-password {
    color: rgba(255, 255, 255, 0.72) !important;
    text-decoration: none;
    font-size: 0.9rem;
}

.brand-theme .color-agreement:hover,
.brand-theme #forgot-password:hover,
.color-agreement:hover,
#forgot-password:hover {
    color: #ffffff !important;
}

.modern-form .text-danger,
#login-form .text-danger {
    color: #ff7f7f !important;
    font-size: 0.85rem;
    margin-top: 4px;
    margin-bottom: 1rem;
    display: block;
    font-weight: 500;
    text-align: left;
    padding-left: 4px;
    width: 100%;
    clear: both;
    text-shadow: none;
}

.brand-theme .validation-summary-errors {
    background: rgba(255, 71, 87, 0.08);
    border: 1px solid rgba(255, 71, 87, 0.22);
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 1.25rem;
    color: #ff8b8b;
    font-size: 0.9rem;
    text-align: left;
}

.brand-theme .validation-summary-errors ul {
    margin: 0;
    padding-left: 1.1rem;
}

/* Select property dropdown */
.modern-form select.form-control,
.modern-form select.customDropdown,
.auth-panel select.form-control,
.auth-panel select.customDropdown,
select.customDropdown {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 9999px !important;
    color: #ffffff !important;
    padding: 12px 40px 12px 16px !important;
    min-height: 52px;
    font-size: 1rem;
    box-shadow: none !important;
    outline: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

.modern-form select.form-control:focus,
.modern-form select.customDropdown:focus,
.auth-panel select.form-control:focus,
.auth-panel select.customDropdown:focus,
select.customDropdown:focus {
    border-color: rgba(0, 175, 240, 0.55) !important;
    box-shadow: none !important;
}

.modern-form select.form-control option,
.modern-form select.customDropdown option,
.auth-panel select.form-control option,
.auth-panel select.customDropdown option,
select.customDropdown option {
    background: #1b2447 !important;
    color: #ffffff !important;
}

/* Windows Chrome uses native option rendering and can inherit legacy #login-form colors.
   Force high-contrast option text/background for Select Property + login wrappers. */
#login-form .modern-form select.form-control option,
#login-form .modern-form select.customDropdown option,
#login-form .auth-panel select.form-control option,
#login-form .auth-panel select.customDropdown option,
#login-form select.customDropdown option {
    background-color: #1b2447 !important;
    color: #f8fbff !important;
}

#login-form .modern-form select.form-control option:checked,
#login-form .modern-form select.customDropdown option:checked,
#login-form .auth-panel select.form-control option:checked,
#login-form .auth-panel select.customDropdown option:checked,
#login-form select.customDropdown option:checked {
    background: #1f7be7 linear-gradient(#1f7be7, #1f7be7) !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   5) Dashboard: keep original colorful blocks, remove synthetic effects
   -------------------------------------------------------------------------- */
.brand-theme h5[data-lang="header.dashboard"],
.brand-theme .main-theme .row[data-lang],
.brand-theme .general-theme .row[data-lang] {
    color: #ffffff !important;
    font-weight: 500;
}

body.brand-theme [data-v4-surface="dashboard"] .colour,
body.brand-theme [data-v4-surface="dashboard"] .colour-1,
body.brand-theme [data-v4-surface="dashboard"] .colour-2,
body.brand-theme [data-v4-surface="dashboard"] .colour-3,
body.brand-theme [data-v4-surface="dashboard"] .colour-4 {
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    transition: none !important;
}

body.brand-theme [data-v4-surface="dashboard"] .colour::before {
    display: none !important;
}

body.brand-theme [data-v4-surface="dashboard"] .colour .text-center i.fa {
    background: none !important;
    -webkit-text-fill-color: #ffffff !important;
    filter: none !important;
}

body.brand-theme [data-v4-surface="dashboard"] .colour .title {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body.brand-theme [data-v4-surface="dashboard"] .colour:hover {
    transform: none !important;
    box-shadow: none !important;
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-heading {
    margin: 28px 0 10px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px 12px;
    margin: 0;
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item {
    position: relative;
    display: block;
    min-height: 66px;
    padding: 10px 54px 18px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    color: rgba(255, 255, 255, 0.88);
    text-decoration: none;
    background: rgba(35, 48, 82, 0.78);
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item:hover {
    background: rgba(40, 55, 93, 0.92);
    border-color: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    text-decoration: none;
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item i {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    font-size: 34px;
    color: rgba(255, 255, 255, 0.30);
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-value {
    display: block;
    font-size: 25px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0;
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-label {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 15px;
    line-height: 1.2;
    font-weight: 400;
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item em {
    position: absolute;
    right: 18px;
    bottom: 8px;
    color: rgba(255, 255, 255, 0.42);
    font-size: 11px;
    line-height: 1;
    font-style: normal;
    font-weight: 400;
}

body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item em i {
    position: static;
    transform: none;
    margin-left: 2px;
    color: inherit;
    font-size: 10px;
}

@media (max-width: 1199.98px) {
    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-heading {
        margin-right: 0;
        margin-left: 0;
    }

    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-right: 0;
        margin-left: 0;
    }
}

@media (max-width: 767.98px) {
    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-heading {
        margin-right: 0;
        margin-left: 0;
    }

    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-right: 0;
        margin-left: 0;
    }

    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item {
        min-height: 64px;
        padding: 10px 48px 18px 16px;
    }

    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item i {
        right: 16px;
        font-size: 30px;
    }

    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-value {
        font-size: 23px;
    }

    body.brand-theme [data-v4-surface="dashboard"] .dashboard-stat-item em {
        right: 16px;
    }
}

.glass-loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
}

body.bgdarkT .glass-loader-overlay {
    background: rgba(15, 23, 42, 0.4);
}

.glass-loader-box {
    background: rgba(255, 255, 255, 0.85);
    border-radius: 12px;
    padding: 24px 40px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.6);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    animation: loaderFadeIn 0.3s ease-out forwards;
}

body.bgdarkT .glass-loader-box {
    background: rgba(30, 41, 59, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

.glass-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(30, 64, 175, 0.1);
    /* Soft Navy */
    border-top: 3px solid #1E40AF;
    /* Primary Navy */
    border-radius: 50%;
    animation: glassloaderSpin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

body.bgdarkT .glass-spinner {
    border: 3px solid rgba(255, 255, 255, 0.1);
    border-top: 3px solid #94A3B8;
    /* Slate 400 */
}

.glass-loader-text {
    font-size: 1rem;
    font-weight: 400;
    color: #475569;
    /* Slate 600 */
    letter-spacing: 0.3px;
}

body.bgdarkT .glass-loader-text {
    color: #CBD5E1;
    /* Slate 300 */
}

@keyframes glassloaderSpin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes loaderFadeIn {
    0% {
        opacity: 0;
        transform: scale(0.98);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}
.manual-assist-banner {
    --ma-surface: #ffffff;
    --ma-canvas: #f8fafc;
    --ma-border: #dee2e6;
    --ma-text: #565656;
    --ma-muted: #6c757d;
    --ma-warning: #ffc107;
    --ma-danger: #dc3545;
    --ma-header: #192038;
    --ma-header-hover: #111a3c;
    --ma-primary: #0766b8;
    --ma-primary-hover: #005a9f;
    --ma-hover-tint: rgba(7, 102, 184, 0.06);

    position: fixed;
    right: 10px;
    bottom: 76px;
    z-index: 1080;
    font-family: var(--font-family-base, 'Poppins', sans-serif);
}

/* ---------- Bubble (collapsed) ---------- */
.manual-assist-banner__bubble {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    color: var(--ma-warning);
    background: var(--ma-header);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(25, 32, 56, 0.22);
    cursor: pointer;
    transition: background-color var(--duration-fast, 150ms) ease,
                transform var(--duration-fast, 150ms) ease,
                box-shadow var(--duration-fast, 150ms) ease;
}

.manual-assist-banner__bubble:hover,
.manual-assist-banner__bubble:focus-visible {
    background: var(--ma-header-hover);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(25, 32, 56, 0.28);
    outline: none;
}

.manual-assist-banner__bubble-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}

/* Pulse ring + slow attention-tilt */
.manual-assist-banner__bubble::before,
.manual-assist-banner__bubble::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
}

.manual-assist-banner__bubble::before {
    box-shadow: 0 0 0 0 rgba(240, 163, 10, 0.42);
    animation: ma-pulse-ring 2s ease-out infinite;
}

.manual-assist-banner__bubble::after {
    animation: ma-tilt 6s ease-in-out infinite;
    transform-origin: 50% 50%;
}

/* Badge */
.manual-assist-banner__badge {
    position: absolute;
    top: -7px;
    right: -6px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    color: #ffffff;
    background: var(--ma-danger);
    border: 2px solid #ffffff;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}

.manual-assist-banner__badge.is-pulsing {
    animation: ma-badge-pop 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* ---------- Panel (expanded) ---------- */
.manual-assist-banner__panel {
    position: absolute;
    right: 58px;
    bottom: 0;
    display: flex;
    flex-direction: column;
    width: min(360px, calc(100vw - 76px));
    max-height: min(480px, calc(100vh - 136px));
    overflow: hidden;
    color: var(--ma-text);
    background: var(--ma-surface);
    border: 1px solid var(--ma-border);
    border-radius: var(--radius-sm, 4px);
    box-shadow: 0 2px 8px rgba(10, 35, 66, 0.12);
    transform: translateX(16px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform var(--duration-normal, 200ms) cubic-bezier(0.2, 0.8, 0.2, 1),
                opacity var(--duration-normal, 200ms) ease,
                visibility 0s linear var(--duration-normal, 200ms);
}

.manual-assist-banner.is-open .manual-assist-banner__panel {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.manual-assist-banner__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3, 12px);
    padding: var(--space-3, 12px) var(--space-4, 16px);
    color: #ffffff;
    background: var(--ma-header);
}

.manual-assist-banner__header > div:first-child {
    min-width: 0;
    flex: 1;
}

.manual-assist-banner__title {
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: var(--font-weight-semibold, 600);
    line-height: 1.25;
    letter-spacing: 0.1px;
}

.manual-assist-banner__latest {
    margin-top: 2px;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* List */
.manual-assist-banner__list {
    flex: 1 1 auto;
    max-height: 340px;
    overflow-y: auto;
    background: var(--ma-surface);
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.manual-assist-banner__list::-webkit-scrollbar {
    width: 6px;
}

.manual-assist-banner__list::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 999px;
}

.manual-assist-banner__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--ma-border);
    transition: background-color var(--duration-fast, 150ms) ease;
    opacity: 0;
    transform: translateY(4px);
    animation: ma-item-in var(--duration-normal, 200ms) cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.manual-assist-banner__item:nth-child(1) { animation-delay: 0ms; }
.manual-assist-banner__item:nth-child(2) { animation-delay: 40ms; }
.manual-assist-banner__item:nth-child(3) { animation-delay: 80ms; }
.manual-assist-banner__item:nth-child(4) { animation-delay: 120ms; }
.manual-assist-banner__item:nth-child(5) { animation-delay: 160ms; }
.manual-assist-banner__item:nth-child(n+6) { animation-delay: 200ms; }

.manual-assist-banner__item:last-child {
    border-bottom: 0;
}

.manual-assist-banner__item:hover {
    background: var(--ma-hover-tint);
}

.manual-assist-banner__item.is-leaving {
    overflow: hidden;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    opacity: 0;
    border-bottom-color: transparent;
    transition: max-height 220ms ease, opacity 180ms ease,
                padding 220ms ease, border-color 220ms ease;
}

.manual-assist-banner__item-title {
    color: var(--ma-text);
    font-size: 0.84rem;
    font-weight: var(--font-weight-semibold, 600);
    line-height: 1.3;
}

.manual-assist-banner__item-message {
    margin-top: 3px;
    color: var(--ma-muted);
    font-size: 0.76rem;
    line-height: 1.4;
    white-space: pre-line;
}

.manual-assist-banner__ack {
    color: #ffffff;
    background: var(--ma-primary);
    border: 1px solid var(--ma-primary);
    border-radius: var(--radius-sm, 4px);
    font-size: 0.76rem;
    font-weight: var(--font-weight-semibold, 600);
    cursor: pointer;
    transition: background-color var(--duration-fast, 150ms) ease,
                border-color var(--duration-fast, 150ms) ease,
                transform var(--duration-fast, 150ms) ease;
}

.manual-assist-banner__ack {
    align-self: start;
    min-height: 30px;
    padding: 4px 10px;
    white-space: nowrap;
}

.manual-assist-banner__ack:hover,
.manual-assist-banner__ack:focus-visible {
    background: var(--ma-primary-hover);
    border-color: var(--ma-primary-hover);
    outline: none;
}

.manual-assist-banner__ack:active {
    transform: translateY(1px);
}

/* ---------- Keyframes ---------- */
@keyframes ma-pulse-ring {
    0% {
        box-shadow: 0 0 0 0 rgba(240, 163, 10, 0.42);
    }
    70% {
        box-shadow: 0 0 0 12px rgba(240, 163, 10, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(240, 163, 10, 0);
    }
}

@keyframes ma-tilt {
    0%, 88%, 100% { transform: rotate(0); }
    91% { transform: rotate(-7deg); }
    94% { transform: rotate(6deg); }
    97% { transform: rotate(-3deg); }
}

@keyframes ma-badge-pop {
    0% { transform: scale(0.6); }
    55% { transform: scale(1.18); }
    100% { transform: scale(1); }
}

@keyframes ma-item-in {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reduced motion: kill non-essential motion */
@media (prefers-reduced-motion: reduce) {
    .manual-assist-banner__bubble,
    .manual-assist-banner__bubble::before,
    .manual-assist-banner__bubble::after,
    .manual-assist-banner__panel,
    .manual-assist-banner__item,
    .manual-assist-banner__badge {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
    .manual-assist-banner {
        right: 8px;
        bottom: 72px;
    }

    .manual-assist-banner__bubble {
        width: 48px;
        height: 48px;
        border-radius: 999px;
    }

    .manual-assist-banner__panel {
        right: 0;
        bottom: 60px;
        width: calc(100vw - 16px);
        max-height: min(60vh, 420px);
        border-radius: var(--radius-md, 8px);
    }

    .manual-assist-banner__item {
        grid-template-columns: 1fr;
    }

    .manual-assist-banner__ack {
        justify-self: end;
    }
}
