/* 2026 CRM refresh: lightweight overrides on top of the Bootstrap admin template. */
:root {
    --cm-bg: #f5f7fb;
    --cm-surface: #ffffff;
    --cm-surface-2: #f9fafb;
    --cm-text: #172033;
    --cm-muted: #667085;
    --cm-line: #dfe5ee;
    --cm-line-soft: #edf1f6;
    --cm-primary: #2563eb;
    --cm-primary-dark: #1d4ed8;
    --cm-primary-rgb: 37, 99, 235;
    --cm-primary-soft: #eef4ff;
    --cm-success: #0f8a6a;
    --cm-danger: #dc2626;
    --cm-warning: #d97706;
    --cm-info: #0e7490;
    --cm-sidebar: #eef5fb;
    --cm-sidebar-2: #dbeaf5;
    --cm-sidebar-accent: #315d8c;
    --cm-sidebar-text: #172033;
    --cm-sidebar-muted: #667085;
    --cm-sidebar-icon: #315d8c;
    --cm-sidebar-border: rgba(49, 93, 140, .20);
    --cm-radius: 8px;
    --cm-shadow: 0 10px 30px rgba(16, 24, 40, .08);
    --cm-shadow-sm: 0 4px 14px rgba(16, 24, 40, .06);
}

/* Practical lead/procedure tables: compact, readable, and close to the admin template. */
#leads .dataTables_wrapper,
#view .dataTables_wrapper,
#data .dataTables_wrapper {
    font-size: 13px;
}

#leads table.dataTable,
#view table.dataTable,
#data table.dataTable {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
}

#leads table.dataTable thead th,
#view table.dataTable thead th,
#data table.dataTable thead th {
    background: #f8fafc;
    border-bottom: 1px solid var(--cm-line);
    color: #475467;
    font-size: 11px;
    font-weight: 700;
    padding: 8px 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

#leads table.dataTable tbody td,
#view table.dataTable tbody td,
#data table.dataTable tbody td {
    border-top: 1px solid var(--cm-line-soft);
    color: var(--cm-text);
    padding: 7px 10px;
    vertical-align: middle;
}

#leads table.dataTable tbody tr:hover td,
#view table.dataTable tbody tr:hover td,
#data table.dataTable tbody tr:hover td {
    background: #f8fafc;
}

#leads .dataTables_scrollBody,
#view .dataTables_scrollBody,
#data .dataTables_scrollBody {
    border-bottom: 1px solid var(--cm-line-soft);
}

#leads .dataTables_filter input,
#view .dataTables_filter input,
#data .dataTables_filter input,
#leads .dt-search input,
#view .dt-search input,
#data .dt-search input {
    border: 1px solid #cfd7e5;
    border-radius: 6px;
    min-width: 240px;
    padding: 6px 9px;
}

#leads .dataTables_length select,
#view .dataTables_length select,
#data .dataTables_length select,
#leads .dt-length select,
#view .dt-length select,
#data .dt-length select {
    border-color: #cfd7e5;
    border-radius: 6px;
    padding: 5px 26px 5px 8px;
}

#leads table.dataTable .btn-sm,
#view table.dataTable .btn-sm,
#data table.dataTable .btn-sm {
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.25;
    padding: 4px 7px;
}

#leads table.dataTable .badge,
#view table.dataTable .badge,
#data table.dataTable .badge {
    border-radius: 6px;
    font-weight: 500;
}

@media (max-width: 767.98px) {
    #leads .dataTables_wrapper,
    #view .dataTables_wrapper,
    #data .dataTables_wrapper {
        overflow-x: auto;
    }

    #leads .dataTables_filter input,
    #view .dataTables_filter input,
    #data .dataTables_filter input,
    #leads .dt-search input,
    #view .dt-search input,
    #data .dt-search input {
        min-width: 0;
        width: 100%;
    }
}

html,
body {
    background: var(--cm-bg);
    color: var(--cm-text);
    text-rendering: optimizeLegibility;
}

body {
    letter-spacing: 0;
}

a {
    color: var(--cm-primary);
}

a:hover {
    color: var(--cm-primary-dark);
}

.wrapper,
.content-page,
.content,
.main-content,
.page-content {
    background: var(--cm-bg);
}

.content-page {
    min-height: 100vh;
}

.container-fluid {
    max-width: 1760px;
}

.navbar-custom {
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid var(--cm-line-soft);
    box-shadow: 0 1px 0 rgba(16, 24, 40, .03);
    backdrop-filter: blur(10px);
}

.navbar-custom .topbar {
    min-height: 68px;
}

.button-toggle-menu,
.button-close-fullsidebar,
.topbar-menu .nav-link,
#light-dark-mode {
    border-radius: var(--cm-radius);
    color: var(--cm-text);
    transition: background-color .12s ease, color .12s ease;
}

.button-toggle-menu:hover,
.topbar-menu .nav-link:hover,
#light-dark-mode:hover {
    background: var(--cm-surface-2);
    color: var(--cm-primary);
}

.topbar-menu .cm-header-notification {
    flex: 0 0 auto;
}

.topbar-menu .cm-notification-bell-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0 !important;
    line-height: 1;
    touch-action: manipulation;
}

.topbar-menu .cm-notification-bell-btn i {
    display: block;
    margin: 0;
    line-height: 1;
}

.topbar-menu .cm-notification-bell-btn.has-notifications::after {
    content: "";
    position: absolute;
    top: 7px;
    right: 7px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--cm-surface);
    border-radius: 50%;
    background: #c2414c;
    box-sizing: content-box;
}

.profile-dropdown .cm-notification-preference-btn {
    min-height: 42px;
    gap: 12px;
    padding: 9px 12px;
    white-space: nowrap;
    touch-action: manipulation;
}

.cm-notification-preference-label {
    display: inline-flex;
    min-width: 0;
    align-items: center;
}

#browserNotificationsToggleState {
    flex: 0 0 auto;
    min-width: 50px;
    padding: 5px 7px;
    text-align: center;
}

.profile-dropdown .cm-notification-preference-btn.is-enabled {
    color: var(--cm-primary-dark);
}

.profile-dropdown .cm-notification-preference-btn:disabled {
    cursor: wait;
    opacity: .65;
}

.nav-user {
    border: 1px solid var(--cm-line-soft);
    background: #fff;
    box-shadow: var(--cm-shadow-sm);
}

.account-user-avatar h5,
.avatar-title {
    display: grid;
    place-items: center;
    min-width: 34px;
    min-height: 34px;
    margin: 0;
    background: linear-gradient(135deg, var(--cm-primary), var(--cm-success));
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.leftside-menu,
.leftside-menu.authentication-bg,
.leftside-menu #leftside-menu-container,
.leftside-menu .simplebar-content-wrapper,
.leftside-menu .simplebar-content {
    background: var(--cm-sidebar) !important;
    background-image: none !important;
    border-right: 1px solid var(--cm-sidebar-border);
    box-shadow: 12px 0 28px rgba(17, 24, 39, .08);
}

.leftside-menu {
    display: flex;
    flex-direction: column;
    height: 100vh;
    max-height: 100dvh;
    overflow: hidden;
}

.leftside-menu .logo {
    border-bottom: 1px solid var(--cm-sidebar-border);
}

.leftside-menu #leftside-menu-container {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
}

.leftside-menu #leftside-menu-container .simplebar-content {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.side-nav {
    padding: 10px 8px;
}

.side-nav-title {
    color: var(--cm-sidebar-muted) !important;
}

.side-nav .side-nav-link {
    margin: 1px 0;
    padding: 11px 12px;
    border-radius: var(--cm-radius);
    color: var(--cm-sidebar-text);
    font-weight: 500;
    transition: background-color .12s ease, color .12s ease, transform .12s ease;
}

.side-nav .side-nav-link i {
    color: var(--cm-sidebar-icon);
}

.side-nav .side-nav-link:hover,
.side-nav .side-nav-link[aria-expanded="true"],
.side-nav .side-nav-item > a.active {
    background: var(--cm-sidebar-2);
    color: var(--cm-sidebar-text);
    transform: translateX(1px);
}

.side-nav .side-nav-link:hover i,
.side-nav .side-nav-link[aria-expanded="true"] i,
.side-nav .side-nav-item > a.active i {
    color: var(--cm-sidebar-accent);
}

.side-nav-second-level {
    margin: 2px 0 6px 12px;
    border-left: 1px solid var(--cm-sidebar-border);
}

.side-nav-second-level li a {
    padding: 9px 12px;
    color: #344054;
    border-radius: 6px;
}

.side-nav-second-level li a:hover {
    color: var(--cm-sidebar-text);
    background: var(--cm-sidebar-2);
}

.main-menu-edit-footer {
    flex: 0 0 auto;
    padding: 10px;
    z-index: 8;
    border-top: 1px solid var(--cm-sidebar-border);
    background: var(--cm-sidebar);
    position: sticky;
    bottom: 0;
}

.main-menu-edit-footer #editMainMenu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(255,255,255,.58);
    border: 1px solid var(--cm-sidebar-border);
    border-radius: 6px;
    color: var(--cm-sidebar-text);
    font-weight: 700;
    min-height: 38px;
    white-space: nowrap;
}

.main-menu-edit-footer #editMainMenu i {
    color: var(--cm-sidebar-text);
    font-size: 17px;
    line-height: 1;
}

.main-menu-edit-footer #editMainMenu:hover,
.main-menu-edit-footer #editMainMenu:focus-visible {
    background: var(--cm-sidebar-2);
    border-color: var(--cm-sidebar-accent);
    color: var(--cm-sidebar-text);
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .main-menu-edit-footer {
    padding: 8px;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .main-menu-edit-footer #editMainMenu {
    width: 100%;
    min-width: 38px;
    padding-left: 0;
    padding-right: 0;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .main-menu-edit-footer #editMainMenu span {
    display: none;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu {
    margin-left: 0 !important;
    overflow: visible !important;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu #leftside-menu-container,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .simplebar-mask,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .simplebar-offset,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .simplebar-content-wrapper,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .simplebar-content {
    overflow: visible !important;
}

html[data-sidenav-size=condensed] .wrapper .content-page {
    margin-left: var(--ct-leftbar-width-sm) !important;
}

html[data-sidenav-size=condensed] body.cm-message-centre .content-page {
    margin-left: var(--ct-leftbar-width-sm) !important;
}

/* Small screens: the side menu uses SimpleBar, which measures height before the
   collapsible submenus expand, so the lower items/submenus get cut off and won't
   scroll on touch. Make the container a plain native scroller instead. */
@media (max-width: 991.98px) {
    .leftside-menu {
        height: 100vh !important;
        max-height: 100dvh !important;
    }
    .leftside-menu #leftside-menu-container {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .leftside-menu #leftside-menu-container .simplebar-mask,
    .leftside-menu #leftside-menu-container .simplebar-offset,
    .leftside-menu #leftside-menu-container .simplebar-content-wrapper,
    .leftside-menu #leftside-menu-container .simplebar-content {
        position: static !important;
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }
    .leftside-menu #leftside-menu-container .simplebar-track {
        display: none !important;
    }
}

/* Lead action bar: dropdown menus show a caret (distinct from plain buttons) and open on hover. */
.lead-action-bar .btn-group { position: relative; }
.lead-action-bar .dropdown-toggle::after {
    display: inline-block;
    margin-left: .4em;
    vertical-align: .15em;
    content: "";
    border-top: .32em solid;
    border-right: .32em solid transparent;
    border-bottom: 0;
    border-left: .32em solid transparent;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item {
    position: relative;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:not(:hover):not(.cm-condensed-open) > .collapse.show {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapsing {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute;
    left: var(--ct-leftbar-width-sm);
    top: 0;
    width: 190px !important;
    min-width: 190px !important;
    height: auto !important;
    z-index: 1055;
    overflow: visible;
    pointer-events: auto;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse > ul,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing > ul,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse > ul,
html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapsing > ul {
    display: block !important;
    width: 190px;
    padding: 8px 0;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .side-nav-link {
    background: var(--cm-sidebar-2) !important;
    color: var(--cm-sidebar-text) !important;
    box-shadow: inset 3px 0 0 var(--cm-sidebar-accent) !important;
}

html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .side-nav-link i {
    color: var(--cm-sidebar-accent) !important;
}

.page-title-box {
    margin: 0 -12px 18px;
    padding: 18px 12px 12px;
    background: transparent;
}

.page-title h4,
.page-title-box h4 {
    margin: 0;
    color: var(--cm-text);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 750;
}

.page-content-wrapper {
    padding-bottom: 28px;
}

.settings-page .page-title-box {
    margin-bottom: 14px;
    padding-top: 12px;
    position: relative;
    z-index: 2;
}

.settings-page .page-title {
    display: flex;
    align-items: center;
    min-height: 0;
    line-height: 1.2 !important;
    overflow: visible;
    white-space: normal;
}

.settings-page .page-content-wrapper {
    margin-top: 0 !important;
    padding-top: 0;
    position: relative;
    z-index: 0;
}

.settings-page .card-header .card-title {
    line-height: 1.35;
    margin-bottom: 0;
}

.card {
    border: 1px solid var(--cm-line-soft);
    border-radius: var(--cm-radius);
    background: var(--cm-surface);
    box-shadow: var(--cm-shadow-sm);
}

.card .card {
    box-shadow: none;
    border-color: var(--cm-line);
}

.card-header {
    background: #fff;
    border-bottom-color: var(--cm-line-soft);
    border-radius: var(--cm-radius) var(--cm-radius) 0 0 !important;
}

.card-body {
    color: var(--cm-text);
}

.modal-content,
.dropdown-menu,
.jconfirm-box {
    border: 1px solid var(--cm-line-soft) !important;
    border-radius: var(--cm-radius) !important;
    box-shadow: var(--cm-shadow) !important;
}

.modal-header,
.modal-header-colored .modal-header {
    background: var(--cm-sidebar) !important;
    border-bottom: 0;
    border-radius: var(--cm-radius) var(--cm-radius) 0 0;
}

.modal-title {
    font-weight: 700;
}

.dropdown-item {
    border-radius: 6px;
}

.dropdown-menu {
    padding: 8px;
}

.form-control,
.form-select,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    border-color: var(--cm-line);
    border-radius: var(--cm-radius) !important;
    color: var(--cm-text);
    background-color: #fff;
    box-shadow: none;
    transition: border-color .12s ease, box-shadow .12s ease, background-color .12s ease;
}

.form-control:focus,
.form-select:focus,
.select2-container--focus .select2-selection,
.select2-container--open .select2-selection {
    border-color: rgba(var(--cm-primary-rgb), .65) !important;
    box-shadow: 0 0 0 3px rgba(var(--cm-primary-rgb), .12) !important;
}

.form-control.bg-light {
    background: var(--cm-surface-2) !important;
}

label,
.form-label {
    color: #344054;
    font-weight: 500;
}

.input-group-text {
    border-color: var(--cm-line);
    border-radius: var(--cm-radius);
    background: var(--cm-surface-2);
}

.btn {
    border-radius: var(--cm-radius);
    font-weight: 500;
    box-shadow: none !important;
    transition: transform .10s ease, background-color .12s ease, border-color .12s ease, color .12s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:active {
    transform: translateY(0);
}

.btn-primary,
.btn-soft-primary:hover,
.btn-outline-primary:hover {
    background: var(--cm-primary) !important;
    border-color: var(--cm-primary) !important;
    color: #fff !important;
}

.btn-primary:hover {
    background: var(--cm-primary-dark) !important;
    border-color: var(--cm-primary-dark) !important;
}

.btn-success {
    background: var(--cm-success) !important;
    border-color: var(--cm-success) !important;
}

.btn-danger,
.btn-red {
    background: var(--cm-danger) !important;
    border-color: var(--cm-danger) !important;
    color: #fff !important;
}

.btn-light,
.btn-soft-primary,
.btn-link {
    background: var(--cm-surface-2);
    border-color: var(--cm-line-soft);
    color: var(--cm-text);
    text-decoration: none;
}

.btn-link:hover {
    color: var(--cm-primary);
}

.badge {
    border-radius: 999px;
    font-weight: 700;
}

.alert {
    border-radius: var(--cm-radius);
    border: 0;
}

.table {
    --bs-table-color: var(--cm-text);
    --bs-table-bg: #fff;
    --bs-table-striped-bg: #f8fafc;
    border-color: var(--cm-line-soft);
}

.table thead th,
table.dataTable thead th {
    background: #f8fafc;
    color: #344054;
    border-bottom: 1px solid var(--cm-line) !important;
    font-size: 12px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0;
}

.table tbody tr,
table.dataTable tbody tr {
    transition: background-color .12s ease;
}

.table tbody tr:hover,
table.dataTable tbody tr:hover {
    background: var(--cm-primary-soft) !important;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--cm-line);
    border-radius: var(--cm-radius);
    padding: 6px 10px;
    background: #fff;
}

.dt-buttons,
.dataTables_length,
.dataTables_filter {
    margin-bottom: 12px;
}

.dt-buttons .btn,
.dt-button,
button.dt-button {
    margin-right: 6px;
    border: 1px solid var(--cm-line) !important;
    border-radius: var(--cm-radius) !important;
    background: #fff !important;
    color: var(--cm-text) !important;
    font-weight: 700 !important;
    box-shadow: var(--cm-shadow-sm) !important;
}

.dt-buttons .btn:hover,
.dt-button:hover,
button.dt-button:hover {
    background: var(--cm-primary-soft) !important;
    border-color: rgba(var(--cm-primary-rgb), .35) !important;
    color: var(--cm-primary) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 6px !important;
    border: 1px solid transparent !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--cm-primary) !important;
    border-color: var(--cm-primary) !important;
    color: #fff !important;
}

.border,
.border-top,
.border-bottom,
.border-start,
.border-end {
    border-color: var(--cm-line-soft) !important;
}

.rounded,
.rounded-1,
.rounded-2,
.rounded-3,
.radius-12 {
    border-radius: var(--cm-radius) !important;
}

.text-muted {
    color: var(--cm-muted) !important;
}

.bg-primary {
    background-color: var(--cm-primary) !important;
}

.bg-success,
.text-bg-success {
    background-color: var(--cm-success) !important;
}

.bg-danger,
.text-bg-danger {
    background-color: var(--cm-danger) !important;
}

.chat-leftsidebar,
.user-chat,
.user-profile-sidebar {
    background: #fff;
}

.chat-leftsidebar {
    border-right: 1px solid var(--cm-line-soft);
}

.chat-room-list .chat-list li,
.chat-user-list li {
    border-radius: var(--cm-radius);
    margin: 2px 8px;
    transition: background-color .12s ease, box-shadow .12s ease;
}

.chat-room-list .chat-list li:hover,
.chat-user-list li:hover {
    background: #f4f7fb;
}

.chat-room-list .chat-list li.active,
.chat-user-list li.active {
    background: #eef5ff;
    box-shadow: inset 3px 0 0 var(--cm-primary);
}

.chat-room-list .chat-list li.active > a,
.chat-user-list li.active > a,
#usersList li.active > a {
    background: #eef5ff !important;
    color: var(--cm-text) !important;
    border-radius: var(--cm-radius);
}

.chat-room-list .chat-list li.active *,
.chat-user-list li.active * {
    color: var(--cm-text) !important;
}

.chat-room-list .chat-list li.active .fw-bold,
.chat-user-list li.active .fw-bold {
    color: var(--cm-text);
}

.user-chat-topbar,
.chat-input-section {
    background: rgba(255, 255, 255, .96);
    border-color: var(--cm-line-soft) !important;
    backdrop-filter: blur(8px);
}

.chat-input {
    min-height: 46px;
}

.chat-send {
    min-width: 48px;
}

.cm-left .cm-bubble {
    background: #fff;
    border: 1px solid var(--cm-line-soft);
    box-shadow: var(--cm-shadow-sm);
}

.cm-right .cm-bubble {
    background: #dff7e8;
    box-shadow: 0 4px 16px rgba(15, 138, 106, .14);
}

.fc {
    color: var(--cm-text);
}

.fc .fc-toolbar-title {
    color: var(--cm-text);
    font-size: 21px;
    font-weight: 750;
}

.fc .fc-button {
    border-radius: var(--cm-radius) !important;
    background: var(--cm-sidebar) !important;
    border-color: var(--cm-sidebar) !important;
    box-shadow: none !important;
    text-transform: none !important;
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    background: var(--cm-primary) !important;
    border-color: var(--cm-primary) !important;
}

.fc-theme-standard td,
.fc-theme-standard th,
.fc-theme-standard .fc-scrollgrid {
    border-color: var(--cm-line-soft) !important;
}

.fc .fc-col-header-cell-cushion {
    color: #344054;
    font-size: 12px;
    font-weight: 750;
    text-transform: uppercase;
}

.fc .fc-daygrid-day-number {
    color: var(--cm-muted);
}

.fc-h-event,
.fc-v-event,
.fc-daygrid-event {
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: 0 2px 8px rgba(16, 24, 40, .12);
    overflow: hidden;
}

.fc .fc-daygrid-event {
    padding: 3px 4px;
    white-space: normal;
}

.fc .fc-event-main {
    color: inherit;
    font-weight: 500;
}

.fc .fc-event-time,
.fc .fc-event-title {
    font-size: 12px;
    line-height: 1.28;
}

.fc .fc-timegrid-event {
    min-height: 34px;
}

.fc .fc-timegrid-event .fc-event-main {
    padding: 4px 5px;
}

.fc .fc-timegrid-event .fc-event-main-frame {
    display: block;
}

.fc .fc-timegrid-event .fc-event-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
}

.cm-cal-event-compact {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 100%;
    min-height: 28px;
    padding: 4px 7px;
    line-height: 1.15;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
}

.cm-cal-event-compact .cm-cal-time {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 800;
    opacity: .88;
}

.cm-cal-event-compact .cm-cal-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 750;
}

.fc .fc-day-today {
    background: transparent !important;
}

body.authentication-bg {
    background:
        linear-gradient(135deg, rgba(17, 24, 39, .88), rgba(var(--cm-primary-rgb), .72)),
        url("../images/title-img.png") center / cover no-repeat !important;
}

body.authentication-bg .card {
    border: 1px solid rgba(255, 255, 255, .35);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

body.authentication-bg .card-body {
    padding: 34px !important;
}

body.authentication-bg img[alt="logo"] {
    max-width: 230px;
    height: auto;
}

[data-theme="dark"] {
    --cm-bg: #0b1220;
    --cm-surface: #111827;
    --cm-surface-2: #182235;
    --cm-text: #e5e7eb;
    --cm-muted: #9ca3af;
    --cm-line: #263244;
    --cm-line-soft: #202b3a;
}

[data-theme="dark"] .navbar-custom,
[data-theme="dark"] .card,
[data-theme="dark"] .card-header,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .chat-leftsidebar,
[data-theme="dark"] .user-chat,
[data-theme="dark"] .user-profile-sidebar,
[data-theme="dark"] .user-chat-topbar,
[data-theme="dark"] .chat-input-section,
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: var(--cm-surface) !important;
    color: var(--cm-text);
}

[data-theme="dark"] .table,
[data-theme="dark"] .table thead th,
[data-theme="dark"] table.dataTable thead th {
    --bs-table-bg: var(--cm-surface);
    --bs-table-striped-bg: var(--cm-surface-2);
    background: var(--cm-surface-2);
    color: var(--cm-text);
}

@media (max-width: 991.98px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .navbar-custom .topbar {
        min-height: 62px;
        padding-inline: 8px;
    }

    .topbar-menu {
        gap: 6px !important;
    }

    .topbar-menu .nav-link {
        padding: 8px;
    }

    .topbar-menu .cm-notification-bell-btn {
        width: 38px;
        min-width: 38px;
        height: 38px;
        padding: 0 !important;
    }

    .cm-header-notification .dropdown-menu {
        right: -8px !important;
        width: min(360px, calc(100vw - 16px));
        max-width: calc(100vw - 16px);
    }

    .nav-user {
        padding-inline: 8px !important;
    }

    .account-user-avatar h5,
    .avatar-title {
        min-width: 32px;
        min-height: 32px;
        font-size: 11px;
    }

    .content-page {
        margin-left: 0 !important;
        padding-bottom: 0;
    }

    .leftside-menu,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu {
        display: flex !important;
        flex-direction: column !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        margin-left: 0 !important;
        transform: translateX(-100%);
        transition: transform .18s ease;
        z-index: 1055;
    }

    .leftside-menu #leftside-menu-container {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .leftside-menu .main-menu-edit-footer {
        display: block !important;
        flex: 0 0 auto !important;
        position: sticky;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 20;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu .main-menu-edit-footer {
        display: block !important;
    }

    html.sidebar-enable .leftside-menu,
    body.sidebar-enable .leftside-menu {
        transform: translateX(0);
    }

    html.sidebar-enable .leftside-menu .button-close-fullsidebar,
    body.sidebar-enable .leftside-menu .button-close-fullsidebar {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        top: 10px;
        right: 10px;
        line-height: 1;
        border: 1px solid var(--cm-sidebar-border);
        background: var(--cm-sidebar-active);
        color: var(--cm-sidebar-text);
        z-index: 1060;
    }

    html[data-sidenav-size=condensed] .wrapper .navbar-custom {
        margin-left: 0 !important;
    }

    html[data-sidenav-size=condensed] .wrapper .content-page {
        margin-left: 0 !important;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover .side-nav-link,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing {
        width: var(--ct-leftbar-width-sm) !important;
        min-width: var(--ct-leftbar-width-sm) !important;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover .side-nav-link span:not(.badge),
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-link span:not(.badge),
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .menu-arrow {
        display: none !important;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:not(:hover):not(.cm-condensed-open) > .collapse.show {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapsing {
        display: block !important;
        position: absolute;
        left: var(--ct-leftbar-width-sm);
        top: 0;
        width: 190px !important;
        min-width: 190px !important;
        height: auto !important;
        z-index: 1055;
        overflow: visible;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse > ul,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing > ul,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse > ul,
    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapsing > ul {
        display: block !important;
        width: 190px;
        padding: 8px 0;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item .side-nav-link {
        display: flex;
        justify-content: center;
        width: 100% !important;
        padding: 11px 0 !important;
    }

    html[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item .side-nav-link i {
        min-width: 0 !important;
        margin: 0 !important;
        font-size: 21px;
    }

    .content {
        padding: 0;
    }

    .container-fluid {
        width: 100%;
        max-width: 100%;
        padding-right: 10px;
        padding-left: 10px;
    }

    .page-title-box {
        margin: 0 0 10px;
        padding: 12px 0 4px;
    }

    .page-title h4,
    .page-title-box h4 {
        font-size: 19px;
    }

    .page-content-wrapper {
        padding-bottom: 14px;
    }

    .row {
        --bs-gutter-x: 12px;
    }

    .card-body {
        padding: 14px;
    }

    .btn {
        min-height: 38px;
    }

    .btn-sm {
        min-height: 32px;
    }

    .modal-dialog {
        margin: 10px;
    }

    .modal-body {
        padding: 16px !important;
    }

    .table-responsive,
    .dataTables_wrapper {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    table.dataTable,
    .table {
        min-width: 680px;
    }

    .dataTables_wrapper .row,
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dt-buttons {
        display: block;
        width: 100%;
        text-align: left !important;
    }

    .dataTables_wrapper .dataTables_filter input {
        width: 100%;
        margin: 6px 0 0;
    }

    .dt-buttons {
        white-space: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .chat-leftsidebar,
    .user-chat {
        height: calc(100dvh - 62px) !important;
    }

    .chat-leftsidebar {
        width: 100% !important;
        max-width: none !important;
        border-right: 0;
    }

    .user-chat.user-chat-show {
        position: fixed !important;
        inset: 62px 0 0 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: calc(100dvh - 62px) !important;
        z-index: 1030;
        background: #fff;
    }

    html[data-sidenav-size=condensed] .wrapper .user-chat,
    .wrapper .user-chat {
        left: 0 !important;
    }

    .chat-content,
    #users-chat {
        height: 100%;
        bottom: 0 !important;
    }

    .user-chat-topbar {
        position: sticky !important;
        top: 0 !important;
        min-height: 56px;
        z-index: 2;
        padding: 8px !important;
    }

    .chat-conversation {
        height: calc(100dvh - 178px) !important;
        overflow: auto;
    }

    .chat-conversation-list {
        height: auto !important;
        min-height: 100%;
    }

    #users-conversation {
        padding: 8px 8px 92px;
    }

    .chat-input-section {
        position: fixed !important;
        left: 0;
        right: 0;
        bottom: 0 !important;
        width: 100% !important;
        padding: 8px !important;
        z-index: 1032;
        border-top: 1px solid var(--cm-line-soft);
    }

    .chat-input-section .row,
    .chat-input-section form,
    .chat-input-section .input-group {
        margin: 0 !important;
    }

    .chat-input-section .btn-lg {
        min-width: 42px;
        min-height: 42px;
        padding: 8px 10px;
    }

    .chat-input {
        min-height: 42px;
        font-size: 15px !important;
    }

    .cm-msg {
        max-width: 92%;
    }

    .cm-bubble {
        font-size: 14px;
    }

    .user-profile-sidebar {
        position: fixed;
        inset: 62px 0 0 auto;
        width: min(100%, 360px);
        max-width: 100%;
        z-index: 1035;
        overflow: auto;
    }

    #calendar {
        overflow: visible;
    }

    #calendar .fc {
        min-width: 0;
        width: 100%;
    }

    #calendar .fc-toolbar {
        align-items: stretch;
        gap: 8px;
    }

    #calendar .fc-toolbar.fc-header-toolbar {
        flex-wrap: wrap;
    }

    #calendar .fc-toolbar-chunk {
        display: flex;
        justify-content: center;
        min-width: 0;
    }

    #calendar .fc-toolbar-chunk:nth-child(2) {
        order: -1;
        flex: 0 0 100%;
    }

    #calendar .fc-toolbar-title {
        font-size: 17px;
        text-align: center;
    }

    #calendar .fc-button {
        padding: 7px 9px;
        font-size: 12px;
    }

    #calendar .fc-daygrid-event {
        padding: 3px;
    }

    #calendar .fc-event-time,
    #calendar .fc-event-title {
        font-size: 11px;
    }

    .cm-cal-event-compact {
        min-height: 28px;
        padding: 4px 6px;
    }

    .cm-cal-event-compact .cm-cal-title {
        font-size: 11px;
    }
}

@media (max-width: 575.98px) {
    .navbar-custom .topbar {
        min-height: 58px;
    }

    .button-toggle-menu {
        width: 40px;
        height: 40px;
    }

    .topbar-menu .d-nonex,
    .topbar-menu .d-sm-inline-block {
        display: none !important;
    }

    .nav-user .d-lg-flex {
        display: none !important;
    }

    .profile-dropdown .cm-notification-preference-btn {
        min-height: 44px;
        padding: 10px 12px;
    }

    .card {
        border-radius: 7px;
    }

    .card-body {
        padding: 12px;
    }

    .form-control,
    .form-select,
    .btn {
        font-size: 14px;
    }

    .chat-leftsidebar,
    .user-chat,
    .user-chat.user-chat-show {
        height: calc(100dvh - 58px) !important;
    }

    .user-chat.user-chat-show {
        inset: 58px 0 0 0 !important;
    }

    .chat-room-list .chat-list li,
    .chat-user-list li {
        margin-inline: 4px;
    }

    .chat-conversation {
        height: calc(100dvh - 168px) !important;
    }

    .user-profile-sidebar {
        inset: 58px 0 0 0;
        width: 100%;
    }

    .modal-dialog {
        margin: 6px;
    }

    body.authentication-bg .card-body {
        padding: 24px !important;
    }

    body.authentication-bg .container {
        max-width: 100%;
        padding-inline: 14px;
    }

    body.authentication-bg .home-center {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 0;
    }

    body.authentication-bg .home-desc-center {
        display: block !important;
        width: 100%;
        min-width: 0;
    }

    body.authentication-bg .row {
        margin-inline: 0;
    }

    body.authentication-bg .row > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    body.authentication-bg .col-md-8 {
        width: 100%;
        padding-inline: 0;
    }

    body.authentication-bg .card {
        width: 100%;
        max-width: min(280px, calc(100vw - 40px));
        margin-inline: auto;
        overflow: hidden;
    }

    body.authentication-bg img[alt="logo"] {
        max-width: 190px;
    }

    body.authentication-bg .input-group {
        flex-wrap: nowrap;
        width: 100%;
        max-width: 100%;
    }

    body.authentication-bg .form-control {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition: none !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Premium polish pass: typography, app chrome, and Message Centre finish. */
:root {
    --cm-bg: #f6f8fb;
    --cm-surface-2: #f8fafc;
    --cm-text: #101828;
    --cm-muted: #667085;
    --cm-line: #d9e2ef;
    --cm-line-soft: #edf2f7;
    --cm-primary: #1f5eff;
    --cm-primary-dark: #1649c7;
    --cm-primary-rgb: 31, 94, 255;
    --cm-primary-soft: #eef4ff;
    --cm-sidebar: #eef5fb;
    --cm-sidebar-2: #dbeaf5;
    --cm-sidebar-accent: #315d8c;
    --cm-sidebar-text: #172033;
    --cm-sidebar-muted: #667085;
    --cm-sidebar-icon: #315d8c;
    --cm-sidebar-border: rgba(49, 93, 140, .20);
    --cm-radius: 8px;
    --cm-shadow: 0 18px 44px rgba(16, 24, 40, .10);
    --cm-shadow-sm: 0 8px 22px rgba(16, 24, 40, .06);
}

html,
body,
button,
input,
select,
textarea,
.btn,
.form-control,
.dropdown-menu,
.table,
.fc {
    font-family: "Segoe UI Variable", "Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

html {
    font-size: 15px;
}

body {
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.cm-unicode-text,
.hp-rtl-text,
bdi[dir="auto"],
[dir="auto"] {
    unicode-bidi: isolate;
    direction: auto;
}

p,
td,
th,
label,
.form-label,
.dropdown-item,
.side-nav .side-nav-link {
    letter-spacing: 0;
}

.content-page {
    background: #f6f8fb;
}

.navbar-custom {
    background: rgba(255, 255, 255, .90);
    border-bottom-color: rgba(217, 226, 239, .72);
}

.navbar-custom .topbar {
    min-height: 66px;
}

.nav-user {
    border-color: rgba(217, 226, 239, .85);
    box-shadow: 0 8px 22px rgba(16, 24, 40, .07);
}

.leftside-menu,
.leftside-menu.authentication-bg,
.leftside-menu #leftside-menu-container,
.leftside-menu .simplebar-content-wrapper,
.leftside-menu .simplebar-content {
    background: var(--cm-sidebar) !important;
}

.side-nav {
    padding: 12px 8px;
}

.side-nav .side-nav-link {
    min-height: 38px;
    padding: 8px 10px;
    color: var(--cm-sidebar-text);
    font-size: 14px;
    font-weight: 500;
}

.side-nav .side-nav-link i {
    font-size: 18px;
    color: var(--cm-sidebar-icon);
}

.side-nav .side-nav-link:hover,
.side-nav .side-nav-link[aria-expanded="true"],
.side-nav .side-nav-item > a.active {
    background: var(--cm-sidebar-2);
    box-shadow: inset 3px 0 0 var(--cm-sidebar-accent);
    color: var(--cm-sidebar-text);
}

.card,
.modal-content,
.dropdown-menu,
.jconfirm-box {
    border-color: rgba(217, 226, 239, .82) !important;
}

.card {
    box-shadow: 0 10px 30px rgba(16, 24, 40, .055);
}

.form-control,
.form-select,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    min-height: 40px;
    border-color: #d8e1ee;
    color: #182230;
}

.form-control::placeholder,
textarea::placeholder,
input::placeholder {
    color: #98a2b3 !important;
}

.btn {
    min-height: 38px;
    padding-inline: 14px;
}

.btn-primary {
    box-shadow: 0 8px 18px rgba(31, 94, 255, .18) !important;
}

.table tbody td,
table.dataTable tbody td {
    color: #344054;
}

.table thead th,
table.dataTable thead th {
    color: #475467;
}

.chat-leftsidebar,
.user-chat,
.user-profile-sidebar {
    background: #fff;
}

.chat-leftsidebar {
    width: 340px !important;
    max-width: 340px;
    border-right: 1px solid #e7edf5;
}

.chat-leftsidebar > div > .px-4 {
    padding: 20px 18px 14px !important;
    border-bottom: 1px solid #edf2f7;
}

.chat-leftsidebar h6 {
    margin-bottom: 14px !important;
    color: #101828;
    font-size: 15px;
    font-weight: 800;
}

#serachChatUser {
    min-height: 42px;
    padding-left: 14px;
    background: #f7f9fc !important;
    border: 1px solid #e6edf5 !important;
}

#searchbtn-addon {
    min-width: 46px;
    background: #f7f9fc;
    border: 1px solid #e6edf5;
    color: #344054;
}

#usersList {
    padding: 8px 8px 16px;
}

body.cm-message-centre #usersList,
body.cm-message-centre #usersList :is(a, h5, p, span, small, .text-truncate, .text-end, .fw-bold) {
    font-family: Roboto, "Segoe UI", Arial, "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", Tahoma, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif !important;
    font-feature-settings: normal !important;
    font-kerning: normal !important;
    font-variant-numeric: normal !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
}

.chat-room-list .chat-list li,
.chat-user-list li,
#usersList > li {
    margin: 3px 0;
    border-radius: 8px;
    border: 1px solid transparent;
}

#usersList > li > a {
    display: block;
    min-height: 64px;
    padding: 9px 10px;
    border-radius: 8px;
}

.chat-room-list .chat-list li:hover,
.chat-user-list li:hover,
#usersList > li:hover > a {
    background: #f7faff !important;
    border-color: #edf2f7;
}

.chat-room-list .chat-list li.active,
.chat-user-list li.active,
#usersList > li.active {
    background: transparent;
    box-shadow: none;
}

.chat-room-list .chat-list li.active > a,
.chat-user-list li.active > a,
#usersList li.active > a {
    background: var(--cm-primary-soft) !important;
    border: 1px solid rgba(var(--cm-primary-rgb), .22);
    box-shadow: inset 3px 0 0 var(--cm-primary), 0 8px 18px rgba(var(--cm-primary-rgb), .08);
}

#usersList .fw-bold,
#usersList .text-truncate.fw-bold {
    color: #1d2939 !important;
    font-size: 14px;
    font-weight: 600 !important;
}

#usersList p:not(.fw-bold),
#usersList .text-truncate:not(.fw-bold) {
    color: #667085 !important;
}

#usersList small {
    color: #667085;
    font-size: 12px;
    font-weight: 500;
}

[data-bs-theme="dark"] #usersList .fw-bold,
[data-bs-theme="dark"] #usersList .text-truncate.fw-bold,
[data-theme="dark"] #usersList .fw-bold,
[data-theme="dark"] #usersList .text-truncate.fw-bold {
    color: #f8fafc !important;
}

[data-bs-theme="dark"] #usersList p:not(.fw-bold),
[data-bs-theme="dark"] #usersList .text-truncate:not(.fw-bold),
[data-bs-theme="dark"] #usersList small,
[data-bs-theme="dark"] #usersList .text-end,
[data-theme="dark"] #usersList p:not(.fw-bold),
[data-theme="dark"] #usersList .text-truncate:not(.fw-bold),
[data-theme="dark"] #usersList small,
[data-theme="dark"] #usersList .text-end {
    color: #b6c2d2 !important;
}

[data-bs-theme="dark"] #usersList > li > a,
[data-theme="dark"] #usersList > li > a {
    color: #e5edf7 !important;
}

[data-bs-theme="dark"] #usersList > li:hover > a,
[data-theme="dark"] #usersList > li:hover > a {
    background: #172033 !important;
    border-color: #263449 !important;
}

[data-bs-theme="dark"] #usersList li.active > a,
[data-theme="dark"] #usersList li.active > a {
    background: #1e293b !important;
    border-color: #334155 !important;
    box-shadow: inset 3px 0 0 var(--cm-sidebar-accent), 0 8px 18px rgba(0,0,0,.22) !important;
}

#usersList .avatar-xs,
#usersList .avatar-title {
    width: 34px;
    height: 34px;
}

#usersList .avatar-title {
    background: #f2f6fb;
    border: 1px solid #d8e6f7;
}

.user-chat {
    border-left: 0;
}

.user-chat-topbar {
    min-height: 64px;
    padding: 10px 18px !important;
    background: rgba(255, 255, 255, .95) !important;
    border-bottom: 1px solid #edf2f7;
}

.user-chat-topbar .font-size-18,
.user-chat-topbar a.user-profile-show {
    color: #101828 !important;
    font-size: 15px !important;
    font-weight: 800;
}

.user-chat-topbar .nav-btn,
.user-chat-topbar .btn {
    border-radius: 8px;
}

.chat-conversation {
    background:
        linear-gradient(rgba(246, 248, 251, .94), rgba(246, 248, 251, .94)),
        repeating-linear-gradient(45deg, transparent 0 22px, rgba(16, 24, 40, .018) 22px 23px);
}

#users-conversation {
    gap: 8px;
    padding: 18px 28px 124px;
}

.cm-msg {
    max-width: min(72%, 720px);
}

.cm-bubble {
    padding: 10px 13px 7px;
    border-radius: 8px;
    font-size: 14.5px;
    line-height: 1.46;
}

.cm-left .cm-bubble {
    background: #ffffff;
    border: 1px solid #e4ebf4;
    color: #1d2939;
    box-shadow: 0 8px 22px rgba(16, 24, 40, .055);
}

.cm-right .cm-bubble {
    background: #dcfce7;
    border: 1px solid #bbf7d0;
    color: #102a1d;
    box-shadow: 0 8px 22px rgba(15, 138, 106, .10);
}

.cm-left .cm-bubble,
.cm-right .cm-bubble {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.cm-meta {
    margin-top: 5px;
    font-size: 11px;
    font-weight: 500;
}

.cm-actions .dropdown-toggle {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid #edf2f7;
}

.chat-input-section {
    padding: 12px 18px !important;
    background: rgba(255, 255, 255, .96) !important;
    border-top: 1px solid #e7edf5;
    box-shadow: 0 -12px 28px rgba(16, 24, 40, .05);
}

.chat-input-section .btn-link,
.chat-input-section .btn-light,
.chat-input-section .emoji-btn,
#morebutton,
#voicerecord {
    min-width: 44px;
    min-height: 44px;
    border: 1px solid #dde7f3;
    background: #f8fafc;
    color: #475467;
}

.chat-input {
    min-height: 46px;
    border: 1px solid #cfdcf0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #182230;
    font-size: 15px !important;
    line-height: 1.35;
    box-shadow: 0 8px 20px rgba(16, 24, 40, .035);
}

.chat-input:focus {
    border-color: rgba(31, 94, 255, .65) !important;
    box-shadow: 0 0 0 3px rgba(31, 94, 255, .10), 0 8px 20px rgba(16, 24, 40, .045) !important;
}

.chat-send {
    min-width: 50px;
    border-radius: 8px !important;
    background: var(--cm-primary) !important;
}

.cm-scroll-bottom {
    position: absolute;
    right: 28px;
    bottom: 88px;
    z-index: 5;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(217, 226, 239, .92);
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #1d2939;
    box-shadow: 0 14px 34px rgba(16, 24, 40, .14);
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px) scale(.96);
    transition: opacity .16s ease, transform .16s ease, background-color .12s ease, color .12s ease;
    backdrop-filter: blur(10px);
}

.cm-scroll-bottom.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.cm-scroll-bottom:hover {
    background: var(--cm-primary);
    border-color: var(--cm-primary);
    color: #fff;
}

.cm-scroll-bottom i {
    font-size: 24px;
    line-height: 1;
}

.user-profile-sidebar .card,
.user-profile-sidebar .card-body {
    background: #fff;
}

body.authentication-bg .card {
    box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
}

@media (max-width: 991.98px) {
    .user-chat {
        position: fixed !important;
        inset: 62px 0 0 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: calc(100dvh - 62px) !important;
        z-index: 1030;
        visibility: hidden !important;
        opacity: 0;
        pointer-events: none;
        transform: translateX(100%);
        transition: transform .2s ease, opacity .16s ease, visibility .16s ease;
        background: #fff;
    }

    html {
        font-size: 14px;
    }

    .content-page {
        margin-left: 0 !important;
    }

    .navbar-custom .topbar {
        min-height: 62px;
    }

    .chat-leftsidebar {
        width: 100% !important;
        max-width: none !important;
    }

    .chat-leftsidebar > div > .px-4 {
        padding: 16px 14px 12px !important;
    }

    #usersList {
        padding-inline: 6px;
    }

    .user-chat.user-chat-show {
        position: fixed !important;
        inset: 62px 0 0 0 !important;
        width: 100% !important;
        max-width: none !important;
        height: calc(100dvh - 62px) !important;
        z-index: 1030;
        visibility: visible !important;
        opacity: 1;
        pointer-events: auto;
        transform: translateX(0);
        background: #fff;
    }

    .user-chat-remove {
        display: inline-grid !important;
        place-items: center;
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: #f2f6fb;
        color: #1d2939 !important;
        text-decoration: none;
    }

    .user-chat-remove i {
        color: #1d2939 !important;
        font-size: 24px;
    }

    .user-chat-topbar {
        min-height: 58px;
        padding: 8px 10px !important;
    }

    .chat-conversation {
        height: calc(100dvh - 176px) !important;
    }

    #users-conversation {
        padding: 10px 10px 100px;
    }

    .cm-msg {
        max-width: 92%;
    }

    .chat-input-section {
        position: fixed !important;
        left: 0;
        right: 0;
        bottom: 0 !important;
        width: 100% !important;
        padding: 8px !important;
        z-index: 1032;
    }

    .chat-input-section .btn-link,
    .chat-input-section .btn-light,
    .chat-input-section .emoji-btn,
    #morebutton,
    #voicerecord {
        min-width: 42px;
        min-height: 42px;
        padding: 8px;
    }

    .cm-scroll-bottom {
        right: 14px;
        bottom: 78px;
        width: 40px;
        height: 40px;
    }

    #calendar {
        overflow: visible;
    }

    #calendar .fc {
        min-width: 0;
        width: 100%;
    }

    table.dataTable,
    .table {
        min-width: 680px;
    }
}

@media (max-width: 575.98px) {
    .navbar-custom .topbar {
        min-height: 58px;
    }

    .user-chat.user-chat-show {
        inset: 58px 0 0 0 !important;
        height: calc(100dvh - 58px) !important;
    }

    .chat-conversation {
        height: calc(100dvh - 168px) !important;
    }

    .cm-bubble {
        font-size: 14px;
    }

    body.authentication-bg .card {
        max-width: min(280px, calc(100vw - 40px));
    }
}

/* Message Centre stability pass: keep the chat header, list and composer in one layout. */
#users-chat {
    bottom: auto !important;
    height: calc(100dvh - 66px) !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.user-chat-topbar {
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto !important;
    z-index: 4;
}

.chat-conversation {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.chat-conversation .simplebar-wrapper,
.chat-conversation .simplebar-mask,
.chat-conversation .simplebar-offset,
.chat-conversation .simplebar-content-wrapper {
    height: 100% !important;
    max-height: 100% !important;
}

.chat-conversation .simplebar-content-wrapper {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.chat-conversation-list,
#users-conversation {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.chat-input-section {
    position: relative !important;
    bottom: auto !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    z-index: 4;
}

.cm-msg {
    content-visibility: visible !important;
    contain: none !important;
    contain-intrinsic-size: auto !important;
    overflow: visible !important;
}

.cm-bubble,
.cm-body,
.cm-caption {
    max-height: none !important;
    overflow: visible !important;
}

.cm-body,
.cm-caption,
.cm-file span,
.noti-item-title {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.cm-notification-lead-link {
    color: var(--cm-primary) !important;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cm-notification-lead-link:hover,
.cm-notification-lead-link:focus-visible {
    color: var(--cm-primary-dark) !important;
}

.notification-list .dropdown-menu [data-simplebar] {
    padding-bottom: 2px;
}

#notifications .notify-item {
    border: 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    border-radius: 0 !important;
    display: block;
    margin: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
}

#notifications .notify-item .card-body {
    overflow: visible !important;
    padding: 7px 9px 4px !important;
}

#notifications .notify-item .d-flex {
    align-items: flex-start !important;
    min-height: 30px;
}

#notifications .notify-item .flex-grow-1 {
    margin-left: 0 !important;
    min-width: 0;
    overflow: visible;
}

#notifications .notify-item .noti-item-title {
    display: block;
    margin: 0 !important;
    overflow: visible;
    padding: 0;
    line-height: 1.25;
    white-space: normal;
}

#notifications .notify-item .noti-item-title small {
    clear: both;
    display: block;
    float: none !important;
    margin: 3px 0 0 !important;
    line-height: 1.2;
}

#notifications .notify-item .clear-notification {
    align-items: center;
    display: inline-flex;
    flex: 0 0 24px;
    height: 24px;
    justify-content: center;
    line-height: 1;
    min-height: 24px;
    padding: 0 !important;
    width: 24px;
}

.main-menu-theme-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.main-menu-theme-preview {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border: 1px solid rgba(15, 23, 42, .18);
    border-radius: 5px;
    background: var(--cm-primary);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.72);
}

.main-menu-theme-row .form-select {
    min-width: 0;
}

.cm-chat-zoom-btn[aria-pressed="true"] {
    color: var(--cm-primary) !important;
    background: var(--cm-primary-soft) !important;
    border-color: rgba(var(--cm-primary-rgb), .22) !important;
}

#users-chat.cm-chat-zoom-lg .cm-bubble {
    font-size: 16px;
    line-height: 1.55;
}

#users-chat.cm-chat-zoom-xl .cm-bubble {
    font-size: 18px;
    line-height: 1.6;
}

#users-chat.cm-chat-zoom-xl .cm-msg {
    max-width: min(86%, 920px);
}

[data-bs-theme="dark"] {
    --cm-bg: #0f172a;
    --cm-surface: #111827;
    --cm-surface-2: #172033;
    --cm-border: #263449;
    --cm-text: #e5edf7;
    --cm-muted: #9aa8bc;
}

[data-bs-theme="dark"] .navbar-custom,
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] .chat-leftsidebar,
[data-bs-theme="dark"] .user-chat,
[data-bs-theme="dark"] .user-profile-sidebar,
[data-bs-theme="dark"] .user-chat-topbar,
[data-bs-theme="dark"] .chat-input-section,
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background: var(--cm-surface) !important;
    border-color: var(--cm-border) !important;
    color: var(--cm-text) !important;
}

[data-bs-theme="dark"] .chat-conversation {
    background:
        linear-gradient(rgba(15, 23, 42, .94), rgba(15, 23, 42, .94)),
        repeating-linear-gradient(45deg, transparent 0 22px, rgba(255, 255, 255, .025) 22px 23px);
}

[data-bs-theme="dark"] .cm-left .cm-bubble {
    background: #172033;
    border-color: #263449;
    color: #e5edf7;
}

[data-bs-theme="dark"] .cm-scroll-bottom,
[data-bs-theme="dark"] .cm-actions .dropdown-toggle,
[data-bs-theme="dark"] .clear-notification {
    background: #172033;
    border-color: #263449;
    color: #e5edf7;
}

/* Consistent dark-mode readability across admin screens. */
[data-bs-theme="dark"],
[data-theme="dark"] {
    --cm-bg: #0f172a;
    --cm-surface: #111827;
    --cm-surface-2: #172033;
    --cm-border: #263449;
    --cm-text: #e5edf7;
    --cm-muted: #b6c2d2;
    --ct-body-color: #e5edf7;
    --ct-body-color-rgb: 229,237,247;
    --ct-secondary-color: #b6c2d2;
    --ct-tertiary-color: #cbd5e1;
    --ct-heading-color: #f8fafc;
}

[data-bs-theme="dark"] body,
[data-theme="dark"] body,
[data-bs-theme="dark"] .content-page,
[data-theme="dark"] .content-page,
[data-bs-theme="dark"] .content,
[data-theme="dark"] .content,
[data-bs-theme="dark"] .page-content,
[data-theme="dark"] .page-content {
    background: var(--cm-bg) !important;
    color: var(--cm-text) !important;
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .modal-content,
[data-bs-theme="dark"] .modal-body,
[data-bs-theme="dark"] .modal-footer,
[data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] .jconfirm-box,
[data-theme="dark"] .card,
[data-theme="dark"] .card-body,
[data-theme="dark"] .card-header,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .modal-body,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .jconfirm-box {
    background: var(--cm-surface) !important;
    border-color: var(--cm-border) !important;
    color: var(--cm-text) !important;
}

[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6,
[data-bs-theme="dark"] p,
[data-bs-theme="dark"] label,
[data-bs-theme="dark"] .form-label,
[data-bs-theme="dark"] .modal-title,
[data-bs-theme="dark"] .card-title,
[data-bs-theme="dark"] .header-title,
[data-bs-theme="dark"] .text-body,
[data-bs-theme="dark"] .text-reset,
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] p,
[data-theme="dark"] label,
[data-theme="dark"] .form-label,
[data-theme="dark"] .modal-title,
[data-theme="dark"] .card-title,
[data-theme="dark"] .header-title,
[data-theme="dark"] .text-body,
[data-theme="dark"] .text-reset {
    color: var(--cm-text) !important;
}

[data-bs-theme="dark"] .text-muted,
[data-bs-theme="dark"] .text-body-secondary,
[data-bs-theme="dark"] .small,
[data-bs-theme="dark"] small,
[data-bs-theme="dark"] .help-block,
[data-bs-theme="dark"] .form-text,
[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-body-secondary,
[data-theme="dark"] .small,
[data-theme="dark"] small,
[data-theme="dark"] .help-block,
[data-theme="dark"] .form-text {
    color: var(--cm-muted) !important;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .select2-container .select2-selection--single,
[data-bs-theme="dark"] .select2-container .select2-selection--multiple,
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .select2-container .select2-selection--single,
[data-theme="dark"] .select2-container .select2-selection--multiple {
    background: #0f172a !important;
    border-color: var(--cm-border) !important;
    color: #f8fafc !important;
}

[data-bs-theme="dark"] .form-control::placeholder,
[data-bs-theme="dark"] textarea::placeholder,
[data-bs-theme="dark"] input::placeholder,
[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] input::placeholder {
    color: #94a3b8 !important;
}

[data-bs-theme="dark"] .dropdown-item,
[data-theme="dark"] .dropdown-item {
    color: var(--cm-text) !important;
}

[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus,
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background: var(--cm-surface-2) !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .table,
[data-bs-theme="dark"] table.dataTable,
[data-theme="dark"] .table,
[data-theme="dark"] table.dataTable {
    --ct-table-color: var(--cm-text);
    --ct-table-bg: var(--cm-surface);
    --ct-table-striped-color: var(--cm-text);
    --ct-table-striped-bg: var(--cm-surface-2);
    --ct-table-hover-color: #fff;
    --ct-table-hover-bg: #1e293b;
    color: var(--cm-text) !important;
    border-color: var(--cm-border) !important;
}

[data-bs-theme="dark"] .table > :not(caption) > * > *,
[data-bs-theme="dark"] table.dataTable tbody td,
[data-bs-theme="dark"] table.dataTable thead th,
[data-theme="dark"] .table > :not(caption) > * > *,
[data-theme="dark"] table.dataTable tbody td,
[data-theme="dark"] table.dataTable thead th {
    color: var(--cm-text) !important;
    border-color: var(--cm-border) !important;
}

[data-bs-theme="dark"] .table thead th,
[data-bs-theme="dark"] table.dataTable thead th,
[data-theme="dark"] .table thead th,
[data-theme="dark"] table.dataTable thead th {
    background: #172033 !important;
    color: #f8fafc !important;
}

.clear-notification {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 999px;
    border: 1px solid #e5edf7;
    background: #f8fafc;
    color: #667085;
}

.clear-notification:hover {
    background: #fee2e2;
    border-color: #fecaca;
    color: #b42318;
}

@media (max-width: 991.98px) {
    #users-chat {
        height: 100% !important;
    }

    .chat-conversation {
        height: auto !important;
        padding-bottom: 86px !important;
    }

    .chat-input-section {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        z-index: 1032;
    }
}

@media (max-width: 575.98px) {
    #users-chat.cm-chat-zoom-xl .cm-msg,
    #users-chat.cm-chat-zoom-lg .cm-msg {
        max-width: 96%;
    }
}

/* Message Centre template correction: the composer sits beside #users-chat in the PHP. */
.user-chat .chat-content {
    height: calc(100dvh - 66px) !important;
    min-height: 0 !important;
}

.chat-content > .w-100.overflow-hidden.position-relative {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
}

.chat-content > .w-100.overflow-hidden.position-relative > #users-chat {
    flex: 1 1 auto !important;
    height: auto !important;
}

.chat-content > .w-100.overflow-hidden.position-relative > .chat-input-section {
    flex: 0 0 auto !important;
}

.chat-conversation .simplebar-content-wrapper .simplebar-content {
    min-height: 100% !important;
    margin-top: 0 !important;
}

.chat-conversation .chat-conversation-list {
    margin-top: 0 !important;
    padding-top: 12px !important;
}

@media (max-width: 991.98px) {
    .user-chat .chat-content,
    .chat-content > .w-100.overflow-hidden.position-relative {
        height: 100% !important;
    }
}

/* Keep the first visible chat row clear of the viewport edge and SimpleBar mask. */
.chat-conversation {
    scroll-padding-top: 28px;
}

.chat-conversation .simplebar-content {
    min-height: 100% !important;
    padding-top: 22px !important;
    padding-bottom: 124px !important;
}

#users-conversation {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#users-conversation > li:first-child {
    margin-top: 2px !important;
}

.cm-loadmore {
    margin-top: 6px;
    margin-bottom: 8px;
}

@media (max-width: 991.98px) {
    .chat-conversation .simplebar-content {
        padding-top: 18px !important;
        padding-bottom: 104px !important;
    }
}

/* Tablet portrait fit pass: keep shared app chrome inside iPad-width viewports. */
@media (min-width: 768px) and (max-width: 991.98px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .wrapper,
    .content-page,
    .content-page .content,
    .main-content,
    .page-content,
    .page-content-wrapper,
    .container-fluid,
    .row,
    [class*="col-"] {
        min-width: 0;
    }

    .navbar-custom,
    html[data-sidenav-size] .navbar-custom {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 12px;
        padding-right: 12px;
        z-index: 1010;
    }

    .navbar-custom .topbar {
        min-height: 60px;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    .navbar-custom .topbar-menu {
        gap: 6px !important;
        min-width: 0;
    }

    .content-page,
    html[data-sidenav-size] .content-page {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0;
        padding-right: 0;
        width: 100%;
    }

    .container-fluid {
        width: 100%;
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }

    .page-title-box {
        margin: 0 0 14px;
        padding: 14px 0 8px;
    }

    .page-title-box .page-title,
    .page-title-box .page-title h4,
    .page-title h4 {
        white-space: normal;
        line-height: 1.2;
    }

    .page-title-box .page-title h4,
    .page-title h4 {
        font-size: 20px;
    }

    .page-content-wrapper {
        padding-bottom: 18px;
    }

    .row {
        --ct-gutter-x: 1rem;
        --bs-gutter-x: 1rem;
    }

    .card {
        max-width: 100%;
        border-radius: 8px;
    }

    .card-body {
        padding: 14px;
    }

    .card-header {
        padding: 12px 14px;
    }

    .card .card-body .row {
        row-gap: 12px;
    }

    .btn {
        max-width: 100%;
        white-space: normal;
    }

    .btn-group,
    .btn-toolbar {
        flex-wrap: wrap;
        gap: 6px;
    }

    .btn-group > .btn,
    .btn-toolbar > .btn,
    .btn-toolbar > .btn-group {
        flex: 0 1 auto;
    }

    .form-control,
    .form-select,
    textarea,
    select,
    input {
        max-width: 100%;
    }

    .input-group {
        flex-wrap: nowrap;
        min-width: 0;
    }

    .input-group > .form-control,
    .input-group > .form-select {
        min-width: 0;
    }

    .nav-tabs,
    .nav-pills {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .nav-tabs::-webkit-scrollbar,
    .nav-pills::-webkit-scrollbar {
        display: none;
    }

    .nav-tabs .nav-link,
    .nav-pills .nav-link {
        white-space: nowrap;
    }

    .table-responsive,
    .table-responsive-sm,
    .table-responsive-md,
    .dataTables_wrapper,
    .dt-container,
    .dataTables_scroll,
    .dataTables_scrollBody,
    .dt-scroll-body {
        max-width: 100%;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .dataTables_wrapper .row,
    .dt-container .row {
        margin-left: 0;
        margin-right: 0;
        row-gap: 8px;
    }

    table.dataTable,
    .table,
    #tablelist,
    #tablelistClinic,
    #allContactsTable {
        width: 100% !important;
    }

    .cm-table-top-scroll {
        width: 100%;
        height: 16px;
        margin: 0 0 6px;
        overflow-x: auto;
        overflow-y: hidden;
        border: 1px solid #d8dee6;
        border-radius: 4px;
        background: #f8fafc;
    }

    .cm-table-top-scroll-inner {
        height: 1px;
    }

    .modal-dialog,
    .modal-lg,
    .modal-xl {
        max-width: calc(100vw - 24px);
        margin: 12px auto;
    }

    .modal-xl-custom {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        height: calc(100dvh - 24px) !important;
        margin: 12px auto !important;
    }

    .modal-content-custom {
        height: 100% !important;
        max-height: calc(100dvh - 24px);
    }

    .dropdown-menu {
        max-width: calc(100vw - 24px);
    }

    #calendar {
        min-height: calc(100dvh - 235px);
    }

    #calendar .fc-header-toolbar,
    #calendar .fc-toolbar {
        align-items: flex-start;
        gap: 8px;
        flex-wrap: wrap;
    }

    #calendar .fc-toolbar-chunk {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        min-width: 0;
    }

    #calendar .fc-toolbar-title {
        font-size: 18px;
        line-height: 1.2;
    }

    #calendar .fc-button {
        padding: 5px 9px;
        font-size: 12px;
        line-height: 1.2;
    }

    #calendar .fc-timegrid-event,
    #calendar .fc-daygrid-event {
        max-width: 100%;
        overflow: hidden;
    }

    #calendar .fc-event-title,
    #calendar .fc-event-time {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .calendar-page .calendar-filter-box {
        margin-bottom: 12px;
    }

    .calendar-jump-date {
        margin-left: 0;
    }

    .chat-wrapper,
    .chat-leftsidebar,
    .user-chat,
    .user-chat .chat-content {
        min-width: 0;
    }

    .chat-input-section {
        left: 12px !important;
        right: 12px !important;
        bottom: 10px !important;
        width: calc(100% - 24px) !important;
        max-height: min(32dvh, 220px);
        border-radius: 14px 14px 0 0;
    }
}

@media (max-width: 991.98px) {
    .table-responsive,
    .dataTables_wrapper,
    .dt-container,
    .dataTables_scrollBody,
    .dt-scroll-body {
        overscroll-behavior-x: contain;
    }

    .page-content,
    .page-content-wrapper,
    .card,
    .card-body,
    .tab-content,
    .tab-pane {
        min-width: 0;
    }
}

/* Message Centre right pane: strict business/admin treatment */
body.cm-message-centre .user-chat {
    --cm-chat-accent: var(--cm-primary);
    --cm-chat-line: #dfe5ee;
    --cm-chat-soft: #f8fafc;
    --cm-chat-text: #172033;
    --cm-chat-muted: #667085;
    background: #fff;
    border-left: 1px solid var(--cm-chat-line);
    color: var(--cm-chat-text);
}

body.cm-message-centre .user-chat .chat-content,
body.cm-message-centre #users-chat {
    background: #fff;
}

body.cm-message-centre .user-chat-topbar {
    min-height: 52px;
    padding: 7px 12px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--cm-chat-line);
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.cm-message-centre .user-chat-topbar .avatar-sm {
    height: 32px;
    width: 32px;
}

body.cm-message-centre .user-chat-topbar .avatar-sm img,
body.cm-message-centre .user-chat-topbar .avatar-title {
    border-radius: 6px !important;
}

body.cm-message-centre .user-chat-topbar .font-size-18,
body.cm-message-centre .user-chat-topbar .user-name,
body.cm-message-centre .user-chat-topbar h5 {
    color: var(--cm-chat-text);
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25;
}

body.cm-message-centre .user-chat-topbar .text-muted,
body.cm-message-centre .user-chat-topbar small {
    color: var(--cm-chat-muted) !important;
    font-size: 11px;
}

body.cm-message-centre .user-chat-topbar .btn,
body.cm-message-centre .user-chat-topbar .nav-btn {
    min-width: 30px;
    min-height: 30px;
    height: 30px;
    border-radius: 5px !important;
    border: 1px solid var(--cm-chat-line);
    background: #fff;
    box-shadow: none !important;
    color: #475467;
    padding: 0 7px;
}

body.cm-message-centre .user-chat-topbar .user-chat-nav {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    justify-content: flex-end;
}

body.cm-message-centre .user-chat-topbar .cm-pin-nav-item {
    display: inline-flex;
    flex: 0 0 auto;
}

body.cm-message-centre .user-chat-topbar .cm-pin-toggle-btn {
    align-items: center;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    line-height: 1;
    min-height: 36px;
    min-width: 38px;
    padding: 0;
    touch-action: manipulation;
    width: 38px;
}

body.cm-message-centre .user-chat-topbar .cm-pin-toggle-btn i {
    font-size: 18px;
    line-height: 1;
}

body.cm-message-centre .user-chat-topbar .cm-pin-toggle-btn.is-pinned {
    background: #eef4ff;
    border-color: #b7c7e6;
    color: #1f4e8c;
}

body.cm-message-centre .user-chat-topbar .btn:hover,
body.cm-message-centre .user-chat-topbar .nav-btn:hover {
    background: var(--cm-chat-soft);
    border-color: #cfd7e5;
    color: var(--cm-chat-text);
}

body.cm-message-centre #smswa .d-flex {
    gap: 5px;
    margin-top: 0 !important;
    font-size: 12px;
}

body.cm-message-centre #sendWA {
    width: 2.35em !important;
    height: 1.15em !important;
    margin-top: 0;
}

body.cm-message-centre #chatPostChecksComplete {
    border-radius: 5px !important;
    border: 1px solid #cfd7e5 !important;
    background: #fff !important;
    color: #344054 !important;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 7px;
    box-shadow: none !important;
}

body.cm-message-centre .chat-conversation {
    background: var(--cm-chat-soft) !important;
    padding: 0 !important;
}

body.cm-message-centre .chat-conversation .simplebar-content,
body.cm-message-centre .chat-conversation .simplebar-content-wrapper .simplebar-content {
    padding: 10px 14px 76px !important;
}

body.cm-message-centre #users-conversation,
body.cm-message-centre .chat-conversation-list {
    gap: 4px;
    padding: 0 !important;
}

body.cm-message-centre #users-conversation > li,
body.cm-message-centre .chat-conversation .chat-list {
    margin: 0 !important;
}

body.cm-message-centre .cm-msg {
    max-width: min(74%, 680px);
    margin: 0;
}

body.cm-message-centre .cm-bubble,
body.cm-message-centre .user-chat-content {
    border-radius: 6px !important;
    box-shadow: none !important;
    color: var(--cm-chat-text);
    font-size: 13px;
    line-height: 1.38;
    padding: 6px 9px 5px !important;
    word-break: break-word;
}

body.cm-message-centre .cm-left .cm-bubble,
body.cm-message-centre .chat-list.left .user-chat-content,
body.cm-message-centre .user-chat-content:not(.fromme) {
    background: #fff !important;
    border: 1px solid var(--cm-chat-line);
}

body.cm-message-centre .cm-right .cm-bubble,
body.cm-message-centre .chat-list.right .user-chat-content,
body.cm-message-centre .user-chat-content.fromme {
    background: #eef0f3 !important;
    border: 1px solid #d1d7e0;
}

body.cm-message-centre .cm-bubble p,
body.cm-message-centre .user-chat-content p {
    margin-bottom: 0;
}

body.cm-message-centre .cm-meta,
body.cm-message-centre .conversation-name {
    color: var(--cm-chat-muted) !important;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 3px;
}

body.cm-message-centre .check-message-icon,
body.cm-message-centre .cm-meta .text-success {
    color: var(--cm-chat-accent) !important;
}

body.cm-message-centre .message-box-drop {
    background: transparent !important;
    box-shadow: none !important;
}

body.cm-message-centre .message-box-drop .dropdown-toggle,
body.cm-message-centre .cm-actions .dropdown-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid var(--cm-chat-line);
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #667085;
    display: inline-flex;
    height: 24px;
    justify-content: center;
    width: 24px;
}

body.cm-message-centre .message-box-drop .dropdown-menu,
body.cm-message-centre .cm-actions .dropdown-menu {
    border: 1px solid var(--cm-chat-line);
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(16, 24, 40, .10);
    font-size: 12px;
    padding: 4px;
}

body.cm-message-centre .message-box-drop .dropdown-item,
body.cm-message-centre .cm-actions .dropdown-item {
    border-radius: 4px;
    padding: 6px 8px;
}

body.cm-message-centre .replymessage-block,
body.cm-message-centre .replymessage-block-left,
body.cm-message-centre .cm-reply-card {
    background: #f8fafc !important;
    border: 1px solid var(--cm-chat-line);
    border-left: 2px solid var(--cm-chat-accent);
    border-radius: 4px !important;
    box-shadow: none !important;
    font-size: 12px;
    padding: 5px 7px !important;
}

body.cm-message-centre .cm-file,
body.cm-message-centre .cm-linkprev,
body.cm-message-centre .attached-file {
    background: #fff;
    border: 1px solid var(--cm-chat-line);
    border-radius: 5px;
    box-shadow: none;
    padding: 6px 8px;
}

body.cm-message-centre .cm-audio,
body.cm-message-centre .message-img audio {
    height: 32px;
    max-width: 100%;
    width: min(280px, 100%);
}

body.cm-message-centre .cm-voice-audio {
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    width: 1px !important;
}

body.cm-message-centre .cm-voice-note,
body.cm-message-centre .message-img.audio,
body.cm-message-centre .message-img:has(audio) {
    align-items: center;
    background: rgba(255, 255, 255, .64);
    border: 1px solid var(--cm-chat-line);
    border-radius: 5px;
    display: flex;
    gap: 8px;
    min-width: min(320px, 76vw);
    padding: 8px;
    --cm-voice-progress: 0%;
}

body.cm-message-centre .cm-voice-icon,
body.cm-message-centre .cm-voice-play {
    align-items: center;
    background: #f3f4f6;
    border: 1px solid #d7dde7;
    border-radius: 999px;
    color: var(--cm-chat-accent);
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

body.cm-message-centre .cm-voice-play i {
    font-size: 20px;
    line-height: 1;
}

body.cm-message-centre .cm-voice-main {
    flex: 1 1 auto;
    min-width: 0;
}

body.cm-message-centre .cm-voice-head {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 2px;
}

body.cm-message-centre .cm-voice-title {
    color: var(--cm-chat-text);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
}

body.cm-message-centre .cm-voice-duration {
    color: var(--cm-chat-muted);
    font-size: 11px;
    line-height: 1.2;
    min-width: 28px;
    text-align: right;
}

body.cm-message-centre .cm-voice-track {
    color: #64748b;
    cursor: pointer;
    padding: 7px 0 8px;
    position: relative;
}

body.cm-message-centre .cm-right .cm-voice-track {
    color: #475569;
}

body.cm-message-centre .cm-voice-track::after {
    background: currentColor;
    border-radius: 999px;
    bottom: 2px;
    content: "";
    height: 3px;
    left: 0;
    opacity: .95;
    position: absolute;
    width: var(--cm-voice-progress);
}

body.cm-message-centre .cm-voice-wave {
    align-items: center;
    display: grid;
    gap: 2px;
    grid-template-columns: repeat(28, 1fr);
    height: 24px;
    overflow: hidden;
    position: relative;
}

body.cm-message-centre .cm-voice-wave span {
    background: currentColor;
    border-radius: 999px;
    height: var(--bar);
    opacity: .32;
    position: relative;
}

body.cm-message-centre .cm-voice-caption {
    border-top: 1px solid var(--cm-chat-line);
    color: var(--cm-chat-text);
    font-size: 12px;
    margin-top: 6px;
    padding-top: 5px;
}

body.cm-message-centre .cm-voice-missing,
body.cm-message-centre .cm-audio-error {
    background: #fff7ed;
    border-color: #fed7aa;
}

body.cm-message-centre .cm-voice-missing .cm-voice-icon,
body.cm-message-centre .cm-audio-error .cm-voice-icon {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #b45309;
}

body.cm-message-centre .cm-voice-recording-panel {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--cm-chat-line);
    border-radius: 6px;
    box-shadow: none;
    display: none;
    gap: 10px;
    margin-bottom: 10px;
    padding: 8px;
}

body.cm-message-centre .chat-input-section.cm-recording #chatinput-form .row {
    display: none;
}

body.cm-message-centre .chat-input-section.cm-recording .cm-voice-recording-panel {
    display: flex;
}

body.cm-message-centre .cm-voice-recording-panel[hidden] {
    display: none !important;
}

body.cm-message-centre .cm-voice-recording-action {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #d7dde7;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
    padding: 0;
    width: 36px;
}

body.cm-message-centre .cm-voice-recording-send {
    background: #334155;
    border-color: #334155;
    color: #ffffff;
}

body.cm-message-centre .cm-voice-recording-cancel {
    color: #991b1b;
}

body.cm-message-centre .cm-voice-recording-status {
    align-items: center;
    color: #111827;
    display: inline-flex;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    gap: 7px;
    min-width: 58px;
}

body.cm-message-centre .cm-voice-recording-dot {
    animation: cmVoiceRecordingBlink 1s ease-in-out infinite;
    background: #dc2626;
    border-radius: 999px;
    height: 9px;
    width: 9px;
}

body.cm-message-centre .cm-voice-recording-wave {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 3px;
    height: 32px;
    min-width: 100px;
}

body.cm-message-centre .cm-voice-recording-wave span {
    animation: cmVoiceRecordingWave .72s ease-in-out infinite alternate;
    background: #64748b;
    border-radius: 999px;
    height: 10px;
    width: 3px;
}

body.cm-message-centre .cm-voice-recording-wave span:nth-child(2n) { animation-delay: .08s; height: 18px; }
body.cm-message-centre .cm-voice-recording-wave span:nth-child(3n) { animation-delay: .16s; height: 24px; }
body.cm-message-centre .cm-voice-recording-wave span:nth-child(5n) { animation-delay: .24s; height: 14px; }

body.cm-message-centre .cm-reaction {
    background: #fff;
    border: 1px solid var(--cm-chat-line);
    border-radius: 10px;
    box-shadow: none;
    font-size: 12px;
    padding: 1px 5px;
}

body.cm-message-centre .chat-input-section {
    background: #fff !important;
    border-top: 1px solid var(--cm-chat-line);
    border-radius: 0 !important;
    bottom: auto !important;
    box-shadow: none !important;
    left: auto !important;
    max-height: none;
    padding: 8px 10px !important;
    position: relative !important;
    right: auto !important;
    width: 100% !important;
}

body.cm-message-centre .chat-input-section .row {
    align-items: flex-end;
    gap: 6px;
}

body.cm-message-centre .chat-input-section .col,
body.cm-message-centre .chat-input-section .col-auto {
    margin-bottom: 0 !important;
}

body.cm-message-centre .chat-input-links {
    gap: 4px;
}

body.cm-message-centre .chat-input-section .btn-link,
body.cm-message-centre .chat-input-section .btn-light,
body.cm-message-centre .chat-input-section .btn-primary,
body.cm-message-centre .chat-input-section button:not(.chat-send) {
    align-items: center;
    background: #fff;
    border: 1px solid var(--cm-chat-line);
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #475467;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    min-height: 32px;
    min-width: 32px;
    padding: 0;
    width: 32px;
}

body.cm-message-centre .chat-input-section .btn-link:hover,
body.cm-message-centre .chat-input-section .btn-light:hover,
body.cm-message-centre .chat-input-section button:not(.chat-send):hover {
    background: var(--cm-chat-soft);
    color: var(--cm-chat-text);
}

body.cm-message-centre .chat-input {
    background: #fff;
    border: 1px solid #cfd7e5;
    border-radius: 5px;
    box-shadow: none !important;
    color: var(--cm-chat-text);
    font-size: 13px;
    line-height: 1.35;
    min-height: 34px;
    padding: 7px 9px;
}

body.cm-message-centre .chat-input:focus {
    border-color: var(--cm-chat-accent);
    box-shadow: 0 0 0 2px rgba(var(--cm-primary-rgb), .10) !important;
}

body.cm-message-centre .chat-send {
    background: var(--cm-chat-accent) !important;
    border: 1px solid var(--cm-chat-accent) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #fff !important;
    height: 34px;
    min-height: 34px !important;
    min-width: 36px !important;
    padding: 0 !important;
    width: 36px;
}

body.cm-message-centre .cm-scroll-bottom {
    display: none !important;
}

body.cm-message-centre .cm-scroll-bottom.show {
    display: none !important;
}

body.cm-message-centre .cm-typing-toast {
    background: #111827;
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(16, 24, 40, .16);
    font-size: 12px;
    padding: 8px 10px;
}

body.cm-message-centre .cm-more-tray .card,
body.cm-message-centre .cm-emoji-panel {
    border: 1px solid var(--cm-chat-line);
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(16, 24, 40, .10);
}

body.cm-message-centre .cm-more-tray .card-body {
    gap: 10px;
    justify-content: flex-start !important;
    padding: 10px !important;
}

body.cm-message-centre .cm-more-tray .avatar-title,
body.cm-message-centre .cm-emoji-choice {
    background: #f3f4f6 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}

body.cm-message-centre .cm-emoji-choice:hover {
    background: #dbeafe !important;
    transform: none;
}

body.cm-message-centre .cm-chat-empty-state {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--cm-chat-muted);
    padding: 18px;
}

body.cm-message-centre .cm-chat-empty-state .avatar-lg,
body.cm-message-centre .cm-chat-empty-state .avatar-title {
    border-radius: 6px !important;
}

@media (max-width: 991.98px) {
    body.cm-message-centre .user-chat-topbar {
        min-height: 48px;
        padding: 6px 8px !important;
    }

    body.cm-message-centre .user-chat-topbar .btn,
    body.cm-message-centre .user-chat-topbar .nav-btn {
        height: 34px;
        min-height: 34px;
        min-width: 34px;
        padding: 0 6px;
    }

    body.cm-message-centre .user-chat-topbar .cm-pin-toggle-btn {
        height: 36px;
        min-height: 36px;
        min-width: 38px;
        width: 38px;
    }

    body.cm-message-centre .chat-conversation .simplebar-content,
    body.cm-message-centre .chat-conversation .simplebar-content-wrapper .simplebar-content {
        padding: 8px 8px 72px !important;
    }

    body.cm-message-centre .cm-msg {
        max-width: 92%;
    }

    body.cm-message-centre .chat-input-section {
        padding: 7px !important;
    }

    body.cm-message-centre .chat-input {
        min-height: 34px;
    }

    body.cm-message-centre .cm-scroll-bottom {
        bottom: 58px;
        height: 32px;
        right: 10px;
        width: 32px;
    }
}

/* Final mobile table guardrail: keep admin tables usable without forcing the whole page wider. */
@media (max-width: 991.98px) {
    .table-responsive,
    .dataTables_wrapper,
    .dt-container,
    .dataTables_scroll,
    .dataTables_scrollHead,
    .dataTables_scrollBody,
    .dt-scroll,
    .dt-scroll-head,
    .dt-scroll-body {
        max-width: 100%;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }

    .dataTables_wrapper,
    .dt-container {
        font-size: 12.5px;
    }

    .dataTables_wrapper .row,
    .dt-container .row,
    .dt-layout-row {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-left: 0 !important;
        margin-right: 0 !important;
        row-gap: 8px;
    }

    .dataTables_length,
    .dataTables_filter,
    .dt-length,
    .dt-search,
    .dt-buttons {
        margin: 0 0 8px !important;
        max-width: 100%;
        text-align: left !important;
        width: 100%;
    }

    .dataTables_filter label,
    .dt-search label {
        display: block;
        width: 100%;
    }

    .dataTables_filter input,
    .dt-search input {
        margin: 6px 0 0 !important;
        max-width: 100%;
        min-width: 0 !important;
        width: 100% !important;
    }

    .dataTables_length select,
    .dt-length select,
    .dt-buttons .btn,
    .dt-buttons button {
        max-width: 100%;
    }

    table.dataTable,
    .dataTables_wrapper table,
    .dt-container table,
    .table-responsive > .table,
    #tablelist,
    #tablelistHome,
    #tablelistClinic,
    #allContactsTable {
        min-width: 640px;
    }

    table.dataTable thead th,
    table.dataTable tbody td,
    .dataTables_wrapper table thead th,
    .dataTables_wrapper table tbody td,
    .dt-container table thead th,
    .dt-container table tbody td,
    .table-responsive > .table thead th,
    .table-responsive > .table tbody td {
        padding: 7px 8px !important;
        white-space: nowrap;
    }

    table.dataTable td .btn,
    table.dataTable td .btn-sm,
    .dataTables_wrapper table td .btn,
    .dataTables_wrapper table td .btn-sm,
    .table-responsive > .table td .btn,
    .table-responsive > .table td .btn-sm {
        white-space: nowrap;
    }

    .dataTables_info,
    .dt-info,
    .dataTables_paginate,
    .dt-paging {
        font-size: 12px;
        max-width: 100%;
        width: 100%;
    }

    .dataTables_paginate,
    .dt-paging {
        overflow-x: auto;
        padding-bottom: 2px;
        white-space: nowrap;
    }
}

@media (max-width: 575.98px) {
    table.dataTable,
    .dataTables_wrapper table,
    .dt-container table,
    .table-responsive > .table,
    #tablelist,
    #tablelistHome,
    #tablelistClinic,
    #allContactsTable {
        min-width: 600px;
    }
}

/* Message Centre neutral correction: compact admin UI, high contrast, no blue-green wash. */
body.cm-message-centre .user-chat {
    --cm-chat-accent: var(--cm-primary);
    --cm-chat-line: #d7dde7;
    --cm-chat-soft: #f5f6f8;
    --cm-chat-text: #111827;
    --cm-chat-muted: #4b5563;
}

body.cm-message-centre .chat-conversation {
    background: #f5f6f8 !important;
    border-radius: 0 !important;
}

body.cm-message-centre .cm-bubble,
body.cm-message-centre .user-chat-content {
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
}

body.cm-message-centre .cm-bubble p,
body.cm-message-centre .cm-bubble .msg,
body.cm-message-centre .cm-body,
body.cm-message-centre .cm-caption,
body.cm-message-centre .user-chat-content p,
body.cm-message-centre .user-chat-content .msg,
body.cm-message-centre .ctext-wrap-content,
body.cm-message-centre .ctext-wrap-content p {
    color: #111827 !important;
}

body.cm-message-centre .cm-left .cm-bubble,
body.cm-message-centre .chat-list.left .user-chat-content,
body.cm-message-centre .user-chat-content:not(.fromme) {
    background: #ffffff !important;
    border: 1px solid #d7dde7 !important;
}

body.cm-message-centre .cm-right .cm-bubble,
body.cm-message-centre .chat-list.right .user-chat-content,
body.cm-message-centre .user-chat-content.fromme,
body.cm-message-centre .fromme {
    background: #eef0f3 !important;
    border: 1px solid #d1d7e0 !important;
    color: #111827 !important;
}

body.cm-message-centre .cm-meta,
body.cm-message-centre .conversation-name,
body.cm-message-centre .conversation-name small,
body.cm-message-centre .cm-time,
body.cm-message-centre .cm-right .cm-meta {
    color: #4b5563 !important;
}

body.cm-message-centre .check-message-icon,
body.cm-message-centre .cm-meta .text-success,
body.cm-message-centre .conversation-name .text-success {
    color: #475569 !important;
}

body.cm-message-centre .replymessage-block,
body.cm-message-centre .replymessage-block-left,
body.cm-message-centre .cm-reply-card {
    background: #ffffff !important;
    border: 1px solid #d7dde7 !important;
    border-left: 2px solid #64748b !important;
    color: #111827 !important;
}

body.cm-message-centre .cm-file,
body.cm-message-centre .cm-linkprev,
body.cm-message-centre .attached-file,
body.cm-message-centre .cm-voice-note,
body.cm-message-centre .message-img.audio,
body.cm-message-centre .message-img:has(audio) {
    background: #ffffff !important;
    border-color: #d7dde7 !important;
    color: #111827 !important;
}

body.cm-message-centre .cm-voice-icon,
body.cm-message-centre .cm-more-tray .avatar-title,
body.cm-message-centre .cm-emoji-choice {
    background: #f3f4f6 !important;
    border-color: #d7dde7 !important;
    color: #334155 !important;
}

body.cm-message-centre .cm-emoji-choice:hover,
body.cm-message-centre .cm-emoji-choice:focus {
    background: #e5e7eb !important;
    box-shadow: none !important;
    transform: none !important;
}

body.cm-message-centre .cm-body a,
body.cm-message-centre .cm-caption a,
body.cm-message-centre .user-chat-content a {
    color: #1f2937 !important;
    text-decoration: underline;
}

body.cm-message-centre .chat-input:focus,
body.cm-message-centre #chat-input.chat-input:focus {
    border-color: #64748b !important;
    box-shadow: 0 0 0 2px rgba(100, 116, 139, .16) !important;
}

body.cm-message-centre .chat-send,
body.cm-message-centre #sendMessage,
body.cm-message-centre button.chat-send {
    background: #334155 !important;
    border-color: #334155 !important;
    color: #ffffff !important;
}

body.cm-message-centre .chat-send:hover,
body.cm-message-centre #sendMessage:hover,
body.cm-message-centre button.chat-send:hover {
    background: #1f2937 !important;
    border-color: #1f2937 !important;
}

body.cm-message-centre #filterTodayProcedures.active,
body.cm-message-centre #filterunread.active,
body.cm-message-centre #cmListBackToTop.cm-backtotop-left,
body.cm-message-centre .cm-backtotop {
    background: #334155 !important;
    border-color: #334155 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

/* Mature admin tables for lead/procedure worklists. Compact, quiet, and scan-friendly. */
.page-content-wrapper:has(#leads) > .card,
.page-content-wrapper:has(#data) > .card,
.page-content-wrapper:has(#view) > .card {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
}

.page-content-wrapper:has(#leads) > .card > .card-body,
.page-content-wrapper:has(#data) > .card > .card-body,
.page-content-wrapper:has(#view) > .card > .card-body {
    padding: 0;
}

.page-content-wrapper:has(#leads) .card .card,
.page-content-wrapper:has(#data) .card .card,
.page-content-wrapper:has(#view) .card .card {
    border: 1px solid #d7dde7;
    border-radius: 6px;
    box-shadow: none;
    margin-bottom: 0;
    overflow: hidden;
}

#leads.card-body,
#data.card-body,
#view.card-body,
#leads,
#data,
#view {
    background: #fff;
    color: #172033;
}

#leads.card-body,
#data.card-body,
#view.card-body {
    padding: 10px !important;
}

#leads .dataTables_wrapper,
#data .dataTables_wrapper,
#view .dataTables_wrapper,
#leads .dt-container,
#data .dt-container,
#view .dt-container {
    color: #172033;
    font-size: 12.5px;
}

#leads .dt-layout-row,
#data .dt-layout-row,
#view .dt-layout-row,
#leads .dataTables_wrapper .row,
#data .dataTables_wrapper .row,
#view .dataTables_wrapper .row {
    align-items: center;
    gap: 8px;
    margin: 0 0 8px !important;
}

#leads .dt-buttons,
#data .dt-buttons,
#view .dt-buttons,
#leads .dataTables_length,
#data .dataTables_length,
#view .dataTables_length,
#leads .dataTables_filter,
#data .dataTables_filter,
#view .dataTables_filter,
#leads .dt-length,
#data .dt-length,
#view .dt-length,
#leads .dt-search,
#data .dt-search,
#view .dt-search {
    margin-bottom: 0 !important;
}

#leads .dataTables_filter label,
#data .dataTables_filter label,
#view .dataTables_filter label,
#leads .dt-search label,
#data .dt-search label,
#view .dt-search label,
#leads .dataTables_length label,
#data .dataTables_length label,
#view .dataTables_length label,
#leads .dt-length label,
#data .dt-length label,
#view .dt-length label {
    color: #475467;
    font-size: 12px;
    font-weight: 600;
}

#leads .dataTables_filter input,
#data .dataTables_filter input,
#view .dataTables_filter input,
#leads .dt-search input,
#data .dt-search input,
#view .dt-search input,
#leads .dataTables_length select,
#data .dataTables_length select,
#view .dataTables_length select,
#leads .dt-length select,
#data .dt-length select,
#view .dt-length select {
    background: #fff !important;
    border: 1px solid #cfd7e5 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #172033 !important;
    font-size: 12px !important;
    min-height: 30px;
}

#leads .dataTables_filter input,
#data .dataTables_filter input,
#view .dataTables_filter input,
#leads .dt-search input,
#data .dt-search input,
#view .dt-search input {
    min-width: 240px;
    padding: 5px 8px !important;
}

#leads .dataTables_filter input:focus,
#data .dataTables_filter input:focus,
#view .dataTables_filter input:focus,
#leads .dt-search input:focus,
#data .dt-search input:focus,
#view .dt-search input:focus {
    border-color: #64748b !important;
    box-shadow: 0 0 0 2px rgba(100, 116, 139, .12) !important;
    outline: 0;
}

#leads .dt-buttons .btn,
#data .dt-buttons .btn,
#view .dt-buttons .btn,
#leads button.dt-button,
#data button.dt-button,
#view button.dt-button {
    background: #fff !important;
    border: 1px solid #cfd7e5 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2;
    margin-right: 4px;
    padding: 5px 8px !important;
}

#leads .dt-buttons .btn:hover,
#data .dt-buttons .btn:hover,
#view .dt-buttons .btn:hover,
#leads button.dt-button:hover,
#data button.dt-button:hover,
#view button.dt-button:hover {
    background: #f8fafc !important;
    border-color: #b8c2d3 !important;
    color: #172033 !important;
}

#leads table.dataTable,
#data table.dataTable,
#view table.dataTable {
    border: 1px solid #dfe5ee !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    width: 100% !important;
}

#leads table.dataTable thead th,
#data table.dataTable thead th,
#view table.dataTable thead th {
    background: #f8fafc !important;
    border-bottom: 1px solid #d7dde7 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    color: #475467 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0;
    padding: 7px 8px !important;
    position: relative;
    text-transform: uppercase;
    vertical-align: middle;
    white-space: nowrap;
}

#leads table.dataTable thead th.sorting::before,
#leads table.dataTable thead th.sorting::after,
#leads table.dataTable thead th.sorting_asc::before,
#leads table.dataTable thead th.sorting_asc::after,
#leads table.dataTable thead th.sorting_desc::before,
#leads table.dataTable thead th.sorting_desc::after,
#data table.dataTable thead th.sorting::before,
#data table.dataTable thead th.sorting::after,
#data table.dataTable thead th.sorting_asc::before,
#data table.dataTable thead th.sorting_asc::after,
#data table.dataTable thead th.sorting_desc::before,
#data table.dataTable thead th.sorting_desc::after,
#view table.dataTable thead th.sorting::before,
#view table.dataTable thead th.sorting::after,
#view table.dataTable thead th.sorting_asc::before,
#view table.dataTable thead th.sorting_asc::after,
#view table.dataTable thead th.sorting_desc::before,
#view table.dataTable thead th.sorting_desc::after {
    display: none !important;
    content: "" !important;
}

#leads table.dataTable thead th .dt-column-order,
#data table.dataTable thead th .dt-column-order,
#view table.dataTable thead th .dt-column-order {
    right: 7px !important;
    opacity: .72;
}

#leads table.dataTable thead th.cm-resizable-th,
#data table.dataTable thead th.cm-resizable-th,
#view table.dataTable thead th.cm-resizable-th {
    padding-right: 20px !important;
}

.cm-column-resize-grip {
    bottom: 5px;
    cursor: col-resize;
    position: absolute;
    right: 0;
    top: 5px;
    width: 8px;
    z-index: 3;
}

.cm-column-resize-grip::after {
    background: #cfd7e5;
    border-radius: 1px;
    bottom: 2px;
    content: "";
    display: block;
    opacity: 0;
    position: absolute;
    right: 3px;
    top: 2px;
    width: 1px;
}

#leads table.dataTable thead th:hover .cm-column-resize-grip::after,
#data table.dataTable thead th:hover .cm-column-resize-grip::after,
#view table.dataTable thead th:hover .cm-column-resize-grip::after,
body.cm-column-resizing .cm-column-resize-grip::after {
    opacity: 1;
}

body.cm-column-resizing {
    cursor: col-resize !important;
    user-select: none;
}

#leads .dataTables_scrollBody thead,
#leads .dt-scroll-body thead,
#data .dataTables_scrollBody thead,
#data .dt-scroll-body thead,
#view .dataTables_scrollBody thead,
#view .dt-scroll-body thead {
    visibility: collapse !important;
}

#leads .dataTables_scrollBody thead tr,
#leads .dt-scroll-body thead tr,
#data .dataTables_scrollBody thead tr,
#data .dt-scroll-body thead tr,
#view .dataTables_scrollBody thead tr,
#view .dt-scroll-body thead tr {
    height: 0 !important;
}

#leads .dataTables_scrollBody thead th,
#leads .dataTables_scrollBody thead td,
#leads .dt-scroll-body thead th,
#leads .dt-scroll-body thead td,
#data .dataTables_scrollBody thead th,
#data .dataTables_scrollBody thead td,
#data .dt-scroll-body thead th,
#data .dt-scroll-body thead td,
#view .dataTables_scrollBody thead th,
#view .dataTables_scrollBody thead td,
#view .dt-scroll-body thead th,
#view .dt-scroll-body thead td {
    border: 0 !important;
    font-size: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

#leads table.dataTable tbody td,
#data table.dataTable tbody td,
#view table.dataTable tbody td {
    background: #fff !important;
    border-color: #edf1f6 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    color: #172033 !important;
    font-size: 12.5px;
    line-height: 1.3;
    padding: 6px 8px !important;
    vertical-align: middle;
}

#leads table.dataTable tbody tr,
#data table.dataTable tbody tr,
#view table.dataTable tbody tr {
    box-shadow: none !important;
}

#leads table.dataTable tbody tr:hover td,
#data table.dataTable tbody tr:hover td,
#view table.dataTable tbody tr:hover td {
    background: #f8fafc !important;
}

#leads table.dataTable tbody tr[data-lead-status="Followup"] td,
#data table.dataTable tbody tr[data-lead-status="Followup"] td,
#view table.dataTable tbody tr[data-lead-status="Followup"] td {
    box-shadow: inset 2px 0 0 #64748b;
}

#leads table.dataTable tbody tr[data-lead-status*="Consent"] td,
#data table.dataTable tbody tr[data-lead-status*="Consent"] td,
#view table.dataTable tbody tr[data-lead-status*="Consent"] td {
    box-shadow: inset 2px 0 0 var(--cm-primary);
}

#leads .dataTables_scrollHead,
#data .dataTables_scrollHead,
#view .dataTables_scrollHead,
#leads .dataTables_scrollBody,
#data .dataTables_scrollBody,
#view .dataTables_scrollBody,
#leads .dt-scroll-head,
#data .dt-scroll-head,
#view .dt-scroll-head,
#leads .dt-scroll-body,
#data .dt-scroll-body,
#view .dt-scroll-body {
    border-color: #dfe5ee !important;
}

#leads table.dataTable .btn,
#data table.dataTable .btn,
#view table.dataTable .btn {
    align-items: center;
    border-radius: 5px !important;
    box-shadow: none !important;
    display: inline-flex;
    font-size: 12px !important;
    font-weight: 500;
    gap: 4px;
    justify-content: center;
    line-height: 1.2;
    min-height: 27px;
    padding: 4px 7px !important;
}

#leads table.dataTable .btn-primary,
#data table.dataTable .btn-primary,
#view table.dataTable .btn-primary {
    background: #334155 !important;
    border-color: #334155 !important;
    color: #fff !important;
}

#leads table.dataTable .btn-success,
#data table.dataTable .btn-success,
#view table.dataTable .btn-success {
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
    color: #166534 !important;
}

#leads table.dataTable .btn-danger,
#data table.dataTable .btn-danger,
#view table.dataTable .btn-danger {
    background: #fff7f7 !important;
    border-color: #fecaca !important;
    color: #991b1b !important;
}

#leads table.dataTable .btn-outline-primary,
#data table.dataTable .btn-outline-primary,
#view table.dataTable .btn-outline-primary,
#leads table.dataTable .btn-outline-warning,
#data table.dataTable .btn-outline-warning,
#view table.dataTable .btn-outline-warning {
    background: #fff !important;
    border-color: #cfd7e5 !important;
    color: #344054 !important;
}

#leads table.dataTable .btn:hover,
#data table.dataTable .btn:hover,
#view table.dataTable .btn:hover {
    filter: none;
    opacity: .92;
}

#leads table.dataTable .badge,
#data table.dataTable .badge,
#view table.dataTable .badge {
    border-radius: 4px !important;
    box-shadow: none !important;
    font-size: 11px;
    font-weight: 500;
    padding: 3px 6px;
}

#leads .dataTables_info,
#data .dataTables_info,
#view .dataTables_info,
#leads .dt-info,
#data .dt-info,
#view .dt-info {
    color: #667085 !important;
    font-size: 12px;
    padding-top: 8px !important;
}

#leads .dataTables_paginate,
#data .dataTables_paginate,
#view .dataTables_paginate,
#leads .dt-paging,
#data .dt-paging,
#view .dt-paging {
    padding-top: 6px !important;
}

#leads .dataTables_paginate .paginate_button,
#data .dataTables_paginate .paginate_button,
#view .dataTables_paginate .paginate_button,
#leads .dt-paging .dt-paging-button,
#data .dt-paging .dt-paging-button,
#view .dt-paging .dt-paging-button {
    border-radius: 5px !important;
    color: #344054 !important;
    font-size: 12px !important;
    padding: 4px 7px !important;
}

#leads .dataTables_paginate .paginate_button.current,
#data .dataTables_paginate .paginate_button.current,
#view .dataTables_paginate .paginate_button.current,
#leads .dt-paging .dt-paging-button.current,
#data .dt-paging .dt-paging-button.current,
#view .dt-paging .dt-paging-button.current {
    background: #334155 !important;
    border-color: #334155 !important;
    color: #fff !important;
}

#leads .lead-communication-summary,
#data .lead-communication-summary,
#view .lead-communication-summary {
    line-height: 1.25;
    min-width: 180px;
}

@media (max-width: 767.98px) {
    #leads.card-body,
    #data.card-body,
    #view.card-body {
        padding: 8px !important;
    }

    #leads .dt-layout-row,
    #data .dt-layout-row,
    #view .dt-layout-row,
    #leads .dataTables_wrapper .row,
    #data .dataTables_wrapper .row,
    #view .dataTables_wrapper .row {
        align-items: stretch;
    }

    #leads .dataTables_filter input,
    #data .dataTables_filter input,
    #view .dataTables_filter input,
    #leads .dt-search input,
    #data .dt-search input,
    #view .dt-search input {
        min-width: 0;
        width: 100% !important;
    }

    #leads table.dataTable,
    #data table.dataTable,
    #view table.dataTable {
        min-width: 680px;
    }
}

/* Final page-title spacing guardrail for table and calendar pages. */
.main-content > .page-content {
    position: relative;
    z-index: 1;
}

.main-content > .page-content + .container-fluid {
    clear: both;
    position: relative;
    z-index: 0;
}

.main-content:has(#leads) > .page-content,
.main-content:has(#data) > .page-content,
.main-content:has(#view) > .page-content,
.main-content.calendar-page > .page-content {
    padding-bottom: 0 !important;
}

.main-content:has(#leads) .page-title-box,
.main-content:has(#data) .page-title-box,
.main-content:has(#view) .page-title-box,
.main-content.calendar-page .page-title-box {
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
    position: relative;
    z-index: 2;
}

.main-content:has(#leads) .page-content-wrapper,
.main-content:has(#data) .page-content-wrapper,
.main-content:has(#view) .page-content-wrapper,
.main-content.calendar-page .page-content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.main-content:has(#leads) .page-title h4,
.main-content:has(#data) .page-title h4,
.main-content:has(#view) .page-title h4,
.main-content.calendar-page .page-title h4 {
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.25;
}

.main-content.calendar-page .calendar-shell-card,
.main-content.calendar-page .calendar-board,
.main-content:has(#leads) .page-content-wrapper > .card,
.main-content:has(#data) .page-content-wrapper > .card,
.main-content:has(#view) .page-content-wrapper > .card {
    position: relative;
    z-index: 0;
}

.main-content.manage-users-page > .page-content {
    padding-top: 18px !important;
    padding-bottom: 0 !important;
}

.main-content.manage-users-page .page-title-box {
    margin-bottom: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 8px !important;
    position: relative;
    z-index: 2;
}

.main-content.manage-users-page .page-content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.main-content.manage-users-page .page-title h4 {
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.25;
}

@media (max-width: 767.98px) {
    .main-content:has(#leads) .page-title-box,
    .main-content:has(#data) .page-title-box,
    .main-content:has(#view) .page-title-box,
    .main-content.calendar-page .page-title-box {
        margin-bottom: 8px !important;
        padding-top: 8px !important;
        padding-bottom: 6px !important;
    }

    .main-content.manage-users-page > .page-content {
        padding-top: 12px !important;
    }

    .main-content.manage-users-page .page-title-box {
        margin-bottom: 8px !important;
        padding-top: 8px !important;
        padding-bottom: 6px !important;
    }
}

/* System-wide control polish: restrained buttons and aligned input bars. */
:root {
    --cm-control-h: 36px;
    --cm-control-h-sm: 31px;
    --cm-control-h-lg: 42px;
    --cm-control-radius: 6px;
    --cm-btn-neutral-bg: #ffffff;
    --cm-btn-neutral-hover: #f8fafc;
    --cm-btn-neutral-border: #cfd7e5;
    --cm-btn-neutral-text: #344054;
    --cm-btn-primary-bg: #334155;
    --cm-btn-primary-hover: #1f2937;
    --cm-btn-success-text: #067647;
    --cm-btn-success-border: #a7d6c2;
    --cm-btn-success-bg: #f3faf7;
    --cm-btn-danger-text: #b42318;
    --cm-btn-danger-border: #efc5be;
    --cm-btn-danger-bg: #fff6f5;
    --cm-btn-warning-text: #92400e;
    --cm-btn-warning-border: #ead1ad;
    --cm-btn-warning-bg: #fff8ed;
    --cm-btn-info-text: #155e75;
    --cm-btn-info-border: #a9d7e4;
    --cm-btn-info-bg: #f0f9fc;
}

.btn,
button.btn,
a.btn,
input.btn {
    align-items: center;
    display: inline-flex;
    gap: 5px;
    justify-content: center;
    min-height: var(--cm-control-h);
    padding: 7px 11px;
    border-radius: var(--cm-control-radius) !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
    box-shadow: none !important;
    transform: none !important;
    vertical-align: middle;
}

.btn:hover,
.btn:focus,
.btn:active {
    transform: none !important;
    box-shadow: none !important;
}

.btn i,
.btn .bx,
.btn .ri,
.btn .mdi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    line-height: 1;
}

.btn-sm,
.btn-group-sm > .btn {
    min-height: var(--cm-control-h-sm);
    padding: 5px 9px;
    font-size: 12px;
}

.btn-lg,
.btn-group-lg > .btn {
    min-height: var(--cm-control-h-lg);
    padding: 9px 13px;
    font-size: 14px;
}

.btn-primary,
.btn-secondary,
.btn-dark {
    background: var(--cm-btn-primary-bg) !important;
    border-color: var(--cm-btn-primary-bg) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-dark:hover,
.btn-primary:focus,
.btn-secondary:focus,
.btn-dark:focus {
    background: var(--cm-btn-primary-hover) !important;
    border-color: var(--cm-btn-primary-hover) !important;
    color: #fff !important;
}

.btn-light,
.btn-link,
.btn-soft-primary,
.btn-soft-secondary,
.btn-outline-primary,
.btn-outline-secondary {
    background: var(--cm-btn-neutral-bg) !important;
    border-color: var(--cm-btn-neutral-border) !important;
    color: var(--cm-btn-neutral-text) !important;
    text-decoration: none !important;
}

.btn-light:hover,
.btn-link:hover,
.btn-soft-primary:hover,
.btn-soft-secondary:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover {
    background: var(--cm-btn-neutral-hover) !important;
    border-color: #b8c2d3 !important;
    color: var(--cm-text) !important;
}

.btn-success,
.btn-outline-success,
.btn-soft-success {
    background: var(--cm-btn-success-bg) !important;
    border-color: var(--cm-btn-success-border) !important;
    color: var(--cm-btn-success-text) !important;
}

.btn-success:hover,
.btn-outline-success:hover,
.btn-soft-success:hover {
    background: #e9f7f0 !important;
    border-color: #83c9aa !important;
    color: #05603a !important;
}

.btn-danger,
.btn-red,
.btn-outline-danger,
.btn-soft-danger {
    background: var(--cm-btn-danger-bg) !important;
    border-color: var(--cm-btn-danger-border) !important;
    color: var(--cm-btn-danger-text) !important;
}

.btn-danger:hover,
.btn-red:hover,
.btn-outline-danger:hover,
.btn-soft-danger:hover {
    background: #ffebe8 !important;
    border-color: #e6a59c !important;
    color: #7a271a !important;
}

.btn-warning,
.btn-outline-warning,
.btn-soft-warning {
    background: var(--cm-btn-warning-bg) !important;
    border-color: var(--cm-btn-warning-border) !important;
    color: var(--cm-btn-warning-text) !important;
}

.btn-warning:hover,
.btn-outline-warning:hover,
.btn-soft-warning:hover {
    background: #fff1d8 !important;
    border-color: #deb77d !important;
    color: #78350f !important;
}

.btn-info,
.btn-outline-info,
.btn-soft-info {
    background: var(--cm-btn-info-bg) !important;
    border-color: var(--cm-btn-info-border) !important;
    color: var(--cm-btn-info-text) !important;
}

.btn-info:hover,
.btn-outline-info:hover,
.btn-soft-info:hover {
    background: #e5f5fa !important;
    border-color: #82c7d9 !important;
    color: #164e63 !important;
}

.input-group {
    align-items: stretch;
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .btn,
.input-group > .input-group-text {
    min-height: var(--cm-control-h);
    display: flex;
    align-items: center;
}

.input-group > .btn {
    flex: 0 0 auto;
    padding-top: 0;
    padding-bottom: 0;
}

.input-group > .input-group-text {
    border-color: var(--cm-line);
    color: var(--cm-muted);
    font-size: 13px;
    font-weight: 600;
}

.form-control,
.form-select,
select.form-control {
    min-height: var(--cm-control-h);
    line-height: 1.35;
}

.form-control-sm,
.form-select-sm {
    min-height: var(--cm-control-h-sm);
}

.form-control-lg,
.form-select-lg {
    min-height: var(--cm-control-h-lg);
}

.btn-toolbar,
.dt-buttons,
.dataTables_filter,
.dataTables_length,
.dt-search,
.dt-length,
.page-title .d-flex,
.card-header .d-flex,
.modal-footer {
    align-items: center;
    gap: 7px;
}

.modal-footer {
    padding: 10px 14px;
}

.modal-footer .btn {
    margin: 0 !important;
}

.badge.bg-success,
.badge.text-bg-success,
.text-bg-success {
    background-color: #e9f7f0 !important;
    color: #067647 !important;
}

.badge.bg-danger,
.badge.text-bg-danger,
.text-bg-danger {
    background-color: #ffebe8 !important;
    color: #b42318 !important;
}

.badge.bg-warning,
.badge.text-bg-warning,
.text-bg-warning {
    background-color: #fff1d8 !important;
    color: #92400e !important;
}

.badge.bg-info,
.badge.text-bg-info,
.text-bg-info {
    background-color: #e5f5fa !important;
    color: #155e75 !important;
}

.badge.bg-primary,
.badge.text-bg-primary,
.text-bg-primary {
    background-color: var(--cm-primary-soft) !important;
    color: var(--cm-primary-dark) !important;
}

.progress-bar.bg-success,
.progress-bar.bg-info,
.progress-bar.bg-warning,
.progress-bar.bg-danger {
    color: #fff !important;
}

button.rounded-circle,
.btn.rounded-circle,
.avatar-title.rounded-circle {
    border-radius: 999px !important;
}

.rounded-pill {
    border-radius: 999px !important;
}

/* Compact business table finish: keep lead/procedure pages aligned with New Leads. */
#leads .table-responsive,
#data .table-responsive,
#view .table-responsive,
#leads .dataTables_wrapper,
#data .dataTables_wrapper,
#view .dataTables_wrapper,
#leads .dt-container,
#data .dt-container,
#view .dt-container {
    color: #1f2937 !important;
}

#leads .dataTables_wrapper,
#data .dataTables_wrapper,
#view .dataTables_wrapper,
#leads .dt-container,
#data .dt-container,
#view .dt-container,
.today-home-page .today-worklist-card,
.today-clinic-page .today-worklist-card,
.today-other-page .today-worklist-card {
    background: #fff !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

#leads .dataTables_scroll,
#data .dataTables_scroll,
#view .dataTables_scroll,
#leads .dt-scroll,
#data .dt-scroll,
#view .dt-scroll {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#leads table.dataTable,
#data table.dataTable,
#view table.dataTable {
    border: 0 !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    width: 100% !important;
}

#leads table.dataTable thead th,
#data table.dataTable thead th,
#view table.dataTable thead th,
#leads table.dataTable thead td,
#data table.dataTable thead td,
#view table.dataTable thead td {
    background: #f7f8fa !important;
    border-bottom: 1px solid #dfe5ee !important;
    border-top: 0 !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    padding: 7px 8px !important;
    text-transform: none !important;
    vertical-align: middle !important;
}

#leads table.dataTable tbody td,
#data table.dataTable tbody td,
#view table.dataTable tbody td {
    background: #fff !important;
    border-bottom: 1px solid #edf1f6 !important;
    color: #1f2937 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    padding: 6px 8px !important;
    vertical-align: middle !important;
}

#leads table.dataTable tbody tr:hover td,
#data table.dataTable tbody tr:hover td,
#view table.dataTable tbody tr:hover td {
    background: #f8fafc !important;
}

#leads table.dataTable tbody tr[data-lead-status] td,
#data table.dataTable tbody tr[data-lead-status] td,
#view table.dataTable tbody tr[data-lead-status] td {
    box-shadow: none !important;
}

#leads .dt-layout-row,
#data .dt-layout-row,
#view .dt-layout-row,
#leads .dataTables_length,
#data .dataTables_length,
#view .dataTables_length,
#leads .dataTables_filter,
#data .dataTables_filter,
#view .dataTables_filter {
    margin: 0 0 8px !important;
}

#leads .dt-buttons,
#data .dt-buttons,
#view .dt-buttons,
#leads .dataTables_paginate,
#data .dataTables_paginate,
#view .dataTables_paginate {
    gap: 4px !important;
}

#leads button.dt-button,
#data button.dt-button,
#view button.dt-button,
#leads div.dt-button,
#data div.dt-button,
#view div.dt-button,
#leads a.dt-button,
#data a.dt-button,
#view a.dt-button {
    background: #fff !important;
    border: 1px solid #cfd7e3 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #344054 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    padding: 5px 8px !important;
}

#leads button.dt-button:hover,
#data button.dt-button:hover,
#view button.dt-button:hover,
#leads div.dt-button:hover,
#data div.dt-button:hover,
#view div.dt-button:hover,
#leads a.dt-button:hover,
#data a.dt-button:hover,
#view a.dt-button:hover {
    background: #f8fafc !important;
    border-color: #98a2b3 !important;
    color: #1f2937 !important;
}

#leads table.dataTable .btn,
#data table.dataTable .btn,
#view table.dataTable .btn {
    border-radius: 5px !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    min-height: 28px !important;
    padding: 4px 8px !important;
}

#leads table.dataTable .badge,
#data table.dataTable .badge,
#view table.dataTable .badge {
    border-radius: 4px !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 3px 6px !important;
}

.today-home-page .today-worklist-card > .card-header,
.today-clinic-page .today-worklist-card > .card-header,
.today-other-page .today-worklist-card > .card-header {
    background: #fff !important;
    border-bottom: 1px solid #dfe5ee !important;
    gap: 8px !important;
    padding: 8px 10px !important;
}

.today-home-page .today-worklist-card > .card-body,
.today-clinic-page .today-worklist-card > .card-body,
.today-other-page .today-worklist-card > .card-body {
    padding: 10px !important;
}

.today-home-page .today-worklist-card .tab-pane > .card-body,
.today-clinic-page .today-worklist-card .tab-pane > .card-body,
.today-other-page .today-worklist-card .tab-pane > .card-body {
    padding: 0 !important;
}

.today-home-page .today-worklist-card .nav-pills,
.today-clinic-page .today-worklist-card .nav-pills,
.today-other-page .today-worklist-card .nav-pills {
    background: #f8fafc !important;
    border: 1px solid #dfe5ee !important;
    border-radius: 6px !important;
    gap: 3px !important;
    padding: 2px !important;
}

.today-home-page .today-worklist-card .nav-pills .nav-link,
.today-clinic-page .today-worklist-card .nav-pills .nav-link,
.today-other-page .today-worklist-card .nav-pills .nav-link {
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #475467 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 5px 9px !important;
}

.today-home-page .today-worklist-card .nav-pills .nav-link.active,
.today-clinic-page .today-worklist-card .nav-pills .nav-link.active,
.today-other-page .today-worklist-card .nav-pills .nav-link.active {
    background: #fff !important;
    border-color: #cfd7e3 !important;
    color: #334155 !important;
}

body.cm-message-centre #users-conversation > li,
body.cm-message-centre .chat-conversation .chat-list,
body.cm-message-centre .cm-msg {
    position: relative;
    z-index: 1;
}

body.cm-message-centre #users-conversation > li:has(.dropdown-menu.show),
body.cm-message-centre .chat-conversation .chat-list:has(.dropdown-menu.show),
body.cm-message-centre .cm-msg:has(.dropdown-menu.show),
body.cm-message-centre #users-conversation > li.cm-dropdown-open,
body.cm-message-centre .chat-conversation .chat-list.cm-dropdown-open,
body.cm-message-centre .cm-msg.cm-dropdown-open {
    z-index: 80 !important;
}

body.cm-message-centre .message-box-drop,
body.cm-message-centre .cm-actions,
body.cm-message-centre .message-img-link .dropdown {
    position: relative;
    z-index: 81;
}

body.cm-message-centre .message-box-drop .dropdown-menu,
body.cm-message-centre .cm-actions .dropdown-menu,
body.cm-message-centre .message-img-link .dropdown-menu {
    z-index: 2000 !important;
}

body.cm-message-centre .chat-conversation .simplebar-content,
body.cm-message-centre .chat-conversation .simplebar-content-wrapper .simplebar-content {
    padding-bottom: 150px !important;
}

@media (max-width: 991.98px) {
    body.cm-message-centre .chat-conversation .simplebar-content,
    body.cm-message-centre .chat-conversation .simplebar-content-wrapper .simplebar-content {
        padding-bottom: 132px !important;
    }
}

body.cm-message-centre .cm-image-link,
body.cm-message-centre .message-img-list > div,
body.cm-message-centre .message-img .popup-img {
    display: block;
    max-width: 100%;
}

body.cm-message-centre .cm-image,
body.cm-message-centre .message-img img,
body.cm-message-centre .video_container,
body.cm-message-centre .video_container img {
    display: block;
    height: auto !important;
    max-height: min(420px, 62vh) !important;
    max-width: min(340px, 100%) !important;
    object-fit: contain !important;
    width: auto !important;
}

body.cm-message-centre .cm-image {
    width: min(340px, 100%) !important;
}

body.cm-message-centre .gcontainer,
body.cm-message-centre .ginner-container,
body.cm-message-centre .gslide,
body.cm-message-centre .gslide-inner-content,
body.cm-message-centre .gslide-media,
body.cm-message-centre .gslide-image {
    max-height: 100vh !important;
    max-width: 100vw !important;
}

body.cm-message-centre .gslide-image img,
body.cm-message-centre .gslide-media img {
    height: auto !important;
    max-height: calc(100vh - 72px) !important;
    max-width: calc(100vw - 32px) !important;
    object-fit: contain !important;
    width: auto !important;
}

body.cm-message-centre .gclose {
    align-items: center !important;
    background: rgba(15, 23, 42, .86) !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 1000001 !important;
}

body.cm-message-centre .gclose svg,
body.cm-message-centre .gclose svg path {
    display: block !important;
    fill: #fff !important;
    height: 18px !important;
    opacity: 1 !important;
    stroke: #fff !important;
    width: 18px !important;
}

body.cm-message-centre .gclose span {
    color: #fff !important;
    display: block !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin-top: -2px !important;
}

#leads .cm-table-top-scroll,
#data .cm-table-top-scroll,
#view .cm-table-top-scroll,
.today-home-page .cm-table-top-scroll,
.today-clinic-page .cm-table-top-scroll,
.today-other-page .cm-table-top-scroll {
    background: #f8fafc;
    border: 1px solid #d9e1ec;
    border-radius: 4px;
    height: 16px;
    margin: 0 0 8px;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    position: sticky;
    top: 70px;
    z-index: 20;
    -webkit-overflow-scrolling: touch;
}

#leads .cm-table-top-scroll-inner,
#data .cm-table-top-scroll-inner,
#view .cm-table-top-scroll-inner,
.today-home-page .cm-table-top-scroll-inner,
.today-clinic-page .cm-table-top-scroll-inner,
.today-other-page .cm-table-top-scroll-inner {
    height: 1px;
}

#leads .cm-table-top-scroll::-webkit-scrollbar,
#data .cm-table-top-scroll::-webkit-scrollbar,
#view .cm-table-top-scroll::-webkit-scrollbar,
.today-home-page .cm-table-top-scroll::-webkit-scrollbar,
.today-clinic-page .cm-table-top-scroll::-webkit-scrollbar,
.today-other-page .cm-table-top-scroll::-webkit-scrollbar {
    height: 12px;
}

#leads .cm-table-top-scroll::-webkit-scrollbar-track,
#data .cm-table-top-scroll::-webkit-scrollbar-track,
#view .cm-table-top-scroll::-webkit-scrollbar-track,
.today-home-page .cm-table-top-scroll::-webkit-scrollbar-track,
.today-clinic-page .cm-table-top-scroll::-webkit-scrollbar-track,
.today-other-page .cm-table-top-scroll::-webkit-scrollbar-track {
    background: #eef2f7;
}

#leads .cm-table-top-scroll::-webkit-scrollbar-thumb,
#data .cm-table-top-scroll::-webkit-scrollbar-thumb,
#view .cm-table-top-scroll::-webkit-scrollbar-thumb,
.today-home-page .cm-table-top-scroll::-webkit-scrollbar-thumb,
.today-clinic-page .cm-table-top-scroll::-webkit-scrollbar-thumb,
.today-other-page .cm-table-top-scroll::-webkit-scrollbar-thumb {
    background: #98a2b3;
    border: 3px solid #eef2f7;
    border-radius: 999px;
}

@media (max-width: 991.98px) {
    #leads .cm-table-top-scroll,
    #data .cm-table-top-scroll,
    #view .cm-table-top-scroll,
    .today-home-page .cm-table-top-scroll,
    .today-clinic-page .cm-table-top-scroll,
    .today-other-page .cm-table-top-scroll {
        top: 58px;
    }
}
body.cm-message-centre .cm-transport-wa.cm-left .cm-bubble {
    background: #fbfdfb !important;
    border-color: rgba(33, 111, 77, .16) !important;
    box-shadow: inset 3px 0 0 rgba(33, 111, 77, .22), 0 10px 26px rgba(15, 23, 42, .06) !important;
}

body.cm-message-centre .cm-transport-wa.cm-right .cm-bubble {
    background: #eef5f1 !important;
    box-shadow: inset -3px 0 0 rgba(33, 111, 77, .24) !important;
}

body.cm-message-centre .cm-transport-sms.cm-left .cm-bubble {
    background: #fbfcff !important;
    border-color: rgba(49, 93, 140, .18) !important;
    box-shadow: inset 3px 0 0 rgba(49, 93, 140, .22), 0 10px 26px rgba(15, 23, 42, .06) !important;
}

body.cm-message-centre .cm-transport-sms.cm-right .cm-bubble {
    background: #eef2f7 !important;
    box-shadow: inset -3px 0 0 rgba(49, 93, 140, .24) !important;
}

[data-bs-theme="dark"] body.cm-message-centre .cm-transport-wa.cm-left .cm-bubble,
body.cm-message-centre[data-bs-theme="dark"] .cm-transport-wa.cm-left .cm-bubble {
    background: #17231f !important;
    border-color: rgba(74, 139, 105, .35) !important;
    box-shadow: inset 3px 0 0 rgba(74, 139, 105, .42), 0 14px 30px rgba(0, 0, 0, .22) !important;
}

[data-bs-theme="dark"] body.cm-message-centre .cm-transport-wa.cm-right .cm-bubble,
body.cm-message-centre[data-bs-theme="dark"] .cm-transport-wa.cm-right .cm-bubble {
    background: #1c2a25 !important;
    box-shadow: inset -3px 0 0 rgba(74, 139, 105, .42) !important;
}

[data-bs-theme="dark"] body.cm-message-centre .cm-transport-sms.cm-left .cm-bubble,
body.cm-message-centre[data-bs-theme="dark"] .cm-transport-sms.cm-left .cm-bubble {
    background: #172133 !important;
    border-color: rgba(96, 132, 180, .35) !important;
    box-shadow: inset 3px 0 0 rgba(96, 132, 180, .42), 0 14px 30px rgba(0, 0, 0, .22) !important;
}

[data-bs-theme="dark"] body.cm-message-centre .cm-transport-sms.cm-right .cm-bubble,
body.cm-message-centre[data-bs-theme="dark"] .cm-transport-sms.cm-right .cm-bubble {
    background: #1d2736 !important;
    box-shadow: inset -3px 0 0 rgba(96, 132, 180, .42) !important;
}

/* Keep the selected user theme in charge of the main navigation in light mode. */
html:not([data-bs-theme="dark"]) .leftside-menu,
html:not([data-bs-theme="dark"]) .leftside-menu.authentication-bg,
html:not([data-bs-theme="dark"]) .leftside-menu #leftside-menu-container,
html:not([data-bs-theme="dark"]) .leftside-menu .simplebar-content-wrapper,
html:not([data-bs-theme="dark"]) .leftside-menu .simplebar-content {
    background: var(--cm-sidebar) !important;
    background-image: none !important;
}

html:not([data-bs-theme="dark"]) .leftside-menu {
    border-right: 1px solid var(--cm-sidebar-border);
    box-shadow: 4px 0 14px rgba(51, 65, 85, .05);
}

html:not([data-bs-theme="dark"]) .leftside-menu .logo {
    border-bottom-color: var(--cm-sidebar-border);
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav-title {
    color: var(--cm-sidebar-muted) !important;
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-link {
    color: var(--cm-sidebar-text) !important;
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-link i {
    color: var(--cm-sidebar-icon) !important;
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-link:hover,
html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-link[aria-expanded="true"],
html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-item > a.active {
    background: var(--cm-sidebar-2);
    box-shadow: inset 3px 0 0 var(--cm-sidebar-accent);
    color: var(--cm-sidebar-text);
    transform: none;
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-link:hover i,
html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-link[aria-expanded="true"] i,
html:not([data-bs-theme="dark"]) .leftside-menu .side-nav .side-nav-item > a.active i {
    color: var(--cm-sidebar-accent);
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav-second-level {
    border-left-color: var(--cm-sidebar-border);
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav-second-level li a {
    color: #344054 !important;
}

html:not([data-bs-theme="dark"]) .leftside-menu .side-nav-second-level li a:hover,
html:not([data-bs-theme="dark"]) .leftside-menu .side-nav-second-level li.active > a {
    background: var(--cm-sidebar-2);
    color: var(--cm-sidebar-text) !important;
}

html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover .side-nav-link,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open .side-nav-link {
    background: var(--cm-sidebar-2) !important;
    color: var(--cm-sidebar-text) !important;
    box-shadow: inset 3px 0 0 var(--cm-sidebar-accent) !important;
}

html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover .side-nav-link i,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover .side-nav-link span,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open .side-nav-link i,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open .side-nav-link span {
    color: var(--cm-sidebar-text) !important;
}

html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover .side-nav-link i,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open .side-nav-link i {
    color: var(--cm-sidebar-accent) !important;
}

html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse > ul,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing > ul,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse > ul {
    background: var(--cm-sidebar) !important;
    border: 1px solid var(--cm-sidebar-border);
    border-left: 0;
    box-shadow: 14px 16px 32px rgba(15, 23, 42, .14) !important;
}

html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse > ul a,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing > ul a,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse > ul a {
    color: var(--cm-sidebar-text) !important;
}

html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse > ul a:hover,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing > ul a:hover,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapse > ul li.active > a,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item:hover > .collapsing > ul li.active > a,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse > ul a:hover,
html:not([data-bs-theme="dark"])[data-sidenav-size=condensed] .wrapper .leftside-menu .side-nav .side-nav-item.cm-condensed-open > .collapse > ul li.active > a {
    background: var(--cm-sidebar-2) !important;
    color: var(--cm-sidebar-text) !important;
}

.cm-linked-contact-icon {
    color: #64748b;
    font-size: .95em;
    margin-left: 4px;
    vertical-align: -1px;
}

.cm-linked-contact-icon:hover {
    color: #334155;
}

/* Dark mode repair: override late page-specific light backgrounds and low-contrast text. */
html[data-bs-theme="dark"] {
    --cm-bg: #0f172a;
    --cm-surface: #111827;
    --cm-surface-2: #172033;
    --cm-border: #334155;
    --cm-text: #e5edf7;
    --cm-muted: #a9b8cc;
    color-scheme: dark;
}

html[data-bs-theme="dark"] body,
html[data-bs-theme="dark"] .wrapper,
html[data-bs-theme="dark"] .content-page,
html[data-bs-theme="dark"] .content,
html[data-bs-theme="dark"] .main-content,
html[data-bs-theme="dark"] .page-content,
html[data-bs-theme="dark"] .page-content-wrapper {
    background: var(--cm-bg) !important;
    color: var(--cm-text) !important;
}

html[data-bs-theme="dark"] .navbar-custom,
html[data-bs-theme="dark"] .card,
html[data-bs-theme="dark"] .card-body,
html[data-bs-theme="dark"] .card-header,
html[data-bs-theme="dark"] .modal-content,
html[data-bs-theme="dark"] .modal-body,
html[data-bs-theme="dark"] .modal-footer,
html[data-bs-theme="dark"] .dropdown-menu,
html[data-bs-theme="dark"] .jconfirm-box,
html[data-bs-theme="dark"] .bg-white,
html[data-bs-theme="dark"] .bg-light,
html[data-bs-theme="dark"] .bg-body,
html[data-bs-theme="dark"] .bg-body-tertiary,
html[data-bs-theme="dark"] #leads,
html[data-bs-theme="dark"] #data,
html[data-bs-theme="dark"] #view,
html[data-bs-theme="dark"] #contacts .dataTables_wrapper,
html[data-bs-theme="dark"] .dataTables_wrapper,
html[data-bs-theme="dark"] .dt-container {
    background: var(--cm-surface) !important;
    border-color: var(--cm-border) !important;
    color: var(--cm-text) !important;
}

html[data-bs-theme="dark"] h1,
html[data-bs-theme="dark"] h2,
html[data-bs-theme="dark"] h3,
html[data-bs-theme="dark"] h4,
html[data-bs-theme="dark"] h5,
html[data-bs-theme="dark"] h6,
html[data-bs-theme="dark"] p,
html[data-bs-theme="dark"] label,
html[data-bs-theme="dark"] .form-label,
html[data-bs-theme="dark"] .card-title,
html[data-bs-theme="dark"] .page-title h4,
html[data-bs-theme="dark"] .dropdown-item,
html[data-bs-theme="dark"] .text-dark,
html[data-bs-theme="dark"] .text-body,
html[data-bs-theme="dark"] .text-reset {
    color: var(--cm-text) !important;
}

html[data-bs-theme="dark"] .text-muted,
html[data-bs-theme="dark"] .text-body-secondary,
html[data-bs-theme="dark"] small,
html[data-bs-theme="dark"] .small,
html[data-bs-theme="dark"] .form-text {
    color: var(--cm-muted) !important;
}

html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] .input-group-text,
html[data-bs-theme="dark"] textarea,
html[data-bs-theme="dark"] input,
html[data-bs-theme="dark"] select,
html[data-bs-theme="dark"] .select2-container .select2-selection--single,
html[data-bs-theme="dark"] .select2-container .select2-selection--multiple,
html[data-bs-theme="dark"] .select2-dropdown {
    background: #0f172a !important;
    border-color: var(--cm-border) !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .table > :not(caption) > * > *,
html[data-bs-theme="dark"] table.dataTable tbody td,
html[data-bs-theme="dark"] #leads table.dataTable tbody td,
html[data-bs-theme="dark"] #data table.dataTable tbody td,
html[data-bs-theme="dark"] #view table.dataTable tbody td {
    background: var(--cm-surface) !important;
    border-color: #263449 !important;
    color: var(--cm-text) !important;
}

html[data-bs-theme="dark"] .table thead th,
html[data-bs-theme="dark"] table.dataTable thead th,
html[data-bs-theme="dark"] #leads table.dataTable thead th,
html[data-bs-theme="dark"] #data table.dataTable thead th,
html[data-bs-theme="dark"] #view table.dataTable thead th {
    background: var(--cm-surface-2) !important;
    border-color: var(--cm-border) !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .chat-leftsidebar,
html[data-bs-theme="dark"] .user-chat,
html[data-bs-theme="dark"] .user-profile-sidebar,
html[data-bs-theme="dark"] .user-chat-topbar,
html[data-bs-theme="dark"] .chat-input-section {
    background: var(--cm-surface) !important;
    border-color: var(--cm-border) !important;
    color: var(--cm-text) !important;
}

/* Strong final dark-mode pass for late page modules, plugin controls, and inline light panels. */
html[data-bs-theme="dark"] {
    --cm-dark-bg: #0f172a;
    --cm-dark-surface: #111827;
    --cm-dark-surface-soft: #172033;
    --cm-dark-border: #334155;
    --cm-dark-text: #e5edf7;
    --cm-dark-muted: #a9b8cc;
    --cm-dark-accent: #8fb4df;
}

html[data-bs-theme="dark"] [style*="background:#fff"],
html[data-bs-theme="dark"] [style*="background: #fff"],
html[data-bs-theme="dark"] [style*="background-color:#fff"],
html[data-bs-theme="dark"] [style*="background-color: #fff"],
html[data-bs-theme="dark"] [style*="background:white"],
html[data-bs-theme="dark"] [style*="background: white"],
html[data-bs-theme="dark"] [style*="background-color:white"],
html[data-bs-theme="dark"] [style*="background-color: white"],
html[data-bs-theme="dark"] .hp-panel,
html[data-bs-theme="dark"] .hp-result,
html[data-bs-theme="dark"] .hp-shell,
html[data-bs-theme="dark"] .today-worklist-card,
html[data-bs-theme="dark"] .today-worklist-card > .card-header,
html[data-bs-theme="dark"] .today-home-route-card,
html[data-bs-theme="dark"] .today-home-route-card .card-header,
html[data-bs-theme="dark"] .settings-section,
html[data-bs-theme="dark"] .settings-card,
html[data-bs-theme="dark"] .cm-panel,
html[data-bs-theme="dark"] .cm-table-wrap,
html[data-bs-theme="dark"] .cm-report-card,
html[data-bs-theme="dark"] .cm-actions-page,
html[data-bs-theme="dark"] .list-group-item,
html[data-bs-theme="dark"] .accordion-item,
html[data-bs-theme="dark"] .accordion-button,
html[data-bs-theme="dark"] .offcanvas,
html[data-bs-theme="dark"] .popover,
html[data-bs-theme="dark"] .toast {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .leftside-menu,
html[data-bs-theme="dark"] .leftside-menu.authentication-bg,
html[data-bs-theme="dark"] .leftside-menu #leftside-menu-container,
html[data-bs-theme="dark"] .leftside-menu .simplebar-content-wrapper,
html[data-bs-theme="dark"] .leftside-menu .simplebar-content {
    background: var(--cm-sidebar) !important;
    border-color: var(--cm-sidebar-border) !important;
}

html[data-bs-theme="dark"] .navbar-custom {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
}

html[data-bs-theme="dark"] .leftside-menu .side-nav-title,
html[data-bs-theme="dark"] .leftside-menu .side-nav .side-nav-link,
html[data-bs-theme="dark"] .leftside-menu .side-nav-second-level li a {
    color: var(--cm-sidebar-text) !important;
}

html[data-bs-theme="dark"] .navbar-custom .nav-link,
html[data-bs-theme="dark"] .navbar-custom .button-menu-mobile,
html[data-bs-theme="dark"] .dropdown-item {
    color: rgba(255,255,255,.88) !important;
}

html[data-bs-theme="dark"] .leftside-menu .side-nav .side-nav-link i,
html[data-bs-theme="dark"] .leftside-menu .side-nav-second-level li a i {
    color: var(--cm-sidebar-icon) !important;
}

html[data-bs-theme="dark"] .navbar-custom i {
    color: rgba(255,255,255,.82) !important;
}

html[data-bs-theme="dark"] .leftside-menu .side-nav .side-nav-link:hover,
html[data-bs-theme="dark"] .leftside-menu .side-nav .side-nav-link[aria-expanded="true"],
html[data-bs-theme="dark"] .leftside-menu .side-nav .side-nav-item > a.active,
html[data-bs-theme="dark"] .leftside-menu .side-nav-second-level li a:hover,
html[data-bs-theme="dark"] .leftside-menu .side-nav-second-level li.active > a {
    background: var(--cm-sidebar-2) !important;
    color: var(--cm-sidebar-text) !important;
}

html[data-bs-theme="dark"] .dropdown-item:hover,
html[data-bs-theme="dark"] .dropdown-item:focus,
html[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
    background: #22314a !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .btn,
html[data-bs-theme="dark"] button,
html[data-bs-theme="dark"] .dt-button,
html[data-bs-theme="dark"] .page-link {
    border-color: var(--cm-dark-border) !important;
    box-shadow: none !important;
}

html[data-bs-theme="dark"] .btn-primary,
html[data-bs-theme="dark"] .btn-success,
html[data-bs-theme="dark"] .btn-info {
    color: #07111f !important;
    background: var(--cm-dark-accent) !important;
    border-color: var(--cm-dark-accent) !important;
}

html[data-bs-theme="dark"] .btn-secondary,
html[data-bs-theme="dark"] .btn-light,
html[data-bs-theme="dark"] .btn-outline-primary,
html[data-bs-theme="dark"] .btn-outline-secondary,
html[data-bs-theme="dark"] .btn-outline-light,
html[data-bs-theme="dark"] .dt-button,
html[data-bs-theme="dark"] .page-link {
    color: var(--cm-dark-text) !important;
    background: #172033 !important;
    border-color: var(--cm-dark-border) !important;
}

html[data-bs-theme="dark"] .btn:hover,
html[data-bs-theme="dark"] .dt-button:hover,
html[data-bs-theme="dark"] .page-link:hover {
    background: #22314a !important;
    border-color: #49627f !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .btn-danger,
html[data-bs-theme="dark"] .btn-outline-danger {
    color: #ffe4e6 !important;
    background: #7f1d1d !important;
    border-color: #991b1b !important;
}

html[data-bs-theme="dark"] .btn-warning,
html[data-bs-theme="dark"] .btn-outline-warning {
    color: #2d1b00 !important;
    background: #fbbf24 !important;
    border-color: #f59e0b !important;
}

html[data-bs-theme="dark"] .badge.bg-light,
html[data-bs-theme="dark"] .badge.text-muted,
html[data-bs-theme="dark"] .alert-light,
html[data-bs-theme="dark"] .alert-warning,
html[data-bs-theme="dark"] .hp-route-alert,
html[data-bs-theme="dark"] .hp-postcode-replace-warning {
    background: #231f14 !important;
    border-color: #66562d !important;
    color: #f7e7b0 !important;
}

html[data-bs-theme="dark"] .dataTables_filter input,
html[data-bs-theme="dark"] .dataTables_length select,
html[data-bs-theme="dark"] .dt-search input,
html[data-bs-theme="dark"] .dt-length select,
html[data-bs-theme="dark"] .select2-search__field,
html[data-bs-theme="dark"] .select2-results__option,
html[data-bs-theme="dark"] .select2-results__options,
html[data-bs-theme="dark"] .select2-container--default .select2-results__option[aria-selected=true] {
    background: #0f172a !important;
    color: #f8fafc !important;
    border-color: var(--cm-dark-border) !important;
}

html[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
html[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted {
    background: #1e293b !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .fc,
html[data-bs-theme="dark"] .fc-scrollgrid,
html[data-bs-theme="dark"] .fc-theme-standard td,
html[data-bs-theme="dark"] .fc-theme-standard th,
html[data-bs-theme="dark"] .fc-daygrid-day,
html[data-bs-theme="dark"] .fc-timegrid-slot,
html[data-bs-theme="dark"] .fc-list,
html[data-bs-theme="dark"] .fc-list-day-cushion {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .fc .fc-button,
html[data-bs-theme="dark"] .fc .fc-button-primary {
    background: #172033 !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .fc .fc-button-primary:not(:disabled).fc-button-active,
html[data-bs-theme="dark"] .fc .fc-button-primary:not(:disabled):active {
    background: var(--cm-dark-accent) !important;
    color: #07111f !important;
}

html[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > *,
html[data-bs-theme="dark"] table.dataTable.stripe > tbody > tr.odd > *,
html[data-bs-theme="dark"] table.dataTable.display > tbody > tr.odd > * {
    background: #132033 !important;
}

html[data-bs-theme="dark"] .table-hover > tbody > tr:hover > *,
html[data-bs-theme="dark"] table.dataTable.hover > tbody > tr:hover > *,
html[data-bs-theme="dark"] table.dataTable.display > tbody > tr:hover > * {
    background: #1e293b !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] hr,
html[data-bs-theme="dark"] .border,
html[data-bs-theme="dark"] .border-top,
html[data-bs-theme="dark"] .border-bottom,
html[data-bs-theme="dark"] .border-start,
html[data-bs-theme="dark"] .border-end {
    border-color: var(--cm-dark-border) !important;
}

html[data-bs-theme="dark"] .nav-user,
html[data-bs-theme="dark"] .account-user-name,
html[data-bs-theme="dark"] .account-position {
    background: #172033 !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .cm-contacts-shell,
html[data-bs-theme="dark"] .cm-contacts-toolbar,
html[data-bs-theme="dark"] .cm-contacts-body,
html[data-bs-theme="dark"] .cm-contacts-icon,
html[data-bs-theme="dark"] .cm-contact-count,
html[data-bs-theme="dark"] #contacts .dataTables_empty {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .cm-contacts-title h4,
html[data-bs-theme="dark"] .cm-contacts-title p {
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] #contacts .dt-search input,
html[data-bs-theme="dark"] #contacts .dt-length select,
html[data-bs-theme="dark"] #contacts .cm-action-btn {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .settings-page {
    --settings-bg: var(--cm-dark-bg);
    --settings-panel: var(--cm-dark-surface);
    --settings-panel-soft: #172033;
    --settings-border: var(--cm-dark-border);
    --settings-border-soft: #263449;
    --settings-text: var(--cm-dark-text);
    --settings-muted: var(--cm-dark-muted);
}

html[data-bs-theme="dark"] .settings-page .settings-sidebar,
html[data-bs-theme="dark"] .settings-page .settings-sidebar .nav-pills,
html[data-bs-theme="dark"] .settings-page .settings-sidebar .nav-link,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-menu,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-title,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-list,
html[data-bs-theme="dark"] .settings-page .tab-content,
html[data-bs-theme="dark"] .settings-page .tab-pane,
html[data-bs-theme="dark"] .settings-page .card-footer {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .settings-page .settings-sidebar .nav-link.active,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-list .nav-link.active {
    background: #1e293b !important;
    border-color: #49627f !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .cm-message-centre .search-box .form-control,
html[data-bs-theme="dark"] .cm-message-centre .chat-search-box .form-control,
html[data-bs-theme="dark"] .cm-message-centre .chat-search-box,
html[data-bs-theme="dark"] .cm-message-centre .btn-light,
html[data-bs-theme="dark"] .cm-message-centre .btn-white,
html[data-bs-theme="dark"] .cm-message-centre .chat-leftsidebar .btn {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .hp-route-map,
html[data-bs-theme="dark"] #hpRouteMap,
html[data-bs-theme="dark"] .today-home-route-map,
html[data-bs-theme="dark"] #todayHomeRouteMap {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-muted) !important;
}

html[data-bs-theme="dark"] .nav-tabs .nav-link,
html[data-bs-theme="dark"] .nav-pills .nav-link,
html[data-bs-theme="dark"] .btn-group .btn,
html[data-bs-theme="dark"] .btn-group-sm .btn {
    background: #172033 !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .nav-tabs .nav-link.active,
html[data-bs-theme="dark"] .nav-pills .nav-link.active,
html[data-bs-theme="dark"] .btn-group .btn.active,
html[data-bs-theme="dark"] .btn-group-sm .btn.active {
    background: var(--cm-dark-accent) !important;
    border-color: var(--cm-dark-accent) !important;
    color: #07111f !important;
}

html[data-bs-theme="dark"] .settings-page .settings-sidebar .nav-link,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-list .nav-link,
html[data-theme="dark"] .settings-page .settings-sidebar .nav-link,
html[data-theme="dark"] .settings-page .settings-sms-template-list .nav-link {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--settings-text) !important;
}

html[data-bs-theme="dark"] .settings-page .settings-sidebar .nav-link:hover,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-list .nav-link:hover,
html[data-theme="dark"] .settings-page .settings-sidebar .nav-link:hover,
html[data-theme="dark"] .settings-page .settings-sms-template-list .nav-link:hover {
    background: #172033 !important;
    border-color: #344055 !important;
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] .settings-page .settings-sidebar .nav-link.active,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-list .nav-link.active,
html[data-theme="dark"] .settings-page .settings-sidebar .nav-link.active,
html[data-theme="dark"] .settings-page .settings-sms-template-list .nav-link.active {
    background: #d8e5ff !important;
    border-color: #9dbbf4 !important;
    color: #0f172a !important;
    box-shadow: inset 2px 0 0 #3b6fd8 !important;
}

html[data-bs-theme="dark"] .settings-page .settings-sms-template-title,
html[data-theme="dark"] .settings-page .settings-sms-template-title {
    color: var(--settings-muted) !important;
}

html[data-bs-theme="dark"] .settings-page .settings-sms-template-title:hover,
html[data-bs-theme="dark"] .settings-page .settings-sms-template-title[aria-expanded="true"],
html[data-theme="dark"] .settings-page .settings-sms-template-title:hover,
html[data-theme="dark"] .settings-page .settings-sms-template-title[aria-expanded="true"] {
    color: #f8fafc !important;
}

html[data-bs-theme="dark"] #contacts tbody tr,
html[data-bs-theme="dark"] #contacts tbody td,
html[data-bs-theme="dark"] #contacts .dt-empty,
html[data-bs-theme="dark"] #contacts .dataTables_empty,
html[data-bs-theme="dark"] table.dataTable > tbody > tr > td.dt-empty {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-muted) !important;
}

html[data-bs-theme="dark"] body.cm-message-centre .user-chat,
html[data-bs-theme="dark"] body.cm-message-centre #users-chat,
html[data-bs-theme="dark"] body.cm-message-centre .user-chat .chat-content,
html[data-bs-theme="dark"] body.cm-message-centre .user-chat-topbar,
html[data-bs-theme="dark"] body.cm-message-centre .chat-conversation,
html[data-bs-theme="dark"] body.cm-message-centre .chat-conversation .simplebar-wrapper,
html[data-bs-theme="dark"] body.cm-message-centre .chat-conversation .simplebar-mask,
html[data-bs-theme="dark"] body.cm-message-centre .chat-conversation .simplebar-offset,
html[data-bs-theme="dark"] body.cm-message-centre .chat-conversation .simplebar-content-wrapper,
html[data-bs-theme="dark"] body.cm-message-centre .chat-conversation .simplebar-content {
    background: var(--cm-dark-bg) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] body.cm-message-centre .user-chat-topbar {
    background: #172033 !important;
    box-shadow: none !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat-topbar .cm-pin-toggle-btn {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat-topbar .cm-pin-toggle-btn.is-pinned {
    background: #1e3a5f !important;
    border-color: #3b82f6 !important;
    color: #dbeafe !important;
}

html[data-bs-theme="dark"] body.cm-message-centre .cm-chat-empty-state,
html[data-bs-theme="dark"] body.cm-message-centre .cm-chat-empty-state h5,
html[data-bs-theme="dark"] body.cm-message-centre .cm-chat-empty-state p {
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] body.cm-message-centre input,
html[data-bs-theme="dark"] body.cm-message-centre textarea,
html[data-bs-theme="dark"] body.cm-message-centre select,
html[data-bs-theme="dark"] body.cm-message-centre .form-control,
html[data-bs-theme="dark"] body.cm-message-centre .form-select,
html[data-bs-theme="dark"] body.cm-message-centre .input-group-text {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] body.cm-message-centre input::placeholder,
html[data-bs-theme="dark"] body.cm-message-centre textarea::placeholder {
    color: var(--cm-dark-muted) !important;
    opacity: 1 !important;
}

html[data-bs-theme="dark"] .btn-check:checked + .btn,
html[data-bs-theme="dark"] .btn-check:active + .btn,
html[data-bs-theme="dark"] .btn-check + .btn.active,
html[data-bs-theme="dark"] .btn-check + .btn.show,
html[data-bs-theme="dark"] .btn-check + .btn:first-of-type {
    background: #172033 !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .reporting-page {
    --rp-accent: var(--cm-dark-accent);
    --rp-border: var(--cm-dark-border);
    --rp-soft: #172033;
    --rp-text: var(--cm-dark-text);
    --rp-muted: var(--cm-dark-muted);
}

html[data-bs-theme="dark"] .reporting-page .page-title h4,
html[data-bs-theme="dark"] .reporting-page .rp-metric-value,
html[data-bs-theme="dark"] .reporting-page .rp-fact-value,
html[data-bs-theme="dark"] .reporting-page .rp-panel-head h5 {
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .reporting-page .rp-filter-bar,
html[data-bs-theme="dark"] .reporting-page .rp-metric,
html[data-bs-theme="dark"] .reporting-page .rp-panel,
html[data-bs-theme="dark"] .reporting-page .rp-chart,
html[data-bs-theme="dark"] .reporting-page .rp-table-wrap,
html[data-bs-theme="dark"] .reporting-page .apexcharts-canvas,
html[data-bs-theme="dark"] .reporting-page .apexcharts-svg,
html[data-bs-theme="dark"] .reporting-page .apexcharts-inner,
html[data-bs-theme="dark"] .reporting-page .apexcharts-graphical {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .reporting-page .rp-panel-head,
html[data-bs-theme="dark"] .reporting-page .rp-table th {
    background: #172033 !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-muted) !important;
}

html[data-bs-theme="dark"] .reporting-page .rp-table,
html[data-bs-theme="dark"] .reporting-page .rp-table td,
html[data-bs-theme="dark"] .reporting-page .rp-fact {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .reporting-page .rp-filter label,
html[data-bs-theme="dark"] .reporting-page .rp-range-note,
html[data-bs-theme="dark"] .reporting-page .rp-metric-label,
html[data-bs-theme="dark"] .reporting-page .rp-fact-label,
html[data-bs-theme="dark"] .reporting-page .rp-panel-head span,
html[data-bs-theme="dark"] .reporting-page .rp-empty {
    color: var(--cm-dark-muted) !important;
}

html[data-bs-theme="dark"] .reporting-page .rp-filter .form-control,
html[data-bs-theme="dark"] .reporting-page .rp-filter .form-select,
html[data-bs-theme="dark"] .reporting-page .btn-outline-secondary {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

html[data-bs-theme="dark"] .reporting-page .rp-error {
    background: #2a1717 !important;
    border-color: #7f1d1d !important;
    color: #fecaca !important;
}

html[data-theme="dark"] body.cm-message-centre .search-box input,
html[data-theme="dark"] body.cm-message-centre .chat-search-box input,
html[data-theme="dark"] body.cm-message-centre .form-control,
html[data-bs-theme="dark"] body.cm-message-centre .search-box input,
html[data-bs-theme="dark"] body.cm-message-centre .chat-search-box input,
html[data-bs-theme="dark"] body.cm-message-centre .form-control,
body.cm-message-centre[data-theme="dark"] .search-box input,
body.cm-message-centre[data-theme="dark"] .chat-search-box input,
body.cm-message-centre[data-theme="dark"] .form-control {
    background-color: #0f172a !important;
    border-color: var(--cm-dark-border, #334155) !important;
    color: var(--cm-dark-text, #f8fafc) !important;
}

html[data-theme="dark"] body.cm-message-centre .search-box input::placeholder,
html[data-theme="dark"] body.cm-message-centre .chat-search-box input::placeholder,
html[data-bs-theme="dark"] body.cm-message-centre .search-box input::placeholder,
html[data-bs-theme="dark"] body.cm-message-centre .chat-search-box input::placeholder,
body.cm-message-centre[data-theme="dark"] .search-box input::placeholder,
body.cm-message-centre[data-theme="dark"] .chat-search-box input::placeholder {
    color: var(--cm-dark-muted, #94a3b8) !important;
    opacity: 1 !important;
}

html[data-theme="dark"] .btn-check:checked + .btn,
html[data-theme="dark"] .btn-check:active + .btn,
html[data-theme="dark"] .btn-check + .btn.active,
html[data-theme="dark"] .btn-check + .btn.show,
html[data-bs-theme="dark"] .btn-check:checked + .btn,
html[data-bs-theme="dark"] .btn-check:active + .btn,
html[data-bs-theme="dark"] .btn-check + .btn.active,
html[data-bs-theme="dark"] .btn-check + .btn.show,
body[data-theme="dark"] .btn-check:checked + .btn,
body[data-theme="dark"] .btn-check:active + .btn,
body[data-theme="dark"] .btn-check + .btn.active,
body[data-theme="dark"] .btn-check + .btn.show {
    background-color: #172033 !important;
    border-color: var(--cm-dark-border, #334155) !important;
    color: var(--cm-dark-text, #f8fafc) !important;
}

html[data-bs-theme="dark"] body.cm-message-centre #serachChatUser.form-control.bg-light,
html[data-theme="dark"] body.cm-message-centre #serachChatUser.form-control.bg-light,
body.cm-message-centre[data-bs-theme="dark"] #serachChatUser.form-control.bg-light,
body.cm-message-centre[data-theme="dark"] #serachChatUser.form-control.bg-light {
    background: #0f172a !important;
    background-color: #0f172a !important;
    border: 1px solid var(--cm-dark-border, #334155) !important;
    color: var(--cm-dark-text, #f8fafc) !important;
}

html[data-bs-theme="dark"] body.cm-message-centre #serachChatUser.form-control.bg-light::placeholder,
html[data-theme="dark"] body.cm-message-centre #serachChatUser.form-control.bg-light::placeholder,
body.cm-message-centre[data-bs-theme="dark"] #serachChatUser.form-control.bg-light::placeholder,
body.cm-message-centre[data-theme="dark"] #serachChatUser.form-control.bg-light::placeholder {
    color: var(--cm-dark-muted, #94a3b8) !important;
    opacity: 1 !important;
}

html[data-bs-theme="dark"] .today-clinic-page .today-worklist-card .nav-pills,
html[data-bs-theme="dark"] .today-home-page .today-worklist-card .nav-pills,
html[data-theme="dark"] .today-clinic-page .today-worklist-card .nav-pills,
html[data-theme="dark"] .today-home-page .today-worklist-card .nav-pills {
    background: #0f172a !important;
    border-color: var(--cm-dark-border, #334155) !important;
}

html[data-bs-theme="dark"] .today-clinic-page .today-worklist-card .nav-pills .nav-link,
html[data-bs-theme="dark"] .today-home-page .today-worklist-card .nav-pills .nav-link,
html[data-theme="dark"] .today-clinic-page .today-worklist-card .nav-pills .nav-link,
html[data-theme="dark"] .today-home-page .today-worklist-card .nav-pills .nav-link {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: var(--cm-dark-text, #f8fafc) !important;
}

html[data-bs-theme="dark"] .today-clinic-page .today-worklist-card .nav-pills .nav-link.active,
html[data-bs-theme="dark"] .today-home-page .today-worklist-card .nav-pills .nav-link.active,
html[data-theme="dark"] .today-clinic-page .today-worklist-card .nav-pills .nav-link.active,
html[data-theme="dark"] .today-home-page .today-worklist-card .nav-pills .nav-link.active {
    background: #172033 !important;
    border-color: var(--cm-dark-border, #334155) !important;
    color: var(--cm-dark-text, #f8fafc) !important;
    box-shadow: none !important;
}

/* Dark-mode sweep: stop light table/control islands on admin pages. */
:is(html[data-bs-theme="dark"], html[data-theme="dark"]) {
    --cm-dark-bg: #0b1220;
    --cm-dark-surface: #111827;
    --cm-dark-surface-soft: #172033;
    --cm-dark-surface-hover: #1e293b;
    --cm-dark-border: #334155;
    --cm-dark-border-soft: #263244;
    --cm-dark-text: #f8fafc;
    --cm-dark-muted: #b6c2d2;
    --cm-dark-link: #8fb4df;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    body,
    .wrapper,
    .content-page,
    .content,
    .main-content,
    .page-content,
    .page-content-wrapper,
    .container-fluid
) {
    background: var(--cm-dark-bg) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .card,
    .card-body,
    .card-header,
    .card-footer,
    .modal-content,
    .modal-header,
    .modal-body,
    .modal-footer,
    .dropdown-menu,
    .jconfirm-box,
    .offcanvas,
    .popover,
    .toast,
    .list-group-item,
    .accordion-item,
    .accordion-button,
    .bg-white,
    .bg-light,
    .bg-body,
    .bg-body-tertiary
) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    h1,h2,h3,h4,h5,h6,
    p,label,.form-label,
    .page-title h4,
    .card-title,
    .modal-title,
    .header-title,
    .text-dark,
    .text-body,
    .text-reset,
    .fw-bold,
    .fw-semibold
) {
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .text-muted,
    .text-body-secondary,
    small,
    .small,
    .form-text,
    .help-block,
    .dataTables_info,
    .dt-info,
    .dataTables_length label,
    .dataTables_filter label,
    .dt-length label,
    .dt-search label
) {
    color: var(--cm-dark-muted) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) a {
    color: var(--cm-dark-link) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .form-control,
    .form-select,
    .input-group-text,
    textarea,
    input,
    select,
    .select2-container .select2-selection--single,
    .select2-container .select2-selection--multiple,
    .select2-dropdown
) {
    background-color: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
    box-shadow: none !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(input, textarea, .form-control)::placeholder {
    color: var(--cm-dark-muted) !important;
    opacity: 1 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper,
    .dt-container,
    .dataTables_wrapper .row,
    .dt-layout-row,
    .dt-layout-cell,
    .dataTables_length,
    .dataTables_filter,
    .dataTables_info,
    .dataTables_paginate,
    .dt-buttons,
    .dt-search,
    .dt-length,
    .dt-info,
    .dt-paging,
    .dataTables_scroll,
    .dataTables_scrollHead,
    .dataTables_scrollHeadInner,
    .dataTables_scrollBody,
    .dataTables_scrollFoot,
    .dataTables_scrollFootInner,
    .dt-scroll,
    .dt-scroll-head,
    .dt-scroll-headInner,
    .dt-scroll-body,
    .dt-scroll-foot,
    .dt-scroll-footInner,
    .table-responsive,
    .cm-table-scroll,
    .cm-table-wrap
) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    table,
    .table,
    table.dataTable,
    #tablelist,
    #leads table.dataTable,
    #data table.dataTable,
    #view table.dataTable,
    #contacts table.dataTable
) {
    --bs-table-bg: var(--cm-dark-surface);
    --bs-table-striped-bg: #1d2635;
    --bs-table-hover-bg: var(--cm-dark-surface-hover);
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .table thead th,
    table.dataTable thead th,
    table.dataTable > thead > tr > th,
    #tablelist thead th,
    #leads table.dataTable thead th,
    #data table.dataTable thead th,
    #view table.dataTable thead th,
    #contacts table.dataTable thead th
) {
    background: var(--cm-dark-surface-soft) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .table tbody td,
    .table > :not(caption) > * > *,
    table.dataTable tbody td,
    table.dataTable > tbody > tr > td,
    table.dataTable > tbody > tr > th,
    #tablelist tbody td,
    #leads table.dataTable tbody td,
    #data table.dataTable tbody td,
    #view table.dataTable tbody td,
    #contacts table.dataTable tbody td
) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .table-striped > tbody > tr:nth-of-type(odd) > *,
    table.dataTable.stripe > tbody > tr.odd > *,
    table.dataTable.display > tbody > tr.odd > *
) {
    background: #141d2b !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .table-hover > tbody > tr:hover > *,
    table.dataTable.hover > tbody > tr:hover > *,
    table.dataTable.display > tbody > tr:hover > *,
    #tablelist tbody tr:hover td,
    #contacts table.dataTable tbody tr:hover td
) {
    background: var(--cm-dark-surface-hover) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_empty,
    .dt-empty,
    table.dataTable > tbody > tr > td.dt-empty,
    .dataTables_wrapper .dataTables_empty,
    #contacts .dataTables_empty
) {
    background: var(--cm-dark-surface) !important;
    color: var(--cm-dark-muted) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_filter input,
    .dataTables_length select,
    .dt-search input,
    .dt-length select,
    #contacts .dt-search input,
    #contacts .dt-length select
) {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .btn,
    button,
    .dt-button,
    .dataTables_wrapper .paginate_button,
    .page-link,
    .dt-paging-button
) {
    border-color: var(--cm-dark-border) !important;
    box-shadow: none !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .btn-light,
    .btn-white,
    .btn-outline-primary,
    .btn-outline-secondary,
    .btn-outline-light,
    .dt-button,
    .dataTables_wrapper .paginate_button,
    .page-link,
    .dt-paging-button,
    #contacts .cm-action-btn
) {
    background: #0f172a !important;
    color: var(--cm-dark-text) !important;
    border-color: var(--cm-dark-border) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .btn-light:hover,
    .btn-white:hover,
    .btn-outline-primary:hover,
    .btn-outline-secondary:hover,
    .btn-outline-light:hover,
    .dt-button:hover,
    .dataTables_wrapper .paginate_button:hover,
    .page-link:hover,
    .dt-paging-button:hover,
    #contacts .cm-action-btn:hover
) {
    background: var(--cm-dark-surface-hover) !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper .paginate_button.current,
    .dataTables_wrapper .paginate_button.current:hover,
    .dt-paging-button.current,
    .dt-paging-button.active,
    .page-item.active .page-link,
    .btn-primary,
    .btn-success,
    .btn-info
) {
    background: var(--cm-dark-accent) !important;
    border-color: var(--cm-dark-accent) !important;
    color: #07111f !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .cm-contacts-shell,
    .cm-contacts-toolbar,
    .cm-contacts-body,
    .cm-contacts-icon,
    .cm-contact-count
) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .cm-contacts-title h4,
    .cm-contact-name,
    .cm-phone-link
) {
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .cm-contact-muted,
    .cm-contacts-title p
) {
    color: var(--cm-dark-muted) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) .actions-page {
    --ap-accent: var(--cm-dark-accent);
    --ap-border: var(--cm-dark-border);
    --ap-muted: var(--cm-dark-muted);
    --ap-text: var(--cm-dark-text);
    --ap-soft: var(--cm-dark-surface-soft);
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .actions-toolbar,
    .actions-table-wrap,
    .actions-table,
    .actions-table th,
    .actions-table td
) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) .actions-table th {
    background: var(--cm-dark-surface-soft) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) .actions-table tr.is-overdue td {
    background: #241923 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .actions-filter .form-control,
    .actions-filter .form-select
) {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .clinic-board-card,
    .today-worklist-card,
    .today-worklist-card > .card-header,
    .clinic-room-card,
    .clinic-room-card .card-header,
    .clinic-room-card .card-body,
    .today-home-route-card,
    .today-home-route-card .card-header,
    .today-home-route-map,
    #todayHomeRouteMap
) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .clinic-room-card .fs-3,
    .clinic-room-links a,
    .today-worklist-card .nav-pills
) {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .clinic-room-patient,
    .clinic-room-timeline b,
    .today-worklist-card > .card-header h5
) {
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .clinic-room-dob,
    .clinic-room-card .fs-4,
    .clinic-room-timeline,
    .today-home-route-status
) {
    color: var(--cm-dark-muted) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_scrollBody,
    .dt-scroll-body,
    .table-responsive,
    .cm-table-scroll
) {
    scrollbar-color: #64748b #0f172a;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_scrollBody,
    .dt-scroll-body,
    .table-responsive,
    .cm-table-scroll
)::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_scrollBody,
    .dt-scroll-body,
    .table-responsive,
    .cm-table-scroll
)::-webkit-scrollbar-track {
    background: #0f172a;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_scrollBody,
    .dt-scroll-body,
    .table-responsive,
    .cm-table-scroll
)::-webkit-scrollbar-thumb {
    background: #64748b;
    border-radius: 999px;
}

body[data-bs-theme="dark"],
body[data-theme="dark"] {
    --cm-dark-bg: #0b1220;
    --cm-dark-surface: #111827;
    --cm-dark-surface-soft: #172033;
    --cm-dark-surface-hover: #1e293b;
    --cm-dark-border: #334155;
    --cm-dark-border-soft: #263244;
    --cm-dark-text: #f8fafc;
    --cm-dark-muted: #b6c2d2;
    --cm-dark-link: #8fb4df;
    background: var(--cm-dark-bg) !important;
    color: var(--cm-dark-text) !important;
}

body[data-bs-theme="dark"] :is(.card,.card-body,.dataTables_wrapper,.dt-container,.dt-layout-row,.table-responsive,.actions-toolbar,.actions-table-wrap,.cm-contacts-shell,.cm-contacts-toolbar,.clinic-room-card,.clinic-room-card .card-body,.today-worklist-card),
body[data-theme="dark"] :is(.card,.card-body,.dataTables_wrapper,.dt-container,.dt-layout-row,.table-responsive,.actions-toolbar,.actions-table-wrap,.cm-contacts-shell,.cm-contacts-toolbar,.clinic-room-card,.clinic-room-card .card-body,.today-worklist-card) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

body[data-bs-theme="dark"] :is(table.dataTable,#tablelist,.table,table.dataTable tbody td,#tablelist tbody td,.table tbody td,.dataTables_empty,.dt-empty),
body[data-theme="dark"] :is(table.dataTable,#tablelist,.table,table.dataTable tbody td,#tablelist tbody td,.table tbody td,.dataTables_empty,.dt-empty) {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

body[data-bs-theme="dark"] :is(table.dataTable thead th,#tablelist thead th,.table thead th),
body[data-theme="dark"] :is(table.dataTable thead th,#tablelist thead th,.table thead th) {
    background: var(--cm-dark-surface-soft) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

body[data-bs-theme="dark"] :is(.form-control,.form-select,input,select,textarea,.dataTables_filter input,.dataTables_length select,.dt-search input,.dt-length select),
body[data-theme="dark"] :is(.form-control,.form-select,input,select,textarea,.dataTables_filter input,.dataTables_length select,.dt-search input,.dt-length select) {
    background: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

/* Dark-mode hardening for generated table chrome and page-specific tool surfaces. */
:is(html[data-bs-theme="dark"], html[data-theme="dark"]) {
    --cm-dark-accent: #8fb4df;
    --cm-dark-accent-ink: #07111f;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    #leads,
    #data,
    #view,
    #contacts,
    #tablelist_wrapper,
    [id$="_wrapper"].dataTables_wrapper,
    .dataTables_wrapper,
    .dataTables_wrapper > div,
    .dataTables_wrapper > .row,
    .dataTables_wrapper .row,
    .dataTables_wrapper .col-sm-12,
    .dataTables_wrapper .col-md-6,
    .dataTables_wrapper .col-md-5,
    .dataTables_wrapper .col-md-7,
    .dt-container,
    .dt-container > div,
    .dt-layout-row,
    .dt-layout-cell,
    .dt-layout-full,
    .dt-layout-table,
    .dt-scroll,
    .dt-scroll-head,
    .dt-scroll-headInner,
    .dt-scroll-body,
    .dt-scroll-foot,
    .dt-scroll-footInner,
    .dataTables_scroll,
    .dataTables_scrollHead,
    .dataTables_scrollHeadInner,
    .dataTables_scrollBody,
    .dataTables_scrollFoot,
    .dataTables_scrollFootInner,
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate,
    .dataTables_wrapper .dt-buttons,
    .dataTables_wrapper .dt-search,
    .dataTables_wrapper .dt-length,
    .dataTables_wrapper .dt-info,
    .dataTables_wrapper .dt-paging
) {
    background: var(--cm-dark-surface) !important;
    background-color: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .card > .card-body,
    .card .card-body,
    .card .card-header,
    .card .card-footer,
    .table-responsive,
    .table-responsive *,
    .cm-table-scroll,
    .cm-table-scroll *,
    .cm-floating-scrollbar,
    .cm-floating-scrollbar *
) {
    background-color: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper table,
    .dataTables_wrapper table.dataTable,
    .dataTables_wrapper table.dataTable thead,
    .dataTables_wrapper table.dataTable tbody,
    .dataTables_wrapper table.dataTable tfoot,
    .dataTables_wrapper table.dataTable tr,
    .dt-container table,
    .dt-container table.dataTable,
    .dt-container table.dataTable thead,
    .dt-container table.dataTable tbody,
    .dt-container table.dataTable tfoot,
    .dt-container table.dataTable tr
) {
    background-color: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper table.dataTable tbody td,
    .dataTables_wrapper table.dataTable tbody th,
    .dt-container table.dataTable tbody td,
    .dt-container table.dataTable tbody th,
    #tablelist tbody td,
    #tablelist tbody th
) {
    background-color: var(--cm-dark-surface) !important;
    border-top-color: var(--cm-dark-border) !important;
    border-bottom-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper table.dataTable thead th,
    .dataTables_wrapper table.dataTable thead td,
    .dt-container table.dataTable thead th,
    .dt-container table.dataTable thead td,
    #tablelist thead th,
    #tablelist thead td
) {
    background-color: var(--cm-dark-surface-soft) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper .dataTables_empty,
    .dt-container .dt-empty,
    table.dataTable tbody tr td.dataTables_empty,
    table.dataTable tbody tr td.dt-empty
) {
    background-color: var(--cm-dark-surface) !important;
    color: var(--cm-dark-muted) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper .dataTables_length select,
    .dataTables_wrapper .dataTables_filter input,
    .dt-container .dt-length select,
    .dt-container .dt-search input,
    .dataTables_wrapper .dt-button,
    .dataTables_wrapper button.dt-button,
    .dt-container .dt-button,
    .dt-container button.dt-button,
    .dataTables_wrapper .paginate_button,
    .dt-container .dt-paging-button
) {
    background: #0f172a !important;
    background-color: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .dataTables_wrapper .paginate_button.current,
    .dataTables_wrapper .paginate_button.current:hover,
    .dt-container .dt-paging-button.current,
    .dt-container .dt-paging-button.active
) {
    background: var(--cm-dark-accent) !important;
    background-color: var(--cm-dark-accent) !important;
    border-color: var(--cm-dark-accent) !important;
    color: var(--cm-dark-accent-ink) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .today-clinic-page,
    .today-clinic-page .page-content,
    .today-clinic-page .page-content-wrapper,
    .today-clinic-page .container-fluid,
    .today-clinic-page .row,
    .today-clinic-page .col-sm-12,
    .today-clinic-page .tab-content,
    .today-clinic-page .tab-pane,
    .today-clinic-page .tab-pane > .card-body,
    .today-clinic-page .clinic-board-card,
    .today-clinic-page .clinic-board-card > .card-body,
    .today-clinic-page .today-worklist-card,
    .today-clinic-page .today-worklist-card > .card-header,
    .today-clinic-page .today-worklist-card .card-body,
    .today-clinic-page .clinic-room-card,
    .today-clinic-page .clinic-room-card .card-header,
    .today-clinic-page .clinic-room-card .card-body,
    .today-clinic-page .clinic-next-card,
    .today-clinic-page .clinic-undo-room,
    .today-clinic-page .clinic-patient-option
) {
    background: var(--cm-dark-surface) !important;
    background-color: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .today-clinic-page .clinic-room-card .fs-3,
    .today-clinic-page .clinic-room-links a,
    .today-clinic-page .room .action,
    .today-clinic-page .clinic-next-card i,
    .today-clinic-page .today-worklist-card .nav-pills,
    .today-clinic-page .today-worklist-card .nav-link,
    .today-clinic-page .cm-clinic-actions .btn
) {
    background: #0f172a !important;
    background-color: #0f172a !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .today-clinic-page .today-worklist-card .nav-link.active,
    .today-clinic-page .today-worklist-card .nav-link:hover,
    .today-clinic-page .room .action:hover,
    .today-clinic-page .cm-clinic-actions .btn:hover
) {
    background: var(--cm-dark-surface-hover) !important;
    border-color: #475569 !important;
    color: #ffffff !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .today-clinic-page h4,
    .today-clinic-page h5,
    .today-clinic-page .clinic-room-patient,
    .today-clinic-page .clinic-room-timeline b,
    .today-clinic-page .clinic-next-card p,
    .today-clinic-page .clinic-next-card strong,
    .today-clinic-page .cm-clinic-state
) {
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(
    .today-clinic-page .clinic-room-dob,
    .today-clinic-page .clinic-room-card .fs-4,
    .today-clinic-page .clinic-room-timeline,
    .today-clinic-page .clinic-next-card span,
    .today-clinic-page .clinic-next-card em,
    .today-clinic-page .clinic-patient-option small
) {
    color: var(--cm-dark-muted) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px;
    margin-top: 0 !important;
    padding: 3px 7px;
    border: 1px solid var(--cm-dark-border) !important;
    border-radius: 6px;
    background: var(--cm-dark-surface) !important;
    color: var(--cm-dark-text) !important;
    box-shadow: none !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa .d-flex {
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    color: var(--cm-dark-text) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa span {
    display: inline-block !important;
    color: var(--cm-dark-text) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    opacity: 1 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa .form-check,
:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa .form-switch {
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #sendWA {
    width: 2.6em !important;
    height: 1.3em !important;
    margin: 0 !important;
    border: 1px solid #64748b !important;
    background-color: #1f2937 !important;
    --ct-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23f8fafc'/%3e%3c/svg%3e") !important;
    background-image: var(--ct-form-switch-bg) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
    cursor: pointer;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #sendWA:checked {
    background-color: var(--cm-primary) !important;
    border-color: var(--cm-sidebar-accent) !important;
    --ct-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
    background-image: var(--ct-form-switch-bg) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.15), 0 0 0 2px rgba(96,165,250,.18) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #sendWA:disabled {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    opacity: .75 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa:has(#sendWA:not(:checked)) span:first-child,
:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa:has(#sendWA:checked) span:last-child {
    color: #f8fafc !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa:has(#sendWA:not(:checked)) span:last-child,
:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat #smswa:has(#sendWA:checked) span:first-child {
    color: #94a3b8 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(#leadTransportPanel, #msgform) .form-switch .form-check-input:is(#leadSendWA, #contactSendWA) {
    width: 2.7em;
    height: 1.35em;
    border: 1px solid #64748b !important;
    background-color: #1f2937 !important;
    --ct-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23f8fafc'/%3e%3c/svg%3e") !important;
    background-image: var(--ct-form-switch-bg) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(#leadTransportPanel, #msgform) .form-switch .form-check-input:is(#leadSendWA, #contactSendWA):checked {
    background-color: var(--cm-primary) !important;
    border-color: var(--cm-sidebar-accent) !important;
    --ct-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
    background-image: var(--ct-form-switch-bg) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.15), 0 0 0 2px rgba(96,165,250,.18) !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) :is(#leadTransportPanel, #msgform) :is(span, .small) {
    color: #cbd5e1 !important;
}

:is(html[data-bs-theme="dark"], html[data-theme="dark"]) body.cm-message-centre .user-chat .user-chat-topbar {
    background: var(--cm-dark-surface) !important;
    border-color: var(--cm-dark-border) !important;
    color: var(--cm-dark-text) !important;
}

/* Give top-level navigation options a little more breathing room without changing submenus. */
.leftside-menu .side-nav > .side-nav-item > .side-nav-link {
    min-height: 42px;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Keep the complete navigation reachable when mobile submenus extend past
   the viewport. This must follow the later drawer rules that hide overflow. */
@media (max-width: 991.98px) {
    .leftside-menu #leftside-menu-container {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
    }

    .leftside-menu #leftside-menu-container .simplebar-mask,
    .leftside-menu #leftside-menu-container .simplebar-offset,
    .leftside-menu #leftside-menu-container .simplebar-content-wrapper,
    .leftside-menu #leftside-menu-container .simplebar-content {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .leftside-menu #leftside-menu-container .simplebar-placeholder,
    .leftside-menu #leftside-menu-container .simplebar-track {
        display: none !important;
    }

    .leftside-menu #leftside-menu-container .simplebar-content {
        min-height: 0 !important;
        padding-bottom: 12px !important;
    }
}

/* Message composer: keep digits compact and readable on small screens. */
body.cm-message-centre #chat-input.chat-input {
    direction: auto;
    font-family: "Segoe UI", "Noto Sans Arabic", "Noto Sans Hebrew", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", Tahoma, Arial, system-ui, sans-serif !important;
    font-feature-settings: normal !important;
    font-kerning: normal !important;
    font-variant-numeric: normal !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
}

body.cm-message-centre .cm-body,
body.cm-message-centre .cm-caption,
body.cm-message-centre .user-chat-content .msg,
body.cm-message-centre .user-chat-content p,
body.cm-message-centre .replymessage-block,
body.cm-message-centre .replymessage-block-left,
body.cm-message-centre .cm-translation-text {
    font-family: "Segoe UI", "Noto Sans Arabic", "Noto Sans Hebrew", "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", Tahoma, Arial, system-ui, sans-serif !important;
    font-variant-emoji: emoji;
}

@media (max-width: 575.98px) {
    body.cm-message-centre #chat-input.chat-input {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }
}

/* Global typography sanity pass: avoid Android/mobile numeric glyph spacing issues from bundled web fonts. */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"],
[data-theme="light"],
[data-theme="dark"] {
    --ct-font-sans-serif: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", Tahoma, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
    --ct-body-font-family: var(--ct-font-sans-serif);
}

html,
body,
button,
input,
select,
textarea,
.dropdown-menu,
.modal,
.card,
.table,
.dataTable,
.dt-container,
.dataTables_wrapper,
.leftside-menu,
.navbar-custom,
.page-title-box,
#usersList,
.chat-leftsidebar,
.user-chat,
.settings-page,
.system-settings,
#settings,
#leads,
#view,
#data {
    font-family: var(--ct-font-sans-serif) !important;
    font-kerning: normal !important;
    font-feature-settings: normal !important;
    font-variant-numeric: normal !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    font-stretch: normal !important;
}

:is(.text-truncate, .text-end, .fw-bold, .badge, .btn, .form-control, .form-select, .form-label, .side-nav-link, .side-nav-second-level a, .dataTable th, .dataTable td, #usersList p, #usersList small, #usersList span, #usersList a) {
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    font-feature-settings: normal !important;
    font-variant-numeric: normal !important;
    text-align-last: auto !important;
}

@media (max-width: 991.98px) {
    html,
    body,
    button,
    input,
    select,
    textarea,
    .table,
    .dataTable,
    .btn,
    .badge,
    .form-control,
    .form-select,
    #usersList,
    #usersList *,
    .chat-leftsidebar,
    .user-chat,
    .leftside-menu,
    .navbar-custom {
        font-family: var(--ct-font-sans-serif) !important;
        letter-spacing: 0 !important;
        word-spacing: normal !important;
        font-feature-settings: normal !important;
        font-variant-numeric: normal !important;
    }

    #usersList .text-end,
    #usersList small,
    #usersList .text-truncate,
    #usersList .fw-bold {
        text-align: start;
        text-align-last: auto !important;
        white-space: nowrap;
    }

    #usersList .text-end {
        text-align: right;
        flex: 0 0 auto;
    }
}
/* Android/WebView typography guard: avoid expanded numeric rendering on touch browsers. */
@media (hover: none) and (pointer: coarse) {
    html,
    body,
    body *:not(i):not([class^="ri-"]):not([class*=" ri-"]):not([class^="mdi-"]):not([class*=" mdi-"]):not([class^="bx-"]):not([class*=" bx-"]) {
        font-family: Arial, "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", Tahoma, sans-serif !important;
        font-kerning: auto !important;
        font-feature-settings: normal !important;
        font-variant-numeric: normal !important;
        font-stretch: normal !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
        text-rendering: auto !important;
    }

    body .fw-bold,
    body strong,
    body b,
    #usersList .fw-bold,
    #usersList .text-truncate.fw-bold {
        font-weight: 600 !important;
    }

    #usersList small,
    #usersList .text-end,
    .dataTable th,
    .dataTable td,
    .table th,
    .table td {
        font-weight: 400 !important;
    }
}
/* Message Centre More tray clickability: hidden reply preview must not sit above tray actions. */
body.cm-message-centre .replyCard:not(.show) {
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

body.cm-message-centre .replyCard.show {
    pointer-events: auto !important;
}

body.cm-message-centre #chatinputmorecollapse.cm-more-tray.show {
    position: relative !important;
    z-index: 60 !important;
    pointer-events: auto !important;
}

body.cm-message-centre #chatinputmorecollapse.cm-more-tray.show .card,
body.cm-message-centre #chatinputmorecollapse.cm-more-tray.show .card-body,
body.cm-message-centre #chatinputmorecollapse.cm-more-tray.show .cm-more-action,
body.cm-message-centre #chatinputmorecollapse.cm-more-tray.show .cm-more-file-action,
body.cm-message-centre #chatinputmorecollapse.cm-more-tray.show .cm-more-file-trigger {
    position: relative !important;
    z-index: 61 !important;
    pointer-events: auto !important;
}
/* Android hard font reset: prevents Android/WebView from expanding numeric-heavy text. */
html.cm-android,
html.cm-android body {
    --ct-font-sans-serif: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", Tahoma, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif !important;
    --ct-body-font-family: var(--ct-font-sans-serif) !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}

html.cm-android body,
html.cm-android body *:not(i):not([class^="ri-"]):not([class*=" ri-"]):not([class^="mdi-"]):not([class*=" mdi-"]):not([class^="bx-"]):not([class*=" bx-"]):not(.material-icons):not(.material-symbols-outlined) {
    font-family: var(--ct-font-sans-serif) !important;
    font-kerning: auto !important;
    font-feature-settings: normal !important;
    font-variant-numeric: normal !important;
    font-stretch: normal !important;
    font-optical-sizing: auto !important;
    text-rendering: auto !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
}

html.cm-android .fw-bold,
html.cm-android strong,
html.cm-android b,
html.cm-android #usersList .fw-bold,
html.cm-android #usersList .text-truncate.fw-bold,
html.cm-android .dataTable th,
html.cm-android .table th {
    font-weight: 600 !important;
}

html.cm-android #usersList small,
html.cm-android #usersList .text-end,
html.cm-android .dataTable td,
html.cm-android .table td,
html.cm-android .small,
html.cm-android small {
    font-weight: 400 !important;
}

html.cm-android #usersList .text-truncate,
html.cm-android #usersList .fw-bold,
html.cm-android .dataTable td,
html.cm-android .dataTable th,
html.cm-android .table td,
html.cm-android .table th,
html.cm-android .cm-body,
html.cm-android .cm-caption,
html.cm-android .msg,
html.cm-android input,
html.cm-android textarea,
html.cm-android button,
html.cm-android select {
    text-align-last: auto !important;
}
/* Android final numeric spacing guard */
html.cm-android,
html.cm-android body,
html.cm-android body button,
html.cm-android body input,
html.cm-android body select,
html.cm-android body textarea,
html.cm-android body .btn,
html.cm-android body .badge,
html.cm-android body .form-control,
html.cm-android body .form-select,
html.cm-android body .dropdown-menu,
html.cm-android body .modal,
html.cm-android body .card,
html.cm-android body .table,
html.cm-android body .table th,
html.cm-android body .table td,
html.cm-android body .dataTable,
html.cm-android body .dataTable th,
html.cm-android body .dataTable td,
html.cm-android body .dt-container,
html.cm-android body .dataTables_wrapper,
html.cm-android body .leftside-menu,
html.cm-android body .navbar-custom,
html.cm-android body .page-title-box,
html.cm-android body .settings-page,
html.cm-android body .system-settings,
html.cm-android body #settings,
html.cm-android body #leads,
html.cm-android body #view,
html.cm-android body #data,
html.cm-android body.cm-message-centre #usersList,
html.cm-android body.cm-message-centre #usersList a,
html.cm-android body.cm-message-centre #usersList h5,
html.cm-android body.cm-message-centre #usersList p,
html.cm-android body.cm-message-centre #usersList span,
html.cm-android body.cm-message-centre #usersList small,
html.cm-android body.cm-message-centre #usersList .text-truncate,
html.cm-android body.cm-message-centre #usersList .text-end,
html.cm-android body.cm-message-centre #usersList .fw-bold,
html.cm-android body.cm-message-centre .cm-body,
html.cm-android body.cm-message-centre .cm-caption,
html.cm-android body.cm-message-centre .msg,
html.cm-android body.cm-message-centre #chat-input {
    font-family: Arial, Helvetica, "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", sans-serif !important;
    font-variant: normal !important;
    font-feature-settings: normal !important;
    font-kerning: normal !important;
    font-variant-numeric: normal !important;
    font-stretch: normal !important;
    font-optical-sizing: auto !important;
    text-rendering: optimizeLegibility !important;
    text-justify: auto !important;
    text-align-last: auto !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}

html.cm-android body.cm-message-centre #usersList a,
html.cm-android body.cm-message-centre #usersList h5,
html.cm-android body.cm-message-centre #usersList p,
html.cm-android body.cm-message-centre #usersList span,
html.cm-android body.cm-message-centre #usersList small,
html.cm-android body.cm-message-centre #usersList .text-truncate,
html.cm-android body.cm-message-centre #usersList .fw-bold,
html.cm-android body .dataTable th,
html.cm-android body .dataTable td,
html.cm-android body .table th,
html.cm-android body .table td,
html.cm-android body .form-label,
html.cm-android body .form-control,
html.cm-android body .form-select,
html.cm-android body .settings-page,
html.cm-android body .system-settings {
    text-align: start !important;
}

html.cm-android body.cm-message-centre #usersList .text-end,
html.cm-android body .text-end {
    text-align: right !important;
}

/* Android WebView: keep mixed names/dates/phone numbers compact across the whole CRM.
   Do not target icon-only <i> tags, as those rely on icon fonts. */
html.cm-android {
    --ct-font-sans-serif: Roboto, "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", system-ui, sans-serif;
    --ct-body-font-family: var(--ct-font-sans-serif);
}

html.cm-android body,
html.cm-android body :where(div, p, span, a, small, strong, b, em, label, li, td, th, h1, h2, h3, h4, h5, h6, button, input, select, textarea, table, caption, .btn, .badge, .form-control, .form-select, .dropdown-item, .side-nav-link, .text-truncate, .page-title, .card, .modal, .table, .dataTable, .dataTables_wrapper, .dt-container) {
    font-family: Roboto, "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", system-ui, sans-serif !important;
    font-feature-settings: normal !important;
    font-kerning: normal !important;
    font-optical-sizing: auto !important;
    font-stretch: normal !important;
    font-variant: normal !important;
    font-variant-ligatures: normal !important;
    font-variant-numeric: proportional-nums !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-rendering: auto !important;
    text-justify: auto !important;
    text-align-last: auto !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}

html.cm-android body .text-end,
html.cm-android body :where(.text-end, .text-end small, .text-end span) {
    text-align: right !important;
}

html.cm-android [class^="ri-"],
html.cm-android [class*=" ri-"] {
    font-family: remixicon !important;
}

html.cm-android [class^="mdi-"],
html.cm-android [class*=" mdi-"] {
    font-family: "Material Design Icons" !important;
}

html.cm-android [class^="bx-"],
html.cm-android [class*=" bx-"] {
    font-family: boxicons !important;
}

.cm-linked-contact-icon.cm-linked-contact-svg {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 4px;
    vertical-align: -2px;
    color: #64748b;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
