body {
    padding-top: 45px;
    /*padding-bottom: 20px;*/
}

/* Admin Impersonation Notification Bar */
.impersonation-bar {
    background-color: #FF8500;
    color: white;
    padding: 8px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    position: fixed;
    top: 45px;
    left: 0;
    right: 0;
    z-index: 1040;
    font-weight: 500;
}

.impersonation-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.impersonation-icon {
    font-size: 16px;
    margin-right: 8px;
    color: #fff;
}

.impersonation-text {
    flex: 1;
    font-size: 14px;
}

.impersonation-details {
    font-weight: normal;
    opacity: 0.9;
    margin-left: 10px;
}

.impersonation-actions {
    margin-left: 15px;
    display: flex;
    gap: 8px;
}

/* Adjust body padding when impersonation bar is visible */
body.impersonating {
    padding-top: 88px !important;
}

/* Adjust content positioning when impersonation bar is shown */
body.impersonating #sidebar {
    top: 88px;
}

body.impersonating #content {
    margin-top: 0;
}

/* Mobile responsive styles */
@media (max-width: 767px) {
    .impersonation-bar {
        padding: 10px 0;
    }

    .impersonation-content {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }
    
    .impersonation-actions {
        margin-left: 8px;
        gap: 4px;
    }
    
    .impersonation-text {
        font-size: 13px;
        flex: 1;
    }
    
    /* Hide text labels on mobile, show only icons */
    .impersonation-label {
        display: none;
    }
    
    .impersonation-details {
        display: none;
    }
    
    /* Make buttons icon-only on mobile */
    .impersonation-btn-different,
    .impersonation-btn-end {
        min-width: 32px !important;
        width: 32px !important;
        padding: 4px !important;
        font-size: 0 !important; /* Hide text */
        overflow: hidden;
    }
    
    /* Show only the icons on mobile */
    .impersonation-btn-different .fas,
    .impersonation-btn-end .fas {
        font-size: 14px !important;
        display: inline-block !important;
    }
    
    /* Alternative approach - hide all text content except icons */
    .impersonation-btn-different * {
        font-size: 0;
    }
    
    .impersonation-btn-end * {
        font-size: 0;
    }
    
    .impersonation-btn-different .fas,
    .impersonation-btn-end .fas {
        font-size: 14px !important;
    }
}

/* Desktop styles - show full text */
@media (min-width: 768px) {
    .impersonation-label {
        display: inline;
    }
    
    .impersonation-details {
        display: inline;
    }
    
    .impersonation-btn-different .dxbs-button-text,
    .impersonation-btn-end .dxbs-button-text {
        display: inline;
    }
}

.body {
    font-family: 'Rubik', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Rubik', sans-serif !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

p, div {
    font-family: 'Rubik', sans-serif !important;
}

/* ==========================================================================
   DevExtreme Global Overrides (dx.light.compact theme)
   These overrides make DevExtreme controls match Bootstrap 3 styling and
   Rain City Maids conventions. Loaded after dx.light.compact.css from CDN.
   ========================================================================== */

/* --- Force Rubik font on all DevExtreme widgets globally --- */
.dx-widget,
.dx-widget input,
.dx-widget textarea,
.dx-widget select,
.dx-texteditor-input,
.dx-list-item-content,
.dx-menu-item-text,
.dx-item-content {
    font-family: 'Rubik', sans-serif !important;
}

/* --- DXIcons font restoration (overridden by p,div Rubik rule above) --- */
.dx-icon:not(.fas):not(.far):not(.fab)::before,
.dx-dropdowneditor-icon::before {
    font-family: DXIcons !important;
}

/* --- Datebox: use same dropdown chevron as selectbox instead of calendar icon --- */
.dx-datebox .dx-dropdowneditor-icon::before {
    content: "\f001" !important;
}

/* --- Input sizing: match Bootstrap 3 input height (34px) --- */
.dx-selectbox,
.dx-textbox,
.dx-numberbox {
    border-radius: 0;
    height: 34px;
}

.dx-selectbox .dx-texteditor-input,
.dx-textbox .dx-texteditor-input,
.dx-numberbox .dx-texteditor-input,
.dx-datebox .dx-texteditor-input {
    height: 34px;
    min-height: 34px;
    padding: 5px 12px 7px 11px;
    font-size: 14px;
}

.dx-textarea .dx-texteditor-input {
    padding: 6px 12px 6px 12px;
    font-size: 14px;
}

/* --- Context menu / popup menu font size: match standard 14px --- */
.dx-context-menu .dx-menu-item-text,
.dx-context-menu .dx-item-content {
    font-size: 14px;
}

/* --- Checkbox checklist: reusable bordered scrollable list --- */
.rcm-checklist {
    min-height: 80px;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ddd;
    padding: 0;
}

.rcm-checklist label {
    display: block;
    margin: 0;
    font-weight: normal;
    cursor: pointer;
    font-size: 14px;
    padding: 2px 8px 0;
}

.rcm-checklist label:hover {
    background-color: #f5f5f5;
}

.rcm-checklist input[type="checkbox"] {
    margin-right: 8px;
    position: relative;
    top: 1px;
}

/* --- Input focus/hover states: match Bootstrap 3 --- */
.dx-selectbox.dx-state-hover,
.dx-textbox.dx-state-hover,
.dx-numberbox.dx-state-hover {
    border-color: #66afe9;
}

.dx-selectbox.dx-state-focused,
.dx-textbox.dx-state-focused,
.dx-numberbox.dx-state-focused {
    border-color: #66afe9;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
}

/* --- Dropdown buttons: consistent 34px width across all editor types --- */
.dx-selectbox .dx-dropdowneditor-button {
    width: 34px !important;
}

.dx-selectbox .dx-dropdowneditor-button .dx-dropdowneditor-icon {
    width: 34px !important;
    height: 32px !important;
}

.dx-datebox .dx-dropdowneditor-button {
    width: 34px;
    min-width: 34px;
}

.dx-datebox .dx-dropdowneditor-icon {
    width: 34px;
}

/* --- Textareas: resizable with bottom-right grip handle --- */
.dx-textarea .dx-texteditor-input {
    resize: vertical;
}

.dx-textarea .dx-texteditor-container {
    overflow: visible !important;
}

/* --- Buttons: match Bootstrap 3 input height (only toolbar/popup buttons) --- */
.dx-popup-wrapper .dx-button,
.dx-toolbar .dx-button,
.dx-dropdownbutton .dx-button {
    height: 34px !important;
    min-width: 34px;
}

.dx-popup-wrapper .dx-button .dx-button-content,
.dx-toolbar .dx-button .dx-button-content,
.dx-dropdownbutton .dx-button .dx-button-content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    height: 100%;
}

/* --- Button icons: constrain DXIcons, leave Font Awesome alone --- */
.dx-button .dx-icon:not(.fas):not(.far):not(.fab) {
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    line-height: 14px !important;
}

.dx-button .dx-icon.fas,
.dx-button .dx-icon.far,
.dx-button .dx-icon.fab {
    font-size: 14px !important;
}

/* --- Calendar: reset popup/button overrides (datebox calendar renders inside popup DOM) --- */
.dx-calendar .dx-button {
    height: auto !important;
    min-width: auto !important;
}

.dx-calendar .dx-button .dx-button-content {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 8px !important;
    height: auto !important;
}

.dx-calendar .dx-button .dx-icon:not(.fas):not(.far):not(.fab) {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
}

.dx-calendar-navigator .dx-button {
    border: none !important;
    background: transparent !important;
}

/* --- Popup close button: shift up to vertically center in header --- */
.dx-popup-wrapper .dx-closebutton {
    margin-top: -3px;
}

/* --- Dropdown list items: compact padding --- */
.dx-list-item {
    padding: 2px 8px !important;
    font-size: 14px;
    white-space: pre;
}

.dx-list-item .dx-list-item-content {
    white-space: pre;
    padding: 2px 0 !important;
}

.dx-list-item.dx-state-active,
.dx-list-item.dx-state-focused {
    background-color: #00AEEF !important;
    color: #ffffff !important;
}

/* --- DataGrid: prevent icon-only cells from showing ellipsis --- */
.dx-datagrid .dx-row > td.EditButtonDataCell {
    overflow: visible;
}

/* --- dxPopup: match old BootstrapPopupControl modal styling --- */

/* Square corners, no blue focus outline */
.dx-popup-wrapper .dx-overlay-content {
    border-radius: 0 !important;
}

.dx-popup-wrapper .dx-overlay-content.dx-state-focused {
    border-color: #ddd !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Content: 15px padding, proper line-height, scrollable (only modal popups, not dropdown overlays) */
.dx-popup-wrapper:not(.dx-dropdowneditor-overlay) .dx-popup-content {
    padding: 15px !important;
    overflow-x: hidden;
    overflow-y: auto;
    line-height: 1.9;
}

/* Dropdown overlays (selectbox, datebox): no extra padding */
.dx-dropdowneditor-overlay .dx-popup-content {
    padding: 0 !important;
    overflow-x: visible;
    line-height: normal;
}

/* Header: padding, bottom border separator, font */
.dx-popup-wrapper .dx-popup-title {
    padding: 12px 15px !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

.dx-popup-wrapper .dx-popup-title .dx-toolbar-label > div {
    font-size: 14px;
    font-weight: 400;
}

/* Labels inside fieldsets: bold, matching old popup */
.dx-popup-wrapper fieldset > label {
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 4px;
    display: block;
}

/* Textarea min-height for Notes fields (excludes short memo fields like termination details) */
.dx-popup-wrapper .dx-textarea:not(.rcm-memo-short) .dx-texteditor-input {
    min-height: 118px;
}

/* Popup alerts: consistent font size and padding */
.dx-popup-wrapper .alert {
    font-size: 14px;
    padding: 15px;
}

/* Popup action buttons: consistent sizing */
.dx-popup-wrapper .dx-popup-content .dx-button {
    min-width: 80px;
    border-radius: 4px !important;
}

.dx-popup-wrapper .dx-popup-content .dx-button .dx-button-content {
    padding: 7px 18px !important;
}

/* Save button (type=default, contained): Rain City Maids blue */
.dx-popup-wrapper .dx-popup-content .dx-button-default.dx-button-mode-contained {
    background-color: #00AEEF !important;
    border-color: #00AEEF !important;
    margin-right: 10px;
}

.dx-popup-wrapper .dx-popup-content .dx-button-default.dx-button-mode-contained .dx-button-text {
    color: #fff !important;
}

.dx-popup-wrapper .dx-popup-content .dx-button-default.dx-button-mode-contained:hover,
.dx-popup-wrapper .dx-popup-content .dx-button-default.dx-button-mode-contained.dx-state-hover {
    background-color: #0092c7 !important;
    border-color: #0092c7 !important;
}

/* Delete button (type=danger, outlined): plain gray, NOT red */
.dx-popup-wrapper .dx-popup-content .dx-button-danger.dx-button-mode-outlined {
    background-color: transparent !important;
    border-color: #ddd !important;
}

.dx-popup-wrapper .dx-popup-content .dx-button-danger.dx-button-mode-outlined .dx-button-text {
    color: #333 !important;
}

.dx-popup-wrapper .dx-popup-content .dx-button-danger.dx-button-mode-outlined:hover,
.dx-popup-wrapper .dx-popup-content .dx-button-danger.dx-button-mode-outlined.dx-state-hover {
    background-color: #f5f5f5 !important;
    border-color: #ccc !important;
}

/* Cancel button (type=normal, outlined): gray border */
.dx-popup-wrapper .dx-popup-content .dx-button-normal.dx-button-mode-outlined {
    border-color: #ddd !important;
}

.dx-popup-wrapper .dx-popup-content .dx-button-normal.dx-button-mode-outlined .dx-button-text {
    color: #333 !important;
}

/* --- dx-btn-group: Bootstrap btn-group equivalent for dxButton widgets ---
   Specificity must beat .dx-popup-wrapper .dx-popup-content .dx-button (3 classes)
   so we use .dx-popup-content .dx-btn-group prefix where needed. */
.dx-btn-group {
    display: inline-flex;
    position: relative;
}

.dx-btn-group > .dx-button,
.dx-btn-group > div > .dx-button,
.dx-popup-content .dx-btn-group > .dx-button,
.dx-popup-content .dx-btn-group > div > .dx-button {
    border-radius: 0 !important;
    position: relative;
    min-width: 0 !important;
}

.dx-btn-group > .dx-button:first-child,
.dx-btn-group > div:first-child > .dx-button,
.dx-popup-content .dx-btn-group > .dx-button:first-child,
.dx-popup-content .dx-btn-group > div:first-child > .dx-button {
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

.dx-btn-group > .dx-button:last-child,
.dx-btn-group > div:last-child > .dx-button,
.dx-popup-content .dx-btn-group > .dx-button:last-child,
.dx-popup-content .dx-btn-group > div:last-child > .dx-button {
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}

.dx-btn-group > .dx-button + .dx-button,
.dx-btn-group > div + div > .dx-button {
    margin-left: -1px;
}

.dx-btn-group > .dx-button.dx-state-hover,
.dx-btn-group > div > .dx-button.dx-state-hover,
.dx-btn-group > .dx-button.dx-btn-group-active,
.dx-btn-group > div > .dx-button.dx-btn-group-active {
    z-index: 1;
}

/* Active/selected state for toggle groups */
.dx-btn-group .dx-btn-group-active {
    background-color: #e0e0e0 !important;
    border-color: #bbb !important;
}

/* Global dxTagBox tag styling - blue pills with remove button */
.dx-tag {
    margin: 0 3px 0 0 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    align-self: center !important;
}

.dx-tag-content {
    background-color: #00AEEF !important;
    color: #fff !important;
    border-radius: 3px !important;
    padding: 6px 28px 4px 10px !important;
    line-height: 1.2 !important;
}

.dx-tag-remove-button {
    background: transparent !important;
    border: none !important;
    margin-top: -1px !important;
}

.dx-tag-remove-button::before,
.dx-tag-remove-button::after {
    background-color: #fff !important;
}

.dx-tag-container {
    padding: 1px 8px 2px 2px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 2px 0 !important;
}

.dx-tagbox .dx-texteditor-container {
    overflow: visible !important;
    height: auto !important;
    min-height: 32px !important;
}

.dx-tagbox .dx-dropdowneditor-input-wrapper {
    overflow: visible !important;
    height: auto !important;
    min-height: 32px !important;
}

.dx-tagbox.dx-texteditor {
    height: auto !important;
    min-height: 34px !important;
}

/* === End DevExtreme Global Overrides === */

.panel {
    margin: 0;
}

.top-menu {
    display: inline-block;
    padding: 0 15px;
}

#mnuSiteHeaderNavigation .fa-user,
#mnuSiteHeaderNavigation_DXI0_T > span > i {
    color: #dddddd !important;
}


@media (max-width: 767px) {
    .top-menu {
        top: 6px;
        right: 52px;
        width: 100%;
    }

    .top-menu > .navbar-nav > li {
        float: none !important;
    }

    #siteHeaderMenu {
        display: none;
    }
}

@media (min-width: 768px) {
    body {
        margin-top: 0px;
    }

    .top-menu {
        float: right !important;
        margin-right: -15px;
    }
}

.navbar-inverse {
    background-color: #00AEEF !important;
    /*background-color: #337ab7 !important;*/
}

/*@media (min-width: 0px) {
    .container {
        width: 100% !important;
    }
}*/

.container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
    margin-left: 0 !important;
}

.container-fluid {
    
}

.navbar-inverse .navbar-toggle {
    border-color: white;
}

    .navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover {
        background-color: #00AEEF !important;
    }

.navbar-inverse .navbar-nav > li > a {
    color: white !important;
}

.navbar-inverse {
    border-color: white !important;
}

    .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:focus, .navbar-inverse .navbar-nav > .active > a:hover {
        background-color: transparent;
    }

    .user-menu {
        padding-top:8px;
    }

.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
    border-color: white !important;
}

.blue-icon {
    color: #00AEEF;
}

.white-icon {
    color: #FFFFFF;
}

.button {
    border-color: #00AEEF !important;
    background: #00AEEF !important;
    color: #FFFFFF !important;
}

.button:hover {
    background: #0092c7 !important;
}

.link {
    cursor: pointer;
}

fieldset {
    margin: 20px 0 0 !important;
}

.employee-portal-link {
    font-size: 18px;
    vertical-align: text-bottom;
}

#MonthlySurveyButton {
    position: fixed !important;
    z-index: 10 !important;
    right: 0px !important;
    top: 300px !important;
    transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    width: 34px;
}

/* Popup z-index fixes - ensure popupNewQuote appears in front of navbar */
#popupNewQuote {
    z-index: 99999 !important;
}

#popupNewQuote .dxpc-mainDiv {
    z-index: 99999 !important;
}

.dxbsPopup_Bootstrap#popupNewQuote {
    z-index: 99999 !important;
}

#btnStartMonthlySurvey {
    border-radius: 4px 4px 0 0;
    padding: 7px 12px 5px;
}

.dxgvControl_MetropolisBlue,
.dxgvDisabled_MetropolisBlue 
.dxgvControl_MetropolisBlue,
.dxgvDisabled_MetropolisBlue {
    border: 1px Solid #c0c0c0;
    font-family: 'Rubik', sans-serif !important;
    font-size: 15px !important;
    background-color: White;
    color: #333333;
    cursor: default;
}

.dxgvAdaptiveHeaderPanel_MetropolisBlue {
    display:none;
}

.dxlpControl_MetropolisBlue.dxlpLoadingDiv_MetropolisBlue {
    opacity: 0;
}

#sidebar {
    position: fixed;
    top: 45px;
    bottom: 0;
    left: 0;
    z-index: 1000;
    overflow-x: hidden;
    padding: 0;
    background: #fafafa;
    display: block;
    width: 150px;
    /*transition: width 250ms;*/
    display:none;
    border-right:1px solid #ddd;
}

#content {
    /*transition: margin-left 250ms,width 250ms;*/
    margin-left: 0px;
    /*padding-right: 25px;*/
}

.toast-bottom-center {
    bottom: 50px;
}

#toast-container > div {
    opacity: 1;
}

.dxbs-tree > ul.nav ul.nav {
    margin: 0;
}

.nav > li > a {
    color: #333;
}

.nav > li > a > span > i {
    color: #666;
}

.nav-pills > li > a {
    border-radius: 0;
}

.nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover,
.nav-pills > li.active > a > span > i {
    /*background-color: #00AEEF;*/
    background-color: transparent;
    color: #00AEEF !important;
}

.navbar {
    border: 0 none !important;
}

.MainNavItem {

}

.MainNavItem > a {
    color: #333333;
}

/*.navbar-toggle {
    float: left;
}*/

.navbar-header {
    margin:0 0 0 6px;
    width: 100%;
}

/*#sidebar {
    display:none !important;
}

#content {
    margin-left: 0 !important;
}*/

#tvNavigation {
    margin-top: 2px;
}

@media (min-width: 768px) {
    .navbar-toggle {
        display: block;
    }
}

@media (min-width: 1201px) {
    #sidebar {
        display: block;
    }

    #content {
        margin-left: 150px;
    }

    .navbar-toggle {
        display: none;
    }

    #tvNavigation > ul > li > ul > li > ul > li > a {
        width: 132px;
    }
}

@media(max-width: 1200px) {
    body:not(.collapse-nav) #content {
        margin-left: 150px
    }

    body:not(.collapse-nav) #sidebar {
        display: block;
        width: 100%;
    }
    .navbar-toggle {
        display: block;
        float: left;
    }
}

.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
    line-height: 1.25;
}

.BootstrapLabel {
    font-family: 'Rubik', sans-serif !important;
    font-size: 14px;
}

.btn-default {
    color: #666666;/*#2196F3;*/
}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
    background-color: #00AEEF;
    border-color: #00AEEF;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {
    background-color: #00AEEF;
}

.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover {
    border-color: #00AEEF;
    background-color: #dedede;
    color: #555;
}


.input-group .form-control {
    background-color: white;
    cursor: pointer;
}


i.EditButtonDataCell {
    color: #1494CC;
}

    i.EditButtonDataCell:hover {
        color: #00AEEF;
    }

a.ListLink {
    color: #333333;
    text-decoration: none;
}

    a.ListLink:hover {
        text-decoration: underline;
    }

#steps {
    font-size: 14px;
    line-height: 20px;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    margin: 28px -8px 30px -8px;
    padding-left: 10px;
    text-align: left;
    width: 100%;
}

.step {
    line-height: 1.35em;
    padding-left: 5px;
}

    .step:before {
        -webkit-transition: all 125ms ease-in-out;
        transition: all 125ms ease-in-out;
        color: inherit;
        content: counter(progress-bar-counter, decimal) ". ";
        left: 0.5em;
        line-height: 22px;
        display: inline;
    }

.step-wrapper:first-child .step {
    padding-left: 0;
}

.step-wrapper {
    -webkit-transition: all 125ms ease-in-out;
    transition: all 125ms ease-in-out;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 0px;
    flex: 1 0 0px;
    margin-left: 5px;
    position: relative;
    counter-increment: progress-bar-counter;
    border-top: 8px solid #E7E7E9;
    color: #A5A6AC;
    padding-left: 0;
    padding-top: 8px;
}

    .step-wrapper:after {
        -webkit-transition: all 125ms ease-in-out;
        transition: all 125ms ease-in-out;
        top: -8px;
        border-radius: 50%;
        background-color: #E7E7E9;
        content: '';
        display: block;
        height: 8px;
        position: absolute;
        right: -4px;
        width: 24px;
        z-index: 2;
    }

    .step-wrapper:before {
        border-radius: 2px 50% 50% 2px;
        background-color: #FFFFFF;
        content: '';
        display: block;
        height: 10px;
        left: -16px;
        position: absolute;
        width: 22px;
        top: -9px;
        z-index: 1;
    }

    .step-wrapper:first-child:before, .step-wrapper:last-child:after {
        border-radius: 50%;
        background-color: #E7E7E9;
        height: 8px;
        width: 8px;
    }

    .step-wrapper:first-child:before {
        left: -4px;
        top: -8px;
        background-color: #E7E7E9;
    }

    .step-wrapper.done {
        border-color: #00AEEF;
        color: #77B6E5;
    }

        .step-wrapper.done:after {
            background-color: #00AEEF;
        }

        .step-wrapper.done a {
            color: #77B6E5;
        }

            .step-wrapper.done a:hover {
                color: #00AEEF;
            }

    .step-wrapper.current {
        border-color: #00AEEF;
        color: #00AEEF;
        font-weight: 600;
    }

        .step-wrapper.current:after {
            background-color: #00AEEF;
        }

        .step-wrapper.current a {
            color: #00AEEF;
        }

            .step-wrapper.current a:hover {
                color: #00AEEF;
            }

    .step-wrapper.error {
        border-color: #ef5638;
        color: #ef5638;
    }

        .step-wrapper.error:after {
            background-color: #ef5638;
        }

        .step-wrapper.error a {
            color: #ef5638;
        }

            .step-wrapper.error a:hover {
                color: #d73d1d;
            }

    .step-wrapper.done:first-child:before, .step-wrapper.done:first-child:after, .step-wrapper.current:first-child:before, .step-wrapper.current:first-child:after {
        background-color: #00AEEF;
    }

    .step-wrapper.done:last-child:after, .step-wrapper.current:last-child:after {
        background-color: #00AEEF;
    }

    .step-wrapper.error:first-child:before, .step-wrapper.error:first-child:after {
        background-color: #ef5638;
    }

#steps {
    font-size: 14px;
    line-height: 20px;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    margin: 28px -8px 30px -8px;
    padding-left: 10px;
    text-align: left;
    width: 100%;
}

.step {
    line-height: 1.35em;
    padding-left: 5px;
}

    .step:before {
        -webkit-transition: all 125ms ease-in-out;
        transition: all 125ms ease-in-out;
        color: inherit;
        content: counter(progress-bar-counter, decimal) ". ";
        left: 0.5em;
        line-height: 22px;
        display: inline;
    }

.step-wrapper:first-child .step {
    padding-left: 0;
}

.step-wrapper {
    -webkit-transition: all 125ms ease-in-out;
    transition: all 125ms ease-in-out;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 0px;
    flex: 1 0 0px;
    margin-left: 5px;
    position: relative;
    counter-increment: progress-bar-counter;
    border-top: 8px solid #E7E7E9;
    color: #A5A6AC;
    padding-left: 0;
    padding-top: 8px;
}

    .step-wrapper:after {
        -webkit-transition: all 125ms ease-in-out;
        transition: all 125ms ease-in-out;
        top: -8px;
        border-radius: 50%;
        background-color: #E7E7E9;
        content: '';
        display: block;
        height: 8px;
        position: absolute;
        right: -4px;
        width: 24px;
        z-index: 2;
    }

    .step-wrapper:before {
        border-radius: 2px 50% 50% 2px;
        background-color: #FFFFFF;
        content: '';
        display: block;
        height: 10px;
        left: -16px;
        position: absolute;
        width: 22px;
        top: -9px;
        z-index: 1;
    }

    .step-wrapper:first-child:before, .step-wrapper:last-child:after {
        border-radius: 50%;
        background-color: #E7E7E9;
        height: 8px;
        width: 8px;
    }

    .step-wrapper:first-child:before {
        left: -4px;
        top: -8px;
        background-color: #E7E7E9;
    }

    .step-wrapper.done {
        border-color: #00AEEF;
        color: #77B6E5;
    }

        .step-wrapper.done:after {
            background-color: #00AEEF;
        }

        .step-wrapper.done a {
            color: #77B6E5;
        }

            .step-wrapper.done a:hover {
                color: #00AEEF;
            }

    .step-wrapper.current {
        border-color: #00AEEF;
        color: #00AEEF;
        font-weight: 600;
    }

        .step-wrapper.current:after {
            background-color: #00AEEF;
        }

        .step-wrapper.current a {
            color: #00AEEF;
        }

            .step-wrapper.current a:hover {
                color: #00AEEF;
            }

    .step-wrapper.error {
        border-color: #ef5638;
        color: #ef5638;
    }

        .step-wrapper.error:after {
            background-color: #ef5638;
        }

        .step-wrapper.error a {
            color: #ef5638;
        }

            .step-wrapper.error a:hover {
                color: #d73d1d;
            }

    .step-wrapper.done:first-child:before, .step-wrapper.done:first-child:after, .step-wrapper.current:first-child:before, .step-wrapper.current:first-child:after {
        background-color: #00AEEF;
    }

    .step-wrapper.done:last-child:after, .step-wrapper.current:last-child:after {
        background-color: #00AEEF;
    }

    .step-wrapper.error:first-child:before, .step-wrapper.error:first-child:after {
        background-color: #ef5638;
    }

    .step-wrapper a {
        color: #A5A6AC;
    }



.FieldDisabled {
    background-color: #eeeeee !important;
}

fieldset.first {
    margin-top: 0 !important;
}

/* New Quote Popup Styles */
.newQuoteFieldset {
    margin: 15px 0 0 !important;
}

.newQuoteExtrasCheckboxes {
    margin: 5px 0;
    /*padding-left: 16px;*/
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

div.newQuoteExtrasCheckboxes > label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

/* New Quote Promo Code - Uppercase (matching BookingEdit exactly) */
#txtNewQuotePromo > div > input {
    text-transform: uppercase;
}

/* New Quote Pricing Table - Exact copy of BookingEdit styles */
#newQuoteSummaryTable {
    color: white;
    width: 100%;
}

#newQuoteSummaryTable > thead > tr > th {
    font-family: 'Rubik', sans-serif !important;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    padding-bottom: 5px;
    border-bottom: 1px solid #ffffff;
}

#newQuoteSummaryTableBody > tr > td {
    padding: 4px 0;
    max-width: 0;
    width: 50%;
}

#newQuoteSummaryTableBody > tr > td:nth-child(1) {
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#newQuoteSummaryTableBody > tr > td:nth-child(2) {
    text-align: right;
}

.newQuoteSummaryTotal {
    padding: 5px 0 0 !important;
    border-top: 1px solid #ffffff;
}

.newQuoteSummaryTotalLine2 {
    padding: 5px 0 0 !important;
}

#newQuoteSummaryDiv {
    background: #888;
    color: white;
    width: 100%;
    padding: 10px;
    border-radius: 4px;
}

.promoCodeStatus {
    padding-left: 7px;
}

    .promoCodeStatus.valid {
        color: #00BD47; /* green */
    }

    .promoCodeStatus.invalid {
        color: #FF2C00; /* red */
    }

.GridEditColumn {
    width: 30px;
    text-align: center;
}

.TokenEditIssueEmployees {
    border-radius: 4px;
    border: 1px solid #cccccc !important;
    /*padding: 4px;*/
    font-family: 'Rubik', sans-serif !important;
    font-size: 15px !important;
    background-color: #ffffff;
}

.TokenEditIssueEmployeesToken {
    border-radius: 4px;
    /*padding: 6px 6px 6px 6px;*/
}

.dxeFocused_Moderno {
    border: 1px solid #66AFE9 !important;
    box-shadow: 0px 0px 4px 0px #66AFE9 !important;
    -webkit-box-shadow: 0px 0px 4px 0px #66AFE9 !important;
}

.dxeButtonEdit_Moderno .dxeEditArea_Moderno {
    background-color: #ffffff !important;
}

.dxeButtonEdit_Moderno td.dxictb {
    padding: 0px 0px 3px 3px !important;
}

.navbar {
    min-height: 40px;
}

.navbar-toggle{
    margin-top:6px;
    margin-bottom:6px;
}

#tvNavigation > .nav > li > a {
    padding:7px 8px;
}

/*.btn-default.active.focus, .btn-default.active:focus, .btn-default.active:hover, .btn-default:active.focus, .btn-default:active:focus, .btn-default:active:hover, .open > .dropdown-toggle.btn-default.focus, .open > .dropdown-toggle.btn-default:focus, .open > .dropdown-toggle.btn-default:hover {
    outline-color: #00AEEF !important;
}*/

.btn:focus {
    outline-color: transparent !important;
}

.dxeListBoxItemHover_Moderno {
    background-color: #00AEEF;
}

.dxgvDI.dxgvAIC {
    width:40px !important;
}

/* to prevent wrap in adaptive view detail text */
/*.dxbs-gridview .dxbs-fixed > thead > tr > th, .dxbs-gridview .dxbs-fixed > tbody > tr > td, .dxbs-gridview .dxbs-fixed > tfoot > tr > td {
    white-space: normal;
}*/
/*disabled for now because it also affects the main table wrap*/

/*.dxbs-gridview > .panel > table > tbody > tr > td, .dxbs-gridview > .panel > table > thead > tr > th {
    white-space: normal;
}*/

.dxgvADDC {
    white-space: normal;
}

.progress-bar {
    background-color: #00AEEF !important;
}

/* 20200310 removed because impact on maid money activities/perks label but may affect elsewhere */
/*#BootstrapPageControl1_CC {
    padding-top:0 !important;
}*/

.TokenEditMaidMoneyEarningEmployees {
    border-radius: 4px;
    border: 1px solid #cccccc !important;
    /*padding: 4px;*/
    font-family: 'Rubik', sans-serif !important;
    font-size: 15px !important;
    background-color: #ffffff;
}

.TokenEditMaidMoneyEarningEmployeesToken {
    border-radius: 4px;
    /*padding: 6px 6px 6px 6px;*/
}

#imgEditMaidMoneyRedemptionPerk {
    max-height: 130px;
    max-width: 200px;
}

:not(.modal) > .dxbs-popup {
    top: 0;
}

#lbEditEvaluationChecklist {
    min-height:80px;
}

#lbEditApplicationHiringChecklist > li > div {
    padding:7px 8px;
}

#sidebar #tvNavigation ul > li ul > li > a {
/*    padding-left: 20px;
    padding-right:4px;*/
    padding: 7px 4px 7px 20px;
}

#sidebar #tvNavigation ul > li ul > li > ul > li > a {
    padding-left: 30px;
}

#sidebar #tvNavigation ul > li ul > li > ul > li > ul > li > a {
    padding-left: 40px;
}

#tvNavigation > ul > li > ul > li > ul > li > a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.headerMessage {
    padding: 3px 10px;
    /*background-color: #00BD47 !important;*/
    color: #dddddd !important;
    text-align:center;
}

.navicon {
    margin-right:6px;
}

#tvNavigation > ul > li > ul > li > a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#tvNavigation > ul > li > a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*.NavItemSeparatorTop {
    border-top:1px solid #ddd;
}

.NavItemSeparatorBottom {
    border-bottom: 1px solid #ddd;
}*/

.buttonOrange {
    border-color: #FF8500 !important;
    background-color: #FF8500 !important;
    color: #FFFFFF !important;
    margin-top: 10px;
}

.buttonOrange:hover {
    background-color: #CD6B00 !important;
}

.buttonBlue {
    border-color: #00AEEF !important;
    background-color: #00AEEF !important;
    color: #FFFFFF !important;
    margin-top: 10px;
}

    .buttonBlue:hover {
        background-color: #0092c7 !important;
    }

.buttonGreen {
    border-color: #00BD47 !important;
    background-color: #00BD47 !important;
    color: #FFFFFF !important;
    margin-top: 10px;
}

    .buttonGreen:hover {
        background-color: #00B142 !important;
    }

/*.buttonGray {
    border-color: #ddd !important;
    background-color: #ddd !important;
    color: #666 !important;
    margin-top: 10px;
    padding: 6px;
}

.buttonGray:hover {
    background-color: #ccc !important;
}*/

.buttonGray {
    border-color: #999999 !important;
    background-color: #999999 !important;
    color: #FFFFFF !important;
    margin-top: 10px;
}

.buttonGray:hover {
    background-color: #888888 !important;
}

.buttonRed {
    border-color: #FF2C00 !important;
    background-color: #FF2C00 !important;
    color: #FFFFFF !important;
    margin-top: 10px;
}

.buttonRed:hover {
    background-color: #C62200 !important;
}

.buttonYellow {
    border-color: #ffb600 !important;
    background-color: #ffb600 !important;
    color: #FFFFFF !important;
    margin-top: 10px;
}

.buttonYellow:hover {
    background-color: #C68D00 !important;
}

.buttonNone {
    margin-top: 10px;
}

.buttonRed:hover {
}

#content > div.container-fluid > div.titleRow {
    margin: 15px 0 15px;
}

#content > div.container-fluid > div.titleRow > div {
padding: 0;
}

#content > div.container-fluid > div.titleRow > div > h2 {
    margin: 0;
}

.tabcontrolEditEmployee_C1 {
    padding-bottom:0;
}

.siteHeaderLogo {
    float: left;
}

#siteHeaderMenu {
    float: right;
    text-align: right;
}

#siteHeaderMenuSearchBox {
    float: left;
    padding:6px 0;
    width:250px;
}

.siteHeaderTipOfTheDay {
    float: right;
    padding: 8px 15px 0 0;
    font-size: 1.6em;
    color: #dddddd;
    cursor: pointer;
}

.siteHeaderTipOfTheDay:hover {
    color:#efefef;
}


.siteHeaderActionCenter {
    float: right;
    padding: 8px 15px 0 0;
    font-size: 1.6em;
    color: #dddddd;
    cursor: pointer;
    position: relative;
}

.siteHeaderActionCenter:hover {
    color: #efefef;
}

.ac-header-badge {
    position: absolute;
    top: 3px;
    right: 8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 10px;
    font-weight: 600;
    line-height: 16px;
    text-align: center;
    background: #d9534f;
    color: #fff;
    border-radius: 8px;
}

#siteHeaderMenuNewBookingButton {
    padding: 6px 12px 6px 10px;
    float: left;
}

#siteHeaderMenuNewButton {
    padding: 6px 12px 6px 10px;
    float: left;
}

#popupCancelBooking > div > div.modal-header {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cmbSiteSearch-Control {
    background-color:#00aeef;
}

.cmbSiteSearch-Input {
    background-color: #00AEEF;
    color: #BFE2F9;
    border: 1px solid #BFE2F9;
}

.cmbSiteSearch-Input:focus {
    border-color: #FFFFFF;
    color: #FFFFFF;
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.cmbSiteSearch-Input:hover {
    border-color: #FFFFFF;
    outline: 0;
}

.cmbSiteSearch-NullText {
    color: #BFE2F9;
}

#cmbSiteSearch > div > span > span > span {
    color: #BFE2F9 !important;
}

.btnSiteNewBooking-Control {
    border-color: #BFE2F9 !important;
    background: #00AEEF !important;
    color: #BFE2F9 !important;
}

.btnSiteNewBooking-Control:hover {
    border-color: #FFFFFF !important;
    color: #FFFFFF !important;
    /*background: #0092c7 !important*/
}

#divSiteHeaderRightMenu {
    float: right;
    vertical-align: middle;
    height: 40px;
    text-align: right;
    padding-top: 10px;
    margin-right: 18px;
}

.mnuSiteHeaderNavigation-Control {
}

.mnuSiteHeaderNavigation-Menu {
}

.mnuSiteHeaderNavigation-MenuItem {

}

.mnuSiteHeaderNavigation-SubMenu {
}

.mnuSiteHeaderNavigation-SubMenuItem {
}

.mnuSiteHeaderNavigation-MenuItem > a {
    padding: 2px 0 0 !important;
    color: #dddddd !important;
    font-size: 18px;
}

    .mnuSiteHeaderNavigation-MenuItem > a:hover,
    .mnuSiteHeaderNavigation-MenuItem > a:focus {
        background-color: transparent !important;
    }


.CancelBookingTitle {
    font-size: 20px;
    margin: 10px 0;
}

.tableCancelBookingOptions {
    width: 100%;
}

.tdCancelBookingOptions {
    width: 100%;
}

.PageTitle {
    font-size: 30px;
    font-family: 'Rubik', sans-serif !important;
    margin: 10px 0;
}

.PageSubTitle {
    font-size: 14px;
}

#fsCancelBookingAlert {
    margin: 0 0 20px !important;
}

.divCancelBookingLateCancellationMessage {
    background-color: #FF2C00;
    color: white;
    border-radius: 4px;
    padding: 15px;
}

.nav-tabs > li.active {
    font-weight: bold;
}

.ratingGreen {
    color: #00BD47;
}

.ratingYellow {
    color: #F8CF1D;
}

.ratingRed {
    color: #FF2C00;
}

.ratingGray {
    color: #CCCCCC;
}

#cmbSiteSearch > div.dxbs-listbox.dxbs-dropdown-area.dxbs-dm.dropdown-menu.dx-dropdown-menu > ul {
    width:300px;
}

.dxbs-listbox > .list-group > li.list-group-item, .dxbs-listbox li > .list-group-item, .dxbs-listbox > .list-group li > .list-group-item {
    padding:5px 10px;
}
/*
div.dxbs-dropdown-edit > div.input-group > div.dxbs-input-cntr > input:hover {
    cursor: pointer;
}

.list-group > li {
    padding:5px 10px;
}

.list-group > li:hover {
    text-decoration: none;
    background-color:#eeeeee;
    cursor:pointer;
}

.list-group > li.active {
    background-color: #eeeeee;
}


.list-group > li > a {
    color:#555;
}*/

.logBadge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 4px;
    font-size: 12px;
    /*font-weight: 700;*/
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #aaa;
    border-radius: 4px;
}

.logBadge.red {
    background-color: #FF2C00;
}

.logBadge.blue {
    background-color: #00AEEF;
}


.NavSeparator {
    border-top: 1px solid #CCCCCC;
}

/* ========================================
   DIRECT HTML NAVIGATION STYLES
   (Replaces DevExpress TreeView for performance)
   ======================================== */

/* Main navigation container */
.nav-tree {
    margin-top: 2px;
    font-family: 'Rubik', sans-serif;
}

/* Navigation sections (Sales, Operations, etc.) */
.nav-section {
    margin-bottom: 0;
}

.nav-section.NavItemSeparatorTop {
    border-top: 1px solid #ddd;
    margin-top: 8px;
    padding-top: 8px;
}

.nav-section.NavSeparator {
    border-top: 1px solid #CCCCCC;
    margin-top: 0;
    padding-top: 0;
}

/* Navigation headers (clickable section headers) */
.nav-header {
    display: block;
    padding: 7px 8px;
    font-weight: 500;
    color: #333333;
    text-decoration: none !important;
    background-color: transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

.nav-header:hover {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
}

.nav-header:focus {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
    outline: none;
}

.nav-header.selected {
    background-color: transparent;
    color: #00AEEF !important;
    font-weight: normal;
}

/* Main navigation items (top-level links) */
.MainNavItem {
    display: block;
    padding: 7px 8px;
    color: #333333;
    text-decoration: none;
    background-color: transparent;
    border: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.15s ease-in-out;
}

.MainNavItem:hover {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
}

.MainNavItem:focus {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
    outline: none;
}

.MainNavItem.selected {
    background-color: transparent;
    color: #00AEEF !important;
    font-weight: normal;
}

/* Sub-navigation items (under sections) */
.nav-sub-item {
    display: block;
    padding: 7px 4px 7px 20px;
    color: #333333;
    text-decoration: none;
    background-color: transparent;
    border: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.15s ease-in-out;
}

.nav-sub-item:hover {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
}

.nav-sub-item:focus {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
    outline: none;
}

.nav-sub-item.selected {
    background-color: transparent;
    color: #00AEEF !important;
    font-weight: normal;
}

/* Sub-sub-navigation items (edit context items - more indented) */
.nav-sub-sub-item {
    display: block;
    padding: 7px 4px 7px 35px;
    color: #333333;
    text-decoration: none;
    background-color: transparent;
    border: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.15s ease-in-out;
}

.nav-sub-sub-item:hover {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
}

.nav-sub-sub-item:focus {
    background-color: #f5f5f5;
    color: #333333;
    text-decoration: none;
    outline: none;
}

.nav-sub-sub-item.selected {
    background-color: transparent;
    color: #00AEEF !important;
    font-weight: normal;
}

/* Navigation icons */
.nav-tree .navicon {
    margin-right: 6px;
    color: #666;
    width: 14px;
    text-align: center;
}

.nav-tree .selected .navicon {
    color: #00AEEF;
}

/* Responsive adjustments to match existing TreeView behavior */
@media (min-width: 1201px) {
    .nav-sub-item {
        width: 132px;
    }
}

/* Override any Bootstrap nav styles that might interfere */
.nav-tree a {
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.nav-tree a:hover,
.nav-tree a:focus {
    border: none !important;
    border-radius: 0 !important;
}

.nav-pills > li + li {
    margin: 0;
}

.buttonClock {
    margin: 0 0 0 5px;
    padding: 6px 12px;
}

.buttonClock.green {
    border-color: #BFE2F9 !important;
    background: #45A657 !important;
    color: #FFFFFF !important;
}

.buttonClock.red {
    border-color: #BFE2F9 !important;
    background-color: #DE1F26 !important;
    color: #FFFFFF !important;
}

.buttonClock.blue {
    border-color: #BFE2F9 !important;
    background: #00AEEF !important;
    color: #BFE2F9 !important;
}

.buttonClock.blue:hover {
    border-color: #ffffff !important;
    background: #00AEEF !important;
    color: #ffffff !important;
}

.buttonClock.white {
    border-color: #BFE2F9 !important;
    background: #ffffffcf !important;
    color: #00AEEF !important;
}


.buttonClock.white:hover {
    border-color: #BFE2F9 !important;
    background: #ffffff !important;
    color: #00AEEF !important;
}

#siteFooterTimeTracking {
    position: fixed;
    bottom: 0;
    width: 100%;
    margin: 0;
    height: 46px;
    background: #00aeef;
    padding: 6px 0 0;
    z-index: 2;
}

@media (min-width: 1024px) {
    #siteFooterTimeTracking {
        display: none;
    }
}

#siteFooterClockStatus {
    height: 34px;
    padding: 7px 7px !important;
    border-radius: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 6px;
    color:#FFFFFF;
}

#siteFooterClockStatus {
}

#siteFooterClockStatus.clockedOut {
}

#siteFooterClockStatus.clockedIn {
}

i.fas.fa-clock.clockGreen {
    color: #32a54e;
}

i.fas.fa-clock.clockRed {
    color: #FF2C00;
}

i.fas.fa-clock.clockGray {
    color: #aaa;
}

#siteHeaderPresenceButtons {
    display: inline-block;
    vertical-align: middle;
    border-left: 1px solid rgba(255,255,255,0.3);
    padding-left: 8px;
}

#btnSiteHeaderAway,
#btnSiteHeaderBack {
    margin: 0 0 0 5px;
    padding: 6px 12px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 400;
    line-height: 1.42857;
    border: 1px solid #BFE2F9;
    border-radius: 4px;
    cursor: pointer;
    background: #ffffffcf;
    color: #00AEEF;
    vertical-align: middle;
}

#btnSiteHeaderAway:hover,
#btnSiteHeaderBack:hover {
    background: #ffffff;
}

#awayMenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 5px;
    margin-top: 4px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    z-index: 9999;
    min-width: 160px;
    padding: 6px 0;
    border: 1px solid #e0e0e0;
}

#awayMenu button {
    display: block;
    width: 100%;
    padding: 9px 16px;
    border: none;
    background: none;
    color: #333;
    font-size: 14px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    white-space: nowrap;
}

#awayMenu button:hover {
    background: #f5f5f5;
    color: #00AEEF;
}

#awayMenu button i {
    width: 20px;
    margin-right: 8px;
    text-align: center;
    color: #888;
}

#awayMenu button:hover i {
    color: #00AEEF;
}

/* Break Schedule Link */
.break-schedule-link {
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    padding: 4px 8px;
    font-size: 12px;
    font-family: inherit;
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    cursor: pointer;
    border-left: 1px solid rgba(255,255,255,0.2);
    padding-left: 14px;
}

.break-schedule-link:hover {
    color: #fff;
    text-decoration: none;
}

.break-schedule-link i {
    margin-right: 4px;
}

/* Break Schedule Popup */
.break-schedule-table {
    border-collapse: collapse;
}

.break-schedule-table th {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 2px solid #e0e0e0;
    font-size: 13px;
    font-weight: 600;
    color: #555;
}

.break-schedule-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
    color: #333;
}

.break-schedule-table tbody tr:last-child td {
    border-bottom: none;
}

.break-schedule-name {
    font-weight: 500;
}

.break-schedule-role {
    color: #888;
    font-weight: 400;
    font-size: 12px;
}

.break-schedule-hidden td {
    opacity: 0.4;
}

.break-schedule-hidden td:first-child {
    opacity: 1;
}

#breakSchedulePopup .dx-popup-content {
    overflow-y: auto;
}

/* Presence Toast Notification */
#presenceToast {
    position: fixed;
    top: 60px;
    right: 20px;
    z-index: 99999;
    display: flex;
    align-items: center;
    padding: 10px 16px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-left: 4px solid #00AEEF;
    font-size: 14px;
    font-family: 'Rubik', sans-serif;
    color: #333;
    opacity: 0;
    transform: translateX(100%);
    transition: opacity 0.3s, transform 0.3s;
    pointer-events: none;
}

#presenceToast.show {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

#presenceToast .toast-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 10px;
    flex-shrink: 0;
}

#presenceToast .toast-name {
    font-weight: 500;
    margin-right: 4px;
}

#siteFooterClockButtons {
    float:right;
    margin:0 6px;
}

#siteHeaderTimeTracking {
    top: 0;
    margin: 0;
    height: 46px;
    background: #00aeef;
    padding: 6px 0 0;
    z-index: 2;
    display:block;
    float:left;
}

@media (max-width: 1024px) {
    #siteHeaderTimeTracking {
        display: none;
    }
}

#siteHeaderClockStatus {
    height: 34px;
    padding: 7px 0 !important;
    border-radius: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 0 0 20px;
    float: left;
    width: 110px;
    color: #BFE2F9;
}

#siteHeaderClockStatus.clockedOut {
}

#siteHeaderClockStatus.clockedIn {
}

i.fas.fa-clock.clockGreen {
    color: #32a54e;
}

i.fas.fa-clock.clockRed {
    color: #FF2C00;
}

i.fas.fa-clock.clockGray {
    color: #aaa;
}

#siteHeaderClockButtons {
    float: right;
    margin-right: 80px;
}

#siteHeaderClockButtonClockIn {
    float:right;
}

#siteHeaderClockButtonClockOut {
    float: right;
}

#siteHeaderSearch > div > div > div.dx-texteditor-input-container > input {
    background: #00aeef;
    padding: 6px 9px 6px;
    color: #BFE2F9;
}

#siteHeaderSearch > div > div > div.dx-texteditor-input-container > div {
    color: #BFE2F9;
}

#siteHeaderSearch.dx-texteditor.dx-state-focused.dx-editor-outlined {
    border: 1px solid #BFE2F9 !important;
}

#siteHeaderSearch:hover {
    border-color: #ffffff;
}

.dx-widget {
    font-family: 'Rubik', sans-serif;
    font-size:14px;
}

.dx-selectbox-popup-wrapper .dx-list-item {
    color: #333333;
    cursor: pointer;
}

.site-search-result {
    padding: 8px 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.site-search-info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.site-search-name {
    font-weight: 600;
    font-size: 13px;
    color: #333;
}

.site-search-detail {
    font-size: 12px;
    color: #666;
    margin-top: 2px;
}

.site-search-type {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 2px 6px;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 2px;
    white-space: nowrap;
}

.site-search-type-customer {
    color: #0b7dda;
    background-color: #e8f4fd;
}

.site-search-type-employee {
    color: #2e7d32;
    background-color: #e8f5e9;
}

.dx-placeholder {
    top:1px;
    left:4px;
}

.dx-autocomplete-popup-wrapper .dx-list-item:hover:not(.dx-state-focused) {
    background-color: #f5f5f5 !important;
    color: #333 !important;
}

.dx-autocomplete-popup-wrapper .dx-list-item:hover:not(.dx-state-focused) .site-search-name {
    color: #333 !important;
}

.dx-autocomplete-popup-wrapper .dx-list-item:hover:not(.dx-state-focused) .site-search-detail {
    color: #666 !important;
}

.dx-autocomplete-popup-wrapper .dx-list-item.dx-state-focused .site-search-name,
.dx-autocomplete-popup-wrapper .dx-list-item.dx-state-active .site-search-name {
    color: #fff !important;
}

.dx-autocomplete-popup-wrapper .dx-list-item.dx-state-focused .site-search-detail,
.dx-autocomplete-popup-wrapper .dx-list-item.dx-state-active .site-search-detail {
    color: rgba(255, 255, 255, 0.85) !important;
}

.dx-autocomplete-popup-wrapper .dx-list-item.dx-state-focused .site-search-type,
.dx-autocomplete-popup-wrapper .dx-list-item.dx-state-active .site-search-type {
    color: #fff !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
}

#siteHeaderSearch {
    height: 34px;
    border: 1px solid #ddd;
    border-radius: 4px;
    max-width: 100%;
    text-align: left;
    background-color: #00aeef;
    color: #BFE2F9;
}

#siteHeaderSearch .dx-icon-clear {
    color: #fff !important;
}

#siteHeaderSearchPlaceholder {
    padding: 7px 8px;
}

#divTipOfTheDayHeader {
    font-size:28px;
    margin-bottom: 10px;
}

#divTipOfTheDayContent {
}

#divTipOfTheDayBottomButtons {
    margin-top: 15px;
}

#divTipOfTheDayBottomButtonsRight {
    float:right;
}

#divTipOfTheDayBottomButtonsLeft {
    float:left;
}

#popupTipOfTheDay > div > div.modal-header > span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#popupTipOfTheDay > div > div.modal-header {
    font-size: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#popupTipOfTheDay > div {
    max-width: 360px;
}

#popupTipOfTheDay > div > div.modal-body {
    padding-bottom: 10px;
}

#divFormFillRequestHeader {
    font-size: 28px;
    margin-bottom: 10px;
}

#divFormFillRequestContent {
}

#divFormFillRequestBottomButtons {
    margin-top: 15px;
}

#divFormFillRequestBottomButtonsRight {
    float: right;
}

#divFormFillRequestBottomButtonsLeft {
    float: left;
}

#popupFormFillRequest > div > div.modal-header > span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#popupFormFillRequest > div > div.modal-header {
    font-size: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#popupFormFillRequest > div {
    max-width: 360px;
}

#popupFormFillRequest > div > div.modal-body {
    /*padding-bottom: 10px;*/
}

#btnFormFillRequestCancel {
    min-width: 70px;
}

#btnFormFillRequestOK {
    min-width: 70px;
}

#divSalesFrequentlyAskedQuestionsBottomButtons {
    margin-top: 15px;
}

#divSalesFrequentlyAskedQuestionsBottomButtonsRight {
    float: right;
}

#divSalesFrequentlyAskedQuestionsBottomButtonsLeft {
    float: left;
}

#divSalesFrequentlyAskedQuestionsContent {
    max-height: 500px;
    overflow-x: hidden;
    overflow-y: auto;
}

.customerEmployeeRequestBadge {
    background: #00AEEF;
    color: white;
    font-size: .8em;
    font-weight: bold;
    padding: 4px 6px 5px;
    vertical-align: top;
    position: relative;
    border-radius: 3px;
    white-space: nowrap;
    line-height: 26px;
}

.customerEmployeeRequestBadge.Red {
    background: #FF2C00;
}

.customerEmployeeRequestBadge.Green {
    background: #00BD47;
}

.customerEmployeeRequestBadge.Orange {
    background: #FF8500;
}

.hidePopupHeader {
    display:none;
}

#notificationContent {
    max-height: 400px;
    overflow-y: auto;
}

#notificationBottomButtons {
    margin-top: 15px;
}

#divMainContent {
    margin-bottom: 15px;
}

.GridIconLinkSpacer {
    display: inline;
    margin: 0 0 0 10px;
}

/* Quick Impersonation Popup Styles */
.quick-impersonation-content {
    padding: 15px;
}

.quick-impersonation-listbox {
    height: 400px !important;
    min-height: 400px !important;
}

/* Force the listbox to show more items */
.quick-impersonation-listbox .list-group {
    max-height: 400px !important;
    height: 400px !important;
}

.quick-impersonation-listbox .list-group-item {
    height: auto !important;
    min-height: 30px !important;
}

/* New Quote Team Display Styling (matching BookingEdit) */
#newQuoteTeamTable {
    background: #00aeef;
    color: white;
    width: 100%;
}

#newQuoteTeamTable > thead > tr > th {
    font-family: 'Rubik', sans-serif !important;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
    padding-bottom: 5px;
    border-bottom: 1px solid #ffffff;
}

#newQuoteTeamTableBody > tr > td {
    padding: 4px 0;
    max-width: 0;
}

#newQuoteTeamTableBody > tr > td:nth-child(1) {
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#newQuoteTeamTableBody > tr > td:nth-child(2) {
    text-align: right;
    width: 60px;
}

#newQuoteTeamTable > tfoot > tr > td {
    padding-top: 5px;
    border-top: 1px solid #ffffff;
}

#newQuoteTeamTable > tfoot > tr > td:nth-child(2) {
    text-align: right;
}

#newQuoteTeamDiv {
    background: #00aeef;
    color: white;
    width: 100%;
    padding: 10px;
    border-radius: 4px;
}
