:root {
    --app-toolbar-height: 56px;
    --app-bg: #dff3ff;
    --app-surface: rgba(255, 255, 255, 0.72);
    --app-surface-muted: rgba(240, 251, 255, 0.78);
    --app-border: rgba(140, 209, 238, 0.45);
    --app-text: #133148;
    --app-text-muted: #4f7390;
    --app-primary: #1f8ed1;
    --app-primary-soft: rgba(31, 142, 209, 0.12);
    --app-danger-soft: #fff0f0;
    --app-radius-sm: 12px;
    --app-radius-md: 16px;
    --app-radius-lg: 20px;
    --app-shadow-sm: 0 10px 28px rgba(22, 88, 126, 0.13);
    --app-shadow-md: 0 18px 44px rgba(18, 82, 119, 0.2);
}

body.app-theme {
    background:
        radial-gradient(1200px 580px at 10% -5%, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0) 65%),
        radial-gradient(1000px 520px at 100% 0%, rgba(109, 206, 250, 0.36) 0%, rgba(109, 206, 250, 0) 60%),
        linear-gradient(165deg, #eaf9ff 0%, #cceeff 38%, #c0e6fb 100%);
    color: var(--app-text);
    letter-spacing: 0.01em;
    font-size: 0.95rem;
    position: relative;
}

body.app-theme::before {
    content: "";
    position: fixed;
    inset: -120px -30px auto -30px;
    height: 320px;
    pointer-events: none;
    background:
        radial-gradient(38% 100% at 22% 30%, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 75%),
        radial-gradient(34% 100% at 70% 15%, rgba(96, 200, 248, 0.26) 0%, rgba(96, 200, 248, 0) 75%),
        radial-gradient(30% 100% at 92% 25%, rgba(29, 152, 214, 0.2) 0%, rgba(29, 152, 214, 0) 70%);
    z-index: 0;
}

body.app-theme .water-decor {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

body.app-theme .water-decor .bubble {
    position: absolute;
    display: block;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.95), rgba(190, 236, 255, 0.26) 65%, rgba(147, 220, 251, 0.1) 100%);
    border: 1px solid rgba(255, 255, 255, 0.45);
    box-shadow: inset 0 1px 6px rgba(255, 255, 255, 0.45), 0 8px 22px rgba(36, 137, 191, 0.12);
    animation: bubble-rise 16s linear infinite;
}

body.app-theme .water-decor .bubble-1 {
    width: 16px;
    height: 16px;
    left: 8%;
    bottom: -40px;
    animation-duration: 18s;
}

body.app-theme .water-decor .bubble-2 {
    width: 24px;
    height: 24px;
    left: 24%;
    bottom: -90px;
    animation-duration: 14s;
    animation-delay: 1.8s;
}

body.app-theme .water-decor .bubble-3 {
    width: 12px;
    height: 12px;
    left: 56%;
    bottom: -60px;
    animation-duration: 17s;
    animation-delay: 0.9s;
}

body.app-theme .water-decor .bubble-4 {
    width: 20px;
    height: 20px;
    left: 78%;
    bottom: -100px;
    animation-duration: 15s;
    animation-delay: 2.7s;
}

body.app-theme .water-decor .bubble-5 {
    width: 30px;
    height: 30px;
    left: 92%;
    bottom: -120px;
    animation-duration: 19s;
    animation-delay: 1.1s;
}


@keyframes bubble-rise {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0;
    }
    8% {
        opacity: 0.75;
    }
    60% {
        opacity: 0.55;
    }
    100% {
        transform: translate3d(-18px, -110vh, 0) scale(1.18);
        opacity: 0;
    }
}


body.app-theme .app-shell,
body.app-theme .app-main {
    position: relative;
    z-index: 1;
}

body.app-theme .app-main i.fa-solid,
body.app-theme .app-main i.fa-regular,
body.app-theme .desktop-sidebar i.fa-solid,
body.app-theme .offcanvas i.fa-solid {
    color: #1f8ed1;
}

body.app-theme .desktop-sidebar .nav-link.bg-secondary i.fa-solid,
body.app-theme .offcanvas .nav-link.bg-secondary i.fa-solid {
    color: #ffffff;
}

body.app-theme .app-shell {
    min-height: 100vh;
    align-items: stretch;
}

body.app-theme .desktop-sidebar {
    display: none !important;
}

body.app-theme .app-main {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

body.app-theme .app-main-scroll {
    min-width: 0;
    width: 100%;
}

body.app-theme .app-content-area {
    min-width: 0;
}

body.app-theme .app-content-area .card {
    max-width: 100%;
    min-width: 0;
}

body.app-theme .mobile-sidebar-toggle { display: inline-flex; }

body.app-theme main h4 {
    font-weight: 700;
    color: #0e3958;
    margin-bottom: 1rem;
}

body.app-theme .card {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-md);
    box-shadow: var(--app-shadow-sm);
    background: var(--app-surface);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    overflow: hidden;
}

body.app-theme .card .card-header {
    background: transparent;
    border-bottom: 1px solid var(--app-border);
    font-weight: 600;
}

body.app-theme .table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(216, 242, 255, 0.34);
    --bs-table-hover-bg: rgba(170, 225, 250, 0.32);
    color: var(--app-text);
}

body.app-theme .table td,
body.app-theme .table th {
    vertical-align: middle;
}

body.app-theme .table-responsive {
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

body.app-theme .table thead th {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--app-text-muted);
    border-bottom-color: var(--app-border);
}

body.app-theme .table td {
    border-color: #edf1f7;
}

body.app-theme .form-control,
body.app-theme .form-select {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-sm);
    background: rgba(255, 255, 255, 0.8);
    color: var(--app-text);
    box-shadow: none;
}

body.app-theme .form-control:focus,
body.app-theme .form-select:focus {
    border-color: rgba(28, 143, 208, 0.55);
    box-shadow: 0 0 0 0.2rem rgba(31, 142, 209, 0.17);
    background: rgba(255, 255, 255, 0.94);
}

body.app-theme .form-label {
    color: #334155;
    font-weight: 600;
    font-size: 0.88rem;
}

body.app-theme .btn {
    border-radius: 10px;
    font-weight: 600;
    box-shadow: none;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(13, 110, 253, 0.15);
}

body.app-theme .btn-primary {
    background: linear-gradient(135deg, #2ca7e6, #1b86cf);
    border-color: #1b86cf;
}

body.app-theme .btn-primary:hover,
body.app-theme .btn-primary:focus {
    background: linear-gradient(135deg, #209ddd, #1577ba);
    border-color: #1577ba;
}

body.app-theme .btn-outline-primary {
    border-color: rgba(31, 142, 209, 0.35);
    color: #1a7fbf;
    background: rgba(255, 255, 255, 0.76);
}

body.app-theme .btn-outline-primary:hover {
    background: var(--app-primary-soft);
    color: #156ea7;
    border-color: rgba(31, 142, 209, 0.55);
}

body.app-theme .btn-outline-secondary {
    border-color: #d5deea;
    color: #475569;
}

body.app-theme .btn-outline-danger {
    border-color: #fecaca;
    color: #b91c1c;
}

body.app-theme .alert {
    border-radius: 12px;
    border: 1px solid var(--app-border);
}

body.app-theme .badge {
    border-radius: 999px;
    font-weight: 600;
}

body.app-theme .app-top-toolbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(255, 255, 255, 0.84) !important;
    backdrop-filter: blur(14px);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-md);
    padding: 0.5rem 0.75rem !important;
    box-shadow: var(--app-shadow-sm);
    margin-bottom: 0.9rem !important;
}

body.app-theme .app-top-toolbar .toolbar-actions {
    background: rgba(226, 245, 255, 0.62);
    border: 1px solid rgba(154, 214, 241, 0.5);
    border-radius: 999px;
    padding: 0.2rem 0.35rem;
}

body.app-theme .app-top-toolbar .toolbar-btn {
    border-radius: 999px;
    border: 1px solid rgba(157, 213, 239, 0.72) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #0f4e73 !important;
    box-shadow: 0 2px 8px rgba(28, 126, 176, 0.12);
}

body.app-theme .app-top-toolbar .toolbar-btn:hover,
body.app-theme .app-top-toolbar .toolbar-btn:focus {
    background: rgba(255, 255, 255, 0.98) !important;
    border-color: rgba(68, 165, 215, 0.72) !important;
    color: #0b4160 !important;
}

body.app-theme .app-top-toolbar .toolbar-btn i {
    color: inherit !important;
}

body.app-theme .app-top-toolbar .toolbar-time-widget {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(154, 214, 241, 0.6) !important;
    border-radius: 999px !important;
    box-shadow: 0 2px 8px rgba(28, 126, 176, 0.1);
}

body.app-theme .app-top-toolbar .toolbar-time-widget .text-muted {
    color: #4f7390 !important;
}

body.app-theme .desktop-sidebar,
body.app-theme .offcanvas.app-sidebar-mobile {
    background:
        radial-gradient(120% 100% at 0% 0%, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0) 70%),
        linear-gradient(180deg, rgba(216, 243, 255, 0.93) 0%, rgba(194, 232, 250, 0.92) 100%) !important;
    border-right: 1px solid rgba(122, 193, 226, 0.36);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

body.app-theme .desktop-sidebar .nav-link,
body.app-theme .offcanvas .nav-link {
    border-radius: 11px;
    padding: 0.58rem 0.72rem;
    color: #3b4252 !important;
    transition: all 0.2s ease;
    border: 1px solid transparent;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

body.app-theme .desktop-sidebar .nav-link:hover,
body.app-theme .offcanvas .nav-link:hover {
    color: #0f4368 !important;
    background: rgba(255, 255, 255, 0.62);
    border-color: rgba(130, 204, 238, 0.5);
}

body.app-theme .desktop-sidebar .nav-link.bg-secondary,
body.app-theme .offcanvas .nav-link.bg-secondary {
    background: linear-gradient(135deg, #31ace9, #1a84cc) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 8px 20px rgba(23, 130, 193, 0.32);
}

body.app-theme .desktop-sidebar h5,
body.app-theme .offcanvas h5 {
    color: #141826 !important;
    font-weight: 700;
}

body.app-theme .desktop-sidebar .text-secondary,
body.app-theme .offcanvas .text-secondary {
    color: #7b8192 !important;
}

body.app-theme .modal-content {
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-lg);
    box-shadow: var(--app-shadow-md);
}

body.app-theme .mpg-btn-bluetooth-thermal {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
}

body.app-theme #receiptModal .mpg-receipt-modal-footer .btn-outline-primary,
body.app-theme #transactionReceiptModal .mpg-receipt-modal-footer .btn-outline-primary {
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    background-color: #fff !important;
}

body.app-theme #receiptModal .mpg-receipt-modal-footer .btn-outline-primary:hover,
body.app-theme #transactionReceiptModal .mpg-receipt-modal-footer .btn-outline-primary:hover {
    color: #fff !important;
    background-color: var(--bs-primary) !important;
}

body.app-theme .modal-header,
body.app-theme .modal-footer {
    border-color: var(--app-border);
}

body.app-theme div.dataTables_wrapper .dataTables_length,
body.app-theme div.dataTables_wrapper .dataTables_filter,
body.app-theme div.dataTables_wrapper .dataTables_info,
body.app-theme div.dataTables_wrapper .dataTables_paginate {
    color: var(--app-text-muted);
    font-size: 0.88rem;
}

body.app-theme div.dataTables_wrapper {
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.app-theme table.dataTable {
    width: 100% !important;
}

body.app-theme div.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
}

body.app-theme .dataTables_wrapper .dataTables_filter input {
    border: 1px solid var(--app-border);
    border-radius: 10px;
    padding: 0.35rem 0.6rem;
}

body.app-theme .dataTables_wrapper .dataTables_filter input {
    margin-left: 0.5rem;
}

body.app-theme table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
body.app-theme table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
    top: 50%;
    transform: translateY(-50%);
    background-color: #6d43f8;
}

body.app-theme .app-site-footer {
    color: var(--app-text-muted) !important;
}

body.app-theme .modern-page-header {
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-md);
    box-shadow: var(--app-shadow-sm);
    padding: 0.9rem 1rem;
    margin-bottom: 0.75rem;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.app-theme .modern-page-note {
    color: var(--app-text-muted);
    font-size: 0.9rem;
}

body.app-theme .modern-section {
    margin-bottom: 0.8rem;
}

@media (max-width: 767.98px) {
    body.app-theme .card {
        border-radius: 12px;
    }

    body.app-theme .app-top-toolbar {
        border-radius: 12px;
    }

    body.app-theme .mpg-receipt-modal-content {
        min-height: 100dvh;
        max-height: 100dvh;
        display: flex;
        flex-direction: column;
    }

    body.app-theme .mpg-receipt-modal-content .modal-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.app-theme .mpg-receipt-modal-footer {
        flex-shrink: 0;
        background: #fff !important;
        border-top: 1px solid var(--bs-border-color) !important;
        padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px)) !important;
    }

    body.app-theme main .table .btn-sm {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    body.app-theme main .btn.w-100:not(.btn-sm):not(.btn-lg),
    body.app-theme main form .btn.btn-primary:not(.btn-sm):not(.btn-lg) {
        min-height: 2.75rem;
    }

    body.app-theme main .modal-footer.flex-column .btn,
    body.app-theme main #receiptModal .modal-footer .btn,
    body.app-theme main #transactionReceiptModal .modal-footer .btn {
        min-height: 2.75rem;
    }

    body.app-theme div.dataTables_wrapper > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        --bs-gutter-x: 0.75rem;
    }
}

@media (min-width: 576px) {
    body.app-theme #receiptModal .mpg-receipt-modal-footer .mpg-receipt-action-btn,
    body.app-theme #transactionReceiptModal .mpg-receipt-modal-footer .mpg-receipt-action-btn {
        width: auto !important;
        min-width: 170px;
        justify-content: center;
    }
}

/* Elegant laundry refresh */
body.app-theme {
    background: linear-gradient(180deg, #f7fcff 0%, #edf7ff 52%, #f9fcff 100%) !important;
    color: #12324a !important;
    font-size: 0.94rem;
}

body.app-theme::before {
    background:
        radial-gradient(900px 380px at 0% -4%, rgba(215, 241, 255, 0.78) 0%, rgba(215, 241, 255, 0) 65%),
        radial-gradient(980px 430px at 100% -12%, rgba(194, 233, 253, 0.56) 0%, rgba(194, 233, 253, 0) 68%);
}

body.app-theme .water-decor {
    display: none !important;
}

body.app-theme .card,
body.app-theme .modern-page-header,
body.app-theme .app-top-toolbar {
    background: #ffffff !important;
    border: 1px solid #e2edf5 !important;
    box-shadow: 0 10px 26px rgba(27, 85, 121, 0.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.app-theme .modern-page-header {
    padding: 1rem 1.15rem;
}

body.app-theme main h4 {
    color: #123a58 !important;
    font-weight: 700;
    letter-spacing: 0.01em;
}

body.app-theme .modern-page-note {
    color: #5f7a90 !important;
}

body.app-theme .desktop-sidebar,
body.app-theme .offcanvas.app-sidebar-mobile {
    background: linear-gradient(180deg, #fbfeff 0%, #f2f9ff 100%) !important;
    border-right: 1px solid #d9e8f3 !important;
    box-shadow: inset -1px 0 0 rgba(208, 228, 241, 0.55);
}

body.app-theme .desktop-sidebar .nav-link,
body.app-theme .offcanvas .nav-link {
    color: #35556f !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    padding: 0.62rem 0.78rem !important;
}

body.app-theme .desktop-sidebar .nav-link:hover,
body.app-theme .offcanvas .nav-link:hover {
    background: #eef7fd !important;
    color: #174b70 !important;
    border-color: #d8eaf6 !important;
}

body.app-theme .desktop-sidebar .nav-link.bg-secondary,
body.app-theme .offcanvas .nav-link.bg-secondary {
    background: linear-gradient(135deg, #2a92d1, #1a79b7) !important;
    border-color: #1a79b7 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(26, 121, 183, 0.28) !important;
}

body.app-theme .desktop-sidebar i.fa-solid,
body.app-theme .offcanvas i.fa-solid {
    color: #2a84be !important;
}

body.app-theme .desktop-sidebar .nav-link.bg-secondary i.fa-solid,
body.app-theme .offcanvas .nav-link.bg-secondary i.fa-solid {
    color: #ffffff !important;
}

body.app-theme .app-top-toolbar .toolbar-actions {
    background: #f5fbff !important;
    border: 1px solid #d8eaf6 !important;
    border-radius: 999px;
}

body.app-theme .app-top-toolbar .toolbar-btn,
body.app-theme .app-top-toolbar .toolbar-time-widget {
    background: #ffffff !important;
    border: 1px solid #d8eaf6 !important;
    color: #184f74 !important;
    box-shadow: none !important;
}

body.app-theme .app-top-toolbar .toolbar-btn:hover,
body.app-theme .app-top-toolbar .toolbar-btn:focus {
    background: #f0f8ff !important;
    border-color: #bcdcf0 !important;
}

body.app-theme .btn {
    border-radius: 12px !important;
    font-weight: 600;
    letter-spacing: 0.01em;
}

body.app-theme .btn-primary {
    background: linear-gradient(135deg, #2a95d4, #1f7fbe) !important;
    border-color: #1f7fbe !important;
}

body.app-theme .btn-primary:hover,
body.app-theme .btn-primary:focus {
    background: linear-gradient(135deg, #248aca, #1a72ad) !important;
    border-color: #1a72ad !important;
}

body.app-theme .form-control,
body.app-theme .form-select {
    border: 1px solid #d7e8f3 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #12324a !important;
}

body.app-theme .form-control:focus,
body.app-theme .form-select:focus {
    border-color: #97c8e5 !important;
    box-shadow: 0 0 0 0.18rem rgba(48, 142, 196, 0.16) !important;
}

body.app-theme .table thead th {
    color: #5c7890 !important;
    border-bottom-color: #ddeaf4 !important;
}

body.app-theme .table td {
    border-color: #eaf2f8 !important;
}

body.app-theme .table {
    --bs-table-striped-bg: #f7fbff !important;
    --bs-table-hover-bg: #eff7fd !important;
}

@media print {
    body.app-theme aside.desktop-sidebar,
    body.app-theme aside.offcanvas,
    body.app-theme .app-top-toolbar,
    body.app-theme .mobile-sidebar-toggle,
    body.app-theme .d-print-none {
        display: none !important;
    }

    body.app-theme main {
        padding: 0.5rem !important;
    }

    body.app-theme main h4 {
        font-size: 1.1rem;
    }
}

/* Total redesign: Laundry Luxe mode (watery + bubbles) */
body.app-theme.laundry-luxe {
    font-family: "Manrope", "Inter", "Segoe UI", sans-serif !important;
    color: #0f3250 !important;
    background: linear-gradient(180deg, #eef9ff 0%, #d8efff 52%, #cce9ff 100%) !important;
}

body.app-theme.laundry-luxe::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(88, 184, 232, 0.1) 100%);
}

body.app-theme.laundry-luxe .water-decor {
    display: block !important;
    position: fixed;
    inset: 0;
    overflow: hidden;
    /* Must stay below .app-shell so modals, toolbar, and backdrop stack correctly */
    z-index: 0;
    pointer-events: none;
}

body.app-theme.laundry-luxe .water-decor .bubble {
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.95), rgba(203, 241, 255, 0.38) 60%, rgba(127, 211, 246, 0.1) 100%);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: inset 0 1px 6px rgba(255, 255, 255, 0.55), 0 10px 24px rgba(47, 149, 197, 0.18);
    animation-name: luxe-bubble-rise;
    animation-timing-function: ease-in;
    opacity: 0.95;
}

body.app-theme.laundry-luxe .water-decor .bubble-1 { width: 24px; height: 24px; left: 7%; animation-duration: 12s; }
body.app-theme.laundry-luxe .water-decor .bubble-2 { width: 38px; height: 38px; left: 21%; animation-duration: 16s; animation-delay: 1.2s; }
body.app-theme.laundry-luxe .water-decor .bubble-3 { width: 18px; height: 18px; left: 55%; animation-duration: 11s; animation-delay: 2s; }
body.app-theme.laundry-luxe .water-decor .bubble-4 { width: 30px; height: 30px; left: 77%; animation-duration: 15s; animation-delay: 0.8s; }
body.app-theme.laundry-luxe .water-decor .bubble-5 { width: 44px; height: 44px; left: 91%; animation-duration: 18s; animation-delay: 2.2s; }

@keyframes luxe-bubble-rise {
    0% { transform: translate3d(0, 0, 0) scale(0.9); opacity: 0.15; }
    10% { opacity: 0.9; }
    70% { opacity: 0.7; }
    100% { transform: translate3d(-24px, -115vh, 0) scale(1.22); opacity: 0.2; }
}

body.app-theme.laundry-luxe .app-shell {
    gap: 0;
    padding: 0;
    position: relative;
    /* Same stacking idea as default theme: shell above page decor, below Bootstrap modal/backdrop */
    z-index: 1;
}

body.app-theme.laundry-luxe .desktop-sidebar {
    display: none !important;
    width: 286px;
    min-width: 286px;
    border-radius: 22px;
    background:
        radial-gradient(130% 120% at 0% 0%, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 52%),
        linear-gradient(180deg, rgba(23, 102, 150, 0.92) 0%, rgba(15, 78, 123, 0.95) 100%) !important;
    border: 1px solid rgba(176, 226, 248, 0.34) !important;
    box-shadow: 0 26px 40px rgba(10, 72, 110, 0.34) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

body.app-theme.laundry-luxe .desktop-sidebar h5,
body.app-theme.laundry-luxe .desktop-sidebar .text-secondary,
body.app-theme.laundry-luxe .desktop-sidebar .small {
    color: #e8f8ff !important;
}

body.app-theme.laundry-luxe .desktop-sidebar .nav-link {
    color: #ddf4ff !important;
    border-radius: 14px !important;
    border: 1px solid transparent !important;
    padding: 0.68rem 0.82rem !important;
    font-weight: 600 !important;
}

body.app-theme.laundry-luxe .desktop-sidebar .nav-link i.fa-solid { color: #c4edff !important; }
body.app-theme.laundry-luxe .desktop-sidebar .nav-link:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(214, 242, 255, 0.35) !important;
    color: #ffffff !important;
}
body.app-theme.laundry-luxe .desktop-sidebar .nav-link.bg-secondary {
    background: linear-gradient(135deg, #6bd0ff, #33aee8) !important;
    color: #07334f !important;
    border-color: transparent !important;
}
body.app-theme.laundry-luxe .desktop-sidebar .nav-link.bg-secondary i.fa-solid { color: #07334f !important; }

body.app-theme.laundry-luxe .app-main {
    border-radius: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.app-theme.laundry-luxe .app-main-scroll { padding: 0; }

body.app-theme.laundry-luxe .app-top-toolbar,
body.app-theme.laundry-luxe .modern-page-header,
body.app-theme.laundry-luxe .card {
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid rgba(161, 219, 245, 0.55) !important;
    box-shadow: 0 14px 28px rgba(15, 109, 156, 0.14) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.app-theme.laundry-luxe .app-top-toolbar {
    position: static;
    margin-bottom: 1rem !important;
    border-radius: 16px !important;
    padding: 0.65rem 0.85rem !important;
}

body.app-theme.laundry-luxe .toolbar-actions {
    background: rgba(221, 246, 255, 0.66) !important;
    border: 1px solid rgba(162, 219, 245, 0.6) !important;
    border-radius: 999px;
    padding: 0.24rem 0.34rem !important;
}

body.app-theme.laundry-luxe .toolbar-btn,
body.app-theme.laundry-luxe .toolbar-time-widget {
    border-radius: 999px !important;
    border: 1px solid rgba(148, 209, 238, 0.7) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #145076 !important;
}

body.app-theme.laundry-luxe .modern-page-header { border-radius: 16px !important; padding: 1rem 1.2rem; }
body.app-theme.laundry-luxe main h4 { font-size: 1.45rem !important; color: #0f3858 !important; font-weight: 800 !important; }
body.app-theme.laundry-luxe .modern-page-note { color: #4e7591 !important; font-size: 0.92rem !important; }
body.app-theme.laundry-luxe .card { border-radius: 16px !important; }

body.app-theme.laundry-luxe .form-control,
body.app-theme.laundry-luxe .form-select {
    border-radius: 12px !important;
    border: 1px solid #cce7f6 !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #123d5c !important;
}
body.app-theme.laundry-luxe .form-control:focus,
body.app-theme.laundry-luxe .form-select:focus {
    border-color: #75bee9 !important;
    box-shadow: 0 0 0 0.2rem rgba(56, 164, 222, 0.18) !important;
}

body.app-theme.laundry-luxe .btn {
    border-radius: 12px !important;
    font-weight: 700 !important;
}
body.app-theme.laundry-luxe .btn-primary {
    background: linear-gradient(135deg, #43bbf3, #1f95d1) !important;
    border-color: #1f95d1 !important;
}
body.app-theme.laundry-luxe .btn-primary:hover,
body.app-theme.laundry-luxe .btn-primary:focus {
    background: linear-gradient(135deg, #34afea, #1b85bf) !important;
    border-color: #1b85bf !important;
}

body.app-theme.laundry-luxe .table {
    --bs-table-striped-bg: rgba(232, 248, 255, 0.8) !important;
    --bs-table-hover-bg: rgba(212, 240, 253, 0.84) !important;
}
body.app-theme.laundry-luxe .table thead th {
    color: #5f8098 !important;
    border-bottom: 1px solid #d3eaf7 !important;
    font-weight: 700 !important;
}
body.app-theme.laundry-luxe .table td { border-color: #e1f0f9 !important; }

@media (max-width: 991.98px) {
    body.app-theme.laundry-luxe .desktop-sidebar { display: none !important; }
    body.app-theme.laundry-luxe .app-shell { padding: 0; }
    body.app-theme.laundry-luxe .app-main { border-radius: 0; }
    body.app-theme.laundry-luxe .toolbar-actions { border-radius: 14px; }
}

/* Tom Select: above modal when dropdown is portaled to body (see dropdownParent: document.body) */
body.app-theme .ts-dropdown {
    z-index: 2005 !important;
}

/* Tom Select dropdown inside Bootstrap modals (legacy: parent left inside .modal) */
body.app-theme .modal .ts-dropdown {
    z-index: 1070 !important;
}

/* Global modal stacking guard: keep every Bootstrap modal above portaled dropdowns/table overlays. */
body.app-theme .modal {
    z-index: 2200 !important;
}
body.app-theme .modal-backdrop {
    z-index: 2190 !important;
}
