/* Generated automatically by ps_css_bundle_links() in assets/inc/header.php. Do not edit; edit the source files instead. Sources: /assets/css/app-shell.css, /assets/css/theme-component-coverage.css */

/* ==== /assets/css/app-shell.css ==== */
/* App shell styles: moved unchanged from the inline <style> block in assets/inc/header.php
   (performance change, October 2026) so browsers can cache them. Keep the order of this file
   in sync with that block; it is loaded right after the per-user :root variables. */
.swal2-popup {
    --ps-swal-radius: 9px;
    background: #fff !important;
    background-clip: padding-box !important;
    border: 0 !important;
    border-radius: var(--ps-swal-radius) !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22) !important;
    color: #344256 !important;
    isolation: isolate !important;
    max-width: min(620px, calc(100vw - 24px)) !important;
    overflow: clip !important;
    padding: 0 !important;
}

/* Remove the outer frame in every theme, without changing controls or layout. */
body .swal2-container .swal2-popup,
html[data-ps-theme] body .swal2-container .swal2-popup {
    background: #fff !important;
    border: 0 !important;
    border-radius: var(--ps-swal-radius, 9px) !important;
    clip-path: inset(0 round var(--ps-swal-radius, 9px)) !important;
    outline: none !important;
    background-clip: padding-box;
    overflow: hidden !important;
}

body .swal2-container .swal2-popup::before,
body .swal2-container .swal2-popup::after {
    border-radius: inherit !important;
}

body .swal2-container .swal2-popup .swal2-header {
    background: transparent !important;
    border-radius: var(--ps-swal-radius, 9px) var(--ps-swal-radius, 9px) 0 0 !important;
    overflow: hidden !important;
    width: 100% !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup :is(.swal2-header, .swal2-title) {
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    outline: none !important;
}

.swal2-popup .swal2-icon,
.swal2-popup .swal2-image,
.swal2-popup i.fa,
.swal2-popup i.fas,
.swal2-popup i.far,
.swal2-popup i.fal,
.swal2-popup i.fad,
.swal2-popup i.fab,
.swal2-popup i[class^="fa-"],
.swal2-popup i[class*=" fa-"] {
    display: none !important;
}

.swal2-popup .swal2-title {
    background: linear-gradient(135deg, var(--ps-header-start), var(--ps-header-end)) !important;
    border-radius: var(--ps-swal-radius, 9px) var(--ps-swal-radius, 9px) 0 0 !important;
    color: var(--ps-header-text, #fff) !important;
    text-shadow: var(--ps-header-text-shadow, none);
    display: block !important;
    font-size: 1.15rem !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    padding: 18px 22px !important;
    text-align: center !important;
    width: 100% !important;
}

.swal2-popup .swal2-html-container,
.swal2-popup .swal2-content {
    color: #344256 !important;
    font-size: 0.95rem !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 20px 22px 8px !important;
    text-align: center !important;
}

.swal2-popup .swal2-input,
.swal2-popup .swal2-select,
.swal2-popup .swal2-textarea {
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
    color: #1f2937 !important;
    font-size: 0.94rem !important;
}

.swal2-popup .swal2-actions {
    align-items: center !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    margin: 14px 22px 20px !important;
    padding: 0 !important;
}

.swal2-popup .swal2-footer {
    background: #fff !important;
    border-radius: 0 0 var(--ps-swal-radius, 9px) var(--ps-swal-radius, 9px) !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.swal2-popup .swal2-styled,
.swal2-popup .swal2-confirm,
.swal2-popup .swal2-cancel,
.swal2-popup .swal2-deny {
    align-items: center !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    display: inline-flex !important;
    font-size: 0.84rem !important;
    font-weight: 850 !important;
    height: 34px !important;
    justify-content: center !important;
    line-height: 34px !important;
    margin: 0 !important;
    min-height: 34px !important;
    min-width: 118px !important;
    padding: 0 11px !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

.swal2-popup .swal2-confirm {
    background: #2563eb !important;
    color: #fff !important;
}

.swal2-popup .swal2-confirm:hover,
.swal2-popup .swal2-confirm:focus {
    background: #1d4ed8 !important;
    color: #fff !important;
    outline: 0 !important;
}

.swal2-popup .swal2-cancel {
    background: #64748b !important;
    color: #fff !important;
}

.swal2-popup .swal2-cancel:hover,
.swal2-popup .swal2-cancel:focus {
    background: #475569 !important;
    color: #fff !important;
    outline: 0 !important;
}

.swal2-popup.account-delete-swal .swal2-title,
.swal2-popup.account-delete-swal .swal2-html-container,
.swal2-popup.account-delete-swal .swal2-content {
    text-align: center !important;
}

.swal2-popup.account-delete-swal .swal2-actions {
    justify-content: center !important;
}

.swal2-popup.account-delete-swal .swal2-confirm,
.swal2-popup.account-delete-swal .swal2-cancel {
    height: 34px !important;
    min-height: 34px !important;
    min-width: 118px !important;
    width: 118px !important;
}

html.is-phone-layout .swal2-popup.account-delete-swal .swal2-confirm,
html.is-phone-layout .swal2-popup.account-delete-swal .swal2-cancel,
.has-touch-input .swal2-popup.account-delete-swal .swal2-confirm,
.has-touch-input .swal2-popup.account-delete-swal .swal2-cancel {
    height: 44px !important;
    min-height: 44px !important;
    min-width: 132px !important;
    width: 132px !important;
}

.swal2-popup .swal2-deny {
    background: #b42318 !important;
    color: #fff !important;
}

.swal2-popup .swal2-deny:hover,
.swal2-popup .swal2-deny:focus {
    background: #8f1d14 !important;
    color: #fff !important;
    outline: 0 !important;
}

html.is-phone-layout .account-card-action,
.has-touch-input .account-card-action {
    min-height: 44px !important;
    min-width: 44px !important;
    touch-action: manipulation;
}

html.is-phone-layout .account-card-action:active,
.has-touch-input .account-card-action:active {
    filter: brightness(0.94);
}

html.is-phone-layout body.login-bg,
html.has-touch-input body.login-bg {
    align-items: stretch;
    overflow-x: hidden;
}

html.is-phone-layout body.login-bg > .container,
html.has-touch-input body.login-bg > .container {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 430px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    max-width: min(430px, 100vw) !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
    width: 100% !important;
}

html.is-phone-layout body.login-bg .login-screen,
html.has-touch-input body.login-bg .login-screen {
    box-sizing: border-box;
    justify-content: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    width: 100% !important;
}

html.is-phone-layout body.login-bg .login-screen > .col-sm-12,
html.has-touch-input body.login-bg .login-screen > .col-sm-12 {
    display: flex;
    justify-content: center;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}

html.is-phone-layout body.login-bg .login-container,
html.has-touch-input body.login-bg .login-container {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 400px !important;
    max-width: min(400px, 100%) !important;
    transform: none !important;
    width: 100% !important;
}

html.is-phone-layout body.login-bg.login-input-focused .login-container,
html.has-touch-input body.login-bg.login-input-focused .login-container {
    transform: translateX(var(--login-focus-x, 0px)) !important;
}

html.is-phone-layout body.login-bg .login-container .row.no-gutters,
html.has-touch-input body.login-bg .login-container .row.no-gutters {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
}

html.is-phone-layout body.login-bg input,
html.is-phone-layout body.login-bg select,
html.is-phone-layout body.login-bg textarea,
html.is-phone-layout body.login-bg .form-control,
html.has-touch-input body.login-bg input,
html.has-touch-input body.login-bg select,
html.has-touch-input body.login-bg textarea,
html.has-touch-input body.login-bg .form-control {
    font-size: 17px !important;
    max-width: 100%;
}

.swal2-popup .swal2-styled[style*="display: none"],
.swal2-popup .swal2-confirm[style*="display: none"],
.swal2-popup .swal2-cancel[style*="display: none"],
.swal2-popup .swal2-deny[style*="display: none"] {
    display: none !important;
}

@media (max-width: 640px), (max-width: 1024px) and (pointer: coarse) {
    .swal2-popup {
        max-width: calc(100vw - 22px) !important;
    }

    .swal2-popup .swal2-title {
        font-size: 1.05rem !important;
        padding: 16px !important;
    }

    .swal2-popup .swal2-html-container,
    .swal2-popup .swal2-content {
        padding: 16px 16px 6px !important;
    }

    .swal2-popup .swal2-actions {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: 1fr !important;
        margin: 12px 16px 16px !important;
    }

    .swal2-popup .swal2-styled,
    .swal2-popup .swal2-confirm,
    .swal2-popup .swal2-cancel,
    .swal2-popup .swal2-deny {
        height: 44px !important;
        min-height: 44px !important;
        min-width: 100% !important;
    }
}

.swal2-popup.meeting-editor-popup {
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    max-width: min(920px, calc(100vw - 24px)) !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 920px !important;
}

.swal2-popup.meeting-editor-popup .swal2-title,
.swal2-popup.meeting-editor-popup .swal2-header,
.swal2-popup.meeting-editor-popup .swal2-icon {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.swal2-popup.meeting-editor-popup .swal2-html-container,
.swal2-popup.meeting-editor-popup .swal2-content {
    margin: 0 !important;
    padding: 0 !important;
}

.swal2-popup.meeting-editor-popup .swal2-actions {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 70px !important;
    padding: 14px 18px !important;
    width: 100% !important;
}

.swal2-popup.meeting-editor-popup .meeting-editor-card,
.swal2-popup.meeting-editor-popup .meeting-editor-body {
    background: #ffffff !important;
}

.swal2-popup.meeting-editor-popup .meeting-editor-create,
.swal2-popup.meeting-editor-popup .meeting-editor-card {
    border-radius: 10px 10px 0 0 !important;
    overflow: hidden !important;
}

.swal2-popup.meeting-editor-popup .meeting-editor-card {
    border-bottom: 0 !important;
}

.swal2-popup.meeting-editor-popup .meeting-editor-swal-actions,
.swal2-popup.meeting-editor-popup .swal2-actions {
    background: #e8eef6 !important;
    border-top: 1px solid rgba(183, 198, 216, 0.72) !important;
    border-radius: 0 0 10px 10px !important;
}

@media (max-width: 640px), (max-width: 1024px) and (pointer: coarse) {
    .swal2-popup.meeting-editor-popup {
        max-width: calc(100vw - 16px) !important;
        width: calc(100vw - 16px) !important;
    }
}

body:not(.login-bg) #app-side.app-side {
    bottom: 0 !important;
}

body:not(.login-bg) #app-side .side-nav {
    scrollbar-color: transparent transparent !important;
    scrollbar-gutter: auto !important;
    scrollbar-width: thin !important;
}

body:not(.login-bg) #app-side .side-nav::-webkit-scrollbar {
    width: 8px;
}

body:not(.login-bg) #app-side .side-nav::-webkit-scrollbar-track,
body:not(.login-bg) #app-side .side-nav::-webkit-scrollbar-thumb {
    background-color: transparent !important;
}

body:not(.login-bg) #app-side .side-nav.ps-is-scrolling,
body:not(.login-bg) #app-side .side-nav:hover,
body:not(.login-bg) #app-side .side-nav:focus-within {
    scrollbar-color: rgba(246, 233, 93, 0.42) transparent !important;
}

body:not(.login-bg) #app-side .side-nav.ps-is-scrolling::-webkit-scrollbar-thumb,
body:not(.login-bg) #app-side .side-nav:hover::-webkit-scrollbar-thumb,
body:not(.login-bg) #app-side .side-nav:focus-within::-webkit-scrollbar-thumb {
    background-color: rgba(246, 233, 93, 0.42) !important;
    border-radius: 999px;
}

body:not(.login-bg) #app-side .side-nav .unifyMenu {
    gap: 3.6px !important;
}

body:not(.login-bg) #app-side .side-nav .unifyMenu a {
    min-height: 38px !important;
    padding-bottom: 5px !important;
    padding-top: 5px !important;
}

body:not(.login-bg) #app-side .side-nav .unifyMenu .has-icon {
    border-radius: 10px !important;
    flex: 0 0 34px !important;
    height: 34px !important;
    width: 34px !important;
}

body:not(.login-bg) #app-side .side-nav .unifyMenu ul {
    margin-bottom: 7px !important;
    padding-bottom: 4.5px !important;
    padding-top: 4.5px !important;
}

body:not(.login-bg) #app-side .side-nav .unifyMenu ul a.ps-submenu-link {
    min-height: 30px !important;
    padding-bottom: 6px !important;
    padding-top: 6px !important;
}

body:not(.login-bg) #app-side .side-nav .unifyMenu .ps-menu-help {
    margin-top: 5px !important;
}

html.is-phone-layout body:not(.login-bg) #app-side .side-nav .unifyMenu a {
    min-height: 44px !important;
    padding-bottom: 6px !important;
    padding-top: 6px !important;
}

html.is-high-density-phone body:not(.login-bg) #app-side .side-nav .unifyMenu a {
    min-height: 47px !important;
}

@media (min-width: 992px) {
    body:not(.login-bg) #app-side.app-side.is-mini .side-content {
        padding: 12px 9px 10px !important;
    }

    body:not(.login-bg) #app-side.app-side.is-mini .side-nav-label {
        display: flex !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    body:not(.login-bg) #app-side.app-side.is-mini .side-nav .unifyMenu {
        padding-top: 26px !important;
    }

    body:not(.login-bg) #app-side.app-side.is-mini .side-nav .unifyMenu > li > a {
        min-height: 38px !important;
        padding: 5px !important;
        width: 47px !important;
    }
}

body:not(.login-bg) .app-header .site-wordmark,
body:not(.login-bg) .app-header .site-wordmark:hover,
body:not(.login-bg) .app-header .site-wordmark:focus {
    color: #ffeb00 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: min(54vw, 540px) !important;
    width: min(54vw, 540px) !important;
}

body:not(.login-bg) .app-header .site-wordmark picture {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

body:not(.login-bg) .app-header .site-wordmark-logo {
    display: block !important;
    height: auto !important;
    margin: 0 auto !important;
    max-height: 48px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    width: 100% !important;
}

html.is-phone-layout body:not(.login-bg) .app-header .site-wordmark {
    max-width: min(66vw, 340px) !important;
    width: min(66vw, 340px) !important;
}

html.is-phone-layout body:not(.login-bg) .app-header .site-wordmark-logo {
    max-height: 42px !important;
}

body:not(.login-bg) #app-side.app-side,
body:not(.login-bg) #app-side .side-content,
body:not(.login-bg) #app-side .side-nav,
body:not(.login-bg) #app-side .side-nav .unifyMenu,
body:not(.login-bg) #app-side .side-nav .unifyMenu > li {
    background: var(--ps-header-start, #182842) !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body:not(.login-bg) .app-header {
    background: linear-gradient(90deg, var(--ps-header-start, #182842) 0, var(--ps-header-start, #182842) calc(var(--ps-sidebar-width, 230px) + 96px), var(--ps-header-end, #3f8fcf) 100%), var(--ps-header-start, #182842) !important;
    background-position: right top !important;
    background-size: 100vw 100% !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    height: var(--ps-app-header-height, 70px) !important;
    min-height: var(--ps-app-header-height, 70px) !important;
}

body:not(.login-bg) .main-heading {
    background: linear-gradient(90deg, var(--ps-header-start, #182842) 0, var(--ps-header-start, #182842) calc(var(--ps-sidebar-width, 230px) + 96px), var(--ps-header-end, #3f8fcf) 100%), var(--ps-header-start, #182842) !important;
    background-position: right top !important;
    background-size: 100vw 100% !important;
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

html.ps-sidebar-mini-preload body:not(.login-bg) .app-header,
body:not(.login-bg) #app-side.app-side.is-mini ~ .app-main > .main-heading,
html.ps-sidebar-mini-preload body:not(.login-bg) .main-heading {
    background: linear-gradient(90deg, var(--ps-header-start, #182842) 0, var(--ps-header-start, #182842) calc(var(--ps-sidebar-mini-width, 65px) + 96px), var(--ps-header-end, #3f8fcf) 100%), var(--ps-header-start, #182842) !important;
    background-position: right top !important;
    background-size: 100vw 100% !important;
}

body:not(.login-bg) .app-main {
    box-sizing: border-box !important;
    margin-left: var(--ps-sidebar-width, 230px) !important;
    margin-right: 0 !important;
    max-width: none !important;
    transition: margin-left 0.24s ease, width 0.24s ease !important;
    width: calc(100% - var(--ps-sidebar-width, 230px)) !important;
}

body:not(.login-bg) #app-side.app-side.is-mini ~ .app-main,
html.ps-sidebar-mini-preload body:not(.login-bg) .app-main {
    margin-left: var(--ps-sidebar-mini-width, 65px) !important;
    width: calc(100% - var(--ps-sidebar-mini-width, 65px)) !important;
}

@media (max-width: 991.98px) {
    body:not(.login-bg) .app-main {
        margin-left: 0 !important;
        width: 100% !important;
    }
}

html.is-mobile-menu-layout body:not(.login-bg) .app-main,
html.is-phone-layout body:not(.login-bg) .app-main {
    margin-left: 0 !important;
    width: 100% !important;
}

body:not(.login-bg)::after {
    content: "" !important;
    display: none !important;
    height: 0 !important;
    pointer-events: none !important;
    position: static !important;
}

html.is-phone-layout body:not(.login-bg)::after,
html.is-mobile-menu-layout body:not(.login-bg)::after {
    display: none !important;
}

body:not(.login-bg) .app-header::after {
    display: none !important;
}

body:not(.login-bg) #app-side.app-side,
body:not(.login-bg) #app-side .side-content,
body:not(.login-bg) #app-side .side-nav,
body:not(.login-bg) #app-side .side-nav .unifyMenu,
body:not(.login-bg) .app-header .app-header-menu-controls {
    border-right: 0 !important;
}

body:not(.login-bg) .app-header .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body:not(.login-bg) .app-header .row.gutters {
    gap: 0 !important;
    grid-template-columns: 65px minmax(0, 1fr) !important;
}

body:not(.login-bg) .app-header .row.gutters > .app-header-menu-controls {
    max-width: 65px !important;
    padding-left: 0 !important;
    width: 65px !important;
}

body:not(.login-bg) .app-header .app-header-menu-controls {
    align-items: center;
    background: var(--ps-header-start, #182842) !important;
    background-image: none !important;
    border-right: 0 !important;
    display: flex;
    flex: 0 0 65px !important;
    justify-content: center;
    max-width: 65px !important;
    min-height: var(--ps-app-header-height, 70px);
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 65px !important;
}

body:not(.login-bg) .app-header .mini-nav-btn,
body:not(.login-bg) .app-header .onoffcanvas-toggler {
    align-items: center;
    background: var(--ps-menu-panel, rgba(255, 255, 255, 0.065)) !important;
    border: 1px solid transparent !important;
    border-radius: 9px;
    box-shadow: none;
    color: rgba(232, 241, 250, 0.84) !important;
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    margin: 0 !important;
    min-height: 34px;
    min-width: 34px;
    padding: 0 !important;
    width: 34px;
}

body:not(.login-bg) .app-header .mini-nav-btn i,
body:not(.login-bg) .app-header .onoffcanvas-toggler i {
    color: inherit !important;
    font-size: 1rem;
    line-height: 1;
}

body:not(.login-bg) .app-header .mini-nav-btn.is-sidebar-collapsed {
    margin-left: 0 !important;
    background: rgba(246, 233, 93, 0.15) !important;
    border-color: transparent !important;
    color: var(--ps-menu-accent, #f6e95d) !important;
}

body:not(.login-bg) .app-header .mini-nav-btn:hover,
body:not(.login-bg) .app-header .mini-nav-btn:focus,
body:not(.login-bg) .app-header .onoffcanvas-toggler:hover,
body:not(.login-bg) .app-header .onoffcanvas-toggler:focus {
    background: rgba(246, 233, 93, 0.12) !important;
    border-color: transparent !important;
    color: var(--ps-yellow, #f6e95d) !important;
    outline: none;
}

html.is-phone-layout body:not(.login-bg) .app-header .mini-nav-btn,
html.is-phone-layout body:not(.login-bg) .app-header .onoffcanvas-toggler {
    flex-basis: 36px;
    height: 36px;
    min-height: 36px;
    min-width: 36px;
    width: 36px;
}

body.employee-config-body:not(.login-bg) .app-wrap,
body.employee-config-body:not(.login-bg) .app-container,
body.employee-config-body:not(.login-bg) .app-main {
    min-height: 0 !important;
    overflow: hidden !important;
}

body.employee-config-body:not(.login-bg) .app-wrap {
    height: 100vh;
    height: 100dvh;
    padding-top: var(--ps-app-header-height, 70px) !important;
}

body.employee-config-body:not(.login-bg) .app-container {
    flex: 1 1 auto !important;
    height: calc(100vh - var(--ps-app-header-height, 70px));
    height: calc(100dvh - var(--ps-app-header-height, 70px));
}

body.employee-config-body:not(.login-bg) .app-main {
    flex: 1 1 0 !important;
    max-height: 100%;
}

body.employee-config-body:not(.login-bg) .app-main > .main-content.employee-config-page {
    flex: 1 1 0 !important;
    max-height: 100%;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-color: rgba(100, 116, 139, 0.58) transparent !important;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}

body.employee-config-body:not(.login-bg) .main-content.employee-config-page::-webkit-scrollbar-thumb {
    background-color: rgba(100, 116, 139, 0.58) !important;
}

:root {
    --ps-main-content-padding-x: 22px;
    --ps-sidebar-expanded-gradient-offset: 255px;
    --ps-sidebar-mini-width: 65px;
    --ps-sidebar-width: 230px;
}

body:not(.login-bg) .main-footer {
    margin-left: var(--ps-sidebar-width, 230px) !important;
    margin-right: 0 !important;
    max-width: none !important;
    text-align: left;
    transition: margin-left 0.24s ease, width 0.24s ease !important;
    width: auto !important;
}

body:not(.login-bg) .app-main .main-footer {
    margin-left: 0 !important;
}

body:not(.login-bg) .main-footer > .container,
body:not(.login-bg) .main-footer-inner {
    align-items: center;
    display: flex;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
    min-height: var(--ps-footer-height, 38px);
    padding-left: var(--ps-main-content-padding-x);
    padding-right: var(--ps-main-content-padding-x);
    width: 100%;
}

@media (min-width: 992px) {
    body:not(.login-bg) #app-side.app-side.is-mini ~ .main-footer {
        margin-left: var(--ps-sidebar-mini-width, 65px) !important;
    }
}

@media (max-width: 991.98px) {
    body:not(.login-bg) .main-footer {
        margin-left: 0 !important;
    }
}

html.is-mobile-menu-layout body:not(.login-bg) .main-footer,
body.full-screen:not(.login-bg) .main-footer {
    margin-left: 0 !important;
}
body:not(.login-bg) {
    --ps-app-header-height: 0px;
}

body:not(.login-bg) .app-header {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
}

body:not(.login-bg) .app-wrap {
    padding-top: 0 !important;
}

body:not(.login-bg) .app-container {
    height: 100vh !important;
    height: 100dvh !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    top: 0 !important;
}

body:not(.login-bg) #app-side.app-side {
    top: 0 !important;
}

body:not(.login-bg) #app-side.app-side .side-content {
    padding-top: 65px !important;
}

body:not(.login-bg) .ps-shell-menu-controls {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    left: 18px !important;
    min-height: 34px !important;
    padding: 0 !important;
    position: fixed !important;
    top: 16px !important;
    width: auto !important;
    z-index: 2400 !important;
}

body:not(.login-bg) .ps-shell-menu-controls .mini-nav-btn,
body:not(.login-bg) .ps-shell-menu-controls .onoffcanvas-toggler {
    align-items: center !important;
    background: rgba(255, 255, 255, 0.10) !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: rgba(232, 241, 250, 0.86) !important;
    display: inline-flex !important;
    flex: 0 0 34px !important;
    height: 34px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    text-decoration: none !important;
    width: 34px !important;
}

body:not(.login-bg) .ps-shell-menu-controls .onoffcanvas-toggler {
    display: none !important;
}

body:not(.login-bg) .ps-shell-menu-controls .mini-nav-btn i,
body:not(.login-bg) .ps-shell-menu-controls .onoffcanvas-toggler i {
    color: inherit !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    margin: 0 !important;
}

body:not(.login-bg) .ps-shell-menu-controls .mini-nav-btn:hover,
body:not(.login-bg) .ps-shell-menu-controls .mini-nav-btn:focus,
body:not(.login-bg) .ps-shell-menu-controls .onoffcanvas-toggler:hover,
body:not(.login-bg) .ps-shell-menu-controls .onoffcanvas-toggler:focus {
    background: rgba(246, 233, 93, 0.12) !important;
    border-color: transparent !important;
    color: var(--ps-yellow, #f6e95d) !important;
    outline: none !important;
}

body:not(.login-bg) .ps-shell-menu-controls .mini-nav-btn.is-sidebar-collapsed {
    background: rgba(246, 233, 93, 0.15) !important;
    color: var(--ps-menu-accent, #f6e95d) !important;
}

@media (min-width: 992px) {
    body:not(.login-bg) .ps-shell-menu-controls {
        left: 16px !important;
        top: 29px !important;
    }

    body:not(.login-bg) .app-container #app-side.app-side.is-mini .side-content,
    body:not(.login-bg) #app-side.app-side.is-mini .side-content {
        padding: 65px 9px 10px !important;
    }

    body:not(.login-bg) .app-container #app-side.app-side.is-mini .side-nav-label,
    body:not(.login-bg) #app-side.app-side.is-mini .side-nav-label {
        display: flex !important;
        height: 22px !important;
        min-height: 22px !important;
        opacity: 0 !important;
        padding: 2px 8px 7px !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    body:not(.login-bg) .app-container #app-side.app-side.is-mini .side-nav .unifyMenu,
    body:not(.login-bg) #app-side.app-side.is-mini .side-nav .unifyMenu {
        gap: 3.6px !important;
        padding-top: 0 !important;
    }

    body:not(.login-bg) .app-container #app-side.app-side.is-mini .side-nav .unifyMenu > li > a,
    body:not(.login-bg) #app-side.app-side.is-mini .side-nav .unifyMenu > li > a {
        justify-content: center !important;
        margin-left: -1px !important;
        transform: translateY(1px) !important;
    }
}

body:not(.login-bg) .main-heading {
    background: linear-gradient(90deg, var(--ps-header-start, #14243c), var(--ps-header-end, #347fb7)) !important;
    background-size: 100% 100% !important;
    box-shadow: none !important;
    min-height: 92px !important;
    padding: 18px 24px !important;
}

body:not(.login-bg) .main-heading::before,
body:not(.login-bg) .main-heading::after {
    display: none !important;
}

body:not(.login-bg) .main-heading .container-fluid,
body:not(.login-bg) .main-heading .row,
body:not(.login-bg) .main-heading .col-sm-12 {
    height: 100%;
}

body:not(.login-bg) .main-heading .row {
    align-items: center !important;
    display: flex !important;
    min-height: 56px !important;
}

body:not(.login-bg) .main-heading .col-sm-12,
body:not(.login-bg) .main-heading .col-12,
body:not(.login-bg) .main-heading .menu-builder-heading-row,
body:not(.login-bg) .main-heading .menu-builder-heading-title {
    align-items: center !important;
    display: flex !important;
    min-width: 0 !important;
}

body:not(.login-bg) .main-heading .menu-builder-heading-row,
body:not(.login-bg) .main-heading .menu-builder-heading-title {
    width: 100% !important;
}

body:not(.login-bg) .main-heading .page-icon {
    align-items: center !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    float: none !important;
    height: 48px !important;
    justify-content: center !important;
    margin-right: 14px !important;
    padding: 0 !important;
    width: 48px !important;
}

body:not(.login-bg) .main-heading .page-icon i {
    margin: 0 !important;
}

body:not(.login-bg) .main-heading .page-title {
    margin-left: 0 !important;
    min-width: 0 !important;
}

body:not(.login-bg) .main-heading .page-title h5 {
    color: #ffffff !important;
    font-size: 1.05rem !important;
    font-weight: 900 !important;
    margin: 0 0 4px !important;
    text-shadow: none !important;
}

body:not(.login-bg) .main-heading .page-title h6.sub-heading,
body:not(.login-bg) .main-heading .page-title .sub-heading {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
    text-shadow: none !important;
}

@media (max-width: 991.98px) {
    body:not(.login-bg) .ps-shell-menu-controls {
        left: 14px !important;
        top: 20px !important;
    }

    body.ps-menu-open:not(.login-bg) .ps-shell-menu-controls {
        display: none !important;
    }

    body:not(.login-bg) .ps-shell-menu-controls .mini-nav-btn {
        display: none !important;
    }

    body:not(.login-bg) .ps-shell-menu-controls .onoffcanvas-toggler {
        display: inline-flex !important;
    }

    body:not(.login-bg) #app-side.app-side .side-content {
        padding-top: 0 !important;
    }

    body:not(.login-bg) .main-heading {
        background: linear-gradient(90deg, var(--ps-header-start, #14243c), var(--ps-header-end, #2f7db8)) !important;
        min-height: 82px !important;
        padding: 12px 16px 12px 64px !important;
    }

    body:not(.login-bg) .main-heading .row {
        min-height: 50px !important;
    }

    body:not(.login-bg) .main-heading .page-icon {
        height: 42px !important;
        margin-right: 10px !important;
        width: 42px !important;
    }

    body:not(.login-bg) .main-heading .page-title h5 {
        font-size: 0.94rem !important;
        margin-bottom: 3px !important;
    }

    body:not(.login-bg) .main-heading .page-title h6.sub-heading,
    body:not(.login-bg) .main-heading .page-title .sub-heading {
        font-size: 0.68rem !important;
        line-height: 1.25 !important;
        max-width: 240px !important;
    }
}

html.ps-app-loading body::before {
    align-items: center !important;
    background:
        linear-gradient(135deg, rgba(24, 40, 66, 0.98), rgba(63, 143, 207, 0.96)),
        #182842 !important;
    bottom: 0 !important;
    color: #ffffff !important;
    content: "Professional Services\A Loading..." !important;
    display: flex !important;
    flex-direction: column !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
    justify-content: center !important;
    left: 0 !important;
    letter-spacing: 0 !important;
    line-height: 1.45 !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: fixed !important;
    right: 0 !important;
    text-align: center !important;
    top: 0 !important;
    transition: opacity 0.22s ease, visibility 0.22s ease !important;
    visibility: visible !important;
    white-space: pre-line !important;
    z-index: 2147483000 !important;
}

html.ps-app-loading body::after {
    animation: ps-startup-loader-spin 0.82s linear infinite !important;
    background: transparent !important;
    border: 3px solid rgba(255, 255, 255, 0.28) !important;
    border-top-color: #f6e95d !important;
    border-radius: 50% !important;
    bottom: auto !important;
    box-shadow: none !important;
    content: "" !important;
    display: block !important;
    height: 42px !important;
    left: calc(50% - 21px) !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: fixed !important;
    right: auto !important;
    top: calc(50% + 54px) !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 2147483001 !important;
}

html.ps-app-ready body::before,
html.ps-app-ready body::after {
    opacity: 0 !important;
    visibility: hidden !important;
}

@keyframes ps-startup-loader-spin {
    to {
        transform: rotate(360deg);
    }
}


/* ==== /assets/css/theme-component-coverage.css ==== */
/*
 * Theme component coverage
 *
 * Loaded after the theme and shared inline styles. Theme-specific rules retain
 * their character; these low-specificity defaults fill gaps and the explicit
 * dialog rules replace legacy fixed colors with the active theme palette.
 */

html[data-ps-theme] {
    --ps-ui-accent: var(--ps-action-primary, var(--ps-header-start, #164e37));
    --ps-ui-accent-hover: var(--ps-action-primary-hover, var(--ps-header-end, #0f3d2d));
    --ps-ui-action-text: var(--ps-action-primary-text, #fff);
    --ps-ui-text: #243244;
    --ps-ui-muted: #5f6f82;
    --ps-ui-surface: #fff;
    --ps-ui-surface-soft: color-mix(in srgb, var(--ps-theme-base, #164e37) 6%, #fff);
    --ps-ui-surface-hover: color-mix(in srgb, var(--ps-ui-accent) 11%, #fff);
    --ps-ui-border: color-mix(in srgb, var(--ps-theme-base, #164e37) 25%, #dbe3ea);
    --ps-ui-border-strong: color-mix(in srgb, var(--ps-ui-accent) 58%, #64748b);
    --ps-ui-focus: color-mix(in srgb, var(--ps-ui-accent) 30%, transparent);
    color-scheme: light;
}

/* General surfaces: :where() lets a theme's intentional component design win. */
html[data-ps-theme] body:not(.login-bg) {
    color: var(--ps-ui-text);
}

html[data-ps-theme] body:not(.login-bg) :where(
    .app-main,
    .main-content,
    .content-wrapper
) {
    color: var(--ps-ui-text);
}

html[data-ps-theme] body:not(.login-bg) :where(
    .card,
    .panel,
    .widget,
    .dropdown-menu,
    .select2-dropdown,
    .popover,
    .ps-processing-panel
) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .card-body,
    .card-footer,
    .panel-body,
    .tab-content,
    .list-group-item,
    .accordion-body,
    .accordion-item,
    details
) :where(h1, h2, h3, h4, h5, h6, p, label, legend, strong, span):not(.badge):not([class*="status"]):not([class*="pill"]) {
    color: inherit;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .card-header,
    .panel-heading,
    .accordion-button:not(.collapsed)
) {
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .card-header,
    .panel-heading
) :where(h1, h2, h3, h4, h5, h6, p, label, strong, span, i) {
    color: inherit;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .card-body,
    .panel-body,
    .modal-body,
    .tab-content
) a:not(.btn):not(.dropdown-item):not(.nav-link):not([class*="badge"]):not([class*="pill"]) {
    color: var(--ps-accent-dark, var(--ps-ui-accent));
}

html[data-ps-theme] body:not(.login-bg) :where(
    .card-body,
    .panel-body,
    .modal-body,
    .tab-content
) a:not(.btn):not(.dropdown-item):not(.nav-link):hover {
    color: var(--ps-ui-accent-hover);
}

html[data-ps-theme] body:not(.login-bg) :where(
    .card-body,
    .card-footer,
    .panel-body,
    .dropdown-item,
    .popover-body,
    .tab-content
) {
    color: var(--ps-ui-text);
}

html[data-ps-theme] body:not(.login-bg) :where(
    .text-muted,
    .muted,
    small,
    .dataTables_info,
    .dt-info,
    .ps-report-page-info,
    .ps-report-footer-summary,
    .ps-report-toolbar-summary
) {
    color: var(--ps-ui-muted) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(hr, .dropdown-divider) {
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(code, pre, kbd, samp) {
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(code, pre) {
    background: var(--ps-ui-surface-soft) !important;
    color: var(--ps-ui-text) !important;
}

/* Forms and third-party selectors. */
html[data-ps-theme] body:not(.login-bg) :where(
    .form-control,
    .custom-select,
    .form-select,
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    select,
    textarea,
    .select2-selection,
    .select2-search__field
) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .form-control,
    .custom-select,
    .form-select,
    input,
    select,
    textarea,
    button
):disabled,
html[data-ps-theme] body:not(.login-bg) :where(input, textarea)[readonly] {
    background-color: var(--ps-ui-surface-soft) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-muted) !important;
    opacity: 1;
}

html[data-ps-theme] body:not(.login-bg) :where(input[type="checkbox"], input[type="radio"], .form-check-input) {
    accent-color: var(--ps-ui-accent);
}

html[data-ps-theme] body:not(.login-bg) :where(.input-group-text, .form-control-plaintext) {
    background-color: var(--ps-ui-surface-soft) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) input[type="file"]::file-selector-button {
    background: var(--ps-ui-surface-soft);
    border-color: var(--ps-ui-border);
    color: var(--ps-ui-text);
}

html[data-ps-theme] body:not(.login-bg) :where(input, textarea)::placeholder {
    color: var(--ps-ui-muted) !important;
    opacity: 1;
}

html[data-ps-theme] body:not(.login-bg) :where(
    input,
    select,
    textarea,
    button,
    a,
    summary,
    [tabindex]
):focus-visible {
    outline-color: var(--ps-ui-accent) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .select2-results__option--highlighted,
    .dropdown-item:hover,
    .dropdown-item:focus
) {
    background-color: var(--ps-ui-surface-hover) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .select2-results__option,
    .select2-selection__rendered,
    .dropdown-item
) {
    color: var(--ps-ui-text) !important;
}

/* Shared commands and navigation controls. */
html[data-ps-theme] body:not(.login-bg) :where(
    .btn-primary,
    .btn-info,
    .swal2-confirm
) {
    background-color: var(--ps-ui-accent) !important;
    border-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .btn-primary,
    .btn-info
):hover,
html[data-ps-theme] body:not(.login-bg) :where(
    .btn-primary,
    .btn-info
):focus {
    background-color: var(--ps-ui-accent-hover) !important;
    border-color: var(--ps-ui-accent-hover) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.btn-primary, .btn-info) :where(i, span) {
    color: inherit !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .btn-secondary,
    .btn-light,
    .btn-outline-primary,
    .btn-outline-secondary
) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border-strong) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .btn-secondary,
    .btn-light,
    .btn-outline-primary,
    .btn-outline-secondary
):hover {
    background-color: var(--ps-ui-surface-hover) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .nav-tabs,
    .nav-pills,
    .list-group,
    .accordion-item,
    .accordion-button
) {
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.nav-tabs, .nav-pills) .nav-link:not(.active),
html[data-ps-theme] body:not(.login-bg) .list-group-item {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.nav-tabs, .nav-pills) .nav-link.active,
html[data-ps-theme] body:not(.login-bg) .list-group-item.active,
html[data-ps-theme] body:not(.login-bg) [role="tab"][aria-selected="true"] {
    background-color: var(--ps-ui-accent) !important;
    border-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body:not(.login-bg) .accordion-button {
    background-color: var(--ps-ui-surface) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) .accordion-button:not(.collapsed) {
    background-color: var(--ps-ui-surface-soft) !important;
    color: var(--ps-ui-text) !important;
}

/* Tables and DataTables controls use the active palette on every page. */
html[data-ps-theme] body:not(.login-bg) :where(.table, table.dataTable, .dataTable) {
    background-color: var(--ps-ui-surface) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.table, table.dataTable, .dataTable) :where(th, td) {
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text);
}

html[data-ps-theme] body:not(.login-bg) :where(.table, table.dataTable, .dataTable) thead th {
    background-color: var(--ps-ui-surface-soft) !important;
    border-bottom-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.table-striped, table.dataTable) tbody tr:nth-of-type(odd):not(.table-danger):not(.table-warning):not(.selected) {
    background-color: color-mix(in srgb, var(--ps-ui-surface-soft) 62%, #fff) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.table-hover, table.dataTable) tbody tr:hover:not(.table-danger):not(.table-warning),
html[data-ps-theme] body:not(.login-bg) table.dataTable tbody tr:hover {
    background-color: var(--ps-ui-surface-hover) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .dataTables_wrapper,
    .dt-container
) :where(label, .dataTables_info, .dt-info) {
    color: var(--ps-ui-muted) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .page-link,
    .paginate_button,
    .dt-paging-button
) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .page-link:hover,
    .paginate_button:hover,
    .dt-paging-button:hover
) {
    background-color: var(--ps-ui-surface-hover) !important;
    border-color: var(--ps-ui-border-strong) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .page-item.active .page-link,
    .paginate_button.current,
    .dt-paging-button.current
) {
    background: var(--ps-ui-accent) !important;
    border-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .page-item.disabled .page-link,
    .paginate_button.disabled,
    .dt-paging-button.disabled
) {
    background-color: var(--ps-ui-surface-soft) !important;
    color: var(--ps-ui-muted) !important;
    opacity: .72;
}

/* Bootstrap and custom modals. */
html[data-ps-theme] body:not(.login-bg) .modal-content {
    background: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border-strong) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) .modal-header {
    background: linear-gradient(135deg, var(--ps-header-start), var(--ps-header-end)) !important;
    border-bottom-color: var(--ps-ui-accent) !important;
    color: var(--ps-header-text, #fff) !important;
}

html[data-ps-theme] body:not(.login-bg) .modal-header :where(h1, h2, h3, h4, h5, h6, .modal-title, .close, .btn-close) {
    color: var(--ps-header-text, #fff) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.modal-body, .modal-footer) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.modal-header .close, .modal-header .btn-close) {
    opacity: .9;
}

/* SweetAlert: deliberately higher specificity than legacy shared/page rules. */
html[data-ps-theme] body .swal2-container .swal2-popup {
    background: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border-strong) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-title {
    background: linear-gradient(135deg, var(--ps-header-start), var(--ps-header-end)) !important;
    border-bottom-color: var(--ps-ui-accent) !important;
    color: var(--ps-header-text, #fff) !important;
    text-shadow: var(--ps-header-text-shadow, none) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup :where(
    .swal2-html-container,
    .swal2-content,
    .swal2-validation-message
) {
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup :where(.swal2-close, .swal2-footer a) {
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-validation-message {
    background: var(--ps-ui-surface-soft) !important;
    border: 1px solid var(--ps-ui-border) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-loader {
    border-color: var(--ps-ui-accent) transparent var(--ps-ui-accent) transparent !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup :where(
    .swal2-input,
    .swal2-select,
    .swal2-textarea,
    input,
    select,
    textarea
) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup :where(.swal2-actions, .swal2-footer) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-confirm {
    background: var(--ps-ui-accent) !important;
    border-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-confirm:hover,
html[data-ps-theme] body .swal2-container .swal2-popup .swal2-confirm:focus {
    background: var(--ps-ui-accent-hover) !important;
    border-color: var(--ps-ui-accent-hover) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-cancel {
    background: var(--ps-ui-surface-soft) !important;
    border: 1px solid var(--ps-ui-border-strong) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-cancel:hover,
html[data-ps-theme] body .swal2-container .swal2-popup .swal2-cancel:focus {
    background: var(--ps-ui-surface-hover) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body .swal2-container .swal2-popup .swal2-timer-progress-bar {
    background: var(--ps-ui-accent) !important;
}

/* Overlays, notifications, calendars, and date pickers. */
html[data-ps-theme] body:not(.login-bg) :where(.tooltip-inner, .ui-tooltip) {
    background: var(--ps-header-start) !important;
    color: var(--ps-header-text, #fff) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.toast, .toast-header, .toast-body) {
    background-color: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .datepicker,
    .datepicker-dropdown,
    .ui-datepicker,
    .flatpickr-calendar,
    .flatpickr-months,
    .flatpickr-days
) {
    background: var(--ps-ui-surface) !important;
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .datepicker table tr td,
    .datepicker table tr th,
    .ui-datepicker td,
    .ui-datepicker th,
    .flatpickr-day
) {
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .datepicker table tr td.active,
    .ui-datepicker .ui-state-active,
    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange
) {
    background: var(--ps-ui-accent) !important;
    border-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .fc-theme-standard td,
    .fc-theme-standard th,
    .fc-scrollgrid,
    .fc-list,
    .fc-list-table
) {
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.fc-col-header-cell, .fc-list-day-cushion) {
    background: var(--ps-ui-surface-soft) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.fc-button-primary, .fc-button-primary:not(:disabled).fc-button-active) {
    background: var(--ps-ui-accent) !important;
    border-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(.progress, .progress-bar) {
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body:not(.login-bg) .progress {
    background: var(--ps-ui-surface-soft) !important;
}

html[data-ps-theme] body:not(.login-bg) .progress-bar {
    background: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

/* Keep the account-review QuickBooks table aligned with standard site tables. */
html[data-ps-theme] body:not(.login-bg) .account-qb-card .table-responsive,
html[data-ps-theme] body:not(.login-bg) .account-qb-card #usr_accounts_wrapper {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
}

html[data-ps-theme] body:not(.login-bg) .account-qb-card #usr_accounts {
    margin: 0 !important;
    width: 100% !important;
}

html[data-ps-theme="technical"] body:not(.login-bg) .account-qb-card .ps-table-scrollbar-header-cover {
    background: #d6e8dc !important;
    border-bottom: 2px solid #148526 !important;
    border-top-right-radius: 8px;
}

html[data-ps-theme] body:not(.login-bg) .account-qb-card :is(.dataTables_scrollHeadInner, .dataTables_scrollHeadInner table) {
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Shared report screens and report toolbars. */
html[data-ps-theme] body:not(.login-bg) :where(
    .report-paper,
    .reporting-panel,
    .reporting-results,
    .reporting-filter-section,
    .report-card,
    .report-summary,
    .ps-owner-report
) {
    border-color: var(--ps-ui-border) !important;
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .reporting-filter-group label,
    .reporting-filter-section-title,
    .ps-report-controls label
) {
    color: var(--ps-ui-text) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .report-toolbar button,
    .ps-report-view-toggle,
    .ps-report-pagination .ps-report-page
) {
    border-color: var(--ps-ui-border) !important;
}

html[data-ps-theme] body:not(.login-bg) :where(
    .report-toolbar button:hover,
    .ps-report-view-toggle:hover,
    .ps-report-pagination .ps-report-page:not(:disabled):hover
) {
    background: var(--ps-ui-accent) !important;
    border-color: var(--ps-ui-accent) !important;
    color: var(--ps-ui-action-text) !important;
}

/* Printed reports remain clean and legible while retaining the theme accent. */
@media print {
    html[data-ps-theme],
    html[data-ps-theme] body:not(.login-bg),
    html[data-ps-theme] body:not(.login-bg) :where(.app-wrap, .app-container, .app-main, .main-content) {
        background: #fff !important;
        background-image: none !important;
        color: #111 !important;
    }

    html[data-ps-theme] body:not(.login-bg) :where(
        .card,
        .panel,
        .widget,
        .report-paper,
        .reporting-panel,
        .reporting-results,
        .report-card,
        .report-summary,
        .ps-owner-report
    ) {
        background: #fff !important;
        box-shadow: none !important;
        color: #111 !important;
    }

    html[data-ps-theme] body:not(.login-bg) :where(.table, table.dataTable, .dataTable) {
        background: #fff !important;
        color: #111 !important;
    }

    html[data-ps-theme] body:not(.login-bg) :where(.table, table.dataTable, .dataTable) thead th {
        background: #eef1f3 !important;
        border-bottom-color: var(--ps-ui-accent) !important;
        color: #111 !important;
    }

    html[data-ps-theme] body:not(.login-bg) :where(.table, table.dataTable, .dataTable) :where(th, td),
    html[data-ps-theme] body:not(.login-bg) :where(h1, h2, h3, h4, h5, h6, p, span, strong, label, a) {
        color: #111 !important;
    }

    html[data-ps-theme] body:not(.login-bg) :where(
        .report-toolbar,
        .ps-report-controls,
        .ps-report-pagination,
        .dataTables_filter,
        .dataTables_length,
        .dataTables_paginate,
        .dt-search,
        .dt-length,
        .dt-paging,
        .no-print
    ) {
        display: none !important;
    }
}

