﻿/* <copyright file="conexgo-responsive.css" company="Laxson Solutions">
 * Laxson Solutions Development Team
 *
 * Description:
 * Defines responsive layout, navigation, table, dialog, and mobile behavior for the Conexgo
 * UI.
 * </copyright> */

/* Historical source boundaries are retained for reviewability. */

/* --------------------------------------------------------------------------
   1) ROW-ACTION POPUP MENUS
   A simple flat hover is intentional. No pseudo-layer, no translate/lift,
   no gradient and no shape/diagonal animation.
   -------------------------------------------------------------------------- */

html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show
.dropdown-item,
html body.cx-design-system
.conexgo-pagedlist-table
.dropdown-menu.show
.dropdown-item,
html body.cx-design-system
.account-list-cell-name
.dropdown-menu.show
.dropdown-item,
html body.cx-design-system
.table-responsive
.dropdown-menu.show
.dropdown-item {
    background-image: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    box-shadow: none !important;
    transition:
        background-color 90ms ease-out,
        color 90ms ease-out !important;
}

/* Mouse hover: subtle and stable. */
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show
.dropdown-item:hover,
html body.cx-design-system
.conexgo-pagedlist-table
.dropdown-menu.show
.dropdown-item:hover,
html body.cx-design-system
.account-list-cell-name
.dropdown-menu.show
.dropdown-item:hover,
html body.cx-design-system
.table-responsive
.dropdown-menu.show
.dropdown-item:hover {
    background: #f1f6fa !important;
    background-color: #f1f6fa !important;
    background-image: none !important;
    border-color: transparent !important;
    color: #294b68 !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    box-shadow: none !important;
}

/* Click / mouse focus remains stable as well. */
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show
.dropdown-item:active,
html body.cx-design-system
.conexgo-pagedlist-table
.dropdown-menu.show
.dropdown-item:active,
html body.cx-design-system
.account-list-cell-name
.dropdown-menu.show
.dropdown-item:active,
html body.cx-design-system
.table-responsive
.dropdown-menu.show
.dropdown-item:active,
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show
.dropdown-item:focus:not(:focus-visible),
html body.cx-design-system
.conexgo-pagedlist-table
.dropdown-menu.show
.dropdown-item:focus:not(:focus-visible),
html body.cx-design-system
.account-list-cell-name
.dropdown-menu.show
.dropdown-item:focus:not(:focus-visible),
html body.cx-design-system
.table-responsive
.dropdown-menu.show
.dropdown-item:focus:not(:focus-visible) {
    background: #f1f6fa !important;
    background-color: #f1f6fa !important;
    background-image: none !important;
    border-color: transparent !important;
    color: #294b68 !important;
    outline: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    box-shadow: none !important;
}

/* Kill legacy decorative layers responsible for the strange diagonal effect. */
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show
.dropdown-item::before,
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show
.dropdown-item::after,
html body.cx-design-system
.conexgo-pagedlist-table
.dropdown-menu.show
.dropdown-item::before,
html body.cx-design-system
.conexgo-pagedlist-table
.dropdown-menu.show
.dropdown-item::after,
html body.cx-design-system
.account-list-cell-name
.dropdown-menu.show
.dropdown-item::before,
html body.cx-design-system
.account-list-cell-name
.dropdown-menu.show
.dropdown-item::after,
html body.cx-design-system
.table-responsive
.dropdown-menu.show
.dropdown-item::before,
html body.cx-design-system
.table-responsive
.dropdown-menu.show
.dropdown-item::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    background: transparent !important;
    background-image: none !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
    box-shadow: none !important;
}

/* Keyboard accessibility stays visible but restrained. */
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show
.dropdown-item:focus-visible,
html body.cx-design-system
.conexgo-pagedlist-table
.dropdown-menu.show
.dropdown-item:focus-visible,
html body.cx-design-system
.account-list-cell-name
.dropdown-menu.show
.dropdown-item:focus-visible,
html body.cx-design-system
.table-responsive
.dropdown-menu.show
.dropdown-item:focus-visible {
    background: #f1f6fa !important;
    background-image: none !important;
    color: #294b68 !important;
    outline: 1px solid rgba(62, 106, 153, .28) !important;
    outline-offset: -2px !important;
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
}

@media (min-width: 1200px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid.cx-r1817-masonry-ready,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-content-grid.cx-r1817-masonry-ready {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: 8px !important;
        grid-auto-flow: dense !important;
        gap: 16px !important;
        align-items: start !important;
        align-content: start !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        position: relative !important;
        overflow: visible !important;
        column-count: initial !important;
        columns: auto !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid
    > .conexgo-dashboard-smart-item,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid.cx-r1817-masonry-ready
    > .conexgo-dashboard-smart-item,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-content-grid.cx-r1817-masonry-ready
    > .conexgo-dashboard-smart-item {
        display: block !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        inset: auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        visibility: visible !important;
        transform: none !important;
        translate: none !important;
        transition: none !important;
        will-change: auto !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item
    > .card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        transform: none !important;
        translate: none !important;
    }

    /* One real DOM card may use the complete row. The JS also handles the
       one-visible-card case when role/data conditions hide siblings. */
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item:only-child {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 1199.98px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid.cx-r1817-masonry-ready,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.conexgo-dashboard-content-grid.cx-r1817-masonry-ready {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
        grid-auto-flow: row !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        position: relative !important;
        overflow: visible !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        inset: auto !important;
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        transform: none !important;
        translate: none !important;
        transition: none !important;
    }
}

/* Avoid huge stale white zones after a card is collapsed/hidden. */
html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item:has(> .conexgo-dashboard-minimized-card),
html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item:has(> .conexgo-dashboard-card-closing) {
    min-height: 0 !important;
    height: auto !important;
}

/* Card shells should never stretch just because a neighboring card is taller. */
html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item
> .conexgo-dashboard-resizable-card {
    align-self: start !important;
}

/* --------------------------------------------------------------------------
   3) COMPACT DASHBOARD REFLOW FEEDBACK
   No animation on the card geometry itself. This prevents the visual "jump"
   when collapsing/expanding or when data arrives after render.
   -------------------------------------------------------------------------- */
html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-smart-item,
html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-resizable-card {
    transition-property:
        background-color,
        border-color,
        box-shadow,
        color,
        opacity !important;
}

/* 1) Header notification count: same geometry as AlertQueue.
   Semantic notification tone remains intact; only the bubble contract is unified. */
html body.cx-design-system
:is(
    .conexgo-notification-trigger .conexgo-notification-badge,
    .conexgo-alert-trigger .alertqueue-badge
) {
    position: absolute !important;
    top: -9px !important;
    right: -9px !important;
    min-width: 24px !important;
    height: 24px !important;
    padding: 0 6px !important;
    border: 0 !important;
    border-radius: 999px !important;
    display: inline-grid !important;
    place-items: center !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    box-shadow: 0 0 0 2px #fff !important;
    transform: none !important;
    z-index: 8 !important;
}

/* 2) Dashboard alert rows become real interactive destinations. */
html body.cx-design-system
.conexgo-dashboard-latest-item--interactive {
    cursor: pointer !important;
    border-radius: 7px !important;
    transition:
        background-color 100ms ease-out,
        box-shadow 100ms ease-out !important;
}

html body.cx-design-system
.conexgo-dashboard-latest-item--interactive:hover {
    background: #f1f6fa !important;
    box-shadow: inset 3px 0 0 rgba(62, 106, 153, .34) !important;
}

html body.cx-design-system
.conexgo-dashboard-latest-item--interactive:focus-visible {
    outline: 2px solid rgba(62, 106, 153, .45) !important;
    outline-offset: -2px !important;
    background: #f1f6fa !important;
}

/* 3) Resize handles: keep the functionality, remove the permanent little
   floating squares visible between neighboring cards. */
html body.cx-design-system
#conexgoDashboardSmartGrid
.cx-dashboard-resize-handle-r1817 {
    width: 17px !important;
    height: 17px !important;
    right: 6px !important;
    bottom: 6px !important;
    border-radius: 5px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    box-shadow: 0 1px 3px rgba(31, 62, 89, .08) !important;
    transition:
        opacity 100ms ease-out,
        background-color 100ms ease-out,
        border-color 100ms ease-out !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-resizable-card:hover
> .cx-dashboard-resize-handle-r1817,
html body.cx-design-system
#conexgoDashboardSmartGrid
.cx-dashboard-resize-handle-r1817:focus-visible,
html body.cx-design-system
#conexgoDashboardSmartGrid
.cx-dashboard-resize-handle-r1817:active {
    opacity: .74 !important;
    pointer-events: auto !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
.cx-dashboard-resize-handle-r1817:hover,
html body.cx-design-system
#conexgoDashboardSmartGrid
.cx-dashboard-resize-handle-r1817:focus-visible {
    opacity: 1 !important;
    background: #edf4f8 !important;
    border-color: #93adc1 !important;
    transform: none !important;
}

/* Keep a small invisible hit area available at the card bottom-right.
   The handle becomes visible as soon as the card itself is hovered. */
html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-resizable-card:hover
> .cx-dashboard-resize-handle-r1817 {
    pointer-events: auto !important;
}

/* 4) Alert Answer emergency buttons: compact but still easy to hit. */
html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-action-row {
    gap: 9px !important;
    margin: 12px 0 10px !important;
}

html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-toggle {
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 7px 12px !important;
    border-radius: 8px !important;
    gap: 7px !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
    box-shadow: 0 1px 3px rgba(31, 59, 82, .05) !important;
}

html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-toggle i {
    font-size: 13px !important;
}

html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-toggle.has-data {
    position: relative !important;
    overflow: visible !important;
}

html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-toggle.has-data::after {
    content: "";
    position: absolute;
    top: -5px;
    right: -5px;
    width: 11px;
    height: 11px;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 1px 4px rgba(25, 54, 78, .18);
    pointer-events: none;
}

html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-toggle-danger.has-data::after {
    background: #d94b55;
}

html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-toggle-info.has-data::after {
    background: #3e6a99;
}

@media (max-width: 575.98px) {
    html body.cx-design-system
    .cx-dialog--alert-answer
    .alert-answer-toggle {
        min-height: 40px !important;
        padding: 8px 11px !important;
    }
}

/* 6) Alert maps are collapsible in View and Answer. */
html body.cx-design-system
:is(.alert-answer-map-wrap, .alert-view-map-wrap) {
    border: 1px solid #c9d8e5 !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    background: #fff !important;
}

html body.cx-design-system
:is(.alert-answer-map-toolbar, .alert-view-map-toolbar) {
    min-height: 48px !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    background: #fbfcfd !important;
    border-bottom: 1px solid #e1e8ee !important;
}

html body.cx-design-system
:is(.alert-answer-map-wrap, .alert-view-map-wrap).is-collapsed
:is(.alert-answer-map-toolbar, .alert-view-map-toolbar) {
    border-bottom-color: transparent !important;
}

html body.cx-design-system
:is(.alert-answer-map-toggle, .alert-view-map-toggle) {
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid #bfd0df !important;
    border-radius: 8px !important;
    background: #f4f8fb !important;
    color: #315a7b !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    box-shadow: none !important;
}

html body.cx-design-system
:is(.alert-answer-map-toggle, .alert-view-map-toggle):hover {
    background: #eaf2f7 !important;
    border-color: #9fb9cc !important;
    transform: none !important;
}

html body.cx-design-system
:is(.alert-answer-map-toggle, .alert-view-map-toggle) i {
    transition: transform .30s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system
:is(.alert-answer-map-toggle, .alert-view-map-toggle) i.is-expanded {
    transform: rotate(180deg) !important;
}

html body.cx-design-system
.alert-view-map-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.cx-design-system
:is(.alert-answer-map-empty, .alert-view-map-empty) {
    min-height: 92px !important;
    padding: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    color: #6a7d8f !important;
    background: #f6f8fa !important;
    font-size: 14px !important;
    text-align: center !important;
}

html body.cx-design-system
:is(.alert-answer-map-empty, .alert-view-map-empty) i {
    color: #6687a1 !important;
}

html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-map-canvas {
    min-height: 320px !important;
    height: 320px !important;
}

html body.cx-design-system
.cx-dialog--alert-view
.alert-view-map-canvas {
    min-height: 320px !important;
    height: 320px !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system
    :is(
        .cx-dialog--alert-answer .alert-answer-map-canvas,
        .cx-dialog--alert-view .alert-view-map-canvas
    ) {
        min-height: 250px !important;
        height: 250px !important;
    }

    html body.cx-design-system
    :is(.alert-answer-map-empty, .alert-view-map-empty) {
        min-height: 76px !important;
        padding: 14px !important;
    }
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-action.is-answer {
    min-width: 82px !important;
    height: 38px !important;
    padding: 0 12px !important;
    border: 1px solid #63b536 !important;
    border-radius: 8px !important;
    background: #75c943 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 8px rgba(67, 133, 39, .16) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    transform: none !important;
    transition:
        background-color 140ms ease,
        border-color 140ms ease,
        box-shadow 140ms ease !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-action.is-answer:hover,
html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-action.is-answer:focus-visible {
    background: #66b93a !important;
    border-color: #58a832 !important;
    box-shadow: 0 4px 10px rgba(67, 133, 39, .20) !important;
    color: #ffffff !important;
    transform: none !important;
    outline: none !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-action.is-answer:active {
    background: #5eae35 !important;
    box-shadow: 0 2px 5px rgba(67, 133, 39, .16) !important;
    transform: none !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-action.is-answer i {
    font-size: 13px !important;
    flex: 0 0 auto !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-action-label {
    display: inline-block;
    white-space: nowrap;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-card {
    scroll-margin-block: 10px;
}

@media (max-width: 520px) {
    html body.cx-design-system
    .conexgo-header-alerts
    .conexgo-alert-classic-action.is-answer {
        width: 40px !important;
        min-width: 40px !important;
        height: 36px !important;
        padding: 0 !important;
    }

    html body.cx-design-system
    .conexgo-header-alerts
    .conexgo-alert-classic-action-label {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system
    .conexgo-header-alerts
    .conexgo-alert-classic-action.is-answer {
        transition: none !important;
    }
}

/* Row action menus: fixed geometry and intentionally simple hover.
   No pseudo-wave, lift, transform, animation, or delayed relocation. */
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu),
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu).show {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
    will-change: auto !important;
    max-height: min(64vh, 560px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item > *,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item::before,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item::after {
    animation: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    text-shadow: none !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item {
    transition: background-color 90ms ease-out, color 90ms ease-out !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item::before,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item::after {
    content: none !important;
    display: none !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item:hover,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item:focus-visible,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item:active {
    background: #f1f6fa !important;
    color: #294b68 !important;
    box-shadow: none !important;
}

/* Dashboard: one layout engine only. Auto rows are a safe fallback even if JS
   fails; cards can never be squeezed into 8px tracks and overlap each other. */
@media (min-width: 1200px) {
    html body.cx-design-system #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid,
    html body.cx-design-system #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid.cx-r1817-masonry-ready,
    html body.cx-design-system #conexgoDashboardSmartGrid.conexgo-dashboard-content-grid.cx-r1817-masonry-ready {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-rows: auto !important;
        grid-auto-flow: row !important;
        gap: 16px !important;
        align-items: start !important;
        align-content: start !important;
        height: auto !important;
        min-height: 0 !important;
        position: relative !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item {
        display: block !important;
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        grid-row: auto !important;
        grid-column: auto !important;
        visibility: visible !important;
        transform: none !important;
        translate: none !important;
        transition: none !important;
        will-change: auto !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item:only-child {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 1199.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
        grid-auto-flow: row !important;
        gap: 12px !important;
        height: auto !important;
    }
}

/* Immediate collapse: no temporary 48px "closing" wave and no geometry tween. */
html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-smart-item,
html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-resizable-card,
html body.cx-design-system .conexgo-dashboard-configuration-card {
    animation: none !important;
}

html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-resizable-card.conexgo-dashboard-minimized-card,
html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card {
    resize: none !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r18189 {
    position: absolute !important;
    right: 7px !important;
    bottom: 7px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    border: 1px solid #9db4c7 !important;
    border-radius: 5px !important;
    background: #f4f8fb !important;
    cursor: ns-resize !important;
    z-index: 20 !important;
    opacity: .22 !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    transition: opacity 90ms ease-out, background-color 90ms ease-out !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card:hover > .cx-dashboard-resize-handle-r18189,
html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r18189:focus-visible,
html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r18189.is-resizing {
    opacity: .9 !important;
    background: #edf4f8 !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r18189::after {
    content: "";
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 7px;
    height: 7px;
    border-right: 2px solid #5f819b;
    border-bottom: 2px solid #5f819b;
    pointer-events: none;
}

/* Card/map headers are the click target, not only the tiny chevron. */
html body.cx-design-system :is(.alert-answer-map-toolbar, .alert-view-map-toolbar) {
    cursor: pointer !important;
    user-select: none !important;
}

/* Device deep-link feedback: subtle highlight, then a clean fade. */
html body.cx-design-system .conexgo-pagedlist-table tr.cx-device-focus-target > td {
    transition: background-color 650ms ease-out, box-shadow 650ms ease-out !important;
}

html body.cx-design-system .conexgo-pagedlist-table tr.cx-device-focus-visible > td {
    background: #eaf3fa !important;
    box-shadow: inset 4px 0 0 #3e6a99 !important;
}

/* Table readability: avoid tiny/over-compressed operational data. */
html body.cx-design-system :is(.conexgo-pagedlist-table, .conexgo-device-status-table) th {
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    vertical-align: middle !important;
}

html body.cx-design-system :is(.conexgo-pagedlist-table, .conexgo-device-status-table) td {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.38 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    vertical-align: middle !important;
}

html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-card-title {
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
}

/* AlertQueue scales up on control-room / high-resolution displays. */
@media (min-width: 1440px) {
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
        width: clamp(620px, 38vw, 760px) !important;
        max-width: calc(100vw - 48px) !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown-header--classic {
        min-height: 68px !important;
        padding: 13px 16px !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-header-title {
        font-size: 17px !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-header-meta,
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-time {
        font-size: 13px !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-list--classic {
        max-height: min(68vh, 720px) !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
        padding: 15px 18px !important;
        gap: 16px !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-title {
        font-size: 15.5px !important;
        line-height: 1.32 !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-device {
        font-size: 14.5px !important;
        line-height: 1.32 !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-assignment {
        font-size: 12.5px !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-assignment strong {
        font-size: 13.5px !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action {
        min-height: 42px !important;
        height: 42px !important;
        font-size: 13px !important;
    }

    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action.is-answer {
        min-width: 56px !important;
        width: auto !important;
        padding-inline: 14px !important;
    }
}

@media (min-width: 1600px) {
    html body.cx-design-system :is(.conexgo-pagedlist-table, .conexgo-device-status-table) td {
        font-size: 15px !important;
        line-height: 1.42 !important;
    }

    html body.cx-design-system :is(.conexgo-pagedlist-table, .conexgo-device-status-table) th {
        font-size: 13.5px !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-card-title {
        font-size: 16px !important;
    }
}

html body.cx-design-system .cx-dialog--alert-answer :is(.alert-answer-panel-danger, .alert-answer-panel-info) > div:not(.alert-answer-panel-title) {
    font-size: 14px !important;
    line-height: 1.58 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

@media (min-width: 1440px) {
    html body.cx-design-system .cx-dialog--alert-answer :is(.alert-answer-panel-danger, .alert-answer-panel-info) > div:not(.alert-answer-panel-title) {
        font-size: 15px !important;
        line-height: 1.62 !important;
    }
}

/* --------------------------------------------------------------------------
   1) ROW ACTION MENUS — COLOR CHANGE ONLY, NO MOTION/WAVE/FOCUS FLASH
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu),
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu).show,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item > *,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item::before,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    text-shadow: none !important;
    will-change: auto !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item::before,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item::after {
    content: none !important;
    display: none !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item {
    background-image: none !important;
    box-shadow: none !important;
    outline: none !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item {
    transition: background-color .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item:hover,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item:focus:not(:focus-visible),
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item:active {
    background: #f0f5f9 !important;
    color: #294b68 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu)
.dropdown-item:focus-visible {
    background: #f0f5f9 !important;
    color: #294b68 !important;
    outline: 1px solid rgba(62, 106, 153, .28) !important;
    outline-offset: -2px !important;
    box-shadow: none !important;
}

/* Notification Add keeps its current primary color when dialog focus returns to the trigger. */
html body.cx-design-system .cx-notification-page-header .cx-page-action--primary:focus:not(:focus-visible) {
    background: var(--cx-blue) !important;
    border-color: var(--cx-blue) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

/* --------------------------------------------------------------------------
   2) DASHBOARD — ONE MASONRY ENGINE, TWO INDEPENDENT VERTICAL COLUMNS
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid.cx-r181812-masonry-ready {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        align-content: initial !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid.cx-r181812-masonry-ready
    > .conexgo-dashboard-smart-item {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        min-width: 0 !important;
        height: auto !important;
        grid-row: auto !important;
        grid-column: auto !important;
        transition: none !important;
        animation: none !important;
        transform: none !important;
        translate: none !important;
        will-change: auto !important;
    }
}

@media (max-width: 1199.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
        gap: 12px !important;
        height: auto !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item {
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        max-width: none !important;
    }
}

/* Keep card collapse/reflow immediate and predictable. */
html body.cx-design-system
#conexgoDashboardSmartGrid :is(.conexgo-dashboard-smart-item, .conexgo-dashboard-resizable-card),
html body.cx-design-system .conexgo-dashboard-configuration-card {
    animation: none !important;
    transition-property: background-color, border-color, color, box-shadow !important;
}

/* --------------------------------------------------------------------------
   3) RESIZE GRIP — ALWAYS VISIBLE ON EXPANDED DESKTOP CARDS
   -------------------------------------------------------------------------- */
html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812 {
    position: absolute !important;
    right: 7px !important;
    bottom: 7px !important;
    width: 21px !important;
    height: 21px !important;
    min-width: 21px !important;
    min-height: 21px !important;
    padding: 0 !important;
    display: block !important;
    border: 1px solid #91aabd !important;
    border-radius: 6px !important;
    background: rgba(247, 250, 252, .96) !important;
    color: #557792 !important;
    cursor: ns-resize !important;
    z-index: 30 !important;
    opacity: .82 !important;
    pointer-events: auto !important;
    box-shadow: 0 1px 3px rgba(41, 75, 104, .10) !important;
    transform: none !important;
    transition: none !important;
}

html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812::before,
html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812::after {
    content: "" !important;
    position: absolute !important;
    pointer-events: none !important;
    border-right: 2px solid #5d7e98 !important;
    border-bottom: 2px solid #5d7e98 !important;
}

html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812::before {
    right: 4px !important;
    bottom: 4px !important;
    width: 8px !important;
    height: 8px !important;
}

html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812::after {
    right: 7px !important;
    bottom: 7px !important;
    width: 4px !important;
    height: 4px !important;
    opacity: .72 !important;
}

html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812:hover,
html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812:focus-visible,
html body.cx-design-system
.conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812.is-resizing {
    opacity: 1 !important;
    background: #edf4f8 !important;
    border-color: #6f91aa !important;
    outline: 2px solid rgba(62, 106, 153, .18) !important;
    outline-offset: 1px !important;
}

html body.cx-design-system
.conexgo-dashboard-resizable-card.conexgo-dashboard-minimized-card
> .cx-dashboard-resize-handle-r181812 {
    display: none !important;
}

@media (max-width: 1199.98px) {
    html body.cx-design-system
    .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181812 {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------
   4) DEEP-LINK DEVICE FOCUS — ONE LEFT ACCENT, NOT A BLUE BAR PER CELL
   -------------------------------------------------------------------------- */
html body.cx-design-system
.conexgo-pagedlist-table tr.cx-device-focus-target > td {
    transition: background-color 700ms ease-out, border-color 700ms ease-out !important;
}

html body.cx-design-system
.conexgo-pagedlist-table tr.cx-device-focus-visible > td {
    background: #f1f6fa !important;
    border-top-color: #c9dbe8 !important;
    border-bottom-color: #c9dbe8 !important;
    box-shadow: none !important;
}

html body.cx-design-system
.conexgo-pagedlist-table tr.cx-device-focus-visible > td:first-child {
    box-shadow: inset 4px 0 0 #3e6a99 !important;
}

html body.cx-design-system
.conexgo-pagedlist-table tr.cx-device-focus-visible
:is(.device-list-name-button, .device-list-action-toggle) {
    border-color: #91afc6 !important;
}

/* --------------------------------------------------------------------------
   5) TABLE READABILITY — DO NOT BREAK WORDS AT ARBITRARY CHARACTERS
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(.conexgo-pagedlist-table, .conexgo-device-status-table) th,
html body.cx-design-system
:is(.conexgo-pagedlist-table, .conexgo-device-status-table) td {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    text-wrap: pretty;
}

html body.cx-design-system
:is(.conexgo-pagedlist-table, .conexgo-device-status-table) th {
    line-height: 1.25 !important;
    vertical-align: middle !important;
}

html body.cx-design-system
:is(.conexgo-pagedlist-table, .conexgo-device-status-table) td {
    line-height: 1.42 !important;
    vertical-align: top !important;
}

/* Alert table: reserve enough width for the columns operators actually read. */
html body.cx-design-system .alert-list-card .bstable-actions {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    vertical-align: middle !important;
}

html body.cx-design-system .alert-list-card .alert-list-alert-cell {
    width: 240px !important;
    min-width: 220px !important;
    max-width: 300px !important;
    font-weight: 590 !important;
    line-height: 1.38 !important;
}

html body.cx-design-system .alert-list-card .alert-list-datetime-cell {
    width: 168px !important;
    min-width: 168px !important;
    white-space: nowrap !important;
    vertical-align: top !important;
}

html body.cx-design-system .alert-list-card .alert-list-device-cell {
    min-width: 310px !important;
    line-height: 1.4 !important;
}

html body.cx-design-system
.alert-list-card .alert-list-customer-cell-container {
    min-width: 245px !important;
    line-height: 1.38 !important;
}

html body.cx-design-system .alert-list-card .alert-list-comment-cell {
    min-width: 175px !important;
    line-height: 1.4 !important;
}

html body.cx-design-system
.alert-list-card .alert-list-device-name,
html body.cx-design-system
.alert-list-card .alert-list-callcenter,
html body.cx-design-system
.device-list-table-shell .device-list-name-text {
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

@media (min-width: 1600px) {
    html body.cx-design-system
    :is(.conexgo-pagedlist-table, .conexgo-device-status-table) td {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }

    html body.cx-design-system
    :is(.conexgo-pagedlist-table, .conexgo-device-status-table) th {
        font-size: 13.5px !important;
    }
}

/* --------------------------------------------------------------------------
   6) HEADER ALERT QUEUE — SUBDUED PROFESSIONAL GREEN ANSWER BUTTON
   -------------------------------------------------------------------------- */
html body.cx-design-system
.conexgo-header-alerts .conexgo-alert-classic-action.is-answer,
html body.cx-design-system
.conexgo-header-alerts .conexgo-alert-classic-action.is-answer > * {
    color: #ffffff !important;
}

html body.cx-design-system
.conexgo-header-alerts .conexgo-alert-classic-action.is-answer {
    min-width: 86px !important;
    height: 38px !important;
    padding: 0 12px !important;
    border: 1px solid #527a5b !important;
    border-radius: 6px !important;
    background: #638b6b !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    transform: none !important;
    transition: none !important;
}

html body.cx-design-system
.conexgo-header-alerts .conexgo-alert-classic-action.is-answer:hover,
html body.cx-design-system
.conexgo-header-alerts .conexgo-alert-classic-action.is-answer:focus-visible {
    background: #587f61 !important;
    border-color: #496e52 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system
.conexgo-header-alerts .conexgo-alert-classic-action.is-answer:focus-visible {
    outline: 2px solid rgba(82, 122, 91, .24) !important;
    outline-offset: 2px !important;
}

html body.cx-design-system
.conexgo-header-alerts .conexgo-alert-classic-action.is-answer:active {
    background: #4f7458 !important;
    border-color: #45664d !important;
    box-shadow: none !important;
}

@media (min-width: 1440px) {
    html body.cx-design-system
    .conexgo-header-alerts .conexgo-alert-classic-action.is-answer {
        min-width: 94px !important;
        height: 42px !important;
        padding-inline: 14px !important;
        font-size: 13.5px !important;
    }
}

@media (max-width: 520px) {
    html body.cx-design-system
    .conexgo-header-alerts .conexgo-alert-classic-action.is-answer {
        width: 40px !important;
        min-width: 40px !important;
        height: 36px !important;
        padding: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   7) BROWSER NOTIFICATION FEEDBACK — NEVER CLIPPED BY HEADER CONTAINERS
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-header-status-result {
    position: fixed !important;
    top: 88px !important;
    right: 24px !important;
    left: auto !important;
    width: min(360px, calc(100vw - 32px)) !important;
    z-index: 12050 !important;
    animation: none !important;
    transform: none !important;
}

html body.cx-design-system .cx-header-status-result::before {
    display: none !important;
}

html body.cx-design-system .conexgo-notification-overlay {
    z-index: 12100 !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system .cx-header-status-result {
        top: 78px !important;
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
    }
}

html body.cx-design-system
:is(
    .device-list-action-group,
    .conexgo-row-action-group,
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .device-list-name-button,
    .account-list-name-button,
    .device-list-action-toggle,
    .conexgo-row-action-toggle
),
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu) *,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu).show,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu).show * {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
    will-change: auto !important;
}

html body.cx-design-system
:is(.device-list-name-button, .account-list-name-button) {
    box-shadow: none !important;
}

html body.cx-design-system
:is(.device-list-name-button, .account-list-name-button):hover {
    background: #f5f9fc !important;
    border-color: #bfd3e2 !important;
    color: #244963 !important;
    box-shadow: none !important;
}

html body.cx-design-system
:is(.device-list-action-toggle, .conexgo-row-action-toggle) {
    box-shadow: none !important;
}

html body.cx-design-system
:is(.device-list-action-toggle, .conexgo-row-action-toggle):hover,
html body.cx-design-system
:is(.device-list-action-toggle, .conexgo-row-action-toggle)[aria-expanded="true"] {
    background: #356887 !important;
    border-color: #356887 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu),
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu).show {
    margin: 0 !important;
    padding: 5px !important;
    border: 1px solid #c8d8e5 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 20px rgba(29, 59, 82, .11) !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #294b68 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:hover,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:focus,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:focus-visible,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:active {
    border: 0 !important;
    background: #eaf3f8 !important;
    color: #244963 !important;
    box-shadow: none !important;
    outline: 0 !important;
}

@media (min-width: 768px) {
    html body.cx-design-system
    :is(.device-list-action-group, .conexgo-row-action-group) {
        position: relative !important;
        overflow: visible !important;
    }

    html body.cx-design-system
    :is(.device-list-action-group, .conexgo-row-action-group)
    > :is(.device-list-action-menu, .conexgo-row-action-menu),
    html body.cx-design-system
    :is(.device-list-action-group, .conexgo-row-action-group)
    > :is(.device-list-action-menu, .conexgo-row-action-menu).show {
        position: absolute !important;
        inset: calc(100% + 5px) 0 auto 0 !important;
        top: calc(100% + 5px) !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        z-index: 12000 !important;
    }

    html body.cx-design-system
    :is(.device-list-action-group, .conexgo-row-action-group).cx-row-menu-open-above
    > :is(.device-list-action-menu, .conexgo-row-action-menu),
    html body.cx-design-system
    :is(.device-list-action-group, .conexgo-row-action-group).cx-row-menu-open-above
    > :is(.device-list-action-menu, .conexgo-row-action-menu).show {
        inset: auto 0 calc(100% + 5px) 0 !important;
        top: auto !important;
        right: 0 !important;
        bottom: calc(100% + 5px) !important;
        left: 0 !important;
    }

    html body.cx-design-system
    :is(.device-list-action-menu, .conexgo-row-action-menu).cx-r181818-row-menu-scrollable {
        max-height: var(--cx-r181818-row-menu-max-height, 430px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        scrollbar-gutter: stable !important;
        scrollbar-width: thin !important;
    }
}

/* 1) Header notification bell: same contained action language as the alert icon. */
html body.cx-design-system .app-header-modern .conexgo-header-notifications {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger {
    position: relative !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d9e4ec !important;
    border-radius: 999px !important;
    background: #f8fbfd !important;
    box-shadow: 0 1px 2px rgba(29, 61, 88, .035) !important;
    color: #2f5a7c !important;
    transform: none !important;
    translate: none !important;
    transition: background-color .12s ease, border-color .12s ease !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger:hover,
html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger:focus-visible,
html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger:active,
html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger[aria-expanded="true"] {
    background: #f8fbfd !important;
    border-color: #cbd8e4 !important;
    color: #2f5a7c !important;
    box-shadow: 0 3px 9px rgba(44, 76, 108, .08) !important;
    transform: none !important;
    translate: none !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger.is-empty {
    border-color: #dfe5e9 !important;
    background: #f4f6f8 !important;
    color: #8c98a2 !important;
    box-shadow: none !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger.is-empty > .conexgo-notification-bell {
    color: #8c98a2 !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger.is-empty:hover,
html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger.is-empty:focus-visible,
html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger.is-empty:active,
html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-trigger.is-empty[aria-expanded="true"] {
    border-color: #dfe5e9 !important;
    background: #f4f6f8 !important;
    color: #8c98a2 !important;
    box-shadow: 0 2px 7px rgba(44, 76, 108, .05) !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-bell {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1 !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-notifications .conexgo-notification-badge {
    top: -7px !important;
    right: -8px !important;
}

/* 2) Operator alert queue: account context is information, not assignment. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-account-context {
    margin-top: 9px !important;
    padding-top: 9px !important;
    border-top: 1px solid #e3e9ee !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-account-context > span {
    color: #718297 !important;
    font-size: 12px !important;
    font-weight: 560 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-account-context > strong {
    display: block !important;
    margin-top: 2px !important;
    color: #294f71 !important;
    line-height: 1.25 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* 3) Dashboard: dense shortest-column masonry and no artificial page/grid height. */
@media (min-width: 1200px) {
    html body.cx-design-system #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid,
    html body.cx-design-system #conexgoDashboardSmartGrid.conexgo-dashboard-content-grid,
    html body.cx-design-system #conexgoDashboardSmartGrid.cx-r181814-masonry-ready {
        display: block !important;
        align-content: start !important;
        min-height: 0 !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
        padding-bottom: 0 !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid.cx-r181814-masonry-ready > .conexgo-dashboard-smart-item {
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.cx-design-system .conexgo-dashboard-configuration-row {
        margin-bottom: 8px !important;
    }
}

/* 4) Persistent resize grip: visible for Master/Distributor/Operator/Customer alike. */
html body.cx-design-system .conexgo-dashboard-resizable-card {
    position: relative !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814 {
    position: absolute !important;
    z-index: 14 !important;
    right: 7px !important;
    bottom: 7px !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    display: block !important;
    opacity: .95 !important;
    cursor: ns-resize !important;
    touch-action: none !important;
    border: 1px solid #9db6c9 !important;
    border-radius: 7px !important;
    background: rgba(246, 250, 252, .97) !important;
    box-shadow: 0 1px 3px rgba(31, 70, 102, .12) !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814::before,
html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814::after {
    content: "" !important;
    position: absolute !important;
    right: 4px !important;
    bottom: 4px !important;
    border-right: 2px solid #557d9a !important;
    border-bottom: 2px solid #557d9a !important;
    pointer-events: none !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814::before {
    width: 9px !important;
    height: 9px !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814::after {
    width: 4px !important;
    height: 4px !important;
    right: 8px !important;
    bottom: 8px !important;
    opacity: .72 !important;
}

html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814:hover,
html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814:focus-visible,
html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814.is-resizing {
    opacity: 1 !important;
    background: #edf5f9 !important;
    border-color: #6f94ad !important;
    outline: 2px solid rgba(62, 106, 153, .17) !important;
    outline-offset: 1px !important;
}

html body.cx-design-system .conexgo-dashboard-minimized-card > .cx-dashboard-resize-handle-r181814,
html body.cx-design-system .conexgo-dashboard-card-closing > .cx-dashboard-resize-handle-r181814 {
    display: none !important;
}

@media (max-width: 1199.98px) {
    html body.cx-design-system .conexgo-dashboard-resizable-card > .cx-dashboard-resize-handle-r181814 {
        display: none !important;
    }
}

/* 5) Dashboard navigation: every actionable surface reads as actionable, calmly. */
html body.cx-design-system .conexgo-dashboard-card-open-action {
    color: #eef6fb !important;
}

html body.cx-design-system .conexgo-dashboard-data-row--clickable,
html body.cx-design-system .conexgo-dashboard-trend-point[role="button"],
html body.cx-design-system .conexgo-device-status-table tbody tr[role="button"] {
    cursor: pointer !important;
}

html body.cx-design-system .conexgo-dashboard-data-row--clickable:hover,
html body.cx-design-system .conexgo-dashboard-data-row--clickable:focus-visible,
html body.cx-design-system .conexgo-device-status-table tbody tr[role="button"]:hover > td,
html body.cx-design-system .conexgo-device-status-table tbody tr[role="button"]:focus-visible > td {
    background-color: #f0f6fa !important;
}

html body.cx-design-system .conexgo-dashboard-data-row--clickable:focus-visible,
html body.cx-design-system .conexgo-device-status-table tbody tr[role="button"]:focus-visible {
    outline: 2px solid rgba(62, 106, 153, .34) !important;
    outline-offset: -2px !important;
}

/* 6) Deep-link focus: one restrained pulse on the destination, then disappear. */
@keyframes cx-r181814-focus-pulse {
    0% { box-shadow: inset 4px 0 0 #3e6a99, 0 0 0 0 rgba(62, 106, 153, .24); }
    45% { box-shadow: inset 4px 0 0 #3e6a99, 0 0 0 5px rgba(62, 106, 153, .11); }
    100% { box-shadow: inset 4px 0 0 #3e6a99, 0 0 0 0 rgba(62, 106, 153, 0); }
}

html body.cx-design-system tr.cx-deep-focus-visible > td,
html body.cx-design-system tr.cx-device-focus-target > td,
html body.cx-design-system tr.cx-alert-focus-target > td,
html body.cx-design-system tr.cx-dashboard-search-target > td {
    background-color: #edf5fa !important;
}

html body.cx-design-system .cx-deep-focus-visible {
    animation: cx-r181814-focus-pulse 1.15s ease-out 2 !important;
}

html body.cx-design-system tr.cx-deep-focus-visible > td:first-child,
html body.cx-design-system tr.cx-device-focus-target > td:first-child,
html body.cx-design-system tr.cx-alert-focus-target > td:first-child,
html body.cx-design-system tr.cx-dashboard-search-target > td:first-child {
    box-shadow: inset 4px 0 0 #3e6a99 !important;
}

/* 7) Alert list: readable operational columns without breaking words mid-token. */
html body.cx-design-system .alert-list-card .table-responsive,
html body.cx-design-system .alert-list-card .conexgo-pagedlist-table-wrap {
    overflow-x: auto !important;
}

html body.cx-design-system .alert-list-card table {
    min-width: 1460px !important;
    table-layout: auto !important;
}

html body.cx-design-system .alert-list-card :is(th, td) {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

html body.cx-design-system .alert-list-card .bstable-actions {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
}

html body.cx-design-system .alert-list-card .alert-list-alert-cell {
    width: 300px !important;
    min-width: 280px !important;
    max-width: 360px !important;
    white-space: normal !important;
    line-height: 1.4 !important;
    font-weight: 610 !important;
}

html body.cx-design-system .alert-list-card .cx-alert-description-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 7px !important;
}

html body.cx-design-system .alert-list-card .alert-list-datetime-cell {
    width: 215px !important;
    min-width: 215px !important;
    white-space: nowrap !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .alert-list-card .alert-list-device-cell {
    min-width: 360px !important;
    width: 390px !important;
}

html body.cx-design-system .alert-list-card .alert-list-customer-cell-container {
    min-width: 250px !important;
    width: 270px !important;
}

html body.cx-design-system .alert-list-card .alert-list-comment-cell {
    min-width: 245px !important;
    width: 280px !important;
    white-space: normal !important;
    line-height: 1.45 !important;
}

html body.cx-design-system .cx-alert-no-comment-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 25px !important;
    padding: 3px 8px !important;
    border: 1px solid #e1bf72 !important;
    border-radius: 999px !important;
    background: #fff8e8 !important;
    color: #795d20 !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
}

/* Avoid stale row/table transition effects when deep-linked. */
@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .cx-deep-focus-visible {
        animation: none !important;
    }
}

html body.cx-design-system .conexgo-dashboard-drilldown-row {
    cursor: pointer;
    border-radius: 9px;
    transition:
        background-color 120ms ease,
        box-shadow 120ms ease;
    transform: none !important;
}

html body.cx-design-system .conexgo-dashboard-drilldown-row:hover,
html body.cx-design-system .conexgo-dashboard-drilldown-row:focus-visible {
    background: rgba(49, 102, 143, .065) !important;
    box-shadow: inset 3px 0 0 rgba(49, 102, 143, .62);
    outline: none;
    transform: none !important;
}

html body.cx-design-system .conexgo-dashboard-drilldown-row .conexgo-dashboard-offline-device-link,
html body.cx-design-system .conexgo-dashboard-drilldown-row .conexgo-dashboard-ranked-title {
    cursor: pointer;
    text-decoration: none;
}

html body.cx-design-system .conexgo-dashboard-drilldown-row:focus-visible {
    box-shadow:
        inset 3px 0 0 rgba(49, 102, 143, .72),
        0 0 0 2px rgba(49, 102, 143, .12);
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .conexgo-dashboard-drilldown-row {
        transition: none !important;
    }
}

#conexgoDashboardSmartGrid {
    width: 100%;
    min-width: 0;
}

#conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item {
    min-width: 0;
    margin: 0 !important;
}

/* The JS runtime owns masonry geometry once ready. Before JS initializes, keep a
   stable two-column desktop fallback instead of flashing a full-width stack. */
@media (min-width: 900px) {
    #conexgoDashboardSmartGrid:not(.cx-r181817-masonry-ready):not(.cx-r181817-single-column) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: start !important;
        height: auto !important;
    }

    #conexgoDashboardSmartGrid.cx-r181817-masonry-ready {
        display: block !important;
        position: relative !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    #conexgoDashboardSmartGrid.cx-r181817-single-column {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
        height: auto !important;
    }

    /* Resize must be discoverable without hover on desktop. */
    .conexgo-dashboard-resizable-card:not(.conexgo-dashboard-minimized-card) > .cx-dashboard-resize-handle-r181817 {
        position: absolute !important;
        right: 8px !important;
        bottom: 7px !important;
        z-index: 8 !important;
        width: 28px !important;
        height: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #b8cde0 !important;
        border-radius: 8px !important;
        background: rgba(246, 250, 253, .96) !important;
        color: #416b8f !important;
        opacity: 1 !important;
        visibility: visible !important;
        cursor: ns-resize !important;
        box-shadow: 0 2px 6px rgba(37, 65, 91, .08) !important;
        transform: none !important;
        transition: border-color .12s ease, background-color .12s ease !important;
    }

    .conexgo-dashboard-resizable-card:not(.conexgo-dashboard-minimized-card) > .cx-dashboard-resize-handle-r181817::before {
        content: "";
        width: 10px;
        height: 10px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        opacity: .8;
    }

    .conexgo-dashboard-resizable-card:not(.conexgo-dashboard-minimized-card) > .cx-dashboard-resize-handle-r181817:hover,
    .conexgo-dashboard-resizable-card:not(.conexgo-dashboard-minimized-card) > .cx-dashboard-resize-handle-r181817:focus-visible {
        border-color: #7fa6c7 !important;
        background: #eef5fa !important;
        outline: none !important;
    }
}

@media (max-width: 899.98px) {
    #conexgoDashboardSmartGrid,
    #conexgoDashboardSmartGrid.cx-r181817-masonry-ready,
    #conexgoDashboardSmartGrid.cx-r181817-single-column {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
        height: auto !important;
        position: static !important;
    }

    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        transform: none !important;
    }

    .cx-dashboard-resize-handle-r181817 {
        display: none !important;
    }
}

/* Shared exact-target cue used by Device_List / Alert_List drill-downs. */
.cx-deep-focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid rgba(58, 111, 158, .58) !important;
    outline-offset: -2px;
    background: rgba(221, 237, 249, .72) !important;
    box-shadow: 0 0 0 4px rgba(58, 111, 158, .10) !important;
}

@media (prefers-reduced-motion: reduce) {
    .cx-deep-focus-visible {
        scroll-behavior: auto;
    }
}

/* --------------------------------------------------------------------------
   Header profile: same contained circular action language as notification,
   alert and server controls. Avatar remains the user's identity cue.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.conexgo-header-profile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
}

html body.cx-design-system
.conexgo-header-profile
> a.nav-link {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    border: 1px solid #d6e3ed !important;
    border-radius: 999px !important;
    background: #f8fbfd !important;
    color: #2c4c6c !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}

html body.cx-design-system
.conexgo-header-profile
> a.nav-link:hover,
html body.cx-design-system
.conexgo-header-profile
> a.nav-link:focus-visible,
html body.cx-design-system
.conexgo-header-profile.show
> a.nav-link {
    border-color: #bfd4e3 !important;
    background: #eef5fa !important;
    outline: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system
.conexgo-header-profile
> a.nav-link
> span {
    display: none !important;
}

html body.cx-design-system
.conexgo-header-profile
> a.nav-link
img.profile-user {
    width: 36px !important;
    height: 36px !important;
    border: 1px solid #dfe8ef !important;
    box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Dashboard: keep the current two-column workstation layout, but make every
   card internally width-safe. Individual card content responds to CARD width,
   not only the browser viewport.
   -------------------------------------------------------------------------- */
html body.cx-design-system
#conexgoDashboardSmartGrid,
html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item,
html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item
> .card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item {
    container-type: inline-size;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
:is(
    .card-header,
    .card-body,
    .conexgo-dashboard-card-header,
    .conexgo-dashboard-card-filter-row,
    .conexgo-dashboard-filter-stack,
    .conexgo-dashboard-primary-filter-row,
    .conexgo-dashboard-filter-field,
    .conexgo-device-overview-toolbar,
    .conexgo-device-overview-copy,
    .conexgo-device-overview-period,
    .conexgo-dashboard-offline-period-row,
    .conexgo-dashboard-offline-period-copy,
    .conexgo-dashboard-ranked-item,
    .conexgo-dashboard-ranked-main,
    .conexgo-dashboard-latest-item,
    .conexgo-dashboard-latest-main
) {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-config-section-description,
html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-ranked-subtitle,
html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-latest-subtitle {
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* Device overview: preserve side-by-side composition when it fits. */
html body.cx-design-system
#conexgoDashboardSmartGrid
[data-dashboard-key="totalDevices"]
.conexgo-device-overview-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 235px) !important;
    align-items: start !important;
    gap: 12px 16px !important;
    width: 100% !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
[data-dashboard-key="totalDevices"]
.conexgo-device-overview-period {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
[data-dashboard-key="totalDevices"]
.conexgo-device-overview-period
:is(.cx-custom-select-root, .cx-control--dashboard-filter),
html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-primary-filter-row
:is(.cx-custom-select-root, .cx-control--dashboard-filter) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
:is(
    .conexgo-dashboard-active-user,
    .conexgo-dashboard-latest-item,
    .conexgo-dashboard-ranked-item,
    .cx-dashboard-offline-item,
    .conexgo-device-overview-metric,
    .conexgo-device-overview-model,
    .conexgo-dashboard-latest-breakdown-item
) {
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 1px solid #dce5ee !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
:is(
    .conexgo-dashboard-active-user,
    .conexgo-dashboard-latest-item,
    .conexgo-dashboard-ranked-item,
    .cx-dashboard-offline-item,
    .conexgo-device-overview-metric,
    .conexgo-device-overview-model,
    .conexgo-dashboard-latest-breakdown-item
):is(:hover, :focus-within) {
    background: #f4f8fb !important;
    border-color: #c8dbe8 !important;
    box-shadow: 0 4px 12px rgba(44, 76, 108, .08) !important;
    transform: translateY(-1px) !important;
}

/* Card-width responsive rules prevent filters from escaping a narrow half-column. */
@container (max-width: 620px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="totalDevices"]
    .conexgo-device-overview-toolbar,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="activeUsers"]
    .conexgo-dashboard-card-filter-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="offlineDevices"]
    .conexgo-dashboard-offline-period-row {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="totalDevices"]
    .conexgo-device-overview-period {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 5px !important;
    }
}

@container (max-width: 540px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-primary-filter-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }
}

/* --------------------------------------------------------------------------
   Alert list: give operational text real columns. Horizontal scroll is better
   than text collisions or character-by-character wrapping.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.alert-list-card
.table-responsive,
html body.cx-design-system
.alert-list-card
.conexgo-pagedlist-table-region,
html body.cx-design-system
.alert-list-card
.conexgo-pagedlist-table-column {
    min-width: 0 !important;
}

@media (min-width: 768px) {
    html body.cx-design-system
    .alert-list-card
    .table-responsive {
        overflow-x: auto !important;
        overflow-y: visible !important;
        scrollbar-gutter: stable !important;
    }

    html body.cx-design-system
    .alert-list-card
    .conexgo-pagedlist-table {
        width: 100% !important;
        min-width: 1480px !important;
        table-layout: fixed !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--action,
    html body.cx-design-system .alert-list-card td.bstable-actions {
        width: 110px !important;
        min-width: 110px !important;
        max-width: 110px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--alert,
    html body.cx-design-system .alert-list-card td.alert-list-alert-cell {
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--datetime,
    html body.cx-design-system .alert-list-card td.alert-list-datetime-cell {
        width: 215px !important;
        min-width: 215px !important;
        max-width: 215px !important;
        white-space: nowrap !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--device,
    html body.cx-design-system .alert-list-card td.alert-list-device-cell {
        width: 390px !important;
        min-width: 390px !important;
        max-width: 390px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--customer,
    html body.cx-design-system .alert-list-card td.alert-list-customer-cell-container {
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--comment,
    html body.cx-design-system .alert-list-card td.alert-list-comment-cell {
        width: 285px !important;
        min-width: 285px !important;
        max-width: 285px !important;
    }

    html body.cx-design-system
    .alert-list-card
    :is(
        .alert-list-alert-cell,
        .alert-list-device-cell,
        .alert-list-customer-cell-container,
        .alert-list-comment-cell
    ) {
        overflow: visible !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: auto !important;
        white-space: normal !important;
        line-height: 1.38 !important;
    }

    html body.cx-design-system
    .alert-list-card
    .alert-list-device-line {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system
    .alert-list-card
    .alert-list-device-name,
    html body.cx-design-system
    .alert-list-card
    .alert-list-customer-address,
    html body.cx-design-system
    .alert-list-card
    .alert-list-comment-cell * {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
}

/* Filter badges are now populated on Alerts and the log pages. Keep them compact. */
html body.cx-design-system
.cx-filter-table-width
:is(.responsive-filter-panel-badge, .cx-filter-panel-badge) {
    min-width: 28px !important;
}

/* --------------------------------------------------------------------------
   Row menus: late ownership against historical hover/lift rules.
   The dedicated row-menu CSS owns geometry; this only guarantees zero motion.
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(
    .device-list-action-group,
    .conexgo-row-action-group,
    .device-list-name-button,
    .account-list-name-button,
    .device-list-action-toggle,
    .conexgo-row-action-toggle,
    .device-list-action-menu,
    .conexgo-row-action-menu
),
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu) * {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    translate: none !important;
}

/* Alert list: keep the bug fix (no text collisions) without making the table
   unnecessarily wide on normal workstations. */
@media (min-width: 768px) {
    html body.cx-design-system
    .alert-list-card
    .conexgo-pagedlist-table {
        width: 100% !important;
        min-width: 1175px !important;
        table-layout: fixed !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--action,
    html body.cx-design-system .alert-list-card td.bstable-actions {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--alert,
    html body.cx-design-system .alert-list-card td.alert-list-alert-cell {
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--datetime,
    html body.cx-design-system .alert-list-card td.alert-list-datetime-cell {
        width: 190px !important;
        min-width: 190px !important;
        max-width: 190px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--device,
    html body.cx-design-system .alert-list-card td.alert-list-device-cell {
        width: 295px !important;
        min-width: 295px !important;
        max-width: 295px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--customer,
    html body.cx-design-system .alert-list-card td.alert-list-customer-cell-container {
        width: 200px !important;
        min-width: 200px !important;
        max-width: 200px !important;
    }

    html body.cx-design-system .alert-list-card th.cx-table-column-header--comment,
    html body.cx-design-system .alert-list-card td.alert-list-comment-cell {
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
    }

    html body.cx-design-system
    .alert-list-card
    :is(
        .alert-list-alert-cell,
        .alert-list-device-cell,
        .alert-list-customer-cell-container,
        .alert-list-comment-cell
    ) {
        overflow: hidden !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        white-space: normal !important;
        line-height: 1.38 !important;
    }

    html body.cx-design-system
    .alert-list-card
    .alert-list-device-line {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* Two-select cards: Period + Alert type remain beside one another on desktop.
   Each field keeps its own label above its own select. This intentionally wins
   over the earlier card-container fallback that could stack them in a narrow
   half-column. */
@media (min-width: 768px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-primary-filter-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: start !important;
        gap: 10px 14px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-primary-filter-row
    > .conexgo-dashboard-filter-field {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        align-items: stretch !important;
        gap: 5px !important;
        min-width: 0 !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-primary-filter-row
    > .conexgo-dashboard-filter-field
    > .conexgo-dashboard-filter-label {
        width: 100% !important;
        margin: 0 !important;
        line-height: 1.25 !important;
        white-space: normal !important;
    }

    /* Single-filter cards use the same workstation composition as Latest
       Alerts: explanatory label/copy on the left, selector on the right. */
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="latestAlerts"]
    .conexgo-dashboard-latest-period-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="offlineDevices"]
    .conexgo-dashboard-offline-period-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="activeUsers"]
    .conexgo-dashboard-card-filter-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="totalDevices"]
    .conexgo-device-overview-toolbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(220px, 0.95fr) !important;
        align-items: center !important;
        gap: 12px 18px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="latestAlerts"]
    .conexgo-dashboard-latest-period-select,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="offlineDevices"]
    .conexgo-dashboard-offline-period-select,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="activeUsers"]
    .conexgo-dashboard-card-filter-row
    > .cx-custom-select-root {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="totalDevices"]
    .conexgo-device-overview-period {
        display: grid !important;
        grid-template-columns: max-content minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    :is(
        .conexgo-dashboard-latest-period-row,
        .conexgo-dashboard-offline-period-row,
        .conexgo-device-overview-toolbar,
        .conexgo-dashboard-card-filter-row
    )
    .conexgo-dashboard-config-section-description {
        margin-top: 3px !important;
        max-width: 40ch !important;
        line-height: 1.28 !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-primary-filter-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="latestAlerts"]
    .conexgo-dashboard-latest-period-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="offlineDevices"]
    .conexgo-dashboard-offline-period-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="activeUsers"]
    .conexgo-dashboard-card-filter-row,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="totalDevices"]
    .conexgo-device-overview-toolbar,
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    [data-dashboard-key="totalDevices"]
    .conexgo-device-overview-period {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 7px !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.cx-r181817-masonry-ready,
    html body.cx-design-system
    #conexgoDashboardSmartGrid.cx-r181817-single-column {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        position: static !important;
        padding: 0 !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        transform: none !important;
        translate: none !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item
    > .card,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-header-surface,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-header-surface {
        min-height: 52px !important;
        padding: 8px 9px 8px 12px !important;
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-header,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto !important;
        align-items: center !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-title,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-title {
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-action,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-action {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 !important;
        flex: 0 0 36px !important;
        transform: none !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-minimized-card
    > .conexgo-dashboard-card-header-surface,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card
    > .conexgo-dashboard-card-header-surface {
        min-height: 52px !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .card-body,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .card-body {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-table-viewport {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overscroll-behavior-inline: contain !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    :is(
        .conexgo-dashboard-primary-filter-row,
        .conexgo-dashboard-latest-period-row,
        .conexgo-dashboard-offline-period-row,
        .conexgo-dashboard-card-filter-row,
        .conexgo-device-overview-toolbar,
        .conexgo-device-overview-period
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 7px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    :is(
        .cx-custom-select-root,
        .cx-control--dashboard-filter,
        .conexgo-dashboard-filter-field,
        .conexgo-dashboard-latest-period-select,
        .conexgo-dashboard-offline-period-select
    ) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    :is(
        .conexgo-dashboard-ranked-item,
        .conexgo-dashboard-ranked-main,
        .conexgo-dashboard-latest-item,
        .conexgo-dashboard-latest-main,
        .conexgo-dashboard-offline-device-row
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    :is(canvas, svg, img) {
        max-width: 100% !important;
    }
}

@media (max-width: 399.98px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-header-surface,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-header-surface {
        padding: 7px 8px 7px 10px !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-title,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-title {
        font-size: 13px !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-action,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-action {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        flex-basis: 34px !important;
    }
}

/* --------------------------------------------------------------------------
   1. ALERT LIST - consistent row alignment
   -------------------------------------------------------------------------- */
.alert-list-card .conexgo-pagedlist-table thead th {
    vertical-align: middle !important;
}

.alert-list-card .conexgo-pagedlist-table tbody tr > td {
    vertical-align: top !important;
    padding-top: 17px !important;
    padding-bottom: 17px !important;
}

.alert-list-card .conexgo-pagedlist-table tbody tr > td.bstable-actions {
    vertical-align: top !important;
}

.alert-list-card .conexgo-pagedlist-table tbody .bstable-actions .btn-list {
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

.alert-list-card .conexgo-pagedlist-table tbody tr > td > :first-child {
    margin-top: 0;
}

.alert-list-card .conexgo-pagedlist-table tbody tr > td {
    line-height: 1.42;
}

/* --------------------------------------------------------------------------
   2. TABLE/DASHBOARD HIGHLIGHT - visible background, no left accent
   -------------------------------------------------------------------------- */
.device-list-data-row .conexgo-pagedlist-table tbody tr,
.device-list-data-row .conexgo-pagedlist-table tbody tr > td:first-child {
    border-left: 0 !important;
}

.device-list-data-row .conexgo-pagedlist-table tbody tr:hover,
.device-list-data-row .conexgo-pagedlist-table tbody tr:focus-within,
.device-list-data-row .conexgo-pagedlist-table tbody tr:hover > td,
.device-list-data-row .conexgo-pagedlist-table tbody tr:focus-within > td {
    border-left: 0 !important;
    background: #e7f1f7 !important;
    box-shadow: none !important;
    transform: none !important;
}

.cx-dashboard-page :is(
    .conexgo-dashboard-active-user,
    .conexgo-dashboard-latest-item,
    .conexgo-dashboard-ranked-item,
    .conexgo-device-overview-metric,
    .conexgo-device-overview-model,
    .conexgo-dashboard-latest-breakdown-item
):hover,
.cx-dashboard-page :is(
    .conexgo-dashboard-active-user,
    .conexgo-dashboard-latest-item,
    .conexgo-dashboard-ranked-item,
    .conexgo-device-overview-metric,
    .conexgo-device-overview-model,
    .conexgo-dashboard-latest-breakdown-item
):focus-within {
    border-color: #bfd5e4 !important;
    border-left-color: #bfd5e4 !important;
    background: #e7f1f7 !important;
    box-shadow: none !important;
    transform: none !important;
}

.cx-dashboard-page
.conexgo-dashboard-resizable-card
.card-body
table
tbody
tr:hover,
.cx-dashboard-page
.conexgo-dashboard-resizable-card
.card-body
table
tbody
tr:focus-within {
    background: #e7f1f7 !important;
    box-shadow: none !important;
    transform: none !important;
}

.cx-dashboard-page
.conexgo-dashboard-resizable-card
.card-body
table
tbody
tr:hover > td,
.cx-dashboard-page
.conexgo-dashboard-resizable-card
.card-body
table
tbody
tr:focus-within > td {
    background: transparent !important;
}

/* --------------------------------------------------------------------------
   3. DASHBOARD MOBILE/TABLET - natural one-column cards, no clipped headers
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
        gap: 10px !important;
        column-count: 1 !important;
        column-gap: 0 !important;
    }

    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        display: block !important;
        overflow: visible !important;
        break-inside: avoid !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-resizable-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        resize: none !important;
        overflow: hidden !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card,
    #conexgoDashboardSmartGrid .conexgo-dashboard-card-closing {
        height: auto !important;
        min-height: 56px !important;
        max-height: none !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card > .card-header,
    #conexgoDashboardSmartGrid .conexgo-dashboard-card-closing > .card-header {
        width: 100% !important;
        min-height: 56px !important;
        height: auto !important;
        padding: 10px 12px !important;
        display: flex !important;
        align-items: center !important;
        overflow: visible !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-card-header {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 34px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        overflow: visible !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-card-title,
    #conexgoDashboardSmartGrid .conexgo-dashboard-card-header h4 {
        min-width: 0 !important;
        margin: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: 12.5px !important;
        line-height: 1.3 !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-card-action {
        flex: 0 0 auto !important;
    }

    .cx-dashboard-page .conexgo-dashboard-resizable-card .card-body {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: auto !important;
    }
}

@media (max-width: 575.98px) {
    #conexgoDashboardSmartGrid.conexgo-dashboard-smart-grid {
        gap: 9px !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card,
    #conexgoDashboardSmartGrid .conexgo-dashboard-card-closing {
        min-height: 54px !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card > .card-header,
    #conexgoDashboardSmartGrid .conexgo-dashboard-card-closing > .card-header {
        min-height: 54px !important;
        padding: 9px 10px !important;
    }

    #conexgoDashboardSmartGrid .conexgo-dashboard-card-title,
    #conexgoDashboardSmartGrid .conexgo-dashboard-card-header h4 {
        font-size: 12px !important;
    }
}

/* --------------------------------------------------------------------------
   4. RINGTONE - "last updated" band uses the full dialog width
   -------------------------------------------------------------------------- */
.cx-dialog--ringtone .row.mt-3:has(> [style*="lightcyan"]) {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.cx-dialog--ringtone .row.mt-3:has(> [style*="lightcyan"]) > .col-md-3 {
    display: none !important;
}

.cx-dialog--ringtone .row.mt-3:has(> [style*="lightcyan"]) > [style*="lightcyan"],
.cx-dialog--ringtone .cx-device-config-last-updated,
.cx-dialog--ringtone .cx-r1-ringtone-last-updated,
.cx-dialog--ringtone .device-ringtone-last-updated {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
}

/* --------------------------------------------------------------------------
   6. TERMS DECLINE MINI MODAL
   -------------------------------------------------------------------------- */
.cx-terms-confirm-backdrop {
    position: fixed;
    inset: 0;
    z-index: 7200;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgba(20, 35, 50, .54);
    backdrop-filter: blur(2px);
}

.cx-terms-confirm-dialog {
    width: min(520px, calc(100vw - 24px));
    overflow: hidden;
    border: 1px solid #9eb6c9;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(20, 42, 62, .26);
}

.cx-terms-confirm-header {
    min-height: 66px;
    padding: 13px 17px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: #315a7e;
    color: #fff;
}

.cx-terms-confirm-header-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 9px;
    background: rgba(255,255,255,.1);
}

.cx-terms-confirm-title {
    margin: 0;
    color: #fff;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.25;
}

.cx-terms-confirm-body {
    padding: 20px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.cx-terms-confirm-body-icon {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #fbeaec;
    color: #ad4b55;
    font-size: 18px;
}

.cx-terms-confirm-message {
    margin: 0;
    color: #304d68;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
}

.cx-terms-confirm-actions {
    padding: 12px 16px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid #dce5ec;
    background: #f7f9fb;
}

.cx-terms-confirm-actions button {
    min-height: 44px;
    padding: 9px 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.cx-terms-confirm-cancel {
    border: 1px solid #c6d3de;
    background: #fff;
    color: #526476;
}

.cx-terms-confirm-cancel:hover,
.cx-terms-confirm-cancel:focus-visible {
    border-color: #aebfcd;
    background: #f3f7fa;
    outline: none;
}

.cx-terms-confirm-danger {
    border: 1px solid #ad4b55;
    background: #ad4b55;
    color: #fff;
}

.cx-terms-confirm-danger:hover,
.cx-terms-confirm-danger:focus-visible {
    border-color: #973e48;
    background: #973e48;
    outline: none;
}

@media (max-width: 575.98px) {
    .cx-terms-confirm-actions {
        flex-direction: column-reverse;
    }

    .cx-terms-confirm-actions button {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   8. LEGACY DEVICE MODEL DELETE - compact like the other delete confirmations
   Runtime adds this class only when the Blazored modal title matches the
   Device Model delete dialog, so larger edit/configuration dialogs are untouched.
   -------------------------------------------------------------------------- */
.cx-device-model-delete-modal {
    width: min(720px, calc(100vw - 32px)) !important;
    max-width: 720px !important;
    min-width: 0 !important;
    margin-inline: auto !important;
}

.cx-device-model-delete-modal .blazored-modal-content,
.cx-device-model-delete-modal .modal-body {
    min-width: 0 !important;
}

@media (max-width: 575.98px) {
    .cx-device-model-delete-modal {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
    }
}

.cx-group-view-split {
    --bs-gutter-x: 0 !important;
    width: var(--cx-group-view-split-width, 100%) !important;
    max-width: var(--cx-group-view-split-width, 100%) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr) !important;
    gap: 16px !important;
    align-items: start !important;
    overflow: hidden !important;
}

.cx-group-view-split > .cx-group-view-list-pane,
.cx-group-view-split > .cx-group-view-map-pane {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    flex: none !important;
    overflow: hidden !important;
}

.cx-group-view-map-pane {
    overflow: hidden !important;
    align-self: start !important;
}

.cx-group-view-map-pane #map-canvas {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: var(--cx-group-view-pane-height, 480px) !important;
    min-height: var(--cx-group-view-pane-height, 480px) !important;
    max-height: var(--cx-group-view-pane-height, 480px) !important;
    margin: 0 !important;
}

@media (max-width: 1099.98px) {
    .cx-group-view-split {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
        overflow: visible !important;
    }

    .cx-group-view-map-pane #map-canvas {
        height: clamp(320px, 48vh, 460px) !important;
        min-height: 320px !important;
        max-height: 460px !important;
    }
}

.cx-dropdown-auto-up > .dropdown-menu,
.cx-dropdown-auto-up .dropdown-menu {
    max-height: min(72vh, 520px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

/*
   Device config modal: the "last change" strip must occupy the full content
   width, matching the working SOS modal. No modal geometry or footer changes.
*/
:is(.cx-dialog--ringtone, .cx-dialog--phone-events)
.row.mt-3:has(> [style*="lightcyan"]) {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
}

.cx-dialog--ringtone
.row.mt-3:has(> [style*="lightcyan"]) > .col-md-3 {
    display: none !important;
}

:is(.cx-dialog--ringtone, .cx-dialog--phone-events)
.row.mt-3:has(> [style*="lightcyan"]) > [style*="lightcyan"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

:is(.cx-dialog--ringtone, .cx-dialog--phone-events)
:is(.cx-modal-layout-v21, .cx-device-config-layout, .cx-dialog-v17-form) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/*
   Device row dropdown: neutralize old global border/transition rules that add
   the thin white/light rim during hover. Keep only the restrained blue hover.
*/
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
    background-clip: border-box !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:hover,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:focus,
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #edf5fa !important;
    color: #244963 !important;
    filter: none !important;
    transform: none !important;
}

html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #e8f2f8 !important;
    color: #244963 !important;
    filter: none !important;
    transform: none !important;
}

/* Keep icons stable; hover changes only the row background. */
html body.cx-design-system
:is(.device-list-action-menu, .conexgo-row-action-menu)
.dropdown-item > :is(i, .fa, .fas, .far, .fa-solid, .fa-regular, span[class*="fa"]) {
    transform: none !important;
    filter: none !important;
}

html body .mud-dialog.cx-dialog--ringtone .cx-device-config-form,
html body .mud-dialog.cx-dialog--phone-events .cx-device-config-form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
    align-self: stretch !important;
}

html body .mud-dialog.cx-dialog--ringtone .cx-device-config-form > .cx-device-config-last-updated,
html body .mud-dialog.cx-dialog--phone-events .cx-device-config-form > .cx-device-config-last-updated {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    grid-column: 1 / -1 !important;
    box-sizing: border-box !important;
}

html body .mud-dialog.cx-dialog--ringtone .cx-device-config-last-updated > *,
html body .mud-dialog.cx-dialog--phone-events .cx-device-config-last-updated > * {
    min-width: 0 !important;
    max-width: none !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-browser-state {
    position: relative !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    flex: 0 0 30px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 7px !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    cursor: help !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-browser-state:hover,
html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-browser-state:focus-visible {
    background: rgba(255, 255, 255, .16) !important;
    border-color: rgba(255, 255, 255, .42) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-browser-state-dot {
    position: absolute !important;
    right: 3px !important;
    bottom: 3px !important;
    width: 7px !important;
    height: 7px !important;
    border: 1.5px solid #2c4c6c !important;
    border-radius: 999px !important;
    background: #aebac4 !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-browser-state.is-on
.conexgo-alert-browser-state-dot {
    background: #59b978 !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-browser-state.is-off {
    color: rgba(255, 255, 255, .78) !important;
}

/* Header alert queue: give the product/device type a stable visual anchor without
   increasing the overall dropdown width. The existing language/action column stays
   aligned at the right edge. */
html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-card--classic {
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    column-gap: 10px !important;
    row-gap: 4px !important;
    align-items: start !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-device-media {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    display: grid !important;
    place-items: center !important;
    align-self: start !important;
    overflow: hidden !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 10px !important;
    background: #f4f8fb !important;
    color: #3f7092 !important;
    box-shadow: none !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-device-media .conexgo-alert-device-image {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    padding: 2px !important;
    object-fit: contain !important;
    image-rendering: auto !important;
    background: #ffffff !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 10px !important;
    filter: contrast(1.04) saturate(1.05) !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-device-media > i {
    font-size: 17px !important;
    line-height: 1 !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-copy {
    grid-column: 2 !important;
    min-width: 0 !important;
}

html body.cx-design-system
.conexgo-header-alerts
.conexgo-alert-classic-side {
    grid-column: 3 !important;
    min-width: 0 !important;
}

/* Central alert supervision: compact operational state, easy to scan, no extra
   horizontal expansion of the data table. */
html body.cx-design-system
.alert-list-card .alert-list-workflow-cell {
    min-width: 138px !important;
    width: 150px !important;
    max-width: 180px !important;
    white-space: normal !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 5px 9px !important;
    border: 1px solid #dbe5ec !important;
    border-radius: 999px !important;
    background: #f5f8fa !important;
    color: #486176 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-dot {
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    border-radius: 999px !important;
    background: #8da0af !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-status.is-pending {
    border-color: #efd7a8 !important;
    background: #fff8e9 !important;
    color: #7d5b13 !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-status.is-pending .cx-alert-workflow-dot {
    background: #d99b20 !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-status.is-in-progress {
    border-color: #bed8e8 !important;
    background: #eef7fc !important;
    color: #2c6285 !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-status.is-in-progress .cx-alert-workflow-dot {
    background: #397da9 !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-status.is-completed {
    border-color: #c8dfce !important;
    background: #eff8f1 !important;
    color: #3d704a !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-status.is-completed .cx-alert-workflow-dot {
    background: #5f9f6e !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-operator {
    display: grid !important;
    gap: 1px !important;
    margin-top: 6px !important;
    color: #718395 !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
}

html body.cx-design-system
.alert-list-card .cx-alert-workflow-operator strong {
    min-width: 0 !important;
    color: #2f526f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
}

/* Call-centre dashboard: operator availability is presented as an operational
   stat (role / name / duration), not as audit navigation. */
html body.cx-design-system
#conexgoDashboardSmartGrid .cx-dashboard-operator-stats-head {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 10px 2px 2px !important;
    padding: 0 10px 7px !important;
    border-bottom: 1px solid #e4ebf0 !important;
    color: #718395 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid .cx-dashboard-active-user-name-wrap {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid .cx-dashboard-operator-role {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    padding: 3px 6px !important;
    border: 1px solid #d7e4ec !important;
    border-radius: 6px !important;
    background: #f3f8fb !important;
    color: #446781 !important;
    font-size: 9.5px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid .conexgo-dashboard-active-user-score {
    color: #315d7e !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system
    .conexgo-header-alerts
    .conexgo-alert-card--classic {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        column-gap: 8px !important;
    }

    html body.cx-design-system
    .conexgo-header-alerts
    .conexgo-alert-device-media {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    html body.cx-design-system
    .conexgo-header-alerts
    .conexgo-alert-device-media .conexgo-alert-device-image {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    padding: 2px !important;
    object-fit: contain !important;
    image-rendering: auto !important;
    background: #ffffff !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 10px !important;
    filter: contrast(1.04) saturate(1.05) !important;
}

    html body.cx-design-system
    .conexgo-header-alerts
    .conexgo-alert-classic-side {
        grid-column: 1 / -1 !important;
        justify-self: end !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid .cx-dashboard-operator-stats-head {
        grid-template-columns: 62px minmax(0, 1fr) auto !important;
        gap: 6px !important;
        padding-inline: 4px !important;
        font-size: 9px !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid .cx-dashboard-active-user-name-wrap {
        display: grid !important;
        gap: 4px !important;
    }
}

/* The call-centre-managed SOS branch uses the same modal structure as the normal
   SOS form. Keep it on the same clean grid instead of falling back to the old
   grey Bootstrap-style block. This is CSS-only and does not change permissions. */
html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 24px 28px 26px !important;
    border: 1px solid #6f96b2 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed
.cx-call-center-managed-notice {
    width: 100% !important;
    margin: 18px 0 20px !important;
    padding: 13px 16px !important;
    border: 1px solid #c7d5df !important;
    border-left: 4px solid #5d819b !important;
    border-radius: 10px !important;
    background: #f0f4f7 !important;
    color: #3b5568 !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
}

html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed
.cx-r2-sos-number-columns,
html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed
.cx-r1-sos-number-row {
    display: grid !important;
    grid-template-columns: minmax(220px, 270px) minmax(260px, .75fr) minmax(340px, 1.4fr) !important;
    gap: 14px 22px !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed
.cx-r2-sos-number-columns {
    margin: 0 0 8px !important;
    padding: 0 8px 8px !important;
    border-bottom: 1px solid #e1e9ef !important;
    color: #4f6375 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
}

html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed
.cx-r1-sos-number-row {
    padding: 7px 8px !important;
}

html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed
.cx-r1-sos-number-row > label {
    margin: 0 !important;
    color: #38536a !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    text-align: right !important;
    text-transform: uppercase !important;
}

html body.cx-design-system
.mud-dialog.cx-dialog--sos
.cx-r1-sos-numbers.is-call-center-managed
.cx-r1-sos-number-row .form-control {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    border: 1px solid #c9d8e3 !important;
    border-radius: 10px !important;
    background: #f3f6f8 !important;
    color: #546a7b !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

@media (max-width: 1050px) {
    html body.cx-design-system
    .mud-dialog.cx-dialog--sos
    .cx-r1-sos-numbers.is-call-center-managed
    .cx-r2-sos-number-columns {
        display: none !important;
    }

    html body.cx-design-system
    .mud-dialog.cx-dialog--sos
    .cx-r1-sos-numbers.is-call-center-managed
    .cx-r1-sos-number-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 7px !important;
        padding: 10px 0 !important;
    }

    html body.cx-design-system
    .mud-dialog.cx-dialog--sos
    .cx-r1-sos-numbers.is-call-center-managed
    .cx-r1-sos-number-row > label {
        text-align: left !important;
    }
}

html body .cx-data-log-unified-grid.cx-data-log-unified-grid--atlas {
    grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)) !important;
}

html body .cx-data-log-atlas-event-filter .device-filter-label-icon {
    color: #3f6f98 !important;
}

@media (max-width: 991.98px) {
    html body .cx-data-log-unified-grid.cx-data-log-unified-grid--atlas {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 639.98px) {
    html body .cx-data-log-unified-grid.cx-data-log-unified-grid--atlas {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* ========================================================================== */

/* Loaded after legacy overrides from PrivateMainLayout.                      */
/* ========================================================================== */

/* Alert comments: one date per day, then compact text + author/time together. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-day {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding: 9px 12px !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-entry {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
    padding: 2px 0 5px !important;
    min-width: 0 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-entry + .cx-alert-comment-entry {
    margin-top: 3px !important;
    padding-top: 7px !important;
    border-top: 1px solid rgba(205, 169, 55, .20) !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-meta {
    display: inline-flex !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    font-size: 11px !important;
    white-space: normal !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-history {
    max-height: 185px !important;
    overflow: auto !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-editor {
    padding: 9px 11px !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-textarea {
    min-height: 78px !important;
    max-height: 150px !important;
}

/* Alert documents remain discoverable at count 0. */
html body .cx-alert-documents-alert-empty {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 11px 12px !important;
    border: 1px dashed #c9d9e5 !important;
    border-radius: 8px !important;
    background: #f8fbfd !important;
    color: #536d82 !important;
}
html body .cx-alert-documents-alert-empty > i {
    margin-top: 2px !important;
    color: #5b82a1 !important;
}
html body .cx-alert-documents-alert-empty strong,
html body .cx-alert-documents-alert-empty span {
    display: block !important;
}
html body .cx-alert-documents-alert-empty strong {
    margin-bottom: 2px !important;
    color: #315a7d !important;
    font-size: 12px !important;
}
html body .cx-alert-documents-alert-empty span {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
}

/* Definitive removal of the old translateY(-1px) "lift" from menus/actions. */
html body.cx-design-system :is(
    .dropdown-menu .dropdown-item,
    .dropdown-toggle,
    .slide-menu .slide-item,
    .side-menu__item,
    .device-list-action-menu .dropdown-item,
    .cx-device-config-choice-card,
    .cx-ringtone-preview-button,
    .cx-location-schedule-mode-button,
    .cx-alert-documents-add,
    .cx-alert-document-preview-card,
    .cx-alert-document-row-actions button,
    .cx-document-upload-button,
    .conexgo-account-document-action,
    .cx-dialog-action,
    .alert-answer-toggle,
    .alert-view-comments-toggle
):is(:hover, :focus-visible, :active) {
    transform: none !important;
    translate: none !important;
}
html body.cx-design-system .device-list-action-menu.show {
    max-height: min(360px, calc(100dvh - 170px)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
}
html body.cx-design-system .device-list-action-menu.show .dropdown-item:is(:hover, :focus-visible) {
    background: #f4f8fb !important;
    color: #294b68 !important;
    box-shadow: none !important;
}
html body.cx-design-system .slide-menu .slide-item:is(:hover, :focus-visible),
html body.cx-design-system .side-menu__item:is(:hover, :focus-visible) {
    box-shadow: none !important;
}

/* Ring Tone: radio selection and Preview are separate interactive controls. */
html body .cx-dialog--ringtone .cx-ringtone-choice-grid .cx-device-config-choice-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    min-height: 66px !important;
    padding: 0 !important;
    overflow: hidden !important;
    transform: none !important;
    transition: border-color .14s ease, background-color .14s ease, box-shadow .14s ease !important;
}
html body .cx-dialog--ringtone .cx-ringtone-choice-select {
    position: relative !important;
    min-width: 0 !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 14px 10px 14px 48px !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
}
html body .cx-dialog--ringtone .cx-ringtone-choice-select--silent {
    grid-column: 1 / -1 !important;
}
html body .cx-dialog--ringtone .cx-ringtone-preview-button {
    position: static !important;
    align-self: center !important;
    min-width: 96px !important;
    min-height: 38px !important;
    margin: 0 11px 0 8px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border: 1px solid #bfd3e2 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #315f82 !important;
    box-shadow: none !important;
    transform: none !important;
}
html body .cx-dialog--ringtone .cx-ringtone-preview-button:is(:hover, :focus-visible) {
    background: #edf5fa !important;
    border-color: #9fbed3 !important;
    transform: none !important;
}

/* Location per-day controls avoid InputBase entirely. */
html body .cx-location-day-time {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
}

/* Notification View: target the actual Mud dialog root via the inner marker. */
html body .mud-dialog:has(.cx-r187752-notification-marker) {
    width: min(780px, calc(100vw - 28px)) !important;
    max-width: min(780px, calc(100vw - 28px)) !important;
    max-height: min(680px, calc(100dvh - 28px)) !important;
}
html body .mud-dialog:has(.cx-r187752-notification-marker) .mud-dialog-content {
    padding: 10px 12px !important;
    overflow: auto !important;
}
html body .mud-dialog:has(.cx-r187752-notification-marker) .cx-r1-section {
    padding: 11px 12px !important;
}
html body .mud-dialog:has(.cx-r187752-notification-marker) .notification-view-form {
    gap: 8px !important;
}
html body .mud-dialog:has(.cx-r187752-notification-marker) .notification-view-priority-card {
    min-height: 50px !important;
    padding: 8px 10px !important;
}
html body .mud-dialog:has(.cx-r187752-notification-marker) .notification-view-title-box {
    min-height: 40px !important;
    padding: 8px 11px !important;
}
html body .mud-dialog:has(.cx-r187752-notification-marker) .notification-view-message-box {
    min-height: 78px !important;
    max-height: 170px !important;
    padding: 10px 11px !important;
    overflow: auto !important;
}
html body .mud-dialog:has(.cx-r187752-notification-marker) .mud-dialog-actions {
    padding: 9px 12px !important;
}

/* Loading feedback stays on the action being executed. */
html body .cx-document-upload-button {
    width: 100% !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    border-color: #3d6287 !important;
    background: #3d6287 !important;
    color: #fff !important;
    box-shadow: none !important;
}
html body .cx-document-upload-message {
    color: #6c7d8b !important;
    font-size: 12px !important;
}
html body .conexgo-account-document-action .spinner-border {
    width: 14px !important;
    height: 14px !important;
    border-width: 2px !important;
}

@media (max-width: 720px) {
    html body .cx-dialog--ringtone .cx-ringtone-choice-grid .cx-device-config-choice-card {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    html body .cx-dialog--ringtone .cx-ringtone-preview-button {
        width: calc(100% - 22px) !important;
        margin: 0 11px 11px !important;
    }
    html body .mud-dialog:has(.cx-r187752-notification-marker) {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
    }
}

/* Freeze the split-control geometry itself. Do not change its approved colors. */
html body.cx-design-system :is(
    .device-list-action-group,
    .conexgo-row-action-group,
    .account-list-cell-name .conexgo-row-action-group
),
html body.cx-design-system :is(
    .device-list-action-group,
    .conexgo-row-action-group,
    .account-list-cell-name .conexgo-row-action-group
):is(:hover, :focus, :focus-within, :active) {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    will-change: auto !important;
}

/* The left name button and the dropdown toggle must never lift either. */
html body.cx-design-system :is(
    .device-list-name-button,
    .account-list-name-button,
    .device-list-action-toggle,
    .conexgo-row-action-toggle,
    .dropdown-toggle
),
html body.cx-design-system :is(
    .device-list-name-button,
    .account-list-name-button,
    .device-list-action-toggle,
    .conexgo-row-action-toggle,
    .dropdown-toggle
):is(:hover, :focus, :focus-visible, :active),
html body.cx-design-system :is(
    .device-list-action-toggle,
    .conexgo-row-action-toggle,
    .dropdown-toggle
)[aria-expanded="true"] {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
    animation: none !important;
    will-change: auto !important;
}

/* Popup container is static. Keep its existing placement and depth. */
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
),
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    will-change: auto !important;
}

/* Every popup row keeps identical geometry in every pointer state. */
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
) :is(li, .dropdown-item),
html body.cx-design-system .conexgo-pagedlist-table .dropdown-menu :is(li, .dropdown-item),
html body.cx-design-system .account-list-cell-name .dropdown-menu :is(li, .dropdown-item) {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    will-change: auto !important;
}

html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
) .dropdown-item {
    margin-block: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    transition: background-color 90ms ease-out, color 90ms ease-out !important;
}

html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show .dropdown-item:is(:hover, :focus-visible, :active),
html body.cx-design-system .conexgo-pagedlist-table .dropdown-menu.show .dropdown-item:is(:hover, :focus-visible, :active),
html body.cx-design-system .account-list-cell-name .dropdown-menu.show .dropdown-item:is(:hover, :focus-visible, :active),
html body.cx-design-system .table-responsive .dropdown-menu.show .dropdown-item:is(:hover, :focus-visible, :active) {
    background: #f4f8fb !important;
    background-color: #f4f8fb !important;
    background-image: none !important;
    color: #294b68 !important;
    border-color: transparent !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
}

/* Icons/text/pseudo-layers cannot jump independently from the row. */
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
) .dropdown-item > *,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
) .dropdown-item::before,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
) .dropdown-item::after {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    filter: none !important;
    text-shadow: none !important;
    will-change: auto !important;
}

/* Any decorative pseudo layer injected by old themes stays disabled on hover. */
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show .dropdown-item:is(:hover, :active)::before,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu
).show .dropdown-item:is(:hover, :active)::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
}

/* ========================================================================== */

/* Loaded last. Fixes geometry-only hover, Usage Log parity, emergency review,*/
/* alert comments and alert resource panels.                                  */
/* ========================================================================== */

/* --- Row action menus: keep the soft blue hover, freeze every geometry input. --- */
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:hover,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:focus,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:focus-visible,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:active {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    gap: 9px !important;
    column-gap: 9px !important;
    text-align: left !important;
    text-indent: 0 !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
    box-shadow: none !important;
    transition: background-color .12s ease, color .12s ease !important;
}
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:hover,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:focus-visible {
    background: #f4f8fb !important;
    color: #294b68 !important;
}
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item > :is(i, span[class*="fa"], svg),
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:hover > :is(i, span[class*="fa"], svg),
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:focus-visible > :is(i, span[class*="fa"], svg) {
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
}
html body.cx-design-system :is(.device-list-action-group, .conexgo-row-action-group) > :is(button, a),
html body.cx-design-system :is(.device-list-action-group, .conexgo-row-action-group) > :is(button, a):is(:hover, :focus, :focus-visible, :active) {
    transform: none !important;
    translate: none !important;
    scale: none !important;
}

/* --- Usage Log: same structural language as Data / SMS / Voice logs. --- */
html body.cx-design-system .cx-log-list-card--usage {
    overflow: visible !important;
}
html body.cx-design-system .cx-log-list-card--usage > .cx-log-list-toolbar {
    background: #2c4c6c !important;
    color: #fff !important;
    border: 0 !important;
}
html body.cx-design-system .cx-usage-log-notice--canonical {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid #d5e2ec !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
    color: #4d6476 !important;
}
html body.cx-design-system .cx-usage-log-notice--canonical strong,
html body.cx-design-system .cx-usage-log-notice--canonical span {
    display: block !important;
}
html body.cx-design-system .cx-usage-log-notice--canonical strong {
    color: #294f6d !important;
    margin-bottom: 2px !important;
}
html body.cx-design-system .cx-usage-device-name,
html body.cx-design-system .cx-usage-device-id {
    display: block !important;
}
html body.cx-design-system .cx-usage-device-id {
    color: #718497 !important;
    font-size: 11px !important;
    margin-top: 2px !important;
}
html body.cx-design-system .cx-usage-session-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    min-width: 220px !important;
}
html body.cx-design-system .cx-usage-device-context-value {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    padding: 8px 11px !important;
    border: 1px solid #cbd9e5 !important;
    border-radius: 7px !important;
    background: #f7fafc !important;
    color: #315a79 !important;
}

/* --- Emergency contact review: request-only admin view, owner response form. --- */
html body.cx-design-system .cx-emergency-review-layout {
    display: grid !important;
    gap: 14px !important;
}
html body.cx-design-system .cx-emergency-review-intro,
html body.cx-design-system .cx-emergency-review-status {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    padding: 12px 14px !important;
    border: 1px solid #d5e2ec !important;
    border-radius: 10px !important;
    background: #f7fafc !important;
}
html body.cx-design-system .cx-emergency-review-intro-icon,
html body.cx-design-system .cx-emergency-review-status > i {
    color: #35698d !important;
    margin-top: 2px !important;
}
html body.cx-design-system .cx-emergency-review-intro strong,
html body.cx-design-system .cx-emergency-review-intro span,
html body.cx-design-system .cx-emergency-review-status strong,
html body.cx-design-system .cx-emergency-review-status span {
    display: block !important;
}
html body.cx-design-system .cx-emergency-review-intro strong,
html body.cx-design-system .cx-emergency-review-status strong {
    color: #234f70 !important;
    margin-bottom: 3px !important;
}
html body.cx-design-system .cx-emergency-review-status.is-pending {
    background: #fff9e9 !important;
    border-color: #ead9a2 !important;
}
html body.cx-design-system .cx-emergency-review-status.is-kept,
html body.cx-design-system .cx-emergency-review-status.is-updated {
    background: #f0f8f3 !important;
    border-color: #c7dfcf !important;
}
html body.cx-design-system .cx-emergency-review-current-grid,
html body.cx-design-system .cx-device-emergency-editor-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
html body.cx-design-system .cx-emergency-review-readonly label {
    display: block !important;
    margin-bottom: 6px !important;
    color: #294f6d !important;
    font-weight: 700 !important;
}
html body.cx-design-system .cx-emergency-review-readonly-value {
    min-height: 132px !important;
    max-height: 210px !important;
    overflow: auto !important;
    white-space: pre-wrap !important;
    padding: 11px 12px !important;
    border: 1px solid #d4e0e9 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #40586c !important;
}
html body.cx-design-system .cx-emergency-review-message {
    min-height: 96px !important;
}
html body.cx-design-system .cx-notification-emergency-review {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border: 1px solid #d5e2ec !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
}
html body.cx-design-system .cx-notification-emergency-review strong,
html body.cx-design-system .cx-notification-emergency-review span {
    display: block !important;
}

/* --- Alert comments: compact history, clear hierarchy, no giant yellow block. --- */
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-card,
html body.cx-design-system .cx-dialog--alert-view .alert-view-comments-section {
    border: 1px solid #d5e1ea !important;
    border-radius: 10px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-header,
html body.cx-design-system .cx-dialog--alert-view .alert-view-comments-toggle {
    min-height: 48px !important;
    padding: 10px 13px !important;
    background: #fff7dc !important;
    border: 0 !important;
    border-bottom: 1px solid #eadba9 !important;
    color: #57440e !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-collapse-inner,
html body.cx-design-system .cx-dialog--alert-view .alert-view-comments-collapse-inner {
    padding: 0 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-day {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    padding: 10px 12px !important;
    background: #fff !important;
    border: 0 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-day + .cx-alert-comment-day {
    border-top: 1px solid #e4ebf0 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-date {
    align-self: flex-start !important;
    margin: 0 !important;
    padding: 3px 8px !important;
    border: 1px solid #d7e1e8 !important;
    border-radius: 999px !important;
    background: #f5f8fa !important;
    color: #536a7d !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-entry {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 12px !important;
    align-items: start !important;
    padding: 8px 9px !important;
    border: 1px solid #e2e8ed !important;
    border-radius: 8px !important;
    background: #fbfcfd !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-entry + .cx-alert-comment-entry {
    margin-top: 0 !important;
    border-top: 1px solid #e2e8ed !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-text {
    min-width: 0 !important;
    color: #263b4b !important;
    line-height: 1.45 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #718392 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-history,
html body.cx-design-system .cx-dialog--alert-view .alert-view-comment-panel-content {
    max-height: 220px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-editor {
    padding: 10px 12px !important;
    border-top: 1px solid #e3e9ee !important;
    background: #fff !important;
}
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-textarea {
    min-height: 84px !important;
    max-height: 150px !important;
}

/* --- Emergency info + service info + documents are one resource system. --- */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-top: 12px !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row > .alert-answer-toggle,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row > .cx-alert-documents-toggle-row > .alert-answer-toggle {
    flex: 1 1 210px !important;
    min-height: 54px !important;
    justify-content: flex-start !important;
    padding: 10px 14px !important;
    border-radius: 9px !important;
    transform: none !important;
    translate: none !important;
}
html body.cx-design-system .cx-alert-documents.is-alert-panel,
html body.cx-design-system .cx-alert-documents.is-alert-panel > .cx-alert-documents-toggle-row {
    display: contents !important;
}
html body.cx-design-system .cx-alert-documents-count {
    margin-left: auto !important;
    min-width: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #3f72a6 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}
html body.cx-design-system .cx-alert-resource-panel,
html body.cx-design-system .cx-alert-resource-detail {
    flex: 1 0 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    border: 1px solid #d7e2ea !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
}
html body.cx-design-system .cx-alert-resource-panel-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 9px !important;
    color: #285776 !important;
    font-weight: 800 !important;
}
html body.cx-design-system .cx-alert-resource-panel-title .cx-alert-documents-count {
    margin-left: 2px !important;
}
html body.cx-design-system .cx-alert-resource-empty {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 9px 10px !important;
    color: #667b8c !important;
    background: #fff !important;
    border: 1px dashed #cad8e2 !important;
    border-radius: 7px !important;
}
html body.cx-design-system .cx-alert-document-resource-list {
    display: grid !important;
    gap: 8px !important;
}
html body.cx-design-system .cx-alert-document-preview-card {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px 10px !important;
    border: 1px solid #d8e3eb !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #294f6d !important;
    text-align: left !important;
    transform: none !important;
    translate: none !important;
}
html body.cx-design-system .alert-view-resource-actions {
    margin-bottom: 12px !important;
}

@media (max-width: 760px) {
    html body.cx-design-system .cx-emergency-review-current-grid,
    html body.cx-design-system .cx-device-emergency-editor-grid {
        grid-template-columns: 1fr !important;
    }
    html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-comment-entry {
        grid-template-columns: 1fr !important;
    }
    html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row > .alert-answer-toggle {
        flex-basis: 100% !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

/* Usage Log: same visual density as the established Voice/Data log screens. */
html body.cx-design-system .cx-log-list-card--usage .card-body.cx-usage-log-body {
    padding: 12px 14px 14px !important;
}
html body.cx-design-system .cx-usage-log-filter-panel {
    margin-bottom: 10px !important;
}
html body.cx-design-system .cx-usage-log-filter-panel .cx-filter-disclosure-toggle {
    min-height: 48px !important;
    padding: 8px 14px !important;
}
html body.cx-design-system .cx-usage-log-filter-panel .cx-filter-disclosure-inner {
    padding: 10px 14px 11px !important;
}
html body.cx-design-system .cx-usage-log-filter-row {
    display: grid !important;
    grid-template-columns: minmax(180px, 220px) minmax(220px, 275px) minmax(0, 1fr) !important;
    gap: 10px 14px !important;
    align-items: end !important;
}
html body.cx-design-system .cx-usage-log-filter-field {
    min-width: 0 !important;
}
html body.cx-design-system .cx-usage-log-filter-field .device-filter-label {
    margin-bottom: 5px !important;
}
html body.cx-design-system .cx-usage-log-filter-field .device-filter-control,
html body.cx-design-system .cx-usage-log-filter-field .cx-select-shell {
    width: 100% !important;
    max-width: none !important;
}
html body.cx-design-system .cx-usage-log-inline-note {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 6px 10px !important;
    border-left: 1px solid #dbe4eb !important;
    color: #617487 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}
html body.cx-design-system .cx-usage-log-inline-note > i {
    color: #477796 !important;
    flex: 0 0 auto !important;
}
html body.cx-design-system .cx-usage-log-inline-note strong {
    color: #315876 !important;
}
html body.cx-design-system .cx-usage-log-table-wrap {
    margin-top: 0 !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-table-column-header__layout {
    min-height: 42px !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-table-column-header__icon {
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-table-column-header__label {
    font-size: 12px !important;
    line-height: 1.2 !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-usage-session-list {
    min-width: 180px !important;
    gap: 2px !important;
}
html body.cx-design-system .cx-log-list-card--usage tbody td {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

/* Emergency review modal: clear fieldsets, icon, title and short help per field. */
html body.cx-design-system .cx-emergency-review-dialog {
    width: min(960px, calc(100vw - 36px)) !important;
    max-width: 960px !important;
}
html body.cx-design-system .cx-emergency-review-layout,
html body.cx-design-system .cx-device-config-layout {
    gap: 12px !important;
}
html body.cx-design-system .cx-emergency-review-dialog .cx-r1-section {
    padding: 16px 18px 17px !important;
}
html body.cx-design-system .cx-emergency-review-dialog .cx-r1-section-description {
    margin: 4px 0 12px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
}
html body.cx-design-system .cx-emergency-review-status {
    margin-top: 10px !important;
    padding: 9px 11px !important;
}
html body.cx-design-system .cx-emergency-field {
    min-width: 0 !important;
    padding: 11px 12px !important;
    border: 1px solid #d8e3eb !important;
    border-radius: 9px !important;
    background: #fbfcfd !important;
}
html body.cx-design-system .cx-emergency-field-heading {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
    margin-bottom: 8px !important;
}
html body.cx-design-system .cx-emergency-field-icon {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d8e4ed !important;
    border-radius: 9px !important;
    background: #f2f7fa !important;
    color: #35698d !important;
}
html body.cx-design-system .cx-emergency-field-heading > div {
    min-width: 0 !important;
}
html body.cx-design-system .cx-emergency-field-heading label {
    display: block !important;
    margin: 0 !important;
    color: #244f6d !important;
    font-weight: 800 !important;
}
html body.cx-design-system .cx-emergency-field-heading span:not(.cx-emergency-field-icon) {
    display: block !important;
    margin-top: 2px !important;
    color: #6a7d8d !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}
html body.cx-design-system .cx-emergency-review-readonly-value {
    min-height: 100px !important;
    max-height: 170px !important;
    padding: 9px 10px !important;
}
html body.cx-design-system .cx-emergency-review-message {
    min-height: 78px !important;
}
html body.cx-design-system .cx-device-emergency-editor-grid {
    gap: 10px !important;
}
html body.cx-design-system .cx-device-emergency-notes-field {
    margin-top: 10px !important;
}

/* Alert Answer/View: keep the resource row compact; map remains available. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row {
    gap: 8px !important;
    margin-top: 9px !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row > .alert-answer-toggle,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row > .cx-alert-documents-toggle-row > .alert-answer-toggle {
    min-height: 46px !important;
    padding: 8px 12px !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-map-toolbar {
    min-height: 46px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-map-canvas {
    height: 240px !important;
    min-height: 240px !important;
}

@media (max-width: 980px) {
    html body.cx-design-system .cx-usage-log-filter-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    html body.cx-design-system .cx-usage-log-inline-note {
        grid-column: 1 / -1 !important;
        border-left: 0 !important;
        border-top: 1px solid #dbe4eb !important;
        padding-left: 0 !important;
    }
}
@media (max-width: 760px) {
    html body.cx-design-system .cx-usage-log-filter-row {
        grid-template-columns: 1fr !important;
    }
    html body.cx-design-system .cx-usage-log-inline-note {
        grid-column: auto !important;
    }
    html body.cx-design-system .cx-emergency-review-dialog {
        width: calc(100vw - 16px) !important;
    }
}

html body.cx-design-system .cx-usage-log-context-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 12px;
    padding: 8px 10px;
    color: #587087;
    font-size: .86rem;
    line-height: 1.45;
}

html body.cx-design-system .cx-usage-log-context-note > i {
    margin-top: 3px;
    color: #4d7598;
}

html body.cx-design-system .cx-usage-log-body > .cx-usage-log-table-wrap {
    margin-top: 0;
}

html body.cx-design-system .cx-emergency-review-compose-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

html body.cx-design-system .cx-emergency-review-automation {
    margin-top: 4px;
}

html body.cx-design-system .cx-emergency-automation-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #d6e2ec;
    border-radius: 10px;
    background: #f8fbfd;
    color: #294b68;
    font-weight: 650;
}

html body.cx-design-system .cx-emergency-automation-toggle input {
    width: 18px;
    height: 18px;
    margin: 0;
}

html body.cx-design-system .cx-emergency-automation-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-emergency-review-compose-grid {
        grid-template-columns: 1fr;
    }

    html body.cx-design-system .cx-emergency-automation-actions > .btn {
        width: 100%;
    }
}

html body.cx-design-system .cx-alert-product-identity {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: grid;
    place-items: center;
    border: 1px solid #d7e3ec;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

html body.cx-design-system .cx-alert-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px;
}

html body.cx-design-system .alert-view-summary-main:has(.cx-alert-product-identity) {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    column-gap: 12px;
    align-items: center;
}

html body.cx-design-system .alert-view-summary-main:has(.cx-alert-product-identity)
> :is(.alert-view-badge, .alert-view-device-title, .alert-view-account-subtitle) {
    grid-column: 2;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-alert-product-identity {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    html body.cx-design-system .alert-view-summary-main:has(.cx-alert-product-identity) {
        grid-template-columns: 44px minmax(0, 1fr);
    }
}

@keyframes cx-modal-validation-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(220, 53, 69, 0);
    }
    20%, 60% {
        border-color: #dc3545 !important;
        box-shadow:
            0 0 0 3px rgba(220, 53, 69, .17),
            0 0 0 7px rgba(220, 53, 69, .06);
    }
    40%, 80% {
        border-color: #f04457 !important;
        box-shadow:
            0 0 0 2px rgba(220, 53, 69, .11),
            0 0 0 5px rgba(220, 53, 69, .04);
    }
}

.mud-dialog .cx-modal-validation-flash,
.modal .cx-modal-validation-flash,
[role="dialog"] .cx-modal-validation-flash {
    animation: cx-modal-validation-pulse .52s ease-in-out 3 !important;
    border-color: #dc3545 !important;
    scroll-margin-top: 92px !important;
    scroll-margin-bottom: 92px !important;
}

.mud-dialog .validation-message,
.mud-dialog .field-validation-error,
.mud-dialog .cx-recipient-error,
.mud-dialog .invalid-feedback,
.modal .validation-message,
.modal .field-validation-error,
.modal .cx-recipient-error,
.modal .invalid-feedback,
[role="dialog"] .validation-message,
[role="dialog"] .field-validation-error,
[role="dialog"] .cx-recipient-error,
[role="dialog"] .invalid-feedback {
    display: flex !important;
    align-items: flex-start !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
    margin-top: 7px !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(220, 53, 69, .28) !important;
    border-left: 4px solid #dc3545 !important;
    border-radius: 8px !important;
    background: #fff5f6 !important;
    color: #a82031 !important;
    font-size: .86rem !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.mud-dialog .is-invalid,
.mud-dialog [aria-invalid="true"],
.modal .is-invalid,
.modal [aria-invalid="true"],
[role="dialog"] .is-invalid,
[role="dialog"] [aria-invalid="true"] {
    border-color: #dc3545 !important;
}

.cx-emergency-automation-date {
    display: grid;
    gap: 6px;
    margin: 12px 0 4px;
    padding: 12px 14px;
    border: 1px solid #d7e3ed;
    border-radius: 10px;
    background: #f8fbfd;
}

.cx-emergency-automation-date > label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #294f70;
    font-weight: 800;
}

.cx-emergency-automation-date > small {
    color: #66798a;
    line-height: 1.45;
}

/* Data logs: the trigger must wrap the text, otherwise the fixed popover is
   anchored to the far edge of the whole table cell. */
html body.cx-design-system .cx-log-list-card .cx-data-log-trigger {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    vertical-align: top !important;
}

html body.cx-design-system .cx-data-log-popover-surface {
    width: min(560px, calc(100vw - 24px)) !important;
    max-width: min(560px, calc(100vw - 24px)) !important;
    max-height: min(58vh, 560px) !important;
    padding: 12px 14px !important;
    scrollbar-gutter: stable !important;
}

html body.cx-design-system .cx-data-log-popover-content {
    gap: 9px !important;
}

html body.cx-design-system .cx-data-log-section-title {
    padding: 7px 9px !important;
}

html body.cx-design-system .cx-data-log-section-body {
    padding: 6px 9px !important;
}

html body.cx-design-system .cx-data-log-popover-row {
    padding: 4px 0 !important;
}

/* Call-center metadata: no selected alert is useful configuration information,
   not a fatal device error. */
html body.cx-design-system .callcenter-phone-icon {
    margin-right: 5px !important;
    color: #16823b !important;
    font-size: 12pt !important;
}

html body.cx-design-system .callcenter-status-hint {
    width: 18px !important;
    height: 18px !important;
    margin-right: 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: -1px !important;
    border: 1px solid #ead8aa !important;
    border-radius: 50% !important;
    background: #fff9e9 !important;
    color: #9a6a12 !important;
    font-size: 9px !important;
    line-height: 1 !important;
    cursor: help !important;
}

html body.cx-design-system .callcenter-company {
    vertical-align: middle !important;
}

/* B-DOT: keep the low-battery setting compact instead of stretching the
   percentage field and help copy across the full dialog width. */
html body.cx-design-system .mud-dialog.cx-dialog-root.cx-r1-device-dot .device-dot-battery-section {
    padding: 12px !important;
}

html body.cx-design-system .cx-r1-device-dot .device-dot-battery-field-grid {
    grid-template-columns: minmax(150px, 205px) minmax(260px, 520px) !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 10px 14px !important;
}

html body.cx-design-system .cx-r1-device-dot .device-dot-battery-input {
    height: 40px !important;
    padding-right: 44px !important;
}

html body.cx-design-system .cx-r1-device-dot .device-dot-battery-suffix {
    width: 40px !important;
    height: 38px !important;
    font-size: 12px !important;
}

html body.cx-design-system .cx-r1-device-dot .device-dot-battery-description {
    min-height: 40px !important;
    max-width: 520px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-data-log-popover-surface {
        max-height: 46vh !important;
    }

    html body.cx-design-system .cx-r1-device-dot .device-dot-battery-field-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    html body.cx-design-system .cx-r1-device-dot .device-dot-battery-description {
        max-width: none !important;
    }
}

html body.cx-design-system .cx-shared-search .conexgo-search-clear,
html body.cx-design-system .cx-shared-search .conexgo-search-clear:hover,
html body.cx-design-system .cx-shared-search .conexgo-search-clear:focus,
html body.cx-design-system .cx-shared-search .conexgo-search-clear:focus-visible,
html body.cx-design-system .cx-shared-search .conexgo-search-clear:active {
    top: 50% !important;
    bottom: auto !important;
    right: 8px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    translate: none !important;
    scale: 1 !important;
}

/* --------------------------------------------------------------------------
   Modal form alignment and input spacing
   Keeps Device Add/Edit sections aligned and normalizes text in read-only and
   alert-comment fields without changing form behavior or validation.
   -------------------------------------------------------------------------- */

/* Device Add/Edit sections must use the same horizontal envelope. */
html body.cx-design-system
.mud-dialog.cx-r1-device-addedit
.cx-device-config-form {
    grid-template-columns: minmax(0, 1fr) !important;
}

html body.cx-design-system
.mud-dialog.cx-r1-device-addedit
.cx-device-config-form > fieldset.cx-modal-group-v21 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
}

/* Read-only modal values need a smaller, consistent left inset. */
html body.cx-design-system
.mud-dialog.cx-dialog-root
:is(
    .cx-r1-readonly-value,
    .cx-readonly-value,
    input.form-control[readonly],
    textarea.form-control[readonly]
) {
    padding-left: 20px !important;
}

html body.cx-design-system
.mud-dialog.cx-r1-device-addedit
.cx-device-activation-readonly {
    padding-left: 20px !important;
    padding-right: 10px !important;
}

/* Alert Answer: keep the prompt and typed comment on the same comfortable inset. */
html body.cx-design-system
.cx-dialog--alert-answer
.alert-answer-textarea {
    padding: 15px 17px !important;
}

html body.cx-design-system
.cx-dialog--alert-answer
@media (max-width: 767.98px) {
    html body.cx-design-system
    .mud-dialog.cx-dialog-root
    :is(
        .cx-r1-readonly-value,
        .cx-readonly-value,
        input.form-control[readonly],
        textarea.form-control[readonly]
    ) {
        padding-left: 14px !important;
    }

    html body.cx-design-system
    .cx-dialog--alert-answer
    .alert-answer-textarea {
        padding: 13px 14px !important;
    }

    html body.cx-design-system
    .cx-dialog--alert-answer
    }

/*
 * Conexgo Map Runtime
 * Shared loading, empty and error states for all Google Maps surfaces.
 * This file intentionally contains only map-state presentation; map behavior
 * remains in assets/js/conexgo/maps.js.
 */

.cx-map-state {
    width: 100%;
    min-width: 0;
    min-height: inherit;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    box-sizing: border-box;
    background: #f8fafc;
    color: #2c4c6c;
}

.cx-map-state__card {
    width: min(100%, 420px);
    max-width: 420px;
    min-width: 0;
    padding: 22px 30px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}

.cx-map-state__icon {
    width: 42px;
    height: 42px;
    margin: 0 auto 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4d7392;
    font-size: 20px;
}

.cx-map-state__spinner {
    width: 38px;
    height: 38px;
    border: 4px solid #edf0f2;
    border-top-color: #2c4c6c;
    border-radius: 50%;
    animation: conexgo-map-spin .8s linear infinite;
}

.cx-map-state__title {
    color: #2c4c6c;
    font-size: 10.5pt;
    font-weight: 750;
    line-height: 1.3;
}

.cx-map-state__subtitle {
    margin-top: 4px;
    color: #6c757d;
    font-size: 8.8pt;
    line-height: 1.35;
}

.cx-map-state--error .cx-map-state__icon {
    color: #a84545;
}

.cx-map-state--empty .cx-map-state__icon {
    color: #6c8294;
}

/* Legacy device-history GIF is retired. Loading is rendered inside the map. */
#waitIndicator.conexgo-history-wait,
.device-map-settings #waitIndicator {
    display: none !important;
}

/* Align existing device-map loading presentation with the table wait indicator. */
.device-map-loading-overlay {
    background: rgba(248, 250, 252, .94) !important;
    backdrop-filter: none !important;
}

.device-map-loading-card {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    min-height: 0 !important;
    padding: 22px 30px !important;
    gap: 0 !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06) !important;
}

.device-map-loading-spinner {
    width: 38px !important;
    height: 38px !important;
    margin: 0 auto 12px !important;
    border: 4px solid #edf0f2 !important;
    border-top-color: #2c4c6c !important;
}

.device-map-loading-title {
    margin: 0 !important;
    color: #2c4c6c !important;
    font-size: 10.5pt !important;
    font-weight: 750 !important;
}

.device-map-loading-description {
    margin-top: 4px !important;
    color: #6c757d !important;
    font-size: 8.8pt !important;
    line-height: 1.35 !important;
}

/* Geofence preview uses the same visual hierarchy while preserving its retry action. */
.device-geofence-map-preview .device-geofence-map-empty {
    width: min(100% - 28px, 420px);
    min-height: 150px;
    margin: auto;
    padding: 22px 30px;
    align-self: center;
    justify-self: center;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
    text-align: center;
}

.device-geofence-map-preview .cx-native-spinner {
    width: 38px;
    height: 38px;
    border-width: 4px;
    border-color: #edf0f2;
    border-top-color: #2c4c6c;
}

@media (max-width: 479.98px) {
    .cx-map-state {
        padding: 14px;
    }

    .cx-map-state__card,
    .device-map-loading-card,
    .device-geofence-map-preview .device-geofence-map-empty {
        padding: 18px 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cx-map-state__spinner,
    .device-map-loading-spinner,
    .device-geofence-map-preview .cx-native-spinner {
        animation-duration: 1.6s !important;
    }
}

@keyframes conexgo-map-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* --------------------------------------------------------------------------
 * Device history playback
 * Compact, accessible navigation for the selected historical GPS position.
 * -------------------------------------------------------------------------- */
.device-map-settings .conexgo-map-controller {
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #dbe5ec !important;
}

.device-map-settings .conexgo-map-controller.is-visible {
    height: auto !important;
    min-height: 62px !important;
    padding: 8px 14px !important;
    overflow: visible !important;
}

.device-map-settings .conexgo-history-playback {
    width: auto;
    max-width: min(100%, 620px);
    min-width: 0;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px;
    border: 1px solid #d8e4ec;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(39, 73, 98, .05);
}

.device-map-settings .conexgo-history-playback-controls {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;
}

.device-map-settings .conexgo-history-step {
    width: 36px;
    min-width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8e4ec;
    border-radius: 9px;
    background: #ffffff;
    color: #315f82;
    font-size: 13px;
    line-height: 1;
    box-shadow: none;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}

.device-map-settings .conexgo-history-step:hover,
.device-map-settings .conexgo-history-step:focus-visible {
    border-color: #b8cede;
    background: #eef5f9;
    color: #294f6d;
    outline: none;
}

.device-map-settings .conexgo-history-step:focus-visible {
    box-shadow: 0 0 0 3px rgba(49, 95, 130, .13);
}

.device-map-settings .conexgo-history-step[style*="cursor: auto"],
.device-map-settings .conexgo-history-step[style*="cursor:auto"] {
    border-color: #e5ebef;
    background: #f8fafb;
    color: #b7c1c9 !important;
    cursor: default !important;
    box-shadow: none !important;
}

.device-map-settings .conexgo-history-playback-time {
    min-width: 235px;
    min-height: 36px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #d8e4ec;
    border-radius: 9px;
    background: #f3f7fa;
    color: #294c68;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.device-map-settings .conexgo-history-playback-time-icon {
    flex: 0 0 auto;
    color: #527b99;
    font-size: 12px;
}

.device-map-settings #tracker_datetime:empty::after {
    content: "—";
    color: #8a9aa7;
}

@media (max-width: 575.98px) {
    .device-map-settings .conexgo-map-controller.is-visible {
        padding: 8px !important;
    }

    .device-map-settings .conexgo-history-playback {
        width: 100%;
        max-width: none;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 5px;
    }

    .device-map-settings .conexgo-history-step {
        width: 32px;
        min-width: 32px;
        height: 34px;
        border-radius: 8px;
    }

    .device-map-settings .conexgo-history-playback-time {
        width: 100%;
        min-width: 0;
        min-height: 34px;
        padding: 0 8px;
        overflow: hidden;
        font-size: 11.5px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .device-map-settings #tracker_datetime {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    .device-map-settings .conexgo-history-step {
        transition-duration: .01ms;
    }
}

/* ============================================================================
 * ConexGo report preview
 *
 * Generated reports are complete HTML documents. They stay isolated in a
 * srcdoc iframe, but the iframe grows to the document's real height so the
 * dialog owns the only vertical scrollbar.
 * ========================================================================== */

html body .mud-dialog.cx-report-preview-dialog {
    width: min(1320px, calc(100vw - 32px)) !important;
    max-width: min(1320px, calc(100vw - 32px)) !important;
    height: min(92dvh, 980px) !important;
    max-height: min(92dvh, 980px) !important;
}

html body .mud-dialog.cx-report-preview-dialog .mud-dialog-content {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: block !important;
    scrollbar-gutter: stable !important;
    scrollbar-width: thin !important;
    scrollbar-color: #9db3c5 #eef3f7 !important;
}

html body .mud-dialog.cx-report-preview-dialog .mud-dialog-content::-webkit-scrollbar {
    width: 8px;
}

html body .mud-dialog.cx-report-preview-dialog .mud-dialog-content::-webkit-scrollbar-track {
    background: #eef3f7;
}

html body .mud-dialog.cx-report-preview-dialog .mud-dialog-content::-webkit-scrollbar-thumb {
    border: 2px solid #eef3f7;
    border-radius: 999px;
    background: #9db3c5;
}

html body .mud-dialog.cx-report-preview-dialog .cx-report-preview-layout,
html body .mud-dialog.cx-report-preview-dialog .cx-report-preview-section {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
}

html body .mud-dialog.cx-report-preview-dialog .cx-report-preview-section {
    padding-bottom: 18px !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-panel {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d7e1ea !important;
    border-radius: 12px !important;
    background: #ffffff !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-toolbar {
    min-height: 48px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border-bottom: 1px solid #e1e8ef !important;
    background: #f6f9fb !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-toolbar-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #294c69 !important;
    font-size: .84rem !important;
    font-weight: 800 !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-toolbar-meta {
    color: #748596 !important;
    font-size: .76rem !important;
    white-space: normal !important;
    text-align: right !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-scroll {
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 14px !important;
    overflow: visible !important;
    background: #eef3f7 !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-rendered-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-frame {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 480px;
    min-height: 360px !important;
    display: block !important;
    overflow: hidden !important;
    border: 1px solid #dbe5ec !important;
    border-radius: 12px !important;
    background: #eef3f7 !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-empty {
    width: 100%;
    min-height: 320px;
    padding: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    color: #66798a;
    font-size: .84rem;
    font-weight: 700;
    text-align: center;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-empty-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d6e2eb;
    border-radius: 12px;
    background: #ffffff;
    color: #426b89;
    font-size: 1.05rem;
}

@media (max-width: 767.98px) {
    html body .mud-dialog.cx-report-preview-dialog {
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
        height: calc(100dvh - 12px) !important;
        max-height: calc(100dvh - 12px) !important;
    }

    html body .mud-dialog.cx-report-preview-dialog .report-preview-toolbar {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    html body .mud-dialog.cx-report-preview-dialog .report-preview-toolbar-meta {
        text-align: left !important;
    }

    html body .mud-dialog.cx-report-preview-dialog .report-preview-scroll {
        padding: 8px !important;
    }

    html body .mud-dialog.cx-report-preview-dialog .report-preview-frame {
        min-height: 320px !important;
        border-radius: 9px !important;
    }
}

/* Pending device configuration: keep the warning visible without gluing a raw orange glyph to the value. */
html body.cx-design-system .device-config-col-value > .fa-circle-exclamation,
html body.cx-design-system .device-config-col-value--wide > .fa-circle-exclamation {
    display: inline-flex !important;
    width: 22px !important;
    height: 22px !important;
    margin-inline-start: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
    border: 1px solid #e5bf67 !important;
    border-radius: 999px !important;
    background: #fff8df !important;
    color: #9a6200 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-shadow: 0 1px 2px rgba(23, 58, 87, .06) !important;
}

/* Device list dropdown: JS supplies fixed viewport coordinates. This escapes table/card/footer clipping. */
@media (min-width: 768px) {
    html body.cx-design-system .device-list-action-group,
    html body.cx-design-system .conexgo-row-action-group {
        isolation: auto !important;
    }

    html body.cx-design-system .device-list-action-group:has(> .device-list-action-menu.show),
    html body.cx-design-system .conexgo-row-action-group:has(> .conexgo-row-action-menu.show) {
        z-index: 2147481900 !important;
    }

    html body.cx-design-system .device-list-action-menu.show,
    html body.cx-design-system .conexgo-row-action-menu.show,
    html body.cx-design-system .cx-row-menu-open-above > .device-list-action-menu.show,
    html body.cx-design-system .cx-row-menu-open-above > .conexgo-row-action-menu.show {
        position: fixed !important;
        inset: auto !important;
        top: var(--cx-r1821-row-menu-top) !important;
        left: var(--cx-r1821-row-menu-left) !important;
        right: auto !important;
        bottom: auto !important;
        width: var(--cx-r1821-row-menu-width) !important;
        min-width: var(--cx-r1821-row-menu-width) !important;
        max-width: var(--cx-r1821-row-menu-width) !important;
        max-height: var(--cx-r1821-row-menu-max-height) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        transform: none !important;
        z-index: 2147482000 !important;
    }
}

/* Mobile Dashboard: normal document flow is authoritative. No masonry height/transform may clip text or cards. */
@media (max-width: 767.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        gap: 10px !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-resizable-card,
    html body.cx-design-system .conexgo-dashboard-configuration-card {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card {
        height: auto !important;
        min-height: 52px !important;
        max-height: none !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card > .card-body,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .card-body {
        display: none !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-card-header-surface,
    html body.cx-design-system .conexgo-dashboard-configuration-card > .conexgo-dashboard-card-header-surface {
        height: auto !important;
        min-height: 52px !important;
        max-height: none !important;
        padding-block: 9px !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-card-header,
    html body.cx-design-system .conexgo-dashboard-configuration-card .conexgo-dashboard-card-header {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        align-items: center !important;
        gap: 7px !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-card-title,
    html body.cx-design-system .conexgo-dashboard-configuration-card .conexgo-dashboard-card-title {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        line-height: 1.25 !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-card-action,
    html body.cx-design-system .conexgo-dashboard-configuration-card .conexgo-dashboard-card-action {
        flex: 0 0 auto !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-resizable-card:not(.conexgo-dashboard-minimized-card):not(.conexgo-dashboard-card-closing) > .card-body,
    html body.cx-design-system .conexgo-dashboard-configuration-card:not(.conexgo-dashboard-minimized-card):not(.conexgo-dashboard-card-closing) > .card-body {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-latest-mainline,
    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-latest-copy,
    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-latest-copy * {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }
}

@media (max-width: 479.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-latest-mainline {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 2px !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-latest-time {
        justify-self: start !important;
        text-align: left !important;
        white-space: normal !important;
    }
}

@media (min-width: 768px) {
    body > .cx-r1822-row-menu-portal.show {
        position: fixed !important;
        inset: auto !important;
        top: var(--cx-r1821-row-menu-top) !important;
        left: var(--cx-r1821-row-menu-left) !important;
        right: auto !important;
        bottom: auto !important;
        width: var(--cx-r1821-row-menu-width) !important;
        min-width: var(--cx-r1821-row-menu-width) !important;
        max-width: var(--cx-r1821-row-menu-width) !important;
        max-height: var(--cx-r1821-row-menu-max-height) !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        transform: none !important;
        translate: none !important;
        z-index: 2147483000 !important;
        pointer-events: auto !important;
    }
}

/* #530 / #536 / #538 / #541: desktop Device Configuration alignment and readable informational values. */
@media (min-width: 1200px) {
    html body .device-config-card .device-config-section-header,
    html body .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(150px, 1.02fr)
            40px
            minmax(170px, 1.22fr)
            minmax(150px, 1.02fr)
            minmax(100px, .68fr)
            minmax(155px, .95fr)
            38px !important;
        gap: 8px !important;
    }

    html body .device-config-card .device-config-col-value,
    html body .device-config-card .device-config-col-email,
    html body .device-config-card .device-config-col-sms,
    html body .device-config-card .device-config-col-schedule,
    html body .device-config-card .device-config-col-updated {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        line-height: 1.42 !important;
        font-size: 12.5px !important;
    }

    html body .device-config-card .device-config-col-updated { max-width: none !important; }
}

/* #538: helper/instruction text remains readable in unit-configuration dialogs. */
html body .cx-device-config-section-description,
html body .cx-device-config-section-description span {
    color: #586f84 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

html body .cx-r1878-last-updated-date {
    color: #b42318 !important;
    font-weight: 800 !important;
}

/* #535: Distributor unit list needs a more readable unit name/meta size without changing other roles. */
html body.cx-design-system .cx-device-list-card--distributor .device-list-name-text {
    font-size: 15px !important;
    line-height: 1.3 !important;
}
html body.cx-design-system .cx-device-list-card--distributor .device-list-meta,
html body.cx-design-system .cx-device-list-card--distributor .device-list-meta > span {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

/* #519: emergency-service information grouped with the emergency contact list. */
html body .cx-r1878-emergency-service-card { margin-top: 12px !important; }
html body .cx-r1878-emergency-service-inline {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(180, 35, 24, .18) !important;
}
html body .cx-r1878-emergency-service-inline > strong {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-bottom: 5px !important;
}

/* #544: identify the selected DATI at the top of every per-device journal. */
html body .cx-r1878-log-device-context {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 10px 16px 0 !important;
    padding: 9px 12px !important;
    border: 1px solid #d8e4ed !important;
    border-radius: 8px !important;
    background: #f7fafc !important;
    color: #53697d !important;
    line-height: 1.3 !important;
}
html body .cx-r1878-log-device-context i { color: #3d6287 !important; }
html body .cx-r1878-log-device-context strong { color: #213f5b !important; overflow-wrap: anywhere !important; }

/* #534: keep alert-document management visually inside Unit Information. */
html body .cx-r1878-device-alert-documents .cx-alert-documents {
    width: 100% !important;
    min-width: 0 !important;
}

html body .report-subscribe-attachment-section .report-subscribe-field { max-width: 520px !important; }

html body .cx-r1878-device-alert-documents .cx-alert-documents-manager-head {
    align-items: flex-start !important;
    gap: 12px !important;
}

html body .cx-r1878-device-alert-documents .cx-alert-documents-manager-description {
    max-width: 760px !important;
}

/* #508 — Group View selection: restore the approved highlighter-yellow row. */
html body.cx-design-system tr.cx-map-row-selected > td,
html body.cx-design-system .cx-map-row-selected > td,
html body.cx-design-system .cx-map-row-selected,
html body.cx-design-system tr.cx-map-row-selected:hover > td,
html body.cx-design-system .cx-map-row-selected:hover > td,
html body.cx-design-system .cx-map-row-selected:hover {
    background: #fff200 !important;
    color: #17233c !important;
}
html body.cx-design-system tr.cx-map-row-selected > td:first-child,
html body.cx-design-system .cx-map-row-selected > td:first-child {
    box-shadow: inset 4px 0 0 #d6ad00 !important;
}

/* #512 — Alert Answer: the five emergency-information lines use normal black
   copy; the already-approved yellow comment section remains untouched. */
html body.cx-design-system .cx-r1882-emergency-contact-lines,
html body.cx-design-system .cx-r1882-emergency-contact-lines * {
    color: #111827 !important;
}

/* #515 — Header alert Answer CTA: return to the visible Conexgo green. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action.is-answer {
    background: #78b842 !important;
    border-color: #659f35 !important;
    color: #fff !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action.is-answer > * {
    color: #fff !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action.is-answer:is(:hover, :focus-visible) {
    background: #69a63a !important;
    border-color: #5b9232 !important;
    color: #fff !important;
}

/* #519 — Contact-list modal null-safe loading state. */
html body.cx-design-system .cx-contact-list-loading,
html body.cx-design-system .cx-device-contactlist-loading {
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #51697f;
    font-weight: 650;
}

/* #530 — Device configuration follows the page grid instead of a narrow,
   centered desktop island. */
@media (min-width: 1200px) {
    html body.cx-design-system .device-config-card .device-config-main-header,
    html body.cx-design-system .device-config-card .device-config-sections-shell {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
    }
}

/* #530 — Permissions / Sign-out actions stay side-by-side; logout is danger. */
html body.cx-design-system .device-permissions-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
html body.cx-design-system .device-permissions-actions .device-permissions-query-button {
    margin: 0 !important;
}
html body.cx-design-system .device-permissions-actions .device-permissions-logout-button {
    background: #c94552 !important;
    border-color: #b43a46 !important;
    color: #fff !important;
}
html body.cx-design-system .device-permissions-actions .device-permissions-logout-button:is(:hover, :focus-visible) {
    background: #b83b47 !important;
    border-color: #a5323e !important;
    color: #fff !important;
}
html body.cx-design-system .device-permissions-actions .device-permissions-logout-button :is(svg, i, span) {
    color: inherit !important;
    stroke: currentColor !important;
}

/* #536 — Make the edit column intentionally compact and give email the room
   long addresses require. Applies only to desktop configuration rows. */
@media (min-width: 992px) {
    html body.cx-design-system .device-config-section-header,
    html body.cx-design-system .device-config-section-content {
        grid-template-columns:
            minmax(170px, 1fr)
            40px
            minmax(170px, .95fr)
            minmax(230px, 1.35fr)
            minmax(125px, .72fr)
            minmax(185px, 1fr)
            38px !important;
    }
    html body.cx-design-system .device-config-col-edit,
    html body.cx-design-system .device-config-col-edit--standalone {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding-inline: 0 !important;
    }
    html body.cx-design-system .device-config-col-email,
    html body.cx-design-system .device-config-col-email * {
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        white-space: normal !important;
        text-overflow: clip !important;
    }
}

/* #538 — Shared visual hierarchy for configuration copy.
   Function/explanation copy = bold + italic; procedure/action copy = bold. */
html body.cx-design-system .cx-device-config-section-description,
html body.cx-design-system .cx-device-config-section-description span,
html body.cx-design-system .cx-dialog-root .cx-r1-section-description,
html body.cx-design-system .cx-dialog-root .cx-r1-section-description span,
html body.cx-design-system .cx-device-config-function-copy {
    font-size: 14px !important;
    line-height: 1.48 !important;
    font-weight: 700 !important;
    font-style: italic !important;
    color: #435d74 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
}
html body.cx-design-system .cx-device-config-setting-copy > span:not(.cx-device-config-function-copy),
html body.cx-design-system .cx-device-config-field > small,
html body.cx-design-system .cx-device-config-setting-card > small,
html body.cx-design-system .cx-device-config-field-help,
html body.cx-design-system .cx-emergency-field-heading > div > span {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: #4d667c !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* #541 — Connection Service / Scheduled Reporting descriptions must never be
   clipped with an ellipsis. */
html body.cx-design-system .cx-dialog--online .cx-device-config-section-description,
html body.cx-design-system .cx-dialog--online .cx-device-config-section-description *,
html body.cx-design-system .cx-dialog--online .cx-device-config-setting-copy,
html body.cx-design-system .cx-dialog--online .cx-device-config-setting-copy * {
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
}

/* #532 — Group View / Modify Group status presentation mirrors the Unit List
   while remaining compact enough for the existing table layouts. */
html body.cx-design-system .cx-group-view-status-label,
html body.cx-design-system .cx-group-member-status-label {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 700;
    color: #27445f;
}
html body.cx-design-system .cx-group-view-status-icons,
html body.cx-design-system .cx-group-member-status-icons {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 20px;
    white-space: nowrap;
}
html body.cx-design-system .cx-group-view-status-icon,
html body.cx-design-system .cx-group-member-status-icon {
    width: 17px;
    text-align: center;
    font-size: 14px;
    line-height: 1;
}
html body.cx-design-system .cx-group-view-battery-icon,
html body.cx-design-system .cx-group-member-battery-icon {
    width: 19px;
    height: 18px;
    font-size: 14px;
    line-height: 18px;
    vertical-align: middle;
}
html body.cx-design-system .cx-group-view-battery-charge,
html body.cx-design-system .cx-group-member-battery-charge {
    font-size: 8px !important;
    line-height: 18px !important;
    color: #fff !important;
}

/* #546 — Emergency-contact review copy is full text, never line-clamped. */
html body.cx-design-system .cx-emergency-review-dialog .cx-r1-section-description,
html body.cx-design-system .cx-emergency-review-dialog .cx-r1-section-description *,
html body.cx-design-system .cx-emergency-review-dialog .cx-device-config-section-description,
html body.cx-design-system .cx-emergency-review-dialog .cx-device-config-section-description * {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-height: none !important;
    -webkit-line-clamp: unset !important;
}
html body.cx-design-system .cx-emergency-review-delivery {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #d8e5ef;
    border-radius: 8px;
    background: #f7fafc;
    color: #29465f;
    font-size: 13px;
    line-height: 1.45;
}
html body.cx-design-system .cx-emergency-review-delivery.is-success {
    border-color: #add9ba;
    background: #f2fbf5;
}
html body.cx-design-system .cx-emergency-review-delivery.is-error {
    border-color: #efb2b9;
    background: #fff5f6;
    color: #8d2833;
}
html body.cx-design-system .cx-emergency-review-delivery strong,
html body.cx-design-system .cx-emergency-review-delivery span {
    display: block;
}

/* #547 — MAIN is a normal sidebar section header, not a compressed special
   first item. Keep every section header on the exact same vertical rhythm. */
html body.cx-design-system .app-sidebar-modern .side-menu > .sub-category,
html body.cx-design-system .app-sidebar-modern .side-menu > .sub-category:first-child {
    margin: 12px 0 7px !important;
    padding: 0 !important;
    min-height: 42px !important;
    overflow: visible !important;
}
html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-toggle {
    min-height: 42px !important;
    height: 42px !important;
    padding: 9px 12px 9px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    line-height: 1.2 !important;
}
html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-title,
html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-chevron {
    line-height: 1.2 !important;
    align-self: center !important;
}

@media (max-width: 991.98px) {
    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-toggle {
        min-height: 44px !important;
        height: 44px !important;
    }
}

/* #546 — Distributor-visible, scoped emergency-review delivery log. */
html body.cx-design-system .cx-emergency-delivery-log {
    margin-top: 14px;
    border: 1px solid #d8e5ef;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}
html body.cx-design-system .cx-emergency-delivery-log__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: #f5f9fc;
    border-bottom: 1px solid #e2edf4;
    color: #29465f;
}
html body.cx-design-system .cx-emergency-delivery-log__heading > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 750;
}
html body.cx-design-system .cx-emergency-delivery-log__heading small {
    color: #60798f;
    font-size: 12px;
}
html body.cx-design-system .cx-emergency-delivery-log__rows {
    max-height: 220px;
    overflow-y: auto;
}
html body.cx-design-system .cx-emergency-delivery-log__row {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 12px;
    padding: 9px 12px;
    border-bottom: 1px solid #edf2f6;
    font-size: 12.5px;
    line-height: 1.4;
    color: #334f67;
}
html body.cx-design-system .cx-emergency-delivery-log__row:last-child {
    border-bottom: 0;
}
html body.cx-design-system .cx-emergency-delivery-log__row time {
    font-variant-numeric: tabular-nums;
    color: #60798f;
    white-space: nowrap;
}
html body.cx-design-system .cx-emergency-delivery-log__row span {
    overflow-wrap: anywhere;
}
html body.cx-design-system .cx-emergency-delivery-log__empty {
    padding: 14px 12px;
    color: #60798f;
    font-size: 13px;
}
@media (max-width: 640px) {
    html body.cx-design-system .cx-emergency-delivery-log__heading {
        align-items: flex-start;
        flex-direction: column;
    }
    html body.cx-design-system .cx-emergency-delivery-log__row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* SOURCE: Conexgo.Client/Components/Pages/account/Account_AddEdit.razor */
.cx-r1-account-addedit .cx-account-advanced-toggle {
        min-height: 36px;
        padding: 7px 11px;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border: 1px solid #d7e3eb;
        border-radius: 9px;
        background: #f8fbfd;
        color: #46657d;
        font: inherit;
        font-size: 12.5px;
        font-weight: 620;
        cursor: pointer;
    }

        .cx-r1-account-addedit .cx-account-advanced-toggle:hover,
        .cx-r1-account-addedit .cx-account-advanced-toggle:focus-visible {
            border-color: #c7d9e5;
            background: #f1f7fa;
            color: #315873;
            outline: none;
        }

    .cx-r1-account-addedit .cx-account-advanced-actions-panel {
        width: 100%;
        margin-bottom: 10px;
        padding: 10px 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px;
        border: 1px solid #dde7ed;
        border-radius: 11px;
        background: #f8fafc;
    }

    .cx-r1-account-addedit .cx-account-advanced-actions-group,
    .cx-r1-account-addedit .cx-account-primary-actions-row {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    .cx-r1-account-addedit .cx-account-primary-actions-row {
        width: 100%;
        justify-content: flex-end;
        padding-top: 2px;
    }

    @media (max-width: 767.98px) {
        .cx-r1-account-addedit .cx-account-advanced-actions-panel,
        .cx-r1-account-addedit .cx-account-primary-actions-row {
            align-items: stretch;
        }

        .cx-r1-account-addedit .cx-account-advanced-actions-group {
            width: 100%;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/account/Account_BlockNotice.razor */

    .cx-r1-account-blocknotice .account-blocknotice-history-toggle {
        width: 100%;
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 9px 11px;
        border: 1px solid #d7e0e9;
        border-radius: 10px;
        background: #f7fafc;
        color: #2c4c6c;
        text-align: left;
        cursor: pointer;
        transition: background-color .14s ease, border-color .14s ease;
    }

        .cx-r1-account-blocknotice .account-blocknotice-history-toggle:hover,
        .cx-r1-account-blocknotice .account-blocknotice-history-toggle:focus-visible {
            border-color: #b8cbdc;
            background: #eef4f8;
            outline: none;
        }

    .cx-r1-account-blocknotice .account-blocknotice-history-toggle-icon {
        width: 32px;
        min-width: 32px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #c8d7e4;
        border-radius: 8px;
        background: #ffffff;
        color: #315879;
    }

        .cx-r1-account-blocknotice .account-blocknotice-history-toggle-icon > i {
            transition: transform .18s ease;
        }

            .cx-r1-account-blocknotice .account-blocknotice-history-toggle-icon > i.is-expanded {
                transform: rotate(180deg);
            }

    .cx-r1-account-blocknotice .account-blocknotice-history-section.is-collapsed
    .account-blocknotice-history-heading {
        margin-bottom: 0;
    }

/* SOURCE: Conexgo.Client/Components/Pages/account/Account_BlockNotice.razor */
.cx-r1876-blocknotice-field-grid {
        display: grid;
        grid-template-columns: minmax(280px, 520px) minmax(220px, 1fr);
        align-items: center;
        gap: 18px;
        width: 100%;
    }

    .cx-r1876-blocknotice-primary-control {
        min-width: 0;
        width: 100%;
        max-width: 520px;
    }

        .cx-r1876-blocknotice-primary-control > :is(.form-control, .cx-custom-select, .cx-datepicker, div) {
            width: 100%;
        }

    .cx-r1876-blocknotice-action-control {
        width: 100%;
        max-width: 520px;
    }

    @media (max-width: 991.98px) {
        .cx-r1876-blocknotice-field-grid {
            grid-template-columns: 1fr;
            gap: 7px;
        }

        .cx-r1876-blocknotice-primary-control,
        .cx-r1876-blocknotice-action-control {
            max-width: none;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/account/Account_List.razor */

    html body.cx-design-system .account-list-card:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .account-list-card-body:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .account-list-table-shell:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .cx-list-data-row:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .cx-list-data-row > [class*="col-"]:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .cx-paged-list:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .conexgo-pagedlist-table-region:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .conexgo-pagedlist-table-column:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .conexgo-pagedlist-table:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .conexgo-pagedlist-table tbody:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .account-list-row:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .account-list-cell-name:has(.conexgo-row-action-menu.show) {
        overflow: visible !important;
    }

    html body.cx-design-system .account-list-card:has(.conexgo-row-action-menu.show) {
        position: relative !important;
        z-index: 5300 !important;
    }

    html body.cx-design-system .account-list-card-body:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .account-list-table-shell:has(.conexgo-row-action-menu.show) {
        position: relative !important;
        z-index: 5310 !important;
    }

    html body.cx-design-system .account-list-row:has(.conexgo-row-action-menu.show),
    html body.cx-design-system .account-list-cell-name:has(.conexgo-row-action-menu.show) {
        position: relative !important;
        z-index: 5320 !important;
    }

    html body.cx-design-system
    .account-list-cell-name
    .conexgo-row-action-group > .conexgo-row-action-menu.show {
        z-index: 5400 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

/* SOURCE: Conexgo.Client/Components/Pages/admin/BlockedCallNumber_AddEdit.razor */

    .cx-blocked-call-dialog {
        width: min(860px, calc(100vw - 32px)) !important;
        max-width: 860px !important;
    }

    .cx-blocked-call-dialog .cx-blocked-call-dialog-layout {
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 0 18px !important;
        box-sizing: border-box !important;
    }

    .cx-blocked-call-dialog .cx-blocked-call-dialog-section {
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .cx-blocked-call-dialog .cx-r1-form-row {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        align-items: center !important;
    }

    .cx-blocked-call-dialog .cx-r1-form-row > .form-label {
        padding-right: 18px !important;
    }

    .cx-blocked-call-dialog .cx-r1-form-row input.form-control,
    .cx-blocked-call-dialog .cx-r1-form-row textarea.form-control {
        width: 100% !important;
        max-width: none !important;
    }

    .cx-blocked-call-dialog .cx-blocked-call-form-help {
        display: block;
        margin-top: 6px;
        color: #6f8092;
    }

    @media (max-width: 767.98px) {
        .cx-blocked-call-dialog {
            width: calc(100vw - 20px) !important;
            max-width: calc(100vw - 20px) !important;
        }

        .cx-blocked-call-dialog .cx-r1-form-row > .form-label {
            padding-right: 0 !important;
            text-align: left !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/admin/BlockedCallNumber_List.razor */

    .cx-blocked-call-page .device-list-action-group {
        position: relative;
        z-index: 1065;
        min-height: 46px;
        width: min(100%, 320px);
    }

    .cx-blocked-call-page .device-list-name-button,
    .cx-blocked-call-page .device-list-action-toggle {
        min-height: 46px !important;
    }

    .cx-blocked-call-page .device-list-name-button {
        min-width: 0;
        flex: 1 1 auto;
        padding-inline: 12px !important;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        text-align: left !important;
        cursor: default;
    }

    .cx-blocked-call-page .device-list-name-text {
        min-width: 0;
        flex: 1 1 auto;
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .cx-blocked-call-page .cx-blocked-call-phone-icon {
        width: 22px;
        flex: 0 0 22px;
        text-align: center;
    }

    .cx-blocked-call-page .device-list-action-toggle {
        flex: 0 0 48px !important;
        width: 48px !important;
        min-width: 48px !important;
    }

    .cx-blocked-call-page .device-list-action-menu,
    .cx-blocked-call-page .device-list-action-menu.show {
        width: min(230px, calc(100vw - 28px));
        min-width: min(230px, calc(100vw - 28px));
        max-width: calc(100vw - 28px);
        max-height: min(66vh, 520px);
        overflow-y: auto;
        overflow-x: hidden;
        padding: 8px;
        border: 1px solid #d7e1ea;
        border-radius: 10px;
        box-shadow: 0 16px 34px rgba(30, 52, 75, .18);
        scrollbar-gutter: stable;
        z-index: 1150 !important;
    }

    .cx-blocked-call-page .device-list-action-menu .dropdown-item {
        min-height: 40px;
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 8px 10px;
        border-radius: 7px;
        color: #324b67;
        white-space: normal;
        line-height: 1.3;
        text-decoration: none !important;
    }

    .cx-blocked-call-page .device-list-action-menu .dropdown-item:hover,
    .cx-blocked-call-page .device-list-action-menu .dropdown-item:focus {
        background: #eaf2f8;
        color: #24435f;
    }

    .cx-blocked-call-page .device-list-action-menu .dropdown-item > span {
        width: 18px;
        flex: 0 0 18px;
        text-align: center;
    }

    /*
       Desktop: never allow Popper/table geometry to flip this menu upward.
       There is reserved row space below it exactly for this purpose.
    */
    @media (min-width: 1200px) {
        .cx-blocked-call-page .cx-blocked-call-table-responsive {
            overflow: visible !important;
        }

        .cx-blocked-call-page .device-list-action-menu,
        .cx-blocked-call-page .device-list-action-menu.show {
            position: absolute !important;
            top: calc(100% + 7px) !important;
            right: 0 !important;
            bottom: auto !important;
            left: auto !important;
            inset: auto 0 auto auto !important;
            margin: 0 !important;
            transform: none !important;
        }

        .cx-blocked-call-page .conexgo-pagedlist-table tbody tr:has(.device-list-action-menu.show),
        .cx-blocked-call-page .conexgo-pagedlist-table tbody td:has(.device-list-action-menu.show),
        .cx-blocked-call-page .device-list-action-group:has(.device-list-action-menu.show) {
            position: relative;
            z-index: 1140 !important;
        }
    }

    /* Same small-screen menu treatment as Device_List. */
    @media (max-width: 1199.98px) {
        .cx-blocked-call-page .device-list-action-group {
            width: 100% !important;
            min-width: 0 !important;
            max-width: 100% !important;
        }

        .cx-blocked-call-page .device-list-action-menu,
        .cx-blocked-call-page .device-list-action-menu.show {
            position: fixed !important;
            inset: auto 12px calc(78px + env(safe-area-inset-bottom, 0px)) 12px !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: 420px !important;
            max-height: min(58vh, 480px) !important;
            margin-inline: auto !important;
            box-sizing: border-box !important;
            transform: none !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
            z-index: 1150 !important;
        }
    }

    @media (max-width: 575.98px) {
        .cx-blocked-call-page .device-list-action-menu,
        .cx-blocked-call-page .device-list-action-menu.show {
            inset-inline: 8px !important;
            max-width: calc(100vw - 16px) !important;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .cx-blocked-call-page .device-list-action-menu .dropdown-item {
            transition: none !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/device/Device_AddEdit.razor */
.cx-r1-device-addedit .cx-r1-readonly-value {
        min-height: 48px !important;
        padding: 10px 18px 10px 20px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        border: 1px solid #cbdce8 !important;
        border-radius: 10px !important;
        background: #f7fafc !important;
        color: #254963 !important;
        font-weight: 560 !important;
        line-height: 1.35 !important;
        box-shadow: inset 3px 0 0 rgba(54, 99, 132, .10) !important;
        overflow-wrap: anywhere;
    }

    .cx-r1-device-addedit .cx-device-activation-readonly {
        justify-content: space-between !important;
        padding-right: 10px !important;
    }

    .cx-device-activation-value {
        min-width: 0;
        flex: 1 1 auto;
    }

    .cx-device-activation-actions {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        flex: 0 0 auto;
        gap: 6px;
        margin-left: auto;
    }

    .cx-device-readonly-action {
        width: 34px;
        min-width: 34px;
        height: 34px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid transparent;
        border-radius: 8px;
        background: transparent;
        color: #315f82;
        cursor: pointer;
        transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
    }

    .cx-device-readonly-action:hover,
    .cx-device-readonly-action:focus-visible {
        border-color: #d3e1ea;
        background: #edf4f8;
        color: #234f70;
        outline: none;
    }

    .cx-modal-title-device-info::before {
        content: "\f06e" !important;
    }

    @media (max-width: 767.98px) {
        .cx-r1-device-addedit .cx-r1-readonly-value {
            min-height: 46px !important;
            padding: 9px 14px !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/device/Device_AddEdit.razor */

    @media (min-width: 992px) {
        .cx-dialog--device.cx-r1-device-addedit .cx-modal-group-v21--device-general,
        .cx-dialog--device .cx-r1-device-addedit .cx-modal-group-v21--device-general,
        .cx-r1-device-addedit .cx-modal-group-v21--device-general {
            width: min(100%, 1040px) !important;
            max-width: 1040px !important;
            margin-right: auto !important;
            margin-left: auto !important;
        }

        .cx-r1-device-addedit .cx-modal-group-v21--device-general .cx-r1-form-row:not(.cx-r1-device-switch-row) {
            width: 100% !important;
            max-width: none !important;
            min-width: 0 !important;
            margin-right: 0 !important;
            margin-left: 0 !important;
            display: grid !important;
            grid-template-columns: minmax(190px, 225px) minmax(0, 1fr) !important;
            column-gap: 18px !important;
            align-items: center !important;
        }

        .cx-r1-device-addedit .cx-modal-group-v21--device-general .cx-r1-form-row:not(.cx-r1-device-switch-row) > .form-label {
            width: auto !important;
            max-width: none !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding-right: 0 !important;
            padding-left: 0 !important;
            text-align: right !important;
        }

        .cx-r1-device-addedit .cx-modal-group-v21--device-general .cx-r1-form-row:not(.cx-r1-device-switch-row) > :not(.form-label) {
            width: auto !important;
            max-width: none !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding-right: 0 !important;
            padding-left: 0 !important;
        }

        .cx-r1-device-addedit .cx-modal-group-v21--device-general :is(
            input.form-control,
            select.form-control,
            select.form-select,
            .cx-custom-select-root,
            .cx-custom-select-trigger,
            .cx-r1-readonly-value
        ) {
            width: 100% !important;
            max-width: 760px !important;
            min-width: 0 !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/device/Device_DOT.razor */

    .cx-r1-device-dot .device-dot-grid {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        grid-template-columns: repeat(auto-fit, minmax(280px, 340px)) !important;
        justify-content: end !important;
        justify-items: stretch !important;
        box-sizing: border-box !important;
    }

    .cx-r1-device-dot .device-dot-card {
        width: 100% !important;
        max-width: 340px !important;
        grid-template-columns: 64px minmax(0, 1fr) !important;
        column-gap: 18px !important;
        padding: 14px !important;
    }

    .cx-r1-device-dot .device-dot-image {
        width: 52px !important;
        height: 52px !important;
        max-width: 52px !important;
        max-height: 52px !important;
    }

    .cx-r1-device-dot .device-dot-card-details,
    .cx-r1-device-dot .device-dot-card-action {
        padding-left: 0 !important;
    }

    @media (max-width: 760px) {
        .cx-r1-device-dot .device-dot-grid {
            grid-template-columns: minmax(0, 1fr) !important;
            justify-content: stretch !important;
        }

        .cx-r1-device-dot .device-dot-card {
            max-width: none !important;
        }
    }

    @media (max-width: 575.98px) {
        .cx-r1-device-dot .device-dot-card {
            grid-template-columns: 58px minmax(0, 1fr) !important;
            column-gap: 14px !important;
            padding: 12px !important;
        }

        .cx-r1-device-dot .device-dot-image {
            width: 48px !important;
            height: 48px !important;
            max-width: 48px !important;
            max-height: 48px !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/device/Device_Map.razor */

    .device-map-card {
        overflow: hidden;
        border: 1px solid #d8e4ec;
        border-radius: 12px;
        background: #ffffff;
        box-shadow: 0 8px 24px rgba(34, 67, 92, .07);
    }

    .device-map-card > .card-body {
        padding: 0;
    }

    .device-map-inner-header {
        margin: 0;
        padding: 14px 18px;
        border: 0;
        border-bottom: 1px solid #294f6d;
        border-radius: 12px 12px 0 0;
        background: #315f82;
    }

    .device-map-header-layout {
        width: 100%;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
    }

    .device-map-identity {
        min-width: 0;
        display: flex;
        align-items: center;
        flex: 1 1 auto;
    }

    .device-map-back {
        margin-right: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        color: #ffffff;
        text-decoration: none;
    }

    .device-map-back:hover,
    .device-map-back:focus {
        color: #ffffff;
        opacity: .88;
    }

    .device-map-avatar,
    .device-map-avatar-placeholder {
        width: 42px;
        height: 42px;
        min-width: 42px;
        margin-right: 12px;
        border: 1px solid rgba(255, 255, 255, .32);
        border-radius: 50%;
        background: rgba(255, 255, 255, .11);
    }

    .device-map-avatar {
        display: block;
        object-fit: cover;
    }

    .device-map-avatar-placeholder {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        font-size: 16px;
    }

    .device-map-name-block {
        min-width: 0;
    }

    .device-map-name-row {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .device-map-name {
        min-width: 0;
        display: block;
        overflow: hidden;
        color: #ffffff;
        font-size: 18px;
        font-weight: 760;
        line-height: 1.2;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .device-map-info {
        flex: 0 0 auto;
        color: rgba(255, 255, 255, .9);
        font-size: 13px;
        cursor: help;
    }

    .device-map-meta {
        display: block;
        margin-top: 4px;
        overflow: hidden;
        color: rgba(255, 255, 255, .76);
        font-size: 11.5px;
        line-height: 1.25;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .device-map-location-strip {
        min-height: 44px;
        margin: 0;
        padding: 9px 18px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 9px;
        border: 0;
        border-bottom: 1px solid #dde7ee;
        background: #fbfdfe;
        color: #2c4c68;
        font-size: 13px;
        line-height: 1.35;
    }

    .device-map-location-strip i {
        width: 24px;
        height: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 24px;
        border-radius: 7px;
        background: #eef5f9;
        color: #527b99;
        font-size: 11px;
    }

    .device-map-location-strip.is-empty {
        color: #677d8f;
        background: #fafcfd;
    }

    .device-map-location-strip span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .device-map-settings {
        margin: 0;
        overflow: hidden;
        border-bottom: 1px solid #d9e4eb;
        background: #f7fafc;
    }

    .device-map-settings .conexgo-device-setting-toolbar,
    .device-map-settings .setting-header {
        width: calc(100% - 58px) !important;
        min-height: 56px !important;
        margin: 0 !important;
        float: left !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #f7fafc !important;
    }

    .device-map-settings .conexgo-device-setting-toolbar > section,
    .device-map-settings .setting-header > section {
        width: 100% !important;
        min-width: 0 !important;
    }

    .device-map-settings .conexgo-device-setting-toolbar .dashboard,
    .device-map-settings .setting-header .dashboard {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 56px !important;
        margin: 0 !important;
        padding: 7px 10px !important;
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        list-style: none !important;
        scrollbar-width: thin;
    }

    .device-map-settings .conexgo-device-setting-toolbar .dashboard > li,
    .device-map-settings .setting-header .dashboard > li {
        min-width: 0 !important;
        min-height: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 7px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: transparent !important;
        color: #8495a4;
        transition:
            background-color 130ms ease,
            color 130ms ease;
    }

    .device-map-settings .conexgo-device-setting-toolbar .dashboard > li:hover,
    .device-map-settings .setting-header .dashboard > li:hover,
    .device-map-settings .conexgo-device-setting-toolbar .dashboard > li:focus-within,
    .device-map-settings .setting-header .dashboard > li:focus-within {
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        filter: none !important;
    }

    .device-map-settings .conexgo-device-status-item {
        border-radius: 8px !important;
        cursor: help !important;
    }

    .device-map-settings .conexgo-device-status-item {
        position: relative;
        min-width: 46px !important;
        width: 46px !important;
        height: 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: help;
    }

    .device-map-settings .conexgo-device-status-item .fa-stack,
    .device-map-settings .setting-header .fa-stack {
        width: 28px !important;
        height: 28px !important;
        line-height: 28px !important;
    }

    .device-map-settings #battery {
        font-size: 20px !important;
    }

    .device-map-settings #battery_charging {
        font-size: 9px !important;
    }

    .device-map-settings .conexgo-device-cellular {
        min-width: 46px !important;
        width: 46px !important;
    }

    .device-map-settings .conexgo-device-cellular .signal,
    .device-map-settings .setting-header #sig {
        transform: scale(.96) !important;
        transform-origin: center !important;
    }

    .device-map-settings .conexgo-device-gps-icon,
    .device-map-settings .conexgo-device-connectivity-icon {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        filter: none !important;
        text-shadow: none !important;
        line-height: 1 !important;
    }

    .device-map-settings .conexgo-device-gps-icon,
    .device-map-settings .conexgo-device-connectivity-icon,
    .device-map-settings .conexgo-device-connectivity-icon i {
        color: inherit !important;
    }

    .device-map-settings .conexgo-device-gps-icon,
    .device-map-settings .conexgo-device-connectivity-icon i {
        font-size: 18px !important;
        line-height: 1 !important;
        vertical-align: middle !important;
        transform: none !important;
        filter: none !important;
        text-shadow: none !important;
    }

    .device-map-settings .conexgo-device-connectivity-dot {
        display: none !important;
    }

    .device-map-settings .conexgo-device-history-item {
        min-width: 220px !important;
        max-width: 310px !important;
        height: 42px !important;
        padding: 0 4px 0 8px !important;
        flex: 0 1 310px !important;
        justify-content: flex-start !important;
        background: transparent !important;
    }

    .device-map-settings .conexgo-device-history-icon {
        display: none !important;
    }

    .device-map-settings .conexgo-device-history-select,
    .device-map-settings .setting-header select {
        width: 100% !important;
        min-width: 190px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 6px 38px 6px 12px !important;
        border: 1px solid #cad9e4 !important;
        border-radius: 9px !important;
        background-color: #ffffff !important;
        color: #284b67 !important;
        font-size: 13px !important;
        font-weight: 680 !important;
        line-height: 1.2 !important;
        box-shadow: 0 2px 6px rgba(39, 73, 98, .035) !important;
        cursor: pointer !important;
        transition:
            border-color 130ms ease,
            background-color 130ms ease,
            box-shadow 130ms ease !important;
    }

    .device-map-settings .conexgo-device-history-select:hover,
    .device-map-settings .setting-header select:hover {
        border-color: #aec5d5 !important;
        background-color: #fcfdff !important;
    }

    .device-map-settings .conexgo-device-history-select:focus,
    .device-map-settings .setting-header select:focus {
        border-color: #79a2bf !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(61, 98, 135, .10) !important;
    }

    .device-map-settings .setting-header-config {
        width: 58px !important;
        min-height: 56px !important;
        margin: 0 !important;
        float: right !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-left: 1px solid #d9e4eb !important;
        border-radius: 0 !important;
        background: #f7fafc !important;
    }

    .device-map-settings .setting-header-config .dashboard,
    .device-map-settings .setting-header-config .dashboard-item {
        width: 100% !important;
        min-height: 56px !important;
        height: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        background: transparent !important;
    }

    .device-map-settings .setting-header-config a {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #cbd9e4 !important;
        border-radius: 9px !important;
        background: #ffffff !important;
        color: #315f82 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        box-shadow: 0 2px 6px rgba(39, 73, 98, .04) !important;
        transition:
            background-color 130ms ease,
            border-color 130ms ease,
            color 130ms ease !important;
    }

    .device-map-settings .setting-header-config a:hover,
    .device-map-settings .setting-header-config a:focus {
        border-color: #adc5d6 !important;
        background: #edf4f8 !important;
        color: #294f6d !important;
        opacity: 1 !important;
    }

    .device-map-settings .setting-header-config a i {
        padding: 0 !important;
        color: inherit !important;
        font-size: 18px !important;
        line-height: 1 !important;
    }

    .device-map-settings .setting-header-config a span,
    .device-map-settings .setting-header-config a br {
        display: none !important;
    }

    .device-map-settings > .setting_header:not(#map-controller) {
        clear: both;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-top: 1px solid #e1e9ef !important;
        border-bottom: 1px solid #d9e4eb !important;
        background: #fbfcfd !important;
    }

    .device-map-settings > .setting_header:not(#map-controller) > section {
        padding: 14px 16px 16px !important;
        overflow: visible !important;
    }

    .device-map-settings > .setting_header:not(#map-controller) .row {
        --bs-gutter-x: .85rem;
        --bs-gutter-y: .7rem;
    }

    .device-map-settings > .setting_header:not(#map-controller) .form-label {
        margin-bottom: 5px !important;
        color: #576e81 !important;
        font-size: 11.5px !important;
        font-weight: 720 !important;
        line-height: 1.2 !important;
    }

    .device-map-settings > .setting_header:not(#map-controller) .form-control,
    .device-map-settings > .setting_header:not(#map-controller) .form-select {
        width: 100% !important;
        min-width: 0 !important;
        height: 40px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        border: 1px solid #cbd9e4 !important;
        border-radius: 8px !important;
        background-color: #ffffff !important;
        color: #284b67 !important;
        font-size: 13px !important;
        box-shadow: none !important;
    }

    .device-map-settings > .setting_header:not(#map-controller) .form-control:focus,
    .device-map-settings > .setting_header:not(#map-controller) .form-select:focus {
        border-color: #79a2bf !important;
        box-shadow: 0 0 0 3px rgba(61, 98, 135, .10) !important;
    }

    .device-map-settings #goButton {
        height: 40px !important;
        padding: 0 15px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        border: 1px solid #315f82 !important;
        border-radius: 8px !important;
        background: #315f82 !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        box-shadow: none !important;
    }

    .device-map-settings #goButton:hover,
    .device-map-settings #goButton:focus,
    .device-map-settings #goButton:active {
        border-color: #294f6d !important;
        background: #294f6d !important;
        color: #ffffff !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .device-map-settings #waitIndicator {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .device-map-settings #map-controller {
        clear: both;
        border: 0 !important;
    }

    .device-map-canvas-shell {
        position: relative;
        clear: both;
        margin: 0;
        min-width: 0;
        overflow: hidden;
        border: 0;
        background: #f7f9fb;
    }

    #map-canvas {
        width: 100%;
        height: clamp(350px, 50vh, 540px);
        min-height: 350px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f7f9fb;
        color: #6a7d8e;
        font-size: 13px;
    }

    .device-map-canvas-shell.is-empty {
        min-height: 300px;
        background:
            radial-gradient(circle at 50% 42%, rgba(76, 124, 159, .055), transparent 28%),
            #f7f9fb;
    }

    .device-map-canvas-shell.is-empty #map-canvas {
        display: none !important;
    }

    .device-map-empty-state {
        min-height: 300px;
        padding: 36px 22px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        color: #62798c;
        text-align: center;
    }

    .device-map-empty-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 5px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d7e4ec;
        border-radius: 14px;
        background: #ffffff;
        color: #527b99;
        font-size: 17px;
        box-shadow: 0 4px 12px rgba(39, 73, 98, .05);
    }

    .device-map-empty-title {
        color: #294c68;
        font-size: 15px;
        font-weight: 760;
        line-height: 1.3;
    }

    .device-map-empty-description {
        max-width: 430px;
        color: #738697;
        font-size: 12.5px;
        line-height: 1.5;
    }

    .device-map-loading-overlay {
        position: absolute;
        inset: 0;
        z-index: 8;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 22px;
        background: rgba(247, 249, 252, .90);
        backdrop-filter: blur(1.5px);
    }

    .device-map-canvas-shell.is-loading .device-map-loading-overlay {
        display: flex;
    }

    .device-map-loading-card {
        width: min(330px, calc(100% - 28px));
        min-height: 188px;
        padding: 25px 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 11px;
        border: 1px solid #d7e2ea;
        border-radius: 12px;
        background: #ffffff;
        box-shadow: 0 8px 24px rgba(44, 76, 108, .08);
        color: #315f82;
        text-align: center;
    }

    .device-map-loading-spinner {
        width: 48px;
        height: 48px;
        display: block;
        border: 5px solid #e6edf2;
        border-top-color: #315f82;
        border-radius: 50%;
        animation: device-map-loading-spin .85s linear infinite;
    }

    .device-map-loading-title {
        margin-top: 2px;
        color: #294c68;
        font-size: 15px;
        font-weight: 760;
        line-height: 1.25;
    }

    .device-map-loading-description {
        max-width: 270px;
        color: #768797;
        font-size: 12.5px;
        line-height: 1.5;
    }

    @keyframes device-map-loading-spin {
        to {
            transform: rotate(360deg);
        }
    }

    @media (max-width: 991.98px) {
        .device-map-settings .conexgo-device-setting-toolbar,
        .device-map-settings .setting-header {
            width: 100% !important;
            float: none !important;
        }

        .device-map-settings .setting-header-config {
            display: none !important;
        }

        .device-map-settings .conexgo-device-setting-toolbar .dashboard,
        .device-map-settings .setting-header .dashboard {
            justify-content: flex-start !important;
        }

        #map-canvas {
            height: clamp(330px, 48vh, 480px);
            min-height: 330px;
        }
    }

    @media (max-width: 575.98px) {
        .device-map-inner-header {
            padding: 12px;
        }

        .device-map-avatar,
        .device-map-avatar-placeholder {
            width: 36px;
            height: 36px;
            min-width: 36px;
            margin-right: 9px;
        }

        .device-map-name {
            font-size: 15px;
        }

        .device-map-meta {
            max-width: calc(100vw - 104px);
            font-size: 10.5px;
        }

        .device-map-location-strip {
            min-height: 42px;
            padding: 8px 11px;
            font-size: 12px;
        }

        .device-map-settings .conexgo-device-setting-toolbar,
        .device-map-settings .setting-header {
            min-height: 0 !important;
            overflow: visible !important;
        }

        .device-map-settings .conexgo-device-setting-toolbar .dashboard,
        .device-map-settings .setting-header .dashboard {
            min-height: 0 !important;
            padding: 7px 8px !important;
            display: grid !important;
            grid-template-columns: repeat(5, minmax(44px, 1fr)) !important;
            align-items: stretch !important;
            gap: 4px !important;
            overflow: visible !important;
        }

        .device-map-settings .conexgo-device-setting-toolbar .dashboard > li,
        .device-map-settings .setting-header .dashboard > li {
            width: auto !important;
            min-width: 0 !important;
            min-height: 40px !important;
            height: 40px !important;
            padding: 0 !important;
        }

        .device-map-settings .conexgo-device-status-item,
        .device-map-settings .conexgo-device-cellular {
            width: 100% !important;
            min-width: 0 !important;
            height: 40px !important;
        }

        .device-map-settings .conexgo-device-history-item {
            grid-column: 1 / -1;
            width: 100% !important;
            max-width: none !important;
            min-width: 0 !important;
            height: auto !important;
            min-height: 46px !important;
            padding: 4px 0 0 !important;
        }

        .device-map-settings .conexgo-device-history-select,
        .device-map-settings .setting-header select {
            width: 100% !important;
            min-width: 0 !important;
            height: 40px !important;
        }

        .device-map-settings > .setting_header:not(#map-controller) > section {
            padding: 12px !important;
        }

        #map-canvas {
            height: 320px;
            min-height: 320px;
        }

        .device-map-canvas-shell.is-empty,
        .device-map-empty-state {
            min-height: 270px;
        }

        .device-map-empty-state {
            padding: 28px 18px;
        }

        .device-map-loading-overlay {
            padding: 14px;
        }

        .device-map-loading-card {
            min-height: 170px;
            padding: 21px 17px;
        }

        .device-map-loading-spinner {
            width: 44px;
            height: 44px;
            border-width: 4px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .device-map-settings .conexgo-device-setting-toolbar .dashboard > li,
        .device-map-settings .setting-header .dashboard > li,
        .device-map-settings .conexgo-device-history-select,
        .device-map-settings .setting-header select,
        .device-map-settings .setting-header-config a {
            transition-duration: .01ms !important;
        }

        .device-map-loading-spinner {
            animation-duration: 1.4s;
        }
    }

    
    .device-map-settings {
        position: relative;
        z-index: 4;
        overflow: visible !important;
    }

    .device-map-settings .conexgo-device-setting-toolbar,
    .device-map-settings .setting-header,
    .device-map-settings .conexgo-device-setting-toolbar > section,
    .device-map-settings .setting-header > section {
        overflow: visible !important;
    }

    .device-map-settings .conexgo-device-setting-toolbar .dashboard,
    .device-map-settings .setting-header .dashboard {
        overflow-y: visible !important;
    }

    .device-map-settings .conexgo-device-history-item {
        position: relative;
        z-index: 8;
        width: 270px !important;
        min-width: 250px !important;
        max-width: 300px !important;
        flex: 0 0 270px !important;
    }

    .device-map-settings .conexgo-device-history-item :is(
        .cx-custom-select-root,
        .cx-control-field,
        .cx-control-field--select,
        .cx-custom-select-trigger,
        .conexgo-device-history-select
    ) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .device-map-settings .conexgo-device-history-item .cx-custom-select-value {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .device-map-settings > .setting_header:not(#map-controller) .conexgo-history-form {
        width: 100% !important;
        max-width: 1040px !important;
        margin-right: auto !important;
        margin-left: 0 !important;
    }

    @media (max-width: 991.98px) {
        .device-map-settings .conexgo-device-setting-toolbar .dashboard,
        .device-map-settings .setting-header .dashboard {
            flex-wrap: wrap !important;
            overflow-x: visible !important;
            overflow-y: visible !important;
        }

        .device-map-settings .conexgo-device-history-item {
            width: auto !important;
            min-width: min(260px, 100%) !important;
            max-width: 360px !important;
            flex: 1 1 280px !important;
        }
    }

    @media (max-width: 575.98px) {
        .device-map-settings .conexgo-device-history-item {
            grid-column: 1 / -1 !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            flex: 1 1 100% !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/device/Device_PhoneEvents.razor */

    .cx-dialog--phone-events .row.mt-3:has(> [style*="lightcyan"]) {
        width: 100% !important;
        margin: 14px 0 0 !important;
        display: block !important;
    }

    .cx-dialog--phone-events .row.mt-3:has(> [style*="lightcyan"]) > [style*="lightcyan"],
    .cx-dialog--phone-events .cx-device-config-last-updated,
    .cx-dialog--phone-events .cx-r1-phoneevents-last-updated,
    .cx-dialog--phone-events .device-phoneevents-last-updated,
    .cx-dialog--phone-events .device-phone-events-last-updated {
        width: min(100%, 760px) !important;
        max-width: 760px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 12px 14px !important;
        display: block !important;
        border: 1px solid #d6e3ec !important;
        border-left: 4px solid #527b99 !important;
        border-radius: 10px !important;
        background: #f4f8fb !important;
        color: #40566a !important;
        box-sizing: border-box !important;
    }

    .cx-dialog--phone-events .row.mt-3:has(> [style*="lightcyan"]) > [style*="lightcyan"] > div,
    .cx-dialog--phone-events .cx-device-config-last-updated > div,
    .cx-dialog--phone-events .cx-r1-phoneevents-last-updated > div,
    .cx-dialog--phone-events .device-phoneevents-last-updated > div,
    .cx-dialog--phone-events .device-phone-events-last-updated > div {
        width: 100% !important;
        max-width: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    .cx-dialog--phone-events .cx-device-config-last-updated,
    .cx-dialog--phone-events .cx-r1-phoneevents-last-updated,
    .cx-dialog--phone-events .device-phoneevents-last-updated,
    .cx-dialog--phone-events .device-phone-events-last-updated {
        display: grid !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
        column-gap: 12px !important;
        align-items: start !important;
    }

    @media (max-width: 575.98px) {
        .cx-dialog--phone-events .cx-device-config-last-updated,
        .cx-dialog--phone-events .cx-r1-phoneevents-last-updated,
        .cx-dialog--phone-events .device-phoneevents-last-updated,
        .cx-dialog--phone-events .device-phone-events-last-updated {
            width: 100% !important;
            max-width: none !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/device/Device_RingTone.razor */

    .cx-dialog--ringtone .row.mt-3:has(> [style*="lightcyan"]) {
        width: 100% !important;
        margin: 14px 0 0 !important;
        display: block !important;
    }

    .cx-dialog--ringtone .row.mt-3:has(> [style*="lightcyan"]) > .col-md-3 {
        display: none !important;
    }

    .cx-dialog--ringtone .row.mt-3:has(> [style*="lightcyan"]) > [style*="lightcyan"],
    .cx-dialog--ringtone .cx-device-config-last-updated,
    .cx-dialog--ringtone .cx-r1-ringtone-last-updated,
    .cx-dialog--ringtone .device-ringtone-last-updated {
        width: min(100%, 760px) !important;
        max-width: 760px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 12px 14px !important;
        display: block !important;
        border: 1px solid #d6e3ec !important;
        border-left: 4px solid #527b99 !important;
        border-radius: 10px !important;
        background: #f4f8fb !important;
        color: #40566a !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
        box-sizing: border-box !important;
    }

    .cx-dialog--ringtone .row.mt-3:has(> [style*="lightcyan"]) > [style*="lightcyan"] > div,
    .cx-dialog--ringtone .cx-device-config-last-updated > div,
    .cx-dialog--ringtone .cx-r1-ringtone-last-updated > div,
    .cx-dialog--ringtone .device-ringtone-last-updated > div {
        width: 100% !important;
        max-width: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    
    .cx-dialog--ringtone .cx-ringtone-choice-select > input[type="radio"] {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
    }

    .cx-dialog--ringtone .cx-ringtone-choice-select > .cx-device-config-choice-indicator {
        position: absolute !important;
        left: 16px !important;
        top: 50% !important;
        width: 20px !important;
        height: 20px !important;
        transform: translateY(-50%) !important;
        border: 2px solid #9aabba !important;
        border-radius: 50% !important;
        background: #fff !important;
        box-shadow: inset 0 0 0 4px #fff !important;
        pointer-events: none !important;
    }

    .cx-dialog--ringtone .cx-ringtone-choice-select > input[type="radio"]:checked + .cx-device-config-choice-indicator {
        border-color: #315f8a !important;
        background: #315f8a !important;
    }

    .cx-dialog--ringtone .cx-ringtone-choice-select:focus-within > .cx-device-config-choice-indicator {
        outline: 2px solid rgba(49, 95, 138, .28) !important;
        outline-offset: 2px !important;
    }

/* SOURCE: Conexgo.Client/Components/Pages/device/Geofence.razor */

    .device-geofence-configuration-layout-with-preview {
        display: grid !important;
        grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
        align-items: start !important;
        gap: 20px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .device-geofence-configuration-layout-without-preview {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .device-geofence-fields-column {
        min-width: 0 !important;
    }

    .device-geofence-map-card {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        min-height: 390px !important;
        height: clamp(390px, 52dvh, 540px) !important;
        max-height: min(60dvh, 560px) !important;
        align-self: start !important;
        overflow: hidden !important;
        border: 1px solid #cfdeea !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        box-shadow: 0 5px 18px rgba(35, 74, 108, .08) !important;
    }

    .device-geofence-map-header {
        position: relative !important;
        z-index: 10 !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        min-height: 52px !important;
        padding: 0 14px !important;
        border-bottom: 1px solid #dbe6ef !important;
        background: #f7fafc !important;
        color: #244d70 !important;
        font-weight: 800 !important;
    }

    .device-geofence-map-header > div {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .device-geofence-map-preview {
        display: block !important;
        position: relative !important;
        isolation: isolate !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 330px !important;
        flex: 1 1 330px !important;
        overflow: hidden !important;
        background: #eef4f8 !important;
    }

    .device-geofence-map-preview > div,
    .device-geofence-map-preview .gm-style {
        width: 100% !important;
        height: 100% !important;
        min-height: 330px !important;
    }

    .device-geofence-map-empty {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        padding: 28px !important;
        text-align: center !important;
        background:
            radial-gradient(circle at 50% 35%, rgba(74, 126, 168, .09), transparent 42%),
            #f5f9fc !important;
        color: #4a6175 !important;
    }

    .device-geofence-map-empty > i {
        width: 52px !important;
        height: 52px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #cbdce8 !important;
        border-radius: 50% !important;
        background: #ffffff !important;
        color: #356789 !important;
        font-size: 21px !important;
        box-shadow: 0 5px 14px rgba(35, 74, 108, .08) !important;
    }

    .device-geofence-map-empty strong {
        color: #244d70 !important;
        font-size: 16px !important;
        font-weight: 800 !important;
    }

    .device-geofence-map-empty span {
        max-width: 330px !important;
        line-height: 1.5 !important;
    }

    .device-geofence-map-empty .btn {
        margin-top: 4px !important;
    }

    .device-geofence-map-status {
        z-index: 8 !important;
        min-height: 100% !important;
        background: #f5f9fc !important;
    }

    
    .device-geofence-map-card.device-geofence-map-resizable {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        resize: none !important;
        flex: initial !important;
    }

    .device-geofence-map-canvas {
        z-index: 1 !important;
        background: #eef4f8 !important;
    }

    @media (max-width: 1199.98px) {
        .device-geofence-configuration-layout-with-preview {
            grid-template-columns: minmax(0, 1fr) !important;
        }

        .device-geofence-map-card {
            min-height: 350px !important;
            height: 360px !important;
            max-height: 520px !important;
            position: relative !important;
            top: auto !important;
        }

        .device-geofence-map-preview,
        .device-geofence-map-preview > div,
        .device-geofence-map-preview .gm-style {
            min-height: 300px !important;
        }
    }

    
    .device-geofence-configuration-layout.is-manual-focus {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }
    .device-geofence-configuration-layout.is-manual-focus > .device-geofence-map-card {
        grid-column: 1 / -1 !important;
        order: -2 !important;
        min-height: 520px !important;
        height: clamp(520px, 64dvh, 720px) !important;
        max-height: 72dvh !important;
    }
    .device-geofence-configuration-layout.is-manual-focus > .device-geofence-fields-column {
        grid-column: 1 / -1 !important;
        order: 1 !important;
    }
    .device-geofence-configuration-layout.is-manual-focus .device-geofence-map-preview,
    .device-geofence-configuration-layout.is-manual-focus .device-geofence-map-canvas {
        min-height: 390px !important;
        height: 100% !important;
    }
    .device-geofence-map-header-actions { display:flex !important; align-items:center !important; gap:8px !important; }
    .device-geofence-map-focus-exit {
        min-height:34px !important; display:inline-flex !important; align-items:center !important; gap:7px !important;
        padding:6px 11px !important; border:1px solid #b7cade !important; border-radius:8px !important;
        background:#fff !important; color:#244d73 !important; font-weight:700 !important;
    }
    .device-geofence-map-location-search {
        display:grid !important; gap:6px !important; padding:10px 12px 12px !important;
        border-bottom:1px solid #d8e5f1 !important; background:#f7fbff !important;
    }
    .device-geofence-map-location-search > label {
        display:flex !important; align-items:center !important; gap:7px !important; margin:0 !important;
        color:#244d73 !important; font-size:12.5px !important; font-weight:800 !important;
    }
    .device-geofence-map-location-search-row {
        display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:8px !important; align-items:center !important;
    }
    .device-geofence-map-location-search-row .form-control { min-height:40px !important; margin:0 !important; }
    .device-geofence-map-location-search-button {
        min-height:40px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
        gap:7px !important; padding:7px 14px !important; border:1px solid #2f628d !important; border-radius:8px !important;
        background:#315f88 !important; color:#fff !important; font-weight:800 !important; white-space:nowrap !important;
    }
    .device-geofence-map-location-search > small { color:#5f7388 !important; line-height:1.35 !important; }
    .device-geofence-map-location-result { color:#315f88 !important; font-size:12px !important; font-weight:700 !important; }
    @media (max-width: 767.98px) {
        .device-geofence-map-location-search-row { grid-template-columns:minmax(0,1fr) !important; }
        .device-geofence-map-location-search-button { width:100% !important; }
        .device-geofence-configuration-layout.is-manual-focus > .device-geofence-map-card {
            min-height:480px !important; height:min(68dvh,620px) !important; max-height:none !important;
        }
    }

/* SOURCE: Conexgo.Client/Components/Pages/group/Group_View.razor */

.cx-group-view-page .cx-group-view-wrapper,
.cx-group-view-page .cx-group-view-shell,
.cx-group-view-page .cx-group-view-layout,
.cx-group-view-page .cx-group-view-list-column,
.cx-group-view-page .cx-group-view-map-column {
    min-width: 0 !important;
}

.cx-group-view-page .cx-group-view-layout {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(560px, 1.08fr) minmax(420px, .92fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

.cx-group-view-page .cx-group-view-list-column {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

/* The outer wrapper is the only desktop/tablet table scroll owner. */
.cx-group-view-page .cx-group-view-list-scroll {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable both-edges !important;
    scrollbar-width: thin !important;
    scrollbar-color: #5f8cac #edf3f7 !important;
}
.cx-group-view-page .cx-group-view-list-scroll::-webkit-scrollbar {
    width: 9px !important;
    height: 9px !important;
}
.cx-group-view-page .cx-group-view-list-scroll::-webkit-scrollbar-track {
    background: #edf3f7 !important;
}
.cx-group-view-page .cx-group-view-list-scroll::-webkit-scrollbar-thumb {
    border: 2px solid #edf3f7 !important;
    border-radius: 999px !important;
    background: #5f8cac !important;
}

.cx-group-view-page .cx-group-view-list-scroll :is(.conexgo-pagedlist-table-region, .conexgo-pagedlist-table-column) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
}

.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table {
    width: 100% !important;
    min-width: 780px !important;
    max-width: none !important;
    table-layout: fixed !important;
}
.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table th:nth-child(1),
.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table td:nth-child(1) { width: 38% !important; }
.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table th:nth-child(2),
.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table td:nth-child(2) { width: 26% !important; }
.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table th:nth-child(3),
.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table td:nth-child(3) { width: 36% !important; }

.cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table td {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

.cx-group-view-page .cx-group-view-status-cell {
    vertical-align: middle !important;
    text-align: center !important;
}
.cx-group-view-page .cx-group-view-status-icons {
    min-width: 96px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    white-space: nowrap !important;
}
.cx-group-view-page .cx-group-view-status-icon {
    width: 20px !important;
    min-width: 20px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-align: center !important;
}
.cx-group-view-page .cx-group-view-battery-icon {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 18px !important;
}

.cx-group-view-mobile-context,
.cx-group-mobile-field-label { display: none; }

.cx-group-member-name-value {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.cx-group-member-name-value img {
    flex: 0 0 auto;
    max-width: 28px;
    max-height: 28px;
    padding: 0 !important;
}
.cx-group-member-lastreported-time,
.cx-group-member-address { display: block; }
.cx-group-member-lastreported-time { font-weight: 700; }
.cx-group-member-address {
    margin-top: 4px;
    font-size: .8rem;
    line-height: 1.35;
    color: #64748b;
}

@media (min-width: 1200px) {
    .cx-group-view-page .cx-group-view-layout {
        height: var(--cx-group-view-pane-height, 430px) !important;
        min-height: 430px !important;
        max-height: 900px !important;
    }
    .cx-group-view-page .cx-group-view-list-column,
    .cx-group-view-page .cx-group-view-map-column {
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
    }
    .cx-group-view-page .cx-group-view-list-scroll {
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: 0 !important;
    }
    .cx-group-view-page .cx-group-view-map-canvas {
        flex: 1 1 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .cx-group-view-page .cx-group-view-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        height: auto !important;
        max-height: none !important;
        gap: 14px !important;
    }
    .cx-group-view-page .cx-group-view-map-column {
        order: -1 !important;
    }
    .cx-group-view-page .cx-group-view-map-canvas {
        height: clamp(360px, 50vh, 500px) !important;
        min-height: 360px !important;
    }
    .cx-group-view-page .cx-group-view-list-scroll {
        max-height: min(620px, 62vh) !important;
    }
}

@media (max-width: 767.98px) {
    .cx-group-view-page { padding-bottom: 92px !important; }
    .cx-group-view-page .cx-group-view-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        height: auto !important;
        max-height: none !important;
        gap: 12px !important;
    }
    .cx-group-view-page .cx-group-view-map-column {
        order: -1 !important;
        width: 100% !important;
        margin: 0 0 12px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 11px !important;
        background: #fff !important;
        overflow: hidden !important;
    }
    .cx-group-view-page .cx-group-view-map-canvas {
        height: clamp(300px, 46vh, 400px) !important;
        min-height: 300px !important;
    }

    .cx-group-view-page .cx-group-view-card {
        border: 0 !important;
        border-radius: 12px !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }
    .cx-group-view-page .cx-group-view-mobile-context {
        margin: 0 0 10px !important;
        padding: 12px !important;
        display: block !important;
        gap: 0 !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 11px !important;
        background: #fff !important;
        box-shadow: 0 3px 10px rgba(32, 57, 83, .06) !important;
    }
    .cx-group-view-mobile-context-copy { min-width: 0; }
    .cx-group-view-mobile-eyebrow {
        display: block;
        margin-bottom: 3px;
        color: #64748b;
        font-size: .69rem;
        font-weight: 700;
        letter-spacing: .045em;
        text-transform: uppercase;
    }
    .cx-group-view-mobile-context h2 {
        margin: 0 !important;
        color: #17233c !important;
        font-size: 1rem !important;
        line-height: 1.2 !important;
        overflow-wrap: anywhere;
    }
    .cx-group-view-page .card-header.cx-list-toolbar {
        margin: 0 0 10px !important;
        padding: 8px !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #2d587d !important;
        overflow: hidden !important;
    }
    .cx-group-view-page .cx-group-view-mobile-toolbar-row {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 52px !important;
        gap: 8px !important;
        align-items: stretch !important;
    }
    .cx-group-view-page :is(.cx-list-search, .dataTables_filter, .dataTables_filter > label) {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    .cx-group-view-page .cx-group-view-mobile-toolbar-row .cx-list-search {
        grid-column: 1 !important;
    }
    .cx-group-view-page .cx-group-view-mobile-toolbar-row .conexgo-search-wrapper {
        min-width: 0 !important;
    }
    .cx-group-view-page .cx-group-view-mobile-toolbar-row .conexgo-search-button,
    .cx-group-view-page .cx-group-view-toolbar-refresh {
        min-height: 52px !important;
        border: 1px solid #4c82aa !important;
        background: #3f739a !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }
    .cx-group-view-page .cx-group-view-mobile-toolbar-row .conexgo-search-button:is(:hover, :focus-visible),
    .cx-group-view-page .cx-group-view-toolbar-refresh:is(:hover, :focus-visible) {
        border-color: #315f82 !important;
        background: #315f82 !important;
        color: #ffffff !important;
    }
    .cx-group-view-page .cx-group-view-toolbar-refresh {
        grid-column: 2 !important;
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        padding: 0 !important;
        display: inline-grid !important;
        place-items: center !important;
        border-radius: 9px !important;
        font-size: 1rem !important;
    }
    .cx-group-view-page .card-body { padding: 0 !important; }
    .cx-group-view-page .card-body > .d-flex.align-items-center.justify-content-between { display: none !important; }

    .cx-group-view-page .cx-group-view-list-scroll,
    .cx-group-view-page .cx-group-view-list-scroll :is(.conexgo-pagedlist-table-region, .conexgo-pagedlist-table-column) {
        overflow: visible !important;
        max-height: none !important;
        scrollbar-gutter: auto !important;
    }
    .cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
        border-collapse: separate !important;
        border-spacing: 0 9px !important;
        background: transparent !important;
    }
    .cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table thead { display: none !important; }
    .cx-group-view-page .cx-group-view-list-scroll .conexgo-pagedlist-table :is(tbody, tr, td) {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }
    /* Razor already owns mobile labels; generic table pseudo-labels must stay silent. */
    .cx-group-view-page .conexgo-pagedlist-table td::before,
    .cx-group-view-page .conexgo-pagedlist-table td::after {
        content: none !important;
        display: none !important;
    }
    .cx-group-view-page .cx-group-member-row {
        margin: 0 !important;
        padding: 12px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 11px !important;
        background: #fff !important;
        box-shadow: 0 3px 10px rgba(32, 57, 83, .055) !important;
        overflow: hidden !important;
    }
    .cx-group-view-page .cx-group-member-row > td {
        min-width: 0 !important;
        padding: 7px 0 !important;
        border: 0 !important;
        text-align: left !important;
        overflow: visible !important;
    }
    .cx-group-view-page .cx-group-member-row > td + td { border-top: 1px solid #edf2f7 !important; }
    .cx-group-view-page .cx-group-mobile-field-label {
        margin-bottom: 5px;
        display: block !important;
        color: #315f82;
        font-size: .66rem;
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: .045em;
        text-transform: uppercase;
    }
    .cx-group-view-page .cx-group-member-name-value {
        gap: 9px;
        color: #17233c;
        font-size: .86rem;
        font-weight: 650;
        line-height: 1.35;
    }
    .cx-group-view-page .cx-group-view-status-icons {
        min-width: 0 !important;
        justify-content: flex-start !important;
        gap: 10px !important;
    }
    .cx-group-view-page .cx-group-member-lastreported-time { font-size: .78rem; line-height: 1.35; }
    .cx-group-view-page .cx-group-member-address {
        max-width: 100%;
        font-size: .72rem;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }
}

/* SOURCE: Conexgo.Client/Components/Pages/Shared/page-components/ChangePassword.razor */

    .mud-dialog:has(.cx-password-r757),
    .blazored-modal:has(.cx-password-r757),
    .modal-content:has(.cx-password-r757) {
        width: min(760px, calc(100vw - 30px)) !important;
        max-width: 760px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 18px 44px rgba(31, 56, 78, .16) !important;
    }

    .cx-password-r757 {
        width: 100%;
        min-width: 0;
        background: #ffffff;
        color: #31495d;
    }

    .cx-password-r757-form {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .cx-password-r757-card {
        margin: 0;
        padding: 20px 22px 22px;
        border: 0;
        background: #ffffff;
    }

    .cx-password-r757-heading {
        min-width: 0;
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }

    .cx-password-r757-heading-icon {
        width: 38px;
        height: 38px;
        min-width: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #d6e3eb;
        border-radius: 10px;
        background: #eef5f9;
        color: #315f82;
        font-size: 14px;
    }

    .cx-password-r757-heading-copy {
        min-width: 0;
        flex: 1 1 auto;
    }

    .cx-password-r757-title {
        margin: 1px 0 0;
        color: #294c68;
        font-size: 15px;
        font-weight: 760;
        line-height: 1.3;
    }

    .cx-password-r757-description {
        margin: 5px 0 0;
        color: #718495;
        font-size: 12.5px;
        line-height: 1.5;
    }

    .cx-password-r757-policy {
        margin-top: 15px;
        padding: 10px 12px;
        display: flex;
        align-items: flex-start;
        gap: 9px;
        border: 1px solid #dce7ed;
        border-radius: 9px;
        background: #f8fbfc;
        color: #5f7486;
        font-size: 12px;
        line-height: 1.45;
    }

    .cx-password-r757-policy i {
        margin-top: 2px;
        flex: 0 0 auto;
        color: #527b99;
    }

    .cx-password-r757-fields {
        margin-top: 18px;
        display: grid;
        gap: 14px;
    }

    .cx-password-r757-row {
        min-width: 0;
        display: grid;
        grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
        align-items: start;
        gap: 14px;
    }

    .cx-password-r757-label {
        padding-top: 12px;
        color: #50697d;
        font-size: 12.5px;
        font-weight: 720;
        line-height: 1.35;
        text-align: right;
    }

    .cx-password-r757-control {
        min-width: 0;
    }

    .cx-password-r757-input-shell {
        position: relative;
        min-width: 0;
    }

    .cx-password-r757-input {
        width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
        padding: 8px 13px !important;
        border: 1px solid #cad9e4 !important;
        border-radius: 9px !important;
        background: #ffffff !important;
        color: #29475f !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        box-shadow: none !important;
    }

    .cx-password-r757-input-shell .cx-password-r757-input {
        padding-right: 48px !important;
    }

    .cx-password-r757-input:hover {
        border-color: #aec4d4 !important;
    }

    .cx-password-r757-input:focus {
        border-color: #79a2bf !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(61, 98, 135, .10) !important;
    }

    .cx-password-r757-eye {
        position: absolute;
        top: 4px;
        right: 4px;
        width: 36px;
        height: 36px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 7px;
        background: transparent;
        color: #617c91;
        cursor: pointer;
        transition:
            background-color 120ms ease,
            color 120ms ease;
    }

    .cx-password-r757-eye:hover,
    .cx-password-r757-eye:focus-visible {
        outline: none;
        background: #eef4f8;
        color: #315f82;
    }

    .cx-password-r757-control .validation-message {
        display: block;
        margin-top: 5px;
        color: #b74f59;
        font-size: 11.5px;
        font-weight: 620;
        line-height: 1.35;
    }

    .cx-password-r757-actions {
        padding: 13px 22px 15px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        border-top: 1px solid #e2eaef;
        background: #f8fafb;
    }

    .cx-password-r757-save {
        min-width: 126px;
        height: 40px;
        padding: 0 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 1px solid #6b8f71;
        border-radius: 8px;
        background: #6b8f71;
        color: #ffffff;
        font-size: 12.5px;
        font-weight: 720;
        line-height: 1;
        cursor: pointer;
        box-shadow: 0 3px 9px rgba(71, 111, 79, .10);
        transition:
            background-color 120ms ease,
            border-color 120ms ease,
            box-shadow 120ms ease;
    }

    .cx-password-r757-save:hover:not(:disabled),
    .cx-password-r757-save:focus-visible:not(:disabled) {
        border-color: #5f8066;
        outline: none;
        background: #5f8066;
        box-shadow: 0 4px 11px rgba(71, 111, 79, .14);
    }

    .cx-password-r757-save:disabled {
        cursor: wait;
        opacity: .66;
        box-shadow: none;
    }

    .cx-password-r757-loading {
        min-height: 180px;
        padding: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 11px;
        color: #697f91;
        font-size: 12.5px;
    }

    .cx-password-r757-spinner {
        width: 38px;
        height: 38px;
        border: 4px solid #e3ebf0;
        border-top-color: #315f82;
        border-radius: 50%;
        animation: cx-password-r757-spin .85s linear infinite;
    }

    @keyframes cx-password-r757-spin {
        to {
            transform: rotate(360deg);
        }
    }

    @media (max-width: 720px) {
        .mud-dialog:has(.cx-password-r757),
        .blazored-modal:has(.cx-password-r757),
        .modal-content:has(.cx-password-r757) {
            width: calc(100vw - 20px) !important;
            max-width: calc(100vw - 20px) !important;
        }

        .cx-password-r757-card {
            padding: 18px 16px;
        }

        .cx-password-r757-row {
            grid-template-columns: minmax(0, 1fr);
            gap: 6px;
        }

        .cx-password-r757-label {
            padding-top: 0;
            text-align: left;
        }

        .cx-password-r757-actions {
            padding: 12px 16px 14px;
        }
    }

    @media (max-width: 460px) {
        .cx-password-r757-actions {
            display: grid;
        }

        .cx-password-r757-save {
            width: 100%;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .cx-password-r757-eye,
        .cx-password-r757-save {
            transition-duration: .01ms !important;
        }

        .cx-password-r757-spinner {
            animation-duration: 1.4s;
        }
    }

/* 1) Sidebar / row-menu stacking: preserve geometry, repair ownership. */
@media (min-width: 768px) {
    html body.cx-design-system .app-sidebar-shell {
        z-index: 1200 !important;
        isolation: isolate !important;
    }

    html body.cx-design-system .app-sidebar-modern {
        z-index: 1201 !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1220 !important;
        background: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
        isolation: isolate !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        position: relative !important;
        z-index: 1221 !important;
        background: #ffffff !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header
    :is(.conexgo-sidebar-brand-primary, .desktop-logo, .header-brand-img) {
        position: relative !important;
        z-index: 1222 !important;
    }

    html body.cx-design-system
    :is(.device-list-action-menu, .conexgo-row-action-menu).show {
        z-index: 1150 !important;
    }

    html body.cx-design-system .conexgo-pagedlist-table tbody
    tr:has(.device-list-action-menu.show),
    html body.cx-design-system .conexgo-pagedlist-table tbody
    td:has(.device-list-action-menu.show),
    html body.cx-design-system
    .device-list-action-group:has(.device-list-action-menu.show) {
        z-index: 1140 !important;
    }
}

/* 2) Alert resource buttons: real persistent dark open state + soft semantic hover. */
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle {
    transition:
        background-color 150ms ease,
        border-color 150ms ease,
        color 150ms ease,
        box-shadow 150ms ease,
        transform 150ms ease !important;
}

/* Contacts / red. */
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-danger:not(.active):not([aria-expanded="true"]):hover,
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-danger:not(.active):not([aria-expanded="true"]):focus-visible {
    background: #f8deda !important;
    border-color: #df8179 !important;
    color: #a72e25 !important;
    box-shadow: 0 4px 12px rgba(202, 61, 50, .14) !important;
}

html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-danger:is(.active, [aria-expanded="true"]) {
    background: #ca3d32 !important;
    border-color: #ca3d32 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(202, 61, 50, .24) !important;
}

/* Emergency information / blue. */
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):not(.active):not([aria-expanded="true"]):hover,
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):not(.active):not([aria-expanded="true"]):focus-visible {
    background: #dfeaf3 !important;
    border-color: #86a9c3 !important;
    color: #274f6e !important;
    box-shadow: 0 4px 12px rgba(49, 95, 130, .14) !important;
}

html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) {
    background: #315f82 !important;
    border-color: #315f82 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(49, 95, 130, .24) !important;
}

/* Documents / green. */
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-documents:not(.active):not([aria-expanded="true"]):hover,
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-documents:not(.active):not([aria-expanded="true"]):focus-visible {
    background: #e1f0e5 !important;
    border-color: #8abb99 !important;
    color: #347348 !important;
    box-shadow: 0 4px 12px rgba(75, 148, 97, .14) !important;
}

html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-documents:is(.active, [aria-expanded="true"]) {
    background: #4b9461 !important;
    border-color: #4b9461 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(75, 148, 97, .24) !important;
}

html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(
    .alert-answer-toggle-danger,
    .alert-answer-toggle-info:not(.alert-answer-toggle-documents),
    .alert-answer-toggle-documents
):is(.active, [aria-expanded="true"])
:is(i, span, strong) {
    color: #ffffff !important;
}

/* Alert View map: same visual weight as the adjacent sections. */
html body.cx-design-system .cx-dialog--alert-view .alert-view-map-wrap {
    width: 100% !important;
    border-radius: 11px !important;
}

html body.cx-design-system .cx-dialog--alert-view .alert-view-map-toolbar {
    min-height: 64px !important;
    padding: 11px 16px !important;
}

html body.cx-design-system .cx-dialog--alert-view .alert-view-map-title {
    font-size: 10pt !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-dialog--alert-view .alert-view-map-toggle {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
}

html body.cx-design-system .cx-dialog--alert-view .alert-view-map-canvas {
    width: 100% !important;
    height: 430px !important;
    min-height: 360px !important;
}

/* 3) Device Map: readable semantic status icons and coherent history cards. */
html body.cx-design-system .device-map-settings .conexgo-device-status-item {
    color: #71879a !important;
}

html body.cx-design-system .device-map-settings .cx-device-tone-primary {
    color: #326a95 !important;
}

html body.cx-design-system .device-map-settings .cx-device-tone-success {
    color: #37814e !important;
}

html body.cx-design-system .device-map-settings .cx-device-tone-warning {
    color: #b98215 !important;
}

html body.cx-design-system .device-map-settings .cx-device-tone-danger {
    color: #b8505b !important;
}

html body.cx-design-system .device-map-settings .cx-device-tone-light {
    color: #477493 !important;
}

html body.cx-design-system .device-map-settings .cx-device-tone-neutral {
    color: #97a6b3 !important;
}

html body.cx-design-system .device-map-settings
.conexgo-device-status-item
:is(
    .conexgo-device-simple-icon,
    .conexgo-device-simple-icon i,
    .conexgo-device-battery-icon,
    .conexgo-device-battery-charge,
    #satellite
) {
    color: currentColor !important;
    opacity: 1 !important;
    text-shadow: none !important;
    filter: none !important;
}

html body.cx-design-system .device-map-settings
.conexgo-device-cellular .signal {
    color: inherit !important;
}

html body.cx-design-system .device-map-settings
.conexgo-device-cellular .signal .bar.active {
    background: currentColor !important;
    opacity: 1 !important;
}

html body.cx-design-system .device-map-settings
.conexgo-device-cellular .signal .bar:not(.active) {
    background: #c7d2db !important;
    opacity: .85 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    display: grid !important;
    grid-template-columns: minmax(280px, .9fr) minmax(430px, 1.1fr) !important;
    align-items: stretch !important;
    gap: 12px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-height: 64px !important;
    height: auto !important;
    margin: 0 !important;
    border: 1px solid #c7d9e7 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #294f6d !important;
    box-shadow: 0 4px 14px rgba(39, 73, 98, .08) !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    width: 100% !important;
    padding: 9px 16px !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-location-count > i {
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    border: 1px solid #d4e1eb !important;
    border-radius: 10px !important;
    background: #f5f9fc !important;
    color: #3d6f95 !important;
    font-size: 15px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    padding: 7px 9px !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-playback-time {
    min-height: 48px !important;
    border-radius: 10px !important;
    background: #f7fafc !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        grid-template-columns: 1fr !important;
    }
}

/* 4) Device Message: balanced header row + editable reusable templates. */
html body.cx-design-system .cx-dialog--message .device-message-summary-grid,
html body.cx-design-system .device-message-dialog .device-message-summary-grid {
    grid-template-columns: minmax(260px, .95fr) minmax(300px, 1.05fr) !important;
    align-items: stretch !important;
    gap: 14px !important;
}

html body.cx-design-system .cx-dialog--message .device-message-device,
html body.cx-design-system .cx-dialog--message .device-message-type-field,
html body.cx-design-system .device-message-dialog .device-message-device,
html body.cx-design-system .device-message-dialog .device-message-type-field {
    min-height: 82px !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .cx-dialog--message .device-message-type-field,
html body.cx-design-system .device-message-dialog .device-message-type-field {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-dialog--message
.device-message-type-field .cx-custom-select-root,
html body.cx-design-system .device-message-dialog
.device-message-type-field .cx-custom-select-root {
    width: 100% !important;
}

html body.cx-design-system .device-message-template-panel {
    margin: 14px 0 12px !important;
    padding: 12px !important;
    border: 1px solid #d5e2ec !important;
    border-radius: 11px !important;
    background: #f8fbfd !important;
}

html body.cx-design-system .device-message-template-heading {
    margin-bottom: 9px !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    color: #315a79 !important;
}

html body.cx-design-system .device-message-template-heading strong {
    font-size: 12px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .device-message-template-heading small {
    color: #708297 !important;
    font-size: 11px !important;
}

html body.cx-design-system .device-message-template-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

html body.cx-design-system .device-message-template-chip {
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid #c7d9e7 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #315a79 !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition:
        background-color 140ms ease,
        border-color 140ms ease,
        box-shadow 140ms ease,
        transform 140ms ease !important;
}

html body.cx-design-system .device-message-template-chip:hover,
html body.cx-design-system .device-message-template-chip:focus-visible {
    border-color: #7ea6c4 !important;
    background: #edf5fa !important;
    box-shadow: 0 3px 10px rgba(49, 90, 121, .10) !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-dialog--message .device-message-summary-grid,
    html body.cx-design-system .device-message-dialog .device-message-summary-grid {
        grid-template-columns: 1fr !important;
    }

    html body.cx-design-system .device-message-template-chip {
        flex: 1 1 180px !important;
    }
}

/* 5) Reports: one density/system for operator reports and monthly reports. */
html body.cx-design-system .cx-monthly-report-list-card
.cx-monthly-report-row-action,
html body.cx-design-system .cx-monthly-report-list-card
.cx-report-standard-action,
html body.cx-design-system .report-list-card
.cx-report-standard-action {
    width: 42px !important;
    min-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

html body.cx-design-system .cx-monthly-report-list-card .btn-list,
html body.cx-design-system .report-list-card .btn-list {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

html body.cx-design-system .cx-monthly-report-list-card .report-list-toolbar,
html body.cx-design-system .report-list-card .report-list-toolbar {
    min-height: 72px !important;
}

html body.cx-design-system .cx-monthly-report-list-card
.report-list-toolbar-row {
    width: 100% !important;
    min-height: 48px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

/* Report Subscribe: remove the large viewport spacer regression. */
html body.cx-design-system
:is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog) {
    width: min(1120px, calc(100vw - 40px)) !important;
    max-width: 1120px !important;
    max-height: min(90dvh, 900px) !important;
}

html body.cx-design-system
:is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog)
.mud-dialog-content,
html body.cx-design-system .report-subscribe-content {
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 18px !important;
    scroll-padding-bottom: 18px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}

html body.cx-design-system .report-subscribe-content::after,
html body.cx-design-system
:is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog)
.mud-dialog-content::after {
    display: none !important;
    content: none !important;
}

html body.cx-design-system
:is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog)
.mud-dialog-actions {
    position: static !important;
    inset: auto !important;
    min-height: 64px !important;
    padding: 10px 16px !important;
    flex: 0 0 auto !important;
    border-top: 1px solid #d7e1e9 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system .report-subscribe-footer {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

html body.cx-design-system
:is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog)
:is(.report-subscribe-button, .cx-dialog-action, .mud-button-root) {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
}

html body.cx-design-system
:is(.cx-dialog--report-preview, .report-preview-dialog)
:is(.cx-dialog-action, .mud-button-root) {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 11.5px !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    :is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog) {
        width: calc(100vw - 18px) !important;
        max-width: calc(100vw - 18px) !important;
        max-height: 94dvh !important;
    }

    html body.cx-design-system
    :is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog)
    .mud-dialog-actions {
        flex-wrap: wrap !important;
    }

    html body.cx-design-system
    :is(.report-subscribe-modern, .cx-dialog--report-subscribe, .report-subscribe-dialog)
    :is(.report-subscribe-button, .cx-dialog-action, .mud-button-root) {
        flex: 1 1 180px !important;
    }
}

/* 6) Blocked-call dropdown: same compact density as normal row actions. */
html body.cx-design-system .cx-blocked-call-page
:is(.device-list-action-menu, .conexgo-row-action-menu),
html body.cx-design-system .cx-blocked-call-page
:is(.device-list-action-menu, .conexgo-row-action-menu).show {
    width: min(230px, calc(100vw - 28px)) !important;
    min-width: min(230px, calc(100vw - 28px)) !important;
    max-width: calc(100vw - 28px) !important;
}

/* Header notifications: slightly larger, calmer density, better empty state. */
html body.cx-design-system .conexgo-notification-dropdown {
    width: min(570px, calc(100vw - 30px)) !important;
    min-width: 520px !important;
    max-width: 570px !important;
    border: 1px solid #cfdeea !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 18px 48px rgba(34, 63, 87, .20) !important;
}

html body.cx-design-system .conexgo-notification-dropdown-header {
    min-height: 78px !important;
    padding: 15px 18px !important;
}

html body.cx-design-system .conexgo-notification-header-main {
    gap: 12px !important;
}

html body.cx-design-system .conexgo-notification-header-icon {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    border-radius: 11px !important;
}

html body.cx-design-system .conexgo-notification-header-title {
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

html body.cx-design-system .conexgo-notification-header-meta {
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .conexgo-notification-list {
    max-height: 430px !important;
}

html body.cx-design-system .conexgo-notification-empty {
    min-height: 190px !important;
    padding: 28px 18px !important;
    gap: 12px !important;
    font-size: 13px !important;
}

html body.cx-design-system .conexgo-notification-empty-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    font-size: 18px !important;
}

html body.cx-design-system .conexgo-notification-item {
    min-height: 72px !important;
    padding: 13px 17px !important;
    gap: 12px !important;
}

html body.cx-design-system .conexgo-notification-item-icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
}

html body.cx-design-system .conexgo-notification-see-all-wrap {
    padding: 0 !important;
}

html body.cx-design-system .conexgo-notification-see-all {
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fbfcfd !important;
    color: #2c4c6c !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    transform: none !important;
    transition:
        background-color .38s cubic-bezier(.22, 1, .36, 1),
        color .32s ease,
        box-shadow .38s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system .conexgo-notification-see-all:is(:hover, :focus-visible) {
    background: #f1f6fa !important;
    color: #2c4c6c !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 620px) {
    html body.cx-design-system .conexgo-notification-dropdown {
        width: calc(100vw - 18px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 18px) !important;
    }
}

/* --------------------------------------------------------------------------
   Settings / Application family
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-settings-page-card {
    border: 1px solid #d8e4ed !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(42, 73, 98, .055) !important;
    overflow: visible !important;
}

html body.cx-design-system .cx-settings-page-card > .card-body,
html body.cx-design-system .cx-settings-page-card .card-body {
    padding: 22px 24px !important;
}

/* Language is a compact control card, not a lonely label/select. */
html body.cx-design-system .cx-settings-page-card .dataTables_length {
    width: fit-content !important;
    min-width: 360px !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    padding: 10px 12px !important;
    border: 1px solid #d7e4ee !important;
    border-radius: 12px !important;
    background: #f7fafc !important;
    box-shadow: inset 3px 0 0 #4b789a !important;
}

html body.cx-design-system .cx-settings-page-card .dataTables_length > label {
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(210px, 270px) !important;
    align-items: center !important;
    gap: 12px !important;
    color: #506a80 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

html body.cx-design-system .cx-settings-page-card .dataTables_length select,
html body.cx-design-system .cx-settings-page-card .dataTables_length .cx-custom-select-root {
    width: 100% !important;
    min-width: 210px !important;
    margin: 0 !important;
}

/* Settings tabs: remove the old gray strip / cramped tabs. */
html body.cx-design-system .cx-settings-page-alert .panel,
html body.cx-design-system .cx-settings-page-alert .tab-menu-heading,
html body.cx-design-system .cx-settings-page-alert .panel-body {
    border: 0 !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-settings-page-alert .tab-menu-heading {
    margin: 0 0 18px !important;
    padding: 8px !important;
    border: 1px solid #d8e5ee !important;
    border-radius: 13px !important;
    background: #f7fafc !important;
    overflow-x: auto !important;
    scrollbar-width: thin !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs,
html body.cx-design-system .cx-settings-page-alert ul.panel-tabs {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    border: 0 !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs > li {
    margin: 0 !important;
    border: 0 !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs > li > a {
    min-height: 42px !important;
    padding: 0 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #2f506c !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transition:
        background-color 140ms ease,
        border-color 140ms ease,
        color 140ms ease,
        box-shadow 140ms ease !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs > li > a:hover {
    border-color: #c9dce9 !important;
    background: #edf5fa !important;
    color: #244863 !important;
}

html body.cx-design-system .cx-settings-page-alert
.panel-tabs > li:is(.active, [aria-selected="true"]) > a,
html body.cx-design-system .cx-settings-page-alert
.panel-tabs > li > a:is(.active, [aria-selected="true"]) {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 12px rgba(49, 95, 130, .18) !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
}

/* Alert setting content: stronger hierarchy, smaller useless gaps. */
html body.cx-design-system .cx-settings-page-alert .tab-content {
    padding: 2px 0 0 !important;
}

html body.cx-design-system .cx-settings-page-alert .tab-pane {
    padding: 2px 0 8px !important;
}

html body.cx-design-system .cx-settings-page-alert .form-horizontal > .row,
html body.cx-design-system .cx-settings-page-alert .tab-pane > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

html body.cx-design-system .cx-settings-page-alert
.form-horizontal > .row.mb-4:not(.cx-settings-parameter-row) {
    margin-bottom: 12px !important;
    padding: 10px 12px !important;
    align-items: flex-start !important;
    border: 1px solid #e1e9f0 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}

html body.cx-design-system .cx-settings-page-alert .form-label,
html body.cx-design-system .cx-settings-page-alert .col-md-3.form-label {
    padding-top: 11px !important;
    color: #31536f !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .cx-settings-page-alert
:is(input.form-control, textarea.form-control) {
    border-color: #cfdee9 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: #1f3447 !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-settings-page-alert
:is(input.form-control, textarea.form-control):focus {
    border-color: #6f9dbd !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(67, 116, 151, .10) !important;
}

/* Available Parameters becomes a clear technical reference panel. */
html body.cx-design-system .cx-settings-page-alert .cx-settings-parameter-row {
    margin: 4px 0 16px !important;
    padding: 14px 16px !important;
    align-items: flex-start !important;
    border: 1px solid #cfe0eb !important;
    border-left: 4px solid #4b789a !important;
    border-radius: 11px !important;
    background: #f6fafc !important;
    color: #334f65 !important;
}

html body.cx-design-system .cx-settings-page-alert
.cx-settings-parameter-row .form-label {
    padding-top: 2px !important;
    text-align: left !important;
    color: #315f82 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-settings-page-alert
.cx-settings-format-example {
    width: fit-content !important;
    margin: 0 0 9px !important;
    padding: 5px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    border: 1px solid #c7dbe8 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #315f82 !important;
    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-settings-page-alert
.cx-settings-format-example code {
    padding: 2px 5px !important;
    border-radius: 5px !important;
    background: #edf5fa !important;
    color: #244e6d !important;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace !important;
    font-size: 11px !important;
}

html body.cx-design-system .cx-settings-page-alert
.cx-settings-parameter-row > :last-child {
    color: #405b70 !important;
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace !important;
    font-size: 11.5px !important;
    line-height: 1.65 !important;
    overflow-wrap: anywhere !important;
}

/* General settings: compact functional block instead of an enormous empty card. */
html body.cx-design-system .cx-settings-page-general {
    min-height: 0 !important;
}

html body.cx-design-system .cx-settings-page-general .card-body {
    min-height: 0 !important;
    padding: 20px 24px !important;
}

html body.cx-design-system .cx-settings-page-general .form-horizontal,
html body.cx-design-system .cx-settings-page-general form {
    width: min(100%, 980px) !important;
    margin: 0 auto !important;
}

html body.cx-design-system .cx-settings-page-general .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

html body.cx-design-system .cx-settings-page-general
.form-horizontal > .row:not(.justify-content-end),
html body.cx-design-system .cx-settings-page-general
form > .row:not(.justify-content-end) {
    margin-bottom: 10px !important;
    padding: 10px 12px !important;
    align-items: center !important;
    border-bottom: 1px solid #e6edf3 !important;
}

html body.cx-design-system .cx-settings-page-general .form-label {
    color: #31536f !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-settings-page-general
:is(input.form-control, select.form-select) {
    min-height: 46px !important;
    border-color: #cedee9 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
}

html body.cx-design-system .cx-settings-page-general
.row.justify-content-end {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}

/* Legal: styled rendered document, not raw legacy-looking text. */
html body.cx-design-system .cx-settings-page-legal .nav,
html body.cx-design-system .cx-settings-page-legal .nav-tabs {
    margin: 0 0 18px !important;
    padding: 7px !important;
    display: flex !important;
    gap: 6px !important;
    border: 1px solid #d8e5ee !important;
    border-radius: 12px !important;
    background: #f7fafc !important;
}

html body.cx-design-system .cx-settings-page-legal
:is(.nav-link, .nav-tabs .nav-link) {
    min-height: 40px !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #31536f !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-settings-page-legal
:is(.nav-link, .nav-tabs .nav-link).active {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(49, 95, 130, .16) !important;
}

html body.cx-design-system .cx-settings-page-legal
:is(h1, h2, h3, h4) {
    margin: 20px 0 9px !important;
    color: #274b67 !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
}

html body.cx-design-system .cx-settings-page-legal h1 {
    font-size: 19px !important;
}

html body.cx-design-system .cx-settings-page-legal h2 {
    font-size: 16px !important;
}

html body.cx-design-system .cx-settings-page-legal h3,
html body.cx-design-system .cx-settings-page-legal h4 {
    font-size: 14px !important;
}

html body.cx-design-system .cx-settings-page-legal
:is(p, li) {
    color: #334b60 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

html body.cx-design-system .cx-settings-page-legal p {
    margin: 0 0 11px !important;
}

html body.cx-design-system .cx-settings-page-legal
:is(ul, ol) {
    margin: 0 0 14px !important;
    padding-left: 22px !important;
}

html body.cx-design-system .cx-settings-page-legal a {
    color: #2e6591 !important;
    font-weight: 750 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px !important;
}

/* API / Template share the same modern control density. */
html body.cx-design-system
:is(.cx-settings-page-api, .cx-settings-page-template)
.form-horizontal > .row.mb-4 {
    margin-bottom: 12px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid #e6edf3 !important;
}

html body.cx-design-system
:is(.cx-settings-page-api, .cx-settings-page-template)
.form-label {
    color: #31536f !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

/* --------------------------------------------------------------------------
   Alert Answer comment section: fresh neutral surface with warm accent only.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-card {
    border: 1px solid #d4e1ea !important;
    border-left: 4px solid #d2aa45 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 16px rgba(38, 72, 98, .07) !important;
    overflow: hidden !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-header {
    min-height: 54px !important;
    padding: 10px 14px !important;
    border-bottom: 1px solid #dde7ee !important;
    background: #f7fafc !important;
    color: #31536f !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-title {
    color: #31536f !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-history {
    min-height: 58px !important;
    max-height: 150px !important;
    padding: 10px 14px !important;
    overflow-y: auto !important;
    border-bottom: 1px solid #e2eaf0 !important;
    background: #fbfdff !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-empty {
    color: #7b8d9d !important;
    font-size: 12px !important;
    font-style: italic !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-editor {
    padding: 12px 14px !important;
    background: #ffffff !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-textarea {
    min-height: 104px !important;
    padding: 12px 13px !important;
    border: 1px solid #cbdce7 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: #263f53 !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-textarea:focus {
    border-color: #6d9bbb !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(64, 111, 145, .10) !important;
}

/* --------------------------------------------------------------------------
   Table separation on the modernized/list/modal surfaces.
   No global table rewrite: only actual Conexgo data grids are touched.
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(
    .conexgo-pagedlist-table,
    .cx-settings-page-card table,
    .cx-dialog--alert-answer table,
    .cx-dialog--alert-view table,
    .cx-dialog--device-model table
)
:is(table) {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #d6e2eb !important;
}

html body.cx-design-system
:is(
    .conexgo-pagedlist-table,
    .cx-settings-page-card table,
    .cx-dialog--alert-answer table,
    .cx-dialog--alert-view table,
    .cx-dialog--device-model table
)
:is(table) :is(th, td) {
    border-right: 1px solid #dbe5ed !important;
    border-bottom: 1px solid #e1e9ef !important;
    vertical-align: middle !important;
}

html body.cx-design-system
:is(
    .conexgo-pagedlist-table,
    .cx-settings-page-card table,
    .cx-dialog--alert-answer table,
    .cx-dialog--alert-view table,
    .cx-dialog--device-model table
)
:is(table) tr > :last-child {
    border-right: 0 !important;
}

html body.cx-design-system
:is(
    .conexgo-pagedlist-table,
    .cx-settings-page-card table,
    .cx-dialog--alert-answer table,
    .cx-dialog--alert-view table,
    .cx-dialog--device-model table
)
:is(table) tbody tr:last-child > * {
    border-bottom: 0 !important;
}

/* Fresh disabled state: still obviously disabled without muddy dark gray. */
html body.cx-design-system
:is(
    .cx-settings-page-card,
    .cx-dialog-v17,
    .cx-standard-form-dialog
)
:is(input, select, textarea, button):disabled,
html body.cx-design-system
:is(
    .cx-settings-page-card,
    .cx-dialog-v17,
    .cx-standard-form-dialog
)
.disabled {
    opacity: .72 !important;
}

html body.cx-design-system
:is(.cx-settings-page-card, .cx-dialog-v17)
:is(input, select, textarea):disabled {
    border-color: #dae4eb !important;
    background: #f1f5f8 !important;
    color: #718393 !important;
}

html body.cx-design-system .cx-settings-page-legal textarea {
    width: 100% !important;
    min-height: 280px !important;
    height: auto !important;
    padding: 14px 16px !important;
    border: 1px solid #cbdce7 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: #263f53 !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
    resize: vertical !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    box-shadow: inset 0 1px 2px rgba(42, 73, 98, .04) !important;
}

html body.cx-design-system .cx-settings-page-legal textarea:hover {
    border-color: #afc8d9 !important;
    background: #ffffff !important;
}

html body.cx-design-system .cx-settings-page-legal textarea:focus {
    outline: none !important;
    border-color: #4f7da1 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(79, 125, 161, .12) !important;
}

.cx-blocked-call-add-button {
    background: #3e6a99;
    border-color: #3e6a99;
    color: #fff;
}

.cx-blocked-call-toolbar {
    background-color: #2c4c6c;
}

.cx-blocked-call-search-slot {
    margin-top: 8px;
    text-align: right;
}

.cx-blocked-call-table-head-row {
    background: #eafaf1;
}

.cx-blocked-call-action-menu {
    inset-inline-end: 0;
    inset-inline-start: auto;
}

.cx-blocked-call-status-cell {
    width: 112px;
    min-width: 112px;
    max-width: 112px;
    text-align: center;
}

.cx-blocked-call-status-pill {
    width: 100px;
    margin: 0 auto;
    padding: 4px 6px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}

.cx-blocked-call-status-pill.is-blocked {
    background: #f5d7db;
    color: #8b3440;
}

.cx-blocked-call-status-pill.is-inactive {
    background: #e7edf3;
    color: #53677a;
}

.cx-alert-theme-danger { --alert-color: #dc3545; }
.cx-alert-theme-warning { --alert-color: #ffc107; }
.cx-alert-theme-success { --alert-color: #198754; }
.cx-alert-theme-primary { --alert-color: #0d6efd; }
.cx-alert-theme-orange { --alert-color: #fd7e14; }
.cx-alert-theme-purple { --alert-color: #6f42c1; }
.cx-alert-theme-cyan { --alert-color: #0dcaf0; }
.cx-alert-theme-dark { --alert-color: #212529; }
.cx-alert-theme-neutral { --alert-color: #6c757d; }

.alert-view-empty-icon {
    display: block;
    margin-bottom: 8px;
    color: #b8505b;
    font-size: 20pt;
}

.alert-answer-map-canvas--fixed {
    width: 100%;
    height: 320px;
    min-height: 320px;
}

.cx-alert-list-actions-cell {
    vertical-align: middle;
    white-space: nowrap;
}

.cx-alert-list-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.cx-alert-list-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cx-alert-list-action--view {
    background: #3e6a99;
    border-color: #3e6a99;
    color: #fff;
}

.cx-alert-list-action--answer {
    background: #78b842;
    border-color: #78b842;
    color: #fff;
}

.cx-alert-list-comment-copy {
    font-size: small;
}

.cx-alert-comment-author,
.cx-alert-comment-date {
    font-size: 8pt;
    font-style: italic;
}

.cx-alert-comment-author { font-weight: 700; }
.cx-alert-comment-date { font-weight: 400; }
.cx-alert-comment-empty { font-style: italic; }

.cx-setting-label { text-align: right; }
.cx-setting-label-left { text-align: left; }
.cx-setting-validation-icon {
    margin-left: 5px;
    color: #b4232d;
}
.cx-setting-save-button {
    background: #3d6287;
    border-color: #3d6287;
    color: #fff;
}
.cx-setting-legal-editor {
    width: 100%;
    height: 250px;
    padding: 10px;
}

.cx-document-view-loading {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
}
.cx-document-view-loading-copy {
    color: #6c757d;
    font-size: 12.5px;
}

.device-config-sections-row { margin-bottom: 2rem; }
.device-config-section-header { border-radius: 8px; }
.device-config-section-header.is-expanded { border-radius: 8px 8px 0 0; }
.device-config-section-content {
    border: 1px solid #dee2e6;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #fff;
}
.device-config-pending-icon { color: #e58b00; }
.device-config-geofence-stack-item { min-height: 50px; }
.device-config-geofence-separator { background: #dee2e6; }

.cx-generated-status-icon.is-enabled { color: #198754; }
.cx-generated-status-icon.is-disabled { color: #b8505b; }
.cx-generated-dots-row { padding-bottom: 10px; }
.cx-generated-dots-label { font-weight: 700; }
.cx-generated-beacon-icon { width: 30px; }
.cx-generated-phone-event-icon { margin-left: 5px; }
.cx-generated-phone-event-icon.is-active { color: #198754; }
.cx-generated-phone-event-icon.is-inactive { color: #6c757d; }

@media (max-width: 767.98px) {
    .cx-setting-label { text-align: left; }
}

.cx-setting-label-right {
    text-align: right;
}

.cx-settings-alert-event-card {
    border: 1px solid #d8e3eb;
    border-radius: 8px;
    overflow: hidden;
}

.cx-settings-alert-event-title {
    margin-top: 0;
    padding: 8px 10px;
    text-align: center;
    background: #eef3f7;
    color: #294c68;
    font-weight: 700;
}

.cx-report-toolbar-align,
.cx-log-search-align {
    text-align: right !important;
}

.cx-log-search-align {
    margin-top: 8px;
}

.cx-table-action-cell {
    text-align: center;
}

.cx-report-schedule-value {
    max-width: 260px;
    color: #2c4c6c;
    font-size: 9.3pt;
    font-weight: 650;
    line-height: 1.4;
}

.cx-usage-log-full-width {
    width: 100%;
}

.cx-device-page-primary-action {
    background: #3e6a99;
    border-color: #3e6a99;
    color: #fff;
}

.cx-device-list-toolbar {
    background: #2c4c6c;
}

.cx-device-list-toolbar-actions,
.cx-device-list-search-align {
    text-align: right !important;
}

.cx-device-list-toolbar-actions {
    color: #fff;
}

.cx-device-list-search-align {
    margin-top: 8px;
}

.cx-row-menu-icon {
    margin-right: 5px;
}

.cx-device-firmware-meta {
    padding-left: 10px;
    font-size: 8pt;
}

.cx-device-status-cell-fixed {
    width: 112px;
    min-width: 112px;
    max-width: 112px;
    text-align: center;
}

.cx-device-status-pill-desktop {
    width: 100px;
    margin: 0 auto 6px;
    padding: 4px 6px;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
}

.cx-device-status-icons-desktop {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.cx-device-status-icon-desktop {
    font-size: 14pt;
}

.cx-device-battery-stack-desktop {
    width: 18px;
    height: 18px;
    font-size: 14pt;
    line-height: 18px;
    vertical-align: middle;
}

.cx-device-battery-bolt {
    font-size: 6pt;
}

.cx-device-battery-bolt.is-light { color: #fff; }
.cx-device-battery-bolt.is-dark { color: #000; }

.cx-device-status-state--inactive { background: #d2d7dc; color: #17324d; }
.cx-device-status-state--inventory { background: #ffe36e; color: #5f4700; }
.cx-device-status-state--alert { background: #f08080; color: #17324d; }
.cx-device-status-state--active { background: #90ee90; color: #17324d; }
.cx-device-status-state--info { background: #add8e6; color: #17324d; }
.cx-device-status-state--special { background: #ffb6c1; color: #17324d; }
.cx-device-status-state--unknown { background: #d3d3d3; color: #17324d; }

.cx-device-connectivity--active { color: #f2b705; }
.cx-device-connectivity--inactive { color: #c7cdd4; }
.cx-device-gps--active { color: #2f6fed; }
.cx-device-gps--inactive { color: #c7cdd4; }
.cx-device-satellite--active { color: #7a5cb8; }
.cx-device-satellite--inactive { color: #c7cdd4; }

html body.cx-design-system .cx-dialog--device-model .cx-devicemodel-layout {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model .cx-devicemodel-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
}

html body.cx-design-system .cx-dialog--device-model
:is(.cx-device-model-form-section, .cx-device-model-alert-section) {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model .cx-devicemodel-fields {
    width: 100% !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-fields > .cx-r1-form-row {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(190px, 225px) minmax(0, 1fr) !important;
    column-gap: 18px !important;
    row-gap: 6px !important;
    justify-content: stretch !important;
    align-items: start !important;
    border: 0 !important;
    background: transparent !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-fields > .cx-r1-form-row:last-child {
    margin-bottom: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-fields > .cx-r1-form-row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-fields > .cx-r1-form-row > .form-label:first-child {
    grid-column: 1 !important;
    align-self: start !important;
    padding-top: 11px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-align: right !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-fields > .cx-r1-form-row > .form-label:first-child > label {
    display: inline-block !important;
    margin: 0 !important;
    text-align: right !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-fields > .cx-r1-form-row > [class*="col-"]:not(.form-label:first-child) {
    grid-column: 2 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-fields .form-control {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-device-model-form-section .cx-device-config-section-description {
    margin-bottom: 14px !important;
}

html body.cx-design-system .cx-dialog--device-model .cx-device-model-alert-section {
    padding-bottom: 18px !important;
}

html body.cx-design-system .cx-dialog--device-model .cx-devicemodel-alert-table-shell {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    border: 1px solid #cfdee8 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-dialog--device-model .cx-devicemodel-alert-table {
    width: 100% !important;
    min-width: 650px !important;
    table-layout: fixed !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table .cx-devicemodel-alert-col-answerable {
    width: 17% !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table .cx-devicemodel-alert-col-name {
    width: 66% !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table .cx-devicemodel-alert-col-default {
    width: 17% !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table :is(th, td) {
    min-width: 0 !important;
    height: 52px !important;
    padding: 10px 16px !important;
    vertical-align: middle !important;
    border-right: 1px solid #dbe5ed !important;
    border-bottom: 1px solid #e1e9ef !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table :is(th, td):last-child {
    border-right: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table tbody tr:last-child > td {
    border-bottom: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead th {
    height: 56px !important;
    background: #edf7f3 !important;
    color: #294f6d !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table :is(th, td):first-child,
html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table .cx-devicemodel-alert-default-column {
    text-align: center !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table :is(th, td):nth-child(2) {
    padding-left: 24px !important;
    padding-right: 24px !important;
    text-align: left !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table tbody tr {
    background: #ffffff !important;
    transition: background-color 120ms ease !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table tbody tr:hover {
    background: #f8fbfd !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table tbody tr.is-selected {
    background: #f4f8fb !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table .cx-devicemodel-alert-name {
    display: block !important;
    color: #263f58 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table :is(input[type="checkbox"], input[type="radio"]) {
    width: 20px !important;
    height: 20px !important;
    margin: 0 auto !important;
    display: block !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-dialog--device-model
    .cx-devicemodel-fields > .cx-r1-form-row {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 6px !important;
        margin-bottom: 12px !important;
    }

    html body.cx-design-system .cx-dialog--device-model
    .cx-devicemodel-fields > .cx-r1-form-row > .form-label:first-child {
        grid-column: 1 !important;
        padding-top: 0 !important;
        text-align: left !important;
    }

    html body.cx-design-system .cx-dialog--device-model
    .cx-devicemodel-fields > .cx-r1-form-row > .form-label:first-child > label {
        text-align: left !important;
    }

    html body.cx-design-system .cx-dialog--device-model
    .cx-devicemodel-fields > .cx-r1-form-row > [class*="col-"]:not(.form-label:first-child) {
        grid-column: 1 !important;
    }

    html body.cx-design-system .cx-dialog--device-model .cx-devicemodel-alert-table {
        min-width: 620px !important;
    }
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead th
.cx-table-column-header__layout {
    min-height: 44px !important;
    gap: 18px !important;
    align-items: center !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead th
.cx-table-column-header__icon {
    margin: 0 !important;
    flex-shrink: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead th
.cx-table-column-header__copy {
    min-width: 0 !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead th
.cx-table-column-header__label {
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead th:first-child
.cx-table-column-header__layout,
html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead
.cx-devicemodel-alert-default-column
.cx-table-column-header__layout {
    justify-content: center !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table thead th:nth-child(2)
.cx-table-column-header__layout {
    justify-content: flex-start !important;
}

html body.cx-design-system .cx-dialog--device-model
.cx-devicemodel-alert-table :is(th, td) {
    vertical-align: middle !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-group-view-page-header {
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        margin: 0 0 12px !important;
        padding: 8px 0 10px !important;
    }

    html body.cx-design-system .cx-group-view-page-header .cx-page-header-copy {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.cx-design-system .cx-group-view-page-header .page-title {
        width: 100% !important;
        margin: 0 0 4px !important;
        text-align: left !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-mobile-toolbar-row {
        display: grid !important;
        grid-template-columns: 52px minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: stretch !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-toolbar-back {
        grid-column: 1 !important;
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-grid !important;
        place-items: center !important;
        align-self: stretch !important;
        border: 1px solid #8493a3 !important;
        border-radius: 9px !important;
        background: #8493a3 !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-toolbar-back:is(:hover, :focus-visible) {
        border-color: #8493a3 !important;
        background: #8493a3 !important;
        color: #ffffff !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-toolbar-back > i {
        width: 100% !important;
        height: 100% !important;
        display: grid !important;
        place-items: center !important;
        font-size: 1rem !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-mobile-toolbar-row .cx-list-search {
        grid-column: 2 !important;
        min-width: 0 !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-mobile-toolbar-row
    .conexgo-search-button {
        border-color: #8493a3 !important;
        background: #8493a3 !important;
        color: #ffffff !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-mobile-toolbar-row
    .conexgo-search-button:is(:hover, :focus-visible) {
        border-color: #8493a3 !important;
        background: #8493a3 !important;
        color: #ffffff !important;
    }

    /* Long breadcrumbs wrap at natural word boundaries. Historical
       overflow-wrap:anywhere rules made long device/group names break letter-by-letter. */
    html body.cx-design-system .page-header .breadcrumb {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        row-gap: 3px !important;
        column-gap: 0 !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    html body.cx-design-system .page-header .breadcrumb-item {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    html body.cx-design-system .page-header .breadcrumb-item > :is(a, span) {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    html body.cx-design-system .page-header .breadcrumb-item + .breadcrumb-item::before {
        float: none !important;
        flex: 0 0 auto !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table
    .cx-group-member-row > td:nth-child(1),
    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table
    .cx-group-member-row > td:nth-child(2),
    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table
    .cx-group-member-row > td:nth-child(3) {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-member-row {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-member-name-value {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        align-items: flex-start !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-member-name-value > span:last-child {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-status-cell,
    html body.cx-design-system .cx-group-view-page .cx-group-member-lastreported-cell,
    html body.cx-design-system .cx-group-view-page .cx-group-member-address,
    html body.cx-design-system .cx-group-view-page .cx-group-member-lastreported-time {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-member-address {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }
}

/* Device list: IMEI / phone must remain legible and must not be squeezed. */
html body.cx-design-system .cx-device-identity-cell {
    width: 190px !important;
    min-width: 170px !important;
    max-width: 220px !important;
}

html body.cx-design-system .cx-device-identity-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    min-width: 0 !important;
    color: #344054 !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

html body.cx-design-system .cx-device-identity-stack > span {
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

/* Unit action dropdown: absolutely no geometry/typography movement on hover.
   The only visual response is the small blue background requested in QA. */
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu),
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu).show {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus, :focus-visible, :active) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    gap: 9px !important;
    column-gap: 9px !important;
    border-radius: 6px !important;
    font-size: 13.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    text-indent: 0 !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
    box-shadow: none !important;
    outline-offset: 0 !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item *,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus, :focus-visible, :active) * {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item > :is(i, span[class*="fa"], svg),
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus, :focus-visible, :active) > :is(i, span[class*="fa"], svg) {
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    text-align: center !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus-visible) {
    background: #edf5fb !important;
    color: #284f70 !important;
    border-color: transparent !important;
}

/* Header alert workflow status: compact, static and immediately readable. */
html body.cx-design-system .conexgo-alert-card-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}

html body.cx-design-system .conexgo-alert-card-title-row .conexgo-alert-card-title {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

html body.cx-design-system .cx-alert-workflow-status {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
}

html body.cx-design-system .cx-alert-workflow-status > i {
    width: 14px !important;
    min-width: 14px !important;
    text-align: center !important;
    font-size: 11px !important;
    transform: none !important;
    animation: none !important;
}

html body.cx-design-system .cx-alert-workflow-status--pending {
    background: #fff5df !important;
    border-color: #f1d08c !important;
    color: #996515 !important;
}

html body.cx-design-system .cx-alert-workflow-status--in-progress {
    background: #eaf3fb !important;
    border-color: #b8d4e8 !important;
    color: #2f6288 !important;
}

html body.cx-design-system .cx-alert-workflow-status--done {
    background: #eaf6ed !important;
    border-color: #b8d9c0 !important;
    color: #327545 !important;
}

/* Modern global export/download feedback. */
.cx-global-download-status {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2147482000;
    width: min(360px, calc(100vw - 32px));
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    border: 1px solid #cbdce9;
    border-radius: 12px;
    background: #ffffff;
    color: #294a66;
    box-shadow: 0 14px 35px rgba(33, 66, 92, .18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.cx-global-download-status.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cx-global-download-status__icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eaf3fa;
    color: #315f84;
    font-size: 16px;
}

.cx-global-download-status__copy {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cx-global-download-status__copy strong {
    font-size: 13.5px;
    line-height: 1.25;
    color: #294a66;
}

.cx-global-download-status__copy small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11.5px;
    color: #6d8193;
}

.cx-global-download-status__bar {
    height: 3px;
    margin-top: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: #e6eef4;
}

.cx-global-download-status__bar > span {
    display: block;
    width: 45%;
    height: 100%;
    border-radius: inherit;
    background: #4d7fa5;
    animation: cx-r1883-download-progress 1.25s ease-in-out infinite alternate;
}

.cx-global-download-status.is-ready .cx-global-download-status__icon {
    background: #e8f4ec;
    color: #3f7655;
}

.cx-global-download-status.is-ready .cx-global-download-status__bar > span {
    width: 100%;
    animation: none;
    background: #5d8a6b;
}

.cx-global-download-status.is-error .cx-global-download-status__icon {
    background: #fbebec;
    color: #a8474d;
}

.cx-global-download-status.is-error .cx-global-download-status__bar > span {
    width: 100%;
    animation: none;
    background: #b85a60;
}

@keyframes cx-r1883-download-progress {
    from { transform: translateX(-20%); }
    to { transform: translateX(130%); }
}

/* Emergency-contact review: make automatic language selection explicit. */
.cx-emergency-language-notice {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 0 12px;
    padding: 10px 12px;
    border: 1px solid #d3e1ec;
    border-radius: 9px;
    background: #f5f9fc;
    color: #44647f;
    font-size: 12.5px;
    line-height: 1.45;
}

.cx-emergency-language-notice i {
    margin-top: 2px;
    color: #3e739b;
}

/* Location, Data, SMS and Voice logs use the same device context component. */
.cx-log-list-card--location .cx-r1878-log-device-context {
    margin: 12px 14px 0;
}

/* Non-blocking modern activity state for shared list operations. */
.cx-r1883-inline-activity {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #cfdeea;
    border-radius: 8px;
    background: #f7fafc;
    color: #42647f;
    font-size: 12px;
    font-weight: 650;
}

@media (max-width: 768px) {
    .cx-global-download-status {
        right: 16px;
        bottom: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cx-global-download-status,
    .cx-global-download-status__bar > span {
        animation: none !important;
        transition: none !important;
    }
}

/* Shared list/search loading states: calm icon + linear progress, no rotating glyph. */
.cx-r1883-wait-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    display: block;
    box-sizing: border-box;
    border: 6px solid #dbe8f1;
    border-top-color: #315a7c;
    border-left-color: #315a7c;
    border-radius: 14px;
    background: #eef5fa;
    box-shadow: 0 5px 14px rgba(44, 76, 108, .08);
    animation: cx-conexgo-card-loader-spin .92s cubic-bezier(.45, 0, .55, 1) infinite;
}
.cx-r1883-wait-icon i { display: none !important; }
.table-wait-indicator .cx-r1883-wait-bar { display: none !important; }
@keyframes cx-conexgo-card-loader-spin { to { transform: rotate(360deg); } }
.cx-r1883-wait-bar {
    width: min(240px, 80%);
    height: 3px;
    margin: 10px auto 0;
    overflow: hidden;
    border-radius: 999px;
    background: #e2ebf2;
}
.cx-r1883-wait-bar > span {
    display: block;
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: #4f7fa3;
    animation: cx-r1883-download-progress 1.2s ease-in-out infinite alternate;
}
.cx-r1883-searching-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
}
.cx-r1883-searching-icon i { animation: none !important; transform: none !important; }

.cx-review-log-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}
.cx-review-log-status.is-success { background:#e8f4ec; color:#3f7655; }
.cx-review-log-status.is-error { background:#fbeaec; color:#a3474f; }
.cx-review-log-status.is-warning { background:#fbf3df; color:#8a6620; }
.cx-r1883-empty-log {
    display:flex; align-items:center; justify-content:center; gap:9px;
    padding:28px 16px; color:#6c8192; font-size:13px;
}

/* Alert document first-save/upload guidance. */
.cx-document-upload-hint {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    padding: 9px 11px;
    border: 1px solid #d7e5ef;
    border-radius: 8px;
    background: #f5f9fc;
    color: #48687e;
    font-size: 12.5px;
    line-height: 1.45;
}
.cx-document-upload-hint i {
    margin-top: 2px;
    color: #3f7398;
    flex: 0 0 auto;
}

/* Device dropdown: hover changes ONLY the background. No text/icon growth,
   weight shift, movement, pseudo-layer or color jump. */
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus, :focus-visible, :active) {
    color: #294f6d !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    transition: none !important;
    animation: none !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item {
    background: transparent !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus-visible) {
    background: #edf5fb !important;
    color: #294f6d !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item::before,
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item::after {
    content: none !important;
    display: none !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item > :is(i, span[class*="fa"], svg),
html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus, :focus-visible, :active) > :is(i, span[class*="fa"], svg) {
    color: #668299 !important;
    font-size: 13px !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    filter: none !important;
}

/* Header alert queue: workflow state and language belong to the same compact
   top-right row so Pending/In progress is visually aligned, not floating in
   the title copy column. */
html body.cx-design-system .conexgo-alert-classic-side {
    align-items: flex-end !important;
}

html body.cx-design-system .conexgo-alert-classic-side-top {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-height: 24px !important;
    white-space: nowrap !important;
}

html body.cx-design-system .conexgo-alert-classic-side-top .cx-alert-workflow-status,
html body.cx-design-system .conexgo-alert-classic-side-top .conexgo-alert-classic-language {
    margin: 0 !important;
    align-self: center !important;
}

/* #532 — ensure status content in Group View / Modify Group is never dimmed
   by table/theme rules. Inline colors remain the same source of truth as the
   Unit List; these rules only guarantee visibility and stable geometry. */
html body.cx-design-system :is(.cx-group-view-status-cell, .cx-group-member-status-cell) {
    min-width: 132px !important;
}

html body.cx-design-system :is(.cx-group-view-status-label, .cx-group-member-status-label),
html body.cx-design-system :is(.cx-group-view-status-icon, .cx-group-member-status-icon),
html body.cx-design-system :is(.cx-group-view-battery-icon, .cx-group-member-battery-icon) {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

html body.cx-design-system :is(.cx-group-view-status-icons, .cx-group-member-status-icons) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 20px !important;
}

/* ========================================================================== */

/* ========================================================================== */

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-toggle {
    min-height: 52px !important;
    padding: 10px 14px !important;
    justify-content: flex-start !important;
    border-radius: 11px !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
    transform: none !important;
    translate: none !important;
    scale: none !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-toggle > i {
    width: 22px !important;
    min-width: 22px !important;
    text-align: center !important;
    font-size: 15px !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-panel,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-resource-detail {
    padding: 14px 16px !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    color: #172b3a !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
    box-shadow: 0 2px 8px rgba(35, 74, 108, .05) !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-panel-danger,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-resource-detail.alert-answer-panel-danger {
    border: 1px solid #efc7c2 !important;
    border-left: 4px solid #c93a2f !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-panel-info,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-resource-detail.alert-answer-panel-info {
    border: 1px solid #c9dbea !important;
    border-left: 4px solid #315f82 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-alert-resource-body,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .cx-r1882-emergency-contact-lines {
    color: #172b3a !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-panel-title {
    margin-bottom: 9px !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-dialog--alert-view .alert-view-resource-actions > .cx-alert-resource-detail {
    grid-column: 1 / -1 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    margin: 4px 0 16px !important;
    padding: 12px 14px !important;
    border: 1px solid #c8dbea !important;
    border-left: 4px solid #315f82 !important;
    border-radius: 10px !important;
    background: #f3f8fc !important;
    color: #294d68 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice__icon {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
    background: #e4eef6 !important;
    color: #315f82 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice__copy {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice__copy strong {
    color: #244d70 !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice__copy > span {
    font-size: 12.75px !important;
    line-height: 1.5 !important;
}

html body.cx-design-system .cx-alert-followup-pilot {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) minmax(240px, 340px) !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 14px !important;
    padding: 14px !important;
    border: 1px solid #c8dbea !important;
    border-radius: 12px !important;
    background: #f7fafc !important;
}

html body.cx-design-system .cx-alert-followup-pilot__icon {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    background: #e7f1f8 !important;
    color: #315f82 !important;
    font-size: 18px !important;
}

html body.cx-design-system .cx-alert-followup-pilot__copy {
    display: grid !important;
    gap: 3px !important;
    color: #49677f !important;
}

html body.cx-design-system .cx-alert-followup-pilot__copy strong {
    color: #244d70 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-alert-followup-pilot__account {
    display: grid !important;
    gap: 5px !important;
    margin: 0 !important;
    color: #2c4c6c !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .device-geofence-map-empty.is-hidden {
    display: none !important;
}

@media (max-width: 900px) {
    html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row,
    html body.cx-design-system .cx-alert-followup-pilot {
        grid-template-columns: 1fr !important;
    }
}

html body.cx-design-system .device-geofence-map-empty--static {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    min-height: 330px !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 5 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(.alert-answer-panel-danger, .alert-answer-panel-info) .cx-alert-resource-body,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(.alert-answer-panel-danger, .alert-answer-panel-info) .cx-r1882-emergency-contact-lines {
    color: #172b3d !important;
    font-weight: 500 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-panel-danger .alert-answer-panel-title {
    color: #b42318 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-panel-info .alert-answer-panel-title {
    color: #244d70 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
    margin: 10px 0 18px !important;
    padding: 13px 15px !important;
    border: 1px solid #bdd4e4 !important;
    border-left: 4px solid #3b6f95 !important;
    border-radius: 10px !important;
    background: #f1f7fb !important;
    color: #2c4c64 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice__icon {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
    background: #e3eef6 !important;
    color: #315f82 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice__copy {
    display: grid !important;
    gap: 3px !important;
    line-height: 1.45 !important;
}

html body.cx-design-system .cx-device-identity-readonly-notice__copy strong {
    color: #244d70 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-alert-followup-pilot--available-now {
    border-color: #b9d8c3 !important;
    background: #f3fbf5 !important;
}

/* Alert View / Answer: contacts stay visually red/pink, with dark text. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-panel-danger,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-resource-detail.alert-answer-panel-danger {
    background: #fff0ee !important;
    border: 1px solid #edaaa2 !important;
    border-left: 4px solid #ca3d32 !important;
    color: #172b3d !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-panel-danger :is(.alert-answer-panel-title, .cx-alert-resource-body, .cx-r1882-emergency-contact-lines, p, span, strong, div) {
    color: #172b3d !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-panel-danger .alert-answer-panel-title {
    color: #8f241c !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-panel-info,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-resource-detail.alert-answer-panel-info {
    background: #eef6fc !important;
    border: 1px solid #bed6e7 !important;
    border-left: 4px solid #315f82 !important;
    color: #172b3d !important;
}

/* Geofence definition mode. */
html body.cx-design-system .device-geofence-mode-switch {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 4px !important;
    border: 1px solid #c9d9e6 !important;
    border-radius: 11px !important;
    background: #f7fafc !important;
}

html body.cx-design-system .device-geofence-mode-button {
    min-height: 39px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 8px 13px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #4c657c !important;
    font-size: 12.75px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

html body.cx-design-system .device-geofence-mode-button:is(:hover, :focus-visible) {
    background: #edf4f9 !important;
    color: #294f70 !important;
    transform: none !important;
}

html body.cx-design-system .device-geofence-mode-button.is-active {
    border-color: #8fb3cf !important;
    background: #e7f1f8 !important;
    color: #244d70 !important;
    box-shadow: inset 0 0 0 1px rgba(49, 95, 130, .04) !important;
}

html body.cx-design-system .device-geofence-manual-card {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    margin: 14px 0 4px !important;
    padding: 13px 14px !important;
    border: 1px solid #c5d9e8 !important;
    border-left: 4px solid #315f82 !important;
    border-radius: 11px !important;
    background: #f3f8fc !important;
    color: #314d65 !important;
}

html body.cx-design-system .device-geofence-manual-card__icon {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    background: #e2eef7 !important;
    color: #315f82 !important;
    font-size: 17px !important;
}

html body.cx-design-system .device-geofence-manual-card__copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

html body.cx-design-system .device-geofence-manual-card__copy strong {
    color: #244d70 !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .device-geofence-manual-card__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 7px !important;
}

html body.cx-design-system .device-geofence-map-card {
    overflow: hidden !important;
}

html body.cx-design-system .device-geofence-map-canvas {
    position: absolute !important;
    inset: 0 !important;
    min-height: 330px !important;
    width: 100% !important;
    height: 100% !important;
}

html body.cx-design-system .device-geofence-map-draw-hint {
    position: absolute !important;
    z-index: 6 !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(49, 95, 130, .28) !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, .94) !important;
    color: #294f70 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    box-shadow: 0 5px 16px rgba(38, 67, 91, .12) !important;
    backdrop-filter: blur(6px) !important;
}

/* Wi-Fi indoor assist under Last Location. */
html body.cx-design-system .device-map-wifi-location {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-top: 7px !important;
    padding: 7px 10px !important;
    border: 1px solid #d6e2eb !important;
    border-radius: 8px !important;
    background: #f7fafc !important;
    color: #3d5870 !important;
    font-size: 11.75px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .device-map-wifi-location > i {
    margin-top: 2px !important;
    color: #39739c !important;
}

html body.cx-design-system .device-map-wifi-location > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

html body.cx-design-system .device-map-wifi-location span {
    overflow-wrap: anywhere !important;
}

/* Emergency Contact Review log: align it with Data/SMS/Voice list architecture. */
html body.cx-design-system .cx-emergency-review-context {
    margin-bottom: 0 !important;
}

html body.cx-design-system .cx-emergency-review-filter-panel {
    margin: 0 16px 12px !important;
}

html body.cx-design-system .cx-emergency-review-filter-grid {
    grid-template-columns: repeat(4, minmax(170px, 1fr)) !important;
}

html body.cx-design-system .cx-emergency-review-search {
    width: min(100%, 470px) !important;
    margin-left: auto !important;
}

html body.cx-design-system .cx-r1883-inline-operation {
    width: min(100%, 430px) !important;
    min-height: 44px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto 4px !important;
    align-items: center !important;
    column-gap: 9px !important;
    row-gap: 5px !important;
    margin-left: auto !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.1) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-r1883-inline-operation .cx-r1883-wait-icon {
    grid-row: 1 / 3 !important;
    width: 30px !important;
    height: 30px !important;
}

html body.cx-design-system .cx-r1883-inline-operation .cx-r1883-wait-bar {
    grid-column: 2 !important;
    width: 100% !important;
}

html body.cx-design-system .cx-review-log-status {
    width: max-content !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px 9px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-review-log-status.is-success {
    border-color: #b8d8c2 !important;
    background: #edf8f0 !important;
    color: #28613b !important;
}

html body.cx-design-system .cx-review-log-status.is-warning {
    border-color: #efd395 !important;
    background: #fff8e8 !important;
    color: #805812 !important;
}

html body.cx-design-system .cx-review-log-status.is-error {
    border-color: #efb7b1 !important;
    background: #fff1ef !important;
    color: #9f3027 !important;
}

html body.cx-design-system .cx-emergency-review-device {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #294f70 !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-emergency-review-device > i {
    color: #4f7ea2 !important;
}

html body.cx-design-system .cx-emergency-review-details-trigger {
    display: inline-block !important;
    max-width: 390px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-r1883-empty-log {
    min-height: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 24px !important;
    color: #6a8194 !important;
    text-align: center !important;
}

html body.cx-design-system .cx-r1883-empty-log > i {
    color: #7893a8 !important;
    font-size: 18px !important;
}

html body.cx-design-system #scheduled-alert-report {
    scroll-margin-top: 110px !important;
}

@media (max-width: 1100px) {
    html body.cx-design-system .cx-emergency-review-filter-grid {
        grid-template-columns: repeat(2, minmax(170px, 1fr)) !important;
    }

    html body.cx-design-system .device-geofence-manual-card {
        grid-template-columns: 42px minmax(0, 1fr) !important;
    }

    html body.cx-design-system .device-geofence-manual-card__actions {
        grid-column: 1 / -1 !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 680px) {
    html body.cx-design-system .device-geofence-mode-switch {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    html body.cx-design-system .device-geofence-mode-button {
        width: 100% !important;
    }

    html body.cx-design-system .cx-emergency-review-filter-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .cx-emergency-review-filter-panel {
        margin-inline: 8px !important;
    }
}

html body.cx-design-system .alert-list-card .cx-alert-workflow-status {
    width: max-content !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 28px !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 5px 9px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .alert-list-card .cx-alert-workflow-status .cx-alert-workflow-icon {
    width: 13px !important;
    min-width: 13px !important;
    height: auto !important;
    flex: 0 0 13px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    text-align: center !important;
}

html body.cx-design-system .alert-list-card .cx-alert-workflow-status.is-pending {
    background: #fff5df !important;
    border-color: #f1d08c !important;
    color: #7b5516 !important;
}

html body.cx-design-system .alert-list-card .cx-alert-workflow-status.is-in-progress {
    background: #eaf3fb !important;
    border-color: #b8d4e8 !important;
    color: #2f6288 !important;
}

html body.cx-design-system .alert-list-card .cx-alert-workflow-status.is-completed {
    background: #eaf6ed !important;
    border-color: #b8d9c0 !important;
    color: #327545 !important;
}

html body.cx-design-system .alert-list-card .alert-list-workflow-cell {
    vertical-align: middle !important;
}

@media (min-width: 1200px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview {
        grid-template-columns: minmax(0, 1.28fr) minmax(370px, .72fr) !important;
        align-items: start !important;
        gap: 18px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-card {
        position: sticky !important;
        top: 10px !important;
        align-self: start !important;
        width: 100% !important;
        min-width: 0 !important;
        height: clamp(400px, 52dvh, 540px) !important;
        min-height: 400px !important;
        max-height: min(60dvh, 560px) !important;
        resize: none !important;
        overflow: hidden !important;
        z-index: 12 !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-preview {
        min-height: 0 !important;
        height: auto !important;
        flex: 1 1 auto !important;
    }
}

@media (max-width: 1199.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: start !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-card {
        position: relative !important;
        top: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 380px !important;
        min-height: 340px !important;
        max-height: 520px !important;
        align-self: auto !important;
        resize: vertical !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .cx-r1-section {
        padding: 12px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-card,
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-recipients-card {
        padding: 12px !important;
        border-radius: 10px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-card-header {
        gap: 9px !important;
        margin-bottom: 12px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-card-icon {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-fields-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 13px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-field-full {
        grid-column: auto !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-radio-group {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .cx-native-radio-card .device-geofence-radio-content {
        min-height: 66px !important;
        padding: 11px 12px 11px 44px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-manual-card {
        grid-template-columns: 36px minmax(0, 1fr) !important;
        padding: 11px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-manual-card__icon {
        width: 36px !important;
        height: 36px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-manual-card__actions {
        grid-column: 1 / -1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-manual-card__actions .btn {
        width: 100% !important;
        min-height: 38px !important;
        white-space: normal !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-card {
        height: 330px !important;
        min-height: 300px !important;
        max-height: 440px !important;
        resize: none !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-preview,
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-preview > div,
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-preview .gm-style {
        min-height: 250px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-draw-hint {
        left: 8px !important;
        right: 8px !important;
        bottom: 8px !important;
        padding: 7px 9px !important;
        font-size: 11.5px !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-tabs {
        margin-bottom: 10px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-tab {
        min-width: 102px !important;
        max-width: 150px !important;
        min-height: 40px !important;
        height: 40px !important;
        padding-inline: 8px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-topbar {
        align-items: stretch !important;
        gap: 8px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-switch-card,
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-mode-switch,
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-preview-button {
        width: 100% !important;
        max-width: none !important;
        align-self: stretch !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-preview-button {
        display: inline-flex !important;
        justify-content: center !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-dialog-actions {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        padding: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-dialog-actions > button {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 44px !important;
        white-space: nowrap !important;
    }
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-configuration-layout-with-preview > .device-geofence-map-card,
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card.device-geofence-map-resizable {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    resize: none !important;
    flex: initial !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-configuration-layout-with-preview > .device-geofence-fields-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

@media (min-width: 1200px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview {
        grid-template-columns: minmax(0, 1.22fr) minmax(400px, .78fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        gap: 20px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview > .device-geofence-map-card {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: stretch !important;
        align-self: start !important;
        position: sticky !important;
        top: 10px !important;
        height: clamp(400px, 52dvh, 540px) !important;
        min-height: 400px !important;
        max-height: min(60dvh, 560px) !important;
    }
}

@media (max-width: 1199.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview > .device-geofence-map-card {
        grid-column: 1 !important;
        grid-row: auto !important;
        position: relative !important;
        top: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 380px !important;
        min-height: 340px !important;
        max-height: 520px !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview > .device-geofence-map-card {
        height: 330px !important;
        min-height: 300px !important;
        max-height: 440px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-header {
        min-width: 0 !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-header > div {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

/* Manual geofence drawing: controls live outside the Google Maps surface so
   neither the helper copy nor the buttons can cover the area the user must tap. */
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-drawing-panel {
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 9px 12px !important;
    width: 100% !important;
    padding: 9px 10px !important;
    border-bottom: 1px solid #d9e5ee !important;
    background: #f6f9fc !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-draw-hint {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #3b5d78 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    text-align: left !important;
    font-size: 11.75px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    pointer-events: none !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-draw-hint > i {
    flex: 0 0 auto !important;
    margin-top: 2px !important;
    color: #3f7298 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-draw-toolbar {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    pointer-events: auto !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-tool {
    min-height: 34px !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 6px 9px !important;
    border: 1px solid #c7d7e4 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #315a7d !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-tool:not(.device-geofence-map-tool--primary):not(.device-geofence-map-tool--success):not(.device-geofence-map-tool--danger):is(:hover, :focus-visible):not(:disabled) {
    border-color: #8eb4cf !important;
    background: #edf5fb !important;
    color: #244d70 !important;
    transform: none !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-tool--primary,
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-tool--primary.is-active {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-tool--success:not(:disabled) {
    border-color: #5f916b !important;
    background: #edf7ef !important;
    color: #356943 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-tool--danger:not(:disabled) {
    border-color: #dca8ae !important;
    background: #fff5f6 !important;
    color: #9d3f4b !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-tool:disabled {
    opacity: .46 !important;
    cursor: not-allowed !important;
}

/* A successful map must never leave an invisible full-size status layer above it. */
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-status.is-hidden,
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-status[hidden] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Customer read-only contact/emergency/note blocks follow the same visual
   language as other read-only fields without looking like disabled textareas. */
html body.cx-design-system .mud-dialog.cx-r1-device-addedit
.cx-device-readonly-multiline {
    min-height: 68px !important;
    height: auto !important;
    display: block !important;
    padding: 12px 14px !important;
    border: 1px solid #cfdeea !important;
    border-left: 4px solid #6ea0c2 !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
    color: #263f58 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    align-items: initial !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-addedit
.cx-device-readonly-contacts {
    min-height: 150px !important;
}

/* Alert queue workflow is intentionally readable, not an unexplained 22px icon. */
html body.cx-design-system .conexgo-alert-classic-side-top .cx-alert-workflow-status {
    width: max-content !important;
    max-width: 132px !important;
    height: auto !important;
    min-height: 26px !important;
    flex: 0 0 auto !important;
    gap: 6px !important;
    padding: 4px 8px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 10.75px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

html body.cx-design-system .conexgo-alert-classic-side-top
.cx-alert-workflow-status > i {
    width: 12px !important;
    min-width: 12px !important;
    font-size: 10px !important;
}

html body.cx-design-system .conexgo-alert-classic-side-top
.cx-alert-workflow-status__label {
    display: inline !important;
    min-width: 0 !important;
}

html body.cx-design-system .conexgo-alert-trigger.is-pending .conexgo-alert-icon {
    color: #cc3657 !important;
}

html body.cx-design-system .conexgo-alert-trigger.is-in-progress .conexgo-alert-icon {
    color: #315f82 !important;
}

/* Scheduled client report entry: use Conexgo controls and give the action its
   own column rather than letting an implicit grid track distort the card. */
html body.cx-design-system .cx-alert-followup-pilot {
    grid-template-columns: 46px minmax(260px, 1fr) minmax(260px, 340px) auto !important;
    align-items: end !important;
    gap: 12px 14px !important;
    padding: 15px 16px !important;
}

html body.cx-design-system .cx-alert-followup-pilot__icon,
html body.cx-design-system .cx-alert-followup-pilot__copy {
    align-self: center !important;
}

html body.cx-design-system .cx-alert-followup-pilot__account-label {
    display: block !important;
    margin-bottom: 5px !important;
    color: #3d5a72 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
}

html body.cx-design-system .cx-alert-followup-pilot__select,
html body.cx-design-system .cx-alert-followup-pilot__select .cx-custom-select-trigger {
    width: 100% !important;
    min-width: 0 !important;
}

html body.cx-design-system .cx-alert-followup-pilot__actions {
    align-self: end !important;
}

html body.cx-design-system .cx-alert-followup-configure {
    min-height: 39px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 8px 12px !important;
    border: 1px solid #315f82 !important;
    border-radius: 9px !important;
    background: #315f82 !important;
    color: #fff !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

/* Report delivery modal: clear hierarchy between schedule, recipients and
   attachment while keeping all existing Conexgo form components. */
html body.cx-design-system .mud-dialog.cx-report-subscribe-dialog {
    width: min(1160px, calc(100vw - 28px)) !important;
    max-width: min(1160px, calc(100vw - 28px)) !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .mud-dialog-content {
    max-height: min(76dvh, 820px) !important;
    padding: 12px 14px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-form {
    gap: 14px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-section {
    padding: 14px 16px 16px !important;
    border-color: #c9dbe8 !important;
    box-shadow: 0 3px 10px rgba(36, 77, 112, .035) !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 34px auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
    padding: 9px 11px !important;
    border: 1px solid #d3e0ea !important;
    border-radius: 9px !important;
    background: #f6f9fc !important;
    color: #536b7e !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target > i {
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: #e5f0f7 !important;
    color: #315f82 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target strong {
    color: #244d70 !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-footer {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, max-content) !important;
    justify-content: end !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-action {
    min-height: 40px !important;
    margin: 0 !important;
    border-radius: 9px !important;
    white-space: nowrap !important;
}

/* Manage Devices search result/status areas stay readable at desktop and mobile. */
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .dataTables_filter,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .dataTables_filter label,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .dataTables_filter .input-group {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 1050px) {
    html body.cx-design-system .cx-alert-followup-pilot {
        grid-template-columns: 46px minmax(0, 1fr) !important;
    }

    html body.cx-design-system .cx-alert-followup-pilot__account,
    html body.cx-design-system .cx-alert-followup-pilot__actions {
        grid-column: 1 / -1 !important;
    }

    html body.cx-design-system .cx-alert-followup-pilot__actions,
    html body.cx-design-system .cx-alert-followup-configure {
        width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-card {
        height: auto !important;
        min-height: 390px !important;
        max-height: none !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-drawing-panel {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 8px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-draw-toolbar {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 6px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-tool {
        width: 100% !important;
        min-height: 36px !important;
        padding-inline: 6px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-preview {
        min-height: 300px !important;
        flex: 1 1 300px !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-preview > div,
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-preview .gm-style {
        min-height: 300px !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-footer {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-action {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target {
        grid-template-columns: 34px minmax(0, 1fr) !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target strong {
        grid-column: 2 !important;
    }
}

@media (max-width: 430px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-draw-toolbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-footer {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Row-action menus: requested interaction is background-only. Never translate,
   scale, enlarge, indent or animate the content when hovering/focusing. */
html body.cx-design-system :is(.dropdown-menu, .device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item,
html body.cx-design-system :is(.dropdown-menu, .device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item *,
html body.cx-design-system :is(.dropdown-menu, .device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item::before,
html body.cx-design-system :is(.dropdown-menu, .device-list-action-menu, .conexgo-row-action-menu, .conexgo-account-document-menu) .dropdown-item::after {
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    margin-left: 0 !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item {
    transform: translateY(0) !important;
    transition: background-color .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item:is(:hover, :focus, :focus-visible, :active) {
    transform: translateY(-1px) !important;
    translate: none !important;
    scale: 1 !important;
    box-shadow: 0 3px 8px rgba(44, 76, 108, .07) !important;
    background: #f0f5f9 !important;
    color: #244d70 !important;
}

html body.cx-design-system :is(.dropdown-menu, .conexgo-account-document-menu) .dropdown-item:is(:hover, :focus, :focus-visible, :active) {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    box-shadow: none !important;
    background: rgba(49, 95, 128, .10) !important;
    color: #244d70 !important;
}

/* Keep the same slightly stronger blue hover used by Device List everywhere. */
html body.cx-design-system :is(.table-hover, .conexgo-pagedlist-table, .cx-native-table, .report-list-card table, .account-list-card table) tbody tr:hover > *,
html body.cx-design-system :is(.table-hover, .conexgo-pagedlist-table, .cx-native-table, .report-list-card table, .account-list-card table) tbody tr:focus-within > * {
    --bs-table-accent-bg: rgba(49, 95, 128, .075) !important;
    background-color: rgba(49, 95, 128, .075) !important;
}

/* Block notice: stable two-column form. Help belongs to its field instead of
   floating in a narrow third column. */
html body.cx-design-system .mud-dialog.cx-r1-account-blocknotice {
    width: min(1080px, calc(100vw - 28px)) !important;
    max-width: min(1080px, calc(100vw - 28px)) !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .mud-dialog-content {
    padding: 16px 18px !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-r1-form-row {
    display: grid !important;
    grid-template-columns: minmax(180px, 230px) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 8px 18px !important;
    margin: 0 0 14px !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-r1-form-row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-r1-form-row > .form-label {
    padding-top: 10px !important;
    text-align: left !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-r1876-blocknotice-field-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
}
html body.cx-design-system .cx-r1-account-blocknotice :is(.cx-r1876-blocknotice-primary-control, .cx-r1876-blocknotice-action-control) {
    width: 100% !important;
    max-width: none !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-field-help {
    color: #647b8e !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-auto-row > .col-md-2,
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-auto-row > .col-md-7 {
    grid-column: 2 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-auto-row > .col-md-2 {
    width: max-content !important;
    padding: 5px 0 0 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-auto-row > .col-md-7 {
    margin-top: -4px !important;
    padding: 10px 12px !important;
    border: 1px solid #dbe6ee !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-message-row textarea {
    min-height: 150px !important;
    padding: 12px 14px !important;
    line-height: 1.55 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table tbody tr:hover > * {
    background: rgba(49, 95, 128, .075) !important;
}

/* Alert documents belong to the same resource system as Contacts and Emergency
   Service Information, rather than looking like a separate nested widget. */
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .cx-alert-resource-documents,
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .cx-alert-resource-documents .cx-alert-documents-toggle-row {
    display: contents !important;
}
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .alert-answer-toggle-documents {
    min-height: 50px !important;
    border: 1px solid #8fb5cf !important;
    border-radius: 9px !important;
    background: #f5f9fc !important;
    color: #2c5d80 !important;
    font-weight: 800 !important;
}
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .alert-answer-toggle-documents:is(:hover, :focus-visible, .active) {
    background: #e8f2f8 !important;
    color: #234f70 !important;
    transform: none !important;
}
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .cx-alert-documents-preview-list {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin-top: 2px !important;
    padding: 14px 16px !important;
    border: 1px solid #b9d2e3 !important;
    border-left: 4px solid #315f82 !important;
    border-radius: 10px !important;
    background: #edf5fa !important;
    color: #173b57 !important;
}
html body.cx-design-system .cx-alert-documents-preview-list .cx-alert-resource-panel-title {
    color: #173b57 !important;
    font-weight: 850 !important;
}
html body.cx-design-system .cx-alert-document-preview-card {
    border-color: #cbdde9 !important;
    background: #fff !important;
    box-shadow: none !important;
}
html body.cx-design-system .cx-alert-document-preview-card:hover {
    background: #f7fbfe !important;
    transform: none !important;
}

/* Monthly reports use the same list-page language as the existing report
   screens. Keep this surface intentionally restrained: one standard report
   card, one toolbar, one table and the usual Conexgo action colours. */
html body.cx-design-system .cx-monthly-report-list-card {
    overflow: hidden !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-row {
    grid-template-columns: minmax(240px, 1fr) minmax(320px, 470px) !important;
    gap: 16px !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-heading {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #fff !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-icon {
    flex: 0 0 auto !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 1px !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-copy strong {
    color: #fff !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-copy small {
    color: rgba(255,255,255,.76) !important;
    font-size: .76rem !important;
    line-height: 1.25 !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-control {
    width: 100% !important;
    min-width: 0 !important;
    justify-self: end !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-label {
    display: block !important;
    margin: 0 0 4px !important;
    color: rgba(255,255,255,.78) !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
}
html body.cx-design-system .cx-monthly-report-target-select {
    width: 100% !important;
    max-width: none !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-control .cx-select-control,
html body.cx-design-system .cx-monthly-report-toolbar-control .cx-control--filter {
    background: #fff !important;
}
html body.cx-design-system .cx-monthly-report-account-context {
    min-height: 48px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(255,255,255,.2) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}
html body.cx-design-system .cx-monthly-report-account-icon {
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    background: rgba(255,255,255,.1) !important;
}
html body.cx-design-system .cx-monthly-report-account-context > span:last-child {
    min-width: 0 !important;
    display: grid !important;
    gap: 1px !important;
}
html body.cx-design-system .cx-monthly-report-account-context small {
    color: rgba(255,255,255,.7) !important;
    font-size: .7rem !important;
    font-weight: 750 !important;
    text-transform: uppercase !important;
}
html body.cx-design-system .cx-monthly-report-account-context strong {
    min-width: 0 !important;
    color: #fff !important;
    font-size: .88rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
html body.cx-design-system .cx-monthly-report-card-body {
    display: grid !important;
    gap: 16px !important;
    padding: 16px 20px 20px !important;
}
html body.cx-design-system .cx-monthly-report-info {
    display: grid !important;
    grid-template-columns: 38px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 11px !important;
    padding: 12px 14px !important;
    border: 1px solid #d6e2eb !important;
    border-left: 4px solid #3e6a99 !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
    color: #536b7e !important;
}
html body.cx-design-system .cx-monthly-report-info-icon {
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    background: #e8f2f8 !important;
    color: #315f82 !important;
}
html body.cx-design-system .cx-monthly-report-info > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}
html body.cx-design-system .cx-monthly-report-info strong {
    color: #244d70 !important;
    font-weight: 820 !important;
}
html body.cx-design-system .cx-monthly-report-info span {
    line-height: 1.45 !important;
}
html body.cx-design-system .cx-monthly-report-table-shell {
    margin: 0 !important;
    border: 1px solid #dce5ec !important;
    border-radius: 9px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}
html body.cx-design-system .cx-monthly-report-table {
    min-width: 900px !important;
    margin: 0 !important;
}
html body.cx-design-system .cx-monthly-report-table thead th {
    padding: 12px 14px !important;
    border-bottom: 1px solid #cbdde9 !important;
    color: #244d70 !important;
    font-size: .79rem !important;
    font-weight: 850 !important;
    letter-spacing: .015em !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}
html body.cx-design-system .cx-monthly-report-column-icon {
    width: 30px !important;
    height: 30px !important;
    margin-right: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cfe0ea !important;
    border-radius: 7px !important;
    background: #f6fbfe !important;
    color: #315f82 !important;
    vertical-align: middle !important;
}
html body.cx-design-system .cx-monthly-report-table tbody td {
    padding: 14px !important;
    color: #2c4c6c !important;
    vertical-align: top !important;
}
html body.cx-design-system .cx-monthly-report-action-column {
    width: 145px !important;
}
html body.cx-design-system .cx-monthly-report-action-cell {
    text-align: center !important;
    vertical-align: middle !important;
}
html body.cx-design-system .cx-monthly-report-row-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
html body.cx-design-system .cx-monthly-report-row-action {
    width: 40px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .15s ease, border-color .15s ease !important;
}
html body.cx-design-system .cx-monthly-report-row-action:hover,
html body.cx-design-system .cx-monthly-report-row-action:focus-visible {
    transform: none !important;
}
html body.cx-design-system .cx-monthly-report-row-action--configure {
    background: #78b842 !important;
    color: #fff !important;
}
html body.cx-design-system .cx-monthly-report-row-action--configure:hover,
html body.cx-design-system .cx-monthly-report-row-action--configure:focus-visible {
    background: #69a536 !important;
}
html body.cx-design-system .cx-monthly-report-row-action--preview {
    background: #3e6a99 !important;
    color: #fff !important;
}
html body.cx-design-system .cx-monthly-report-row-action--preview:hover,
html body.cx-design-system .cx-monthly-report-row-action--preview:focus-visible {
    background: #315f82 !important;
}
html body.cx-design-system .cx-monthly-report-row-action:disabled {
    opacity: .48 !important;
    cursor: not-allowed !important;
}
html body.cx-design-system .cx-monthly-report-name-cell {
    min-width: 290px !important;
}
html body.cx-design-system .cx-monthly-report-name-cell strong {
    display: block !important;
    color: #173b57 !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}
html body.cx-design-system .cx-monthly-report-name-cell small {
    display: block !important;
    margin-top: 3px !important;
    color: #657b8c !important;
    line-height: 1.4 !important;
}
html body.cx-design-system .cx-monthly-report-recipient-cell {
    min-width: 230px !important;
}
html body.cx-design-system .cx-monthly-report-recipient {
    display: block !important;
    overflow-wrap: anywhere !important;
    line-height: 1.4 !important;
}
html body.cx-design-system .cx-monthly-report-muted {
    color: #8997a3 !important;
    font-style: italic !important;
}
html body.cx-design-system .cx-monthly-report-format {
    white-space: nowrap !important;
}
html body.cx-design-system .cx-monthly-report-schedule-cell {
    min-width: 230px !important;
    color: #2c4c6c !important;
    font-size: .86rem !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
}
html body.cx-design-system .cx-monthly-report-footnote {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 0 2px !important;
    color: #657b8c !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
}
html body.cx-design-system .cx-monthly-report-footnote i {
    margin-top: 2px !important;
    color: #557b99 !important;
}
@media (max-width: 991.98px) {
    html body.cx-design-system .cx-monthly-report-toolbar-row {
        grid-template-columns: minmax(0,1fr) !important;
    }
    html body.cx-design-system .cx-monthly-report-toolbar-control {
        justify-self: stretch !important;
    }
}
@media (max-width: 575.98px) {
    html body.cx-design-system .cx-monthly-report-card-body {
        padding: 12px !important;
        gap: 12px !important;
    }
    html body.cx-design-system .cx-monthly-report-toolbar-heading {
        align-items: flex-start !important;
    }
    html body.cx-design-system .cx-monthly-report-info {
        grid-template-columns: 32px minmax(0,1fr) !important;
        padding: 11px !important;
    }
    html body.cx-design-system .cx-monthly-report-info-icon {
        width: 30px !important;
        height: 30px !important;
    }
}

/* Report subscription customer mode: keep the target visible and make the
   sections compact/readable. */
html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-schedule-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
}

@media (max-width: 991.98px) {
    html body.cx-design-system .cx-r1-account-blocknotice .cx-r1-form-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 6px !important;
    }
    html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-auto-row > .col-md-2,
    html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-auto-row > .col-md-7 { grid-column: 1 !important; }
    html body.cx-design-system .cx-monthly-report-target-card,
    html body.cx-design-system .cx-monthly-report-actions-card { grid-template-columns: minmax(0, 1fr) !important; }
    html body.cx-design-system .cx-monthly-report-summary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-schedule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .cx-monthly-report-hero { grid-template-columns: 42px minmax(0, 1fr) !important; padding: 14px !important; }
    html body.cx-design-system .cx-monthly-report-summary { grid-template-columns: minmax(0, 1fr) !important; }
    html body.cx-design-system .cx-monthly-report-actions { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; }
    html body.cx-design-system .cx-monthly-report-action { width: 100% !important; }
    html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-schedule-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

html body.cx-design-system :is(.dropdown-menu,.device-list-action-menu,.conexgo-row-action-menu,.conexgo-account-document-menu) .dropdown-item,
html body.cx-design-system :is(.dropdown-menu,.device-list-action-menu,.conexgo-row-action-menu,.conexgo-account-document-menu) .dropdown-item:is(:hover,:focus,:focus-visible,:active) {
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    text-indent: 0 !important;
    padding-left: var(--bs-dropdown-item-padding-x, 1rem) !important;
    padding-right: var(--bs-dropdown-item-padding-x, 1rem) !important;
}
html body.cx-design-system .cx-emergency-review-eligibility-warning {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    margin: 12px 0 4px !important;
    padding: 13px 14px !important;
    border: 1px solid #e8cb86 !important;
    border-left: 4px solid #c98a16 !important;
    border-radius: 10px !important;
    background: #fff8e8 !important;
    color: #594519 !important;
}
html body.cx-design-system .cx-emergency-review-eligibility-icon {
    display: inline-flex !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
    background: #f9e8bd !important;
    color: #a86e08 !important;
}
html body.cx-design-system .cx-emergency-review-eligibility-copy { display:grid !important; gap:3px !important; line-height:1.42 !important; }
html body.cx-design-system .cx-emergency-review-eligibility-copy strong { color:#4d3a12 !important; font-weight:850 !important; }
html body.cx-design-system .cx-emergency-review-eligibility-copy > span { color:#6e5724 !important; font-size:13px !important; }

/* Make all three Alert resources feel like one component family. */
html body.cx-design-system :is(.alert-answer-action-row,.alert-view-resource-actions) {
    align-items: stretch !important;
}
html body.cx-design-system :is(.alert-answer-toggle-danger,.alert-answer-toggle-info,.alert-answer-toggle-documents) {
    min-height: 52px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transform: none !important;
}
html body.cx-design-system .cx-alert-documents-preview-list {
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 575.98px) {
  html body.cx-design-system .cx-emergency-review-eligibility-warning { grid-template-columns:34px minmax(0,1fr) !important; padding:11px !important; }
  html body.cx-design-system .cx-emergency-review-eligibility-icon { width:32px !important; height:32px !important; }
}

/* Documents use exactly the same blue interaction language as Emergency service info. */
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents {
    border-color: #a9c5da !important;
    background: #eef6fb !important;
    color: #294f70 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents:is(:hover,:focus-visible) {
    border-color: #83acc9 !important;
    background: #e2f0f8 !important;
    color: #234661 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents.active {
    border-color: #315a7b !important;
    background: #315a7b !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(49,90,123,.13) !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-panel-documents {
    border: 1px solid #c9dbea !important;
    border-left: 4px solid #315f82 !important;
    background: #edf5fa !important;
    color: #172b3a !important;
}

/* Block Notice form rebuilt as a real responsive field grid. */
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-recipient-field {
    display: grid !important;
    grid-template-columns: minmax(180px,230px) minmax(0,1fr) !important;
    align-items: center !important;
    gap: 10px 18px !important;
    margin-bottom: 16px !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 16px !important;
    padding: 16px !important;
    border: 1px solid #dbe6ee !important;
    border-radius: 12px !important;
    background: #fbfdfe !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-field {
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 7px !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-field--full { grid-column: 1 / -1 !important; }
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-label {
    margin: 0 !important;
    color: #465f74 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-control,
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-field :is(.form-control,.cx-select-control,.cx-date-picker) {
    width: 100% !important;
    min-width: 0 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-switch-line {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding: 5px 10px !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 9px !important;
    background: #fff !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-auto-help {
    margin: 0 !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    background: #f2f7fa !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-message-field textarea {
    min-height: 160px !important;
    resize: vertical !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-r1-preview-card {
    margin-top: 14px !important;
}
@media (max-width: 767.98px) {
    html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-recipient-field,
    html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-form-grid {
        grid-template-columns: minmax(0,1fr) !important;
    }
    html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-field--full { grid-column: 1 !important; }
}

html body.cx-design-system :is(.dropdown-menu,.device-list-action-menu,.conexgo-row-action-menu,.conexgo-account-document-menu) .dropdown-item,
html body.cx-design-system :is(.dropdown-menu,.device-list-action-menu,.conexgo-row-action-menu,.conexgo-account-document-menu) .dropdown-item * {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
}
html body.cx-design-system :is(.dropdown-menu,.device-list-action-menu,.conexgo-row-action-menu,.conexgo-account-document-menu) .dropdown-item:is(:hover,:active) {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    margin: 0 !important;
    text-indent: 0 !important;
    box-shadow: none !important;
    background-color: rgba(49,95,128,.10) !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* Device contact read-only modal: section labels must read as real headings. */
html body.cx-design-system .cx-r1-device-contactlist .cx-device-config-readonly-label {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 0 7px !important;
    color: #284d6b !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}
html body.cx-design-system .cx-r1-device-contactlist .cx-device-config-readonly-label :is(i,svg) {
    color: #416f91 !important;
    font-weight: 700 !important;
}
html body.cx-design-system .cx-r1-device-contactlist .cx-device-config-readonly-value {
    padding: 12px 14px !important;
    line-height: 1.55 !important;
}

/* Header alert queue: preserve the readable workflow text, but give the alert
   enough room that the device identity is never sacrificed to the status pill. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
    width: 640px !important;
    max-width: calc(100vw - 20px) !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
    grid-template-columns: 46px minmax(0, 1fr) minmax(118px, auto) !important;
    align-items: start !important;
    column-gap: 14px !important;
    row-gap: 8px !important;
    padding: 13px 15px !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-device {
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    max-width: none !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
    min-width: 118px !important;
    width: auto !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
    width: 100% !important;
    justify-content: flex-end !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status {
    max-width: none !important;
    white-space: nowrap !important;
}
@media (max-width: 575.98px) {
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
        width: min(440px, calc(100vw - 12px)) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
        grid-template-columns: 40px minmax(0, 1fr) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        flex-direction: row !important;
        align-items: center !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
        width: auto !important;
    }
}

/* Row action menus: hard-stop every legacy hover animation on the LI, anchor,
   icon and pseudo-elements. The ONLY mouse-hover change is the blue background. */
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) > li,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) > li:is(:hover,:focus-within,:active) {
    margin: 0 !important;
    padding: 0 !important;
    inset: auto !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item:is(:hover,:focus,:focus-visible,:active) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 6px !important;
    gap: 9px !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-indent: 0 !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
    box-shadow: none !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item:is(:hover,:focus-visible,:active) {
    background: rgba(49, 95, 128, .10) !important;
    background-color: rgba(49, 95, 128, .10) !important;
    background-image: none !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item:not(.text-danger),
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item:not(.text-danger):is(:hover,:focus,:focus-visible,:active) {
    color: #294f6d !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item.text-danger,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item.text-danger:is(:hover,:focus,:focus-visible,:active) {
    color: #b34255 !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item :is(i,span,svg),
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item:is(:hover,:focus,:focus-visible,:active) :is(i,span,svg) {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item::before,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item::after {
    content: none !important;
    display: none !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* Header attention is deliberately short and restrained. It is restarted only
   when a genuinely new alert/notification is detected, never on initial load. */
@keyframes cx-r1893-header-jump {
    0%, 100% { transform: translateY(0) scale(1); }
    18% { transform: translateY(-6px) scale(1.035); }
    36% { transform: translateY(0) scale(1); }
    52% { transform: translateY(-3px) scale(1.018); }
    70% { transform: translateY(0) scale(1); }
}
html body.cx-design-system :is(.cx-alert-incoming-attention, .cx-header-incoming-attention) {
    animation: cx-r1893-header-jump .72s cubic-bezier(.2,.8,.25,1) 2 !important;
    transform-origin: center bottom !important;
}
@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system :is(.cx-alert-incoming-attention, .cx-header-incoming-attention) {
        animation: none !important;
        outline: 3px solid rgba(204,54,87,.22) !important;
        outline-offset: 3px !important;
    }
}

/* Alert queue: compact again, but not cramped. Text receives the space rather
   than an oversized container. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
    width: 570px !important;
    max-width: calc(100vw - 20px) !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown-header {
    padding: 13px 14px !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-header-title {
    font-size: 16px !important;
    line-height: 1.2 !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-header-meta {
    font-size: 12.75px !important;
    line-height: 1.25 !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
    grid-template-columns: 44px minmax(0, 1fr) minmax(122px, auto) !important;
    gap: 8px 12px !important;
    padding: 12px 13px !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-title {
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-device {
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.28 !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-time,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-assignment {
    font-size: 12.5px !important;
    line-height: 1.3 !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status {
    width: auto !important;
    height: 31px !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    gap: 6px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 12.75px !important;
    font-weight: 800 !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status > i {
    width: auto !important;
    min-width: 13px !important;
    font-size: 12px !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status__label {
    display: inline !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-language {
    font-size: 11.5px !important;
    line-height: 1 !important;
}

/* Compact status controls inspired by the permission tiles: icon first, count
   second, tooltip carries the full explanation. */
html body.cx-design-system .conexgo-alert-filterbar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    padding: 8px 12px !important;
    border-bottom: 1px solid #d9e4ec !important;
    background: #f7fafc !important;
}
html body.cx-design-system .conexgo-alert-filter {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 38px !important;
    height: 36px !important;
    padding: 0 9px !important;
    border: 1px solid #cbdbe7 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #315f82 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
    transition: background-color .12s ease, border-color .12s ease, color .12s ease !important;
}
html body.cx-design-system .conexgo-alert-filter:is(:hover,:focus-visible) {
    background: #edf5fa !important;
    border-color: #9fbdd2 !important;
    color: #244e6d !important;
    transform: none !important;
}
html body.cx-design-system .conexgo-alert-filter.is-selected {
    background: #315f82 !important;
    border-color: #315f82 !important;
    color: #fff !important;
}
html body.cx-design-system .conexgo-alert-filter.is-pending:not(.is-selected) {
    color: #9a6818 !important;
    background: #fff9ed !important;
    border-color: #ead19d !important;
}
html body.cx-design-system .conexgo-alert-filter.is-progress:not(.is-selected) {
    color: #2f6288 !important;
    background: #f0f7fc !important;
    border-color: #bad4e6 !important;
}
html body.cx-design-system .conexgo-alert-filter-count {
    font-size: 11.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

/* Customer clear actions are neutral/white. Destructive meaning is not implied. */
html body.cx-design-system .conexgo-header-alerts :is(.conexgo-alert-classic-clear-all, .conexgo-alert-classic-action.is-clear) {
    background: #fff !important;
    color: #315f82 !important;
    border: 1px solid #b9cede !important;
    box-shadow: none !important;
    transform: none !important;
}
html body.cx-design-system .conexgo-header-alerts :is(.conexgo-alert-classic-clear-all, .conexgo-alert-classic-action.is-clear):is(:hover,:focus-visible) {
    background: #edf5fa !important;
    color: #274f6d !important;
    border-color: #94b6ce !important;
    transform: none !important;
}

@media (max-width: 640px) {
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
        width: min(520px, calc(100vw - 12px)) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
        grid-template-columns: 40px minmax(0, 1fr) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    html body.cx-design-system .conexgo-alert-filterbar {
        justify-content: flex-start !important;
        overflow-x: auto !important;
    }
}

/* Notification cards and trigger are tooltip targets; keep the card geometry
   completely still while allowing a calm, progressive background affordance. */
html body.cx-design-system .conexgo-notification-item {
    transform: none !important;
    transition:
        background-color .40s cubic-bezier(.22, 1, .36, 1),
        border-color .40s cubic-bezier(.22, 1, .36, 1),
        box-shadow .40s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system .conexgo-notification-item:is(:hover, :focus-visible) {
    background: rgba(49, 95, 128, .10) !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
}

/* Row action menus: final source-of-truth typography. The previous hover size
   now becomes the permanent size, while hover itself only changes background. */
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item,
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item:is(:hover,:focus,:focus-visible,:active) {
    min-height: 42px !important;
    padding: 9px 11px !important;
    gap: 10px !important;
    font-size: 14.25px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition: none !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item:is(:hover,:focus-visible,:active) {
    background: #edf5fb !important;
    background-image: none !important;
}
html body.cx-design-system :is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .conexgo-account-document-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
) .dropdown-item > :is(i,span[class*="fa"],svg) {
    flex: 0 0 19px !important;
    width: 19px !important;
    min-width: 19px !important;
    font-size: 14px !important;
}

/* The action arrow changes on open/close, not on hover. */
html body.cx-design-system .conexgo-row-action-toggle .conexgo-row-action-chevron {
    margin-left: 5px !important;
    font-size: 11px !important;
    transform: rotate(0deg) !important;
    transition: none !important;
}
html body.cx-design-system .conexgo-row-action-toggle[aria-expanded="true"] .conexgo-row-action-chevron {
    transform: rotate(180deg) !important;
}

/* Custom selects: no hover growth, larger permanent text, dynamic chevron is
   supplied by CxSelect itself. */
html body.cx-design-system .cx-custom-select-trigger {
    font-size: 14px !important;
}
html body.cx-design-system .cx-custom-select-option,
html body.cx-design-system .cx-custom-select-option:is(:hover,:focus-visible,.is-active,.is-selected) {
    min-height: 42px !important;
    padding: 9px 12px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    transform: none !important;
    scale: 1 !important;
    transition: none !important;
}
html body.cx-design-system .cx-custom-select-option:is(:hover,:focus-visible,.is-active) {
    background: #edf5fb !important;
}
html body.cx-design-system .cx-custom-select-chevron {
    width: 18px !important;
    min-width: 18px !important;
    text-align: center !important;
}

/* Standard report row actions. Restores the familiar green pencil and blue eye
   on Report > Alerts and on the dedicated Monthly Reports page. */
html body.cx-design-system .cx-report-row-action {
    width: 38px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 5px !important;
    color: #fff !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
}
html body.cx-design-system .cx-report-row-action--configure {
    background: #78b842 !important;
}
html body.cx-design-system .cx-report-row-action--preview {
    background: #3e6a99 !important;
}
html body.cx-design-system .cx-report-row-action:is(:hover,:focus-visible) {
    filter: brightness(.96) !important;
    transform: none !important;
}

/* Monthly Reports deliberately inherits the exact Report_List frame. Only the
   right-side account selector is specific to this page. */
html body.cx-design-system .cx-monthly-report-standard-toolbar {
    grid-template-columns: auto minmax(300px, 470px) !important;
    align-items: end !important;
    gap: 18px !important;
}
html body.cx-design-system .cx-monthly-report-standard-toolbar .report-list-back-slot {
    align-self: center !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-control {
    width: min(470px, 100%) !important;
    justify-self: end !important;
}
html body.cx-design-system .cx-monthly-report-toolbar-label {
    display: block !important;
    margin: 0 0 5px !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}
html body.cx-design-system .cx-monthly-report-account-context {
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 7px 11px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
}
html body.cx-design-system .cx-monthly-report-account-context small,
html body.cx-design-system .cx-monthly-report-account-context strong {
    display: block !important;
    color: inherit !important;
}
html body.cx-design-system .cx-monthly-report-name-cell strong {
    display: block !important;
    color: #294d6a !important;
    font-size: 14px !important;
}
html body.cx-design-system .cx-monthly-report-name-cell small {
    display: block !important;
    margin-top: 3px !important;
    color: #667b8e !important;
    font-size: 12.5px !important;
}
html body.cx-design-system .cx-monthly-report-recipient {
    display: block !important;
    line-height: 1.45 !important;
}
@media (max-width: 767.98px) {
    html body.cx-design-system .cx-monthly-report-standard-toolbar {
        grid-template-columns: minmax(0,1fr) !important;
    }
    html body.cx-design-system .cx-monthly-report-toolbar-control {
        width: 100% !important;
        justify-self: stretch !important;
    }
}

/* Alert comments: keep the amber semantic colour but make the hierarchy and
   editor feel like the other Conexgo resource panels. */
html body.cx-design-system :is(.alert-answer-comment-card,.alert-view-comments-section) {
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
html body.cx-design-system .alert-answer-comment-header,
html body.cx-design-system .alert-view-comments-toggle {
    min-height: 52px !important;
    padding: 11px 14px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}
html body.cx-design-system .alert-answer-comment-collapse-inner,
html body.cx-design-system .alert-view-comments-collapse-inner {
    padding: 12px 14px !important;
}
html body.cx-design-system .alert-answer-comment-editor {
    margin-top: 10px !important;
}
html body.cx-design-system .alert-answer-comment-editor textarea {
    min-height: 110px !important;
    padding: 12px 13px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
html body.cx-design-system .cx-alert-comment-entry {
    padding: 8px 10px !important;
    border-radius: 7px !important;
    background: rgba(255,255,255,.65) !important;
}

/* Documents are green so the three alert resources have distinct semantics:
   Contacts red, Emergency info blue, Documents green. */
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .alert-answer-toggle-documents {
    border-color: #98c8a7 !important;
    background: #f3faf5 !important;
    color: #2f7045 !important;
}
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .alert-answer-toggle-documents:is(:hover,:focus-visible,.active) {
    border-color: #6eae82 !important;
    background: #e6f4ea !important;
    color: #285e3b !important;
    transform: none !important;
}
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions) .cx-alert-documents-preview-list {
    border-color: #b8d9c1 !important;
    border-left-color: #4b9461 !important;
    background: #eef8f1 !important;
    color: #245437 !important;
}
html body.cx-design-system .cx-alert-documents-preview-list .cx-alert-resource-panel-title {
    color: #285e3b !important;
}
html body.cx-design-system .cx-alert-document-preview-card {
    border-color: #c7e1ce !important;
}
html body.cx-design-system .cx-alert-document-preview-card:hover {
    background: #f7fcf8 !important;
}

/* Client notice history: prevent compressed columns and clipped records. */
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-section {
    margin-top: 18px !important;
    border: 1px solid #d5e2ec !important;
    border-radius: 10px !important;
    background: #fff !important;
    overflow: hidden !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-toggle {
    min-height: 50px !important;
    padding: 10px 13px !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 0 10px 10px !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table {
    width: 100% !important;
    min-width: 790px !important;
    table-layout: auto !important;
    margin: 0 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table th,
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table td {
    padding: 10px 12px !important;
    vertical-align: middle !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table th:first-child,
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table td:first-child {
    min-width: 230px !important;
}

/* Manual geofence: helper text gets its own full row; the four tools get a
   separate balanced toolbar instead of crushing the copy into a tiny column. */
html body.cx-design-system .mud-dialog.cx-r1-device-geofence .device-geofence-map-drawing-panel {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 8px !important;
    padding: 10px 11px !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-geofence .device-geofence-map-draw-hint {
    width: 100% !important;
    font-size: 12.25px !important;
    line-height: 1.4 !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-geofence .device-geofence-map-draw-toolbar {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 7px !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-geofence .device-geofence-map-tool {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 7px 8px !important;
    justify-content: center !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-geofence .device-geofence-open-draw-button {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 8px 13px !important;
    border: 1px solid #315f82 !important;
    border-radius: 7px !important;
    background: #315f82 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    box-shadow: none !important;
    transform: none !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-geofence .device-geofence-open-draw-button:is(:hover,:focus-visible) {
    background: #294f6c !important;
    border-color: #294f6c !important;
    transform: none !important;
}
@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence .device-geofence-map-draw-toolbar {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}

/* Profile dropdown follows the same no-motion menu contract. */
html body.cx-design-system .conexgo-profile-dropdown .dropdown-item,
html body.cx-design-system .conexgo-profile-dropdown .dropdown-item:is(:hover,:focus,:focus-visible,:active) {
    min-height: 42px !important;
    padding: 9px 11px !important;
    gap: 10px !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    transition: none !important;
    animation: none !important;
    box-shadow: none !important;
}
html body.cx-design-system .conexgo-profile-dropdown .dropdown-item:is(:hover,:focus-visible,:active) {
    background: #edf5fb !important;
}

/* Bootstrap supplies the row-action chevron through ::after. Reflect the open
   state there so we do not render a second icon in the button. */
html body.cx-design-system :is(
    .account-list-cell-name .conexgo-row-action-toggle,
    .device-list-action-group .device-list-action-toggle
)::after {
    transform: translate(-50%, -50%) rotate(0deg) !important;
    transition: none !important;
}
html body.cx-design-system :is(
    .account-list-cell-name .conexgo-row-action-toggle,
    .device-list-action-group .device-list-action-toggle
)[aria-expanded="true"]::after {
    transform: translate(-50%, -50%) rotate(180deg) !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table > :is(thead, tbody) > tr > :is(th, td) {
    vertical-align: middle !important;
    padding: 13px 15px !important;
    border-right: 1px solid #d8e3eb !important;
    border-bottom: 1px solid #d8e3eb !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table > :is(thead, tbody) > tr > :is(th, td):last-child {
    border-right: 0 !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table > thead > tr > th:nth-child(1),
html body.cx-design-system .report-list-card .conexgo-pagedlist-table > tbody > tr > td:nth-child(1) {
    width: 13% !important;
    min-width: 135px !important;
    text-align: center !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table > thead > tr > th:nth-child(2),
html body.cx-design-system .report-list-card .conexgo-pagedlist-table > tbody > tr > td:nth-child(2) {
    width: 28% !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table > thead > tr > th:nth-child(3),
html body.cx-design-system .report-list-card .conexgo-pagedlist-table > tbody > tr > td:nth-child(3) {
    width: 22% !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table > thead > tr > th:nth-child(4),
html body.cx-design-system .report-list-card .conexgo-pagedlist-table > tbody > tr > td:nth-child(4) {
    width: 15% !important;
}

html body.cx-design-system .report-list-card .conexgo-pagedlist-table > thead > tr > th:nth-child(5),
html body.cx-design-system .report-list-card .conexgo-pagedlist-table > tbody > tr > td:nth-child(5) {
    width: 22% !important;
}

html body.cx-design-system .cx-report-standard-action {
    width: 42px !important;
    min-width: 42px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 4px !important;
    transform: none !important;
    transition: background-color .15s ease, box-shadow .15s ease !important;
}

html body.cx-design-system .cx-report-standard-action--edit { background: #78b842 !important; }
html body.cx-design-system .cx-report-standard-action--preview { background: #3e6a99 !important; }
html body.cx-design-system .cx-report-standard-action:hover,
html body.cx-design-system .cx-report-standard-action:focus-visible {
    transform: none !important;
    filter: none !important;
    box-shadow: 0 2px 7px rgba(38, 70, 96, .14) !important;
}

html body.cx-design-system .cx-report-schedule-value {
    max-width: 100% !important;
    color: #2c4c6c !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
}

html body.cx-design-system .cx-report-muted {
    color: #6b7e90 !important;
    font-style: italic !important;
}

html body.cx-design-system .report-subscribe-account-selector,
html body.cx-design-system .report-preview-account-selector {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    padding: 12px 14px !important;
    border: 1px solid #c8d9e6 !important;
    border-left: 4px solid #3e6a99 !important;
    border-radius: 10px !important;
    background: #f7fbfe !important;
}

html body.cx-design-system :is(.report-subscribe-account-selector, .report-preview-account-selector) > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #294f70 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

html body.cx-design-system .report-subscribe-account-selector > small {
    color: #6b7e90 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* Block Notice history: clear, stable columns instead of a visually floating row. */
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table-wrapper {
    overflow-x: auto !important;
    border: 1px solid #d4e0e9 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table {
    width: 100% !important;
    min-width: 850px !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > :is(thead, tbody) > tr > :is(th, td) {
    padding: 13px 14px !important;
    vertical-align: middle !important;
    border-right: 1px solid #d7e3eb !important;
    border-bottom: 1px solid #d7e3eb !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > :is(thead, tbody) > tr > :is(th, td):last-child {
    border-right: 0 !important;
}

html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > thead > tr > th:nth-child(1),
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > tbody > tr > td:nth-child(1) { width: 28% !important; }
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > thead > tr > th:nth-child(2),
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > tbody > tr > td:nth-child(2) { width: 30% !important; }
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > thead > tr > th:nth-child(3),
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > tbody > tr > td:nth-child(3) { width: 17% !important; text-align:center !important; }
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > thead > tr > th:nth-child(4),
html body.cx-design-system .cx-r1-account-blocknotice .account-blocknotice-history-table > tbody > tr > td:nth-child(4) { width: 25% !important; }

@media (max-width: 900px) {
    html body.cx-design-system .report-list-card .conexgo-pagedlist-table {
        min-width: 900px !important;
    }
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
    width: 560px !important;
    max-width: calc(100vw - 18px) !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px 12px !important;
    background: #f7fafc !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar-label {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #5a7084 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    letter-spacing: .01em !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar-label > i {
    color: #315f82 !important;
    font-size: 12px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter {
    min-width: 44px !important;
    height: 38px !important;
    padding: 0 9px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter > i {
    width: 15px !important;
    min-width: 15px !important;
    font-size: 13px !important;
    text-align: center !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter.is-done:not(.is-selected) {
    color: #327545 !important;
    background: #f1f9f3 !important;
    border-color: #b9dac1 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-list--classic {
    padding: 8px 0 2px !important;
    background: #f8fafc !important;
}

/* Keep Nancy's exact red/blue card border colour rules from site.css. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
    width: calc(100% - 18px) !important;
    margin: 0 9px 8px !important;
    grid-template-columns: 42px minmax(0, 1fr) minmax(124px, auto) !important;
    align-items: start !important;
    column-gap: 12px !important;
    row-gap: 7px !important;
    padding: 11px 12px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic + .conexgo-alert-card--classic {
    margin-top: 0 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-device-media {
    align-self: start !important;
    margin-top: 1px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-copy {
    display: grid !important;
    align-content: start !important;
    gap: 2px !important;
    min-width: 0 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-title {
    font-size: 14.5px !important;
    line-height: 1.22 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-device {
    margin-top: 0 !important;
    font-size: 14.25px !important;
    line-height: 1.28 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-time {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-assignment {
    margin-top: 7px !important;
    padding-top: 6px !important;
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 3px 6px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-assignment strong {
    font-size: 12.5px !important;
    line-height: inherit !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
    min-width: 124px !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 9px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
}

html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status {
    height: 30px !important;
    padding: 0 9px !important;
    font-size: 12.5px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-language {
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 3px 6px !important;
    font-size: 11px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-see-all--classic {
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    box-sizing: border-box !important;
    border-top: 1px solid #e3ebf2 !important;
    background: #fbfcfd !important;
    color: #2c4c6c !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    transform: none !important;
    transition:
        background-color .38s cubic-bezier(.22, 1, .36, 1),
        color .32s ease,
        box-shadow .38s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-see-all--classic:is(:hover, :focus-visible) {
    background: #f1f6fa !important;
    color: #2c4c6c !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transform: none !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-see-all--classic > i {
    font-size: 10.5px !important;
}

@media (max-width: 640px) {
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
        width: min(520px, calc(100vw - 10px)) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar-actions {
        width: 100% !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        width: calc(100% - 12px) !important;
        margin-left: 6px !important;
        margin-right: 6px !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
        width: auto !important;
        justify-content: flex-start !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */
/*
   PagedList/table columns can legitimately recompute their intrinsic width
   when a search reduces the result set. Row action controls must not inherit
   that width change: the action button and its menu keep a predictable desktop
   footprint and the table scrolls horizontally when the viewport is tighter.
*/
@media (min-width: 1200px) {
    html body.cx-design-system .device-list-data-row .device-list-action-group {
        flex: 0 0 420px !important;
        width: 420px !important;
        min-width: 420px !important;
        max-width: 420px !important;
    }

    html body.cx-design-system :is(
        .device-list-action-menu,
        .device-list-action-menu.show
    ) {
        width: 420px !important;
        min-width: 420px !important;
        max-width: 420px !important;
    }

    html body.cx-design-system .account-list-cell-name .conexgo-row-action-group {
        flex: 0 0 400px !important;
        width: 400px !important;
        min-width: 400px !important;
        max-width: 400px !important;
    }

    html body.cx-design-system .account-list-cell-name :is(
        .conexgo-row-action-menu,
        .conexgo-row-action-menu.show
    ) {
        width: 400px !important;
        min-width: 400px !important;
        max-width: 400px !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    html body.cx-design-system .device-list-data-row .device-list-action-group,
    html body.cx-design-system .account-list-cell-name .conexgo-row-action-group {
        flex: 0 0 360px !important;
        width: 360px !important;
        min-width: 360px !important;
        max-width: 360px !important;
    }

    html body.cx-design-system :is(
        .device-list-action-menu,
        .device-list-action-menu.show,
        .account-list-cell-name .conexgo-row-action-menu,
        .account-list-cell-name .conexgo-row-action-menu.show
    ) {
        width: 360px !important;
        min-width: 360px !important;
        max-width: 360px !important;
    }
}

/* Generic row-action menus used by other list pages also keep a stable width.
   Device and Account use the more specific values above. */
@media (min-width: 992px) {
    html body.cx-design-system .conexgo-pagedlist-table :is(
        .conexgo-row-action-menu,
        .conexgo-row-action-menu.show
    ) {
        min-width: 360px !important;
    }
}

/* AlertQueue: statuses belong to the card instead of floating like pills. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
    min-width: 138px !important;
    max-width: 154px !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
    flex-wrap: nowrap !important;
    gap: 7px !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status {
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    font-size: 12.5px !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-language {
    min-height: 30px !important;
    height: 30px !important;
    border-radius: 7px !important;
    padding: 0 8px !important;
    white-space: nowrap !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
    grid-template-columns: 42px minmax(0,1fr) 148px !important;
    align-items: start !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter {
    border-radius: 8px !important;
}
@media (max-width:640px) {
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
        grid-template-columns: 40px minmax(0,1fr) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
        max-width:none !important;
    }
}

/* Alert resource selectors: inactive is light, selected is deliberately dark.
   Lower content panels keep their semantic light background. */
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-danger.active,
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-danger[aria-expanded="true"] {
    background:#b83a32 !important;
    border-color:#b83a32 !important;
    color:#fff !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-info.active,
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-info[aria-expanded="true"] {
    background:#315a7b !important;
    border-color:#315a7b !important;
    color:#fff !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents.active,
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents[aria-expanded="true"] {
    background:#477b58 !important;
    border-color:#477b58 !important;
    color:#fff !important;
    box-shadow:none !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-toggle-danger,.alert-answer-toggle-info,.alert-answer-toggle-documents).active :is(i,span),
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-toggle-danger,.alert-answer-toggle-info,.alert-answer-toggle-documents)[aria-expanded="true"] :is(i,span) {
    color:#fff !important;
}

/* Monthly report: same button geometry and table rhythm as Report_List. */
html body.cx-design-system .cx-monthly-report-row-actions {
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
}
html body.cx-design-system .cx-monthly-report-row-action {
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 !important;
    border-radius:5px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:14px !important;
}
html body.cx-design-system .cx-monthly-report-row-action > i { margin:0 !important; }
html body.cx-design-system .report-list-card .conexgo-pagedlist-table {
    width:100% !important;
    min-width:1080px !important;
    table-layout:fixed !important;
}
html body.cx-design-system .report-list-card .conexgo-pagedlist-table > thead > tr > th {
    padding:14px 16px !important;
    vertical-align:middle !important;
    white-space:normal !important;
    line-height:1.22 !important;
}
html body.cx-design-system .report-list-card .conexgo-pagedlist-table > tbody > tr > td {
    padding:15px 16px !important;
    vertical-align:middle !important;
    line-height:1.35 !important;
}
html body.cx-design-system .cx-monthly-report-name-cell strong { line-height:1.25 !important; }
html body.cx-design-system .cx-monthly-report-name-cell small { margin-top:5px !important; line-height:1.38 !important; }

/* Every standard list gets Device_List's darker, still subtle row hover. */
html body.cx-design-system :is(.table,.conexgo-pagedlist-table) > tbody > tr:hover > td,
html body.cx-design-system :is(.table,.conexgo-pagedlist-table) > tbody > tr:focus-within > td {
    background:#dfeaf3 !important;
}

/* Device Add/Edit: one aligned form axis, consistent read-only surfaces. */
html body.cx-design-system .mud-dialog.cx-r1-device-addedit .row {
    align-items:center !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-addedit :is(.form-label,label[class*="col-"]) {
    line-height:1.25 !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-addedit :is(.form-control,.cx-select-control,.cx-date-picker,.cx-device-readonly-multiline) {
    min-height:52px !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-addedit :is(.form-control[readonly],.form-control:disabled,.cx-device-readonly-multiline) {
    background:#f5f9fc !important;
    border-color:#c8dbe8 !important;
    color:#263f58 !important;
}
html body.cx-design-system .mud-dialog.cx-r1-device-addedit .form-text {
    margin-top:6px !important;
    line-height:1.35 !important;
}

/* Location / Check-in configuration modals use the same compact enterprise rhythm. */
html body.cx-design-system :is(.mud-dialog.cx-r1-device-locationservice,.mud-dialog.cx-r1-device-checkin) fieldset,
html body.cx-design-system :is(.mud-dialog.cx-r1-device-locationservice,.mud-dialog.cx-r1-device-checkin) .cx-modal-group-v21 {
    margin-bottom:16px !important;
}
html body.cx-design-system :is(.mud-dialog.cx-r1-device-locationservice,.mud-dialog.cx-r1-device-checkin) :is(.form-control,.cx-select-control,.cx-date-picker) {
    min-height:50px !important;
}
html body.cx-design-system .cx-awaiting-confirmation-polished {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-height:54px !important;
    padding:11px 14px !important;
    border:1px solid #d7e2ea !important;
    border-left:4px solid #d49a2f !important;
    border-radius:9px !important;
    background:#fff9ec !important;
    color:#6d541e !important;
    font-weight:700 !important;
}
html body.cx-design-system .cx-awaiting-confirmation-polished::before {
    content:"\f017";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    color:#b77a13;
}

/* Date controls: keep icon integrated and prevent the calendar button from floating. */
html body.cx-design-system :is(.cx-date-picker,.cx-datetime-picker,.cx-time-picker) {
    align-items:stretch !important;
}
html body.cx-design-system :is(.cx-date-picker,.cx-datetime-picker,.cx-time-picker) :is(button,.btn) {
    min-width:48px !important;
    border-radius:0 8px 8px 0 !important;
}

/* Alert page filter chips: clean spacing and enough text room for Check-in/Atlas. */
html body.cx-design-system .alert-list-card :is(.cx-alert-filter-option,.conexgo-alert-filter-option,.form-check-inline) {
    min-height:42px !important;
    padding:7px 11px !important;
    margin:0 7px 7px 0 !important;
    border-radius:8px !important;
}

/* Emergency review: one empty state only; JS tags the redundant legacy message. */
html body.cx-design-system .cx-emergency-review-duplicate-empty { display:none !important; }

/* Report preview: give the report itself more breathing room without making the dialog huge. */
html body.cx-design-system .mud-dialog .report-preview-content,
html body.cx-design-system .mud-dialog .cx-report-preview-content {
    width:100% !important;
    max-width:none !important;
}
html body.cx-design-system .mud-dialog .report-preview-content table,
html body.cx-design-system .mud-dialog .cx-report-preview-content table {
    width:100% !important;
}
html body.cx-design-system .mud-dialog .report-preview-content th,
html body.cx-design-system .mud-dialog .report-preview-content td,
html body.cx-design-system .mud-dialog .cx-report-preview-content th,
html body.cx-design-system .mud-dialog .cx-report-preview-content td {
    padding:11px 13px !important;
    vertical-align:top !important;
}

/* Device map top status area: compact, aligned, and clearly separated from the map. */
html body.cx-design-system .device-map-wifi-location {
    min-height:42px !important;
    margin:8px 0 !important;
    padding:9px 12px !important;
    border:1px solid #d2e0ea !important;
    border-radius:8px !important;
    background:#f8fbfd !important;
}
html body.cx-design-system :is(.device-map-toolbar,.device-map-status-toolbar,.device-location-toolbar) {
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:9px 12px !important;
    border:1px solid #d4e0e8 !important;
    border-radius:9px !important;
    background:#f6f9fb !important;
}

/* Block notice: keep the two-column intent but align related fields. */
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-form-grid {
    align-items:start !important;
    column-gap:20px !important;
    row-gap:18px !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-field {
    min-width:0 !important;
}
html body.cx-design-system .cx-r1-account-blocknotice .cx-blocknotice-label {
    margin-bottom:7px !important;
}

/* ========================================================================== */

/* ========================================================================== */

@media (min-width: 992px) {
    html body.cx-design-system.app.sidebar-mini.sidenav-toggled .app-sidebar-shell,
    html body.cx-design-system.sidebar-mini.sidenav-toggled .app-sidebar-shell {
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system.app.sidebar-mini.sidenav-toggled .app-sidebar-shell .app-sidebar-modern,
    html body.cx-design-system.sidebar-mini.sidenav-toggled .app-sidebar-shell .app-sidebar-modern {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }
}

/* Account action trigger is a table-cell resident. The menu can overlay, but
   the trigger can never make the NAME column wider than the column itself. */
html body.cx-design-system .account-list-cell-name {
    min-width: 0 !important;
}
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group {
    display: flex !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}
html body.cx-design-system .account-list-cell-name .account-list-name-button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 48px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: left !important;
}
html body.cx-design-system .account-list-cell-name .conexgo-row-action-toggle {
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
}
@media (min-width: 992px) {
    html body.cx-design-system .account-list-cell-name :is(.conexgo-row-action-menu,.conexgo-row-action-menu.show) {
        width: min(400px, calc(100vw - 32px)) !important;
        min-width: min(320px, calc(100vw - 32px)) !important;
        max-width: calc(100vw - 32px) !important;
    }
}
@media (max-width: 991.98px) {
    html body.cx-design-system .account-list-cell-name .account-list-name-button {
        max-width: calc(100% - 44px) !important;
    }
    html body.cx-design-system .account-list-cell-name .conexgo-row-action-toggle {
        flex-basis: 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
    }
}

/* AlertQueue: long identities get room to breathe; workflow/language metadata
   is visually subordinate and never collides with the device name. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
    grid-template-columns: 44px minmax(0, 1fr) 132px !important;
    gap: 10px 12px !important;
    padding: 12px 13px !important;
    border-radius: 11px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
html body.cx-design-system .conexgo-header-alerts :is(.conexgo-alert-classic-copy,.conexgo-alert-card-title-row,.conexgo-alert-classic-assignment) {
    min-width: 0 !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-title {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card-device {
    min-width: 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    line-height: 1.32 !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
    width: 132px !important;
    min-width: 0 !important;
    max-width: 132px !important;
    align-items: stretch !important;
    gap: 7px !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 6px !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status {
    width: 100% !important;
    max-width: 100% !important;
    height: 30px !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding: 0 9px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: none !important;
    font-size: 11.75px !important;
    font-weight: 750 !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status__label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status--pending,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.is-pending {
    color: #7a5a17 !important;
    background: #fff8e8 !important;
    border-color: #e6c873 !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status--in-progress,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.is-in-progress {
    color: #285876 !important;
    background: #edf5fb !important;
    border-color: #bad2e2 !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status--done,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.is-completed {
    color: #326442 !important;
    background: #eff8f1 !important;
    border-color: #b9d8c1 !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-language {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 25px !important;
    height: 25px !important;
    padding: 0 8px !important;
    border: 1px solid #cbd9e4 !important;
    border-radius: 7px !important;
    background: #f7fafc !important;
    color: #49647b !important;
    font-size: 10.75px !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
@media (max-width: 640px) {
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-card--classic {
        grid-template-columns: 40px minmax(0, 1fr) !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side {
        grid-column: 2 !important;
        width: 100% !important;
        max-width: none !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
    }
    html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status {
        width: auto !important;
        max-width: min(100%, 190px) !important;
    }
}

/* Resource cards follow the current Conexgo dialog language. Open state is an
   actual expanded state, not a transient focus/hover state. */
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-action-row,
html body.cx-design-system .cx-dialog--alert-view .alert-view-resource-actions {
    gap: 10px !important;
    align-items: start !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-toggle-danger,.alert-answer-toggle-info,.alert-answer-toggle-documents) {
    min-height: 56px !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(39, 67, 92, .04) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease !important;
    transform: none !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-toggle-danger,.alert-answer-toggle-info,.alert-answer-toggle-documents):hover {
    transform: none !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-danger[aria-expanded="true"],
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-danger.active {
    background: #9f3732 !important;
    border-color: #9f3732 !important;
    color: #fff !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-info[aria-expanded="true"],
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-info.active {
    background: #2f5878 !important;
    border-color: #2f5878 !important;
    color: #fff !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents[aria-expanded="true"],
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents.active {
    background: #3f704f !important;
    border-color: #3f704f !important;
    color: #fff !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-resource-detail,
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-panel-danger,.alert-answer-panel-info) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px 17px !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 18px rgba(39, 67, 92, .055) !important;
    line-height: 1.5 !important;
    overflow: hidden !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-resource-body,
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-panel-danger,.alert-answer-panel-info) > div:last-child {
    margin-top: 9px !important;
    padding: 12px 13px !important;
    border: 1px solid rgba(95, 122, 146, .16) !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, .72) !important;
    color: #263f58 !important;
    overflow-wrap: anywhere !important;
}

/* Alert maps are proper modern panels. Geofence geometry below is rendered only
   when the alert references a real DeviceAlertSetting. */
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-map-wrap,.alert-view-map-wrap) {
    margin-top: 12px !important;
    border: 1px solid #d5e1ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 5px 18px rgba(39, 67, 92, .055) !important;
    overflow: hidden !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-map-toolbar,.alert-view-map-toolbar) {
    min-height: 55px !important;
    padding: 9px 12px 9px 15px !important;
    border-bottom: 1px solid #dbe5ed !important;
    background: #f7fafc !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-map-canvas,.alert-view-map-canvas) {
    width: 100% !important;
    height: clamp(320px, 42vh, 460px) !important;
    min-height: 320px !important;
    background: #eef3f6 !important;
}
html body.cx-design-system .cx-alert-geofence-context {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    border-bottom: 1px solid #d9e5ed !important;
    background: #edf5fa !important;
    color: #294c68 !important;
}
html body.cx-design-system .cx-alert-geofence-context-icon {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #bfd4e2 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #315a7b !important;
}
html body.cx-design-system .cx-alert-geofence-context-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}
html body.cx-design-system .cx-alert-geofence-context-copy strong {
    font-size: 12.75px !important;
    font-weight: 850 !important;
}
html body.cx-design-system .cx-alert-geofence-context-copy span {
    color: #60778a !important;
    font-size: 11.75px !important;
    overflow-wrap: anywhere !important;
}

/* Emergency-contact review: read-only data uses the same field/card language as
   the rest of the modern dialogs, with actual readable text and no legacy slab. */
html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-review-current-grid {
    gap: 14px !important;
    align-items: stretch !important;
}
html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-review-readonly {
    min-width: 0 !important;
    padding: 14px 15px !important;
    border: 1px solid #d8e3eb !important;
    border-radius: 11px !important;
    background: #fbfdfe !important;
    box-shadow: 0 4px 14px rgba(39, 67, 92, .045) !important;
}
html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-review-readonly-value {
    min-height: 112px !important;
    margin-top: 10px !important;
    padding: 12px 13px !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #2d465d !important;
    line-height: 1.52 !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    overflow-x: auto !important;
}
html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-review-status {
    border-radius: 10px !important;
    box-shadow: none !important;
}

@media (max-width: 720px) {
    html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-action-row,
    html body.cx-design-system .cx-dialog--alert-view .alert-view-resource-actions {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-toggle-danger,.alert-answer-toggle-info,.alert-answer-toggle-documents) {
        width: 100% !important;
    }
    html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) :is(.alert-answer-map-canvas,.alert-view-map-canvas) {
        height: clamp(300px, 45vh, 400px) !important;
        min-height: 300px !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

html body.cx-design-system .cx-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Alert popup: pending response becomes a universal yellow bell. */
html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.cx-alert-bell-status {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    border-radius: 9px !important;
    border: 1px solid #e1c15f !important;
    background: linear-gradient(180deg, #fff9e8 0%, #fff1c9 100%) !important;
    color: #a56a00 !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.65) inset !important;
    overflow: hidden !important;
}

html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status .cx-alert-workflow-status__label {
    display: none !important;
}

html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status__icon,
html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status > i,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.cx-alert-bell-status > i {
    font-size: 13px !important;
    line-height: 1 !important;
    animation: cx-r1883981-bell-bounce 1.05s ease-in-out infinite !important;
    transform-origin: top center !important;
}

@keyframes cx-r1883981-bell-bounce {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    15% { transform: translateY(-2px) rotate(-10deg); }
    30% { transform: translateY(0) rotate(10deg); }
    45% { transform: translateY(-1px) rotate(-8deg); }
    60% { transform: translateY(0) rotate(8deg); }
    75% { transform: translateY(-1px) rotate(-4deg); }
}

/* Alert popup: language is abbreviated FR / ENG. */
html body.cx-design-system .conexgo-header-alerts .cx-alert-language-badge--short,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-language {
    min-width: 44px !important;
    width: auto !important;
    max-width: 56px !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 10px !important;
    font-size: 10.9px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
}

/* Group page: once a unit is selected, its yellow highlight always wins,
   even while hovering. */
html body.cx-design-system.cx-group-selection-active :is(tr, td, li, a, div, .list-group-item, .mud-list-item, .card)[data-cx-group-selected="true"],
html body.cx-design-system.cx-group-selection-active :is(tr, td, li, a, div, .list-group-item, .mud-list-item, .card)[data-cx-group-selected="true"]:hover,
html body.cx-design-system.cx-group-selection-active :is(tr, td, li, a, div, .list-group-item, .mud-list-item, .card)[data-cx-group-selected="true"]:focus,
html body.cx-design-system.cx-group-selection-active :is(tr, td, li, a, div, .list-group-item, .mud-list-item, .card)[data-cx-group-selected="true"]:focus-visible {
    background: #ffe16a !important;
    border-color: #ddb230 !important;
    color: #233f57 !important;
    box-shadow: inset 0 0 0 1px rgba(176, 133, 0, .18) !important;
}

html body.cx-design-system.cx-group-selection-active tr[data-cx-group-selected="true"] > td,
html body.cx-design-system.cx-group-selection-active tr[data-cx-group-selected="true"]:hover > td,
html body.cx-design-system.cx-group-selection-active tr[data-cx-group-selected="true"]:focus > td {
    background: #ffe16a !important;
    color: #233f57 !important;
}

/* Small visual cue when extra map markers are intentionally hidden after a
   unit selection to keep a single last-position pin visible. */
html body.cx-design-system .gm-style [data-cx-group-marker-hidden="true"] {
    pointer-events: none !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* Header alert queue: the pending state is one compact universal bell, not a
   nested status capsule. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: 100% !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status {
    position: relative !important;
    display: inline-flex !important;
    width: 34px !important; min-width: 34px !important; max-width: 34px !important;
    height: 30px !important; min-height: 30px !important;
    padding: 0 !important; margin: 0 !important;
    align-items: center !important; justify-content: center !important;
    border: 1px solid #e4bd50 !important;
    border-radius: 9px !important;
    background: #fff4ce !important; color: #a76d00 !important;
    box-shadow: none !important; overflow: visible !important;
}
html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status__icon {
    font-size: 13px !important;
    animation: cx-r1883981-bell-bounce 1.05s ease-in-out infinite !important;
    transform-origin: top center !important;
}
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-language {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: auto !important; min-width: 44px !important; max-width: 52px !important;
    height: 27px !important; min-height: 27px !important; padding: 0 9px !important;
    border-radius: 8px !important; font-size: 11px !important; font-weight: 800 !important;
}

/* Alert View / Answer resource controls: exactly three equal columns. The
   selected/open state remains dark until the section is explicitly closed. */
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-action-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-action-row > :is(button,.cx-alert-documents) {
    width: 100% !important; min-width: 0 !important; max-width: none !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-documents-toggle-row,
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents {
    width: 100% !important; min-width: 0 !important; max-width: none !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-danger[aria-expanded="true"] {
    background: #9d342f !important; border-color: #842b27 !important; color: #fff !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-info[aria-expanded="true"]:not(.alert-answer-toggle-documents) {
    background: #315f82 !important; border-color: #28516f !important; color: #fff !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .alert-answer-toggle-documents[aria-expanded="true"] {
    background: #4d7757 !important; border-color: #3f6749 !important; color: #fff !important;
}
html body.cx-design-system .alert-answer-toggle-documents { position: relative !important; }
html body.cx-design-system .cx-alert-documents-indicator {
    position: absolute !important; top: 7px !important; right: 9px !important;
    width: 8px !important; height: 8px !important; border-radius: 50% !important;
    background: #2f76b4 !important; border: 2px solid rgba(255,255,255,.95) !important;
    box-shadow: 0 0 0 1px rgba(47,118,180,.25) !important;
}
html body.cx-design-system .alert-answer-toggle-documents[aria-expanded="true"] .cx-alert-documents-indicator {
    background: #fff !important; border-color: rgba(255,255,255,.55) !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-documents-preview-list,
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-resource-detail {
    grid-column: 1 / -1 !important;
}

/* Group selection: selected yellow always wins over row hover/focus. */
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:hover > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:focus > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"] > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"]:hover > td {
    background: #ffe16a !important; color: #233f57 !important;
}

/* Context banner for device-scoped lists. */
html body.cx-design-system .cx-context-list-banner {
    display: flex; align-items: center; gap: 12px;
    margin: 0 0 16px; padding: 12px 14px;
    border: 1px solid #bfd3e4; border-left: 4px solid #356f9d;
    border-radius: 12px; background: #f4f9fd; color: #234a69;
}
html body.cx-design-system .cx-context-list-banner__icon {
    display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center;
    border-radius: 10px; background: #e6f1f8; color: #356f9d; flex: 0 0 auto;
}
html body.cx-design-system .cx-context-list-banner__copy { display:flex; flex-wrap:wrap; gap:5px; min-width:0; }
html body.cx-design-system .cx-context-list-banner__copy span { min-width:0; overflow-wrap:anywhere; }

/* Keep the desktop Conexgo logo present and above dropdown/menu layers while
   the sidebar is open. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-header {
        position: sticky !important; top: 0 !important; z-index: 120 !important;
        opacity: 1 !important; visibility: visible !important; background: #fff !important;
    }
    html body.cx-design-system .app-sidebar-modern .header-brand1 {
        opacity: 1 !important; visibility: visible !important; z-index: 121 !important;
    }
}

/* Read-only ATLAS fall notice uses the same Conexgo information-card rhythm. */
html body.cx-design-system .device-config-atlas-readonly .cx-device-config-atlas-fall-card {
    width: 100%; margin: 0;
}

/* ========================================================================== */

/* ========================================================================== */

/* Keep the minimized desktop sidebar as a visible 80px icon rail. The child
   may expand over content on hover; the shell therefore must not clip it. */
@media (min-width: 992px) {
    html body.cx-design-system.app.sidebar-mini.sidenav-toggled .app-sidebar-shell,
    html body.cx-design-system.sidebar-mini.sidenav-toggled .app-sidebar-shell {
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        overflow: visible !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system.app.sidebar-mini.sidenav-toggled .app-sidebar-shell .app-sidebar-modern,
    html body.cx-design-system.sidebar-mini.sidenav-toggled .app-sidebar-shell .app-sidebar-modern {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    html body.cx-design-system.app.sidebar-mini.sidenav-toggled .app-sidebar-shell .app-sidebar-modern:hover,
    html body.cx-design-system.sidebar-mini.sidenav-toggled .app-sidebar-shell .app-sidebar-modern:hover {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }
}

/* Pending-response bell: slightly larger and clearly animated while retaining
   the existing translated hover tooltip from AlertQueue. */
html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.cx-alert-bell-status {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 10px !important;
}

html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status__icon,
html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status > i,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.cx-alert-bell-status > i {
    font-size: 17px !important;
    animation: cx-r1883984-bell-ring 1.18s ease-in-out infinite !important;
    transform-origin: 50% 12% !important;
}

@keyframes cx-r1883984-bell-ring {
    0%, 48%, 100% { transform: rotate(0deg) translateY(0); }
    8% { transform: rotate(-14deg) translateY(-1px); }
    16% { transform: rotate(12deg) translateY(0); }
    24% { transform: rotate(-10deg) translateY(-1px); }
    32% { transform: rotate(8deg) translateY(0); }
    40% { transform: rotate(-4deg) translateY(0); }
}

/* Page-level loading states use the exact same card/icon/progress vocabulary
   as table loading without adding a second shaded panel around the card. */
html body.cx-design-system .conexgo-page-wait-indicator {
    min-height: 220px !important;
    padding: 22px !important;
    background: transparent !important;
    border: 0 !important;
}

html body.cx-design-system .conexgo-page-wait-indicator__card {
    width: min(100%, 420px) !important;
}

@media (max-width: 479.98px) {
    html body.cx-design-system .conexgo-page-wait-indicator {
        min-height: 180px !important;
        padding: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status__icon,
    html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status > i,
    html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status.cx-alert-bell-status > i {
        animation: none !important;
        transform: none !important;
    }
}

@media (min-width: 992px) {
    html body .app-sidebar-modern {
        height: 100dvh !important;
        max-height: 100dvh !important;
    }

    html body .app-sidebar-modern {
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        transition: width .16s ease, min-width .16s ease, max-width .16s ease !important;
    }

    html body .app-sidebar-modern .side-header {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 auto !important;
        min-height: 124px !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body .app-sidebar-modern .side-header .header-brand1 {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 18px 16px 14px 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    html body .app-sidebar-modern .side-header .header-brand-img {
        margin-left: 0 !important;
        margin-right: auto !important;
        transform: none !important;
        object-position: left center !important;
    }

    html body .app-sidebar-modern .main-sidemenu {
        position: relative !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        scrollbar-gutter: stable !important;
        scroll-behavior: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body .app-sidebar-modern .main-sidemenu > .ps__rail-y,
    html body .app-sidebar-modern .main-sidemenu > .ps__rail-x,
    html body .app-sidebar-modern > .ps__rail-y,
    html body .app-sidebar-modern > .ps__rail-x { display: none !important; }

    html body .app-sidebar-modern .side-menu {
        min-height: min-content !important;
        padding-bottom: 32px !important;
    }

    html body .conexgo-sidebar-section-item {
        transition:
            max-height .52s cubic-bezier(.22, 1, .36, 1),
            opacity .40s ease .05s,
            margin .52s cubic-bezier(.22, 1, .36, 1),
            padding .52s cubic-bezier(.22, 1, .36, 1),
            transform .52s cubic-bezier(.22, 1, .36, 1),
            clip-path .52s cubic-bezier(.22, 1, .36, 1),
            visibility 0s linear 0s;
    }

    html body .conexgo-sidebar-section-item.is-visible {
        max-height: 1200px !important;
    }

    html body .app-sidebar-modern .slide-menu,
    html body .app-sidebar-modern .sub-slide-menu,
    html body .app-sidebar-modern .sub-slide-menu2 {
        transition: none !important;
    }

    html body.sidenav-toggled .app-sidebar-modern:not(:hover),
    html body .app.sidenav-toggled .app-sidebar-modern:not(:hover) {
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
    }
}

/* Workflow badges: compact icon-only status with the tooltip carrying the text. */
.conexgo-alert-classic-side .cx-alert-workflow-status {
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 10px !important;
}
.conexgo-alert-classic-side .cx-alert-workflow-status i { margin: 0 !important; font-size: 15px !important; }
.conexgo-alert-filter.is-pending .cx-alert-filter-bell,
.cx-alert-bell-status.is-pending .cx-alert-bell-status__icon {
    transform-origin: 50% 15%;
    animation: cx-r18985-bell 1.45s ease-in-out infinite;
}
@keyframes cx-r18985-bell {
    0%, 62%, 100% { transform: rotate(0deg) translateY(0); filter: none; }
    68% { transform: rotate(-10deg) translateY(-1px); }
    74% { transform: rotate(10deg) translateY(-2px); filter: drop-shadow(0 0 4px rgba(190,128,0,.34)); }
    80% { transform: rotate(-7deg) translateY(-1px); }
    86% { transform: rotate(5deg) translateY(0); }
}

/* Ticket #555: keep the main queue icon visibly active while active alerts
   exist. The short incoming-alert cue remains separate and can still restart. */
html body.cx-design-system .conexgo-alert-trigger.has-alerts .conexgo-alert-icon {
    transform-origin: 50% 20% !important;
    animation: cx-r18986-active-alert 1.55s ease-in-out infinite !important;
}
@keyframes cx-r18986-active-alert {
    0%, 58%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    66% { transform: translateY(-2px) rotate(-7deg) scale(1.04); }
    74% { transform: translateY(-1px) rotate(7deg) scale(1.04); }
    82% { transform: translateY(0) rotate(-4deg) scale(1.02); }
    90% { transform: translateY(0) rotate(0deg) scale(1); }
}
.conexgo-alert-classic-language {
    min-width: 48px !important;
    min-height: 34px !important;
    padding: 5px 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #b9cfe0 !important;
    border-radius: 9px !important;
    background: #f8fbfd !important;
    color: #315f82 !important;
    font-weight: 800 !important;
    box-shadow: inset 0 0 0 1px rgba(49,95,130,.025) !important;
}

/* Geofence: preserve a balanced two-column modal and never create the giant focus void. */
.device-geofence-configuration-layout-with-preview,
.device-geofence-configuration-layout.is-manual-focus {
    grid-template-columns: minmax(300px, .92fr) minmax(420px, 1.08fr) !important;
    align-items: start !important;
    gap: 18px !important;
}
.device-geofence-configuration-layout.is-manual-focus > .device-geofence-map-card,
.device-geofence-configuration-layout.is-manual-focus > .device-geofence-fields-column {
    grid-column: auto !important;
    order: initial !important;
}
.device-geofence-map-card,
.device-geofence-configuration-layout.is-manual-focus > .device-geofence-map-card {
    min-height: 410px !important;
    height: clamp(410px, 50dvh, 540px) !important;
    max-height: 58dvh !important;
}
@media (max-width: 1199.98px) {
    .device-geofence-configuration-layout-with-preview,
    .device-geofence-configuration-layout.is-manual-focus {
        grid-template-columns: minmax(0,1fr) !important;
    }
    .device-geofence-map-card,
    .device-geofence-configuration-layout.is-manual-focus > .device-geofence-map-card {
        height: 430px !important;
        max-height: none !important;
    }
}

/* Device Map status/history surface: Conexgo blue instead of the legacy grey band. */
.device-map-settings,
.device-map-settings .conexgo-device-setting-toolbar,
.device-map-settings .setting-header {
    background: #315f82 !important;
    border-color: #284f6e !important;
}
.device-map-settings .conexgo-device-setting-toolbar .dashboard > li,
.device-map-settings .setting-header .dashboard > li,
.device-map-settings .conexgo-device-simple-icon,
.device-map-settings .conexgo-device-gps-icon,
.device-map-settings .conexgo-device-connectivity-icon {
    color: #fff !important;
}
.device-map-settings .conexgo-device-history-item {
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.22) !important;
}
.conexgo-history-panel {
    border-top: 1px solid #c9dbe8 !important;
    border-bottom: 1px solid #c9dbe8 !important;
    background: #edf4f9 !important;
}
.conexgo-map-controller.is-visible {
    display: block !important;
    border-top: 1px solid #c4d8e7 !important;
    border-bottom: 1px solid #c4d8e7 !important;
    background: #e8f1f7 !important;
}
#map-canvas, .device-map-canvas { position: relative !important; }
.cx-map-history-loading::after {
    content: "";
    position: absolute;
    z-index: 8;
    left: 0; right: 0; top: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #315f82 45%, transparent 100%);
    background-size: 45% 100%;
    animation: cx-r18985-map-load 1s linear infinite;
    pointer-events: none;
}
.cx-map-history-message {
    position: absolute;
    z-index: 9;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    max-width: min(620px, calc(100% - 32px));
    padding: 8px 12px;
    border: 1px solid #c8dae7;
    border-radius: 9px;
    background: rgba(255,255,255,.96);
    color: #315f82;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(35,74,108,.12);
    pointer-events: none;
}
.cx-map-history-message[data-state="error"] { color: #9e3444; border-color: #e7c2c9; }
@keyframes cx-r18985-map-load { from { background-position: -100% 0; } to { background-position: 220% 0; } }

@media (prefers-reduced-motion: reduce) {
    .conexgo-alert-filter.is-pending .cx-alert-filter-bell,
    .cx-alert-bell-status.is-pending .cx-alert-bell-status__icon,
    html body.cx-design-system .conexgo-alert-trigger.has-alerts .conexgo-alert-icon,
    .cx-map-history-loading::after { animation: none !important; }
}

/* Account action dropdowns stay overlay-based and viewport-safe; opening them
   must never reflow the table or hide actions below the fold. */
html body.cx-design-system .account-list-cell-name {
    position: relative !important;
    overflow: visible !important;
}
html body.cx-design-system .account-list-cell-name .dropdown-menu.conexgo-row-action-menu {
    z-index: 1090 !important;
    min-width: 320px !important;
    max-width: min(390px, calc(100vw - 24px)) !important;
    max-height: min(480px, calc(100dvh - 140px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
    will-change: auto !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* The desktop brand row follows the same 75px rhythm as the application
   topbar. It no longer reserves a 124px block above the first menu section. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-header {
        box-sizing: border-box !important;
        flex: 0 0 75px !important;
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        box-sizing: border-box !important;
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        padding: 0 18px !important;
        align-items: center !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand-img.light-logo1 {
        width: auto !important;
        max-width: calc(100% - 8px) !important;
        height: auto !important;
        max-height: 40px !important;
        object-fit: contain !important;
    }
}

/* Every workflow state uses the same square control as Pending. Language is
   the matching neighbouring control, so Pending/In progress/Done never change
   the card geometry. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top {
    gap: 7px !important;
    flex-wrap: nowrap !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .cx-alert-workflow-status,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .cx-alert-workflow-status.cx-alert-bell-status {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .cx-alert-workflow-status > i,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .cx-alert-workflow-status.cx-alert-bell-status > i {
    flex: 0 0 15px !important;
    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    text-align: center !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .conexgo-alert-classic-language {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* The four queue-filter glyphs share one exact icon box and font size. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter > i {
    display: inline-flex !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    line-height: 16px !important;
    text-align: center !important;
}

/* Open resource buttons keep their darker semantic colour for the complete
   lifetime of aria-expanded=true, independently of hover or focus. */
html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions)
button.alert-answer-toggle-danger:is(.active, [aria-expanded="true"]) {
    background: #9d342f !important;
    background-color: #9d342f !important;
    border-color: #842b27 !important;
    color: #fff !important;
}

html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions)
button.alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) {
    background: #315f82 !important;
    background-color: #315f82 !important;
    border-color: #28516f !important;
    color: #fff !important;
}

html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions)
button.alert-answer-toggle-documents:is(.active, [aria-expanded="true"]) {
    background: #3f704f !important;
    background-color: #3f704f !important;
    border-color: #315b3f !important;
    color: #fff !important;
}

html body.cx-design-system :is(.alert-answer-action-row, .alert-view-resource-actions)
button:is(.alert-answer-toggle-danger, .alert-answer-toggle-info, .alert-answer-toggle-documents):is(.active, [aria-expanded="true"])
:is(i, span) {
    color: #fff !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* Keep the desktop brand row exactly as tall as the topbar while letting the
   logo use the available width. The brand is anchored close to the left edge. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-header,
    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        box-sizing: border-box !important;
        flex: 0 0 75px !important;
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header {
        padding: 0 !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        padding: 0 8px !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand-img.light-logo1 {
        display: block !important;
        flex: 0 0 auto !important;
        width: 180px !important;
        max-width: calc(100% - 8px) !important;
        height: auto !important;
        max-height: 54px !important;
        margin: 0 auto 0 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
    }
}

/* The language badge is an exact peer of every workflow-status control. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .cx-alert-workflow-status,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .cx-alert-workflow-status.cx-alert-bell-status,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-side-top .conexgo-alert-classic-language {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* Real jump motion on every pending bell: filter, individual card and header
   notification bell. Only the glyph moves, so card alignment never changes. */
@keyframes cx-r18988-bell-jump {
    0%, 50%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    10% { transform: translateY(-6px) rotate(-9deg) scale(1.10); }
    20% { transform: translateY(0) rotate(7deg) scale(1.02); }
    30% { transform: translateY(-4px) rotate(-6deg) scale(1.08); }
    40% { transform: translateY(0) rotate(4deg) scale(1); }
}

html body.cx-design-system .conexgo-alert-filter.is-pending > .cx-alert-filter-bell,
html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status--pending > i,
html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status.is-pending > .cx-alert-bell-status__icon,
html body.cx-design-system .conexgo-notification-trigger.has-notifications .conexgo-notification-bell {
    transform-origin: center bottom !important;
    animation: cx-r18988-bell-jump 1.05s ease-in-out infinite !important;
    will-change: transform !important;
}

/* Notification dropdown gains the same compact filter rhythm as Alert Queue,
   but only for the three real priority levels. */
html body.cx-design-system .conexgo-notification-dropdown {
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
}

html body.cx-design-system .conexgo-notification-filterbar {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    min-width: 0 !important;
    padding: 9px 12px !important;
    align-items: center !important;
    background: #f7fafc !important;
    border-bottom: 1px solid #d6e2eb !important;
}

html body.cx-design-system .conexgo-notification-filterbar-label,
html body.cx-design-system .conexgo-notification-filterbar-actions,
html body.cx-design-system .conexgo-notification-filter {
    display: inline-flex !important;
    align-items: center !important;
}

html body.cx-design-system .conexgo-notification-filterbar-label {
    min-width: 0 !important;
    gap: 8px !important;
    color: #365c7c !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .conexgo-notification-filterbar-label > i {
    flex: 0 0 16px !important;
    width: 16px !important;
    font-size: 14px !important;
    text-align: center !important;
}

html body.cx-design-system .conexgo-notification-filterbar-actions {
    gap: 7px !important;
    flex-wrap: nowrap !important;
}

html body.cx-design-system .conexgo-notification-filter {
    box-sizing: border-box !important;
    min-width: 52px !important;
    height: 38px !important;
    gap: 6px !important;
    padding: 0 10px !important;
    justify-content: center !important;
    border: 1px solid #c6d9e7 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #315f82 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transform: none !important;
    transition:
        background-color .24s cubic-bezier(.22, 1, .36, 1),
        border-color .24s cubic-bezier(.22, 1, .36, 1),
        color .24s cubic-bezier(.22, 1, .36, 1),
        box-shadow .24s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system .conexgo-notification-filter > i {
    display: inline-flex !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    line-height: 16px !important;
}

html body.cx-design-system .conexgo-notification-filter.is-high:not(.is-selected) {
    background: #fff5f6 !important;
    border-color: #e7b9c1 !important;
    color: #a52e43 !important;
}

html body.cx-design-system .conexgo-notification-filter.is-medium:not(.is-selected) {
    background: #fff8e9 !important;
    border-color: #e8ca83 !important;
    color: #966200 !important;
}

html body.cx-design-system .conexgo-notification-filter.is-information:not(.is-selected) {
    background: #f1f7fb !important;
    border-color: #bdd4e5 !important;
    color: #315f82 !important;
}

html body.cx-design-system .conexgo-notification-filter:not(.is-selected):is(:hover, :focus-visible) {
    background: #f4f8fb !important;
    border-color: #a9c4d7 !important;
    color: #294f6d !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .conexgo-notification-filter.is-high:not(.is-selected):is(:hover, :focus-visible) {
    background: #fcecef !important;
    border-color: #dfa4ae !important;
    color: #972b3f !important;
}

html body.cx-design-system .conexgo-notification-filter.is-medium:not(.is-selected):is(:hover, :focus-visible) {
    background: #fff3d8 !important;
    border-color: #dfbe70 !important;
    color: #825500 !important;
}

html body.cx-design-system .conexgo-notification-filter.is-information:not(.is-selected):is(:hover, :focus-visible) {
    background: #e8f2f8 !important;
    border-color: #a8c7dc !important;
    color: #294f6d !important;
}

html body.cx-design-system .conexgo-notification-filter.is-selected,
html body.cx-design-system .conexgo-notification-filter.is-selected:hover,
html body.cx-design-system .conexgo-notification-filter.is-selected:focus-visible {
    background: #274f6d !important;
    background-color: #274f6d !important;
    border-color: #1f425c !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 3px 8px rgba(25,58,83,.18) !important;
}

html body.cx-design-system .conexgo-notification-filter.is-high.is-selected {
    background: #962c3d !important;
    background-color: #962c3d !important;
    border-color: #772130 !important;
}

html body.cx-design-system .conexgo-notification-filter.is-medium.is-selected {
    background: #865900 !important;
    background-color: #865900 !important;
    border-color: #684500 !important;
}

/* Active resource buttons are deliberately much darker than their closed
   state. The .active class is emitted by each Blazor component while open. */
html body.cx-design-system .mud-dialog .alert-answer-toggle.alert-answer-toggle-danger.active,
html body.cx-design-system .mud-dialog .alert-answer-toggle.alert-answer-toggle-danger[aria-expanded="true"] {
    background: #81241f !important;
    background-color: #81241f !important;
    background-image: none !important;
    border-color: #641a17 !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 4px 10px rgba(98,26,23,.24) !important;
}

html body.cx-design-system .mud-dialog .alert-answer-toggle.alert-answer-toggle-info:not(.alert-answer-toggle-documents).active,
html body.cx-design-system .mud-dialog .alert-answer-toggle.alert-answer-toggle-info:not(.alert-answer-toggle-documents)[aria-expanded="true"] {
    background: #244d6b !important;
    background-color: #244d6b !important;
    background-image: none !important;
    border-color: #193d58 !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 4px 10px rgba(25,61,88,.22) !important;
}

html body.cx-design-system .mud-dialog .alert-answer-toggle.alert-answer-toggle-documents.active,
html body.cx-design-system .mud-dialog .alert-answer-toggle.alert-answer-toggle-documents[aria-expanded="true"] {
    background: #275b39 !important;
    background-color: #275b39 !important;
    background-image: none !important;
    border-color: #1d472b !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 4px 10px rgba(29,71,43,.22) !important;
}

html body.cx-design-system .mud-dialog .alert-answer-toggle.active :is(i, span),
html body.cx-design-system .mud-dialog .alert-answer-toggle[aria-expanded="true"] :is(i, span) {
    color: #fff !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system .conexgo-notification-filterbar {
        grid-template-columns: 1fr !important;
    }

    html body.cx-design-system .conexgo-notification-filterbar-actions {
        width: 100% !important;
        justify-content: space-between !important;
    }

    html body.cx-design-system .conexgo-notification-filter {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        padding-inline: 7px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .conexgo-alert-filter.is-pending > .cx-alert-filter-bell,
    html body.cx-design-system .conexgo-header-alerts .cx-alert-workflow-status--pending > i,
    html body.cx-design-system .conexgo-header-alerts .cx-alert-bell-status.is-pending > .cx-alert-bell-status__icon,
    html body.cx-design-system .conexgo-notification-trigger.has-notifications .conexgo-notification-bell {
        animation: none !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

/* #508: the Blazor-owned selection class and the JavaScript map-selection
   class share the same persistent yellow state, including during hover. */
html body.cx-design-system tr.cx-group-member-row.is-selected > td,
html body.cx-design-system tr.cx-group-member-row.is-selected:hover > td {
    background: #fff200 !important;
    color: #17233c !important;
}

html body.cx-design-system tr.cx-group-member-row.is-selected > td:first-child {
    box-shadow: inset 4px 0 0 #d6ad00 !important;
}

/* Keep the position count and the playback navigator visible together. */
html body.cx-design-system .device-map-settings .conexgo-map-controller.is-visible {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 16px !important;
    overflow: visible !important;
    opacity: 1 !important;
    border-top: 1px solid #c4d8e7 !important;
    border-bottom: 1px solid #c4d8e7 !important;
    background: #e8f1f7 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    min-height: 48px !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    border: 1px solid #cbdde9 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #294f6d !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    box-shadow: 0 2px 8px rgba(39, 73, 98, .05) !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    color: #527b99 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-height: 48px !important;
    margin: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step:disabled {
    border-color: #dfe8ee !important;
    background: #f5f8fa !important;
    color: #9cabb6 !important;
    cursor: not-allowed !important;
    opacity: .72 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) {
    grid-template-columns: minmax(220px, .9fr) minmax(270px, 1.1fr) 200px !important;
    gap: 12px 16px !important;
}

/* Native <dialog> puts the large map in the browser top layer, outside the
   clipping and scroll constraints of the device-edit MudDialog. */
html body.cx-design-system.cx-geofence-workspace-open,
html body.cx-design-system.cx-geofence-workspace-open body {
    overflow: hidden !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace {
    width: min(96vw, 1580px) !important;
    max-width: min(96vw, 1580px) !important;
    height: min(92dvh, 960px) !important;
    max-height: 92dvh !important;
    margin: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #a9c1d5 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #213f59 !important;
    box-shadow: 0 28px 80px rgba(13, 36, 55, .34) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace::backdrop {
    background: rgba(16, 29, 41, .72) !important;
    backdrop-filter: blur(2px);
}

html body.cx-design-system dialog.device-geofence-map-workspace > .device-geofence-map-card--workspace {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(310px, 380px) minmax(0, 1fr) !important;
    grid-template-rows: 58px minmax(0, 1fr) !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-header {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-height: 58px !important;
    padding: 0 18px !important;
    background: #315879 !important;
    border-bottom: 1px solid #254763 !important;
    color: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-header > div:first-child {
    min-width: 0 !important;
    font-size: 17px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-header > div:first-child > span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-close {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    background: rgba(255,255,255,.12) !important;
    color: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-close:is(:hover, :focus-visible) {
    background: rgba(255,255,255,.23) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-drawing-panel {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    overflow: auto !important;
    border-right: 1px solid #d7e3ec !important;
    border-bottom: 0 !important;
    background: #f7fafc !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search {
    padding: 14px !important;
    border: 1px solid #d3e1eb !important;
    border-radius: 12px !important;
    background: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search-row {
    grid-template-columns: minmax(0, 1fr) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search-button {
    width: 100% !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-draw-toolbar {
    margin-top: auto !important;
    padding: 14px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    border: 1px solid #d3e1eb !important;
    border-radius: 12px !important;
    background: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-preview {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #eaf2f7 !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-preview > div,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-preview .gm-style,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-canvas {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace > .device-geofence-map-card--workspace.is-standard .device-geofence-map-preview {
    grid-column: 1 / -1 !important;
}

html body.cx-design-system .device-geofence-preview-button.is-active {
    background: #244d6b !important;
    border-color: #193d58 !important;
    color: #ffffff !important;
}

@media (max-width: 900px) {
    html body.cx-design-system dialog.device-geofence-map-workspace {
        width: 98vw !important;
        max-width: 98vw !important;
        height: 96dvh !important;
        max-height: 96dvh !important;
        border-radius: 12px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace > .device-geofence-map-card--workspace.is-manual {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: 54px auto minmax(300px, 1fr) !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-drawing-panel {
        grid-column: 1 !important;
        grid-row: 2 !important;
        max-height: 34dvh !important;
        padding: 12px !important;
        border-right: 0 !important;
        border-bottom: 1px solid #d7e3ec !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-preview {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace > .device-geofence-map-card--workspace.is-standard .device-geofence-map-preview {
        grid-row: 2 / -1 !important;
    }
}

@media (max-width: 720px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) .conexgo-history-action {
        grid-column: 1 !important;
        width: 100% !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        max-width: none !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

/* logo-3.png is the horizontal ConexGo artwork, but its transparent vertical
   margins made the visible mark much smaller than its CSS box. Crop those
   margins with object-fit while keeping exactly one desktop brand visible. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-header {
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        padding: 0 6px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 > .header-brand-img {
        display: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 > .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 205px !important;
        width: 205px !important;
        min-width: 205px !important;
        max-width: 205px !important;
        height: 62px !important;
        min-height: 62px !important;
        max-height: 62px !important;
        margin: 0 !important;
        object-fit: cover !important;
        object-position: left center !important;
    }

    /* Preserve a compact icon in the collapsed 80px rail. The large horizontal
       logo returns automatically when that rail expands on hover. */
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover)
    .side-header .header-brand1 > .conexgo-sidebar-brand-primary {
        display: none !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover)
    .side-header .header-brand1 > .toggle-logo {
        display: block !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }
}

/* Manage Devices is deliberately more compact than a full-screen workflow.
   Its two collections remain distinct, and every interactive surface gets the
   calm blue hover/focus treatment used by the rest of the portal. */
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices {
    width: min(1180px, calc(100vw - 28px)) !important;
    max-width: min(1180px, calc(100vw - 28px)) !important;
    min-height: 0 !important;
    height: auto !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .mud-dialog-content {
    max-height: min(76dvh, 790px) !important;
    padding: 14px 16px 16px !important;
    overflow: auto !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-shell {
    padding: 14px 16px 16px !important;
    border: 1px solid #b9cfdf !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-shell:hover {
    border-color: #78a9cc !important;
    background: #fbfdff !important;
    box-shadow: 0 10px 28px rgba(42, 91, 128, .10) !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-intro {
    margin: 0 0 12px !important;
    padding: 9px 11px !important;
    border: 1px solid #d2e2ed !important;
    border-radius: 9px !important;
    background: #f3f8fc !important;
    color: #45647c !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-toolbar {
    width: 100% !important;
    margin: 0 0 12px !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) minmax(340px, 470px) !important;
    align-items: center !important;
    gap: 12px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-summary {
    min-height: 46px !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #cfdee9 !important;
    border-radius: 10px !important;
    background: #f7fafc !important;
    color: #3e5c74 !important;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-summary:hover {
    border-color: #77aacf !important;
    background: #eaf5fc !important;
    box-shadow: 0 5px 14px rgba(46, 99, 137, .10) !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-summary__icon,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-empty__icon {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
    background: #e4f0f8 !important;
    color: #315f82 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-search,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-search label,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-search .input-group {
    width: 100% !important;
    margin: 0 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-progress {
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #315f82 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel {
    margin: 0 0 12px !important;
    overflow: hidden !important;
    border: 1px solid #cfdee9 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel:last-child {
    margin-bottom: 0 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel:hover {
    border-color: #69a2ca !important;
    background: #fbfdff !important;
    box-shadow: 0 8px 22px rgba(39, 87, 123, .11) !important;
    transform: translateY(-1px) !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel__header {
    min-height: 48px !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border-bottom: 1px solid #d7e3ec !important;
    background: #f4f8fb !important;
    color: #294f6d !important;
    transition: background-color .18s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel:hover .conexgo-manage-devices-panel__header {
    background: #e4f2fb !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel__title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel__count {
    min-width: 32px !important;
    min-height: 28px !important;
    padding: 3px 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #bdd4e4 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #315f82 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel__body {
    padding: 10px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-empty {
    min-height: 62px !important;
    padding: 10px 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    border: 1px solid #d8e4ec !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
    color: #607587 !important;
    font-size: 13px !important;
    outline: 0 !important;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-empty:is(:hover, :focus-visible) {
    border-color: #65a1cb !important;
    background: #e8f5fd !important;
    color: #294f6d !important;
    box-shadow: 0 0 0 3px rgba(76, 139, 182, .12) !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-row > td {
    transition: background-color .16s ease, color .16s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-row:is(:hover, :focus-within) > td {
    background: #e7f4fc !important;
    color: #244e6e !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action {
    min-height: 36px !important;
    box-shadow: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action:not(:disabled):is(:hover, :focus-visible) {
    color: #ffffff !important;
    box-shadow: 0 5px 13px rgba(37, 83, 116, .16) !important;
    transform: translateY(-1px) !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action--add:not(:disabled):is(:hover, :focus-visible) {
    border-color: #3f7652 !important;
    background: #4f8963 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action--remove:not(:disabled):is(:hover, :focus-visible) {
    border-color: #9d3a35 !important;
    background: #b64a44 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-toolbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .mud-dialog-content {
        padding: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel,
    html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action {
        transition: none !important;
        transform: none !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

/* ALERT VIEW + ANSWER: data presence is always visible as the requested red
   top-right dot. The explicit document dot is suppressed to avoid duplicates. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(.alert-answer-toggle-danger, .alert-answer-toggle-info, .alert-answer-toggle-documents).has-data {
    position: relative !important;
    overflow: visible !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(.alert-answer-toggle-danger, .alert-answer-toggle-info, .alert-answer-toggle-documents).has-data::after {
    content: "" !important;
    position: absolute !important;
    z-index: 4 !important;
    top: 7px !important;
    right: 9px !important;
    width: 10px !important;
    height: 10px !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    background: #d63b35 !important;
    box-shadow: 0 1px 4px rgba(113, 25, 22, .28) !important;
    pointer-events: none !important;
}

html body.cx-design-system .cx-alert-documents-indicator {
    display: none !important;
}

/* An open resource uses the same darker semantic colour as its corresponding
   data panel border, and it stays dark until that resource is closed. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-danger:is(.active, [aria-expanded="true"]) {
    background: #ca3d32 !important;
    background-color: #ca3d32 !important;
    border-color: #ca3d32 !important;
    color: #ffffff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) {
    background: #315f82 !important;
    background-color: #315f82 !important;
    border-color: #315f82 !important;
    color: #ffffff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-documents:is(.active, [aria-expanded="true"]) {
    background: #4b9461 !important;
    background-color: #4b9461 !important;
    border-color: #4b9461 !important;
    color: #ffffff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(.alert-answer-toggle-danger, .alert-answer-toggle-info, .alert-answer-toggle-documents):is(.active, [aria-expanded="true"])
:is(i, span) {
    color: #ffffff !important;
}

/* SIDEBAR: keep the brand strip exactly at the existing 75px topbar height,
   but never crop the horizontal artwork. This reverses the late object-fit:cover
   regression that clipped the logo and made the brand block look oversized. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-header,
    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        box-sizing: border-box !important;
        flex: 0 0 75px !important;
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        align-items: center !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header {
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        padding: 0 8px !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 > .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 auto !important;
        width: 180px !important;
        min-width: 0 !important;
        max-width: calc(100% - 8px) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 54px !important;
        margin: 0 auto 0 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
    }
}

/* GEOFENCE: the Show/Hide action controls an embedded preview beside the form,
   matching the proven layout instead of forcing every preview into a huge modal. */
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-configuration-layout-with-preview {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(390px, .85fr) !important;
    align-items: start !important;
    gap: 20px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded {
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(390px, 52dvh, 540px) !important;
    min-height: 390px !important;
    max-height: min(60dvh, 560px) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #cfdeea !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 18px rgba(35, 74, 108, .08) !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-header {
    flex: 0 0 52px !important;
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 14px !important;
    background: #f7fafc !important;
    border-bottom: 1px solid #dbe6ef !important;
    color: #244d70 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-close {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    border: 1px solid #c5d8e6 !important;
    background: #ffffff !important;
    color: #315f82 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-drawing-panel--embedded {
    position: relative !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    padding: 9px 12px 10px !important;
    display: grid !important;
    gap: 8px !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #dbe6ef !important;
    background: #f7fafc !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-draw-hint {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 7px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #315f82 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-draw-toolbar {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
    border: 0 !important;
    background: transparent !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-tool {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 6px 8px !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-preview {
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 260px !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #eef4f8 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-preview > div,
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-preview .gm-style,
html body.cx-design-system .mud-dialog.cx-r1-device-geofence
.device-geofence-map-card--embedded .device-geofence-map-canvas {
    width: 100% !important;
    height: 100% !important;
    min-height: 260px !important;
    max-height: none !important;
}

/* The manual drawing workspace remains available, but is now a controlled,
   compact modal. The map consumes every remaining pixel: no blank white slab. */
html body.cx-design-system dialog.device-geofence-map-workspace {
    width: min(78vw, 1120px) !important;
    max-width: min(78vw, 1120px) !important;
    height: min(72dvh, 680px) !important;
    max-height: calc(100dvh - 64px) !important;
    margin: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #a9c1d5 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #213f59 !important;
    box-shadow: 0 24px 70px rgba(13, 36, 55, .32) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
> .device-geofence-map-card--workspace {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-header {
    flex: 0 0 56px !important;
    min-height: 56px !important;
    height: 56px !important;
    padding: 0 16px !important;
    background: #315879 !important;
    border-bottom: 1px solid #254763 !important;
    color: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-drawing-panel {
    position: relative !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 10px 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    align-items: end !important;
    gap: 8px 12px !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #d7e3ec !important;
    background: #f7fafc !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-draw-hint {
    position: static !important;
    inset: auto !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #315f82 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 5px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 7px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search-button {
    width: auto !important;
    min-width: 112px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search > small {
    display: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-draw-toolbar {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 7px 8px !important;
    justify-content: center !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-preview,
html body.cx-design-system dialog.device-geofence-map-workspace
> .device-geofence-map-card--workspace.is-standard .device-geofence-map-preview {
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #eaf2f7 !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-preview > div,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-preview .gm-style,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-canvas {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
}

@media (max-width: 1199.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-configuration-layout-with-preview {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-card--embedded {
        height: 380px !important;
        min-height: 350px !important;
        max-height: 500px !important;
    }
}

@media (max-width: 900px) {
    html body.cx-design-system dialog.device-geofence-map-workspace {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        height: min(90dvh, 760px) !important;
        max-height: calc(100dvh - 24px) !important;
        border-radius: 12px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-drawing-panel {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch !important;
        padding: 9px 10px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-draw-hint {
        grid-column: 1 !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search-row {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }
}

@media (max-width: 620px) {
    html body.cx-design-system .mud-dialog.cx-r1-device-geofence
    .device-geofence-map-card--embedded .device-geofence-map-draw-toolbar,
    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-draw-toolbar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-location-search-button {
        width: 100% !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

/*
   SIDEBAR BRAND — visual geometry restored from the older ConexGo layout,
   while keeping the current white background:
   - 75px brand strip, aligned with the current top shell;
   - original logo artwork at its natural 125x50 size;
   - left aligned with 24px inset (not centered / not pushed to the right);
   - no crop, no scale-up.
*/
@media (min-width: 768px) {
    html body.cx-design-system .app-sidebar-modern .side-header {
        box-sizing: border-box !important;
        position: relative !important;
        inset: auto !important;
        flex: 0 0 75px !important;
        flex-basis: 75px !important;
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf1f5 !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        box-sizing: border-box !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        padding: 0 0 0 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header
    .header-brand1 > .header-brand-img {
        display: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header
    .header-brand1 > .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 125px !important;
        width: 125px !important;
        min-width: 125px !important;
        max-width: 125px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Preserve the compact square mark only when the rail is actually collapsed. */
    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover)
    .side-header {
        justify-content: center !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover)
    .side-header .header-brand1 {
        padding-left: 0 !important;
        justify-content: center !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover)
    .side-header .header-brand1 > .conexgo-sidebar-brand-primary {
        display: none !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover)
    .side-header .header-brand1 > .toggle-logo {
        display: block !important;
        flex: 0 0 46px !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* ALERT RESOURCES:
   Contacts = red, emergency info = blue, documents = green.
   The same accent is used for the data dot and the open-button background. */
html body.cx-design-system .alert-answer-action-row .alert-answer-toggle-danger {
    --cx-alert-resource-accent: #ca3d32;
}

html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-info:not(.alert-answer-toggle-documents) {
    --cx-alert-resource-accent: #315f82;
}

html body.cx-design-system .alert-answer-action-row .alert-answer-toggle-documents {
    --cx-alert-resource-accent: #4b9461;
}

html body.cx-design-system .alert-answer-action-row
:is(.alert-answer-toggle-danger,
    .alert-answer-toggle-info,
    .alert-answer-toggle-documents).has-data {
    position: relative !important;
    overflow: visible !important;
}

html body.cx-design-system .alert-answer-action-row
:is(.alert-answer-toggle-danger,
    .alert-answer-toggle-info,
    .alert-answer-toggle-documents).has-data::after {
    content: "" !important;
    position: absolute !important;
    z-index: 8 !important;
    top: 8px !important;
    right: 10px !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    background: var(--cx-alert-resource-accent) !important;
    background-color: var(--cx-alert-resource-accent) !important;
    box-shadow: 0 1px 4px rgba(31, 54, 73, .24) !important;
    pointer-events: none !important;
}

html body.cx-design-system .alert-answer-action-row .cx-alert-documents-indicator {
    display: none !important;
}

html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-danger:is(.active, [aria-expanded="true"]),
html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]),
html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-documents:is(.active, [aria-expanded="true"]) {
    background: var(--cx-alert-resource-accent) !important;
    background-color: var(--cx-alert-resource-accent) !important;
    border-color: var(--cx-alert-resource-accent) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .alert-answer-action-row
:is(.alert-answer-toggle-danger,
    .alert-answer-toggle-info,
    .alert-answer-toggle-documents):is(.active, [aria-expanded="true"])
:is(i, span, strong) {
    color: #ffffff !important;
}

html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-danger:is(.active, [aria-expanded="true"]):hover,
html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]):hover,
html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-documents:is(.active, [aria-expanded="true"]):hover {
    background: var(--cx-alert-resource-accent) !important;
    background-color: var(--cx-alert-resource-accent) !important;
    border-color: var(--cx-alert-resource-accent) !important;
    color: #ffffff !important;
    transform: none !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* Native dialog remains only as the browser top-layer host. The inner shell
   is the same shared Conexgo/MudDialog visual system used by Device_AddEdit. */
html body.cx-design-system dialog.device-geofence-map-workspace.cx-geofence-workspace-host {
    width: min(1120px, calc(100vw - 32px)) !important;
    max-width: min(1120px, calc(100vw - 32px)) !important;
    height: min(760px, calc(100dvh - 32px)) !important;
    max-height: calc(100dvh - 32px) !important;
    margin: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace.cx-geofence-workspace-host::backdrop {
    background: rgba(24, 38, 56, .42) !important;
    backdrop-filter: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
> .cx-geofence-workspace-shell.mud-dialog {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #9fb2c6 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 56px rgba(23, 43, 77, .18), 0 5px 14px rgba(23, 43, 77, .08) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-titlebar.mud-dialog-title {
    width: 100% !important;
    min-height: 58px !important;
    height: 58px !important;
    padding: 12px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex: 0 0 58px !important;
    background: var(--cx-dialog-navy, #2c4c6c) !important;
    color: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-title {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-title > i {
    flex: 0 0 auto !important;
    color: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-title > span {
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-close {
    flex: 0 0 36px !important;
    margin-left: auto !important;
    color: rgba(255, 255, 255, .95) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-content.mud-dialog-content {
    min-height: 0 !important;
    padding: 14px !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
    background: var(--cx-dialog-body, #f7f9fb) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-layout {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-controls {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 14px 16px 16px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-controls .cx-r1-section-title {
    margin-bottom: 5px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-controls .cx-r1-section-icon {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
    border-radius: 8px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-controls .cx-r1-section-description {
    margin-bottom: 10px !important;
    white-space: normal !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-controls .cx-r1-section-description > span {
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.device-geofence-map-location-search {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 6px !important;
    border: 0 !important;
    background: transparent !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.device-geofence-map-location-search > label {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #2c4c6c !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.device-geofence-map-location-search-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.device-geofence-map-location-search-button {
    min-width: 116px !important;
    min-height: 38px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-map-section {
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-map-section .cx-r1-section-title {
    flex: 0 0 auto !important;
    margin-bottom: 8px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-map-section .cx-r1-section-icon {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
    border-radius: 8px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-map-section .device-geofence-map-preview {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 300px !important;
    height: auto !important;
    max-height: none !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
    border: 1px solid #d6e0ea !important;
    border-radius: 10px !important;
    background: #eaf2f7 !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-map-section .device-geofence-map-preview > div,
html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-map-section .device-geofence-map-preview .gm-style,
html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-map-section .device-geofence-map-canvas {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions.mud-dialog-actions {
    min-height: 56px !important;
    padding: 8px 12px !important;
    flex: 0 0 56px !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    border-top: 1px solid #dbe3eb !important;
    background: var(--cx-dialog-footer, #f4f7fa) !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions .device-geofence-map-tool {
    width: auto !important;
    min-width: 118px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions .device-geofence-map-tool.is-active {
    border-color: #244563 !important;
    background: #244563 !important;
    color: #ffffff !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system dialog.device-geofence-map-workspace.cx-geofence-workspace-host {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        height: calc(100dvh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        border-radius: 12px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .cx-geofence-workspace-content.mud-dialog-content {
        padding: 10px !important;
        overflow-y: auto !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .cx-geofence-workspace-layout {
        height: auto !important;
        min-height: 100% !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .device-geofence-map-location-search-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .device-geofence-map-location-search-button {
        width: 100% !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .cx-geofence-workspace-map-section {
        min-height: 390px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .cx-geofence-workspace-map-section .device-geofence-map-preview {
        min-height: 320px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .cx-geofence-workspace-actions.mud-dialog-actions {
        min-height: 0 !important;
        height: auto !important;
        flex-basis: auto !important;
        flex-wrap: wrap !important;
        overflow: visible !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace
    .cx-geofence-workspace-actions .device-geofence-map-tool {
        flex: 1 1 calc(50% - 4px) !important;
        min-width: 0 !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

html body.cx-design-system .cx-alert-documents-add:disabled {
    cursor: wait !important;
    opacity: .64 !important;
    pointer-events: none !important;
}

/* ========================================================================== */

/* ========================================================================== */

html body.cx-design-system .cx-location-daily-schedule-note {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 9px 11px !important;
    border: 1px solid #d7e4ed !important;
    border-radius: 9px !important;
    background: #f5f9fc !important;
    color: #49677d !important;
    font-size: 12px !important;
}

html body.cx-design-system .cx-location-day-toggle {
    position: relative !important;
    min-width: 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
}

html body.cx-design-system .cx-location-day-toggle > input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

html body.cx-design-system .cx-location-day-toggle > .cx-device-config-day-check {
    position: static !important;
    left: auto !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
}

html body.cx-design-system .cx-location-day-toggle > input:checked + .cx-device-config-day-check {
    border-color: #315f8a !important;
    background: #315f8a !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-location-day-toggle > input:focus-visible + .cx-device-config-day-check {
    outline: 2px solid rgba(49, 95, 138, .28) !important;
    outline-offset: 2px !important;
}

html body.cx-design-system .cx-location-day-label {
    min-width: 0 !important;
    display: grid !important;
    gap: 1px !important;
}

html body.cx-design-system .cx-location-day-label small {
    color: #80909d !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
}

html body.cx-design-system .cx-location-day-row.is-enabled .cx-location-day-label small {
    color: #4f7188 !important;
}

html body.cx-design-system .cx-location-day-time {
    min-height: 46px !important;
    cursor: pointer !important;
}

html body.cx-design-system .cx-location-day-time:disabled {
    cursor: not-allowed !important;
}

html body.cx-design-system .cx-blocked-call-page {
    display: grid !important;
    gap: 14px !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-location-day-toggle {
        min-height: 38px !important;
    }
}

/* ========================================================================== */

/* ========================================================================== */

/* Blocked-call page intentionally reuses the Notification_List page/card/table
   system. Only the small domain-specific pieces live here. */
html body.cx-design-system .cx-blocked-call-page-row {
    margin-top: 0 !important;
}

html body.cx-design-system .cx-blocked-call-list-card {
    overflow: visible;
}

html body.cx-design-system .cx-blocked-call-toolbar-summary {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #ffffff;
    font-weight: 700;
}

html body.cx-design-system .cx-blocked-call-toolbar-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .10);
}

html body.cx-design-system .cx-blocked-call-count {
    min-width: 26px;
    height: 24px;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #ffffff;
    color: #2c4c6c;
    font-size: 12px;
    font-weight: 800;
}

html body.cx-design-system .cx-blocked-call-number {
    color: #173b61;
    font-weight: 700;
}

html body.cx-design-system .cx-blocked-call-normalized {
    margin-top: 3px;
    color: #75879a;
    font-size: 12px;
}

html body.cx-design-system .cx-blocked-call-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

html body.cx-design-system .cx-blocked-call-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

html body.cx-design-system .cx-blocked-call-status.is-blocked {
    border-color: #e4b8bd;
    background: #fff2f3;
    color: #9d3f49;
}

html body.cx-design-system .cx-blocked-call-status.is-inactive {
    border-color: #d5dee7;
    background: #f7f9fb;
    color: #697a8c;
}

html body.cx-design-system .conexgo-notification-row-actions .cx-blocked-call-toggle-action,
html body.cx-design-system .conexgo-notification-row-actions .cx-blocked-call-delete-action {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 4px;
    color: #ffffff !important;
}

html body.cx-design-system .conexgo-notification-row-actions .cx-blocked-call-toggle-action.is-active {
    background: #d89a2b !important;
}

html body.cx-design-system .conexgo-notification-row-actions .cx-blocked-call-toggle-action.is-inactive {
    background: #78b842 !important;
}

html body.cx-design-system .conexgo-notification-row-actions .cx-blocked-call-delete-action {
    background: #b8505b !important;
}

html body.cx-design-system .cx-blocked-call-empty {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #718399;
    text-align: center;
}

html body.cx-design-system .cx-blocked-call-empty-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #8295aa;
    font-size: 28px;
}

html body.cx-design-system .cx-blocked-call-dialog-body {
    width: 100%;
    padding: 4px 2px;
}

html body.cx-design-system .cx-blocked-call-dialog-section {
    margin: 0 !important;
}

@media (min-width: 768px) {
    html body.cx-design-system .app-sidebar-modern {
        box-sizing: border-box !important;
        padding-top: 0 !important;
        z-index: 120 !important;
        overflow: hidden !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        box-sizing: border-box !important;
        flex: 0 0 75px !important;
        flex-basis: 75px !important;
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf1f5 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        z-index: 121 !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        box-sizing: border-box !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        padding: 0 0 0 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header
    .header-brand1 > .header-brand-img {
        display: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header
    .header-brand1 > .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 125px !important;
        width: 125px !important;
        min-width: 125px !important;
        max-width: 125px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu {
        position: relative !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        margin-top: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover) .side-header .header-brand1 {
        padding-left: 0 !important;
        justify-content: center !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover) .side-header
    .header-brand1 > .conexgo-sidebar-brand-primary {
        display: none !important;
    }
}

html body.cx-design-system .device-map-settings .conexgo-history-panel {
    padding: 8px 12px 9px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form {
    width: 100% !important;
    max-width: 820px !important;
    grid-template-columns: minmax(190px, 230px) minmax(240px, 320px) minmax(150px, 200px) !important;
    gap: 8px 10px !important;
    align-items: end !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
    max-width: 1080px !important;
    grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-label {
    margin-bottom: 4px !important;
    font-size: 11px !important;
}

html body.cx-design-system .device-map-settings
:is(.conexgo-history-primary, .conexgo-history-date, .conexgo-history-time, .conexgo-history-action) {
    min-width: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-go,
html body.cx-design-system .device-map-settings .cx-control--history {
    min-height: 38px !important;
    height: 38px !important;
}

html body.cx-design-system .device-map-settings .conexgo-map-controller {
    padding: 7px 12px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    border: 1px solid #cedde8 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    width: auto !important;
    min-width: 270px !important;
    flex: 0 1 auto !important;
    padding: 5px 10px !important;
    gap: 8px !important;
    font-size: 12.5px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    padding: 3px 6px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    min-height: 34px !important;
    height: 34px !important;
    border-radius: 7px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
}

html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice)
.cx-location-day-row .cx-control-field,
html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice)
.cx-location-day-row .cx-time-picker,
html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice)
.cx-location-day-row [data-cx-control="time"] {
    width: 100% !important;
    min-width: 0 !important;
}

html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice)
.cx-location-day-time,
html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice)
.cx-location-shared-time {
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form,
    html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
        max-width: none !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) .conexgo-history-action,
    html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom .conexgo-history-action {
        grid-column: auto !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-results {
        flex-wrap: wrap !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        min-width: 0 !important;
        flex: 1 1 100% !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form,
    html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Documents stay visually aligned with the resource controls without creating
   a full-width empty slab. The preview is a compact bordered card/list. */
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-resource-documents {
    min-width: 0 !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-resource-documents .cx-alert-documents-preview-list {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    justify-self: start !important;
    margin-top: 10px !important;
    padding: 12px !important;
    border: 1px solid #b9cfe2 !important;
    border-left: 4px solid #315f82 !important;
    border-radius: 10px !important;
    background: #f7fbfe !important;
    box-shadow: none !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-document-resource-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-document-preview-card {
    width: 100% !important;
    min-height: 58px !important;
    padding: 10px 12px !important;
    border: 1px solid #c7d9e8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-document-preview-card:hover {
    border-color: #7fa9ca !important;
    background: #f4f9fd !important;
}
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-documents-preview-list .cx-alert-resource-panel-title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #244f72 !important;
}

/* Keep the ATLAS Fall configuration row visually consistent with the other
   alert configuration rows. The canonical standard-profile explanation is
   shown inside Device_Fall rather than as a large inline card. */
html body.cx-design-system .cx-dialog--fall .cx-device-config-section-description {
    border-left-color: #315f82 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view) .cx-alert-resource-documents .cx-alert-documents-preview-list {
        width: 100% !important;
        max-width: none !important;
    }
}

/* A01-A07: the 75px sidebar brand row is fixed like the theme header, so it
   cannot scroll away or sit behind the topbar. The menu owns the remaining
   viewport and scrolls independently. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern {
        box-sizing: border-box !important;
        padding-top: 75px !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header {
        position: fixed !important;
        inset: 0 auto auto 0 !important;
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #ffffff !important;
        border-right: 1px solid #e9edf4 !important;
        border-bottom: 1px solid #e9edf4 !important;
        box-shadow: none !important;
        z-index: 121 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        margin: 0 !important;
        padding: 0 0 0 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 > .header-brand-img {
        display: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 > .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 125px !important;
        width: 125px !important;
        min-width: 125px !important;
        max-width: 125px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: calc(100dvh - 75px) !important;
        max-height: calc(100dvh - 75px) !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-header {
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-header .header-brand1 {
        padding-left: 0 !important;
        justify-content: center !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-header .header-brand1 > .conexgo-sidebar-brand-primary {
        display: none !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-header .header-brand1 > .toggle-logo {
        display: block !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        margin: 0 !important;
        object-fit: contain !important;
    }
}

/* C02: Contacts / Emergency information / Documents are peers.
   Keep three equal columns on desktop and one clean column on compact screens. */
@media (min-width: 901px) {
    html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view) .alert-answer-action-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row > :is(button, .cx-alert-resource-documents) {
    width: 100% !important;
    min-width: 0 !important;
}

/* C02-C12: final semantic resource authority. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .alert-answer-toggle-danger {
    --cx-alert-resource-accent: #CA3D32;
    border-color: #efc3bf !important;
    background: #fff1ef !important;
    color: #9d2f27 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .alert-answer-toggle-info:not(.alert-answer-toggle-documents) {
    --cx-alert-resource-accent: #315F82;
    border-color: #c5d8e8 !important;
    background: #eef5fa !important;
    color: #315F82 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .alert-answer-toggle-documents {
    --cx-alert-resource-accent: #4B9461;
    border-color: #bdddc6 !important;
    background: #eef8f1 !important;
    color: #327447 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row :is(.alert-answer-toggle-danger,
                              .alert-answer-toggle-info:not(.alert-answer-toggle-documents),
                              .alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) {
    background: var(--cx-alert-resource-accent) !important;
    border-color: var(--cx-alert-resource-accent) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row :is(.alert-answer-toggle-danger,
                              .alert-answer-toggle-info,
                              .alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) :is(i, span, svg) {
    color: #ffffff !important;
    fill: currentColor !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row :is(.alert-answer-toggle-danger,
                              .alert-answer-toggle-info,
                              .alert-answer-toggle-documents).has-data::after {
    background: var(--cx-alert-resource-accent) !important;
    background-color: var(--cx-alert-resource-accent) !important;
}

/* Contact List: Documents is a third compact read-only card, not a detached
   accordion button. It follows the same blue-border family as the two cards. */
html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-documents-card {
    border: 1px solid #d6e0ea !important;
    border-left: 4px solid #3e6a99 !important;
    background: #f2f7fb !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-documents-value {
    padding: 0 !important;
    background: transparent !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-alert-documents.is-inline-readonly,
html body.cx-design-system .cx-r1-device-contactlist .cx-alert-documents-inline-list,
html body.cx-design-system .cx-r1-device-contactlist .cx-alert-document-resource-list {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-alert-document-resource-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-alert-document-preview-card {
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    border: 1px solid #bfd2e2 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-alert-document-preview-card:hover {
    border-color: #86abc8 !important;
    background: #f8fbfd !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-alert-documents-inline-empty {
    min-height: 44px !important;
    padding: 9px 11px !important;
    border: 1px dashed #bfd2e2 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #65788a !important;
}

/* C02-C10: equal first-level resource controls with persistent open states. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row {
    align-items: start !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row > :is(button, .cx-alert-resource-documents),
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .cx-alert-documents-toggle-row,
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .alert-answer-toggle-documents {
    width: 100% !important;
    min-width: 0 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-danger:is(.active, [aria-expanded="true"]) {
    background: #ca3d32 !important;
    border-color: #ca3d32 !important;
    color: #fff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) {
    background: #315f82 !important;
    border-color: #315f82 !important;
    color: #fff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-toggle-documents:is(.active, [aria-expanded="true"]) {
    background: #4b9461 !important;
    border-color: #4b9461 !important;
    color: #fff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(.alert-answer-toggle-danger,
    .alert-answer-toggle-info,
    .alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) :is(i, span, svg) {
    color: #fff !important;
    fill: currentColor !important;
}

/* Device contact modal: all three read-only resources use one compact card language. */
html body.cx-design-system .cx-r1-device-contactlist .cx-device-config-readonly-card {
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px 18px !important;
    border: 1px solid #c8d9e7 !important;
    border-left: 4px solid #315f82 !important;
    border-radius: 10px !important;
    background: #f4f8fb !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-config-readonly-card + .cx-device-config-readonly-card {
    margin-top: 12px !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-config-readonly-label {
    margin-bottom: 8px !important;
    color: #244d70 !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-config-readonly-value {
    color: #263f58 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-documents-card {
    border-color: #c8d9e7 !important;
    border-left-color: #315f82 !important;
    background: #f4f8fb !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-alert-document-preview-card {
    border-color: #b9cfdf !important;
    background: #fff !important;
}

/* A01-A10: brand row and body-portal menu must never overlap each other. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-header {
        z-index: 1600 !important;
    }

    html body.cx-design-system .cx-phase-17-8-row-menu-portal {
        z-index: 1550 !important;
    }
}

/* Alert list action contract. */
html body.cx-design-system .cx-alert-list-action--view:hover,
html body.cx-design-system .cx-alert-list-action--view:focus-visible {
    background: #315f82 !important;
    border-color: #315f82 !important;
    color: #fff !important;
}

html body.cx-design-system .cx-alert-list-action--answer:hover,
html body.cx-design-system .cx-alert-list-action--answer:focus-visible {
    background: #5f9c30 !important;
    border-color: #5f9c30 !important;
    color: #fff !important;
}

@media (min-width: 768px) {
    html body.cx-design-system .device-list-action-menu.show,
    html body.cx-design-system .conexgo-row-action-menu.show,
    html body.cx-design-system > .cx-phase-17-8-row-menu-portal.show {
        position: fixed !important;
        inset: auto !important;
        top: var(--cx-phase-17-8-row-menu-top) !important;
        left: var(--cx-phase-17-8-row-menu-left) !important;
        right: auto !important;
        bottom: auto !important;
        width: var(--cx-phase-17-8-row-menu-width) !important;
        min-width: var(--cx-phase-17-8-row-menu-width) !important;
        max-width: var(--cx-phase-17-8-row-menu-width) !important;
        max-height: var(--cx-phase-17-8-row-menu-max-height) !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        transform: none !important;
        translate: none !important;
        z-index: 1550 !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header,
    html body.cx-design-system .app-sidebar .side-header {
        position: fixed !important;
        z-index: 1600 !important;
    }
}

html body.cx-design-system .conexgo-alert-trigger.is-pending .conexgo-alert-icon,
html body.cx-design-system .alertqueue-badge.is-pending,
html body.cx-design-system .conexgo-alert-header-count.is-pending {
    color: #cc3657 !important;
}

html body.cx-design-system .alertqueue-badge.is-pending,
html body.cx-design-system .conexgo-alert-header-count.is-pending {
    background: #cc3657 !important;
    color: #fff !important;
}

html body.cx-design-system .conexgo-alert-trigger.is-in-progress .conexgo-alert-icon {
    color: #315f82 !important;
}

html body.cx-design-system .alertqueue-badge.is-in-progress,
html body.cx-design-system .conexgo-alert-header-count.is-in-progress {
    background: #315f82 !important;
    color: #fff !important;
}

html body.cx-design-system .conexgo-alert-trigger.is-clear .conexgo-alert-icon {
    color: #6c757d !important;
}

html body.cx-design-system .alertqueue-badge.is-clear,
html body.cx-design-system .conexgo-alert-header-count.is-clear {
    background: #6c757d !important;
    color: #fff !important;
}

/* Device Config: one authoritative desktop grid. The shared class placement
   (feature/customer/edit/value/email/sms/updated/toggle) remains unchanged;
   only the track sizes are balanced here. */
@media (min-width: 1400px) {
    html body.cx-design-system .device-config-card .device-config-main-header,
    html body.cx-design-system .device-config-card .device-config-sections-shell {
        width: 100% !important;
        max-width: 1320px !important;
        margin-inline: auto !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(160px, 1.05fr)
            42px
            minmax(135px, .90fr)
            minmax(245px, 1.45fr)
            minmax(145px, .82fr)
            minmax(220px, 1.20fr)
            40px !important;
        gap: 10px !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header {
        padding: 10px 14px !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content {
        padding: 11px 14px !important;
    }
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    html body.cx-design-system .device-config-card .device-config-main-header,
    html body.cx-design-system .device-config-card .device-config-sections-shell {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(145px, 1fr)
            40px
            minmax(115px, .80fr)
            minmax(210px, 1.30fr)
            minmax(125px, .75fr)
            minmax(180px, 1fr)
            38px !important;
        gap: 7px !important;
    }
}

html body.cx-design-system .device-config-card :is(
    .device-config-col-value,
    .device-config-col-email,
    .device-config-col-sms,
    .device-config-col-schedule,
    .device-config-col-updated
) {
    min-width: 0 !important;
    max-width: none !important;
    line-height: 1.42 !important;
}

html body.cx-design-system .device-config-card .device-config-col-email,
html body.cx-design-system .device-config-card .device-config-col-email * {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
}

html body.cx-design-system .device-config-card .device-config-col-sms,
html body.cx-design-system .device-config-card .device-config-col-sms * {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

html body.cx-design-system .device-config-card .device-config-col-updated {
    white-space: normal !important;
    overflow-wrap: break-word !important;
}

/* Tablet: do not squeeze seven desktop columns into a narrow content area. */
@media (min-width: 768px) and (max-width: 991.98px) {
    html body.cx-design-system .device-config-card .device-config-section-header {
        grid-template-columns: minmax(0, 1fr) 40px !important;
        gap: 8px !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header .device-config-col-feature {
        grid-column: 1 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header .device-config-col-toggle {
        grid-column: 2 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header .device-config-column-heading {
        display: none !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        gap: 9px 12px !important;
        align-items: start !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-customer {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-edit,
    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-edit--standalone {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-content: center !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-value,
    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-value--wide,
    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-value--geofence {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content :is(
        .device-config-col-email,
        .device-config-col-sms,
        .device-config-col-updated,
        .device-config-col-schedule
    ) {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        display: grid !important;
        grid-template-columns: 120px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding-top: 9px !important;
        border-top: 1px solid #e2e9ef !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content :is(
        .device-config-col-email,
        .device-config-col-sms,
        .device-config-col-updated,
        .device-config-col-schedule
    )::before {
        content: attr(data-label) !important;
        color: #52677a !important;
        font-size: .72rem !important;
        font-weight: 800 !important;
        letter-spacing: .035em !important;
        text-transform: uppercase !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-toggle {
        display: none !important;
    }
}

html body.cx-design-system .cx-alert-list-actions {
    gap: 6px !important;
}

html body.cx-design-system .cx-alert-list-action {
    flex: 0 0 auto !important;
    transform: none !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-type-filter {
    margin: 12px 0 14px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-panel {
    width: 100% !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-inline {
    float: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 2px 8px 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-option {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: transparent !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-option > input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    flex: 0 0 16px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-option .device-filter-label-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    flex: 0 0 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #dae5ee !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #4f7396 !important;
    font-size: 10.5px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-option:hover,
html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-option:focus-within {
    border-color: #d4e2ee !important;
    background: #f6faff !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-option:has(input[type="checkbox"]:checked) {
    border-color: #c9dbea !important;
    background: #f3f8fc !important;
}

@media (max-width: 1200px) {
    html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-inline {
        gap: 6px !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .cx-report-alert-filter-option {
        padding: 5px 6px !important;
        gap: 5px !important;
        font-size: 13.5px !important;
    }
}

html body.cx-design-system .cx-monthly-report-account-line {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex-wrap: wrap !important;
}

html body.cx-design-system .cx-monthly-report-duplicate-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 24px !important;
    padding: 3px 8px !important;
    border: 1px solid #c8d9e8 !important;
    border-radius: 999px !important;
    background: #f2f7fb !important;
    color: #315f82 !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-monthly-report-duplicate-badge i {
    font-size: 10px !important;
}

html body.cx-design-system .cx-report-standard-action--delete {
    background: #c94b4b !important;
}

html body.cx-design-system .cx-report-standard-action--delete:hover,
html body.cx-design-system .cx-report-standard-action--delete:focus-visible {
    background: #ad3d3d !important;
}

html body.cx-design-system .cx-report-standard-action--delete:disabled {
    opacity: .58 !important;
    cursor: wait !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target {
    grid-template-columns: 34px auto minmax(0, 1fr) max-content !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target .cx-monthly-report-duplicate-badge {
    justify-self: end !important;
}

@media (max-width: 1050px) {
    html body.cx-design-system .cx-report-subscribe-dialog .cx-r1878-report-target .cx-monthly-report-duplicate-badge {
        grid-column: 2 !important;
        justify-self: start !important;
    }
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-report-config-summary {
    margin: 8px 0 2px !important;
    padding: 8px 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    border: 1px solid #d6e3ed !important;
    border-radius: 9px !important;
    background: #f8fbfd !important;
    color: #46627a !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-report-config-summary__item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-width: 0 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-report-config-summary__item i {
    color: #527b9e !important;
    font-size: 11px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-report-config-summary__separator {
    color: #a4b7c8 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-duplicate-validation {
    margin: 14px 0 2px !important;
    padding: 11px 12px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
    border: 1px solid #e4b4b4 !important;
    border-left: 4px solid #c94b4b !important;
    border-radius: 9px !important;
    background: #fff7f7 !important;
    color: #7e3030 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-duplicate-validation > i {
    margin-top: 2px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-duplicate-validation > div {
    display: grid !important;
    gap: 2px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-duplicate-validation strong {
    font-size: 12.5px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-report-duplicate-validation span {
    font-size: 12px !important;
    line-height: 1.4 !important;
}

@media (max-width: 760px) {
    html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-report-config-summary {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 5px !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-report-config-summary__separator {
        display: none !important;
    }
}

/* 1) Remove red outlines/borders from invalid form controls inside dialogs only. */
.mud-dialog .form-control.invalid,
.mud-dialog .form-control.is-invalid,
.mud-dialog .form-select.invalid,
.mud-dialog .form-select.is-invalid,
.mud-dialog input.invalid:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.mud-dialog input.is-invalid:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.mud-dialog input[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.mud-dialog select.invalid,
.mud-dialog select.is-invalid,
.mud-dialog select[aria-invalid="true"],
.mud-dialog textarea.invalid,
.mud-dialog textarea.is-invalid,
.mud-dialog textarea[aria-invalid="true"],
.modal .form-control.invalid,
.modal .form-control.is-invalid,
.modal .form-select.invalid,
.modal .form-select.is-invalid,
.modal input.invalid:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.modal input.is-invalid:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.modal input[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.modal select.invalid,
.modal select.is-invalid,
.modal select[aria-invalid="true"],
.modal textarea.invalid,
.modal textarea.is-invalid,
.modal textarea[aria-invalid="true"],
[role="dialog"] .form-control.invalid,
[role="dialog"] .form-control.is-invalid,
[role="dialog"] .form-select.invalid,
[role="dialog"] .form-select.is-invalid,
[role="dialog"] input.invalid:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
[role="dialog"] input.is-invalid:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
[role="dialog"] input[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
[role="dialog"] select.invalid,
[role="dialog"] select.is-invalid,
[role="dialog"] select[aria-invalid="true"],
[role="dialog"] textarea.invalid,
[role="dialog"] textarea.is-invalid,
[role="dialog"] textarea[aria-invalid="true"] {
    outline: 0 !important;
    border-color: #c7d4df !important;
    box-shadow: none !important;
    background-image: none !important;
}

/* Keep the normal Conexgo focus treatment even when the value is invalid. */
.mud-dialog .form-control.invalid:focus,
.mud-dialog .form-control.is-invalid:focus,
.mud-dialog .form-select.invalid:focus,
.mud-dialog .form-select.is-invalid:focus,
.mud-dialog input.invalid:focus:not([type="checkbox"]):not([type="radio"]),
.mud-dialog input.is-invalid:focus:not([type="checkbox"]):not([type="radio"]),
.mud-dialog input[aria-invalid="true"]:focus:not([type="checkbox"]):not([type="radio"]),
.mud-dialog select[aria-invalid="true"]:focus,
.mud-dialog textarea[aria-invalid="true"]:focus,
.modal .form-control.invalid:focus,
.modal .form-control.is-invalid:focus,
.modal .form-select.invalid:focus,
.modal .form-select.is-invalid:focus,
.modal input.invalid:focus:not([type="checkbox"]):not([type="radio"]),
.modal input.is-invalid:focus:not([type="checkbox"]):not([type="radio"]),
.modal input[aria-invalid="true"]:focus:not([type="checkbox"]):not([type="radio"]),
.modal select[aria-invalid="true"]:focus,
.modal textarea[aria-invalid="true"]:focus,
[role="dialog"] .form-control.invalid:focus,
[role="dialog"] .form-control.is-invalid:focus,
[role="dialog"] .form-select.invalid:focus,
[role="dialog"] .form-select.is-invalid:focus,
[role="dialog"] input.invalid:focus:not([type="checkbox"]):not([type="radio"]),
[role="dialog"] input.is-invalid:focus:not([type="checkbox"]):not([type="radio"]),
[role="dialog"] input[aria-invalid="true"]:focus:not([type="checkbox"]):not([type="radio"]),
[role="dialog"] select[aria-invalid="true"]:focus,
[role="dialog"] textarea[aria-invalid="true"]:focus {
    outline: 0 !important;
    border-color: #6f8eac !important;
    box-shadow: 0 0 0 3px rgba(61, 98, 135, .12) !important;
}

/* Conexgo custom select/date controls: neutral shell, message carries the error state. */
.mud-dialog .cx-native-select.is-invalid,
.mud-dialog .cx-custom-select-trigger.is-invalid,
.mud-dialog .cx-date-picker-shell.is-invalid,
.modal .cx-native-select.is-invalid,
.modal .cx-custom-select-trigger.is-invalid,
.modal .cx-date-picker-shell.is-invalid,
[role="dialog"] .cx-native-select.is-invalid,
[role="dialog"] .cx-custom-select-trigger.is-invalid,
[role="dialog"] .cx-date-picker-shell.is-invalid {
    outline: 0 !important;
    border-color: #c7d4df !important;
    box-shadow: none !important;
}

/* MudBlazor outlined controls: do not paint the control frame red. */
.mud-dialog .mud-input-error .mud-input-outlined-border,
.mud-dialog .mud-input-root.mud-input-error .mud-input-outlined-border,
[role="dialog"] .mud-input-error .mud-input-outlined-border,
[role="dialog"] .mud-input-root.mud-input-error .mud-input-outlined-border {
    border-color: #c7d4df !important;
}

/* The old validation helper used a red pulse on the invalid field. Keep scroll/focus, drop the red pulse. */
.mud-dialog .cx-modal-validation-flash,
.modal .cx-modal-validation-flash,
[role="dialog"] .cx-modal-validation-flash {
    animation: none !important;
    scroll-margin-top: 92px !important;
    scroll-margin-bottom: 92px !important;
}

.mud-dialog input.cx-modal-validation-flash:not([type="checkbox"]):not([type="radio"]),
.mud-dialog select.cx-modal-validation-flash,
.mud-dialog textarea.cx-modal-validation-flash,
.modal input.cx-modal-validation-flash:not([type="checkbox"]):not([type="radio"]),
.modal select.cx-modal-validation-flash,
.modal textarea.cx-modal-validation-flash,
[role="dialog"] input.cx-modal-validation-flash:not([type="checkbox"]):not([type="radio"]),
[role="dialog"] select.cx-modal-validation-flash,
[role="dialog"] textarea.cx-modal-validation-flash,
.mud-dialog .cx-custom-select.cx-modal-validation-flash .cx-custom-select-trigger,
.mud-dialog .cx-date-picker-shell.cx-modal-validation-flash,
.mud-dialog .mud-input-slot.cx-modal-validation-flash,
.mud-dialog .mud-input-root.cx-modal-validation-flash,
.mud-dialog .mud-input-control.cx-modal-validation-flash,
.modal .cx-custom-select.cx-modal-validation-flash .cx-custom-select-trigger,
.modal .cx-date-picker-shell.cx-modal-validation-flash,
.modal .mud-input-slot.cx-modal-validation-flash,
.modal .mud-input-root.cx-modal-validation-flash,
.modal .mud-input-control.cx-modal-validation-flash,
[role="dialog"] .cx-custom-select.cx-modal-validation-flash .cx-custom-select-trigger,
[role="dialog"] .cx-date-picker-shell.cx-modal-validation-flash,
[role="dialog"] .mud-input-slot.cx-modal-validation-flash,
[role="dialog"] .mud-input-root.cx-modal-validation-flash,
[role="dialog"] .mud-input-control.cx-modal-validation-flash {
    border-color: #6f8eac !important;
    box-shadow: 0 0 0 3px rgba(61, 98, 135, .10) !important;
}

/* 2) One shared validation card for Blazor, Bootstrap, and Conexgo custom errors. */
.mud-dialog .validation-message,
.mud-dialog .field-validation-error,
.mud-dialog .cx-recipient-error,
.mud-dialog .invalid-feedback,
.modal .validation-message,
.modal .field-validation-error,
.modal .cx-recipient-error,
.modal .invalid-feedback,
[role="dialog"] .validation-message,
[role="dialog"] .field-validation-error,
[role="dialog"] .cx-recipient-error,
[role="dialog"] .invalid-feedback {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    margin-top: 7px !important;
    padding: 8px 11px !important;
    border: 1px solid #ebc4ca !important;
    border-left-width: 1px !important;
    border-radius: 8px !important;
    background: #fff8f8 !important;
    color: #9e2937 !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
}

.mud-dialog .validation-message::before,
.mud-dialog .field-validation-error::before,
.mud-dialog .cx-recipient-error::before,
.mud-dialog .invalid-feedback::before,
.modal .validation-message::before,
.modal .field-validation-error::before,
.modal .cx-recipient-error::before,
.modal .invalid-feedback::before,
[role="dialog"] .validation-message::before,
[role="dialog"] .field-validation-error::before,
[role="dialog"] .cx-recipient-error::before,
[role="dialog"] .invalid-feedback::before {
    content: "!" !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #c94352 !important;
    color: #ffffff !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

/* Blazor ValidationSummary: let each generated message use the same card without bullets/indentation. */
.mud-dialog ul.validation-errors,
.modal ul.validation-errors,
[role="dialog"] ul.validation-errors {
    display: grid !important;
    gap: 7px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.mud-dialog ul.validation-errors > li.validation-message,
.modal ul.validation-errors > li.validation-message,
[role="dialog"] ul.validation-errors > li.validation-message {
    margin-top: 0 !important;
}

/* Mobile: keep the icon/message treatment compact and readable. */
@media (max-width: 575.98px) {
    .mud-dialog .validation-message,
    .mud-dialog .field-validation-error,
    .mud-dialog .cx-recipient-error,
    .mud-dialog .invalid-feedback,
    .modal .validation-message,
    .modal .field-validation-error,
    .modal .cx-recipient-error,
    .modal .invalid-feedback,
    [role="dialog"] .validation-message,
    [role="dialog"] .field-validation-error,
    [role="dialog"] .cx-recipient-error,
    [role="dialog"] .invalid-feedback {
        align-items: flex-start !important;
        padding: 8px 10px !important;
        font-size: .82rem !important;
    }
}

/* --------------------------------------------------------------------------
   Alert Answer / View: Contacts, Emergency information and Documents are true
   peers.  The nested Documents component must not make its first-level button
   taller than the two direct buttons.
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row {
    align-items: stretch !important;
}

html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row > .alert-answer-toggle,
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .cx-alert-resource-documents .alert-answer-toggle-documents {
    width: 100% !important;
    min-width: 0 !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    line-height: 1.25 !important;
}

html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .cx-alert-resource-documents,
html body.cx-design-system
:is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .cx-alert-documents-toggle-row {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system
    :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
    .alert-answer-action-row > .alert-answer-toggle,
    html body.cx-design-system
    :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
    .alert-answer-action-row .cx-alert-resource-documents .alert-answer-toggle-documents {
        height: auto !important;
        min-height: 54px !important;
        max-height: none !important;
        padding: 10px 14px !important;
    }
}

/* --------------------------------------------------------------------------
   Geofence drawing workspace: explicit close affordance and visible, static
   hover states.  The primary Draw button used to be visually unchanged on
   hover because an older primary rule won the cascade after the hover rule.
   -------------------------------------------------------------------------- */
html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-close {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin-left: auto !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-close:is(:hover, :focus-visible) {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: #315f82 !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .16) !important;
    transform: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions .device-geofence-map-tool:not(:disabled) {
    transform: none !important;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions .device-geofence-map-tool--primary:not(:disabled):is(:hover, :focus-visible) {
    border-color: #244d6b !important;
    background: #244d6b !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(49, 95, 130, .13) !important;
    transform: none !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions .device-geofence-map-tool--success:not(:disabled):is(:hover, :focus-visible) {
    border-color: #4c8058 !important;
    background: #4f8963 !important;
    color: #ffffff !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions .device-geofence-map-tool:not(.device-geofence-map-tool--primary):not(.device-geofence-map-tool--success):not(.device-geofence-map-tool--danger):not(:disabled):is(:hover, :focus-visible) {
    border-color: #8eb4cf !important;
    background: #edf5fb !important;
    color: #244d70 !important;
}

html body.cx-design-system dialog.device-geofence-map-workspace
.cx-geofence-workspace-actions .device-geofence-map-tool--danger:not(:disabled):is(:hover, :focus-visible) {
    border-color: #b54e57 !important;
    background: #b54e57 !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   Alert list: slightly more generous than Bootstrap btn-sm, but deliberately
   below the old fixed 42x34 treatment that widened the ACTION column too much.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-alert-list-actions {
    gap: 6px !important;
}

html body.cx-design-system .cx-alert-list-action {
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 31px !important;
    min-height: 31px !important;
    max-height: 31px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    transform: none !important;
}

/* Monthly Reports: exact same geometry as the standard report actions. */
html body.cx-design-system .cx-monthly-report-list-card .cx-report-standard-action {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    transform: none !important;
}

@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-shell {
        z-index: 1600 !important;
        overflow: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern {
        padding-top: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        flex: 0 0 75px !important;
        flex-basis: 75px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf1f5 !important;
        opacity: 1 !important;
        visibility: visible !important;
        z-index: 1610 !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1 {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
        margin: 0 !important;
        padding: 0 0 0 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header
    .header-brand1 > .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 125px !important;
        width: 125px !important;
        min-width: 125px !important;
        max-width: 125px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu {
        position: relative !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        margin-top: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover) .side-header .header-brand1 {
        padding-left: 0 !important;
        justify-content: center !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern:not(:hover) .side-header
    .header-brand1 > .conexgo-sidebar-brand-primary {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------
   Manage Devices: follow the same calm fieldset/table language as Account
   Add/Edit.  No whole-panel lift/resize on hover and no presentation remains
   inline in the Razor file.
   -------------------------------------------------------------------------- */
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices {
    width: min(1180px, calc(100vw - 28px)) !important;
    max-width: min(1180px, calc(100vw - 28px)) !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .mud-dialog-content {
    max-height: min(78dvh, 820px) !important;
    padding: 14px 16px 16px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-shell,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-shell:hover {
    margin: 0 !important;
    padding: 16px 18px 18px !important;
    border: 1px solid #b8cfdf !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-loading {
    min-height: 180px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 12px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-loading__text,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-assignment-note {
    color: #6c7f90 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-toolbar {
    margin: 0 0 14px !important;
    grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.1fr) !important;
    gap: 14px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-summary,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-summary:hover {
    min-height: 48px !important;
    border-color: #d2e0ea !important;
    background: #f6f9fb !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel:hover {
    margin: 0 0 14px !important;
    border: 1px solid #cfdee9 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel:last-child {
    margin-bottom: 0 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel__header,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel:hover .conexgo-manage-devices-panel__header {
    min-height: 48px !important;
    background: #f3f7fa !important;
    color: #294f6d !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-panel--current .conexgo-manage-devices-panel__header {
    background: #eaf5fb !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-current-table-header > th {
    background: #eef8f3 !important;
    color: #31536e !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices table {
    width: 100% !important;
    table-layout: fixed !important;
    margin: 0 !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action-cell {
    width: 132px !important;
    min-width: 132px !important;
    vertical-align: middle !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-device {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-device__image {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    object-fit: contain !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-device__meta {
    color: #3d566d !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action-icon {
    margin-right: 5px !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-row > td {
    min-height: 52px !important;
    padding: 10px 12px !important;
    vertical-align: middle !important;
    transition: background-color .14s ease, color .14s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-row:is(:hover, :focus-within) > td {
    background: #eef6fb !important;
    color: #244e6e !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action,
html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action:not(:disabled):is(:hover, :focus-visible) {
    min-height: 36px !important;
    transform: none !important;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease !important;
}

html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-dialog-cancel:is(:hover, :focus-visible) {
    border-color: #9cb8cc !important;
    background: #edf5fa !important;
    color: #294f6d !important;
    transform: none !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-toolbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .mud-dialog.cx-r1-account-managedevices .conexgo-manage-devices-action-cell {
        width: auto !important;
        min-width: 0 !important;
    }
}

html body.cx-design-system .mud-dialog.cx-notification-view-dialog,
html body.cx-design-system .mud-dialog.cx-r1-notification-view {
    width: min(760px, calc(100vw - 32px)) !important;
    max-width: min(760px, calc(100vw - 32px)) !important;
    max-height: min(760px, calc(100dvh - 28px)) !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .mud-dialog.cx-notification-view-dialog .mud-dialog-content,
html body.cx-design-system .mud-dialog.cx-r1-notification-view .mud-dialog-content {
    padding: 12px 14px !important;
    overflow-x: hidden !important;
}

html body.cx-design-system .cx-notification-view-dialog .notification-view-form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
    gap: 9px !important;
}

html body.cx-design-system .cx-notification-view-dialog .notification-view-block {
    min-width: 0 !important;
    margin: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
}

html body.cx-design-system .cx-notification-view-dialog .notification-view-block-label {
    margin: 0 0 6px !important;
    color: #4e6478 !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

html body.cx-design-system .cx-notification-view-dialog .notification-view-priority-card {
    min-height: 52px !important;
    padding: 8px 11px !important;
    border-radius: 9px !important;
    box-shadow: 0 2px 8px rgba(39, 67, 94, .045) !important;
}

html body.cx-design-system .cx-notification-view-dialog .notification-view-title-box {
    min-height: 42px !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 9px !important;
}

html body.cx-design-system .cx-notification-view-dialog .notification-view-message-box {
    min-height: 84px !important;
    max-height: 210px !important;
    padding: 11px 13px !important;
    overflow: auto !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    border-radius: 9px !important;
    line-height: 1.55 !important;
}

html body.cx-design-system .cx-notification-view-dialog .notification-view-block--emergency-review,
html body.cx-design-system .cx-notification-view-dialog .notification-view-block--status {
    width: 100% !important;
    grid-column: auto !important;
}

html body.cx-design-system .cx-notification-view-dialog .cx-dialog-actions .cx-dialog-action {
    transform: none !important;
}

html body.cx-design-system .cx-notification-view-dialog .cx-dialog-actions .cx-dialog-action:is(:hover, :focus-visible) {
    transform: none !important;
    box-shadow: 0 3px 10px rgba(35, 74, 108, .13) !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system .mud-dialog.cx-notification-view-dialog,
    html body.cx-design-system .mud-dialog.cx-r1-notification-view {
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
    }
}

:root {
    --cx-layer-row-menu: 1350;
    --cx-layer-sidebar-overlay: 1390;
    --cx-layer-sidebar: 1400;
    --cx-layer-sidebar-brand: 1410;
    --cx-layer-dialog: 2010;
    --cx-layer-dialog-overlay-local: 1;
    --cx-layer-dialog-surface-local: 2;
}

/* --------------------------------------------------------------------------
   Global dialog authority.
   The overlay and dialog container must cover the complete application shell,
   including the sidebar and topbar. This fixes the apparent left clipping on
   Device Add/Edit, Notification View and every other MudDialog.
   -------------------------------------------------------------------------- */
html body.cx-design-system .mud-dialog-container {
    z-index: var(--cx-layer-dialog) !important;
    isolation: isolate !important;
}

/* MudBlazor 9.8 renders the overlay INSIDE .mud-dialog-container, before the
   dialog surface. Keep the two children in the framework's intended local
   order: scrim below, dialog above. Giving the overlay a page-level z-index
   would place it over the dialog and dim the dialog itself. */
html body.cx-design-system .mud-dialog-container > .mud-overlay.mud-overlay-dialog {
    z-index: var(--cx-layer-dialog-overlay-local) !important;
}

html body.cx-design-system .mud-dialog-container > .mud-dialog {
    position: relative !important;
    z-index: var(--cx-layer-dialog-surface-local) !important;
}

/* --------------------------------------------------------------------------
   Stable application layers.
   Row menus remain above tables, while the logo remains above row menus.
   Both remain below dialogs.
   -------------------------------------------------------------------------- */
html body.cx-design-system .app-sidebar__overlay {
    z-index: var(--cx-layer-sidebar-overlay) !important;
}

html body.cx-design-system .app-sidebar-shell,
html body.cx-design-system .app-sidebar-modern,
html body.cx-design-system .app-sidebar {
    z-index: var(--cx-layer-sidebar) !important;
}

html body.cx-design-system .app-sidebar-modern .side-header,
html body.cx-design-system .app-sidebar .side-header {
    z-index: var(--cx-layer-sidebar-brand) !important;
}

html body.cx-design-system .cx-phase-17-8-row-menu-portal,
html body.cx-design-system > .cx-phase-17-8-row-menu-portal.show {
    z-index: var(--cx-layer-row-menu) !important;
}

/* --------------------------------------------------------------------------
   Desktop brand geometry.
   NavHeader's canonical top shell is 74px high. The sidebar brand strip now
   uses the exact same height, while preserving the original 125x50 logo asset.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-header,
    html body.cx-design-system .app-sidebar .side-header {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 74px !important;
        flex-basis: 74px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 74px !important;
        min-height: 74px !important;
        max-height: 74px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #fff !important;
        border-bottom: 1px solid #e3e8ef !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1,
    html body.cx-design-system .app-sidebar .side-header .header-brand1 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 74px !important;
        min-height: 74px !important;
        max-height: 74px !important;
        margin: 0 !important;
        padding: 0 0 0 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #fff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    
    html body.cx-design-system.sidenav-toggled
        .app-sidebar-modern .side-header .header-brand1,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern .side-header .header-brand1 {
        padding-left: 0 !important;
        justify-content: center !important;
    }

    html body.cx-design-system:not(.sidenav-toggled)
        .app-sidebar-modern .side-header .header-brand1,
    html body.cx-design-system[data-cx-sidebar-state="expanded"]
        .app-sidebar-modern .side-header .header-brand1 {
        padding-left: 24px !important;
        justify-content: flex-start !important;
    }

    /* Class-state fallback first. */
    html body.cx-design-system:not(.sidenav-toggled)
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-expanded-source-v2 {
        display: block !important;
        width: 254px !important;
        min-width: 254px !important;
        max-width: 254px !important;
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
        opacity: 1 !important;
        visibility: visible !important;
        object-fit: contain !important;
        object-position: left center !important;
        transform: none !important;
    }

    html body.cx-design-system:not(.sidenav-toggled)
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-compact-source-v2 {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.cx-design-system.sidenav-toggled
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-expanded-source-v2 {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.cx-design-system.sidenav-toggled
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-compact-source-v2 {
        display: block !important;
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        height: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;
        margin: 0 auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        object-fit: contain !important;
        object-position: center !important;
        transform: none !important;
    }

    /* Explicit state wins if the legacy class is briefly stale during rendering. */
    html body.cx-design-system[data-cx-sidebar-state="expanded"]
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-expanded-source-v2 {
        display: block !important;
        width: 254px !important;
        min-width: 254px !important;
        max-width: 254px !important;
        height: 70px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="expanded"]
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-compact-source-v2,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-expanded-source-v2 {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern .side-header .header-brand1 > .cx-sidebar-brand-compact-source-v2 {
        display: block !important;
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        height: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;
        margin: 0 auto !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu {
        min-height: 0 !important;
        flex: 1 1 auto !important;
        margin-top: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
}

/* Mobile sidebar is still above the page but always below a MudDialog. */
@media (max-width: 991.98px) {
    html body.cx-design-system .app-sidebar__overlay {
        z-index: var(--cx-layer-sidebar-overlay) !important;
    }

    html body.cx-design-system .app-sidebar-modern,
    html body.cx-design-system .app-sidebar {
        z-index: var(--cx-layer-sidebar) !important;
    }
}

html body.cx-design-system .mud-dialog.cx-notification-view-dialog,
html body.cx-design-system .mud-dialog.cx-r1-notification-view {
    width: min(840px, calc(100vw - 32px)) !important;
    max-width: min(840px, calc(100vw - 32px)) !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-notification-view-dialog,
    html body.cx-design-system .mud-dialog.cx-r1-notification-view {
        width: calc(100vw - 14px) !important;
        max-width: calc(100vw - 14px) !important;
    }
}

:root {
    --cx-shell-header-height: 74px;
}

/* MudBlazor dialog backdrop: dim the application only, never the dialog. */
html body.cx-design-system .mud-dialog-container > .mud-overlay.mud-overlay-dialog {
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body.cx-design-system
    .mud-dialog-container > .mud-overlay.mud-overlay-dialog > .mud-overlay-scrim.mud-overlay-dark {
    border-color: rgba(24, 38, 56, .18) !important;
    background: rgba(24, 38, 56, .18) !important;
    background-color: rgba(24, 38, 56, .18) !important;
    opacity: 1 !important;
}

html body.cx-design-system .mud-dialog-container > .mud-dialog {
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
}

html body.cx-design-system .mud-popover.mud-picker-popover {
    z-index: 2040 !important;
}

@media (min-width: 992px) {
    
    html body.cx-design-system .app-sidebar-modern,
    html body.cx-design-system .app-sidebar {
        padding-top: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        z-index: 1400 !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header,
    html body.cx-design-system .app-sidebar .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar .side-header {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: var(--cx-shell-header-height) !important;
        min-height: var(--cx-shell-header-height) !important;
        max-height: var(--cx-shell-header-height) !important;
        flex: 0 0 var(--cx-shell-header-height) !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #fff !important;
        border-right: 1px solid #e3e8ef !important;
        border-bottom: 1px solid #e3e8ef !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        z-index: 1450 !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .side-header .conexgo-sidebar-brand-link {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 0 0 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
        background: #fff !important;
        text-decoration: none !important;
    }

    html body.cx-design-system .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 125px !important;
        width: 125px !important;
        min-width: 125px !important;
        max-width: 125px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    html body.cx-design-system .conexgo-sidebar-brand-compact {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    /* Branding follows the sidebar's measured rendered width. It does not
       depend on :hover or dropdown portal state. */
    html body.cx-design-system.cx-sidebar-visual-expanded
        .side-header .conexgo-sidebar-brand-link {
        padding-left: 24px !important;
        justify-content: flex-start !important;
    }

    html body.cx-design-system.cx-sidebar-visual-expanded
        .conexgo-sidebar-brand-primary {
        display: block !important;
    }

    html body.cx-design-system.cx-sidebar-visual-expanded
        .conexgo-sidebar-brand-compact {
        display: none !important;
    }

    html body.cx-design-system.cx-sidebar-visual-compact
        .side-header .conexgo-sidebar-brand-link {
        padding-left: 0 !important;
        justify-content: center !important;
    }

    html body.cx-design-system.cx-sidebar-visual-compact
        .conexgo-sidebar-brand-primary {
        display: none !important;
    }

    html body.cx-design-system.cx-sidebar-visual-compact
        .conexgo-sidebar-brand-compact {
        display: block !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu,
    html body.cx-design-system .app-sidebar .main-sidemenu {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        margin-top: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    html body.cx-design-system .app-header-modern,
    html body.cx-design-system .app-header.header {
        z-index: 1300 !important;
    }
}

/* Destructive Device action: semantic color only. Menu dimensions remain owned
   by the existing row-menu implementation. */
html body.cx-design-system .conexgo-row-action-menu .cx-row-menu-danger,
html body.cx-design-system .device-list-action-menu .cx-row-menu-danger {
    color: #b42318 !important;
    background: transparent !important;
    border: 0 !important;
    width: 100% !important;
    text-align: left !important;
    transform: none !important;
}

html body.cx-design-system .conexgo-row-action-menu .cx-row-menu-danger:is(:hover, :focus-visible),
html body.cx-design-system .device-list-action-menu .cx-row-menu-danger:is(:hover, :focus-visible) {
    color: #9f1f16 !important;
    background: #fff1f0 !important;
    transform: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-map-controller.is-visible {
    min-height: 0 !important;
    padding: 8px 14px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(240px, 340px) minmax(330px, 450px) !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 10px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border: 1px solid #cedde8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(39, 73, 98, .045) !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 340px !important;
    padding: 5px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    color: #294f6d !important;
    font-size: 12.75px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 8px !important;
    background: #f6f9fb !important;
    color: #527b99 !important;
    font-size: 13px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 450px !important;
    padding: 4px 6px !important;
    display: grid !important;
    grid-template-columns: auto minmax(160px, 1fr) auto !important;
    align-items: center !important;
    gap: 6px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-controls {
    gap: 4px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 7px !important;
    background: #f6f9fb !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-canvas-shell.is-empty,
html body.cx-design-system .device-map-empty-state {
    min-height: 210px !important;
}

html body.cx-design-system .device-map-empty-state {
    padding: 26px 20px !important;
}

html body.cx-design-system .device-map-empty-icon {
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 4px !important;
    border-radius: 12px !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        max-width: 520px !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-location-count {
        white-space: normal !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
    }

    html body.cx-design-system .device-map-canvas-shell.is-empty,
    html body.cx-design-system .device-map-empty-state {
        min-height: 190px !important;
    }
}

/* Edge/prod modal stacking recovery.
   Use descendant selectors as well as the direct-child rules from 17-9.8/9.9:
   Edge can paint the overlay through an intermediate wrapper differently from
   Chromium Chrome. The backdrop stays below the surface in all DOM variants. */
html body.cx-design-system .mud-dialog-container {
    isolation: isolate !important;
    z-index: 2200 !important;
}

html body.cx-design-system .mud-dialog-container .mud-overlay.mud-overlay-dialog {
    z-index: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body.cx-design-system .mud-dialog-container .mud-overlay.mud-overlay-dialog .mud-overlay-scrim.mud-overlay-dark {
    background: rgba(24, 38, 56, .18) !important;
    background-color: rgba(24, 38, 56, .18) !important;
    opacity: 1 !important;
}

html body.cx-design-system .mud-dialog-container .mud-dialog {
    position: relative !important;
    z-index: 2 !important;
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
}

/* Portaled Mud pickers must still appear above a dialog. */
html body.cx-design-system .mud-popover.mud-picker-popover {
    z-index: 2240 !important;
}

/* Data Log / Received B-DOT Config: readable operational typography. */
html body.cx-design-system .cx-data-log-popover-surface {
    width: min(620px, calc(100vw - 24px)) !important;
    max-width: min(620px, calc(100vw - 24px)) !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

html body.cx-design-system .cx-data-log-popover-prefix {
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-data-log-section-title {
    padding: 8px 10px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    letter-spacing: .02em !important;
}

html body.cx-design-system .cx-data-log-section-body {
    padding: 7px 10px !important;
}

html body.cx-design-system .cx-data-log-popover-row {
    min-height: 36px !important;
    padding: 7px 8px !important;
    grid-template-columns: minmax(170px, .46fr) minmax(0, .54fr) !important;
    gap: 14px !important;
    align-items: center !important;
}

html body.cx-design-system .cx-data-log-popover-key,
html body.cx-design-system .cx-data-log-popover-value {
    font-size: 14px !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .cx-data-log-popover-key {
    color: #31536f !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-data-log-popover-value {
    color: #243f59 !important;
    font-weight: 600 !important;
}

html body.cx-design-system .cx-data-log-raw-toggle > summary,
html body.cx-design-system .cx-data-log-raw-details,
html body.cx-design-system .cx-data-log-raw-toggle pre {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* DevOps 540 / Centrale: the account name is display text, not a second action.
   Keep the existing dropdown action toggle untouched. */
html body.cx-design-system .account-list-name-static {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    cursor: default !important;
    pointer-events: none !important;
    user-select: text !important;
    transform: none !important;
    box-shadow: none !important;
}

html body.cx-design-system .account-list-name-static:hover,
html body.cx-design-system .account-list-name-static:focus {
    transform: none !important;
    box-shadow: none !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-data-log-popover-surface {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
    }

    html body.cx-design-system .cx-data-log-popover-row {
        grid-template-columns: 1fr !important;
        gap: 3px !important;
    }
}

/* --------------------------------------------------------------------------
   Sidebar: keep the logo/header geometry unchanged. Remove only the extra
   whitespace between the bottom of the logo area and the first MAIN/PRINCIPAL
   navigation section. No negative margin or positional offset is used.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .main-sidemenu,
    html body.cx-design-system .app-sidebar .main-sidemenu {
        padding-top: 0 !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu > .sub-category:first-child,
    html body.cx-design-system .app-sidebar .side-menu > .sub-category:first-child {
        margin-top: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   Device Config desktop readability.
   The edit track contains a single pencil, so keep it compact and centered;
   return the recovered width to values and especially long email addresses.
   Tablet/mobile keep the existing stacked layout.
   -------------------------------------------------------------------------- */
@media (min-width: 1400px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(150px, .92fr)
            34px
            minmax(180px, 1.02fr)
            minmax(320px, 1.82fr)
            minmax(125px, .66fr)
            minmax(205px, 1fr)
            38px !important;
        gap: 8px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(145px, .90fr)
            34px
            minmax(155px, .95fr)
            minmax(280px, 1.68fr)
            minmax(115px, .65fr)
            minmax(185px, .95fr)
            38px !important;
        gap: 7px !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(130px, .88fr)
            34px
            minmax(140px, .94fr)
            minmax(230px, 1.52fr)
            minmax(105px, .64fr)
            minmax(165px, .92fr)
            36px !important;
        gap: 6px !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system .device-config-card .device-config-col-edit {
        min-width: 34px !important;
        width: 34px !important;
        max-width: 34px !important;
        justify-self: center !important;
        justify-content: center !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-edit:not(.device-config-col-edit--standalone) .device-config-edit-button {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        border-radius: 8px !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-edit:not(.device-config-col-edit--standalone) .device-config-edit-button > i {
        font-size: 18px !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-email,
    html body.cx-design-system .device-config-card .device-config-col-email * {
        min-width: 0 !important;
        max-width: none !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        hyphens: none !important;
        text-overflow: clip !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-value {
        min-width: 0 !important;
        max-width: none !important;
        overflow-wrap: break-word !important;
    }
}

/* --------------------------------------------------------------------------
   Data Log detail popover: the message/event title is the small data header.
   Use the existing Conexgo navy instead of adding another product color.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-data-log-popover-prefix {
    margin: -2px -2px 2px !important;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #315a7c !important;
    color: #ffffff !important;
    box-shadow: 0 2px 5px rgba(37, 72, 104, .12) !important;
}

html body.cx-design-system .cx-time-picker-v17-9 .cx-time-picker-select-root {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 0 !important;
}

html body.cx-design-system .cx-time-picker-v17-9 .cx-time-picker-select-root .cx-custom-select-trigger {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    font-variant-numeric: tabular-nums !important;
}

html body.cx-design-system .cx-time-picker-v17-9 .cx-time-picker-select-root .cx-custom-select-value {
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
}

html body.cx-design-system .cx-custom-select-menu.cx-time-picker-select-menu[popover] {
    max-height: min(320px, calc(100dvh - 32px)) !important;
    overscroll-behavior: contain !important;
}

html body.cx-design-system .cx-custom-select-menu.cx-time-picker-select-menu .cx-custom-select-option-label {
    font-variant-numeric: tabular-nums !important;
}

/* --------------------------------------------------------------------------
   Alert workflow.
   - Informational events use one green acknowledgement action.
   - The notification bell never jumps automatically.
   - The alert icon jumps only while there is at least one unanswered alert.
   -------------------------------------------------------------------------- */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action.is-acknowledge {
    min-width: 56px !important;
    width: auto !important;
    padding-inline: 14px !important;
    background: #78b842 !important;
    border-color: #659f35 !important;
    color: #ffffff !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action.is-acknowledge > * {
    color: #ffffff !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-classic-action.is-acknowledge:is(:hover, :focus-visible) {
    background: #69a63a !important;
    border-color: #5b9232 !important;
    color: #ffffff !important;
}

html body.cx-design-system .conexgo-notification-trigger.has-notifications .conexgo-notification-bell {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
}

html body.cx-design-system .conexgo-alert-trigger.has-alerts .conexgo-alert-icon,
html body.cx-design-system .conexgo-alert-trigger.is-in-progress .conexgo-alert-icon,
html body.cx-design-system .conexgo-alert-trigger.is-clear .conexgo-alert-icon {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
}

html body.cx-design-system .conexgo-alert-trigger.is-pending .conexgo-alert-icon {
    transform-origin: center bottom !important;
    animation: cx-r18988-bell-jump 1.05s ease-in-out infinite !important;
    will-change: transform !important;
}

html body.cx-design-system .conexgo-alert-filter.is-pending > .cx-alert-filter-bell {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
}

html body.cx-design-system .conexgo-alert-filter.is-pending.has-pending > .cx-alert-filter-bell {
    transform-origin: center bottom !important;
    animation: cx-r18988-bell-jump 1.05s ease-in-out infinite !important;
    will-change: transform !important;
}

/* --------------------------------------------------------------------------
   Support / operations: Formation (future) is deliberately a static card.
   It must not look or behave like a hidden link.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-support-hub__card.cx-support-hub__card--placeholder,
html body.cx-design-system .cx-support-hub__card.cx-support-hub__card--placeholder:is(:hover, :focus, :focus-visible) {
    cursor: default !important;
    transform: none !important;
    box-shadow: none !important;
    border-color: #e0e7ee !important;
    background: #ffffff !important;
    outline: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .conexgo-alert-trigger.is-pending .conexgo-alert-icon,
    html body.cx-design-system .conexgo-alert-filter.is-pending.has-pending > .cx-alert-filter-bell {
        animation: none !important;
        transform: none !important;
    }
}

/* --------------------------------------------------------------------------
   Alert resources: Documents must behave like the other emergency-resource
   panels. Keep the compact top action green, and let its expanded panel span
   the full resource row with the same geometry as Emergency Service Info.
   -------------------------------------------------------------------------- */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
:is(.alert-answer-action-row, .alert-view-resource-actions)
.cx-alert-resource-documents .cx-alert-documents-preview-list {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    margin: 0 !important;
    padding: 15px 17px !important;
    border: 1px solid #b9ddc3 !important;
    border-left: 4px solid #4b9461 !important;
    border-radius: 12px !important;
    background: #eef8f1 !important;
    color: #275f39 !important;
    box-shadow: 0 5px 18px rgba(47, 112, 71, .055) !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-documents-preview-list .cx-alert-resource-panel-title {
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: #327447 !important;
    font-weight: 850 !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-documents-preview-list .cx-alert-resource-empty {
    min-height: 64px !important;
    padding: 12px 13px !important;
    border: 1px solid rgba(75, 148, 97, .22) !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, .78) !important;
    color: #42654e !important;
}

/* --------------------------------------------------------------------------
   Header dropdown refinement: make Notifications slightly roomier without
   changing mobile behaviour, and give Alerts the same modern no-data language.
   -------------------------------------------------------------------------- */
@media (min-width: 621px) {
    html body.cx-design-system .conexgo-notification-dropdown {
        width: min(610px, calc(100vw - 36px)) !important;
        min-width: 560px !important;
        max-width: 610px !important;
    }

    html body.cx-design-system .conexgo-notification-list {
        max-height: 460px !important;
    }
}

html body.cx-design-system .conexgo-alert-empty--classic {
    min-height: 148px !important;
    padding: 24px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: 1px solid #dce8f0 !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8fb 100%) !important;
    color: #60778c !important;
    text-align: center !important;
}

html body.cx-design-system .conexgo-alert-empty-icon {
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cfe0ea !important;
    border-radius: 50% !important;
    background: #eef5fa !important;
    color: #315f82 !important;
    font-size: 18px !important;
}

html body.cx-design-system .conexgo-alert-empty-copy {
    display: grid !important;
    gap: 3px !important;
    max-width: 330px !important;
}

html body.cx-design-system .conexgo-alert-empty-copy strong {
    color: #35536e !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .conexgo-alert-empty-copy span {
    color: #74899c !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

/* --------------------------------------------------------------------------
   Monthly reports: compact the action track and allow the normal desktop
   viewport to use its available width instead of forcing a horizontal scrollbar.
   Responsive overflow remains available on smaller screens.
   -------------------------------------------------------------------------- */
@media (min-width: 1100px) {
    html body.cx-design-system .cx-monthly-report-list-card .cx-list-table-shell,
    html body.cx-design-system .cx-monthly-report-list-card .table-responsive {
        overflow-x: visible !important;
    }

    html body.cx-design-system .cx-monthly-report-list-card table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
    }

    html body.cx-design-system .cx-monthly-report-list-card th:first-child,
    html body.cx-design-system .cx-monthly-report-list-card td:first-child {
        width: 112px !important;
    }

    html body.cx-design-system .cx-monthly-report-list-card th:nth-child(2),
    html body.cx-design-system .cx-monthly-report-list-card td:nth-child(2) {
        width: 28% !important;
    }

    html body.cx-design-system .cx-monthly-report-list-card th:nth-child(3),
    html body.cx-design-system .cx-monthly-report-list-card td:nth-child(3) {
        width: 23% !important;
    }

    html body.cx-design-system .cx-monthly-report-list-card th:nth-child(4),
    html body.cx-design-system .cx-monthly-report-list-card td:nth-child(4) {
        width: 16% !important;
    }

    html body.cx-design-system .cx-monthly-report-list-card .cx-table-action-cell .btn-list {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        gap: 8px !important;
        margin: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   17-9.12 V2 — Alert Settings tabs
   Keep the existing alert artwork, but make every tab use the same geometry.
   The active state no longer recolors/inverts the PNG artwork: the icon stays
   legible inside a light tile while the tab label uses the active navy state.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-settings-page-alert .tab-menu-heading {
    padding: 10px !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs,
html body.cx-design-system .cx-settings-page-alert ul.panel-tabs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
    overflow: visible !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs > li,
html body.cx-design-system .cx-settings-page-alert ul.panel-tabs > li {
    min-width: 0 !important;
    width: 100% !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs > li > a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    line-height: 1.22 !important;
    white-space: normal !important;
}

html body.cx-design-system .cx-settings-page-alert .cx-settings-alert-tab-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 2px rgba(37, 72, 101, .04) !important;
}

html body.cx-design-system .cx-settings-page-alert .cx-settings-alert-tab-icon img,
html body.cx-design-system .cx-settings-page-alert .panel-tabs > li > a.active .cx-settings-alert-tab-icon img,
html body.cx-design-system .cx-settings-page-alert .panel-tabs > li.active > a .cx-settings-alert-tab-icon img,
html body.cx-design-system .cx-settings-page-alert .panel-tabs > li > a[aria-selected="true"] .cx-settings-alert-tab-icon img {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    flex: 0 0 24px !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
}

html body.cx-design-system .cx-settings-page-alert .cx-settings-alert-tab-label {
    min-width: 0 !important;
    display: block !important;
    overflow-wrap: anywhere !important;
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
}

html body.cx-design-system .cx-settings-page-alert .panel-tabs > li > a.active .cx-settings-alert-tab-icon,
html body.cx-design-system .cx-settings-page-alert .panel-tabs > li.active > a .cx-settings-alert-tab-icon,
html body.cx-design-system .cx-settings-page-alert .panel-tabs > li > a[aria-selected="true"] .cx-settings-alert-tab-icon {
    border-color: rgba(255, 255, 255, .82) !important;
    background: rgba(255, 255, 255, .96) !important;
}

@media (max-width: 1199.98px) {
    html body.cx-design-system .cx-settings-page-alert .panel-tabs,
    html body.cx-design-system .cx-settings-page-alert ul.panel-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-settings-page-alert .panel-tabs,
    html body.cx-design-system .cx-settings-page-alert ul.panel-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 479.98px) {
    html body.cx-design-system .cx-settings-page-alert .panel-tabs,
    html body.cx-design-system .cx-settings-page-alert ul.panel-tabs {
        grid-template-columns: 1fr !important;
    }
}

/* --------------------------------------------------------------------------
   Device row menu — destructive action must read as destructive before hover.
   The menu geometry is unchanged; only semantic color and emphasis are added.
   -------------------------------------------------------------------------- */
html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger {
    color: #b42318 !important;
    background: #fff5f3 !important;
    border: 1px solid #f4d2cd !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger .cx-row-menu-icon,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger .cx-row-menu-icon {
    color: #b42318 !important;
}

html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible),
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible) {
    color: #951d14 !important;
    background: #fee9e6 !important;
    border-color: #efb8b0 !important;
}

/* --------------------------------------------------------------------------
   Device Model delete dialog — align destructive confirmation with Account and
   Document delete dialogs instead of exposing a large legacy blank form.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-r1-device-model-delete .mud-dialog-content,
html body.cx-design-system .cx-r1-device-model-delete .cx-dialog-content {
    padding: 18px 20px 10px !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-section {
    margin: 0 !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-summary {
    min-height: 78px !important;
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    margin-top: 14px !important;
    padding: 14px 16px !important;
    border: 1px solid #d7e4ed !important;
    border-radius: 11px !important;
    background: #f7fafc !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-summary__icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cfdeea !important;
    border-radius: 10px !important;
    background: #edf5fa !important;
    color: #315f82 !important;
    font-size: 17px !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-summary__copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-summary__label {
    color: #6b8092 !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .025em !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-summary__copy strong {
    color: #274965 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-warning {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    margin-top: 12px !important;
    padding: 12px 14px !important;
    border: 1px solid #f0c9c4 !important;
    border-left: 4px solid #c4473b !important;
    border-radius: 10px !important;
    background: #fff7f6 !important;
    color: #8f3129 !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-warning > i {
    margin-top: 2px !important;
    color: #b42318 !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-warning > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-warning strong {
    font-size: 13px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-r1-device-model-delete .cx-device-model-delete-warning span {
    color: #9b4e47 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system .cx-r1-device-model-delete .mud-dialog-content,
    html body.cx-design-system .cx-r1-device-model-delete .cx-dialog-content {
        padding-inline: 12px !important;
    }
}

html body.cx-design-system .cx-data-log-popover-prefix {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body.cx-design-system .cx-data-log-popover-prefix > *,
html body.cx-design-system .cx-data-log-popover-prefix span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body.cx-design-system .cx-data-log-popover-prefix__icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, .34) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #ffffff !important;
    font-size: 13px !important;
}

/* --------------------------------------------------------------------------
   Device menu destructive action.
   Red must be obvious without making the resting item look permanently hovered.
   -------------------------------------------------------------------------- */
html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger {
    color: #b42318 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger .cx-row-menu-icon,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger .cx-row-menu-icon {
    color: #b42318 !important;
}

html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible),
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible) {
    color: #971f16 !important;
    background: #fff0ee !important;
    border: 0 !important;
    box-shadow: inset 3px 0 0 #c9473a !important;
}

html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger:active,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger:active {
    color: #861b13 !important;
    background: #ffe5e1 !important;
    box-shadow: inset 3px 0 0 #b9362a !important;
}

/* --------------------------------------------------------------------------
   Device-usage journal filters.
   Five practical filters should use the available width rather than leaving a
   large empty filter canvas below Account / Device.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-unified {
    min-height: 0 !important;
    padding: 10px 12px 12px !important;
}

html body.cx-design-system .cx-log-list-card--usage .cx-filter-disclosure-inner {
    min-height: 0 !important;
    padding-bottom: 12px !important;
}

html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 10px 12px !important;
}

html body.cx-design-system .cx-log-list-card--usage .device-filter-field {
    min-width: 0 !important;
}

@media (max-width: 1199.98px) {
    html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .main-sidemenu,
    html body.cx-design-system .app-sidebar .main-sidemenu {
        padding-right: 0 !important;
        scrollbar-gutter: auto !important;
        scrollbar-width: thin !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar,
    html body.cx-design-system .app-sidebar .main-sidemenu::-webkit-scrollbar {
        width: 6px !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar-track,
    html body.cx-design-system .app-sidebar .main-sidemenu::-webkit-scrollbar-track {
        background: transparent !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar-thumb,
    html body.cx-design-system .app-sidebar .main-sidemenu::-webkit-scrollbar-thumb {
        background: #b8c4cf !important;
        border-radius: 999px !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu,
    html body.cx-design-system .app-sidebar .side-menu {
        width: 100% !important;
        max-width: none !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu > .sub-category,
    html body.cx-design-system .app-sidebar .side-menu > .sub-category {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }
}

/* Dashboard cards must never look like an empty frozen surface while data is
   being refreshed. Existing loading flags now render an explicit centered
   progress affordance without changing card dimensions. */
html body.cx-design-system .conexgo-dashboard-loading-overlay {
    isolation: isolate !important;
}

html body.cx-design-system .conexgo-dashboard-loading-overlay::before {
    background: rgba(248, 250, 252, .82) !important;
    backdrop-filter: blur(1px) !important;
    z-index: 20 !important;
}

html body.cx-design-system .conexgo-dashboard-loading-overlay::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 46px !important;
    height: 46px !important;
    margin: -23px 0 0 -23px !important;
    box-sizing: border-box !important;
    border: 5px solid #dbe8f1 !important;
    border-top-color: #315a7c !important;
    border-left-color: #315a7c !important;
    border-radius: 12px !important;
    background: #eef5fa !important;
    box-shadow: 0 5px 14px rgba(44, 76, 108, .08) !important;
    animation: cx-conexgo-card-loader-spin .92s cubic-bezier(.45, 0, .55, 1) infinite !important;
    z-index: 21 !important;
    pointer-events: none !important;
}

html body.cx-design-system .conexgo-dashboard-card-loading {
    min-height: 150px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 22px 18px !important;
    color: #315a7c !important;
    text-align: center !important;
}

html body.cx-design-system .conexgo-dashboard-card-loading__spinner {
    width: 46px !important;
    height: 46px !important;
    box-sizing: border-box !important;
    border: 5px solid #dbe8f1 !important;
    border-top-color: #315a7c !important;
    border-left-color: #315a7c !important;
    border-radius: 12px !important;
    background: #eef5fa !important;
    box-shadow: 0 5px 14px rgba(44, 76, 108, .08) !important;
    animation: cx-conexgo-card-loader-spin .92s cubic-bezier(.45, 0, .55, 1) infinite !important;
}

html body.cx-design-system .conexgo-dashboard-card-loading__title {
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
}

html body.cx-design-system .conexgo-dashboard-card-loading__subtitle {
    max-width: 360px !important;
    color: #6c7f90 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

@keyframes cx-phase17912-card-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .conexgo-dashboard-loading-overlay::after,
    html body.cx-design-system .conexgo-dashboard-card-loading__spinner {
        animation-duration: 1.8s !important;
    }
}

html body.cx-design-system .account-list-name-static {
    pointer-events: auto !important;
    cursor: default !important;
    transition: background-color 130ms ease, border-color 130ms ease,
                color 130ms ease, box-shadow 130ms ease, transform 130ms ease !important;
}

html body.cx-design-system .account-list-name-static:hover {
    background: #f8fbfd !important;
    border-color: #b8d0df !important;
    color: #234b68 !important;
    box-shadow: 0 3px 10px rgba(35, 76, 105, .05) !important;
    transform: translateY(-1px) !important;
}

html body.cx-design-system .app-sidebar-modern .side-menu__label {
    min-width: 0 !important;
    max-width: none !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    line-height: 1.22 !important;
}

html body.cx-design-system .app-sidebar-modern .slide-menu {
    box-sizing: border-box !important;
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    min-width: 0 !important;
    margin-right: 10px !important;
    overflow: visible !important;
}

html body.cx-design-system .app-sidebar-modern .slide-menu > li {
    min-width: 0 !important;
    width: 100% !important;
}

html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 38px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.25 !important;
    align-items: flex-start !important;
}

/* Header filters are fixed structural rows, never part of the scrollable list.
   This avoids priority/status filters being hidden or overlapping the first row
   after a Blazor rerender or a Bootstrap dropdown reopen. */
html body.cx-design-system .conexgo-header-notifications .conexgo-notification-dropdown.show,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown.show {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
}

html body.cx-design-system .conexgo-header-notifications .conexgo-notification-dropdown:not(.show),
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown:not(.show) {
    display: none !important;
}

html body.cx-design-system .conexgo-header-notifications .conexgo-notification-filterbar,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar {
    position: relative !important;
    z-index: 8 !important;
    flex: 0 0 auto !important;
    min-height: 56px !important;
    overflow: visible !important;
    background: #f7fafc !important;
    border-bottom: 1px solid #d6e2eb !important;
    box-shadow: 0 1px 0 rgba(31, 61, 89, .03) !important;
}

html body.cx-design-system .conexgo-header-notifications .conexgo-notification-list,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-list {
    position: relative !important;
    z-index: 1 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}

/* Stronger two-column rhythm for all structured Data Log popovers. */
html body.cx-design-system .cx-data-log-popover-row {
    column-gap: 0 !important;
}

html body.cx-design-system .cx-data-log-popover-key {
    padding-right: 14px !important;
}

html body.cx-design-system .cx-data-log-popover-value {
    min-height: 22px !important;
    padding-left: 14px !important;
    border-left: 1px solid #d9e5ed !important;
}

/* B-DOT configuration is two logical devices, not one long flat list. */
html body.cx-design-system .cx-data-log-popover-content--bdot .cx-data-log-bdot-common {
    margin: 10px 12px 0 !important;
    padding: 2px 10px !important;
    border: 1px solid #dce7ef !important;
    border-radius: 10px !important;
    background: #f7fafc !important;
}

html body.cx-design-system .cx-data-log-bdot-groups {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 12px !important;
}

html body.cx-design-system .cx-data-log-bdot-fieldset {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 9px 10px 8px !important;
    border: 1px solid #cddde9 !important;
    border-radius: 11px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 7px rgba(31, 61, 89, .05) !important;
}

html body.cx-design-system .cx-data-log-bdot-fieldset > legend {
    width: auto !important;
    margin: 0 0 3px 2px !important;
    padding: 0 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #2d5677 !important;
    background: #ffffff !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

html body.cx-design-system .cx-data-log-bdot-fieldset__icon {
    color: #3a6d92 !important;
    font-size: 11px !important;
}

html body.cx-design-system .cx-data-log-bdot-fieldset__body {
    min-width: 0 !important;
}

html body.cx-design-system .cx-data-log-bdot-fieldset .cx-data-log-popover-row {
    grid-template-columns: minmax(92px, .45fr) minmax(0, .55fr) !important;
    min-height: 34px !important;
    padding-inline: 3px !important;
}

@media (max-width: 720px) {
    html body.cx-design-system .cx-data-log-bdot-groups {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .conexgo-header-notifications .conexgo-notification-filterbar,
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar {
        min-height: 0 !important;
    }

    html body.cx-design-system .cx-data-log-popover-value {
        padding-left: 0 !important;
        border-left: 0 !important;
    }
}

html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice) .cx-location-day-time-static {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    align-items: center !important;
    border: 1px solid #d7e3eb !important;
    border-radius: 8px !important;
    background: #f1f5f8 !important;
    color: #7a8d9c !important;
    overflow: hidden !important;
}

html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice) .cx-location-day-time-static > i {
    display: grid !important;
    place-items: center !important;
    min-height: 44px !important;
    color: #8ca2b2 !important;
}

html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice) .cx-location-day-time-static > i:first-child {
    border-right: 1px solid #e0e8ee !important;
}

html body.cx-design-system :is(.cx-r1-device-locationservice, .cx-r1-device-onlineservice) .cx-location-day-time-static > span {
    min-width: 0 !important;
    padding: 0 12px !important;
    font-weight: 700 !important;
}

html body.cx-design-system .cx-native-spinner {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
    border: 2px solid currentColor !important;
    border-right-color: transparent !important;
    border-radius: 50% !important;
    animation: cx-v8-spin .7s linear infinite !important;
}

html body.cx-design-system .cx-dialog-button-spinner {
    width: 14px !important;
    height: 14px !important;
    flex-basis: 14px !important;
}

@keyframes cx-v8-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .cx-native-spinner {
        animation-duration: 1.5s !important;
    }
}

html body.cx-design-system .conexgo-header-notifications .conexgo-notification-filterbar,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filterbar {
    position: relative !important;
    top: auto !important;
    inset: auto !important;
    z-index: 5 !important;
    flex: 0 0 auto !important;
    min-height: 64px !important;
    overflow: visible !important;
}

html body.cx-design-system .conexgo-header-notifications .conexgo-notification-list,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-list {
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}

@media (min-width: 992px) {
    html body.cx-design-system .device-config-card .device-config-col-email,
    html body.cx-design-system .device-config-card .device-config-col-email * {
        font-size: .92rem !important;
        line-height: 1.25 !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-updated {
        padding-right: 8px !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-toggle {
        min-width: 44px !important;
        width: 44px !important;
        max-width: 44px !important;
        justify-self: end !important;
    }
}

/* Call Center split rows keep the same restrained hover language as the
   standard Account / Device name controls. No click/action is added. */
html body.cx-design-system .account-list-cell-name .account-list-name-static,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:has(.account-list-name-static) > .account-list-name-static {
    cursor: default !important;
    transform: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}

html body.cx-design-system .account-list-cell-name .account-list-name-static:hover,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:has(.account-list-name-static):hover > .account-list-name-static {
    background: #f5f9fc !important;
    border-color: #bfd3e2 !important;
    color: #244963 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Long navigation and row-menu labels break at words first. This prevents
   French/English labels from looking jagged or splitting in the middle of a word. */
html body.cx-design-system .app-sidebar-modern .side-menu__label,
html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
    text-wrap: pretty !important;
    line-height: 1.32 !important;
}

html body.cx-design-system .app-sidebar-modern .slide-menu {
    width: calc(100% - 22px) !important;
    max-width: calc(100% - 22px) !important;
    margin-right: 4px !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-wrap: pretty !important;
    line-height: 1.3 !important;
    align-items: flex-start !important;
}

html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item > :is(i, span[class*="fa"]) {
    margin-top: 2px !important;
}

/* Alert Queue mirrors Notification filters: each selected status keeps its
   semantic colour and simply becomes a darker version of that same tone. */
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter.is-pending.is-selected,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter.is-pending.is-selected:is(:hover, :focus-visible) {
    background: #865900 !important;
    background-color: #865900 !important;
    border-color: #684500 !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 3px 8px rgba(92,62,0,.16) !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter.is-progress.is-selected,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter.is-progress.is-selected:is(:hover, :focus-visible) {
    background: #2b5b7f !important;
    background-color: #2b5b7f !important;
    border-color: #214660 !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 3px 8px rgba(32,70,96,.16) !important;
}

html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter.is-done.is-selected,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-filter.is-done.is-selected:is(:hover, :focus-visible) {
    background: #2f7043 !important;
    background-color: #2f7043 !important;
    border-color: #245834 !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 3px 8px rgba(36,88,52,.15) !important;
}

/* Alert resource buttons also darken within their existing red/blue/green
   family while open. They no longer jump to an unrelated active colour. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .alert-answer-toggle-danger:is(.active, [aria-expanded="true"]) {
    background: #9f3028 !important;
    background-color: #9f3028 !important;
    border-color: #81251f !important;
    color: #ffffff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) {
    background: #274f6d !important;
    background-color: #274f6d !important;
    border-color: #1f425c !important;
    color: #ffffff !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.alert-answer-action-row .alert-answer-toggle-documents:is(.active, [aria-expanded="true"]) {
    background: #327447 !important;
    background-color: #327447 !important;
    border-color: #285d39 !important;
    color: #ffffff !important;
}

/* Monthly reports: genuinely compact icon actions. The previous 42x40 size
   remained visually dominant; V11 intentionally moves these to 34x34. */
html body.cx-design-system .cx-monthly-report-list-card .cx-report-standard-action {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    border-radius: 7px !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

html body.cx-design-system .cx-monthly-report-list-card .cx-table-action-cell .btn-list {
    gap: 6px !important;
}

@media (min-width: 1100px) {
    html body.cx-design-system .cx-monthly-report-list-card th:first-child,
    html body.cx-design-system .cx-monthly-report-list-card td:first-child {
        width: 90px !important;
    }
}

html body.cx-design-system .cx-monthly-report-list-card td:nth-child(2) {
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-wrap: pretty !important;
    line-height: 1.35 !important;
}

html body.cx-design-system .cx-data-log-bdot-groups {
    align-items: start !important;
}

html body.cx-design-system .cx-data-log-bdot-fieldset {
    break-inside: avoid !important;
}

html body.cx-design-system .cx-data-log-raw-toggle[open] {
    margin-top: 12px !important;
    border: 1px solid #cfdde8 !important;
    border-radius: 10px !important;
    background: #f8fbfd !important;
    overflow: hidden !important;
}

html body.cx-design-system .cx-data-log-raw-toggle[open] > summary {
    padding: 10px 12px !important;
    background: #edf4f9 !important;
    color: #294f70 !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-data-log-raw-toggle[open] > pre {
    max-height: min(42vh, 360px) !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card,
    html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-minimized-card {
        height: auto !important;
        min-height: 76px !important;
        max-height: none !important;
        overflow: visible !important;
        resize: none !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card .conexgo-dashboard-card-header-surface,
    html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-minimized-card .conexgo-dashboard-card-header-surface {
        display: flex !important;
        align-items: center !important;
        min-height: 74px !important;
        height: auto !important;
        overflow: visible !important;
        padding-block: 10px !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card .conexgo-dashboard-card-header,
    html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-minimized-card .conexgo-dashboard-card-header {
        width: 100% !important;
        min-height: 52px !important;
        align-items: center !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card .conexgo-dashboard-card-title,
    html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-minimized-card .conexgo-dashboard-card-title {
        margin: 0 !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

/* Usage-log filter disclosure: same compact rhythm as other list pages. */
html body.cx-design-system .cx-log-list-card--usage .cx-filter-disclosure-toggle {
    min-height: 52px !important;
    height: 52px !important;
    padding: 8px 14px !important;
    align-items: center !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-filter-disclosure-heading {
    min-height: 34px !important;
    align-items: center !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-filter-disclosure-region {
    min-height: 0 !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-filter-disclosure[data-expanded="false"] .cx-filter-disclosure-region {
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-filter-disclosure-inner {
    padding: 8px 12px 10px !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-unified {
    padding: 0 !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-toolbar {
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-toolbar {
    justify-content: flex-start !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-toolbar .device-filter-toolbar-actions {
    order: -1 !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-toolbar .device-filter-summary {
    order: 0 !important;
}
html body.cx-design-system .cx-log-list-card--usage .cx-log-filter-grid {
    gap: 8px 10px !important;
}

/* Call Center rows use the same tiny lift/soft shadow as other account names. */
html body.cx-design-system .account-list-cell-name .account-list-name-static {
    transition: background-color .15s ease, border-color .15s ease, color .15s ease,
                box-shadow .15s ease, transform .15s ease !important;
}
html body.cx-design-system .account-list-cell-name .account-list-name-static:hover,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:has(.account-list-name-static):hover > .account-list-name-static {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(39, 74, 105, .10) !important;
}

/* Device row dropdown deletion: same semantic danger treatment as Account. */
html body.cx-design-system .device-list-action-menu .cx-row-menu-danger,
html body.cx-design-system .conexgo-row-action-menu .cx-row-menu-danger {
    border-left: 3px solid transparent !important;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease,
                transform .15s ease !important;
}
html body.cx-design-system .device-list-action-menu .cx-row-menu-danger:is(:hover, :focus-visible),
html body.cx-design-system .conexgo-row-action-menu .cx-row-menu-danger:is(:hover, :focus-visible) {
    transform: translateX(1px) !important;
    border-left-color: #c9473a !important;
}

/* Sidebar: a single icon rail, a single label rail and a stable chevron rail. */
@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern .side-menu__item {
        display: grid !important;
        grid-template-columns: 52px minmax(0, 1fr) 24px !important;
        align-items: center !important;
        column-gap: 0 !important;
        min-height: 58px !important;
        padding: 6px 10px !important;
    }
    html body.cx-design-system .app-sidebar-modern .side-menu__icon {
        grid-column: 1 !important;
        justify-self: center !important;
        margin: 0 !important;
    }
    html body.cx-design-system .app-sidebar-modern .side-menu__label {
        grid-column: 2 !important;
        margin: 0 !important;
        padding: 0 8px !important;
        text-align: left !important;
    }
    html body.cx-design-system .app-sidebar-modern .side-menu__item > .angle {
        grid-column: 3 !important;
        justify-self: center !important;
        margin: 0 !important;
    }
    html body.cx-design-system .app-sidebar-modern .slide-menu {
        margin-left: 54px !important;
        width: calc(100% - 68px) !important;
        max-width: calc(100% - 68px) !important;
        padding: 6px 0 !important;
    }
    html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item {
        display: block !important;
        padding: 9px 12px 9px 20px !important;
        text-indent: 0 !important;
        overflow: visible !important;
    }
}

/* Device Config: reserve the collapse arrow inside the card and give email room. */
@media (min-width: 992px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        padding-right: 12px !important;
    }
    html body.cx-design-system .device-config-card .device-config-col-toggle {
        min-width: 42px !important;
        width: 42px !important;
        max-width: 42px !important;
        padding-right: 0 !important;
        justify-content: center !important;
        justify-self: center !important;
    }
    html body.cx-design-system .device-config-card .device-config-collapse-button {
        margin: 0 !important;
        inset: auto !important;
        transform: none !important;
    }
    html body.cx-design-system .device-config-card .device-config-col-email,
    html body.cx-design-system .device-config-card .device-config-col-email * {
        font-size: .88rem !important;
        line-height: 1.22 !important;
    }
}

/* User-enabled line is one aligned unit, not three visually unrelated columns. */
html body.cx-design-system .cx-device-user-enabled-row {
    align-items: start !important;
}
html body.cx-design-system .cx-device-user-enabled-label {
    text-align: right !important;
    padding-top: 8px !important;
}
html body.cx-design-system .cx-device-user-enabled-control {
    display: block !important;
}
html body.cx-design-system .cx-device-user-enabled-stack {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 5px !important;
    min-width: 0 !important;
}
html body.cx-design-system .cx-device-user-enabled-stack .cx-r1-device-switch-description {
    margin: 0 !important;
    padding: 0 !important;
    color: #5d7185 !important;
    line-height: 1.35 !important;
}
@media (max-width: 767.98px) {
    html body.cx-design-system .cx-device-user-enabled-label {
        text-align: left !important;
        padding-top: 0 !important;
    }
}

/* Device Config B-DOT presentation: compact mini-cards per beacon. */
html body.cx-design-system .device-config-col-value .cx-device-dots-item {
    display: grid !important;
    gap: 5px !important;
    margin: 7px 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #d4e1eb !important;
    border-radius: 9px !important;
    background: #f8fbfd !important;
}
html body.cx-design-system .device-config-col-value .cx-device-dots-item__status {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}
html body.cx-design-system .device-config-col-value .cx-device-dots-item__status strong {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}
html body.cx-design-system .device-config-col-value .cx-device-dots-item__meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 9px !important;
    color: #5a7085 !important;
    font-size: .82rem !important;
}
html body.cx-design-system .device-config-col-value .cx-device-dots-item__meta > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
html body.cx-design-system .device-config-col-value .cx-device-dots-item.is-connected {
    border-left: 3px solid #3a8b59 !important;
}
html body.cx-design-system .device-config-col-value .cx-device-dots-item.is-disconnected {
    border-left: 3px solid #c45a50 !important;
}

/* Alert map open/close: symmetric collapse motion in both directions. */
html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view)
:is(.alert-answer-map-wrap,.alert-view-map-wrap) {
    transition:
        border-color .30s ease,
        background-color .30s ease,
        box-shadow .30s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view)
:is(.alert-answer-map-wrap,.alert-view-map-wrap) .cx-alert-map-collapse {
    display: grid !important;
    grid-template-rows: 1fr;
    opacity: 1;
    transition:
        grid-template-rows .34s cubic-bezier(.22, 1, .36, 1),
        opacity .24s ease .04s !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view)
.cx-alert-map-collapse-inner {
    min-height: 0 !important;
    overflow: hidden !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view)
:is(.alert-answer-map-wrap,.alert-view-map-wrap).is-collapsed .cx-alert-map-collapse {
    grid-template-rows: 0fr;
    opacity: 0;
    pointer-events: none;
    transition:
        grid-template-rows .34s cubic-bezier(.22, 1, .36, 1),
        opacity .20s ease !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer,.cx-dialog--alert-view)
:is(.alert-answer-map-wrap,.alert-view-map-wrap).is-expanded {
    box-shadow: 0 5px 16px rgba(38, 75, 107, .08) !important;
}

/* Geofence workspace buttons keep their semantic colour and darken smoothly. */
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool {
    transition: background-color .16s ease, border-color .16s ease, color .16s ease,
                box-shadow .16s ease, transform .16s ease !important;
}
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool:hover:not(:disabled) {
    transform: translateY(-1px) !important;
}
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool.is-finish,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool[data-action="finish"] {
    background-color: #5e936b !important;
    border-color: #5e936b !important;
    color: #fff !important;
}
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool.is-finish:hover,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool[data-action="finish"]:hover {
    background-color: #4c7d59 !important;
    border-color: #4c7d59 !important;
}
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool.is-delete,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool[data-action="delete"] {
    color: #ad3f49 !important;
    border-color: #e4aeb4 !important;
    background: #fff7f7 !important;
}
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool.is-delete:hover,
html body.cx-design-system dialog.device-geofence-map-workspace .device-geofence-map-tool[data-action="delete"]:hover {
    color: #8f3039 !important;
    border-color: #d78f98 !important;
    background: #fdecec !important;
}

/* Alert document management: missing files are visible but cannot open a dead viewer. */
html body.cx-design-system .cx-alert-document-no-attachment {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    max-width: 150px !important;
    padding: 5px 8px !important;
    border-radius: 7px !important;
    background: #f4f6f8 !important;
    color: #748496 !important;
    font-size: .74rem !important;
    font-weight: 700 !important;
}
html body.cx-design-system .cx-alert-document-preview-card.is-unavailable {
    cursor: default !important;
    opacity: .66 !important;
    filter: none !important;
}
html body.cx-design-system .conexgo-document-view-state.is-empty-attachment {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
    padding: 28px !important;
    color: #64788c !important;
    text-align: center !important;
}
html body.cx-design-system .conexgo-document-view-state.is-empty-attachment > i {
    font-size: 1.65rem !important;
    color: #7d91a4 !important;
}

/* Monthly report actions: compact, secondary to the report content. */
html body.cx-design-system .cx-monthly-report-list-card .cx-report-standard-action {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    border-radius: 7px !important;
}
html body.cx-design-system .cx-monthly-report-list-card .cx-table-action-cell .btn-list {
    gap: 5px !important;
}

/* Header dropdowns: enough room for long titles without becoming oversized. */
@media (min-width: 768px) {
    html body.cx-design-system .conexgo-header-notifications .conexgo-notification-dropdown {
        width: min(560px, calc(100vw - 32px)) !important;
        max-width: 560px !important;
    }
    html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown {
        width: min(590px, calc(100vw - 32px)) !important;
        max-width: 590px !important;
    }
}

/* Mobile dashboard minimized cards: guarantee the whole title is visible. */
@media (max-width: 767.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card,
    html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-minimized-card {
        min-height: 88px !important;
    }
    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card .conexgo-dashboard-card-header-surface,
    html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-minimized-card .conexgo-dashboard-card-header-surface {
        min-height: 86px !important;
        padding: 12px 10px !important;
    }
    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card .conexgo-dashboard-card-title,
    html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-minimized-card .conexgo-dashboard-card-title {
        display: block !important;
        max-height: none !important;
        min-height: 0 !important;
        padding: 2px 4px !important;
        font-size: .95rem !important;
        line-height: 1.28 !important;
        overflow: visible !important;
    }
}

/* Data-log popover: raw JSON remains pinned while scrolling inside it. */
html body.cx-design-system .cx-data-log-popover-surface {
    overscroll-behavior: contain !important;
}
html body.cx-design-system .cx-data-log-popover-surface .cx-data-log-raw-toggle[open] {
    position: relative !important;
    z-index: 1 !important;
}

/* Login photo: preserve native aspect ratio and avoid a stretched worker. */
@media (min-width: 992px) {
    .auth-page::before {
        background-size: auto 100% !important;
        background-position: right center !important;
    }
}

html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger {
    color: #a44952 !important;
    background: #fff7f8 !important;
    border: 1px solid #dab0b5 !important;
    border-left-width: 1px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease,
                box-shadow .15s ease !important;
}
html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger .cx-row-menu-icon,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger .cx-row-menu-icon {
    color: #a44952 !important;
    transition: color .15s ease !important;
}
html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible),
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible) {
    color: #913d46 !important;
    background: #fceff1 !important;
    border-color: #ca9da3 !important;
    border-left-color: #ca9da3 !important;
    box-shadow: 0 3px 9px rgba(164, 73, 82, .10) !important;
    transform: none !important;
    outline: none !important;
}
html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible) .cx-row-menu-icon,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger:is(:hover, :focus-visible) .cx-row-menu-icon {
    color: #913d46 !important;
}
html body.cx-design-system .device-list-action-menu .dropdown-item.cx-row-menu-danger:active,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item.cx-row-menu-danger:active {
    color: #823640 !important;
    background: #f9e7ea !important;
    border-color: #c28f96 !important;
    box-shadow: inset 0 1px 2px rgba(130, 54, 64, .08) !important;
    transform: none !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-servers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    flex: 0 0 auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}
html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transform: none !important;
    translate: none !important;
    transition:
        background-color .20s cubic-bezier(.22, 1, .36, 1),
        border-color .20s cubic-bezier(.22, 1, .36, 1),
        color .20s cubic-bezier(.22, 1, .36, 1),
        box-shadow .20s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon:is(:hover, :focus-visible, :active),
html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon[aria-expanded="true"] {
    background: #f8fbfd !important;
    border-color: #cbd8e4 !important;
    color: #2f5a7c !important;
    box-shadow: 0 3px 9px rgba(44, 76, 108, .06) !important;
    transform: none !important;
    translate: none !important;
}

html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon > i.fa-server {
    animation: none !important;
    transform: none !important;
    transition: color .20s cubic-bezier(.22, 1, .36, 1) !important;
}
html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon > .fa-server {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
}
@media (min-width: 992px) {
    html body.cx-design-system .app-header-modern .conexgo-header-servers,
    html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
    }
}

/* --------------------------------------------------------------------------
   Administration list — Device_List is the visual reference.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-administration-page {
    min-width: 0 !important;
}

html body.cx-design-system .cx-administration-list-card {
    overflow: visible !important;
    border: 1px solid #d8e4ed !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(35, 67, 94, .06) !important;
}

html body.cx-design-system .cx-administration-toolbar {
    min-height: 58px !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-radius: 11px 11px 0 0 !important;
    background: #315979 !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-administration-toolbar .cx-list-toolbar-row {
    min-height: 42px !important;
    align-items: center !important;
}

html body.cx-design-system .cx-administration-toolbar .cx-list-back-slot,
html body.cx-design-system .cx-administration-toolbar .cx-list-search {
    align-items: center !important;
}

html body.cx-design-system .cx-administration-toolbar .cx-list-back-slot :is(button, a) {
    border-color: rgba(255, 255, 255, .45) !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-administration-toolbar .cx-list-back-slot :is(button, a):is(:hover, :focus-visible) {
    border-color: rgba(255, 255, 255, .78) !important;
    background: rgba(255, 255, 255, .18) !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-administration-search-slot,
html body.cx-design-system .cx-administration-search-slot label {
    width: min(100%, 390px) !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-administration-list-activity {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-administration-summary {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 14px !important;
    padding: 10px 2px !important;
    border-bottom: 1px solid #e2ebf2 !important;
    color: #5c7489 !important;
    font-size: 13px !important;
}

html body.cx-design-system .cx-administration-summary strong {
    color: #284d6b !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-administration-summary-icon {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #cfdeea !important;
    border-radius: 8px !important;
    background: #eef6fb !important;
    color: #315f82 !important;
}

html body.cx-design-system .cx-administration-card-body {
    padding: 12px 14px 16px !important;
    overflow: visible !important;
}

html body.cx-design-system .cx-administration-table-responsive,
html body.cx-design-system .cx-administration-table-responsive .dataTables_wrapper,
html body.cx-design-system .cx-administration-table-responsive .conexgo-list-data-row {
    overflow: visible !important;
}

html body.cx-design-system .cx-administration-user-row > td {
    vertical-align: middle !important;
}

html body.cx-design-system .cx-administration-action-group {
    width: min(100%, 380px) !important;
}

html body.cx-design-system .cx-administration-user-button {
    min-width: 0 !important;
    justify-content: flex-start !important;
}

html body.cx-design-system .cx-administration-user-avatar {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #d1e0eb !important;
    border-radius: 8px !important;
    background: #eef6fb !important;
    color: #315f82 !important;
    font-size: 12px !important;
}

html body.cx-design-system .cx-administration-email-cell {
    max-width: 360px !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

html body.cx-design-system .cx-administration-role-pill {
    min-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 5px 10px !important;
    border: 1px solid #cedde8 !important;
    border-radius: 999px !important;
    background: #f5f9fc !important;
    color: #4e6e87 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-administration-role-pill.is-master {
    border-color: #a9c9df !important;
    background: #eaf5fb !important;
    color: #285b7d !important;
}

html body.cx-design-system .cx-administration-id {
    display: inline-flex !important;
    padding: 5px 8px !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 7px !important;
    background: #f8fafc !important;
    color: #61788c !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: 12px !important;
}

html body.cx-design-system .cx-administration-mobile-meta {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px 9px !important;
    margin-top: 7px !important;
    padding-left: 4px !important;
    color: #637b90 !important;
    font-size: 12px !important;
}

html body.cx-design-system .cx-administration-error {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    border-radius: 9px !important;
}

/* --------------------------------------------------------------------------
   Administration user modal — same modal grammar as Device_AddEdit.
   -------------------------------------------------------------------------- */
html body .mud-dialog .mud-dialog-title.cx-modal-title-administration::before,
html body .mud-dialog .dialog-background-title.cx-modal-title-administration::before {
    content: "\f4fe" !important;
}

html body.cx-design-system .cx-administration-user-dialog .cx-administration-user-section {
    margin: 0 !important;
}

html body.cx-design-system .cx-administration-user-dialog .cx-r1-form-row {
    align-items: center !important;
}

html body.cx-design-system .cx-administration-user-dialog .cx-readonly-value {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 8px 11px !important;
    border: 1px solid #d4e1ea !important;
    border-radius: 8px !important;
    background: #f6f9fb !important;
    color: #345671 !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .cx-administration-dialog-id {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: 12px !important;
}

html body.cx-design-system .cx-administration-dialog-help {
    display: block !important;
    margin-top: 6px !important;
    color: #75899a !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
}

html body.cx-design-system .cx-administration-dialog-error {
    display: flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
    margin: 8px 0 14px !important;
    padding: 10px 12px !important;
    border: 1px solid #efc7c2 !important;
    border-left: 4px solid #c9473a !important;
    border-radius: 8px !important;
    background: #fff7f6 !important;
    color: #96372f !important;
    font-size: 12.5px !important;
}

html body.cx-design-system .cx-administration-dialog-loading {
    min-height: 180px !important;
    display: grid !important;
    place-items: center !important;
}

/* --------------------------------------------------------------------------
   Device emergency-contact review — align action with the 9-column control rail.
   The old rule pushed it to the far right of the whole fieldset.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 25%) minmax(0, 75%) !important;
        align-items: center !important;
        justify-content: stretch !important;
        margin: 4px 0 14px !important;
        padding: 0 !important;
    }

    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch .cx-device-emergency-editor-button {
        grid-column: 2 !important;
        justify-self: start !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch {
        width: 100% !important;
        display: block !important;
        margin: 4px 0 12px !important;
        padding: 0 !important;
    }

    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch .cx-device-emergency-editor-button {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        margin: 0 !important;
        white-space: normal !important;
        text-align: center !important;
    }
}

/* --------------------------------------------------------------------------
   Sidebar — stable text rail, correct wrapping, and true icon centering when
   collapsed. These selectors intentionally override the late desktop grid rule.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .side-menu__item {
        grid-template-columns: 52px minmax(0, 1fr) 24px !important;
        align-items: center !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu__label {
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        line-height: 1.25 !important;
    }

    html body.cx-design-system .app-sidebar-modern .slide-menu {
        margin-left: 58px !important;
        width: calc(100% - 70px) !important;
        padding: 5px 0 !important;
    }

    html body.cx-design-system .app-sidebar-modern .slide-menu li {
        min-width: 0 !important;
    }

    html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 12px minmax(0, 1fr) !important;
        align-items: start !important;
        column-gap: 7px !important;
        margin: 0 !important;
        padding: 9px 10px !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: none !important;
        line-height: 1.28 !important;
    }

    html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item::before {
        grid-column: 1 !important;
        align-self: start !important;
        width: 12px !important;
        min-width: 12px !important;
        margin: 0 !important;
        padding: 1px 0 0 !important;
        line-height: 1.28 !important;
        text-align: center !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__item,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) a.side-menu__item {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 64px !important;
        display: flex !important;
        grid-template-columns: none !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 7px 0 !important;
        text-align: center !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__icon {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 48px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__icon::before {
        margin: 0 !important;
        line-height: 1 !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) :is(.side-menu__label, .angle, .slide-menu, .sub-category) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .slide {
        width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Keep the server icon on the same closed-state center rail as adjacent topbar icons. */
@media (min-width: 992px) {
    html body.cx-design-system .app-header-modern .conexgo-header-servers {
        min-width: 38px !important;
        height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        float: none !important;
        margin: 0 !important;
        line-height: 1 !important;
    }

    html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
    }

    html body.cx-design-system .app-header-modern .conexgo-header-servers > .nav-link.icon > i.fa-server {
        width: 16px !important;
        min-width: 16px !important;
        margin: 0 !important;
        line-height: 1 !important;
        text-align: center !important;
    }
}

/* --------------------------------------------------------------------------
   Mobile dashboard recovery.
   site.css contains older 54px fixed-height rules with high specificity. Use
   equal/higher specificity here so minimized cards keep their title and have no
   orphan white strip above the blue header.
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid,
    html body.cx-design-system .conexgo-dashboard-configuration-row,
    html body.cx-design-system .cx-dashboard-page {
        min-width: 0 !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item:has(> .conexgo-dashboard-minimized-card) {
        height: auto !important;
        min-height: 68px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-resizable-card.conexgo-dashboard-minimized-card,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card {
        height: auto !important;
        min-height: 68px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 1px solid #d5e3ec !important;
        border-radius: 11px !important;
        background: #eaf5fb !important;
        box-shadow: 0 4px 12px rgba(36, 72, 101, .07) !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 68px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 10px 10px 10px 12px !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 10px !important;
        background: #eaf5fb !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface::before,
    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface::after,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface::before,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface::after {
        display: none !important;
        content: none !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card .conexgo-dashboard-card-header,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card .conexgo-dashboard-card-header {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card .conexgo-dashboard-card-title,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card .conexgo-dashboard-card-title {
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        display: block !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        color: #244b6b !important;
        -webkit-text-fill-color: #244b6b !important;
        opacity: 1 !important;
        visibility: visible !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        text-overflow: clip !important;
        font-size: clamp(12px, 3.25vw, 14px) !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card .conexgo-dashboard-card-action,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card .conexgo-dashboard-card-action {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        flex: 0 0 32px !important;
        margin: 0 !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card > .card-body,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .card-body {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid .conexgo-dashboard-minimized-card :is(.ui-resizable-handle, [class*="resize-handle"], [class*="resizable-handle"]),
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card :is(.ui-resizable-handle, [class*="resize-handle"], [class*="resizable-handle"]) {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------
   Small-screen administration refinements.
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
    html body.cx-design-system .cx-administration-toolbar {
        padding: 8px !important;
    }

    html body.cx-design-system .cx-administration-toolbar .cx-list-toolbar-row {
        gap: 7px !important;
    }

    html body.cx-design-system .cx-administration-search-slot,
    html body.cx-design-system .cx-administration-search-slot label {
        width: 100% !important;
    }

    html body.cx-design-system .cx-administration-summary {
        margin-inline: 10px !important;
    }

    html body.cx-design-system .cx-administration-card-body {
        padding: 10px !important;
    }

    html body.cx-design-system .cx-administration-action-group {
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.cx-design-system .cx-administration-mobile-meta > span:first-child {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
    }
}

/* Device Add/Edit: align User Enabled with the exact form label/control rails. */
html body.cx-design-system .cx-device-user-enabled-row {
    align-items: center !important;
}
html body.cx-design-system .cx-device-user-enabled-label {
    padding-top: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-height: 44px !important;
}
html body.cx-design-system .cx-device-user-enabled-control {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
}
html body.cx-design-system .cx-device-user-enabled-stack {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
}
html body.cx-design-system .cx-device-user-enabled-stack .cx-switch,
html body.cx-design-system .cx-device-user-enabled-stack .form-switch {
    grid-row: 1 / span 2 !important;
    margin: 0 !important;
}
html body.cx-design-system .cx-device-user-enabled-stack .cx-r1-device-switch-description {
    grid-column: 2 !important;
    margin: 0 !important;
    align-self: center !important;
}
@media (max-width: 767.98px) {
    html body.cx-design-system .cx-device-user-enabled-label {
        justify-content: flex-start !important;
        min-height: auto !important;
    }
    html body.cx-design-system .cx-device-user-enabled-stack {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }
}

/* Device Config: make the disclosure controls clearly visible and contained. */
html body.cx-design-system .device-config-card .device-config-col-toggle {
    min-width: 46px !important;
    width: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}
html body.cx-design-system .device-config-card .device-config-collapse-button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    border: 1px solid #9eb7ca !important;
    border-radius: 9px !important;
    background: #f7fbfe !important;
    color: #25597d !important;
    box-shadow: 0 1px 2px rgba(31, 73, 105, .08) !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}
html body.cx-design-system .device-config-card .device-config-collapse-button:hover,
html body.cx-design-system .device-config-card .device-config-section-header:hover .device-config-collapse-button {
    background: #e7f1f8 !important;
    border-color: #6f9bb9 !important;
    color: #173f5d !important;
}
html body.cx-design-system .device-config-card .device-config-collapse-button svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    stroke-width: 2.6px !important;
}

/* Device Map: make the full settings rail a single coherent blue toolbar. */
html body.cx-design-system .device-map-settings {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 64px !important;
    min-height: 54px !important;
    background: #315b7f !important;
    border: 1px solid #2b5273 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar,
html body.cx-design-system .device-map-settings .setting-header {
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    float: none !important;
    background: #315b7f !important;
    border: 0 !important;
    color: #fff !important;
}
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .dashboard,
html body.cx-design-system .device-map-settings .setting-header .dashboard {
    min-height: 54px !important;
    background: transparent !important;
}
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .dashboard > li,
html body.cx-design-system .device-map-settings .setting-header .dashboard > li {
    border-left-color: rgba(255,255,255,.22) !important;
}
html body.cx-design-system .device-map-settings .setting-header-config {
    width: 64px !important;
    min-width: 64px !important;
    min-height: 54px !important;
    margin: 0 !important;
    float: none !important;
    background: #315b7f !important;
    border-left: 1px solid rgba(255,255,255,.22) !important;
}
html body.cx-design-system .device-map-settings .setting-header-config .dashboard,
html body.cx-design-system .device-map-settings .setting-header-config .dashboard-item,
html body.cx-design-system .device-map-settings .setting-header-config a {
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}
html body.cx-design-system .device-map-settings .setting-header-config a {
    color: #fff !important;
}
html body.cx-design-system .device-map-settings .setting-header-config a:hover,
html body.cx-design-system .device-map-settings .setting-header-config a:focus {
    background: #244d6d !important;
    color: #fff !important;
}
html body.cx-design-system .device-map-settings .conexgo-device-history-select,
html body.cx-design-system .device-map-settings .setting-header select {
    background: #fff !important;
    color: #173f5d !important;
    border-color: rgba(255,255,255,.65) !important;
}

/* Connection/Location modal: don't flash default schedule values while DB state loads. */
html body.cx-design-system .cx-device-config-initial-loading {
    min-height: 260px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 36px 20px !important;
}

@media (max-width: 991.98px) {
    html body.cx-design-system .device-map-settings {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar,
    html body.cx-design-system .device-map-settings .setting-header {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system .device-map-settings .setting-header-config {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
    }
}

/* Sidebar expanded ONLY: preserve a clear visual gap between the icon rail and label.
   Compact hover must never borrow expanded geometry. */
@media (min-width: 992px) {
    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .side-menu__item {
        grid-template-columns: 48px minmax(0, 1fr) 24px !important;
        column-gap: 11px !important;
    }

    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .side-menu__icon {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        margin: 0 !important;
        justify-self: center !important;
    }

    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .side-menu__label {
        padding-left: 0 !important;
        margin-left: 0 !important;
        align-self: center !important;
    }

    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .side-menu__item > .angle {
        justify-self: end !important;
        margin-left: 0 !important;
    }
}

/* Administration toolbar: search owns the far-right rail like Device_List. */
html body.cx-design-system .cx-administration-toolbar .cx-list-toolbar-row {
    width: 100% !important;
}

html body.cx-design-system .cx-administration-toolbar .cx-list-search {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    padding-left: 16px !important;
}

html body.cx-design-system .cx-administration-search-slot {
    width: min(100%, 520px) !important;
    margin-left: auto !important;
}

html body.cx-design-system .cx-administration-search-slot label {
    width: 100% !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-administration-list-activity {
    margin-left: auto !important;
    justify-content: flex-end !important;
}

/* Administration filters: use the same density and grid grammar as Device filters. */
html body.cx-design-system .cx-administration-filter-panel {
    margin: 0 !important;
}

html body.cx-design-system .cx-administration-filter-panel .device-filter-toolbar {
    min-height: 50px !important;
    gap: 12px !important;
}

html body.cx-design-system .cx-administration-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

html body.cx-design-system .cx-administration-filter-panel .device-filter-field {
    min-width: 0 !important;
}

html body.cx-design-system .cx-administration-filter-panel .device-filter-control {
    width: 100% !important;
}

/* Strong role distinction in the Administration table. */
html body.cx-design-system .cx-administration-role-pill.is-master {
    border-color: #9eb7e6 !important;
    background: #edf2ff !important;
    color: #304f9b !important;
    box-shadow: inset 0 0 0 1px rgba(48, 79, 155, .04) !important;
}

html body.cx-design-system .cx-administration-role-pill.is-user {
    border-color: #a8d7bf !important;
    background: #edf9f2 !important;
    color: #2d6c4d !important;
    box-shadow: inset 0 0 0 1px rgba(45, 108, 77, .04) !important;
}

html body.cx-design-system .cx-administration-role-pill.is-master i,
html body.cx-design-system .cx-administration-role-pill.is-user i {
    color: currentColor !important;
}

/* Keep the PagedList wait state comfortably visible on user interactions. */
html body.cx-design-system .cx-administration-table-responsive .conexgo-pagedlist-loading {
    min-height: 220px !important;
    display: grid !important;
    place-items: center !important;
}

html body.cx-design-system .report-list-card .cx-report-row-action,
html body.cx-design-system .cx-monthly-report-list-card .cx-report-row-action,
html body.cx-design-system .cx-monthly-report-list-card .cx-monthly-report-row-action,
html body.cx-design-system .cx-monthly-report-list-card .cx-report-standard-action,
html body.cx-design-system .report-list-card .cx-report-standard-action {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    border-radius: 7px !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

html body.cx-design-system .report-list-card .btn-list,
html body.cx-design-system .cx-monthly-report-list-card .btn-list {
    gap: 9px !important;
}

/* Responsive filter and search stacking. */
@media (max-width: 991.98px) {
    html body.cx-design-system .cx-administration-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-administration-toolbar .cx-list-search {
        width: 100% !important;
        padding-left: 0 !important;
    }

    html body.cx-design-system .cx-administration-search-slot {
        width: 100% !important;
        max-width: none !important;
    }

    html body.cx-design-system .cx-administration-filter-grid {
        grid-template-columns: 1fr !important;
    }

    html body.cx-design-system .cx-administration-filter-panel .device-filter-toolbar {
        align-items: stretch !important;
    }

    html body.cx-design-system .cx-administration-filter-panel .device-filter-reset {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* --------------------------------------------------------------------------
   Header popups — same visual family as Alert / Notification, slightly smaller.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
    html body.cx-design-system .conexgo-header-operators .conexgo-operator-dropdown {
        width: min(460px, calc(100vw - 32px)) !important;
        min-width: 420px !important;
        max-width: 460px !important;
        max-height: min(520px, calc(100dvh - 96px)) !important;
    }

    html body.cx-design-system .conexgo-header-servers .conexgo-servers-dropdown {
        width: min(480px, calc(100vw - 32px)) !important;
        min-width: 430px !important;
        max-width: 480px !important;
        max-height: min(560px, calc(100dvh - 96px)) !important;
    }

    html body.cx-design-system .conexgo-header-profile .conexgo-profile-dropdown {
        width: min(390px, calc(100vw - 32px)) !important;
        min-width: 350px !important;
        max-width: 390px !important;
    }

    html body.cx-design-system .conexgo-header-language .conexgo-language-dropdown {
        width: min(360px, calc(100vw - 32px)) !important;
        min-width: 330px !important;
        max-width: 360px !important;
    }
}

html body.cx-design-system .conexgo-header-operators .conexgo-operator-dropdown,
html body.cx-design-system .conexgo-header-servers .conexgo-servers-dropdown,
html body.cx-design-system .conexgo-header-profile .conexgo-profile-dropdown,
html body.cx-design-system .conexgo-header-language .conexgo-language-dropdown {
    border: 1px solid #d9e1e8 !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 32px rgba(31, 61, 89, .14) !important;
}

html body.cx-design-system .conexgo-header-operators .message-menu-scroll,
html body.cx-design-system .conexgo-header-servers .conexgo-servers-dropdown > div:last-child {
    max-height: min(430px, calc(100dvh - 190px)) !important;
    scrollbar-width: thin;
    overscroll-behavior: contain;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .conexgo-header-operators .conexgo-operator-dropdown,
    html body.cx-design-system .conexgo-header-servers .conexgo-servers-dropdown,
    html body.cx-design-system .conexgo-header-profile .conexgo-profile-dropdown,
    html body.cx-design-system .conexgo-header-language .conexgo-language-dropdown {
        width: calc(100vw - 16px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 16px) !important;
        margin-inline: 8px !important;
    }
}

/* --------------------------------------------------------------------------
   Device Add/Edit — User Enabled uses the exact same two-column form rails.
   The legacy switch row declared three grid tracks while the Razor has two
   children; that pushed the switch away from the normal input control rail.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    html body.cx-design-system .cx-r1-device-addedit .cx-modal-group-v21--device-general .cx-device-user-enabled-row {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(190px, 225px) minmax(0, 1fr) !important;
        column-gap: 18px !important;
        align-items: center !important;
    }

    html body.cx-design-system .cx-r1-device-addedit .cx-modal-group-v21--device-general .cx-device-user-enabled-row > .cx-device-user-enabled-label,
    html body.cx-design-system .cx-r1-device-addedit .cx-modal-group-v21--device-general .cx-device-user-enabled-row > .cx-device-user-enabled-control {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    html body.cx-design-system .cx-r1-device-addedit .cx-device-user-enabled-label {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        text-align: right !important;
        min-height: 44px !important;
        padding-top: 0 !important;
    }

    html body.cx-design-system .cx-r1-device-addedit .cx-device-user-enabled-control {
        display: flex !important;
        align-items: center !important;
        min-height: 44px !important;
    }

    html body.cx-design-system .cx-r1-device-addedit .cx-device-user-enabled-stack {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 14px !important;
    }

    html body.cx-design-system .cx-r1-device-addedit .cx-device-user-enabled-stack .cx-switch {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    html body.cx-design-system .cx-r1-device-addedit .cx-device-user-enabled-stack .cx-r1-device-switch-description {
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 991.98px) {
    html body.cx-design-system .cx-r1-device-addedit .cx-device-user-enabled-label {
        justify-content: flex-start !important;
        text-align: left !important;
    }

    html body.cx-design-system .cx-r1-device-addedit .cx-device-user-enabled-stack {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 10px !important;
    }
}

/* --------------------------------------------------------------------------
   Device Add/Edit — emergency review launcher follows the same 3/9 field rail.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch {
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-top: 4px !important;
    margin-right: calc(-.5 * var(--bs-gutter-x)) !important;
    margin-bottom: 14px !important;
    margin-left: calc(-.5 * var(--bs-gutter-x)) !important;
    padding: 0 !important;
}

html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-control {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
}

html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-button {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    grid-column: auto !important;
    justify-self: auto !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-spacer {
        display: none !important;
    }

    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-control {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-button {
        width: 100% !important;
        justify-content: center !important;
        white-space: normal !important;
        text-align: center !important;
    }
}

/* --------------------------------------------------------------------------
   Emergency-contact automation — coherent buttons and restrained hover states.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-automation-actions {
    gap: 10px !important;
    align-items: stretch !important;
}

html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-automation-action {
    min-height: 42px !important;
    padding: 9px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 8px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}

html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-automation-action--save {
    border: 1px solid #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-automation-action--save:is(:hover, :focus-visible) {
    border-color: #274e6b !important;
    background: #274e6b !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-automation-action--send {
    border: 1px solid #9bbbd1 !important;
    background: #f3f8fc !important;
    color: #25597d !important;
}

html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-automation-action--send:is(:hover, :focus-visible) {
    border-color: #7ea6c1 !important;
    background: #e7f1f8 !important;
    color: #173f5d !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .cx-emergency-review-dialog .cx-emergency-automation-action:disabled {
    opacity: .58 !important;
    cursor: not-allowed !important;
}

/* --------------------------------------------------------------------------
   Call-center / operator Contact List — same semantic palette as Alert resources.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-card--contacts {
    border-color: #efc3bf !important;
    border-left-color: #ca3d32 !important;
    background: #fff1ef !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-card--contacts .cx-device-config-readonly-label {
    color: #9d2f27 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-card--emergency {
    border-color: #c5d8e8 !important;
    border-left-color: #315f82 !important;
    background: #eef5fa !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-card--emergency .cx-device-config-readonly-label {
    color: #315f82 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-documents-card {
    border-color: #bdddc6 !important;
    border-left-color: #4b9461 !important;
    background: #eef8f1 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-documents-card .cx-device-config-readonly-label {
    color: #327447 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-documents-card .cx-alert-document-preview-card {
    border-color: #c8dfce !important;
    background: #ffffff !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-device-contactlist-documents-card .cx-alert-document-preview-card:hover {
    border-color: #9fc6aa !important;
    background: #f8fcf9 !important;
    transform: none !important;
}

/* --------------------------------------------------------------------------
   DEVICE MAP — keep the top status/config row separate from history results.
   Previous grid rules placed the history controller in the 64px config rail.
   -------------------------------------------------------------------------- */
html body.cx-design-system .device-map-settings {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 142px !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    min-width: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
}

html body.cx-design-system .device-map-settings > .conexgo-device-setting-toolbar,
html body.cx-design-system .device-map-settings > .setting-header {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    border: 1px solid #2b5273 !important;
    border-right: 0 !important;
    background: #315b7f !important;
}

html body.cx-design-system .device-map-settings > .setting-header-config {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 142px !important;
    min-width: 142px !important;
    max-width: 142px !important;
    border: 1px solid #2b5273 !important;
    border-left-color: rgba(255,255,255,.20) !important;
    background: #315b7f !important;
}

html body.cx-design-system .device-map-settings > .conexgo-history-panel,
html body.cx-design-system .device-map-settings > .setting_header:not(#map-controller) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid #cad9e5 !important;
    border-top: 0 !important;
    background: #f8fbfd !important;
}

html body.cx-design-system .device-map-settings > #map-controller,
html body.cx-design-system .device-map-settings > .conexgo-map-controller {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #cad9e5 !important;
    border-top: 0 !important;
    background: #eef5fa !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-config-link {
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-size: .86rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-config-link > :is(i, svg, .svg-inline--fa) {
    color: #ffffff !important;
    fill: currentColor !important;
    font-size: 1.08rem !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-config-link:hover,
html body.cx-design-system .device-map-settings .conexgo-device-config-link:focus-visible {
    background: #244d6d !important;
    color: #fff !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(250px, .8fr) minmax(420px, 1.2fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback,
html body.cx-design-system .device-map-settings .conexgo-history-result-note {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 62px !important;
    margin: 0 !important;
    border: 1px solid #c7d9e7 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #294f6d !important;
    box-shadow: 0 2px 8px rgba(39,73,98,.06) !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #d5e2eb !important;
    border-radius: 10px !important;
    background: #f3f8fb !important;
    color: #326a95 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-copy {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    line-height: 1.25 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-copy strong {
    font-size: .88rem !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-copy span {
    color: #607589 !important;
    font-size: .78rem !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    padding: 7px 9px !important;
    display: grid !important;
    grid-template-columns: auto minmax(150px, 1fr) auto !important;
    align-items: center !important;
    gap: 9px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 9px !important;
    background: #f6f9fb !important;
    color: #355b78 !important;
    font-size: .82rem !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #bed1df !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #245b82 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step:hover:not(:disabled) {
    border-color: #6f9fbe !important;
    background: #eaf3f8 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step:disabled,
html body.cx-design-system .device-map-settings .conexgo-history-step[aria-disabled="true"] {
    border-color: #dce5eb !important;
    background: #f5f7f9 !important;
    color: #a5b2bd !important;
    cursor: default !important;
    opacity: .72 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-result-note {
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #536c80 !important;
    font-size: .84rem !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-result-note.is-empty {
    background: #fbfcfd !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-result-note.is-route {
    background: #f4f9fc !important;
    color: #2e6288 !important;
}

/* Multiple SSIDs are intentionally stacked instead of collapsing to `n/a`. */
html body.cx-design-system .device-map-wifi-location {
    min-height: 50px !important;
    align-items: flex-start !important;
}
html body.cx-design-system .device-map-wifi-location > div {
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 16px !important;
    padding-block: 1px !important;
}
html body.cx-design-system .device-map-wifi-location > div > span {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 1100px) {
    html body.cx-design-system .device-map-settings {
        grid-template-columns: minmax(0, 1fr) 58px !important;
    }
    html body.cx-design-system .device-map-settings > .setting-header-config {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
    }
    html body.cx-design-system .device-map-settings .conexgo-device-config-link {
        padding: 0 !important;
    }
    html body.cx-design-system .device-map-settings .conexgo-device-config-link-label {
        display: none !important;
    }
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 700px) {
    html body.cx-design-system .device-map-settings {
        display: block !important;
    }
    html body.cx-design-system .device-map-settings > .conexgo-device-setting-toolbar,
    html body.cx-design-system .device-map-settings > .setting-header {
        border-right: 1px solid #2b5273 !important;
    }
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        grid-template-columns: 1fr !important;
    }
    html body.cx-design-system .device-map-settings .conexgo-history-playback-controls {
        justify-content: center !important;
    }
}

/* --------------------------------------------------------------------------
   DEVICE CONFIG — keep disclosure arrows physically inside every green card.
   Reserve the final grid track; long emails wrap without pushing the control.
   Clicking the green header already toggles the section, and the arrow mirrors it.
   -------------------------------------------------------------------------- */
html body.cx-design-system .device-config-card .device-config-section-header {
    position: relative !important;
    cursor: pointer !important;
    overflow: hidden !important;
}

@media (min-width: 1400px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(150px, 1.02fr)
            42px
            minmax(125px, .82fr)
            minmax(230px, 1.38fr)
            minmax(125px, .72fr)
            minmax(205px, 1.15fr)
            52px !important;
        gap: 9px !important;
        padding-right: 10px !important;
    }
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(132px, .94fr)
            40px
            minmax(105px, .72fr)
            minmax(190px, 1.22fr)
            minmax(108px, .68fr)
            minmax(160px, .95fr)
            50px !important;
        gap: 6px !important;
        padding-right: 9px !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system .device-config-card .device-config-col-toggle {
        grid-column: 7 !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        min-height: 40px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        justify-self: stretch !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        overflow: visible !important;
    }

    html body.cx-design-system .device-config-card .device-config-collapse-button {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        margin: 0 !important;
        flex: 0 0 36px !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-email,
    html body.cx-design-system .device-config-card .device-config-col-email * {
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: .85rem !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }
}

html body.cx-design-system .device-config-card .device-config-collapse-button svg {
    transition: transform .16s ease !important;
}
html body.cx-design-system .device-config-card .device-config-collapse-button.is-expanded svg {
    transform: rotate(180deg) !important;
}

/* The Actions tooltip remains intentionally available; item-name tooltips remain suppressed. */
html body.cx-design-system .device-list-action-toggle[data-cx-keep-tooltip="true"] {
    position: relative !important;
}

/* --------------------------------------------------------------------------
   DEVICE MAP — restore the compact history/navigation strip.
   -------------------------------------------------------------------------- */
html body.cx-design-system .device-map-settings {
    grid-template-columns: minmax(0, 1fr) 68px !important;
}

html body.cx-design-system .device-map-settings > .setting-header-config {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-config-link {
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-config-link-label {
    display: none !important;
}

html body.cx-design-system .device-map-settings > .conexgo-history-panel,
html body.cx-design-system .device-map-settings > #map-controller,
html body.cx-design-system .device-map-settings > .conexgo-map-controller {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
}

html body.cx-design-system .device-map-settings > #map-controller,
html body.cx-design-system .device-map-settings > .conexgo-map-controller {
    padding: 8px 14px !important;
    min-height: 0 !important;
    background: #f8fafc !important;
    border-top: 0 !important;
    border-bottom: 1px solid #dbe5ec !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(230px, 320px) minmax(360px, 500px) !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 10px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border: 1px solid #cedde8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(39, 73, 98, .045) !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    width: 100% !important;
    max-width: 320px !important;
    padding: 5px 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #294f6d !important;
    font-size: 12.75px !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 8px !important;
    background: #f6f9fb !important;
    color: #527b99 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: 100% !important;
    max-width: 500px !important;
    padding: 4px 6px !important;
    display: grid !important;
    grid-template-columns: auto minmax(150px, 1fr) auto !important;
    align-items: center !important;
    gap: 6px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Wi-Fi names are individual readable entries; do not split an SSID mid-word. */
html body.cx-design-system .device-map-wifi-location > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 16px !important;
}

html body.cx-design-system .device-map-wifi-location > div > span {
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        max-width: 540px !important;
    }
}

@media (max-width: 700px) {
    html body.cx-design-system .device-map-settings {
        display: block !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
    }
}

/* --------------------------------------------------------------------------
   DEVICE CONFIG — keep long email addresses on one line and bring the disclosure
   control slightly inward instead of pushing content to the far edge.
   -------------------------------------------------------------------------- */
@media (min-width: 1400px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(145px, .95fr)
            42px
            minmax(115px, .72fr)
            minmax(285px, 1.62fr)
            minmax(95px, .58fr)
            minmax(185px, .98fr)
            62px !important;
        gap: 8px !important;
        padding-right: 14px !important;
    }
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        grid-template-columns:
            minmax(126px, .88fr)
            40px
            minmax(100px, .66fr)
            minmax(235px, 1.45fr)
            minmax(88px, .54fr)
            minmax(155px, .88fr)
            58px !important;
        gap: 6px !important;
        padding-right: 12px !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system .device-config-card .device-config-col-email {
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: .80rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-toggle {
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        justify-self: end !important;
        transform: translateX(-10px) !important;
    }

    html body.cx-design-system .device-config-card .device-config-collapse-button {
        margin: 0 !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:focus-within {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        overflow-x: hidden !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        transition:
            background-color .15s ease,
            box-shadow .15s ease !important;
        will-change: auto !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header .header-brand1,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-header .header-brand1 {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        transform: none !important;
        transition: none !important;
    }

    /* Never swap back to the expanded logo merely because the pointer entered. */
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover
    .conexgo-sidebar-brand-primary {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover
    .conexgo-sidebar-brand-compact {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Labels/submenus do not re-enter layout on hover. */
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover
    :is(.side-menu__label, .angle, .slide-menu) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* --------------------------------------------------------------------------
   TOP-LAYER SELECTS — reduce visual jumping while scrolling/animating layouts.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-custom-select-menu--top-layer {
    overscroll-behavior: contain !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header .header-brand1 {
        transition-duration: .01ms !important;
    }
}

/* --------------------------------------------------------------------------
   DEVICE ADD/EDIT — keep the emergency-review launcher on the same control
   rail as the fields, left-aligned inside that rail.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch > .cx-device-emergency-editor-spacer {
        display: block !important;
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;
    }

    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch > .cx-device-emergency-editor-control {
        flex: 0 0 75% !important;
        width: 75% !important;
        max-width: 75% !important;
        padding-left: calc(var(--bs-gutter-x) * .5) !important;
        padding-right: calc(var(--bs-gutter-x) * .5) !important;
        justify-content: flex-start !important;
    }
}

/* --------------------------------------------------------------------------
   SHARED CXSELECT — use the inline SVG chevron from CxSelect.razor.
   Font glyph clipping is intentionally removed from the control.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-custom-select-chevron {
    overflow: visible !important;
    line-height: 1 !important;
}

html body.cx-design-system .cx-custom-select-chevron-icon {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    display: block !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2px !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html body.cx-design-system .cx-custom-select-trigger {
    grid-template-columns: minmax(0, 1fr) 34px !important;
    padding-right: 5px !important;
}

html body.cx-design-system .cx-custom-select-trigger:has(.cx-custom-select-leading-icon) {
    grid-template-columns: 26px minmax(0, 1fr) 34px !important;
}

/* Multiline business tooltips (battery, cellular, GPS, Wi-Fi, satellite). */
html body.cx-design-system .cx-tooltip-surface {
    white-space: pre-line !important;
    max-width: min(420px, calc(100vw - 24px)) !important;
}

/* --------------------------------------------------------------------------
   DEVICE MAP — make "current GPS position" and "history in selected period"
   visually distinct. The playback strip stays compact and predictable.
   -------------------------------------------------------------------------- */
html body.cx-design-system .device-map-settings > #map-controller,
html body.cx-design-system .device-map-settings > .conexgo-map-controller {
    padding: 8px 12px !important;
    background: #f6f9fb !important;
    border-top: 1px solid #dce6ee !important;
    border-bottom: 1px solid #d5e1ea !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(250px, 330px) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    border: 1px solid #cbdbe6 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 7px rgba(26, 61, 88, .045) !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    max-width: none !important;
    padding: 6px 11px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    color: #244b6d !important;
    white-space: normal !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    width: 31px !important;
    min-width: 31px !important;
    height: 31px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #d8e4ec !important;
    border-radius: 8px !important;
    background: #f4f8fb !important;
    color: #527b99 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: 100% !important;
    max-width: none !important;
    padding: 5px 7px !important;
    display: grid !important;
    grid-template-columns: auto minmax(130px, 1fr) auto !important;
    gap: 6px !important;
    align-items: center !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-controls {
    display: inline-flex !important;
    gap: 5px !important;
    align-items: center !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    line-height: 1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step > i {
    line-height: 1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #49657d !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 820px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   ALERT DOCUMENT MANAGER — one shared checkbox implementation.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-alert-document-selector {
    display: grid !important;
    grid-template-columns: 30px 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
    cursor: default !important;
}

html body.cx-design-system .cx-alert-document-selector .cx-alert-document-checkbox {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-alert-document-selector .cx-alert-document-checkbox .cx-checkbox-box {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    border-radius: 7px !important;
}

/* Device Add/Edit switches/selects stay in their grid rail on every re-render. */
html body.cx-design-system .cx-device-config-dialog .cx-device-user-enabled-stack .cx-switch {
    flex: 0 0 auto !important;
    min-width: 52px !important;
}

html body.cx-design-system .cx-device-config-dialog .cx-control-field--select,
html body.cx-design-system .cx-device-config-dialog .cx-custom-select-root {
    min-width: 0 !important;
    width: 100% !important;
}

/* --------------------------------------------------------------------------
   OPERATOR HEADER POPUP — same filtering language as Notifications.
   -------------------------------------------------------------------------- */
html body.cx-design-system .conexgo-header-operators {
    float: left !important;
}

html body.cx-design-system .conexgo-operator-trigger {
    width: 42px !important;
    height: 42px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #2c5575 !important;
    background: #f8fafc !important;
    border: 1px solid #d7e3ec !important;
    position: relative !important;
}

html body.cx-design-system .conexgo-operator-trigger.is-empty {
    color: #8c98a2 !important;
    background: #f4f6f8 !important;
    border-color: #dfe5e9 !important;
    box-shadow: none !important;
}

html body.cx-design-system .conexgo-operator-trigger.is-empty:is(:hover, :focus-visible),
html body.cx-design-system .conexgo-header-operators.show .conexgo-operator-trigger.is-empty {
    color: #75838e !important;
    background: #eef1f3 !important;
    border-color: #d2dbe1 !important;
    box-shadow: 0 3px 8px rgba(44, 76, 108, .07) !important;
}

html body.cx-design-system .conexgo-operator-trigger .operator-badge {
    position: absolute !important;
    top: -6px !important;
    right: -5px !important;
    border: 2px solid #fff !important;
    min-width: 21px !important;
    height: 21px !important;
    border-radius: 999px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

html body.cx-design-system .conexgo-operator-dropdown {
    width: min(520px, calc(100vw - 24px)) !important;
    max-width: min(520px, calc(100vw - 24px)) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d8e3eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 18px 42px rgba(17, 48, 73, .18) !important;
}

html body.cx-design-system .conexgo-operator-header {
    min-height: 76px !important;
    padding: 14px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #2c5575 !important;
    color: #fff !important;
}

html body.cx-design-system .conexgo-operator-header-icon {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    font-size: 17px !important;
}

html body.cx-design-system .conexgo-operator-header-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

html body.cx-design-system .conexgo-operator-header-copy strong {
    font-size: 16px !important;
    line-height: 1.2 !important;
}

html body.cx-design-system .conexgo-operator-header-copy span {
    font-size: 12.5px !important;
    opacity: .9 !important;
}

html body.cx-design-system .conexgo-operator-filterbar {
    min-height: 62px !important;
}

html body.cx-design-system .conexgo-operator-filter.is-available {
    --cx-notification-filter-tone: #4c8a58;
    --cx-notification-filter-bg: #eef8f0;
}

html body.cx-design-system .conexgo-operator-filter.is-busy {
    --cx-notification-filter-tone: #c48a25;
    --cx-notification-filter-bg: #fff7e8;
}

html body.cx-design-system .conexgo-operator-filter.is-unavailable {
    --cx-notification-filter-tone: #b9505b;
    --cx-notification-filter-bg: #fff0f2;
}

html body.cx-design-system .conexgo-operator-list {
    max-height: 390px !important;
    overflow-y: auto !important;
    padding: 8px !important;
}

html body.cx-design-system .conexgo-operator-row {
    --cx-operator-accent: #8aa0b2;
    min-height: 66px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 12px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 9px 11px !important;
    margin-bottom: 5px !important;
    border: 1px solid #e2e9ef !important;
    border-left: 4px solid var(--cx-operator-accent) !important;
    border-radius: 10px !important;
    background: #fff !important;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

html body.cx-design-system .conexgo-operator-row:hover {
    background: #f4f8fb !important;
    border-color: #c9dbe7 !important;
    border-left-color: var(--cx-operator-accent) !important;
    box-shadow: 0 4px 12px rgba(44, 76, 108, .08) !important;
    transform: translateY(-1px) !important;
}

html body.cx-design-system .conexgo-operator-avatar {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    object-fit: cover !important;
    border: 1px solid #dde6ed !important;
}

html body.cx-design-system .conexgo-operator-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}

html body.cx-design-system .conexgo-operator-copy strong {
    color: #244663 !important;
    font-size: 13.5px !important;
}

html body.cx-design-system .conexgo-operator-copy span {
    color: #647789 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

html body.cx-design-system .conexgo-operator-state-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: var(--cx-operator-accent) !important;
}

html body.cx-design-system .conexgo-operator-empty {
    min-height: 110px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 8px !important;
    color: #647789 !important;
    text-align: center !important;
    font-size: 12.5px !important;
}

/* --------------------------------------------------------------------------
   MASTER TRAINING — visible as a muted DEV preview, never presented as ready.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-training-nav-preview {
    color: #7a8793 !important;
    background: #f3f5f7 !important;
    border: 1px dashed #cbd3da !important;
    opacity: .88 !important;
}

html body.cx-design-system .cx-training-nav-preview .side-menu__icon,
html body.cx-design-system .cx-training-nav-preview .side-menu__label {
    color: #7a8793 !important;
}

html body.cx-design-system .cx-training-nav-preview.is-dev-enabled:is(:hover, :focus-visible) {
    background: #edf2f5 !important;
    border-color: #aebbc5 !important;
    opacity: 1 !important;
}

html body.cx-design-system .cx-training-nav-preview.is-coming-soon {
    cursor: not-allowed !important;
}

html body.cx-design-system .cx-training-nav-badge {
    justify-self: end !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: #dce2e7 !important;
    color: #657582 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
}

html body.cx-design-system .cx-training-page-card {
    overflow: hidden !important;
    border: 1px solid #dbe5ec !important;
    border-radius: 13px !important;
}

html body.cx-design-system .cx-training-preview-banner {
    margin: 16px !important;
    padding: 13px 15px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    border: 1px solid #cfd9e1 !important;
    border-radius: 11px !important;
    background: #f4f6f8 !important;
    color: #526779 !important;
}

html body.cx-design-system .cx-training-preview-icon {
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 10px !important;
    background: #e5e9ed !important;
    color: #6d7f8e !important;
}

html body.cx-design-system .cx-training-preview-banner > div {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

html body.cx-design-system .cx-training-preview-banner strong { color: #40586b !important; }
html body.cx-design-system .cx-training-preview-banner span { font-size: 12.5px !important; }
html body.cx-design-system .cx-training-dev-chip {
    padding: 4px 8px !important;
    border-radius: 999px !important;
    background: #dce2e7 !important;
    color: #60717f !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

html body.cx-design-system .cx-training-toolbar {
    padding: 14px 16px !important;
    background: #2f5678 !important;
}

html body.cx-design-system .cx-training-toolbar-row {
    display: flex !important;
    justify-content: flex-end !important;
}

html body.cx-design-system .cx-training-search-shell {
    width: min(440px, 100%) !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    border-radius: 10px !important;
    background: #fff !important;
    overflow: hidden !important;
}

html body.cx-design-system .cx-training-search-shell > i {
    justify-self: center !important;
    color: #5a7891 !important;
}

html body.cx-design-system .cx-training-search-shell .form-control {
    border: 0 !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-training-filter-grid {
    grid-template-columns: minmax(220px, 340px) !important;
}

html body.cx-design-system .cx-training-body {
    min-height: 240px !important;
    padding: 18px !important;
}

html body.cx-design-system .cx-training-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)) !important;
    gap: 16px !important;
}

html body.cx-design-system .cx-training-card {
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d8e3eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(35, 70, 96, .06) !important;
}

html body.cx-design-system .cx-training-card.is-inactive { opacity: .68 !important; }

html body.cx-design-system .cx-training-media {
    aspect-ratio: 16 / 9 !important;
    background: #eaf0f4 !important;
    overflow: hidden !important;
}

html body.cx-design-system .cx-training-media :is(iframe, img) {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border: 0 !important;
    object-fit: cover !important;
}

html body.cx-design-system .cx-training-media-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
    color: #66849b !important;
    font-size: 36px !important;
}

html body.cx-design-system .cx-training-card-body {
    padding: 14px !important;
    display: grid !important;
    gap: 9px !important;
}

html body.cx-design-system .cx-training-card-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    color: #718392 !important;
    font-size: 11px !important;
}

html body.cx-design-system .cx-training-state {
    padding: 3px 7px !important;
    border-radius: 999px !important;
    background: #edf5ef !important;
    color: #4e7758 !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-training-card h2 {
    margin: 0 !important;
    color: #244969 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
}

html body.cx-design-system .cx-training-card p {
    margin: 0 !important;
    color: #607386 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    white-space: pre-line !important;
}

html body.cx-design-system .cx-training-card-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding-top: 3px !important;
}

html body.cx-design-system .cx-training-card-actions :is(a, button) {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 7px 10px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

html body.cx-design-system .cx-training-open-link {
    border: 1px solid #c8d9e5 !important;
    background: #f7fafc !important;
    color: #315f82 !important;
}

html body.cx-design-system .cx-training-edit {
    border: 1px solid #315f82 !important;
    background: #315f82 !important;
    color: #fff !important;
}

html body.cx-design-system .cx-training-empty,
html body.cx-design-system .cx-training-setup-state {
    min-height: 190px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 8px !important;
    padding: 24px !important;
    border: 1px dashed #ccd9e2 !important;
    border-radius: 12px !important;
    background: #f8fafb !important;
    color: #5d7385 !important;
    text-align: center !important;
}

html body.cx-design-system .cx-training-setup-state > i,
html body.cx-design-system .cx-training-empty > i {
    font-size: 28px !important;
    color: #6a879d !important;
}

html body.cx-design-system .cx-training-setup-state > div {
    display: grid !important;
    gap: 4px !important;
}

html body.cx-design-system .cx-training-form-error {
    margin-bottom: 14px !important;
    padding: 10px 12px !important;
    display: flex !important;
    gap: 9px !important;
    align-items: flex-start !important;
    border: 1px solid #efc1c6 !important;
    border-radius: 9px !important;
    background: #fff3f4 !important;
    color: #a63f4b !important;
}

html body.cx-design-system .cx-training-order-input { max-width: 180px !important; }

@media (max-width: 700px) {
    html body.cx-design-system .cx-training-preview-banner {
        grid-template-columns: 38px minmax(0, 1fr) !important;
    }
    html body.cx-design-system .cx-training-dev-chip { display: none !important; }
    html body.cx-design-system .cx-training-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Operator filter tones — Notification uses hard-coded tone classes, so the
   operator variants declare their own equivalent states. */
html body.cx-design-system .conexgo-operator-filter.is-available:not(.is-selected) {
    background: #eef8f0 !important;
    border-color: #bcd8c2 !important;
    color: #3f744a !important;
}
html body.cx-design-system .conexgo-operator-filter.is-busy:not(.is-selected) {
    background: #fff8e9 !important;
    border-color: #e8ca83 !important;
    color: #8d620c !important;
}
html body.cx-design-system .conexgo-operator-filter.is-unavailable:not(.is-selected) {
    background: #fff3f4 !important;
    border-color: #e4bbc0 !important;
    color: #a7444f !important;
}
html body.cx-design-system .conexgo-operator-filter.is-available.is-selected {
    background: #477f52 !important;
    border-color: #396842 !important;
}
html body.cx-design-system .conexgo-operator-filter.is-busy.is-selected {
    background: #916518 !important;
    border-color: #77510f !important;
}
html body.cx-design-system .conexgo-operator-filter.is-unavailable.is-selected {
    background: #a44450 !important;
    border-color: #863640 !important;
}

/* Current position and current device heartbeat are different facts. Showing
   both prevents an old GPS fix from being mistaken for a fresh location. */
html body.cx-design-system .device-map-location-strip .device-map-location-copy {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px 18px !important;
}
html body.cx-design-system .device-map-location-gps {
    color: #244a69 !important;
    font-weight: 650 !important;
}
html body.cx-design-system .device-map-location-report {
    color: #6a7e90 !important;
    font-size: 12px !important;
    font-weight: 560 !important;
}

/* --------------------------------------------------------------------------
   SHARED SELECTS — Font Awesome chevron, centered and never clipped.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-custom-select-chevron {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    align-self: center !important;
    justify-self: end !important;
    overflow: visible !important;
    line-height: 1 !important;
    border-radius: 9px !important;
    transform: none !important;
}

html body.cx-design-system .cx-custom-select-chevron > .cx-custom-select-chevron-icon {
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    overflow: visible !important;
    color: currentColor !important;
    font-family: "Font Awesome 6 Free" !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    font-style: normal !important;
    line-height: 1 !important;
    transform: rotate(0deg) translateZ(0) !important;
    transform-origin: center !important;
    transition: transform .16s ease, color .16s ease !important;
}

html body.cx-design-system .cx-custom-select-trigger:is(.is-open, [data-cx-open="True"], [data-cx-open="true"])
    .cx-custom-select-chevron > .cx-custom-select-chevron-icon {
    transform: rotate(180deg) translateZ(0) !important;
}

html body.cx-design-system .cx-custom-select-trigger {
    grid-template-columns: minmax(0, 1fr) 38px !important;
    padding-right: 5px !important;
}

html body.cx-design-system .cx-custom-select-trigger:has(.cx-custom-select-leading-icon) {
    grid-template-columns: 26px minmax(0, 1fr) 38px !important;
}

/* Light, deliberate motion in select/dropdown menus. */
html body.cx-design-system .cx-custom-select-option,
html body.cx-design-system .dropdown-menu .dropdown-item,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item {
    transform: translate3d(0, 0, 0) scale(1) !important;
    transform-origin: center left !important;
    transition:
        transform .14s cubic-bezier(.2,.8,.2,1),
        background-color .14s ease,
        color .14s ease,
        border-color .14s ease !important;
}

html body.cx-design-system .cx-custom-select-option:hover:not(:disabled),
html body.cx-design-system .cx-custom-select-option.is-active:not(:disabled),
html body.cx-design-system .dropdown-menu .dropdown-item:hover,
html body.cx-design-system .dropdown-menu .dropdown-item:focus-visible,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item:hover,
html body.cx-design-system .conexgo-row-action-menu .dropdown-item:focus-visible {
    transform: translate3d(2px, 0, 0) scale(1.008) !important;
}

html body.cx-design-system .cx-custom-select-option:hover:not(:disabled) .cx-custom-select-option-check,
html body.cx-design-system .cx-custom-select-option.is-active:not(:disabled) .cx-custom-select-option-check,
html body.cx-design-system .dropdown-menu .dropdown-item:hover > :is(i, span[class*="fa-"]),
html body.cx-design-system .dropdown-menu .dropdown-item:focus-visible > :is(i, span[class*="fa-"]) {
    transform: scale(1.08) !important;
}

/* --------------------------------------------------------------------------
   DESKTOP SIDEBAR — compact means compact. Hover shows a tooltip only; it no
   longer expands the entire navigation rail.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover,
    html body.cx-design-system.sidenav-toggled .cx-app-sidebar,
    html body.cx-design-system.sidenav-toggled .cx-app-sidebar:hover {
        width: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
        overflow-x: hidden !important;
        box-shadow: 4px 0 16px rgba(32, 62, 88, .07) !important;
        transition: box-shadow .16s ease !important;
        will-change: auto !important;
    }

    html body.cx-design-system.sidenav-toggled .app-content {
        margin-left: 96px !important;
    }

    html body.cx-design-system.sidenav-toggled .app-header.header {
        padding-left: 116px !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header .header-brand1,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-header .header-brand1 {
        width: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
        height: 74px !important;
        min-height: 74px !important;
        padding: 0 !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-brand-primary,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .conexgo-sidebar-brand-primary {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-brand-compact,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .conexgo-sidebar-brand-compact {
        display: block !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        object-fit: contain !important;
        transform: none !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .main-sidemenu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .main-sidemenu {
        padding: 10px 9px 18px !important;
        overflow-x: hidden !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .sub-category,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .sub-category,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .slide-menu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .slide-menu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__label,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-menu__label,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .angle,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .angle,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .cx-training-nav-badge,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .cx-training-nav-badge {
        display: none !important;
        max-width: 0 !important;
        max-height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__item,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-menu__item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 60px !important;
        padding: 5px !important;
        margin: 2px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        overflow: visible !important;
        border-radius: 12px !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__icon,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-menu__icon {
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 14px !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        transition: background-color .15s ease, color .15s ease, box-shadow .15s ease !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__item:hover .side-menu__icon,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__item:focus-visible .side-menu__icon {
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
    }
}

/* Active route remains visibly selected until navigation changes. */
html body.cx-design-system .app-sidebar-modern .side-menu__item.is-active,
html body.cx-design-system .app-sidebar-modern .side-menu__item[aria-current="page"],
html body.cx-design-system .app-sidebar-modern .slide-item.is-active,
html body.cx-design-system .app-sidebar-modern .slide-item[aria-current="page"] {
    background: #eaf3f9 !important;
    color: #234f70 !important;
    box-shadow: inset 3px 0 0 #2f6d99 !important;
}

html body.cx-design-system .app-sidebar-modern .side-menu__item.is-active .side-menu__icon,
html body.cx-design-system .app-sidebar-modern .side-menu__item[aria-current="page"] .side-menu__icon {
    background: #dcecf6 !important;
    color: #245b82 !important;
}

html body.cx-design-system .app-sidebar-modern .side-menu__item.is-active-parent {
    color: #294f6c !important;
}

/* Full-width nested submenu surface while the sidebar is open. */
@media (min-width: 992px) {
    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .slide-menu {
        width: 100% !important;
        max-width: 100% !important;
        margin: 5px 0 9px !important;
        padding: 6px 7px !important;
        border-left: 0 !important;
        border-radius: 10px !important;
        background: #f4f7f9 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .slide-menu .slide-item {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 40px !important;
        padding: 9px 12px 9px 52px !important;
        display: flex !important;
        align-items: center !important;
        border-radius: 8px !important;
        transform: translate3d(0,0,0) !important;
        transition: transform .14s ease, background-color .14s ease, color .14s ease !important;
    }

    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .slide-menu .slide-item:hover,
    html body.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern .slide-menu .slide-item:focus-visible {
        transform: translate3d(2px,0,0) !important;
        background: #fff !important;
    }
}

/* Training is its own sidebar domain; its library link remains visually muted
   while the Development-only feature gate is in effect. */
html body.cx-design-system .cx-training-sidebar-category {
    margin-top: 16px !important;
}

html body.cx-design-system .cx-training-nav-preview {
    position: relative !important;
}

html body.cx-design-system .cx-training-nav-preview.is-coming-soon {
    cursor: not-allowed !important;
    filter: grayscale(.22) !important;
}

html body.cx-design-system .cx-training-nav-preview.is-dev-enabled {
    cursor: pointer !important;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .cx-custom-select-chevron > .cx-custom-select-chevron-icon,
    html body.cx-design-system .cx-custom-select-option,
    html body.cx-design-system .dropdown-menu .dropdown-item,
    html body.cx-design-system .app-sidebar-modern .side-menu__icon,
    html body.cx-design-system .app-sidebar-modern .slide-item {
        transition-duration: .01ms !important;
        transform: none !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover,
    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover .side-header,
    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover .side-header .header-brand1 {
        width: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
    }

    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover .side-header .header-brand1 {
        padding-left: 0 !important;
        justify-content: center !important;
    }

    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover .conexgo-sidebar-brand-primary {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover .conexgo-sidebar-brand-compact {
        display: block !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}

/* Sober micro-motion for every Bootstrap row action and CxSelect option. */
html body.cx-design-system .dropdown-menu .dropdown-item,
html body.cx-design-system .cx-custom-select-option {
    border-radius: 10px;
    transition:
        transform .14s cubic-bezier(.2,.8,.2,1),
        background-color .14s ease,
        color .14s ease,
        box-shadow .14s ease !important;
}

html body.cx-design-system .dropdown-menu .dropdown-item:hover,
html body.cx-design-system .dropdown-menu .dropdown-item:focus-visible,
html body.cx-design-system .cx-custom-select-option:hover:not(:disabled),
html body.cx-design-system .cx-custom-select-option:focus-visible:not(:disabled),
html body.cx-design-system .cx-custom-select-option.is-active:not(:disabled) {
    transform: translate3d(3px,-1px,0) scale(1.008) !important;
    box-shadow: 0 5px 14px rgba(38, 76, 108, .07) !important;
}

html body.cx-design-system .dropdown-menu .dropdown-item:hover :is(i,span[class*="fa-"]),
html body.cx-design-system .dropdown-menu .dropdown-item:focus-visible :is(i,span[class*="fa-"]),
html body.cx-design-system .cx-custom-select-option:hover .cx-custom-select-option-check,
html body.cx-design-system .cx-custom-select-option:focus-visible .cx-custom-select-option-check {
    transform: translateY(-1px) scale(1.08) !important;
}

/* Active tab icons always keep the exact same foreground as the active label. */
html body.cx-design-system :is(.nav-tabs,.nav-pills,.cx-tabs,.cx-tab-list) :is(.nav-link,.cx-tab).active :is(i,svg),
html body.cx-design-system .nav-link.active :is(i,svg) {
    color: currentColor !important;
    fill: currentColor !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Breadcrumbs on the Training domain follow the same portal-blue grammar. */
html body.cx-design-system .cx-training-page-header .breadcrumb-item,
html body.cx-design-system .cx-training-page-header .breadcrumb-item a,
html body.cx-design-system .cx-training-page-header .breadcrumb-item.active {
    color: #315a7d !important;
    opacity: 1 !important;
}
html body.cx-design-system .cx-training-page-header .breadcrumb-item a:hover {
    color: #1f496c !important;
}

/* The coming-soon training navigation stays intentionally muted, without DEV copy. */
html body.cx-design-system .cx-training-nav-preview.is-coming-soon {
    background: #f3f6f8 !important;
    color: #667b8d !important;
    border-color: #dce5eb !important;
}
html body.cx-design-system .cx-training-nav-preview.is-coming-soon .side-menu__icon {
    color: #688298 !important;
}

/* Final Training filters: three compact, stable columns on wide screens. */
html body.cx-design-system .cx-training-filter-grid--final {
    grid-template-columns: repeat(3, minmax(190px, 1fr)) !important;
    align-items: end !important;
    gap: 18px !important;
}

html body.cx-design-system .cx-training-preview-banner--coming {
    background: #f7f9fb !important;
    border: 1px solid #d8e3eb !important;
    color: #365a75 !important;
}

/* Training list */
html body.cx-design-system .cx-training-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 20px !important;
}
html body.cx-design-system .cx-training-card {
    border: 1px solid #d8e3eb !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 7px 22px rgba(38, 68, 94, .06) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
html body.cx-design-system .cx-training-card:hover {
    transform: translateY(-2px) !important;
    border-color: #b9cede !important;
    box-shadow: 0 12px 28px rgba(38, 68, 94, .09) !important;
}
html body.cx-design-system .cx-training-card-media-link { display:block; text-decoration:none !important; }
html body.cx-design-system .cx-training-media {
    position: relative !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    background: #eef4f8 !important;
}
html body.cx-design-system .cx-training-media img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .2s ease !important; }
html body.cx-design-system .cx-training-card:hover .cx-training-media img { transform: scale(1.025) !important; }
html body.cx-design-system .cx-training-play-badge {
    position:absolute !important; inset:0 !important; display:grid !important; place-items:center !important;
    color:#fff !important; font-size:1.15rem !important; pointer-events:none !important;
}
html body.cx-design-system .cx-training-play-badge i {
    width:50px !important; height:50px !important; border-radius:50% !important; display:grid !important; place-items:center !important;
    background:rgba(37,82,117,.88) !important; box-shadow:0 8px 22px rgba(0,0,0,.16) !important;
}
html body.cx-design-system .cx-training-card-feedback { display:flex !important; gap:12px !important; flex-wrap:wrap !important; color:#536b80 !important; font-size:.88rem !important; }
html body.cx-design-system .cx-training-card-feedback span { display:inline-flex !important; align-items:center !important; gap:5px !important; }
html body.cx-design-system .cx-training-card-feedback .fa-star { color:#d39a24 !important; }
html body.cx-design-system .cx-training-source-badge { font-size:.75rem !important; font-weight:700 !important; padding:4px 8px !important; border-radius:999px !important; background:#edf4f9 !important; color:#315a7d !important; }

/* Training editor */
html body.cx-design-system .cx-training-selected-file {
    margin-top:8px !important; padding:10px 12px !important; display:flex !important; align-items:center !important; gap:9px !important;
    border:1px solid #d8e3eb !important; border-radius:10px !important; background:#f7fafc !important; color:#405d73 !important;
}
html body.cx-design-system .cx-training-selected-file span:last-child { margin-left:auto !important; color:#6f8495 !important; font-size:.82rem !important; }

/* Training detail */
html body.cx-design-system .cx-training-detail-layout { display:grid !important; gap:20px !important; padding-bottom:28px !important; }
html body.cx-design-system .cx-training-detail-card { border:1px solid #d8e3eb !important; border-radius:16px !important; box-shadow:0 7px 22px rgba(38,68,94,.05) !important; overflow:hidden !important; }
html body.cx-design-system .cx-training-detail-media { width:100% !important; aspect-ratio:16/9 !important; background:#101a22 !important; }
html body.cx-design-system .cx-training-detail-media :is(video,iframe) { width:100% !important; height:100% !important; border:0 !important; display:block !important; }
html body.cx-design-system .cx-training-detail-copy { padding:20px !important; }
html body.cx-design-system .cx-training-detail-copy h2 { color:#234f72 !important; font-size:1.4rem !important; margin:0 0 10px !important; }
html body.cx-design-system .cx-training-detail-meta { display:flex !important; gap:16px !important; flex-wrap:wrap !important; margin-top:14px !important; color:#587086 !important; }
html body.cx-design-system .cx-training-section-heading { display:flex !important; gap:12px !important; align-items:flex-start !important; padding:20px 20px 10px !important; color:#315a7d !important; }
html body.cx-design-system .cx-training-section-heading h2 { margin:0 !important; font-size:1.12rem !important; }
html body.cx-design-system .cx-training-section-heading p { margin:3px 0 0 !important; color:#667c8f !important; }
html body.cx-design-system .cx-training-rating-picker { display:flex !important; gap:6px !important; padding:8px 20px 18px !important; }
html body.cx-design-system .cx-training-star { border:0 !important; background:transparent !important; color:#c7d1d8 !important; font-size:1.55rem !important; padding:3px !important; transition:transform .14s ease,color .14s ease !important; }
html body.cx-design-system .cx-training-star:hover { transform:translateY(-2px) scale(1.08) !important; color:#e1aa32 !important; }
html body.cx-design-system .cx-training-star.is-selected { color:#d89c24 !important; }
html body.cx-design-system .cx-training-helpful-row { display:flex !important; align-items:center !important; gap:10px !important; flex-wrap:wrap !important; padding:0 20px 20px !important; }
html body.cx-design-system .cx-training-helpful { border:1px solid #cad8e2 !important; border-radius:10px !important; background:#fff !important; color:#315a7d !important; padding:8px 12px !important; display:inline-flex !important; align-items:center !important; gap:6px !important; }
html body.cx-design-system .cx-training-helpful.is-selected { background:#e9f4ed !important; border-color:#9fc5aa !important; color:#2f7040 !important; }
html body.cx-design-system .cx-training-comment-compose { padding:0 20px 20px !important; display:grid !important; gap:10px !important; }
html body.cx-design-system .cx-training-comment-compose button { justify-self:end !important; }
html body.cx-design-system .cx-training-comments-list { padding:0 20px 20px !important; display:grid !important; gap:10px !important; }
html body.cx-design-system .cx-training-comment { position:relative !important; border:1px solid #e0e8ee !important; border-radius:12px !important; padding:14px 46px 14px 14px !important; background:#fafcfd !important; }
html body.cx-design-system .cx-training-comment-head { display:flex !important; justify-content:space-between !important; gap:12px !important; color:#315a7d !important; }
html body.cx-design-system .cx-training-comment-head span { color:#738696 !important; font-size:.82rem !important; }
html body.cx-design-system .cx-training-comment p { margin:8px 0 0 !important; white-space:pre-wrap !important; }
html body.cx-design-system .cx-training-comment-delete { position:absolute !important; top:10px !important; right:10px !important; border:0 !important; background:transparent !important; color:#a74149 !important; }

/* Blocked-call edit row and action menu remain compact. */
html body.cx-design-system .cx-blocked-call-created-row .cx-readonly-value { min-height:48px !important; display:flex !important; align-items:center !important; }
html body.cx-design-system .cx-blocked-call-action-menu { min-width:200px !important; }

@media (min-width: 768px) and (max-width: 1199.98px) {
    html body.cx-design-system .cx-training-filter-grid--final { grid-template-columns: repeat(2, minmax(220px, 1fr)) !important; }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-training-filter-grid--final { grid-template-columns:1fr !important; }
    html body.cx-design-system .cx-training-grid { grid-template-columns:1fr !important; }
    html body.cx-design-system .cx-training-comment-head { flex-direction:column !important; gap:2px !important; }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .dropdown-menu .dropdown-item,
    html body.cx-design-system .cx-custom-select-option,
    html body.cx-design-system .cx-training-card,
    html body.cx-design-system .cx-training-card img,
    html body.cx-design-system .cx-training-star { transition:none !important; transform:none !important; }
}
html body.cx-design-system .cx-training-preview-banner--coming {
    padding: 12px 14px !important;
    min-height: 0 !important;
    border-radius: 12px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0,1fr) !important;
    gap: 10px !important;
    align-items: center !important;
}
html body.cx-design-system .cx-training-preview-banner--coming .cx-training-preview-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
}
html body.cx-design-system .cx-training-preview-banner--coming strong,
html body.cx-design-system .cx-training-preview-banner--coming span {
    line-height: 1.35 !important;
}
/* Preserve the original brand artwork in active settings tabs. The previous
   global active-tab filter converted PNG icons to a white silhouette. */
html body.cx-design-system ul.nav.panel-tabs > li > a.active img,
html body.cx-design-system ul.nav.panel-tabs > li.active > a img,
html body.cx-design-system ul.nav.panel-tabs > li > a[aria-selected="true"] img {
    filter: none !important;
    opacity: 1 !important;
}

html body.cx-design-system .cx-device-emergency-editor-control {
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
}
html body.cx-design-system .cx-device-emergency-editor-button {
    margin-left:auto !important;
    max-width:min(100%, 520px) !important;
}

html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-brand-compact,
html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .conexgo-sidebar-brand-compact,
html body.cx-design-system.sidenav-toggled .app-sidebar-modern .app-sidebar-brand img,
html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .app-sidebar-brand img {
    transform:none !important;
    translate:none !important;
    scale:1 !important;
    opacity:1 !important;
    position:static !important;
    margin-inline:auto !important;
}

/* Nested links: subtle full-width border for hierarchy. */
html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item,
html body.cx-design-system .app-sidebar-modern .sub-slide-menu .sub-slide-item {
    border:1px solid transparent !important;
    border-radius:10px !important;
}
html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item:hover,
html body.cx-design-system .app-sidebar-modern .sub-slide-menu .sub-slide-item:hover,
html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item.active,
html body.cx-design-system .app-sidebar-modern .sub-slide-menu .sub-slide-item.active {
    border-color:#d7e3ec !important;
}

/* Support/Profile view only: Formation is visibly unavailable; sidebar stays unchanged. */
html body.cx-design-system .cx-support-hub__card--placeholder[data-cx-support-kind="training"] {
    filter:grayscale(1) !important;
    opacity:.62 !important;
    cursor:not-allowed !important;
    background:#f5f7f9 !important;
}
html body.cx-design-system .cx-support-hub__card--placeholder[data-cx-support-kind="training"] .cx-support-hub__icon {
    background:#edf1f4 !important;
    color:#81909d !important;
    border-color:#d6dee5 !important;
}

/* Dashboard customization label requested in uppercase regardless of cached DB text. */
html body.cx-design-system .conexgo-dashboard-config-main-title,
html body.cx-design-system .conexgo-dashboard-config-title,
html body.cx-design-system [data-dashboard-config-title] {
    text-transform:uppercase !important;
    letter-spacing:.045em !important;
}

/* Keep configuration rows inside the card at desktop widths. */
html body.cx-design-system .device-config-card .device-config-section-header,
html body.cx-design-system .device-config-card .device-config-section-content {
    box-sizing:border-box !important;
    min-width:0 !important;
}
html body.cx-design-system .device-config-card .device-config-section-content > div,
html body.cx-design-system .device-config-card .device-config-section-header > div {
    min-width:0 !important;
}

/* Field-level validation presentation. */
html body.cx-design-system .cx-field-validation-error {
    display:flex !important;
    align-items:flex-start !important;
    gap:7px !important;
    margin-top:7px !important;
    color:#b43b43 !important;
    font-size:.84rem !important;
    line-height:1.35 !important;
}

@media (min-width: 992px) {
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .conexgo-sidebar-brand-primary,
    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover .conexgo-sidebar-brand-primary {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-brand-compact,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .conexgo-sidebar-brand-compact,
    html body.cx-design-system.sidenav-toggled.cx-sidebar-visual-compact .app-sidebar-modern:hover .conexgo-sidebar-brand-compact {
        display: block !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        height: 50px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        margin: 0 auto !important;
    }
}

.cx-device-emergency-editor-launch .cx-device-emergency-editor-control {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.cx-device-emergency-editor-launch .cx-device-emergency-editor-button {
    margin-left: auto !important;
}

@media (max-width: 767.98px) {
    .cx-device-emergency-editor-launch .cx-device-emergency-editor-control {
        width: 100% !important;
        justify-content: flex-end !important;
    }
}

/* --------------------------------------------------------------------------
   Dashboard content grid: balanced minimized-card layout.
   -------------------------------------------------------------------------- */
html body.cx-design-system .conexgo-dashboard-content-grid {
    align-items: start !important;
    gap: 14px 16px !important;
}

html body.cx-design-system .conexgo-dashboard-content-grid > .conexgo-dashboard-smart-item {
    min-width: 0 !important;
}

@media (min-width: 1100px) {
    html body.cx-design-system .conexgo-dashboard-content-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system .conexgo-dashboard-content-grid > .conexgo-dashboard-smart-item:last-child:nth-child(odd) {
        grid-column: 1 / -1 !important;
        width: calc(50% - 8px) !important;
        justify-self: center !important;
    }
}

@media (max-width: 1099.98px) {
    html body.cx-design-system .conexgo-dashboard-content-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .conexgo-dashboard-content-grid > .conexgo-dashboard-smart-item:last-child {
        width: 100% !important;
    }
}

/* --------------------------------------------------------------------------
   Device Add/Edit: emergency-review action is a true right-side action row.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch {
    width: 100% !important;
    margin: 10px 0 12px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch .cx-device-emergency-editor-button {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch {
        justify-content: stretch !important;
    }

    html body.cx-design-system .cx-device-config-dialog .cx-device-emergency-editor-launch .cx-device-emergency-editor-button {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* --------------------------------------------------------------------------
   Device Map history: counter and navigation live on one compact rail.
   -------------------------------------------------------------------------- */
html body.cx-design-system .device-map-settings > #map-controller.conexgo-map-controller.is-visible {
    display: block !important;
    width: 100% !important;
    padding: 8px 12px !important;
    min-height: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(240px, .8fr) minmax(420px, 1.2fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 10px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    justify-content: flex-start !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    grid-template-columns: auto minmax(120px, 1fr) auto !important;
}

@media (max-width: 899.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

html body.cx-design-system .cx-training-dialog .cx-r1-form-row > .form-label > label::after {
    content: ":";
    display: inline;
    margin-inline-start: 0.16em;
}

html body.cx-design-system .cx-training-dialog .cx-r1-form-row > .form-label > label {
    text-wrap: pretty;
}

/* ============================================================
   1. STANDARD FIELD VALIDATION — DEVICE ADD/EDIT VISUAL LANGUAGE
   ============================================================ */

html body.cx-design-system .cx-standard-form-dialog .cx-field-validation,
html body.cx-design-system .cx-standard-form-dialog .cx-field-validation-error,
html body.cx-design-system .cx-standard-form-dialog .validation-message {
    width: 100%;
    min-height: 44px;
    margin-top: 8px;
    padding: 10px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    border: 1px solid #efb8bd;
    border-radius: 10px;
    background: #fff5f5;
    color: #b33d45;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

html body.cx-design-system .cx-standard-form-dialog .cx-field-validation::before,
html body.cx-design-system .cx-standard-form-dialog .validation-message::before {
    content: "!";
    width: 20px;
    min-width: 20px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: #cf4650;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

html body.cx-design-system .cx-standard-form-dialog .cx-field-validation-error > i {
    width: 20px;
    min-width: 20px;
    height: 20px;
    margin: 0;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: #cf4650;
    color: #fff;
    font-size: 11px;
}

html body.cx-design-system .cx-standard-form-dialog .cx-field-validation-error > span,
html body.cx-design-system .cx-standard-form-dialog .cx-field-validation {
    min-width: 0;
}

/* Keep help text visually separate from an error panel. */
html body.cx-design-system .cx-standard-form-dialog .cx-control-help,
html body.cx-design-system .cx-standard-form-dialog .form-text {
    margin-top: 6px;
}

/* ============================================================
   2. COLLAPSED SIDEBAR — NEVER EXPAND THE WHOLE BAR ON HOVER
   ============================================================ */

@media (min-width: 992px) {
    

    /* Nested links remain reachable as a compact flyout. */
    .app.sidenav-toggled .app-sidebar-modern .slide > .slide-menu,
    body.sidenav-toggled .app-sidebar-modern .slide > .slide-menu,
    .sidenav-toggled .app-sidebar-modern .slide > .slide-menu {
        display: none !important;
    }

    .app.sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu,
    body.sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu,
    .sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu,
    .app.sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu,
    body.sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu,
    .sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu {
        position: absolute !important;
        left: calc(100% + 10px) !important;
        top: 2px !important;
        width: 250px !important;
        min-width: 250px !important;
        max-width: 250px !important;
        max-height: min(70vh, 520px) !important;
        margin: 0 !important;
        padding: 8px !important;
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        background: #fff !important;
        border: 1px solid #d9e4ec !important;
        border-left: 3px solid #89c540 !important;
        border-radius: 12px !important;
        box-shadow: 0 14px 34px rgba(36, 69, 96, .16) !important;
        z-index: 10050 !important;
    }

    .app.sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu .slide-item,
    body.sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu .slide-item,
    .sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu .slide-item,
    .app.sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu .slide-item,
    body.sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu .slide-item,
    .sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu .slide-item {
        width: 100% !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 9px 11px !important;
        display: flex !important;
        align-items: center !important;
        color: #36485c !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        border-radius: 8px !important;
        font-size: 10.5pt !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .app.sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu .slide-item:hover,
    body.sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu .slide-item:hover,
    .sidenav-toggled .app-sidebar-modern .slide:hover > .slide-menu .slide-item:hover,
    .app.sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu .slide-item:hover,
    body.sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu .slide-item:hover,
    .sidenav-toggled .app-sidebar-modern .slide.cx-sidebar-submenu-open > .slide-menu .slide-item:hover {
        background: #f2f6f9 !important;
        border-color: #d9e4ec !important;
        color: #244560 !important;
        transform: translateX(2px) !important;
    }

    /* R18-280 compact flyout active route */
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern .slide-menu
    .slide-item:is(.is-active, .active, [aria-current="page"]) {
        background: #eef5fa !important;
        border-color: #4f84ad !important;
        border-left-width: 3px !important;
        border-left-color: #2f6d99 !important;
        color: #234f70 !important;
        box-shadow: none !important;
        transform: none !important;
        text-decoration: none !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern .slide-menu
    .slide-item:is(.is-active, .active, [aria-current="page"]):is(:hover, :focus-visible) {
        background: #e7f1f8 !important;
        border-color: #3f789f !important;
        border-left-width: 3px !important;
        border-left-color: #2f6d99 !important;
        color: #1f4968 !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

/* ============================================================
   3. DEVICE CONFIG — HEADER ITSELF IS THE DISCLOSURE CONTROL
   ============================================================ */

@media (min-width: 992px) {
    html body.cx-design-system .device-config-card .cx-device-config-edge-toggle,
    html body.cx-design-system .device-config-card .device-config-section-content > .device-config-col-toggle {
        display: none !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header,
    html body.cx-design-system .device-config-card .device-config-section-content {
        width: 100% !important;
        max-width: none !important;
        padding-right: 16px !important;
        overflow: visible !important;
    }

    html body.cx-design-system .device-config-card .device-config-section-header {
        cursor: pointer !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-customer {
        grid-column: 1 !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-edit {
        grid-column: 2 !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-edit--standalone {
        grid-column: 1 / 3 !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-value {
        grid-column: 3 !important;
        min-width: 0 !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-email {
        grid-column: 4 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-overflow: clip !important;
        overflow: visible !important;
        font-size: .82rem !important;
        line-height: 1.28 !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-sms {
        grid-column: 5 !important;
        min-width: 0 !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-updated {
        grid-column: 6 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding-right: 2px !important;
        overflow: visible !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    html body.cx-design-system .device-config-card .device-config-section--schedule .device-config-col-feature {
        grid-column: 1 / 3 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section--schedule.device-config-section-content .device-config-col-value {
        grid-column: 3 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section--schedule .device-config-col-schedule {
        grid-column: 4 / 6 !important;
        min-width: 0 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section--schedule .device-config-col-updated {
        grid-column: 6 !important;
    }

    html body.cx-design-system .device-config-card .device-config-section--ringtone .device-config-col-value--wide {
        grid-column: 3 / 6 !important;
    }
}

@media (min-width: 1200px) {
    html body.cx-design-system .device-config-card :is(.device-config-section-header, .device-config-section-content) {
        grid-template-columns:
            minmax(150px, .80fr)
            42px
            minmax(190px, 1.00fr)
            minmax(285px, 1.60fr)
            minmax(82px, .46fr)
            minmax(210px, 1.14fr) !important;
        gap: 8px !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    html body.cx-design-system .device-config-card :is(.device-config-section-header, .device-config-section-content) {
        grid-template-columns:
            minmax(120px, .72fr)
            38px
            minmax(170px, .92fr)
            minmax(235px, 1.45fr)
            minmax(70px, .42fr)
            minmax(175px, 1.00fr) !important;
        gap: 6px !important;
    }

    html body.cx-design-system .device-config-card .device-config-col-email {
        font-size: .75rem !important;
    }
}

html body.cx-design-system.sidenav-toggled .app-sidebar-modern
.conexgo-sidebar-brand-primary {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

html body.cx-design-system.sidenav-toggled .app-sidebar-modern
.conexgo-sidebar-brand-compact {
    display: block !important;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body.cx-design-system.sidenav-toggled .app-sidebar-modern
:is(.side-header, .header-brand1, .conexgo-sidebar-brand-link) {
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
}

@media (max-width: 991.98px) {
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern
    .conexgo-sidebar-brand-primary {
        display: none !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern
    .conexgo-sidebar-brand-compact {
        display: block !important;
        width: 48px !important;
        height: 48px !important;
    }
}

/* Dialog fieldset legends: restore breathing room in the border break. */
html body.cx-design-system .mud-dialog.cx-dialog-root
fieldset.cx-modal-group-v21 > legend.cx-r1-section-title,
html body.cx-design-system .mud-dialog.cx-dialog-root
fieldset.cx-modal-group-v21 > legend.cx-device-config-section-title {
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    margin: 0 0 6px 10px !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    vertical-align: middle !important;
    white-space: normal !important;
}

html body.cx-design-system .mud-dialog.cx-dialog-root
fieldset.cx-modal-group-v21 > legend.cx-r1-section-title
:is(.cx-r1-section-icon, .cx-device-config-section-icon) {
    align-self: center !important;
}

/* Settings hover: never inherit a legacy black text color. */
html body.cx-design-system .cx-settings-page-header .breadcrumb a:is(:hover, :focus-visible),
html body.cx-design-system .cx-settings-page-card
a:not(.btn):not(.active):not([aria-selected="true"]):is(:hover, :focus-visible) {
    color: #244b6b !important;
    text-decoration: none !important;
}

html body.cx-design-system .cx-settings-page-alert
.panel-tabs > li:not(.active) > a:not([aria-selected="true"]):is(:hover, :focus-visible),
html body.cx-design-system .cx-settings-page-legal
:is(.nav-link, .nav-tabs .nav-link):not(.active):is(:hover, :focus-visible) {
    border-color: #c9dce9 !important;
    background: #edf5fa !important;
    color: #244863 !important;
}

html body.cx-design-system .cx-settings-page-alert
.panel-tabs > li.active > a:is(:hover, :focus-visible),
html body.cx-design-system .cx-settings-page-alert
.panel-tabs > li > a:is(.active, [aria-selected="true"]):is(:hover, :focus-visible) {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 12px rgba(49, 95, 130, .18) !important;
}

html body.cx-design-system .cx-settings-page-legal
:is(.nav-link, .nav-tabs .nav-link).active:is(:hover, :focus-visible) {
    color: #ffffff !important;
}

html body.cx-design-system .cx-setting-save-button,
html body.cx-design-system .cx-setting-save-button:is(:hover, :focus-visible, :active) {
    border-color: #315879 !important;
    background: #315879 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Settings / General — one coherent settings panel. */
html body.cx-design-system .cx-settings-page-general .card-body {
    padding: 22px 24px !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-form {
    width: min(100%, 980px) !important;
    margin: 0 auto !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-panel {
    overflow: hidden !important;
    border: 1px solid #d8e5ee !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(35, 60, 85, .045) !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-heading {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid #e1eaf1 !important;
    background: #f7fafc !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-heading-icon,
html body.cx-design-system .cx-settings-page-general .cx-settings-general-item-icon {
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 auto !important;
    border: 1px solid #d6e4ee !important;
    background: #eaf2f8 !important;
    color: #315f82 !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-heading-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 11px !important;
    font-size: 17px !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-heading h2 {
    margin: 0 !important;
    color: #274b67 !important;
    font-size: 17px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-heading p {
    margin: 4px 0 0 !important;
    color: #607589 !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-list {
    padding: 0 20px !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-item {
    display: grid !important;
    grid-template-columns: 40px minmax(180px, .8fr) minmax(280px, 1.35fr) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 92px !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #e7eef4 !important;
}

html body.cx-design-system .cx-settings-page-general
.cx-settings-general-item:last-child {
    border-bottom: 0 !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-item-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 9px !important;
    font-size: 14px !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-item-copy {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

html body.cx-design-system .cx-settings-page-general
:is(.cx-settings-general-item-copy label, .cx-settings-general-item-label) {
    margin: 0 !important;
    color: #2d506c !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-item-copy small {
    color: #6a7f91 !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-item-control {
    min-width: 0 !important;
}

html body.cx-design-system .cx-settings-page-general
.cx-settings-general-item-control input.form-control {
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    border: 1px solid #cddde8 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: #223b50 !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-settings-page-general
.cx-settings-general-item-control input.form-control:is(:hover, :focus) {
    border-color: #6f9dbd !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(67, 116, 151, .10) !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-switch {
    width: 100% !important;
    min-height: 44px !important;
    padding: 8px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: 1px solid #cfdee9 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: #31536f !important;
    font: inherit !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-settings-page-general
.cx-settings-general-switch:is(:hover, :focus-visible) {
    border-color: #88abc3 !important;
    background: #f3f8fb !important;
    color: #244b6b !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(67, 116, 151, .10) !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-switch-track {
    position: relative !important;
    width: 38px !important;
    height: 22px !important;
    flex: 0 0 38px !important;
    border-radius: 999px !important;
    background: #b9c7d2 !important;
    transition: background-color .14s ease !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-switch-thumb {
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: 0 1px 4px rgba(35, 60, 85, .22) !important;
    transition: transform .14s ease !important;
}

html body.cx-design-system .cx-settings-page-general
.cx-settings-general-switch.is-on .cx-settings-general-switch-track {
    background: #4f7f60 !important;
}

html body.cx-design-system .cx-settings-page-general
.cx-settings-general-switch.is-on .cx-settings-general-switch-thumb {
    transform: translateX(16px) !important;
}

html body.cx-design-system .cx-settings-page-general .cx-settings-general-actions {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 14px 20px 18px !important;
    border-top: 1px solid #e7eef4 !important;
    background: #fbfdff !important;
}

html body.cx-design-system .cx-settings-page-general .cx-setting-save-button {
    min-height: 42px !important;
    padding: 0 17px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 9px !important;
    font-size: 12.5px !important;
    font-weight: 850 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .mud-dialog.cx-dialog-root
    fieldset.cx-modal-group-v21 > legend.cx-r1-section-title,
    html body.cx-design-system .mud-dialog.cx-dialog-root
    fieldset.cx-modal-group-v21 > legend.cx-device-config-section-title {
        max-width: calc(100% - 18px) !important;
        margin-left: 6px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    html body.cx-design-system .cx-settings-page-general .card-body {
        padding: 14px !important;
    }

    html body.cx-design-system .cx-settings-page-general .cx-settings-general-list {
        padding: 0 16px !important;
    }

    html body.cx-design-system .cx-settings-page-general .cx-settings-general-item {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        gap: 10px 12px !important;
        min-height: 0 !important;
    }

    html body.cx-design-system .cx-settings-page-general .cx-settings-general-item-control {
        grid-column: 2 !important;
        width: 100% !important;
    }
}

@media (max-width: 479.98px) {
    html body.cx-design-system .cx-settings-page-general .cx-settings-general-heading {
        align-items: flex-start !important;
        padding: 15px 16px !important;
    }

    html body.cx-design-system .cx-settings-page-general .cx-settings-general-actions {
        padding: 12px 16px 16px !important;
    }

    html body.cx-design-system .cx-settings-page-general .cx-setting-save-button {
        width: 100% !important;
    }
}

/* --------------------------------------------------------------------------
   Training list — same PagedList/list shell family as Device List.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-training-list-card .device-list-card-body {
    padding-top: 18px !important;
}

html body.cx-design-system .cx-training-table-shell {
    overflow: visible !important;
}

html body.cx-design-system .cx-training-list-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-training-list-action {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 8px !important;
}

html body.cx-design-system .cx-training-list-video-cell {
    min-width: 270px !important;
}

html body.cx-design-system .cx-training-list-video-link {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    color: inherit !important;
    text-decoration: none !important;
}

html body.cx-design-system .cx-training-list-video-link:is(:hover, :focus-visible) {
    color: inherit !important;
    text-decoration: none !important;
}

html body.cx-design-system .cx-training-list-thumbnail {
    width: 64px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 1px solid #d8e4ed !important;
    border-radius: 8px !important;
    background: #edf4f8 !important;
    color: #3e6a8d !important;
}

html body.cx-design-system .cx-training-list-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

html body.cx-design-system .cx-training-list-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}

html body.cx-design-system .cx-training-list-copy strong {
    overflow: hidden !important;
    color: #294d69 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-training-list-copy small {
    overflow: hidden !important;
    color: #6a7d8d !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-training-list-source,
html body.cx-design-system .cx-training-list-status,
html body.cx-design-system .cx-training-list-metric {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px 9px !important;
    border: 1px solid #d9e5ed !important;
    border-radius: 999px !important;
    background: #f7fafc !important;
    color: #3e6078 !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-training-list-status.is-active {
    border-color: #cce2d1 !important;
    background: #eef8f0 !important;
    color: #3f7550 !important;
}

html body.cx-design-system .cx-training-list-status.is-inactive {
    border-color: #e5d2d6 !important;
    background: #fff2f4 !important;
    color: #9b4652 !important;
}

html body.cx-design-system .cx-training-list-metric .fa-star {
    color: #b98525 !important;
}

/* --------------------------------------------------------------------------
   Operator popup — notification-style lifecycle and footer.
   -------------------------------------------------------------------------- */
html body.cx-design-system .conexgo-operator-trigger .operator-badge.is-available {
    background: #4c8a58 !important;
    color: #ffffff !important;
}

html body.cx-design-system .conexgo-operator-trigger .operator-badge.is-unavailable {
    background: #8c98a2 !important;
    color: #ffffff !important;
}

html body.cx-design-system .conexgo-operator-row.is-available {
    --cx-operator-accent: #4c8a58;
}

html body.cx-design-system .conexgo-operator-row.is-busy {
    --cx-operator-accent: #c48a25;
}

html body.cx-design-system .conexgo-operator-row.is-unavailable {
    --cx-operator-accent: #b9505b;
}

html body.cx-design-system .conexgo-operator-see-all-wrap {
    border-top: 1px solid #e3ebf2 !important;
    background: #fbfcfd !important;
}

html body.cx-design-system .conexgo-operator-see-all {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 9px 12px !important;
    background: #fbfcfd !important;
    color: #2c4c6c !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
    transform: none !important;
    transition:
        background-color .38s cubic-bezier(.22, 1, .36, 1),
        color .32s ease,
        box-shadow .38s cubic-bezier(.22, 1, .36, 1) !important;
}

html body.cx-design-system .conexgo-operator-see-all:is(:hover, :focus-visible) {
    background: #f1f6fa !important;
    color: #2c4c6c !important;
    text-decoration: none !important;
    transform: none !important;
}

/* --------------------------------------------------------------------------
   Groups — Device List filter density and action treatment.
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-group-list-filter .cx-group-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.cx-design-system .conexgo-group-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-group-row-action {
    width: 35px !important;
    min-width: 35px !important;
    height: 35px !important;
    min-height: 35px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    float: none !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-group-row-action--edit,
html body.cx-design-system .cx-group-row-action--edit:is(:hover, :focus-visible) {
    border-color: #3e6a99 !important;
    background: #3e6a99 !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-group-row-action--membership,
html body.cx-design-system .cx-group-row-action--membership:is(:hover, :focus-visible) {
    border-color: #c98a2e !important;
    background: #c98a2e !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-group-row-action--map,
html body.cx-design-system .cx-group-row-action--map:is(:hover, :focus-visible) {
    border-color: #6a9947 !important;
    background: #6a9947 !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-group-row-action--delete,
html body.cx-design-system .cx-group-row-action--delete:is(:hover, :focus-visible) {
    border-color: #b8564b !important;
    background: #b8564b !important;
    color: #ffffff !important;
}

@media (max-width: 991.98px) {
    html body.cx-design-system .cx-group-list-filter .cx-group-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-group-list-filter .cx-group-filter-grid {
        grid-template-columns: 1fr !important;
    }

    html body.cx-design-system .cx-training-list-video-link {
        grid-template-columns: 52px minmax(0, 1fr) !important;
    }

    html body.cx-design-system .cx-training-list-thumbnail {
        width: 52px !important;
        height: 36px !important;
    }
}

html body.cx-design-system
.conexgo-operator-dropdown
.conexgo-operator-header-copy
.conexgo-operator-header-title {
    display: block !important;
    color: #ffffff !important;
    font-size: 1.12rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: .005em !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) {
    width: 100% !important;
    max-width: 1180px !important;
    grid-template-columns: minmax(230px, 360px) minmax(300px, 500px) minmax(170px, 220px) !important;
    justify-content: start !important;
    column-gap: 16px !important;
}

html body.cx-design-system .device-map-settings :is(.conexgo-history-display, .conexgo-history-period, .conexgo-history-action) {
    width: 100% !important;
    min-width: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-display { max-width: 360px !important; }
html body.cx-design-system .device-map-settings .conexgo-history-period { max-width: 500px !important; }
html body.cx-design-system .device-map-settings .conexgo-history-action { max-width: 226px !important; }

html body.cx-design-system .device-map-settings .conexgo-history-results {
    display: grid !important;
    grid-template-columns: minmax(280px, 430px) minmax(390px, 680px) !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 12px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    width: 100% !important;
    max-width: 430px !important;
    min-width: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: 100% !important;
    max-width: 680px !important;
    min-width: 0 !important;
}

html body.cx-design-system .cx-map-state {
    padding: 16px !important;
    background: #f4f8fb !important;
    color: #315f82 !important;
}

html body.cx-design-system .cx-map-state__card {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
    padding: 18px 20px !important;
    border: 1px solid #c9dce9 !important;
    border-left: 4px solid #3e789f !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(44, 76, 108, .07) !important;
}

html body.cx-design-system .cx-map-state__icon {
    width: 36px !important;
    height: 36px !important;
    margin: 0 auto 9px !important;
    border-radius: 9px !important;
    background: #e9f3f9 !important;
    color: #39739a !important;
    font-size: 17px !important;
}

html body.cx-design-system .cx-map-state__spinner {
    width: 30px !important;
    height: 30px !important;
    border: 3px solid #dbe9f2 !important;
    border-top-color: #39739a !important;
    background: transparent !important;
}

html body.cx-design-system :is(.cx-map-state--error, .cx-map-state--empty) .cx-map-state__icon {
    color: #39739a !important;
    background: #e9f3f9 !important;
}

html body.cx-design-system .cx-map-state__title {
    color: #244d6c !important;
    font-size: 10pt !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-map-state__subtitle {
    margin-top: 4px !important;
    color: #667f92 !important;
    font-size: 8.7pt !important;
}

html body.cx-design-system .device-map-empty-state {
    width: min(calc(100% - 28px), 360px) !important;
    min-height: 0 !important;
    padding: 18px 20px !important;
    border: 1px solid #c9dce9 !important;
    border-left: 4px solid #3e789f !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(44, 76, 108, .07) !important;
}

html body.cx-design-system .device-map-empty-icon {
    width: 36px !important;
    height: 36px !important;
    margin-bottom: 9px !important;
    border-radius: 9px !important;
    background: #e9f3f9 !important;
    color: #39739a !important;
    font-size: 17px !important;
}

html body.cx-design-system .device-map-empty-title { color: #244d6c !important; }
html body.cx-design-system .device-map-empty-description { color: #667f92 !important; }

html body.cx-design-system .cx-profile-signout,
html body.cx-design-system .cx-profile-signout .dropdown-icon { color: #b43f4b !important; }

html body.cx-design-system .cx-profile-signout:hover,
html body.cx-design-system .cx-profile-signout:focus-visible {
    color: #a8323e !important;
    background: #fff0f2 !important;
}

html body.cx-design-system .cx-profile-signout:hover .dropdown-icon,
html body.cx-design-system .cx-profile-signout:focus-visible .dropdown-icon { color: #a8323e !important; }

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
    cursor: pointer !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-label {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-chevron {
    flex: 0 0 auto !important;
    color: #5b7890 !important;
    transition: transform .18s ease !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle[aria-expanded="true"] .cx-r18-108-contact-section-chevron {
    transform: rotate(180deg) !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle:hover .cx-r18-108-contact-section-chevron,
html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle:focus-visible .cx-r18-108-contact-section-chevron {
    color: #315f82 !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) {
        max-width: none !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-action { max-width: none !important; }
    html body.cx-design-system .device-map-settings .conexgo-history-results { grid-template-columns: minmax(0, 1fr) !important; }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Alert resource toggles: the open state is materially darker than the closed state. */
html body.cx-design-system .alert-answer-toggle-danger.cx-resource-active,
html body.cx-design-system .alert-answer-toggle-danger.active.cx-resource-active {
    background: #8f2632 !important;
    border-color: #7b202b !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(143, 38, 50, .18) !important;
}

html body.cx-design-system .alert-answer-toggle-info.cx-resource-active,
html body.cx-design-system .alert-answer-toggle-info.active.cx-resource-active {
    background: #245f8f !important;
    border-color: #1e527c !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(36, 95, 143, .18) !important;
}

html body.cx-design-system .alert-answer-toggle-documents.cx-resource-active,
html body.cx-design-system .alert-answer-toggle-documents.active.cx-resource-active {
    background: #2d735b !important;
    border-color: #24634e !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(45, 115, 91, .18) !important;
}

html body.cx-design-system :is(.alert-answer-toggle-danger, .alert-answer-toggle-info, .alert-answer-toggle-documents).cx-resource-active i {
    color: currentColor !important;
}

/* Last-known map fallback is informational, not an error. */
html body.cx-design-system .cx-alert-map-fallback-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 2px;
    padding: 9px 11px;
    border: 1px solid #c8deec;
    border-radius: 9px;
    background: #eef6fb;
    color: #315f7d;
    font-size: .84rem;
    line-height: 1.35;
}

/* Contextual device log hub. */
html body.cx-design-system .cx-logs-hub--loading {
    min-height: 230px;
    display: grid;
    place-items: center;
}

html body.cx-design-system .cx-logs-device-context {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid #cfdfe9;
    border-left: 4px solid #39739a;
    border-radius: 10px;
    background: #f8fbfd;
}

html body.cx-design-system .cx-logs-device-context__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
    background: #e6f1f7;
    color: #39739a;
}

html body.cx-design-system .cx-logs-device-context__copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

html body.cx-design-system .cx-logs-device-context__copy strong {
    overflow: hidden;
    color: #244d6c;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html body.cx-design-system .cx-logs-device-context__copy small {
    color: #6b7f8d;
    overflow-wrap: anywhere;
}

/* Training actions: keep the same compact language as the rest of list actions. */
html body.cx-design-system .cx-training-list-action {
    width: 32px;
    height: 32px;
    padding: 0 !important;
    display: inline-grid;
    place-items: center;
    border-radius: 8px !important;
}

html body.cx-design-system .cx-training-list-action--delete {
    border: 1px solid #e4c8cb !important;
    background: #fff5f6 !important;
    color: #a43c47 !important;
}

html body.cx-design-system .cx-training-list-action--delete:hover,
html body.cx-design-system .cx-training-list-action--delete:focus-visible {
    border-color: #dcaeb3 !important;
    background: #fbe9eb !important;
    color: #8f2f39 !important;
}

/* Row menu interactions: subtle icon motion only. */
html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item .cx-row-menu-icon,
html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item .cx-row-action-icon-gap {
    transition: transform 140ms ease, color 140ms ease !important;
    transform-origin: center;
}

html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item:hover .cx-row-menu-icon,
html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item:focus-visible .cx-row-menu-icon,
html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item:hover .cx-row-action-icon-gap,
html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item:focus-visible .cx-row-action-icon-gap {
    transform: translateY(-1px) scale(1.045);
}

/* Conexgo-owned scrollbars. Avoid generic * selectors so Maps/third-party widgets keep their own scrolling. */
html,
body,
html body.cx-design-system .mud-dialog-content,
html body.cx-design-system .dropdown-menu,
html body.cx-design-system .table-responsive,
html body.cx-design-system .cx-list-table-shell,
html body.cx-design-system .cx-log-list-card .card-body,
html body.cx-design-system .cx-device-map-settings,
html body.cx-design-system .device-map-settings,
html body.cx-design-system .cx-modal-layout-v21 {
    scrollbar-width: thin;
    scrollbar-color: #6d9bb8 transparent;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar,
html body.cx-design-system .dropdown-menu::-webkit-scrollbar,
html body.cx-design-system .table-responsive::-webkit-scrollbar,
html body.cx-design-system .cx-list-table-shell::-webkit-scrollbar,
html body.cx-design-system .cx-log-list-card .card-body::-webkit-scrollbar,
html body.cx-design-system .cx-device-map-settings::-webkit-scrollbar,
html body.cx-design-system .device-map-settings::-webkit-scrollbar,
html body.cx-design-system .cx-modal-layout-v21::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar-track,
html body.cx-design-system .dropdown-menu::-webkit-scrollbar-track,
html body.cx-design-system .table-responsive::-webkit-scrollbar-track,
html body.cx-design-system .cx-list-table-shell::-webkit-scrollbar-track,
html body.cx-design-system .cx-log-list-card .card-body::-webkit-scrollbar-track,
html body.cx-design-system .cx-device-map-settings::-webkit-scrollbar-track,
html body.cx-design-system .device-map-settings::-webkit-scrollbar-track,
html body.cx-design-system .cx-modal-layout-v21::-webkit-scrollbar-track {
    background: transparent;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar-thumb,
html body.cx-design-system .dropdown-menu::-webkit-scrollbar-thumb,
html body.cx-design-system .table-responsive::-webkit-scrollbar-thumb,
html body.cx-design-system .cx-list-table-shell::-webkit-scrollbar-thumb,
html body.cx-design-system .cx-log-list-card .card-body::-webkit-scrollbar-thumb,
html body.cx-design-system .cx-device-map-settings::-webkit-scrollbar-thumb,
html body.cx-design-system .device-map-settings::-webkit-scrollbar-thumb,
html body.cx-design-system .cx-modal-layout-v21::-webkit-scrollbar-thumb {
    min-height: 28px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: #6d9bb8;
    background-clip: padding-box;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .dropdown-menu::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .table-responsive::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .cx-list-table-shell::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .cx-log-list-card .card-body::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .cx-device-map-settings::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .device-map-settings::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .cx-modal-layout-v21::-webkit-scrollbar-thumb:hover {
    background: #39739a;
    background-clip: padding-box;
}

/* Sidebar: scrolling always works, but the thumb is visually quiet until interaction. */
html body.cx-design-system .app-sidebar-modern .main-sidemenu {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar {
    width: 6px;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar-track {
    background: transparent;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: transparent;
    transition: background-color 150ms ease;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu:is(:hover, :focus-within),
html body.cx-design-system .app-sidebar-modern .main-sidemenu.cx-r18-109-scroll-active {
    scrollbar-color: #6d9bb8 transparent;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu:is(:hover, :focus-within)::-webkit-scrollbar-thumb,
html body.cx-design-system .app-sidebar-modern .main-sidemenu.cx-r18-109-scroll-active::-webkit-scrollbar-thumb {
    background: #6d9bb8;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu:is(:hover, :focus-within)::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .app-sidebar-modern .main-sidemenu.cx-r18-109-scroll-active::-webkit-scrollbar-thumb:hover {
    background: #39739a;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item :is(.cx-row-menu-icon, .cx-row-action-icon-gap) {
        transition: none !important;
        transform: none !important;
    }
}

html body.cx-design-system :is(.dropdown-menu, .cx-row-menu-portal) .dropdown-item :is(.cx-row-menu-icon, .cx-row-action-icon-gap) {
    margin-right: 8px !important;
}

/* Breadcrumbs must remain readable on the light page header. */
html body.cx-design-system .page-header .breadcrumb .breadcrumb-item > a,
html body.cx-design-system .page-header .breadcrumb .breadcrumb-item > span {
    color: #526f87 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

html body.cx-design-system .page-header .breadcrumb .breadcrumb-item > a:hover,
html body.cx-design-system .page-header .breadcrumb .breadcrumb-item > a:focus-visible {
    color: #244f72 !important;
    text-decoration-color: #8ca8bc !important;
}

html body.cx-design-system .page-header .breadcrumb .breadcrumb-item.active {
    color: #1f4565 !important;
    font-weight: 700 !important;
}

html body.cx-design-system .page-header .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #afbdc9 !important;
    opacity: 1 !important;
}

/* Training list actions: semantic, but no large saturated blocks. */
html body.cx-design-system .cx-training-list-actions {
    gap: 8px !important;
}

html body.cx-design-system .cx-training-list-action {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease !important;
}

html body.cx-design-system a.btn-primary.cx-training-list-action {
    border: 1px solid #c9d9e5 !important;
    background: #eef4f8 !important;
    color: #35698e !important;
}

html body.cx-design-system a.btn-primary.cx-training-list-action:is(:hover, :focus-visible) {
    border-color: #aec7d9 !important;
    background: #e3eef5 !important;
    color: #285a7e !important;
    transform: translateY(-1px) !important;
}

html body.cx-design-system button.btn-warning.cx-training-list-action {
    border: 1px solid #e3d9bd !important;
    background: #f8f5ec !important;
    color: #7c6831 !important;
}

html body.cx-design-system button.btn-warning.cx-training-list-action:is(:hover, :focus-visible) {
    border-color: #d5c69e !important;
    background: #f2ecdd !important;
    color: #675421 !important;
    transform: translateY(-1px) !important;
}

html body.cx-design-system .cx-training-list-action--delete {
    border: 1px solid #e4cfd2 !important;
    background: #fbf4f5 !important;
    color: #9a4b55 !important;
}

html body.cx-design-system .cx-training-list-action--delete:is(:hover, :focus-visible) {
    border-color: #d9b9be !important;
    background: #f6e9eb !important;
    color: #873b45 !important;
    transform: translateY(-1px) !important;
}

/* Sidebar scrollbar stays visible; scrolling remains native. */
html body.cx-design-system .app-sidebar-modern .main-sidemenu {
    scrollbar-width: thin !important;
    scrollbar-color: #789db7 transparent !important;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar {
    width: 6px !important;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar-track {
    background: transparent !important;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar-thumb,
html body.cx-design-system .app-sidebar-modern .main-sidemenu.cx-r18-109-scroll-active::-webkit-scrollbar-thumb,
html body.cx-design-system .app-sidebar-modern .main-sidemenu:is(:hover, :focus-within)::-webkit-scrollbar-thumb {
    min-height: 32px !important;
    border-radius: 999px !important;
    background: #789db7 !important;
}

html body.cx-design-system .app-sidebar-modern .main-sidemenu::-webkit-scrollbar-thumb:hover {
    background: #4f7f9f !important;
}

/*
 * Mobile/tablet sidebar: one authoritative drawer contract.
 * Desktop collapsed-rail rules must never leak into the mobile meaning of
 * `sidenav-toggled` (which means OPEN on touch layouts).
 */
@media (max-width: 991.98px) {
    html body.cx-design-system .app-sidebar-shell {
        position: static !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.cx-design-system .app-sidebar__overlay {
        position: fixed !important;
        inset: 0 !important;
        z-index: 1000000 !important;
        display: block !important;
        background: rgba(25, 44, 62, .28) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .18s ease, visibility .18s ease !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar__overlay {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern,
    html body.cx-design-system .app-sidebar-modern:hover,
    html body.cx-design-system .app-sidebar-modern:focus-within,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:focus-within {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        z-index: 1000001 !important;
        width: min(286px, calc(100vw - 56px)) !important;
        min-width: min(286px, calc(100vw - 56px)) !important;
        max-width: min(286px, calc(100vw - 56px)) !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        background: #fff !important;
        border-right: 1px solid #dce5ec !important;
        box-shadow: 10px 0 26px rgba(31, 61, 89, .16) !important;
        transform: translateX(calc(-100% - 12px)) !important;
        transition: transform .2s ease !important;
    }

    html body.cx-design-system.sidenav-toggled .app-sidebar-modern,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:focus-within {
        transform: translateX(0) !important;
    }

    html body.cx-design-system.sidenav-toggled {
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-header {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 64px !important;
        height: 64px !important;
        max-height: 64px !important;
        flex: 0 0 64px !important;
        margin: 0 !important;
        padding: 8px 10px 8px 14px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        overflow: hidden !important;
        background: #fff !important;
        border-bottom: 1px solid #e5ebf0 !important;
        box-shadow: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-header .header-brand1,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-header .header-brand1 {
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 46px) !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-brand-primary,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-brand-primary,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .conexgo-sidebar-brand-primary {
        display: block !important;
        width: 124px !important;
        min-width: 0 !important;
        max-width: 124px !important;
        height: 46px !important;
        max-height: 46px !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        object-fit: contain !important;
        object-position: left center !important;
        transform: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-brand-compact,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-brand-compact {
        display: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .app-sidebar-mobile-close,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .app-sidebar-mobile-close {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-grid !important;
        place-items: center !important;
        flex: 0 0 36px !important;
        border: 1px solid #dbe5ec !important;
        border-radius: 9px !important;
        background: #f6f9fb !important;
        color: #315d7d !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .main-sidemenu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .main-sidemenu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .main-sidemenu {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: calc(100dvh - 64px) !important;
        max-height: calc(100dvh - 64px) !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: 8px 8px 18px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        scrollbar-gutter: stable !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern .sub-category,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .sub-category,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .sub-category {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-toggle,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-section-toggle,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .conexgo-sidebar-section-toggle {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 44px !important;
        margin: 7px 0 5px !important;
        padding: 0 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        border-radius: 8px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-title,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-section-title {
        min-width: 0 !important;
        font-size: .74rem !important;
        line-height: 1.2 !important;
        letter-spacing: .07em !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-chevron,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .conexgo-sidebar-section-chevron {
        width: 22px !important;
        min-width: 22px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu__item,
    html body.cx-design-system .app-sidebar-modern:hover .side-menu__item,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__item,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .side-menu__item,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 48px !important;
        margin: 3px 0 !important;
        padding: 5px 8px !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) 22px !important;
        align-items: center !important;
        column-gap: 8px !important;
        overflow: hidden !important;
        border-radius: 10px !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu__icon,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__icon,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__icon {
        grid-column: 1 !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 9px !important;
        transform: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu__label,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__label,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__label {
        grid-column: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        color: inherit !important;
        opacity: 1 !important;
        visibility: visible !important;
        font-size: .94rem !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu__item > .angle,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .side-menu__item > .angle,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__item > .angle {
        grid-column: 3 !important;
        width: 22px !important;
        max-width: 22px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system .app-sidebar-modern .slide-menu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .slide-menu,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover .slide-menu {
        position: static !important;
        inset: auto !important;
        width: calc(100% - 50px) !important;
        min-width: 0 !important;
        max-width: calc(100% - 50px) !important;
        max-height: none !important;
        margin: 3px 0 7px 50px !important;
        padding: 3px 0 !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
    }

    html body.cx-design-system .app-sidebar-modern .slide-menu .slide-item,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern .slide-menu .slide-item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 38px !important;
        margin: 2px 0 !important;
        padding: 8px 10px !important;
        display: block !important;
        border-radius: 8px !important;
        font-size: .86rem !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        transform: none !important;
    }

    /* The drawer overlays the page; opening it must never reflow the page. */
    html body.cx-design-system .main-content.app-content,
    html body.cx-design-system.sidenav-toggled .main-content.app-content,
    html body.cx-design-system .app-header,
    html body.cx-design-system.sidenav-toggled .app-header,
    html body.cx-design-system .footer,
    html body.cx-design-system.sidenav-toggled .footer {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .app-sidebar-modern,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern,
    html body.cx-design-system.sidenav-toggled .app-sidebar-modern:hover {
        width: min(278px, calc(100vw - 44px)) !important;
        min-width: min(278px, calc(100vw - 44px)) !important;
        max-width: min(278px, calc(100vw - 44px)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .app-sidebar__overlay,
    html body.cx-design-system .app-sidebar-modern,
    html body.cx-design-system .cx-training-list-action {
        transition: none !important;
    }
}

/* Five mobile destinations must stay on one single row. */
@media (max-width: 767.98px) {
    html body.cx-design-system .conexgo-mobile-quick-nav {
        grid-auto-flow: column !important;
        grid-auto-rows: 1fr !important;
        align-items: stretch !important;
        min-height: 64px !important;
        max-height: 74px !important;
        gap: 2px !important;
        padding: 5px !important;
    }

    html body.cx-design-system .conexgo-mobile-quick-nav.cx-mobile-links-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system .conexgo-mobile-quick-nav.cx-mobile-links-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system .conexgo-mobile-quick-nav.cx-mobile-links-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system .conexgo-mobile-quick-nav__item {
        min-width: 0 !important;
        min-height: 52px !important;
        max-height: 62px !important;
        padding: 4px 1px !important;
        gap: 3px !important;
        border-radius: 8px !important;
        font-size: clamp(.62rem, 2.65vw, .72rem) !important;
        line-height: 1.05 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .conexgo-mobile-quick-nav__item i {
        font-size: 1.18rem !important;
        line-height: 1 !important;
    }

    html body.cx-design-system .conexgo-mobile-quick-nav__item span {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        text-align: center !important;
    }
}

/*
 * The parent .sub-category already owns the straight green rule.
 * Remove the second green/rounded rule from the toggle itself.
 */
@media (max-width: 991.98px) {
    html body.cx-design-system .cx-app-sidebar .side-menu > .sub-category {
        border-left: 4px solid #89c540 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    html body.cx-design-system .cx-app-sidebar .side-menu > .sub-category > .conexgo-sidebar-section-toggle {
        border-left: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    html body.cx-design-system .cx-app-sidebar .side-menu > .sub-category > .conexgo-sidebar-section-toggle::before,
    html body.cx-design-system .cx-app-sidebar .side-menu > .sub-category > .conexgo-sidebar-section-toggle::after {
        content: none !important;
        display: none !important;
    }
}

/* Training editor: align Sort Order and the visibility switch with their labels. */
html body.cx-design-system .cx-training-dialog .cx-training-order-row,
html body.cx-design-system .cx-training-dialog .cx-training-active-row {
    min-height: 52px !important;
    align-items: center !important;
}

html body.cx-design-system .cx-training-dialog .cx-training-bottom-label,
html body.cx-design-system .cx-training-dialog .cx-training-bottom-control {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
}

html body.cx-design-system .cx-training-dialog .cx-training-bottom-label {
    justify-content: flex-end !important;
}

html body.cx-design-system .cx-training-dialog .cx-training-bottom-label > label {
    margin: 0 !important;
    line-height: 1.2 !important;
    text-align: right !important;
}

html body.cx-design-system .cx-training-dialog .cx-training-switch-control {
    justify-content: flex-start !important;
}

html body.cx-design-system .cx-training-dialog .cx-training-switch-control :is(.cx-switch--training, .cx-switch) {
    margin: 0 !important;
    align-self: center !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-training-dialog .cx-training-bottom-label {
        justify-content: flex-start !important;
        min-height: auto !important;
        margin-bottom: 5px !important;
    }

    html body.cx-design-system .cx-training-dialog .cx-training-bottom-label > label {
        text-align: left !important;
        white-space: normal !important;
    }

    html body.cx-design-system .cx-training-dialog .cx-training-bottom-control {
        min-height: 44px !important;
    }
}

/* Training list: explicit table-loading surface, matching the other list pages. */
html body.cx-design-system .cx-training-table-loading {
    min-height: 240px !important;
    display: grid !important;
    place-items: center !important;
    padding: 28px 16px !important;
}

/* Training detail: remove the large empty vertical area under the player. */
html body.cx-design-system .cx-training-player-card .cx-training-detail-copy {
    padding: 14px 18px 16px !important;
}

html body.cx-design-system .cx-training-player-card .cx-training-detail-copy h2 {
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
}

html body.cx-design-system .cx-training-player-card .cx-training-detail-copy p {
    margin: 0 !important;
    line-height: 1.45 !important;
}

html body.cx-design-system .cx-training-player-card .cx-training-detail-meta {
    margin-top: 10px !important;
    gap: 10px 16px !important;
}

/* ==========================================================================
   ADMINISTRATION — Training shortcut must look enabled, sober and intentional.
   ========================================================================== */
html body.cx-design-system .cx-administration-training-link {
    background: #eef5fa !important;
    color: #315f80 !important;
    border: 1px solid #c8dbe8 !important;
    box-shadow: 0 2px 7px rgba(38, 77, 107, .06) !important;
    opacity: 1 !important;
    filter: none !important;
}

html body.cx-design-system .cx-administration-training-link > i,
html body.cx-design-system .cx-administration-training-link > span {
    color: inherit !important;
    opacity: 1 !important;
}

html body.cx-design-system .cx-administration-training-link:hover,
html body.cx-design-system .cx-administration-training-link:focus-visible {
    background: #e2eef6 !important;
    color: #244f70 !important;
    border-color: #aac7d9 !important;
}

/* ==========================================================================
   TRAINING DETAIL — icon/text spacing.
   ========================================================================== */
html body.cx-design-system .cx-training-detail-meta > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-training-detail-meta > span > i {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

/* ==========================================================================
   TRAINING ADD/EDIT — creation date follows the Device Add/Edit visual system.
   ========================================================================== */
html body.cx-design-system .cx-training-dialog .cx-r1-form-row-readonly {
    min-height: 58px !important;
    align-items: center !important;
    margin-bottom: 14px !important;
}

html body.cx-design-system .cx-training-dialog .cx-r1-form-row-readonly > .form-label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-height: 54px !important;
}

html body.cx-design-system .cx-training-dialog .cx-r1-form-row-readonly > .form-label > label {
    margin: 0 !important;
    color: #355671 !important;
    font-weight: 750 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
    text-align: right !important;
}

html body.cx-design-system .cx-training-dialog .cx-r1-form-row-readonly .cx-readonly-value {
    width: 100% !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    background: #f7fbfd !important;
    color: #244e6d !important;
    border: 1px solid #c8d9e5 !important;
    border-left: 4px solid #87b2cf !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
}

html body.cx-design-system .cx-training-dialog .cx-r1-form-row-readonly .cx-readonly-value > i {
    width: 34px !important;
    height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 34px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: #edf5fa !important;
    color: #35698e !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-training-dialog .cx-r1-form-row-readonly > .form-label {
        justify-content: flex-start !important;
        min-height: auto !important;
        margin-bottom: 5px !important;
    }

    html body.cx-design-system .cx-training-dialog .cx-r1-form-row-readonly > .form-label > label {
        text-align: left !important;
    }
}

/* ==========================================================================
   SCROLLBARS — keep them visible, thin and Conexgo-blue.
   This intentionally does NOT target Google Maps internal .gm-style surfaces.
   ========================================================================== */
html,
body,
html body.cx-design-system .app-sidebar,
html body.cx-design-system .main-sidemenu,
html body.cx-design-system .side-menu,
html body.cx-design-system .app-content,
html body.cx-design-system .main-content,
html body.cx-design-system .mud-dialog-content,
html body.cx-design-system .cx-dialog-v17-content,
html body.cx-design-system .cx-dialog-content,
html body.cx-design-system .table-responsive {
    scrollbar-width: thin !important;
    scrollbar-color: #5b86a6 #edf3f7 !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
html body.cx-design-system .app-sidebar::-webkit-scrollbar,
html body.cx-design-system .main-sidemenu::-webkit-scrollbar,
html body.cx-design-system .side-menu::-webkit-scrollbar,
html body.cx-design-system .app-content::-webkit-scrollbar,
html body.cx-design-system .main-content::-webkit-scrollbar,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar,
html body.cx-design-system .cx-dialog-v17-content::-webkit-scrollbar,
html body.cx-design-system .cx-dialog-content::-webkit-scrollbar,
html body.cx-design-system .table-responsive::-webkit-scrollbar {
    width: 7px !important;
    height: 7px !important;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
html body.cx-design-system .app-sidebar::-webkit-scrollbar-track,
html body.cx-design-system .main-sidemenu::-webkit-scrollbar-track,
html body.cx-design-system .side-menu::-webkit-scrollbar-track,
html body.cx-design-system .app-content::-webkit-scrollbar-track,
html body.cx-design-system .main-content::-webkit-scrollbar-track,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar-track,
html body.cx-design-system .cx-dialog-v17-content::-webkit-scrollbar-track,
html body.cx-design-system .cx-dialog-content::-webkit-scrollbar-track,
html body.cx-design-system .table-responsive::-webkit-scrollbar-track {
    background: #edf3f7 !important;
    border-radius: 999px !important;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
html body.cx-design-system .app-sidebar::-webkit-scrollbar-thumb,
html body.cx-design-system .main-sidemenu::-webkit-scrollbar-thumb,
html body.cx-design-system .side-menu::-webkit-scrollbar-thumb,
html body.cx-design-system .app-content::-webkit-scrollbar-thumb,
html body.cx-design-system .main-content::-webkit-scrollbar-thumb,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar-thumb,
html body.cx-design-system .cx-dialog-v17-content::-webkit-scrollbar-thumb,
html body.cx-design-system .cx-dialog-content::-webkit-scrollbar-thumb,
html body.cx-design-system .table-responsive::-webkit-scrollbar-thumb {
    background: #5b86a6 !important;
    border: 1px solid #edf3f7 !important;
    border-radius: 999px !important;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .app-sidebar::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .main-sidemenu::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .side-menu::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .app-content::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .main-content::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .mud-dialog-content::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .cx-dialog-v17-content::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .cx-dialog-content::-webkit-scrollbar-thumb:hover,
html body.cx-design-system .table-responsive::-webkit-scrollbar-thumb:hover {
    background: #416f92 !important;
}

/* ==========================================================================
   DEVICE MAP — restore a compact history toolbar.
   ========================================================================== */
html body.cx-design-system .device-map-settings > .setting_header:not(#map-controller) {
    padding: 12px 16px !important;
    background: #f7fafc !important;
    border-bottom: 1px solid #d4e1ea !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom) {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(210px, 280px) minmax(210px, 280px) minmax(150px, 190px) !important;
    justify-content: start !important;
    align-items: end !important;
    gap: 12px 14px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(180px, 240px)) repeat(4, minmax(150px, 210px)) minmax(150px, 190px) !important;
    justify-content: start !important;
    align-items: end !important;
    gap: 10px 12px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form > * {
    min-width: 0 !important;
    max-width: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-label {
    margin: 0 0 5px !important;
    color: #49657b !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

html body.cx-design-system .device-map-settings :is(.cx-control--history, .conexgo-history-control),
html body.cx-design-system .device-map-settings .conexgo-history-primary .cx-custom-select {
    width: 100% !important;
    max-width: 280px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-date :is(.conexgo-history-control, .cx-date-picker),
html body.cx-design-system .device-map-settings .conexgo-history-time :is(.conexgo-history-control, .cx-time-picker) {
    width: 100% !important;
    max-width: 210px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-action {
    width: 100% !important;
    max-width: 190px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-go {
    width: 100% !important;
    min-width: 150px !important;
    max-width: 190px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 18px !important;
    border-radius: 9px !important;
}

html body.cx-design-system .device-map-settings > #map-controller,
html body.cx-design-system .device-map-settings > .conexgo-map-controller {
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 14px !important;
    background: #f6f9fb !important;
    border-top: 1px solid #dce6ee !important;
    border-bottom: 1px solid #d5e1ea !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 340px) minmax(360px, 460px) !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 10px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count,
html body.cx-design-system .device-map-settings .conexgo-history-playback {
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #cbdbe6 !important;
    border-radius: 9px !important;
    box-shadow: 0 2px 7px rgba(26, 61, 88, .04) !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    width: 100% !important;
    max-width: 340px !important;
    padding: 5px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    color: #294f6d !important;
    font-size: 12.75px !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 8px !important;
    background: #f6f9fb !important;
    color: #527b99 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: 100% !important;
    max-width: 460px !important;
    padding: 4px 6px !important;
    display: grid !important;
    grid-template-columns: auto minmax(150px, 1fr) auto !important;
    align-items: center !important;
    gap: 6px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 7px !important;
    background: #f6f9fb !important;
}

/* ==========================================================================
   ALL MAP SURFACES — centered, readable loading / empty / error states.
   ========================================================================== */
html body.cx-design-system .cx-map-state {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    display: grid !important;
    place-items: center !important;
    padding: 28px !important;
    background: #f5f8fa !important;
}

html body.cx-design-system .cx-map-state__card {
    width: min(560px, calc(100% - 32px)) !important;
    max-width: 560px !important;
    min-height: 180px !important;
    padding: 28px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: #fff !important;
    border: 1px solid #cbdce7 !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 24px rgba(31, 65, 91, .08) !important;
}

html body.cx-design-system .cx-map-state__icon {
    width: 52px !important;
    height: 52px !important;
    margin: 0 auto 12px !important;
    border-radius: 13px !important;
    background: #edf5fa !important;
    font-size: 22px !important;
}

html body.cx-design-system .cx-map-state__title {
    font-size: 1.05rem !important;
    font-weight: 780 !important;
    line-height: 1.3 !important;
    color: #264f6d !important;
}

html body.cx-design-system .cx-map-state__subtitle {
    max-width: 460px !important;
    margin-top: 7px !important;
    color: #687f91 !important;
    font-size: .9rem !important;
    line-height: 1.45 !important;
}

html body.cx-design-system .cx-map-state--error .cx-map-state__card {
    border-color: #e7c6c6 !important;
    background: #fffafa !important;
}

html body.cx-design-system .cx-map-state--error .cx-map-state__icon {
    background: #fff0f0 !important;
    color: #a94747 !important;
}

/* Device Map empty GPS state occupies the useful map area and is centered. */
html body.cx-design-system .device-map-canvas-shell {
    position: relative !important;
    min-height: clamp(340px, 43vh, 460px) !important;
}

html body.cx-design-system .device-map-canvas-shell.is-empty {
    min-height: clamp(340px, 43vh, 440px) !important;
    display: grid !important;
    place-items: center !important;
    background: #f5f8fa !important;
}

html body.cx-design-system .device-map-canvas-shell.is-empty #map-canvas {
    min-height: inherit !important;
}

html body.cx-design-system .device-map-empty-state {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(620px, calc(100% - 40px)) !important;
    max-width: 620px !important;
    min-height: 210px !important;
    margin: 0 !important;
    padding: 30px 38px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: #fff !important;
    border: 1px solid #cbdce7 !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 24px rgba(31, 65, 91, .07) !important;
}

html body.cx-design-system .device-map-empty-icon {
    width: 54px !important;
    height: 54px !important;
    margin: 0 auto 14px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 13px !important;
    background: #edf5fa !important;
    color: #46799c !important;
    font-size: 22px !important;
}

html body.cx-design-system .device-map-empty-title {
    color: #264f6d !important;
    font-size: 1.12rem !important;
    font-weight: 780 !important;
    line-height: 1.3 !important;
}

html body.cx-design-system .device-map-empty-description {
    max-width: 500px !important;
    margin-top: 8px !important;
    color: #687f91 !important;
    font-size: .93rem !important;
    line-height: 1.45 !important;
}

/* Alert View / Alert Answer empty states use the same centered visual language. */
html body.cx-design-system :is(.alert-view-map-canvas, .alert-answer-map-canvas) {
    position: relative !important;
    min-height: clamp(300px, 40vh, 430px) !important;
}

html body.cx-design-system :is(.alert-view-map-empty, .alert-answer-map-empty) {
    width: min(560px, calc(100% - 40px)) !important;
    max-width: 560px !important;
    min-height: 180px !important;
    margin: 24px auto !important;
    padding: 28px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: #fff !important;
    border: 1px solid #cbdce7 !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 24px rgba(31, 65, 91, .07) !important;
}

html body.cx-design-system :is(.alert-view-map-empty, .alert-answer-map-empty) i {
    margin-bottom: 10px !important;
    color: #46799c !important;
    font-size: 1.35rem !important;
}

/* Prevent map-empty/loading cards from becoming huge full-width blocks on desktop. */
html body.cx-design-system .device-map-loading-card {
    width: min(560px, calc(100% - 32px)) !important;
    max-width: 560px !important;
    min-height: 180px !important;
    padding: 28px 34px !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 24px rgba(31, 65, 91, .08) !important;
}

@media (max-width: 1100px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom),
    html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-action {
        max-width: 226px !important;
    }
}

@media (max-width: 820px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        max-width: 520px !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form:not(.is-custom),
    html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .device-map-settings :is(.cx-control--history, .conexgo-history-control),
    html body.cx-design-system .device-map-settings .conexgo-history-primary .cx-custom-select,
    html body.cx-design-system .device-map-settings .conexgo-history-date :is(.conexgo-history-control, .cx-date-picker),
    html body.cx-design-system .device-map-settings .conexgo-history-time :is(.conexgo-history-control, .cx-time-picker),
    html body.cx-design-system .device-map-settings .conexgo-history-action,
    html body.cx-design-system .device-map-settings .conexgo-history-go {
        width: 100% !important;
        max-width: none !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count {
        white-space: normal !important;
    }

    html body.cx-design-system .device-map-canvas-shell,
    html body.cx-design-system .device-map-canvas-shell.is-empty {
        min-height: 320px !important;
    }

    html body.cx-design-system .device-map-empty-state,
    html body.cx-design-system .cx-map-state__card,
    html body.cx-design-system :is(.alert-view-map-empty, .alert-answer-map-empty) {
        width: calc(100% - 24px) !important;
        min-height: 170px !important;
        padding: 24px 20px !important;
    }
}

@media (max-width: 991.98px) {
    /* The tablet drawer overlays content; opening it must never push or resize
       the dashboard underneath. */
    html body.cx-design-system .app-content {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        transform: none !important;
        translate: none !important;
    }

    /* One authoritative tablet document flow. No desktop masonry height,
       transforms or absolute positioning may survive on tablet. */
    html body.cx-design-system #conexgoDashboardSmartGrid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        align-content: start !important;
        gap: 12px !important;

        position: static !important;
        inset: auto !important;
        transform: none !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        column-count: auto !important;
        column-gap: 0 !important;

        overflow: visible !important;
        contain: none !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item {
        position: static !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        transform: none !important;
        translate: none !important;
        scale: 1 !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
        contain: none !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item
    > .conexgo-dashboard-resizable-card,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card {
        position: relative !important;
        inset: auto !important;
        transform: none !important;

        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;

        resize: none !important;
        overflow: hidden !important;
    }

    /* A minimized card is exactly its visible header. It must not inherit
       historical resizable/masonry heights. */
    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-minimized-card,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card {
        height: auto !important;
        min-height: 56px !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-minimized-card > .card-body,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card
    > .card-body {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Header content must fit completely: no clipped title baseline. */
    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-header-surface,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    > .conexgo-dashboard-card-header-surface {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 56px !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 9px 12px !important;

        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-header,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-header {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 38px !important;

        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-title,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-title {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: none !important;

        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        line-height: 1.25 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-action,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    .conexgo-dashboard-card-action {
        flex: 0 0 40px !important;

        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;

        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;

        margin: 0 !important;
    }

    /* Expanded cards also return to content-driven height. */
    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-resizable-card:not(.conexgo-dashboard-minimized-card)
    > .card-body,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card:not(.conexgo-dashboard-minimized-card)
    > .card-body {
        display: block !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;

        overflow: visible !important;
    }

    /* No stale table/card top spacing when the card is expanded. */
    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-table-card-body,
    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-table-viewport {
        margin-top: 0 !important;
    }

    /* Configuration card follows the same width/flow as content cards. */
    html body.cx-design-system .conexgo-dashboard-configuration-row,
    html body.cx-design-system .conexgo-dashboard-configuration-row > .col-12 {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Genuine phones keep the existing phone-specific navigation/layout rules. */
@media (max-width: 575.98px) {
    html body.cx-design-system #conexgoDashboardSmartGrid {
        gap: 10px !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-card-header-surface,
    html body.cx-design-system
    .conexgo-dashboard-configuration-card
    > .conexgo-dashboard-card-header-surface {
        min-height: 52px !important;
        padding: 8px 10px !important;
    }
}

@media (max-width: 991.98px) {
    html,
    body.cx-design-system,
    html body.cx-design-system .page,
    html body.cx-design-system .page-main {
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    html body.cx-design-system .app-sidebar-shell {
        position: fixed !important;
        inset: 0 auto auto 0 !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        z-index: 2147481000 !important;
        pointer-events: none !important;
    }

    html body.cx-design-system.conexgo-mobile-sidebar-open .app-sidebar-shell {
        pointer-events: auto !important;
    }

    /* Closed is explicit and wins over every legacy left/hover rule. */
    html body.cx-design-system:not(.conexgo-mobile-sidebar-open) .app-sidebar-modern,
    html body.cx-design-system:not(.conexgo-mobile-sidebar-open) .app-sidebar-modern:hover,
    html body.cx-design-system:not(.conexgo-mobile-sidebar-open) .app-sidebar-modern:focus-within,
    html body.cx-design-system:not(.conexgo-mobile-sidebar-open).sidenav-toggled-open .app-sidebar-modern {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        left: 0 !important;
        right: auto !important;

        width: min(286px, calc(100vw - 56px)) !important;
        min-width: min(286px, calc(100vw - 56px)) !important;
        max-width: min(286px, calc(100vw - 56px)) !important;

        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translate3d(calc(-100% - 32px), 0, 0) !important;
        translate: none !important;
        scale: 1 !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        overflow: hidden !important;
        contain: paint !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;

        box-shadow: none !important;
        transition:
            transform .20s ease,
            opacity .12s ease,
            visibility .12s ease !important;
    }

    /* Open drawer: fully visible, never partially translated. */
    html body.cx-design-system.conexgo-mobile-sidebar-open .app-sidebar-modern,
    html body.cx-design-system.conexgo-mobile-sidebar-open .app-sidebar-modern:hover,
    html body.cx-design-system.conexgo-mobile-sidebar-open .app-sidebar-modern:focus-within {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        left: 0 !important;
        right: auto !important;

        width: min(286px, calc(100vw - 56px)) !important;
        min-width: min(286px, calc(100vw - 56px)) !important;
        max-width: min(286px, calc(100vw - 56px)) !important;

        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;

        transform: translate3d(0, 0, 0) !important;
        translate: none !important;
        scale: 1 !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        overflow: hidden !important;
        contain: paint !important;

        background: #fff !important;
        border-right: 1px solid #dce5ec !important;
        box-shadow: 10px 0 28px rgba(31, 61, 89, .18) !important;
    }

    /* Overlay follows the same binary state. */
    html body.cx-design-system:not(.conexgo-mobile-sidebar-open) .app-sidebar__overlay {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        background: rgba(25, 44, 62, .30) !important;
        z-index: 2147480999 !important;
    }

    html body.cx-design-system.conexgo-mobile-sidebar-open .app-sidebar__overlay {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        background: rgba(25, 44, 62, .30) !important;
        z-index: 2147480999 !important;
    }

    /* Main workspace never inherits a sidebar width on tablet. */
    html body.cx-design-system .main-content.app-content,
    html body.cx-design-system.conexgo-mobile-sidebar-open .main-content.app-content,
    html body.cx-design-system .app-content .side-app,
    html body.cx-design-system .main-container.container-fluid {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system .main-content.app-content,
    html body.cx-design-system.conexgo-mobile-sidebar-open .main-content.app-content {
        position: relative !important;
        z-index: 0 !important;

        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;

        transform: none !important;
        translate: none !important;

        overflow-x: clip !important;
    }

    /* No legacy hover-open class is meaningful on touch layouts. */
    html body.cx-design-system.sidenav-toggled-open:not(.conexgo-mobile-sidebar-open)
    .app-sidebar-modern {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translate3d(calc(-100% - 32px), 0, 0) !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system:not(.conexgo-mobile-sidebar-open) .app-sidebar-modern,
    html body.cx-design-system.conexgo-mobile-sidebar-open .app-sidebar-modern {
        width: min(278px, calc(100vw - 44px)) !important;
        min-width: min(278px, calc(100vw - 44px)) !important;
        max-width: min(278px, calc(100vw - 44px)) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .app-sidebar-modern,
    html body.cx-design-system .app-sidebar__overlay {
        transition: none !important;
    }
}

html body.cx-design-system .device-map-settings .conexgo-history-panel {
    width: 100% !important;
    min-width: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-form,
html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
    width: 100% !important;
    max-width: 1180px !important;
    display: block !important;
    margin: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-main-row {
    width: fit-content !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns:
        minmax(240px, 360px)
        minmax(240px, 360px)
        minmax(150px, 190px) !important;
    justify-content: start !important;
    gap: 14px !important;
    align-items: end !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-main-row .conexgo-history-display {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-main-row .conexgo-history-period {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-main-row .conexgo-history-action {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: end !important;
    justify-self: stretch !important;
    max-width: 190px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-custom-row {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin-top: 14px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: end !important;
}

html body.cx-design-system .device-map-settings
:is(.conexgo-history-main-row, .conexgo-history-custom-row) > * {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-line-break {
    display: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-label {
    display: block !important;
    min-height: 18px !important;
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
}

html body.cx-design-system .device-map-settings
:is(.cx-control--history, .conexgo-history-control) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-action {
    width: 100% !important;
    max-width: 190px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-go {
    width: 100% !important;
    max-width: 190px !important;
    min-height: 44px !important;
    height: 44px !important;
    box-sizing: border-box !important;
}

/* Custom-mode alignment authority: same row, same control height. */
html body.cx-design-system .device-map-settings .conexgo-history-custom-row
:is(.conexgo-history-start-date, .conexgo-history-start-time,
    .conexgo-history-end-date, .conexgo-history-end-time) {
    align-self: end !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-custom-row
:is(.cx-date-picker, .cx-time-picker, .cx-time-picker-v17-9,
    .cx-date-picker-shell, .cx-control-field, .cx-custom-select-trigger,
    input.form-control) {
    min-height: 44px !important;
    height: 44px !important;
    box-sizing: border-box !important;
}

/* Compact history-result strip: content-sized count + nearby playback control. */
html body.cx-design-system .device-map-settings .conexgo-history-results {
    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto 0 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 3px 8px 3px 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > i {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-location-count > span {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: clamp(320px, 33vw, 370px) !important;
    min-width: 320px !important;
    max-width: 370px !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 3px 6px !important;
    display: grid !important;
    grid-template-columns: auto minmax(130px, 1fr) auto !important;
    align-items: center !important;
    gap: 5px !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cbdbe6 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #315f82 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step:not(:disabled):hover,
html body.cx-design-system .device-map-settings .conexgo-history-step:not(:disabled):focus-visible {
    border-color: #8fb1c8 !important;
    background: #eef5f9 !important;
    color: #214d6d !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-step:disabled,
html body.cx-design-system .device-map-settings .conexgo-history-step.is-disabled {
    border-color: #e0e7ec !important;
    background: #f5f7f9 !important;
    color: #a4b0b9 !important;
    opacity: 1 !important;
    cursor: default !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    width: 100% !important;
    min-width: 130px !important;
    min-height: 28px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-go:disabled {
    opacity: .68 !important;
    cursor: wait !important;
}

/* Device-map status — one consistent white-backed status tile per icon.
   All status items use the same geometry/backplate; semantic icon colors remain
   where useful, while connectivity glyphs stay high-contrast on the dark bar. */
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.dashboard {
    align-items: center !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-status-item {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    margin: 0 3px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, .88) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .08) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05) !important;
    opacity: 1 !important;
    overflow: visible !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-status-item > :is(.fa-stack, .signal, .conexgo-device-simple-icon) {
    margin: 0 !important;
    transform: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-status-item:first-child {
    color: inherit !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-battery-icon {
    color: currentColor !important;
    opacity: 1 !important;
    -webkit-text-stroke: .7px #ffffff !important;
    paint-order: stroke fill !important;
    filter:
        drop-shadow(.7px 0 0 #ffffff)
        drop-shadow(-.7px 0 0 #ffffff)
        drop-shadow(0 .7px 0 #ffffff)
        drop-shadow(0 -.7px 0 #ffffff) !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-cellular,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-wifi,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-cellular .signal,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-wifi :is(.conexgo-device-simple-icon, .conexgo-device-simple-icon i) {
    color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .16) !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-cellular .signal {
    opacity: 1 !important;
    filter: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-cellular .signal > div {
    background-color: rgba(255, 255, 255, .52) !important;
    border-color: rgba(255, 255, 255, .72) !important;
    opacity: 1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar
.conexgo-device-cellular .signal > div.active {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    opacity: 1 !important;
}

/* A history query uses the map-state card as its single loading surface. */
html body.cx-design-system .cx-map-history-loading::before,
html body.cx-design-system .cx-map-history-loading::after {
    display: none !important;
    content: none !important;
}

html body.cx-design-system .report-subscribe-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-form,
    html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
        width: 100% !important;
        max-width: none !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-main-row {
        width: 100% !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr)
            minmax(126px, .52fr) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-main-row .conexgo-history-display {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-main-row .conexgo-history-period {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-main-row .conexgo-history-action {
        grid-column: 3 !important;
        grid-row: 1 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-custom-row {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-results {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 7px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-main-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-main-row .conexgo-history-action {
        grid-column: 1 !important;
        max-width: none !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-custom-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count > span {
        white-space: normal !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
    }
}

@media (max-width: 420px) {
    html body.cx-design-system .device-map-settings .conexgo-history-custom-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .device-map-settings {
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-device-setting-toolbar > section {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Status icons: same backed tile, smaller mobile footprint. */
    html body.cx-design-system .device-map-settings
    .conexgo-device-setting-toolbar .dashboard {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 7px !important;
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-device-setting-toolbar .conexgo-device-status-item {
        flex: 0 0 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        margin: 0 !important;
        border-radius: 9px !important;
        border: 1px solid rgba(255,255,255,.78) !important;
        background: rgba(255,255,255,.09) !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-device-setting-toolbar .conexgo-device-status-item
    :is(.fa-stack, .conexgo-device-simple-icon) {
        transform: scale(.90) !important;
        transform-origin: center !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-device-setting-toolbar .conexgo-device-cellular .signal {
        transform: scale(.84) !important;
        transform-origin: center !important;
    }

    /* History/Last Location select always starts a clean second row. */
    html body.cx-design-system .device-map-settings .conexgo-device-history-item {
        order: 20 !important;
        flex: 1 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 42px !important;
        margin: 1px 0 0 !important;
        padding: 0 !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-device-history-item
    :is(.cx-custom-select, .cx-control--device-location, .cx-custom-select-trigger) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    /* Phone/tablet History: History + Period, then full-width Action. */
    html body.cx-design-system .device-map-settings .conexgo-history-form,
    html body.cx-design-system .device-map-settings .conexgo-history-form.is-custom {
        width: 100% !important;
        max-width: none !important;
        padding: 12px !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-main-row {
        width: 100% !important;
        max-width: none !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        align-items: end !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-main-row .conexgo-history-display {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-main-row .conexgo-history-period {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-main-row .conexgo-history-action {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        max-width: none !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-go {
        width: 100% !important;
        max-width: none !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    /* Custom: natural date/time pairs on two rows. */
    html body.cx-design-system .device-map-settings .conexgo-history-custom-row {
        width: 100% !important;
        max-width: none !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-custom-row > * {
        min-width: 0 !important;
        width: 100% !important;
    }

    /* Result bar becomes vertical instead of squeezing playback controls. */
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 7px !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system .device-map-settings
    :is(.conexgo-history-location-count, .conexgo-history-playback) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-playback {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
    }

    /* Map itself uses the available phone viewport without becoming a giant
       desktop-height canvas. */
    html body.cx-design-system .device-map-canvas-shell,
    html body.cx-design-system .device-map-canvas-shell.is-empty {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 300px !important;
    }

    html body.cx-design-system #map-canvas {
        width: 100% !important;
        min-width: 0 !important;
        height: clamp(300px, 52svh, 420px) !important;
        min-height: 300px !important;
    }
}

@media (max-width: 479.98px) {
    html body.cx-design-system .device-map-settings
    .conexgo-device-setting-toolbar .dashboard {
        gap: 5px !important;
        padding: 6px !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-device-setting-toolbar .conexgo-device-status-item {
        flex-basis: 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        border-radius: 8px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-main-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-main-row .conexgo-history-display {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-main-row .conexgo-history-period {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-main-row .conexgo-history-action {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }
}

@media (max-width: 399.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-custom-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-playback {
        gap: 3px !important;
        padding-inline: 4px !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-step {
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
    }
}

html body.cx-design-system .device-map-settings
.conexgo-history-main-row .conexgo-history-primary .cx-custom-select-root {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-main-row .conexgo-history-primary
.cx-custom-select-trigger.cx-control--history {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    gap: 0 !important;
    padding: 0 4px 0 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-main-row .conexgo-history-primary
.cx-custom-select-trigger.cx-control--history .cx-custom-select-value {
    min-width: 0 !important;
    padding-right: 8px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-main-row .conexgo-history-primary
.cx-custom-select-trigger.cx-control--history .cx-custom-select-chevron {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    justify-self: end !important;
    align-self: center !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Emergency review/message actions use the same sober blue authority. */
html body.cx-design-system .cx-emergency-review-send,
html body.cx-design-system .device-message-template-chip:hover,
html body.cx-design-system .device-message-template-chip:focus-visible {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
}
html body.cx-design-system .device-message-template-chip {
    border-color: #b8cbd9 !important;
    background: #ffffff !important;
    color: #294d6a !important;
    box-shadow: none !important;
}

/* Shared filter disclosure: animate the actual region rather than snapping it. */
html body.cx-design-system [data-cx-responsive-filter-panel] .cx-filter-disclosure-region {
    display: grid !important;
    grid-template-rows: 0fr !important;
    opacity: 0 !important;
    transform: translateY(-3px) !important;
    transition: grid-template-rows .20s ease, opacity .16s ease, transform .20s ease !important;
}
html body.cx-design-system [data-cx-responsive-filter-panel][data-expanded="true"] .cx-filter-disclosure-region {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}
html body.cx-design-system [data-cx-responsive-filter-panel] .cx-filter-disclosure-inner {
    min-height: 0 !important;
    overflow: hidden !important;
}
html body.cx-design-system [data-cx-responsive-filter-panel] .cx-filter-disclosure-chevron {
    transition: transform .20s ease !important;
}
html body.cx-design-system [data-cx-responsive-filter-panel][data-expanded="true"] .cx-filter-disclosure-chevron {
    transform: rotate(180deg) !important;
}

/* Native/Bootstrap/select opening motion. */
html body.cx-design-system .cx-custom-select-menu:popover-open,
html body.cx-design-system .cx-custom-select-menu--fallback-open,
html body.cx-design-system .dropdown-menu.show {
    animation: cxR126DropdownIn .15s cubic-bezier(.2,.7,.3,1) both !important;
}
@keyframes cxR126DropdownIn {
    from { opacity: 0; transform: translateY(-5px) scale(.985); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Header activity popups use the same motion language as Operator, with a
   slightly softer entrance and no card movement on hover. */
html body.cx-design-system .conexgo-header-notifications .conexgo-notification-dropdown.show,
html body.cx-design-system .conexgo-header-alerts .conexgo-alert-dropdown.show,
html body.cx-design-system .conexgo-header-servers .conexgo-servers-dropdown.show {
    animation-duration: .15s !important;
    animation-timing-function: cubic-bezier(.2, .7, .3, 1) !important;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .cx-custom-select-menu:popover-open,
    html body.cx-design-system .cx-custom-select-menu--fallback-open,
    html body.cx-design-system .dropdown-menu.show { animation: none !important; }
    html body.cx-design-system [data-cx-responsive-filter-panel] .cx-filter-disclosure-region,
    html body.cx-design-system [data-cx-responsive-filter-panel] .cx-filter-disclosure-chevron { transition: none !important; }
}

/* Data-log popovers: dark Conexgo headers with white text. */
html body.cx-design-system .cx-data-log-popover-prefix,
html body.cx-design-system .cx-data-log-section-title,
html body.cx-design-system .cx-data-log-bdot-fieldset > legend {
    background: #315f82 !important;
    color: #ffffff !important;
    border-color: #315f82 !important;
}
html body.cx-design-system .cx-data-log-popover-prefix *,
html body.cx-design-system .cx-data-log-section-title *,
html body.cx-design-system .cx-data-log-bdot-fieldset > legend * {
    color: #ffffff !important;
}

/* Emergency-contact audit: compact custom range aligned to the table width. */
html body.cx-design-system .cx-emergency-review-log-card .conexgo-pagedlist-custom,
html body.cx-design-system .cx-log-list-card--emergency-contact-review .conexgo-pagedlist-custom {
    padding: 12px !important;
    border: 1px solid #cddbe6 !important;
    border-left: 3px solid #315f82 !important;
    border-top-width: 1px !important;
    border-radius: 10px !important;
    background: #f8fbfd !important;
}
html body.cx-design-system .cx-emergency-review-log-card .conexgo-pagedlist-custom-fields,
html body.cx-design-system .cx-log-list-card--emergency-contact-review .conexgo-pagedlist-custom-fields {
    grid-template-columns: minmax(0,1fr) 28px minmax(0,1fr) auto !important;
    gap: 10px !important;
}
html body.cx-design-system .cx-emergency-review-log-card .conexgo-pagedlist-custom-group,
html body.cx-design-system .cx-log-list-card--emergency-contact-review .conexgo-pagedlist-custom-group {
    grid-template-columns: minmax(170px,1fr) minmax(120px,.55fr) !important;
    gap: 10px !important;
}

/* Delivery log rows: keep timestamp and message readable without huge empty gaps. */
html body.cx-design-system .cx-emergency-delivery-log__row {
    display: grid !important;
    grid-template-columns: minmax(145px, .28fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
}
html body.cx-design-system .cx-emergency-delivery-log__row > span {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .cx-emergency-review-log-card .conexgo-pagedlist-custom-fields,
    html body.cx-design-system .cx-log-list-card--emergency-contact-review .conexgo-pagedlist-custom-fields {
        grid-template-columns: minmax(0,1fr) !important;
    }
    html body.cx-design-system .cx-emergency-review-log-card .conexgo-pagedlist-custom-separator,
    html body.cx-design-system .cx-log-list-card--emergency-contact-review .conexgo-pagedlist-custom-separator { display: none !important; }
    html body.cx-design-system .cx-emergency-review-log-card .conexgo-pagedlist-custom-group,
    html body.cx-design-system .cx-log-list-card--emergency-contact-review .conexgo-pagedlist-custom-group {
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }
}
@media (max-width: 575.98px) {
    html body.cx-design-system .cx-emergency-review-log-card .conexgo-pagedlist-custom-group,
    html body.cx-design-system .cx-log-list-card--emergency-contact-review .conexgo-pagedlist-custom-group,
    html body.cx-design-system .cx-emergency-delivery-log__row {
        grid-template-columns: minmax(0,1fr) !important;
    }
}

html body.cx-design-system .cx-sos-import-row {
    margin: 4px 0 14px !important;
    padding: 11px 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border: 1px solid #cbdbe6 !important;
    border-left: 3px solid #315f82 !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
}
html body.cx-design-system .cx-sos-import-contacts {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    border: 1px solid #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
html body.cx-design-system .cx-sos-import-contacts:hover,
html body.cx-design-system .cx-sos-import-contacts:focus-visible {
    border-color: #274d69 !important;
    background: #274d69 !important;
    color: #ffffff !important;
}
html body.cx-design-system .cx-sos-import-row small { color: #607487 !important; line-height: 1.35 !important; }

html body.cx-design-system .device-message-template-panel {
    border: 1px solid #cad9e5 !important;
    border-left: 3px solid #315f82 !important;
    border-radius: 10px !important;
    background: #f8fbfd !important;
}
html body.cx-design-system .device-message-template-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
html body.cx-design-system .device-message-template-chip {
    min-height: 38px !important;
    padding: 0 13px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
}
html body.cx-design-system .cx-device-message-textarea { min-height: 150px !important; line-height: 1.5 !important; }

@media (max-width: 700px) {
    html body.cx-design-system .cx-sos-import-row { align-items: stretch !important; flex-direction: column !important; }
    html body.cx-design-system .cx-sos-import-contacts { width: 100% !important; justify-content: center !important; }
    html body.cx-design-system .device-message-template-chip { flex: 1 1 calc(50% - 8px) !important; }
}

/* Monthly Reports: preserve wide operational columns and provide a real horizontal scrollbar. */
html body.cx-design-system .report-list-card .report-list-card-body {
    min-width: 0 !important;
    max-width: 100% !important;
}
html body.cx-design-system .report-list-card .table-responsive.cx-list-table-shell {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: #4f7da0 #eaf1f6 !important;
}
html body.cx-design-system .report-list-card .table-responsive.cx-list-table-shell::-webkit-scrollbar { height: 9px !important; }
html body.cx-design-system .report-list-card .table-responsive.cx-list-table-shell::-webkit-scrollbar-track { background: #eaf1f6 !important; border-radius: 8px !important; }
html body.cx-design-system .report-list-card .table-responsive.cx-list-table-shell::-webkit-scrollbar-thumb { background: #4f7da0 !important; border-radius: 8px !important; }
html body.cx-design-system .report-list-card .table-responsive.cx-list-table-shell > .dataTables_wrapper {
    min-width: 1080px !important;
    width: 100% !important;
}
html body.cx-design-system .report-list-card .conexgo-pagedlist-table {
    min-width: 1080px !important;
    width: 100% !important;
}
html body.cx-design-system .cx-report-row-action--configure {
    border-color: #78b842 !important;
    background: #78b842 !important;
    color: #ffffff !important;
}
html body.cx-design-system .cx-report-row-action--configure:hover,
html body.cx-design-system .cx-report-row-action--configure:focus-visible {
    border-color: #6aa63a !important;
    background: #6aa63a !important;
    color: #ffffff !important;
}
html body.cx-design-system .cx-report-row-action--preview {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
}

/* The large map-state card is the only map status surface. */
html body.cx-design-system .cx-map-history-message {
    display: none !important;
}

@media (max-width: 900px) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        width: 100% !important;
        max-width: none !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }
    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        max-width: none !important;
    }
}

/* Message templates: sober chips; no candy/pastel authority. */
html body.cx-design-system .device-message-template-chip {
    border-color: #9fb6c8 !important;
    background: #f7fafc !important;
    color: #244d6c !important;
}
html body.cx-design-system .device-message-template-chip:hover,
html body.cx-design-system .device-message-template-chip:focus-visible {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
}

/* Profile Details: punctuation is presentation, not duplicated localization. */
html body.cx-design-system .conexgo-account-profile-label > label::after {
    content: ":";
}

@media (max-width: 767.98px) {
    html body.cx-design-system .conexgo-account-profile,
    html body.cx-design-system .conexgo-account-profile .card-body,
    html body.cx-design-system .conexgo-account-profile .panel,
    html body.cx-design-system .conexgo-account-profile .tabs-menu-body {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system .conexgo-account-profile .tabs-menu-boxed {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: thin !important;
        scrollbar-color: #4f7da0 #eaf1f6 !important;
    }

    html body.cx-design-system .conexgo-account-profile .conexgo-profile-tabs {
        width: max-content !important;
        min-width: 100% !important;
        flex-wrap: nowrap !important;
    }

    html body.cx-design-system .conexgo-account-profile .conexgo-profile-tabs > li,
    html body.cx-design-system .conexgo-account-profile .conexgo-profile-tabs > li > a {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    html body.cx-design-system .conexgo-account-profile-form > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.cx-design-system .conexgo-account-profile-form .conexgo-account-profile-label,
    html body.cx-design-system .conexgo-account-profile-form .conexgo-account-profile-label + [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        text-align: left !important;
    }
}

/* B-DOT: real WSAP state icon, sized to preserve the existing status rail. */
html body.cx-design-system .cx-device-bdot-status-icon {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    object-fit: contain !important;
    flex: 0 0 20px !important;
    vertical-align: middle !important;
    border-radius: 50% !important;
}
html body.cx-design-system .cx-device-bdot-status-icon.is-connected {
    filter: drop-shadow(0 0 1px rgba(29,103,60,.28)) !important;
}
html body.cx-design-system .cx-device-bdot-status-icon.is-disconnected {
    filter: drop-shadow(0 0 1px rgba(157,51,62,.28)) !important;
}
html body.cx-design-system .cx-device-bdot-status-icon.is-neutral {
    filter: grayscale(1) saturate(0) !important;
    opacity: .48 !important;
}
html body.cx-design-system .cx-device-status-icons-desktop {
    column-gap: 8px !important;
    row-gap: 6px !important;
    flex-wrap: wrap !important;
}
@media (max-width: 767.98px) {
    html body.cx-design-system .cx-page--devices .device-mobile-status-pill {
        width: auto !important;
        min-width: 92px !important;
        max-width: 136px !important;
        min-height: 22px !important;
        padding: 4px 8px !important;
        justify-self: start !important;
    }
    html body.cx-design-system .cx-page--devices .device-mobile-status-icons {
        display: flex !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        column-gap: 5px !important;
        row-gap: 0 !important;
        min-width: max-content !important;
    }
    html body.cx-design-system .cx-page--devices .device-mobile-status-icons > * {
        flex: 0 0 auto !important;
    }
}

/* Training: same blue horizontal scroll language as the other large tables. */
html body.cx-design-system .cx-training-list-card {
    margin-bottom: 32px !important;
}
html body.cx-design-system .cx-training-list-card .table-responsive,
html body.cx-design-system .cx-training-list-card .cx-list-table-shell {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: #4f7da0 #eaf1f6 !important;
}
html body.cx-design-system .cx-training-list-card .table-responsive::-webkit-scrollbar,
html body.cx-design-system .cx-training-list-card .cx-list-table-shell::-webkit-scrollbar { height: 9px !important; }
html body.cx-design-system .cx-training-list-card .table-responsive::-webkit-scrollbar-track,
html body.cx-design-system .cx-training-list-card .cx-list-table-shell::-webkit-scrollbar-track { background: #eaf1f6 !important; border-radius: 8px !important; }
html body.cx-design-system .cx-training-list-card .table-responsive::-webkit-scrollbar-thumb,
html body.cx-design-system .cx-training-list-card .cx-list-table-shell::-webkit-scrollbar-thumb { background: #4f7da0 !important; border-radius: 8px !important; }
html body.cx-design-system .cx-training-list-card .conexgo-pagedlist-table { min-width: 900px !important; }

/* Monthly reports: the real wrapper owns the horizontal scroll; parent must shrink. */
html body.cx-design-system .cx-monthly-report-list-card,
html body.cx-design-system .cx-monthly-report-list-card .report-list-card-body {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}
html body.cx-design-system .cx-monthly-report-list-card .table-responsive.cx-list-table-shell {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
}
html body.cx-design-system .cx-monthly-report-list-card .table-responsive.cx-list-table-shell > * {
    min-width: 1080px !important;
}

/* Emergency Contact Review delivery log: readable columns + gentle hover. */
html body.cx-design-system .cx-emergency-delivery-log__row {
    transition: background-color .14s ease, border-color .14s ease !important;
}
html body.cx-design-system .cx-emergency-delivery-log__row:hover {
    background: #f4f8fb !important;
}
html body.cx-design-system .cx-emergency-delivery-log__row > time {
    min-width: 0 !important;
    padding-right: 16px !important;
}
html body.cx-design-system .cx-emergency-delivery-log__row > span {
    min-width: 0 !important;
    padding-left: 18px !important;
    border-left: 1px solid #d5e0e8 !important;
    overflow-wrap: anywhere !important;
}
@media (max-width: 575.98px) {
    html body.cx-design-system .cx-emergency-delivery-log__row > time { padding-right: 0 !important; }
    html body.cx-design-system .cx-emergency-delivery-log__row > span {
        padding-left: 0 !important;
        padding-top: 7px !important;
        border-left: 0 !important;
        border-top: 1px solid #e0e8ee !important;
    }
}

/* Report subscription: the 30-day history limit is a dedicated visible note. */
html body.cx-design-system .cx-report-subscribe-dialog .cx-r18-127-report-history-limit,
html body.cx-design-system .cx-r18-127-report-history-limit {
    width: fit-content !important;
    max-width: 100% !important;
    margin: -8px 0 16px 21px !important;
    padding: 7px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    border: 1px solid #d4e1ea !important;
    border-radius: 8px !important;
    background: #f6f9fb !important;
    color: #49677e !important;
    font-size: .86rem !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
}
html body.cx-design-system .cx-r18-127-report-history-limit > i {
    flex: 0 0 auto !important;
    color: #527493 !important;
}
@media (max-width: 575.98px) {
    html body.cx-design-system .cx-report-subscribe-dialog .cx-r18-127-report-history-limit,
    html body.cx-design-system .cx-r18-127-report-history-limit {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

/* Client access / Groups: pale selected yellow with explicit readable edge. */
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:hover > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:focus > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"] > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"]:hover > td,
html body.cx-design-system tr.cx-group-member-row.is-selected > td,
html body.cx-design-system tr.cx-group-member-row.is-selected:hover > td,
html body.cx-design-system.cx-group-selection-active tr[data-cx-group-selected="true"] > td,
html body.cx-design-system tr.cx-map-row-selected > td {
    background: #fff3b8 !important;
    color: #243d53 !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected > td:first-child,
html body.cx-design-system tr.cx-group-member-row.is-selected > td:first-child,
html body.cx-design-system.cx-group-selection-active tr[data-cx-group-selected="true"] > td:first-child,
html body.cx-design-system tr.cx-map-row-selected > td:first-child {
    box-shadow: inset 4px 0 0 #c9a83e !important;
}

/* Offline / Watch card: mobile rows use the entire card width and stay left aligned. */
@media (max-width: 767.98px) {
    html body.cx-design-system [data-dashboard-key="offlineDevices"] .conexgo-dashboard-resizable-list {
        width: 100% !important;
        min-width: 0 !important;
        padding-bottom: 8px !important;
    }
    html body.cx-design-system [data-dashboard-key="offlineDevices"] .cx-dashboard-offline-item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
        gap: 9px !important;
    }
    html body.cx-design-system [data-dashboard-key="offlineDevices"] .cx-dashboard-offline-main,
    html body.cx-design-system [data-dashboard-key="offlineDevices"] .cx-dashboard-offline-meta {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        align-items: flex-start !important;
        text-align: left !important;
        overflow-wrap: anywhere !important;
    }
    html body.cx-design-system [data-dashboard-key="offlineDevices"] .cx-dashboard-offline-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        column-gap: 10px !important;
        row-gap: 6px !important;
    }
    html body.cx-design-system [data-dashboard-key="offlineDevices"] .conexgo-dashboard-list-footer {
        margin-top: 14px !important;
        padding-top: 18px !important;
        padding-bottom: 24px !important;
    }
}

/* Permissions: one stable hover/focus target owns each tooltip. */
html body.cx-design-system .device-permissions-content .permission-item {
    position: relative !important;
    outline: none !important;
    border-radius: 9px !important;
}
html body.cx-design-system .device-permissions-content .permission-item:focus-visible {
    box-shadow: 0 0 0 3px rgba(49,95,130,.18) !important;
}

/* Dashboard: never let cards or custom date controls force horizontal overflow. */
html body.cx-design-system .conexgo-dashboard-smart-item,
html body.cx-design-system .conexgo-dashboard-resizable-card,
html body.cx-design-system .conexgo-dashboard-resizable-card .card-body {
    min-width: 0 !important;
    max-width: 100% !important;
}
@media (max-width: 767.98px) {
    html body.cx-design-system .conexgo-dashboard-smart-grid,
    html body.cx-design-system #conexgoDashboardSmartGrid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    html body.cx-design-system .conexgo-dashboard-offline-period-row,
    html body.cx-design-system .conexgo-dashboard-filter-row {
        min-width: 0 !important;
        flex-wrap: wrap !important;
    }
    html body.cx-design-system .conexgo-dashboard-offline-period-row > *,
    html body.cx-design-system .conexgo-dashboard-filter-row > * {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* Detached compact submenu portal. */
.cx-r18-127-sidebar-flyout {
    position: fixed !important;
    z-index: 2147483000 !important;
    min-width: 224px !important;
    max-width: min(300px, calc(100vw - 104px)) !important;
    max-height: min(520px, calc(100vh - 24px)) !important;
    overflow-y: auto !important;
    padding: 7px !important;
    border: 1px solid #cbd9e4 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(25,55,79,.18) !important;
}
.cx-r18-127-sidebar-flyout .slide-item {
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    padding: 8px 11px !important;
    border-radius: 7px !important;
    color: #294d6a !important;
    text-decoration: none !important;
    font-weight: 650 !important;
    white-space: normal !important;
}
.cx-r18-127-sidebar-flyout .slide-item:hover,
.cx-r18-127-sidebar-flyout .slide-item:focus-visible {
    background: #edf4f8 !important;
    color: #173f5e !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* SOS and Fall are the two critical alert labels requested for stronger scan. */
html body.cx-design-system .alert-list-alert-cell .cx-alert-description-text.is-critical,
html body.cx-design-system .cx-alert-description-text.is-critical {
    color: #b4232f !important;
    font-weight: 800 !important;
}

/* Group View selected unit: one pale-yellow language across the complete row. */
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:hover,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:focus,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"],
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"]:hover,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"],
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"]:hover {
    background: #fff7cf !important;
    border-color: #d9bd53 !important;
    color: #243d53 !important;
    box-shadow: inset 0 0 0 1px rgba(170, 131, 14, .12) !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:hover > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:focus > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"] > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"]:hover > td,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"] > td,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"]:hover > td,
html body.cx-design-system .cx-group-view-page tr.cx-map-row-selected > td {
    background: #fff7cf !important;
    color: #243d53 !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected > td:first-child,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"] > td:first-child,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"] > td:first-child,
html body.cx-design-system .cx-group-view-page tr.cx-map-row-selected > td:first-child {
    box-shadow: inset 4px 0 0 #c3a32d !important;
}

/* Group View map is an explicit, readable section rather than an anonymous box. */
html body.cx-design-system .cx-group-view-page .cx-group-view-map-column {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    background: #ffffff !important;
    border: 1px solid #dce6ee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-view-map-header {
    min-height: 52px !important;
    padding: 9px 11px 9px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    background: #f3f8fb !important;
    border-bottom: 1px solid #dce6ee !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-view-map-title {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #254f70 !important;
    font-weight: 800 !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-view-map-title-icon {
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 32px !important;
    border: 1px solid #c9d9e6 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #356789 !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-view-map-refresh {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #b9cedd !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #315f82 !important;
    box-shadow: none !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-view-map-refresh:hover,
html body.cx-design-system .cx-group-view-page .cx-group-view-map-refresh:focus-visible {
    background: #eaf2f7 !important;
    border-color: #8fb0c8 !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-view-map-canvas {
    display: block !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    background: #eef4f7 !important;
}

@media (max-width: 767.98px) {
    /* Put the missing/important map section before the device cards on mobile. */
    html body.cx-design-system .cx-group-view-page .cx-group-view-map-column {
        order: -1 !important;
        width: 100% !important;
        margin: 0 0 12px !important;
    }
    html body.cx-design-system .cx-group-view-page .cx-group-view-map-canvas {
        height: clamp(300px, 46vh, 400px) !important;
        min-height: 300px !important;
    }
    html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected,
    html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"] {
        border: 1px solid #d9bd53 !important;
        background: #fff7cf !important;
    }
}

/* FINAL4 map recovery: Conexgo owns the visible error surface on auth/referrer failure. */
html body.cx-design-system .cx-group-view-map-canvas > .cx-map-state,
html body.cx-design-system #map-canvas > .cx-map-state {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    display: grid !important;
    place-items: center !important;
    background: #eef4f7 !important;
}

/* The 30-day rule belongs to the custom-period block requested in the ticket,
   directly below that block's explanation. */
html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period .cx-r18-127-report-history-limit {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 7px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    border: 1px solid #c9d9e5 !important;
    border-left: 3px solid #527493 !important;
    border-radius: 7px !important;
    background: #f4f8fb !important;
    color: #3f5f78 !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.30 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

/* Client access / Group selection: exactly one pale yellow, readable on white,
   with a clear but restrained selection edge. */
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:hover,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:focus,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"],
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"]:hover,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"],
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"]:hover,
html body.cx-design-system .cx-group-view-page tr.cx-map-row-selected {
    background: #fff4b8 !important;
    border-color: #d4b548 !important;
    color: #243d53 !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:hover > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected:focus > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"] > td,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"]:hover > td,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"] > td,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"]:hover > td,
html body.cx-design-system .cx-group-view-page tr.cx-map-row-selected > td {
    background: #fff4b8 !important;
    color: #243d53 !important;
}
html body.cx-design-system .cx-group-view-page .cx-group-member-row.is-selected > td:first-child,
html body.cx-design-system .cx-group-view-page .cx-group-member-row[aria-selected="true"] > td:first-child,
html body.cx-design-system.cx-group-selection-active .cx-group-view-page tr[data-cx-group-selected="true"] > td:first-child,
html body.cx-design-system .cx-group-view-page tr.cx-map-row-selected > td:first-child {
    box-shadow: inset 4px 0 0 #c4a22e !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .device-config-card .device-config-col-value--bdot-overview {
        gap: 8px !important;
    }
    html body.cx-design-system .device-config-card .cx-device-config-bdot-status,
    html body.cx-design-system .device-config-card .cx-device-config-bdot-status-icon {
        flex-basis: 32px !important;
        width: 32px !important;
        height: 32px !important;
    }
    html body.cx-design-system .device-config-card .cx-device-dots-summary {
        display: grid !important;
        gap: 3px !important;
    }
}

/* Report custom-period validation: keep logic untouched, restore breathing room before the error. */
html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-grid + .cx-field-validation-error {
    margin-top: 9px !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .device-list-card .device-mobile-status-icons {
        width: max-content !important;
        min-width: 0 !important;
        max-width: none !important;
        display: inline-flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 5px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    html body.cx-design-system .device-list-card .device-mobile-status-icons > * {
        flex: 0 0 22px !important;
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-grid !important;
        place-items: center !important;
        line-height: 22px !important;
        vertical-align: middle !important;
    }

    html body.cx-design-system .device-list-card
    .device-mobile-status-icons > i.device-status-icon {
        font-size: 15px !important;
        line-height: 1 !important;
        transform: none !important;
    }

    html body.cx-design-system .device-list-card
    .device-mobile-status-icons > img.cx-device-bdot-status-icon {
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        object-fit: contain !important;
        object-position: center !important;
        align-self: center !important;
        transform: scale(1.06) !important;
        transform-origin: center !important;
    }

    html body.cx-design-system .device-list-card
    .device-mobile-status-icons > .device-mobile-battery {
        flex: 0 0 22px !important;
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        line-height: 22px !important;
        font-size: 15px !important;
        transform: none !important;
    }

    html body.cx-design-system .device-list-card
    .device-mobile-status-icons > .device-mobile-battery > .fa-stack-1x {
        width: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        line-height: 22px !important;
        font-size: 15px !important;
        transform-origin: center !important;
    }
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-section.report-subscribe-custom-period {
    margin-top: 8px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-158-custom-period-memory {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 7px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    border: 1px solid #d3e0ea !important;
    border-radius: 7px !important;
    background: #f5f9fc !important;
    color: #45657e !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-158-custom-period-memory.is-enabled {
    border-color: #bad8c4 !important;
    background: #f2faf5 !important;
    color: #315f43 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period-grid {
    margin-top: 10px !important;
}

/* Scope: Device Map / History toolbar only.
   Goal: dark-blue toolbar keeps clear icon visibility.
   - Battery keeps functional color but gains a strong white contour.
   - Cellular / GPS / Wi-Fi render in white for contrast on blue.
   - Inactive signal bars remain visible with reduced opacity.
*/

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .dashboard > li.conexgo-device-status-item {
    position: relative !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .dashboard > li.conexgo-device-status-item .fa-stack,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .dashboard > li.conexgo-device-status-item .conexgo-device-simple-icon,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .dashboard > li.conexgo-device-status-item .signal {
    filter: drop-shadow(0 0 1px rgba(255,255,255,.88)) !important;
}

/* Battery: preserve semantic fill, add a clear white outline/glow. */
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar #battery,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-battery-icon {
    -webkit-text-stroke: 1.05px rgba(255,255,255,.98) !important;
    text-shadow:
        0 0 1px rgba(255,255,255,.98),
        0 0 2px rgba(255,255,255,.98),
        1px 0 0 rgba(255,255,255,.90),
        -1px 0 0 rgba(255,255,255,.90),
        0 1px 0 rgba(255,255,255,.90),
        0 -1px 0 rgba(255,255,255,.90) !important;
    filter:
        drop-shadow(1px 0 0 rgba(255,255,255,.90))
        drop-shadow(-1px 0 0 rgba(255,255,255,.90))
        drop-shadow(0 1px 0 rgba(255,255,255,.90))
        drop-shadow(0 -1px 0 rgba(255,255,255,.90)) !important;
}
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar #battery_charging,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-battery-charge {
    text-shadow: 0 0 2px #ffffff, 0 0 3px #ffffff !important;
}

/* GPS + Wi-Fi + cellular base tone on the dark toolbar: white with full opacity. */
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar #satellite,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar #satellite i,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal .bar,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal > div,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal > span,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .conexgo-device-simple-icon,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .conexgo-device-simple-icon i {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Cellular bars: visible in all states, crisp on dark blue. */
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal {
    display: inline-flex !important;
    align-items: flex-end !important;
    gap: 2px !important;
}
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal .bar,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal > div,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal > span {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.14) !important;
    opacity: .34 !important;
}
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal .bar.active,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal .active {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    opacity: 1 !important;
}

/* GPS crosshair + Wi-Fi: slightly stronger white edge so they don't disappear. */
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar #satellite,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .fa-wifi,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .conexgo-device-simple-icon i {
    text-shadow:
        0 0 1px rgba(255,255,255,.98),
        0 0 2px rgba(255,255,255,.90) !important;
}

html body.cx-design-system .cx-training-list-card .cx-training-video-action-group {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 50px !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: 0 2px 7px rgba(29, 59, 82, .08) !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-action-group .cx-training-video-name-button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: 0 !important;
    border-radius: 7px 0 0 7px !important;
    outline: 0 !important;
    background: #ffffff !important;
    color: #274966 !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-action-group .cx-training-video-name-button:is(:hover, :focus, :focus-visible, :active) {
    border: 0 !important;
    outline: 0 !important;
    background: #ffffff !important;
    border-radius: 7px 0 0 7px !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-action-group .device-list-action-toggle {
    flex: 0 0 50px !important;
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 7px 7px 0 !important;
    background: #315f80 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-action-group .device-list-action-toggle:is(:hover, :focus, :focus-visible, :active, [aria-expanded="true"]) {
    border: 0 !important;
    background: #315f80 !important;
    color: #ffffff !important;
    border-radius: 0 7px 7px 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-action-group .cx-training-video-title-source {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #274966 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-align: left !important;
    font-size: 13.5px !important;
    font-weight: 720 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body.cx-design-system .cx-training-list-card .cx-training-action-menu-only
> .device-list-action-menu {
    min-width: 226px !important;
    max-width: min(280px, calc(100vw - 20px)) !important;
}
html body.cx-design-system > .device-list-action-menu.cx-phase-17-8-row-menu-portal.show[data-cx-training-menu] {
    display: block !important;
    min-width: var(--cx-phase-17-8-row-menu-width, 220px) !important;
    max-width: min(280px, calc(100vw - 20px)) !important;
    visibility: visible !important;
    opacity: 1 !important;
}
html body.cx-design-system .cx-training-list-card .cx-training-list-video-cell {
    min-width: 300px !important;
    max-width: 520px !important;
}
html body.cx-design-system .cx-training-list-card .cx-training-list-video-link {
    min-width: 0 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-training-list-card .cx-training-action-cell {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 8px 0 !important;
        text-align: left !important;
    }
    html body.cx-design-system .cx-training-list-card .cx-training-action-menu-only {
        margin: 0 !important;
    }
    html body.cx-design-system .cx-training-list-card .cx-training-list-video-cell {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* B-DOT — heading stays text-only; each configured B-DOT owns its real icon. */
html body.cx-design-system .device-config-card .cx-device-config-bdot-heading {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
}
html body.cx-design-system .device-config-card .cx-device-config-bdot-heading > span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
html body.cx-design-system .device-config-card .cx-device-config-bdot-value,
html body.cx-design-system .device-config-card .cx-device-config-bdot-value-text {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    display: grid !important;
    gap: 8px !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-summary {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 4px 12px !important;
    color: #344f66 !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-summary-line {
    min-width: 0 !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 4px !important;
    white-space: normal !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-summary-line strong { color: #294d68 !important; }
html body.cx-design-system .device-config-card .cx-device-dots-service-state { color: #526b80 !important; }
html body.cx-design-system .device-config-card .cx-device-dots-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
    border: 1px solid #dbe6ed !important;
    border-radius: 9px !important;
    background: #ffffff !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-item__status {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-item__status .cx-generated-beacon-icon {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    flex: 0 0 28px !important;
    object-fit: contain !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-item__status strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-item__meta {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px 12px !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-item__meta > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-item.is-connected {
    border-left: 3px solid #4f8c62 !important;
}
html body.cx-design-system .device-config-card .cx-device-dots-item.is-disconnected {
    border-left: 3px solid #b5666e !important;
}

@media (min-width: 1200px) {
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading),
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) {
        display: grid !important;
        grid-template-columns: 145px 44px minmax(310px, 1.36fr) 180px 110px minmax(205px, .9fr) !important;
        column-gap: 10px !important;
        align-items: start !important;
    }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) .cx-device-config-bdot-heading { grid-column: 1 / 4 !important; }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) .device-config-col-email { grid-column: 4 !important; }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) .device-config-col-sms { grid-column: 5 !important; }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) .device-config-col-updated { grid-column: 6 !important; }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) .device-config-col-toggle { grid-column: 6 !important; justify-self: end !important; }

    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-customer { grid-column: 1 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-edit { grid-column: 2 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-edit--standalone { grid-column: 1 / 3 !important; justify-self: end !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-value--bdot-overview { grid-column: 3 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-email { grid-column: 4 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-sms { grid-column: 5 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-updated { grid-column: 6 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-toggle { display: none !important; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
    }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) :is(.device-config-col-email, .device-config-col-sms, .device-config-col-updated) { display: none !important; }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) .device-config-col-toggle { grid-column: 2 !important; grid-row: 1 !important; justify-self: end !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) {
        display: grid !important;
        grid-template-columns: 132px minmax(0, 1fr) !important;
        gap: 10px 14px !important;
        align-items: start !important;
    }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-customer { grid-column: 1 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-edit { grid-column: 1 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-value--bdot-overview { grid-column: 2 !important; grid-row: 1 / span 2 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > :is(.device-config-col-email, .device-config-col-sms, .device-config-col-updated) { grid-column: 1 / -1 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-toggle { display: none !important; }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px !important;
    }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) :is(.device-config-col-email, .device-config-col-sms, .device-config-col-updated) { display: none !important; }
    html body.cx-design-system .device-config-card .device-config-section-header:has(.cx-device-config-bdot-heading) .device-config-col-toggle { grid-column: 2 !important; grid-row: 1 !important; justify-self: end !important; }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > * {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    html body.cx-design-system .device-config-card .device-config-section-content:has(.device-config-col-value--bdot-overview) > .device-config-col-toggle { display: none !important; }
}

@media (min-width: 768px) {
    html body.cx-design-system >
    .device-list-action-menu.cx-phase-17-8-row-menu-portal.show[data-cx-training-menu] {
        position: fixed !important;
        inset: auto !important;
        top: var(--cx-phase-17-8-row-menu-top) !important;
        left: var(--cx-phase-17-8-row-menu-left) !important;
        right: auto !important;
        bottom: auto !important;
        display: block !important;
        width: var(--cx-phase-17-8-row-menu-width, 220px) !important;
        min-width: var(--cx-phase-17-8-row-menu-width, 220px) !important;
        max-width: min(280px, calc(100vw - 20px)) !important;
        height: auto !important;
        max-height: var(--cx-phase-17-8-row-menu-max-height, calc(100vh - 20px)) !important;
        margin: 0 !important;
        padding: 5px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        background: #ffffff !important;
        border: 1px solid #c8d8e5 !important;
        border-radius: 9px !important;
        box-shadow: 0 12px 28px rgba(29, 59, 82, .18) !important;
        z-index: 2147483000 !important;
        transform: none !important;
    }

    html body.cx-design-system >
    .device-list-action-menu.cx-phase-17-8-row-menu-portal.show[data-cx-training-menu]
    .dropdown-item {
        width: 100% !important;
        min-height: 38px !important;
        display: flex !important;
        align-items: center !important;
        gap: 9px !important;
        padding: 8px 10px !important;
        white-space: nowrap !important;
        color: #294b68 !important;
        background: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

html body.cx-design-system >
.device-list-action-menu.cx-phase-17-8-row-menu-portal.show[data-cx-training-menu] {
    position: fixed !important;
    inset: auto !important;
    top: var(--cx-phase-17-8-row-menu-top) !important;
    left: var(--cx-phase-17-8-row-menu-left) !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    width: var(--cx-phase-17-8-row-menu-width, 220px) !important;
    min-width: var(--cx-phase-17-8-row-menu-width, 220px) !important;
    max-width: min(280px, calc(100vw - 20px)) !important;
    height: auto !important;
    max-height: var(--cx-phase-17-8-row-menu-max-height, calc(100vh - 20px)) !important;
    margin: 0 !important;
    padding: 5px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: #ffffff !important;
    border: 1px solid #c8d8e5 !important;
    border-radius: 9px !important;
    box-shadow: 0 12px 28px rgba(29, 59, 82, .18) !important;
    z-index: 2147483000 !important;
    transform: none !important;
}

html body.cx-design-system >
.device-list-action-menu.cx-phase-17-8-row-menu-portal.show[data-cx-training-menu] .dropdown-item {
    width: 100% !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 8px 10px !important;
    white-space: nowrap !important;
    color: #294b68 !important;
    background: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body.cx-design-system .cx-training-list-card
button.device-list-action-toggle.cx-training-action-toggle::after {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

html body.cx-design-system .cx-training-list-card
button.device-list-action-toggle.cx-training-action-toggle[aria-expanded="true"]::after {
    transform: translate(-50%, -50%) rotate(180deg) !important;
}

html body.cx-design-system .cx-training-list-card
button.device-list-action-toggle.cx-training-action-toggle > .caret {
    display: none !important;
}

html body.cx-design-system .cx-training-list-card
button.device-list-action-toggle.cx-training-action-toggle:is(:hover, :focus-visible, [aria-expanded="true"]) {
    background: #294c69 !important;
    border-color: #294c69 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-training-list-card .cx-training-action-cell {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        padding: 7px 10px !important;
    }
}

/* ==========================================================================
   DESKTOP SIDEBAR — explicit hamburger state, stable 124px compact rail.
   Hover/focus may animate the icon only; the rail geometry never expands.
   ========================================================================== */
@media (min-width: 768px) {
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-shell,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar:hover,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar:focus-within,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled.sidenav-toggled-open .app-sidebar-modern.cx-app-sidebar {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        box-shadow: 4px 0 16px rgba(32, 62, 88, .07) !important;
        transition: box-shadow .15s ease, background-color .15s ease !important;
        will-change: auto !important;
    }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .side-header,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar:hover .side-header,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar:focus-within .side-header,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            width: 124px !important;
            min-width: 124px !important;
            max-width: 124px !important;
            height: var(--cx-shell-header-height, 74px) !important;
            min-height: var(--cx-shell-header-height, 74px) !important;
            max-height: var(--cx-shell-header-height, 74px) !important;
            flex: 0 0 var(--cx-shell-header-height, 74px) !important;
            margin: 0 !important;
            padding: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            overflow: hidden !important;
            transition: none !important;
        }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-primary {
            display: none !important;
            width: 0 !important;
            height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
        }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-compact {
            display: block !important;
            width: 56px !important;
            min-width: 56px !important;
            max-width: 56px !important;
            height: 56px !important;
            min-height: 56px !important;
            max-height: 56px !important;
            margin: 0 auto !important;
            padding: 0 !important;
            opacity: 1 !important;
            visibility: visible !important;
            object-fit: contain !important;
            transform: none !important;
        }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-primary {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled) .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-compact {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* Expanded desktop sidebar: icon + title are one compact visual group.
       The chevron alone owns the far-right edge. */
    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
        height: var(--cx-shell-header-height, 74px) !important;
        min-height: var(--cx-shell-header-height, 74px) !important;
        max-height: var(--cx-shell-header-height, 74px) !important;
        flex: 0 0 var(--cx-shell-header-height, 74px) !important;
    }

        html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
        .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            padding: 0 18px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
        }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-primary {
        width: 128px !important;
        max-width: 128px !important;
        height: auto !important;
        max-height: 52px !important;
        object-fit: contain !important;
    }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .sub-category {
        min-height: 46px !important;
        margin-block: 5px 3px !important;
        overflow: visible !important;
    }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle {
        width: 100% !important;
        min-height: 46px !important;
        padding: 0 13px !important;
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) 22px !important;
        column-gap: 8px !important;
        align-items: center !important;
        justify-content: stretch !important;
        text-align: left !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-icon {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        display: inline-grid !important;
        place-items: center !important;
        margin: 0 !important;
        color: #ffffff !important;
        font-size: 15px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-title {
        min-width: 0 !important;
        margin: 0 !important;
        display: block !important;
        text-align: left !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-chevron {
        width: 22px !important;
        min-width: 22px !important;
        margin: 0 !important;
        justify-self: end !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        margin: 0 !important;
        padding: 10px 12px 24px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .sub-category {
        display: block !important;
        width: 88px !important;
        max-width: 88px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 5px auto 3px !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle {
        width: 72px !important;
        min-width: 72px !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #dce9f1 !important;
        border-radius: 12px !important;
        background: #eef5f9 !important;
        color: #315879 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:hover,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:focus-visible {
            background: inherit !important;
            border-color: transparent !important;
            box-shadow: none !important;
            transform: none !important;
            transition: none !important;
        }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-icon {
        display: inline-flex !important;
        width: 44px !important;
        height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        color: #315879 !important;
        font-size: 18px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transition: color .14s ease, background-color .14s ease !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:hover .conexgo-sidebar-section-icon,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:focus-visible .conexgo-sidebar-section-icon {
        transform: none !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar :is(.conexgo-sidebar-section-title, .conexgo-sidebar-section-chevron, .side-menu__label, .angle) {
        display: none !important;
        width: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .slide-menu {
        display: none !important;
        max-width: 0 !important;
        max-height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar:hover .side-menu__item {
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        min-height: 64px !important;
        margin: 3px auto !important;
        padding: 6px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        border-radius: 14px !important;
        transform: none !important;
        overflow: visible !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .side-menu__icon {
        width: 52px !important;
        min-width: 52px !important;
        max-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        transform: none !important;
        transition: background-color .14s ease, color .14s ease, box-shadow .14s ease !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover .side-menu__icon,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible .side-menu__icon {
        transform: none !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-content {
        margin-left: 124px !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled .app-header.header {
        padding-left: 144px !important;
    }
}

/* ==========================================================================
   MOBILE HEADER — remove unused vertical air between the three header rows.
   ========================================================================== */
@media (max-width: 767.98px) {
    html body.cx-design-system .app-header-modern.cx-app-header .main-container {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    html body.cx-design-system .app-header-modern.cx-app-header .app-header-main-row {
        min-height: 0 !important;
        row-gap: 3px !important;
        align-content: start !important;
    }

    html body.cx-design-system .app-header-modern.cx-app-header .app-header-center-zone,
    html body.cx-design-system .app-header-modern.cx-app-header .app-header-right-zone {
        min-height: 0 !important;
        padding-top: 1px !important;
    }

    html body.cx-design-system .app-header-modern.cx-app-header .responsive-navbar {
        min-height: 36px !important;
        height: auto !important;
        padding-block: 0 !important;
        margin: 0 !important;
    }

    html body.cx-design-system .app-header-modern.cx-app-header
    :is(.app-header-action-zone, .app-header-user-zone) {
        min-height: 36px !important;
        margin-block: 0 !important;
        padding-block: 0 !important;
    }

    /* Minimized cards own exactly their visible header height. */
    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item:has(> .conexgo-dashboard-minimized-card) {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card,
    html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

        html body.cx-design-system #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface,
        html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface {
            height: auto !important;
            min-height: 50px !important;
            max-height: none !important;
            margin: 0 !important;
            padding: 8px 10px !important;
        }

        html body.cx-design-system #conexgoDashboardSmartGrid
        .conexgo-dashboard-minimized-card > .card-body,
        html body.cx-design-system .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .card-body {
            display: none !important;
            height: 0 !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
        }

    /* Expanded Device Status table begins directly below its blue header. */
    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-table-card-body,
    html body.cx-design-system #conexgoDashboardSmartGrid
    .conexgo-dashboard-table-viewport {
        margin-top: 0 !important;
    }
}

@media (min-width: 768px) {
    html body.app.sidebar-mini.cx-design-system .app-sidebar-shell {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        background: transparent !important;
        overflow: visible !important;
    }

    html body.app.sidebar-mini.cx-design-system .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system .app-sidebar-modern.cx-app-sidebar:hover,
    html body.app.sidebar-mini.cx-design-system .app-sidebar-modern.cx-app-sidebar:focus-within {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

        /* The logo strip is a real flex row, not an independently-fixed theme
       element. This prevents the different geometry seen before/after click. */
        html body.app.sidebar-mini.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header {
            position: relative !important;
            inset: auto !important;
            top: auto !important;
            right: auto !important;
            bottom: auto !important;
            left: auto !important;
            height: var(--cx-shell-header-height, 74px) !important;
            min-height: var(--cx-shell-header-height, 74px) !important;
            max-height: var(--cx-shell-header-height, 74px) !important;
            flex: 0 0 var(--cx-shell-header-height, 74px) !important;
            margin: 0 !important;
            background: #ffffff !important;
            overflow: hidden !important;
        }

        html body.app.sidebar-mini.cx-design-system .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
            flex: 1 1 auto !important;
            width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            max-height: none !important;
            margin: 0 !important;
            background: #ffffff !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
            overscroll-behavior: contain !important;
            scrollbar-gutter: stable !important;
        }

        html body.app.sidebar-mini.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-menu {
            width: 100% !important;
            min-width: 0 !important;
            min-height: 100% !important;
            margin: 0 !important;
            background: #ffffff !important;
        }

    /* Expanded brand. */
    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

        html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
        .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            height: 100% !important;
            min-height: 0 !important;
            padding: 0 18px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            overflow: hidden !important;
        }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 125px !important;
        width: 125px !important;
        min-width: 125px !important;
        max-width: 125px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.app.sidebar-mini.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-compact {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* Compact brand: use the source asset's real 50x48 geometry and center it
       in the exact same header-height strip as the topbar. */
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
    }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            height: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            overflow: hidden !important;
        }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-primary {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-compact {
        display: block !important;
        flex: 0 0 50px !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}

html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"],
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-shell,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-shell {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        overflow: visible !important;
        transform: none !important;
        translate: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        background: #ffffff !important;
        z-index: 1400 !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-shell,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar:focus-within {
        width: 270px !important;
        min-width: 270px !important;
        max-width: 270px !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-shell,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar:focus-within {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar {
        position: absolute !important;
        inset: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        contain: none !important;
        overflow: hidden !important;
        background: #ffffff !important;
        z-index: 1 !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar__overlay,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar__overlay {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .side-header {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        height: var(--cx-shell-header-height, 74px) !important;
        min-height: var(--cx-shell-header-height, 74px) !important;
        max-height: var(--cx-shell-header-height, 74px) !important;
        flex: 0 0 var(--cx-shell-header-height, 74px) !important;
        margin: 0 !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
    .app-sidebar-modern.cx-app-sidebar .side-header {
        height: var(--cx-shell-header-height, 74px) !important;
        min-height: var(--cx-shell-header-height, 74px) !important;
        max-height: var(--cx-shell-header-height, 74px) !important;
        flex: 0 0 var(--cx-shell-header-height, 74px) !important;
        background: linear-gradient( 135deg, #ffffff 0%, #f7faff 55%, #eef4fa 100% ) !important;
        border-bottom: 1px solid #d9e3ee !important;
        box-shadow: 0 3px 10px rgba(45, 72, 110, 0.06);
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
        .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            width: 270px !important;
            min-width: 270px !important;
            max-width: 270px !important;
        }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            height: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 18px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            box-sizing: border-box !important;
            overflow: hidden !important;
        }

    /* R18-284: keep the sidebar brand strip aligned with the two-row desktop
       topbar used by the existing <=1240px header layout.
       Current topbar geometry = 42px first row + 55px action row
       + 9px row gap + 20px vertical container padding = 126px. */
    @media (min-width: 992px) and (max-width: 1240px) {
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
        .app-sidebar-modern.cx-app-sidebar .side-header,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
        .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-header,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            height: 126px !important;
            min-height: 126px !important;
            max-height: 126px !important;
            flex: 0 0 126px !important;
        }
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-primary {
        display: block !important;
        flex: 0 0 125px !important;
        width: 125px !important;
        min-width: 125px !important;
        max-width: 125px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        opacity: 1 !important;
        visibility: visible !important;
        clip-path: none !important;
        transform: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-compact {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            height: 100% !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            overflow: hidden !important;
        }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-primary {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-brand-compact {
        display: block !important;
        flex: 0 0 50px !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar .main-sidemenu,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        background: #ffffff !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-content {
        width: auto !important;
        max-width: none !important;
        margin-left: 270px !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-content {
        width: auto !important;
        max-width: none !important;
        margin-left: 124px !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-header.header {
        padding-left: 290px !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-header.header {
        padding-left: 144px !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        padding: 10px 12px 24px !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar :is(.conexgo-sidebar-section-title, .conexgo-sidebar-section-chevron, .side-menu__label, .angle) {
        display: inline-flex !important;
        width: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar .slide-menu {
        display: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar :is(.conexgo-sidebar-section-title, .conexgo-sidebar-section-chevron, .side-menu__label, .angle) {
        opacity: 1 !important;
        visibility: visible !important;
    }

    

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
        display: block !important;
        flex: 0 0 auto !important;
        width: 254px !important;
        min-width: 0 !important;
        max-width: calc(100% - 8px) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 70px !important;
        margin: 0 0 0 2px !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: left center !important;
        image-rendering: auto !important;
        filter: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: block !important;
        flex: 0 0 80px !important;
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        height: 76px !important;
        min-height: 76px !important;
        max-height: 76px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

/* Before JS writes the explicit state, the body starts expanded in App.razor. */
html body.app.sidebar-mini.cx-design-system:not([data-cx-sidebar-state])
.app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
    display: block !important;
}

html body.app.sidebar-mini.cx-design-system:not([data-cx-sidebar-state])
.app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
    display: none !important;
}

/* Lock ONLY the exterior rail. Child item/icon hover effects remain intact. */
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-shell,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-shell:hover,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar:hover,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"] .app-sidebar-modern.cx-app-sidebar:focus-within,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-shell,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-shell:hover,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar:hover,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"] .app-sidebar-modern.cx-app-sidebar:focus-within {
    left: 0 !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    animation: none !important;
    transition-property: background-color, border-color, box-shadow !important;
    will-change: auto !important;
}

    

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:hover .main-sidemenu,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:focus-within .main-sidemenu {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        margin: 0 !important;
        padding: 10px 14px 24px !important;
        transform: none !important;
        translate: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:hover .side-menu__item {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        min-height: 64px !important;
        margin: 3px auto !important;
        padding: 6px !important;
        gap: 0 !important;
        justify-content: center !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
        transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible .side-menu__icon {
            width: 52px !important;
            min-width: 52px !important;
            max-width: 52px !important;
            height: 52px !important;
            min-height: 52px !important;
            max-height: 52px !important;
            margin: 0 !important;
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
transition: background-color .14s ease, color .14s ease, box-shadow .14s ease !important;
        }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:hover .sub-category,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:focus-within .sub-category {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 5px auto 3px !important;
        padding: 0 !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
        transition: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:focus,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:focus-visible {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
        transition: none !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:hover .conexgo-sidebar-section-icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:focus-visible .conexgo-sidebar-section-icon {
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
transition: none !important;
        }

    /* Never re-open labels/submenus just because the compact rail is hovered. */
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:hover
    :is(.conexgo-sidebar-section-title, .conexgo-sidebar-section-chevron, .side-menu__label, .angle) {
        display: none !important;
        width: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:hover .slide-menu {
        display: none !important;
    }
    

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible {
        transform: none !important;
        translate: none !important;
        animation: none !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible .side-menu__icon {
            background: #e3edf5 !important;
            color: #2c4c6c !important;
            border-radius: 14px !important;
            position: relative !important;
            transform: none !important;
            translate: none !important;
            animation: conexgoUiInnerIconHop .42s cubic-bezier(.22, 1, .36, 1) both !important;
            transition: top .20s ease, background-color .14s ease, color .14s ease, box-shadow .14s ease !important;
        }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:focus-visible {
        transform: none !important;
        translate: none !important;
        animation: none !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:hover .conexgo-sidebar-section-icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:focus-visible .conexgo-sidebar-section-icon {
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
transition: none !important;
        }

    /* Belt-and-suspenders: the outer compact rail itself never moves or expands. */
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar:focus-within {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        left: 0 !important;
        right: auto !important;
        margin: 0 !important;
        transform: none !important;
        translate: none !important;
        animation: none !important;
    }

/*
   Compact rail:
   Section/category controls are intentionally darker than normal page items.
   Reuse the established Conexgo section colors from the expanded sidebar:
   blue #2c4c6c + logo green #89c540.
   No width, translate, transform, or sidebar-state behavior is changed here.
*/
@media (min-width: 768px) {
    body.cx-design-system.sidenav-toggled
    .cx-app-sidebar
    .sub-category {
        background: #2c4c6c !important;
        border-left: 4px solid #89c540 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 8px rgba(44, 76, 108, 0.12) !important;
    }

        body.cx-design-system.sidenav-toggled
        .cx-app-sidebar
        .sub-category > .conexgo-sidebar-section-toggle {
            background: transparent !important;
            color: #ffffff !important;
            border-color: transparent !important;
            box-shadow: none !important;
        }

            body.cx-design-system.sidenav-toggled
            .cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle
            .conexgo-sidebar-section-icon {
                background: transparent !important;
                color: #ffffff !important;
                box-shadow: none !important;
            }

            body.cx-design-system.sidenav-toggled
            .cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle:hover,
            body.cx-design-system.sidenav-toggled
            .cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle:focus-visible {
                background: transparent !important;
                color: #ffffff !important;
                border-color: transparent !important;
                box-shadow: none !important;
                transform: none !important;
                translate: none !important;
                scale: 1 !important;
                animation: none !important;
                transition: none !important;
            }
}

/*
   Dashboard root-gap repair:
   Dashboard has no normal page-header block, so generic side-app/container
   top spacing becomes a visually empty strip. Scope the correction ONLY to
   the page that actually owns #conexgoDashboardSmartGrid.
*/
.app-content:has(#conexgoDashboardSmartGrid) > .side-app,
.app-content:has(#conexgoDashboardSmartGrid) .conexgo-side-app,
.side-app:has(#conexgoDashboardSmartGrid) {
    padding-top: 0 !important;
}

    .side-app:has(#conexgoDashboardSmartGrid) > .main-container,
    .side-app:has(#conexgoDashboardSmartGrid) > .conexgo-main-container,
    .main-container:has(#conexgoDashboardSmartGrid),
    .conexgo-main-container:has(#conexgoDashboardSmartGrid) {
        padding-top: 0 !important;
    }

        .main-container:has(#conexgoDashboardSmartGrid) > .conexgo-dashboard-configuration-row,
        .conexgo-main-container:has(#conexgoDashboardSmartGrid) > .conexgo-dashboard-configuration-row {
            margin-top: 0 !important;
        }

@media (max-width: 575.98px) {
    .main-container:has(#conexgoDashboardSmartGrid) > .conexgo-dashboard-configuration-row,
    .conexgo-main-container:has(#conexgoDashboardSmartGrid) > .conexgo-dashboard-configuration-row {
        margin-top: 0 !important;
    }

    #conexgoDashboardSmartGrid.conexgo-dashboard-content-grid {
        margin-top: 8px !important;
    }
}

/*
 * MOBILE SIDEBAR
 *
 * The overlay must dim/blur ONLY the application behind the drawer.
 * It must never sit above the drawer itself, otherwise it steals taps from
 * links. The shell owns one stacking context; overlay is layer 0, drawer 1.
 */
@media (max-width: 991.98px) {
    html body.cx-design-system .cx-final8-mobile-sidebar-shell {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        z-index: 1450 !important;
        pointer-events: none !important;
        overflow: visible !important;
        isolation: isolate !important;
    }

        html body.cx-design-system
        .cx-final8-mobile-sidebar-shell > .cx-final8-mobile-sidebar-overlay {
            position: fixed !important;
            inset: 0 !important;
            z-index: 0 !important;
            display: block !important;
            background: rgba(18, 31, 47, .36) !important;
            -webkit-backdrop-filter: blur(2px) !important;
            backdrop-filter: blur(2px) !important;
            opacity: 0 !important;
            visibility: hidden !important;
            pointer-events: none !important;
            transition: opacity .18s ease, visibility .18s ease !important;
        }

    html body.cx-design-system.sidenav-toggled
    .cx-final8-mobile-sidebar-shell > .cx-final8-mobile-sidebar-overlay,
    html body.cx-design-system.conexgo-mobile-sidebar-open
    .cx-final8-mobile-sidebar-shell > .cx-final8-mobile-sidebar-overlay,
    html.conexgo-mobile-sidebar-open
    body.cx-design-system
    .cx-final8-mobile-sidebar-shell > .cx-final8-mobile-sidebar-overlay {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system
    .cx-final8-mobile-sidebar-shell > .cx-final8-mobile-sidebar-drawer {
        position: fixed !important;
        z-index: 1 !important;
        pointer-events: auto !important;
        background: #ffffff !important;
        opacity: 1 !important;
        filter: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        box-shadow: 12px 0 32px rgba(25, 42, 60, .22) !important;
        isolation: isolate !important;
    }

    /*
     * Drawer density:
     * keep a comfortable row hit area, but stop reserving a 42px icon box
     * plus a large flex gap before every label.
     */
    html body.cx-design-system
    .cx-final8-mobile-sidebar-drawer
    .side-menu__item {
        min-height: 48px !important;
        padding: 6px 9px !important;
        gap: 8px !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    html body.cx-design-system
    .cx-final8-mobile-sidebar-drawer
    .side-menu__icon {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        flex: 0 0 34px !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body.cx-design-system
    .cx-final8-mobile-sidebar-drawer
    .side-menu__label {
        min-width: 0 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    html body.cx-design-system
    .cx-final8-mobile-sidebar-drawer
    .conexgo-sidebar-section-toggle {
        min-height: 44px !important;
        padding: 5px 8px !important;
        display: grid !important;
        grid-template-columns: 34px minmax(0, 1fr) 28px !important;
        column-gap: 8px !important;
        align-items: center !important;
        justify-content: stretch !important;
        text-align: left !important;
    }

    html body.cx-design-system
    .cx-final8-mobile-sidebar-drawer
    .conexgo-sidebar-section-icon {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        justify-self: start !important;
    }

    html body.cx-design-system
    .cx-final8-mobile-sidebar-drawer
    .conexgo-sidebar-section-title {
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    html body.cx-design-system
    .cx-final8-mobile-sidebar-drawer
    .conexgo-sidebar-section-chevron {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        margin: 0 !important;
        justify-self: end !important;
    }
}

/*
 * DASHBOARD CARD WHITE-CAP REPAIR
 *
 * In Index.razor the card-header is already the first direct child of the
 * dashboard card. Therefore any white strip above it is presentation-layer
 * spacing on the card/header, not missing Razor markup.
 *
 * Force the actual Dashboard cards to have zero inner top spacing and let
 * the header touch the card's top edge.
 */
html body.cx-design-system
#conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-resizable-card,
html body.cx-design-system
.conexgo-dashboard-configuration-row
.conexgo-dashboard-configuration-card {
    padding: 0 !important;
    overflow: hidden !important;
}

    html body.cx-design-system
    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-resizable-card > .conexgo-dashboard-card-header-surface,
    html body.cx-design-system
    .conexgo-dashboard-configuration-row
    .conexgo-dashboard-configuration-card > .conexgo-dashboard-card-header-surface {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        align-self: stretch !important;
        border-top-left-radius: 7px !important;
        border-top-right-radius: 7px !important;
    }

    html body.cx-design-system
    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface,
    html body.cx-design-system
    .conexgo-dashboard-configuration-row
    .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .conexgo-dashboard-card-header-surface {
        border-radius: 7px !important;
    }

/*
 * Mobile has historically accumulated several independent card rules.
 * Reassert the same no-cap contract at the exact viewport where it is most
 * visible.
 */
@media (max-width: 767.98px) {
    html body.cx-design-system
    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-resizable-card,
    html body.cx-design-system
    .conexgo-dashboard-configuration-row
    .conexgo-dashboard-configuration-card {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

        html body.cx-design-system
        #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .conexgo-dashboard-resizable-card > .conexgo-dashboard-card-header-surface,
        html body.cx-design-system
        .conexgo-dashboard-configuration-row
        .conexgo-dashboard-configuration-card > .conexgo-dashboard-card-header-surface {
            position: relative !important;
            top: 0 !important;
            margin-top: 0 !important;
        }
}

/*
 * A. PAGE DROPDOWN STACKING
 *
 * Canonical order:
 *   page/row dropdowns : 1350
 *   desktop sidebar    : 1400
 *   dialogs/overlays   : 2000+
 *
 * Historical list styles escalated some action menus and their table ancestors
 * above the sidebar. Normalize the entire open-menu stacking chain instead of
 * raising the Conexgo logo above dialogs.
 */

html body.cx-design-system .app-content .dropdown-menu.show,
html body.cx-design-system .app-content .device-list-action-menu.show,
html body.cx-design-system .app-content .conexgo-row-action-menu.show {
    z-index: 1350 !important;
}

html body.cx-design-system .app-content
.conexgo-pagedlist-table tbody tr:has(.dropdown-menu.show),
html body.cx-design-system .app-content
table tbody tr:has(.dropdown-menu.show) {
    position: relative !important;
    z-index: 1320 !important;
}

html body.cx-design-system .app-content
.conexgo-pagedlist-table tbody td:has(.dropdown-menu.show),
html body.cx-design-system .app-content
table tbody td:has(.dropdown-menu.show) {
    position: relative !important;
    z-index: 1330 !important;
}

html body.cx-design-system .app-content
:is(.device-list-action-group, .btn-group):has(> .dropdown-menu.show) {
    position: relative !important;
    z-index: 1340 !important;
}

/* Sidebar remains above page dropdowns, but below application dialogs. */
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-shell,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-shell {
    z-index: 1400 !important;
    isolation: isolate !important;
}

/* Conexgo brand owns the highest INTERNAL sidebar layer. */
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-modern.cx-app-sidebar .side-header,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar .side-header {
    position: relative !important;
    z-index: 10 !important;
}

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
    .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
        position: relative !important;
        z-index: 11 !important;
    }

html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-modern.cx-app-sidebar
:is(.cx-sidebar-brand-expanded-source-v2, .cx-sidebar-brand-compact-source-v2),
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar
:is(.cx-sidebar-brand-expanded-source-v2, .cx-sidebar-brand-compact-source-v2) {
    position: relative !important;
    z-index: 12 !important;
}

/*
 * B. COMPACT SIDEBAR
 *
 * Section headers keep their established green left accent. Ordinary compact
 * navigation links intentionally have no green outline; active state remains
 * owned by the existing compact-route background treatment.
 */

@media (min-width: 768px) {
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        flex: 0 0 88px !important;
        min-height: 58px !important;
        height: 58px !important;
        max-height: 58px !important;
        margin: 4px auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        background: #2c4c6c !important;
        border: 1px solid #89c540 !important;
        border-left-width: 4px !important;
        border-radius: 14px !important;
        box-shadow: 0 3px 10px rgba(44, 76, 108, .16) !important;
        overflow: hidden !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle {
            width: 84px !important;
            min-width: 84px !important;
            max-width: 84px !important;
            flex: 0 0 84px !important;
            height: 56px !important;
            min-height: 56px !important;
            max-height: 56px !important;
            margin: 0 !important;
            padding: 0 !important;
            background: transparent !important;
            border: 0 !important;
            border-radius: 0 !important;
            color: #ffffff !important;
            box-shadow: none !important;
        }

            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle
            .conexgo-sidebar-section-icon {
                width: 52px !important;
                min-width: 52px !important;
                height: 52px !important;
                min-height: 52px !important;
                margin: 0 auto !important;
                display: grid !important;
                place-items: center !important;
                background: transparent !important;
                border: 0 !important;
                color: #ffffff !important;
                box-shadow: none !important;
            }

            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle:hover,
            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle:focus-visible {
                background: rgba(255,255,255,.08) !important;
            }
}

@keyframes conexgo-alert-header-bounce {
    0%, 20%, 53%, 80%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    40%, 43% {
        transform: translate3d(0, -10px, 0) scale(1.05);
    }

    70% {
        transform: translate3d(0, -5px, 0) scale(1.025);
    }

    90% {
        transform: translate3d(0, -1px, 0) scale(1);
    }
}

html body.cx-design-system .conexgo-header-alerts
.conexgo-alert-trigger.has-alerts .conexgo-alert-icon {
    color: #d6334f !important;
    transform-origin: center bottom !important;
    animation-name: conexgo-alert-header-bounce !important;
    animation-duration: .92s !important;
    animation-timing-function: cubic-bezier(.28,.84,.42,1) !important;
    animation-iteration-count: infinite !important;
    animation-delay: 0s !important;
    animation-fill-mode: both !important;
    will-change: transform !important;
}

html body.cx-design-system .conexgo-header-alerts
.conexgo-alert-trigger:not(.has-alerts) .conexgo-alert-icon {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
}

@media (min-width: 768px) {
    /* The compact rail itself never expands or shifts. */
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    :is(.app-sidebar-shell, .app-sidebar-modern.cx-app-sidebar),
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    :is(.app-sidebar-shell:hover, .app-sidebar-modern.cx-app-sidebar:hover, .app-sidebar-modern.cx-app-sidebar:focus-within) {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        left: 0 !important;
        right: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        translate: none !important;
    }

    /* Ordinary links keep fixed tile geometry. */
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        min-height: 64px !important;
        margin: 3px auto !important;
        padding: 6px !important;
        transform: none !important;
        translate: none !important;
    }

        /* Restore the requested small icon bubble/jump only. */
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible .side-menu__icon {
            background: #e3edf5 !important;
            color: #2c4c6c !important;
            border-radius: 14px !important;
            position: relative !important;
            transform: none !important;
            translate: none !important;
            animation: conexgoUiInnerIconHop .42s cubic-bezier(.22, 1, .36, 1) both !important;
            transition: top .20s ease, background-color .14s ease, color .14s ease, box-shadow .14s ease !important;
        }

    /* Group section tiles retain the dark/green compact style and NEVER resize. */
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category:hover {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        min-height: 58px !important;
        height: 58px !important;
        max-height: 58px !important;
        margin: 4px auto !important;
        padding: 0 !important;
        background: #2c4c6c !important;
        border: 1px solid #89c540 !important;
        border-left-width: 4px !important;
        border-radius: 14px !important;
        box-shadow: 0 3px 10px rgba(44, 76, 108, .16) !important;
        transform: none !important;
        translate: none !important;
        overflow: hidden !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle:hover,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle:focus-visible {
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            height: 100% !important;
            min-height: 58px !important;
            max-height: 58px !important;
            margin: 0 !important;
            padding: 0 !important;
            background: transparent !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            color: #ffffff !important;
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
            animation: none !important;
            transition: background-color .14s ease, color .14s ease !important;
        }

            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle
            .conexgo-sidebar-section-icon,
            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle:hover
            .conexgo-sidebar-section-icon,
            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle:focus-visible
            .conexgo-sidebar-section-icon {
                width: 52px !important;
                min-width: 52px !important;
                max-width: 52px !important;
                height: 52px !important;
                min-height: 52px !important;
                max-height: 52px !important;
                margin: 0 auto !important;
                background: transparent !important;
                border: 0 !important;
                color: #ffffff !important;
                box-shadow: none !important;
                transform: none !important;
                translate: none !important;
                scale: 1 !important;
}
}

@media (min-width: 768px) {
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .conexgo-sidebar-section-title,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .conexgo-sidebar-section-chevron {
        position: absolute !important;
        width: 1px !important;
        min-width: 1px !important;
        max-width: 1px !important;
        height: 1px !important;
        min-height: 1px !important;
        max-height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
        border: 0 !important;
        transform: none !important;
        transition: none !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category:is(:hover, :focus-within) {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        box-sizing: border-box !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .conexgo-sidebar-section-toggle:is(:hover, :focus-visible) {
        width: 84px !important;
        min-width: 84px !important;
        max-width: 84px !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        box-sizing: border-box !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
    }
}

@media (min-width: 768px) {
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category:focus-within,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category.is-open,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category.active {
        box-sizing: border-box !important;
        flex: 0 0 88px !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin: 4px auto !important;
        padding: 0 !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        overflow: hidden !important;
    }

        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar
        .sub-category > .conexgo-sidebar-section-toggle,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar
        .sub-category > .conexgo-sidebar-section-toggle:hover,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar
        .sub-category > .conexgo-sidebar-section-toggle:focus,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar
        .sub-category > .conexgo-sidebar-section-toggle:focus-visible,
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar
        .sub-category > .conexgo-sidebar-section-toggle[aria-expanded="true"],
        html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
        .app-sidebar-modern.cx-app-sidebar
        .sub-category > .conexgo-sidebar-section-toggle[aria-expanded="false"] {
            box-sizing: border-box !important;
            flex: 0 0 84px !important;
            width: 84px !important;
            min-width: 84px !important;
            max-width: 84px !important;
            height: 56px !important;
            min-height: 56px !important;
            max-height: 56px !important;
            margin: 0 !important;
            padding: 0 !important;
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
            animation: none !important;
            overflow: hidden !important;
        }

            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle .conexgo-sidebar-section-icon,
            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle:hover .conexgo-sidebar-section-icon,
            html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
            .app-sidebar-modern.cx-app-sidebar
            .sub-category > .conexgo-sidebar-section-toggle:focus-visible .conexgo-sidebar-section-icon {
                box-sizing: border-box !important;
                flex: 0 0 52px !important;
                width: 52px !important;
                min-width: 52px !important;
                max-width: 52px !important;
                height: 52px !important;
                min-height: 52px !important;
                max-height: 52px !important;
                margin: 0 auto !important;
                transform: none !important;
                translate: none !important;
                scale: 1 !important;
            }

    /* Ordinary compact route tiles also keep their box size; only icon paint scales. */
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item.active {
        box-sizing: border-box !important;
        flex: 0 0 88px !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        min-height: 64px !important;
        max-height: 64px !important;
        margin: 3px auto !important;
        padding: 6px !important;
        transform: none !important;
        translate: none !important;
    }
}

@media (min-width: 992px) {
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    :is(.app-sidebar-shell, .app-sidebar-modern.cx-app-sidebar),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    :is(.app-sidebar-shell, .app-sidebar-modern.cx-app-sidebar):hover,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:focus-within {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        transition: none !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar
    :is(.main-sidemenu, .side-menu),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:hover
    :is(.main-sidemenu, .side-menu) {
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        transform: none !important;
        translate: none !important;
        transition: none !important;
    }

    /* Approved dark section tile. */
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li.sub-category,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category:is(:hover, :focus-within, .active, .is-open) {
        box-sizing: border-box !important;
        flex: 0 0 88px !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        margin: 5px auto 3px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        transition: none !important;
        animation: none !important;
        background: #2c4c6c !important;
        border: 1px solid #89c540 !important;
        border-left-width: 4px !important;
        border-radius: 14px !important;
        box-shadow: 0 3px 10px rgba(44, 76, 108, .16) !important;
        overflow: hidden !important;
    }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category > .conexgo-sidebar-section-toggle,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li.sub-category > .conexgo-sidebar-section-toggle,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category > .conexgo-sidebar-section-toggle:is(:hover, :focus, :focus-visible, :active) {
            box-sizing: border-box !important;
            width: 84px !important;
            min-width: 84px !important;
            max-width: 84px !important;
            height: 48px !important;
            min-height: 48px !important;
            max-height: 48px !important;
            margin: 0 !important;
            padding: 0 !important;
            display: grid !important;
            place-items: center !important;
            background: transparent !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
            transition: none !important;
            animation: none !important;
        }

            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category > .conexgo-sidebar-section-toggle .conexgo-sidebar-section-icon,
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li.sub-category > .conexgo-sidebar-section-toggle .conexgo-sidebar-section-icon,
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category > .conexgo-sidebar-section-toggle:hover .conexgo-sidebar-section-icon {
                box-sizing: border-box !important;
                flex: 0 0 44px !important;
                width: 44px !important;
                min-width: 44px !important;
                max-width: 44px !important;
                height: 44px !important;
                min-height: 44px !important;
                max-height: 44px !important;
                margin: 0 !important;
                padding: 0 !important;
                display: grid !important;
                place-items: center !important;
                justify-self: center !important;
                align-self: center !important;
                line-height: 1 !important;
                transform: none !important;
                translate: none !important;
                scale: 1 !important;
                transition: none !important;
}

    /* Fixed 70px flow slot: 64px link + 3px visual air top/bottom. */
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li:not(.sub-category),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category):is(:hover, :focus-within, .active) {
        box-sizing: border-box !important;
        flex: 0 0 70px !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        transition: none !important;
        animation: none !important;
    }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category) > .side-menu__item,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li:not(.sub-category) > .side-menu__item,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category) > .side-menu__item:is(:hover, :focus, :focus-visible, .active) {
            box-sizing: border-box !important;
            flex: 0 0 64px !important;
            width: 88px !important;
            min-width: 88px !important;
            max-width: 88px !important;
            height: 64px !important;
            min-height: 64px !important;
            max-height: 64px !important;
            margin: 0 auto !important;
            padding: 6px !important;
            display: grid !important;
            place-items: center !important;
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
            animation: none !important;
            transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease !important;
        }

            /* Zero positional motion. Hover can repaint, never scale/translate. */
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category) > .side-menu__item .side-menu__icon,
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li:not(.sub-category) > .side-menu__item .side-menu__icon,
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category) > .side-menu__item:is(:hover, :focus-visible, .active) .side-menu__icon {
                box-sizing: border-box !important;
                width: 52px !important;
                min-width: 52px !important;
                max-width: 52px !important;
                height: 52px !important;
                min-height: 52px !important;
                max-height: 52px !important;
                margin: 0 !important;
                padding: 0 !important;
                display: grid !important;
                place-items: center !important;
                justify-self: center !important;
                align-self: center !important;
                line-height: 1 !important;
                transform: none !important;
                translate: none !important;
                scale: 1 !important;
transform-origin: center center !important;
                transition: background-color .14s ease, color .14s ease, box-shadow .14s ease !important;
            }
}

@media (min-width: 992px) {
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar :is(.main-sidemenu, .side-menu),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:hover :is(.main-sidemenu, .side-menu),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:focus-within :is(.main-sidemenu, .side-menu) {
        box-sizing: border-box !important;
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:hover .main-sidemenu,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:focus-within .main-sidemenu {
        padding: 10px 0 24px !important;
        transition: none !important;
    }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:hover .side-menu {
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu > li,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu > li:is(:hover, :focus-within, .active, .is-open) {
            margin-left: auto !important;
            margin-right: auto !important;
            left: auto !important;
            right: auto !important;
            inset-inline: auto !important;
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
        }

            /* Ordinary route paint stays fixed; icon feedback is color/shadow only. */
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar
            .side-menu > li:not(.sub-category) > .side-menu__item,
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar
            .side-menu > li:not(.sub-category) > .side-menu__item:is(:hover, :focus, :focus-visible, .active) {
                margin: 0 auto !important;
                transform: none !important;
                translate: none !important;
                scale: 1 !important;
            }

                html body.app.sidebar-mini.cx-design-system.sidenav-toggled
                .app-sidebar-modern.cx-app-sidebar
                .side-menu > li:not(.sub-category) > .side-menu__item .side-menu__icon,
                html body.app.sidebar-mini.cx-design-system.sidenav-toggled
                .app-sidebar-modern.cx-app-sidebar
                .side-menu > li:not(.sub-category) > .side-menu__item:is(:hover, :focus-visible, .active) .side-menu__icon {
                    position: static !important;
                    inset: auto !important;
                    margin: 0 !important;
                    display: grid !important;
                    place-items: center !important;
                    text-align: center !important;
                    transform: none !important;
                    translate: none !important;
                    scale: 1 !important;
                }

                    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
                    .app-sidebar-modern.cx-app-sidebar
                    .side-menu > li:not(.sub-category) > .side-menu__item .side-menu__icon::before {
                        display: block !important;
                        margin-left: auto !important;
                        margin-right: auto !important;
                        text-align: center !important;
                    }

            /* Dark section tile: no hover geometry and exact optical centering. */
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category,
            html body.app.sidebar-mini.cx-design-system.sidenav-toggled
            .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category:is(:hover, :focus-within, .active, .is-open) {
                margin-left: auto !important;
                margin-right: auto !important;
                transform: none !important;
                translate: none !important;
                scale: 1 !important;
            }

                html body.app.sidebar-mini.cx-design-system.sidenav-toggled
                .app-sidebar-modern.cx-app-sidebar
                .side-menu > li.sub-category > .conexgo-sidebar-section-toggle,
                html body.app.sidebar-mini.cx-design-system.sidenav-toggled
                .app-sidebar-modern.cx-app-sidebar
                .side-menu > li.sub-category > .conexgo-sidebar-section-toggle:is(:hover, :focus, :focus-visible, :active) {
                    display: grid !important;
                    place-items: center !important;
                    margin: 0 !important;
                    transform: none !important;
                    translate: none !important;
                    scale: 1 !important;
                }

    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar
    .conexgo-sidebar-section-icon,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar
    .conexgo-sidebar-section-toggle:hover .conexgo-sidebar-section-icon {
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        text-align: center !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
    }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .conexgo-sidebar-section-icon > i {
            display: block !important;
            margin: 0 auto !important;
            text-align: center !important;
            transform: none !important;
        }
}

@keyframes conexgo-compact-sidebar-glyph-hop {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    38% {
        transform: translate3d(0, -4px, 0) scale(1.055);
    }

    62% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    78% {
        transform: translate3d(0, -1.5px, 0) scale(1.018);
    }

    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@media (min-width: 992px) {
    /* Absolute geometry lock — hover is not allowed to move any box. */
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:hover,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar:focus-within,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu > li,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu > li:is(:hover, :focus-within, .active, .is-open),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:is(:hover, :focus, :focus-visible, .active),
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle,
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:is(:hover, :focus, :focus-visible, :active) {
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
    }

        /* The icon BOX remains perfectly fixed and centred. */
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-icon,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .conexgo-sidebar-section-toggle:hover .conexgo-sidebar-section-icon {
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
}

        /* Ordinary route glyph: hop only the pseudo-element drawing the icon. */
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .side-menu > li:not(.sub-category) > .side-menu__item .side-menu__icon::before {
            display: inline-block !important;
            transform: translate3d(0, 0, 0) scale(1) !important;
            transform-origin: 50% 60% !important;
will-change: transform;
        }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .side-menu > li:not(.sub-category) > .side-menu__item:hover .side-menu__icon::before,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .side-menu > li:not(.sub-category) > .side-menu__item:focus-visible .side-menu__icon::before {
}

        /* Dark group glyph: same hop, while the blue tile remains completely fixed. */
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .side-menu > li.sub-category > .conexgo-sidebar-section-toggle > .conexgo-sidebar-section-icon::before {
            display: inline-block !important;
            transform: translate3d(0, 0, 0) scale(1) !important;
            transform-origin: 50% 60% !important;
will-change: transform;
        }

        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .side-menu > li.sub-category > .conexgo-sidebar-section-toggle:hover > .conexgo-sidebar-section-icon::before,
        html body.app.sidebar-mini.cx-design-system.sidenav-toggled
        .app-sidebar-modern.cx-app-sidebar
        .side-menu > li.sub-category > .conexgo-sidebar-section-toggle:focus-visible > .conexgo-sidebar-section-icon::before {
}
}

/* Respect reduced-motion without changing the fixed geometry. */
@media (prefers-reduced-motion: reduce) {
    html body.app.sidebar-mini.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar
    :is(.side-menu__icon::before, .conexgo-sidebar-section-icon::before) {
transform: none !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
        opacity: 1 !important;
        visibility: visible !important;
        position: relative !important;
    }

    /* Keep the expanded ConexGo brand area on the approved subtle gradient. */
    html body.cx-design-system[data-cx-sidebar-state="expanded"]
    .app-sidebar-modern.cx-app-sidebar .side-header {
        background: linear-gradient( 135deg, #ffffff 0%, #f7faff 55%, #eef4fa 100% ) !important;
        border-bottom: 1px solid #d9e3ee !important;
        box-shadow: 0 3px 10px rgba(45, 72, 110, 0.06) !important;
    }

        html body.cx-design-system[data-cx-sidebar-state="expanded"]
        .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            background: transparent !important;
        }

    /* Compact mode remains clean white. */
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
        background: #ffffff !important;
    }

    html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header {
        z-index: 1410 !important;
    }

        html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
            z-index: 1411 !important;
        }

    html body.cx-design-system .app-sidebar-modern.cx-app-sidebar
    :is(.cx-sidebar-brand-expanded-source-v2, .cx-sidebar-brand-compact-source-v2) {
        position: relative !important;
        z-index: 1412 !important;
        pointer-events: auto !important;
    }

    /* Legacy class fallback. */
    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: block !important;
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        height: 76px !important;
        opacity: 1 !important;
        visibility: visible !important;
        margin: 0 auto !important;
    }

    html body.cx-design-system.sidenav-toggled
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
        display: block !important;
        width: 254px !important;
        min-width: 254px !important;
        max-width: 254px !important;
        height: 70px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system:not(.sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    /* Explicit authority wins over a briefly stale legacy class. */
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: block !important;
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        height: 76px !important;
        opacity: 1 !important;
        visibility: visible !important;
        margin: 0 auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2,
    html body.cx-design-system[data-cx-sidebar-state="expanded"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="expanded"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
        display: block !important;
        width: 254px !important;
        min-width: 254px !important;
        max-width: 254px !important;
        height: 70px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media (min-width: 992px) {
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category) {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:is(:hover, :focus, :focus-visible, .active) {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 64px !important;
        min-height: 64px !important;
        max-height: 64px !important;
        margin: 3px auto !important;
        padding: 6px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        place-items: center !important;
        justify-content: center !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
    }

        html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
        .app-sidebar-modern.cx-app-sidebar .side-menu__icon,
        html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
        .app-sidebar-modern.cx-app-sidebar .side-menu__item:is(:hover, :focus-visible) .side-menu__icon {
            grid-column: 1 !important;
            grid-row: 1 !important;
            justify-self: center !important;
            align-self: center !important;
            margin: 0 auto !important;
            transform: none !important;
            translate: none !important;
            scale: 1 !important;
}

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar
    :is(.side-menu__icon::before, .conexgo-sidebar-section-icon::before) {
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
}

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .sub-category,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .sub-category:is(:hover, :focus-within, .active, .is-open) {
        margin-left: auto !important;
        margin-right: auto !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-toggle:is(:hover, :focus, :focus-visible, :active) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        place-items: center !important;
        margin: 0 !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-icon {
        justify-self: center !important;
        align-self: center !important;
        margin: 0 auto !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
}
}

html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-modern.cx-app-sidebar .side-header,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar .side-header,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-modern.cx-app-sidebar .side-header .header-brand1,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
    background: linear-gradient( 135deg, #ffffff 0%, #f7faff 55%, #eef4fa 100% ) !important;
}

html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-modern.cx-app-sidebar .side-header,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar .side-header {
    border-bottom: 1px solid #d9e3ee !important;
    box-shadow: 0 3px 10px rgba(45, 72, 110, 0.06) !important;
}

@media (min-width: 992px) {
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.conexgo-sidebar-section-item.is-closed,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li.conexgo-sidebar-section-item.is-closed,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar:focus-within .side-menu > li.conexgo-sidebar-section-item.is-closed {
        flex: 0 0 0 !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
    }
}

@keyframes cx-r18286-compact-item-release {
    0% { top: -10px; opacity: 0; }
    58% { top: 1px; opacity: .88; }
    100% { top: 0; opacity: 1; }
}

@media (min-width: 992px) {
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.conexgo-sidebar-section-item {
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        overflow: hidden !important;
        transition:
            flex-basis .38s cubic-bezier(.22, 1, .36, 1),
            height .38s cubic-bezier(.22, 1, .36, 1),
            min-height .38s cubic-bezier(.22, 1, .36, 1),
            max-height .38s cubic-bezier(.22, 1, .36, 1),
            margin .38s cubic-bezier(.22, 1, .36, 1),
            opacity .34s ease .10s,
            transform .38s cubic-bezier(.22, 1, .36, 1),
            visibility 0s linear 0s !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.conexgo-sidebar-section-item.is-open {
        flex: 0 0 70px !important;
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
        margin: 0 auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar
    .side-menu > li.conexgo-sidebar-section-item.is-open > .side-menu__item {
        position: relative !important;
        animation: cx-r18286-compact-item-release .38s cubic-bezier(.22, 1, .36, 1) both !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.conexgo-sidebar-section-item.is-closed,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar:hover .side-menu > li.conexgo-sidebar-section-item.is-closed,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar:focus-within .side-menu > li.conexgo-sidebar-section-item.is-closed {
        flex: 0 0 0 !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-12px) !important;
        transition:
            flex-basis .40s cubic-bezier(.22, 1, .36, 1),
            height .36s cubic-bezier(.22, 1, .36, 1),
            min-height .36s cubic-bezier(.22, 1, .36, 1),
            max-height .36s cubic-bezier(.22, 1, .36, 1),
            margin .36s cubic-bezier(.22, 1, .36, 1),
            opacity .24s ease,
            transform .36s cubic-bezier(.22, 1, .36, 1),
            visibility 0s linear .36s !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.conexgo-sidebar-section-item {
        transition: none !important;
    }
}

/* ------------------------------------------------------------------------
   1) MOBILE/TABLET SIDEBAR SECTION HEADERS
   Keep icon + title together. Chevron remains on the far right.
   Normal navigation links are intentionally NOT targeted here.
   ------------------------------------------------------------------------ */
@media (max-width: 991.98px) {
    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle,
    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .app-sidebar-modern .sub-category > .conexgo-sidebar-section-toggle {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) 24px !important;
        align-items: center !important;
        justify-items: start !important;
        column-gap: 8px !important;
        padding: 10px 12px 10px 10px !important;
        border: 0 !important;
        border-left: 4px solid #89c540 !important;
        border-radius: 0 !important;
        background: #2c4c6c !important;
        color: #ffffff !important;
        text-align: left !important;
    }

    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle
        .conexgo-sidebar-section-icon,
    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .app-sidebar-modern .sub-category > .conexgo-sidebar-section-toggle
        .conexgo-sidebar-section-icon {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        justify-self: start !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #ffffff !important;
    }

    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle
        .conexgo-sidebar-section-title,
    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .app-sidebar-modern .sub-category > .conexgo-sidebar-section-toggle
        .conexgo-sidebar-section-title {
        min-width: 0 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-self: start !important;
        align-self: center !important;
        text-align: left !important;
        color: #ffffff !important;
    }

    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .cx-app-sidebar .sub-category > .conexgo-sidebar-section-toggle
        .conexgo-sidebar-section-chevron,
    html body.cx-design-system:not([data-cx-sidebar-state="compact"]) .app-sidebar-modern .sub-category > .conexgo-sidebar-section-toggle
        .conexgo-sidebar-section-chevron {
        width: 24px !important;
        min-width: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-self: end !important;
        align-self: center !important;
        text-align: center !important;
        color: #ffffff !important;
    }
}

/* ------------------------------------------------------------------------
   2) LIMITED MOBILE PROFILES
   JS mirrors NavMenu's EXISTING .cx-sidebar-mobile-limited state onto body.
   No role list is duplicated here.
   ------------------------------------------------------------------------ */
@media (max-width: 991.98px) {
    body.cx-r18149-mobile-limited .conexgo-header-sidebar-toggle,
    body.cx-r18149-mobile-limited .app-sidebar__toggle {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.cx-r18149-mobile-limited
        .app-header-modern .app-header-left-zone {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }
}

/* ------------------------------------------------------------------------
   3) SMART MOBILE TOPBAR
   Sticky (not fixed): hide while scrolling down, return on upward scroll.
   ------------------------------------------------------------------------ */
@media (max-width: 991.98px) {
    body.cx-r18149-smart-header-ready .cx-app-header,
    body.cx-r18149-smart-header-ready .app-header-modern {
        position: sticky !important;
        top: 0 !important;
        z-index: 1300 !important;
        transform: translate3d(0, 0, 0) !important;
        transition: transform .2s ease, box-shadow .2s ease !important;
        will-change: transform !important;
    }

    body.cx-r18149-smart-header-ready
        .cx-app-header.cx-r18149-header-hidden,
    body.cx-r18149-smart-header-ready
        .app-header-modern.cx-r18149-header-hidden {
        transform: translate3d(0, calc(-100% - 8px), 0) !important;
        pointer-events: none !important;
    }

    body.cx-r18149-smart-header-ready
        .cx-app-header.cx-r18149-header-visible,
    body.cx-r18149-smart-header-ready
        .app-header-modern.cx-r18149-header-visible,
    body.conexgo-mobile-sidebar-open .cx-app-header,
    body.conexgo-mobile-sidebar-open .app-header-modern {
        transform: translate3d(0, 0, 0) !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    body.cx-r18149-smart-header-ready .cx-app-header,
    body.cx-r18149-smart-header-ready .app-header-modern {
        transition: none !important;
    }
}

/* ------------------------------------------------------------------------
   4) RESPONSIVE DIALOGS
   Use essentially all useful viewport width ONLY on tablet/mobile.
   Desktop geometry is untouched.
   ------------------------------------------------------------------------ */
@media (max-width: 991.98px) {
    .mud-dialog-container {
        padding: 6px !important;
    }

    .mud-dialog-container > .mud-dialog.cx-dialog-root,
    .mud-dialog-container > .mud-dialog.cx-dialog-v17,
    .mud-dialog-container > .mud-dialog.cx-device-config-dialog,
    .mud-dialog-container > .mud-dialog.m3-dialog {
        width: calc(100vw - 12px) !important;
        min-width: 0 !important;
        max-width: calc(100vw - 12px) !important;
        max-height: calc(100dvh - 12px) !important;
        margin: 6px !important;
        box-sizing: border-box !important;
    }

    .mud-dialog-container > .mud-dialog.cx-device-config-dialog {
        height: calc(100dvh - 12px) !important;
    }

    .mud-dialog.cx-dialog-root .cx-dialog-v17-content,
    .mud-dialog.cx-dialog-v17 .cx-dialog-v17-content,
    .mud-dialog.cx-device-config-dialog .cx-dialog-v17-content {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .mud-dialog.cx-dialog-root .cx-dialog-v17-actions,
    .mud-dialog.cx-dialog-v17 .cx-dialog-v17-actions,
    .mud-dialog.cx-device-config-dialog .cx-dialog-v17-actions {
        max-width: 100% !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
}

@media (max-width: 575.98px) {
    .mud-dialog-container {
        padding: 4px !important;
    }

    .mud-dialog-container > .mud-dialog.cx-dialog-root,
    .mud-dialog-container > .mud-dialog.cx-dialog-v17,
    .mud-dialog-container > .mud-dialog.cx-device-config-dialog,
    .mud-dialog-container > .mud-dialog.m3-dialog {
        width: calc(100vw - 8px) !important;
        max-width: calc(100vw - 8px) !important;
        max-height: calc(100dvh - 8px) !important;
        margin: 4px !important;
    }

    .mud-dialog-container > .mud-dialog.cx-device-config-dialog {
        height: calc(100dvh - 8px) !important;
    }

    .mud-dialog.cx-dialog-root .cx-dialog-v17-content,
    .mud-dialog.cx-dialog-v17 .cx-dialog-v17-content,
    .mud-dialog.cx-device-config-dialog .cx-dialog-v17-content {
        padding-left: 9px !important;
        padding-right: 9px !important;
    }
}

/* ------------------------------------------------------------------------
   5) LOCATION SERVICE + CONNECTION/ONLINE SERVICE SCHEDULE ALIGNMENT
   Both Razor files already use the same structural classes. This makes the
   layout authority identical so Start and End controls share one baseline.
   ------------------------------------------------------------------------ */
.cx-r1-device-locationservice .cx-location-schedule-mode,
.cx-r1-device-onlineservice .cx-location-schedule-mode,
.cx-r1-device-locationservice .cx-device-config-field-grid,
.cx-r1-device-onlineservice .cx-device-config-field-grid,
.cx-r1-device-locationservice .cx-device-config-days-label,
.cx-r1-device-onlineservice .cx-device-config-days-label,
.cx-r1-device-locationservice .cx-device-config-day-grid,
.cx-r1-device-onlineservice .cx-device-config-day-grid,
.cx-r1-device-locationservice .cx-location-daily-schedule,
.cx-r1-device-onlineservice .cx-location-daily-schedule {
    width: min(100%, 1120px) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.cx-r1-device-locationservice .cx-device-config-field-grid--two,
.cx-r1-device-onlineservice .cx-device-config-field-grid--two {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: start !important;
    justify-content: stretch !important;
    margin-top: 0 !important;
}

.cx-r1-device-locationservice .cx-device-config-field-grid--two
    > .cx-device-config-field,
.cx-r1-device-onlineservice .cx-device-config-field-grid--two
    > .cx-device-config-field {
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-rows: 28px auto minmax(44px, auto) !important;
    align-content: start !important;
    gap: 7px !important;
}

.cx-r1-device-locationservice .cx-device-config-field-grid--two
    > .cx-device-config-field > label,
.cx-r1-device-onlineservice .cx-device-config-field-grid--two
    > .cx-device-config-field > label {
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
}

.cx-r1-device-locationservice .cx-location-shared-time,
.cx-r1-device-onlineservice .cx-location-shared-time,
.cx-r1-device-locationservice .cx-location-shared-time > *,
.cx-r1-device-onlineservice .cx-location-shared-time > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

.cx-r1-device-locationservice .cx-device-config-field-grid--two
    > .cx-device-config-field > small,
.cx-r1-device-onlineservice .cx-device-config-field-grid--two
    > .cx-device-config-field > small {
    min-height: 44px !important;
    margin: 0 !important;
    display: block !important;
}

@media (max-width: 900px) {
    .cx-r1-device-locationservice .cx-device-config-field-grid--two,
    .cx-r1-device-onlineservice .cx-device-config-field-grid--two {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .cx-r1-device-locationservice .cx-device-config-field-grid--two
        > .cx-device-config-field,
    .cx-r1-device-onlineservice .cx-device-config-field-grid--two
        > .cx-device-config-field {
        grid-template-rows: auto auto auto !important;
    }

    .cx-r1-device-locationservice .cx-device-config-field-grid--two
        > .cx-device-config-field > label,
    .cx-r1-device-onlineservice .cx-device-config-field-grid--two
        > .cx-device-config-field > label {
        height: auto !important;
        min-height: 0 !important;
    }

    .cx-r1-device-locationservice .cx-device-config-field-grid--two
        > .cx-device-config-field > small,
    .cx-r1-device-onlineservice .cx-device-config-field-grid--two
        > .cx-device-config-field > small {
        min-height: 0 !important;
    }
}

/* ------------------------------------------------------------------------
   6) ALERT MAP RETRY / FINAL FAILURE STATE
   The C# retry logic removes the permanent "Chargement..." dead state.
   ------------------------------------------------------------------------ */
.cx-r18149-map-failure {
    min-height: 260px;
    width: 100%;
    display: grid;
    place-items: center;
    padding: 24px;
    box-sizing: border-box;
    text-align: center;
    color: #526a7d;
}

.cx-r18149-map-failure-card {
    width: min(100%, 440px);
    display: grid;
    justify-items: center;
    gap: 10px;
    padding: 20px;
    border: 1px solid #d7e1ea;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 3px 12px rgba(44, 76, 108, .08);
}

.cx-r18149-map-failure-card > i {
    font-size: 1.55rem;
    color: #315a7b;
}

/* ============================================================
   1. COMPACT DESKTOP SIDEBAR — OUTER GEOMETRY NEVER MOVES
   ============================================================ */
@media (min-width: 768px) {
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    :is(.app-sidebar-shell, .app-sidebar, .app-sidebar:hover, .app-sidebar:focus-within) {
        flex: 0 0 124px !important;
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        margin-inline: 0 !important;
        left: 0 !important;
        right: auto !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
        transition: width .20s ease, min-width .20s ease, max-width .20s ease, flex-basis .20s ease !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar :is(.side-header, .main-sidemenu) {
        flex: 0 0 124px !important;
        width: 124px !important;
        min-width: 124px !important;
        max-width: 124px !important;
        transform: none !important;
        translate: none !important;
        animation: none !important;
        transition: width .20s ease, min-width .20s ease, max-width .20s ease, flex-basis .20s ease !important;
    }

    /* Dark section tiles: no hover/focus animation, resize or recentering. */
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .sub-category,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .sub-category:is(:hover, :focus-within, .active, .is-open) {
        flex: 0 0 88px !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin: 4px auto !important;
        padding: 0 !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
        animation: none !important;
        transition: none !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .sub-category > .conexgo-sidebar-section-toggle,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .sub-category > .conexgo-sidebar-section-toggle:is(
        :hover, :focus, :focus-visible, [aria-expanded="true"], [aria-expanded="false"]
    ) {
        flex: 0 0 84px !important;
        width: 84px !important;
        min-width: 84px !important;
        max-width: 84px !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
transition: none !important;
        box-shadow: none !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .sub-category > .conexgo-sidebar-section-toggle
    .conexgo-sidebar-section-icon,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .sub-category > .conexgo-sidebar-section-toggle:hover
    .conexgo-sidebar-section-icon {
        transform: none !important;
        translate: none !important;
        scale: 1 !important;
transition: none !important;
    }

    /* Ordinary light route tiles are fixed externally. Their icon may still
       keep the existing small aesthetic bubble. */
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .side-menu__item,
    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar .side-menu__item:is(:hover, :focus-visible, .active) {
        flex: 0 0 88px !important;
        width: 88px !important;
        min-width: 88px !important;
        max-width: 88px !important;
        height: 64px !important;
        min-height: 64px !important;
        max-height: 64px !important;
        margin: 3px auto !important;
        padding: 6px !important;
        transform: none !important;
        translate: none !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-content {
        margin-left: 124px !important;
        transform: none !important;
        transition: margin-left .20s ease !important;
    }

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-header.header {
        padding-left: 144px !important;
        transform: none !important;
        transition: padding-left .20s ease !important;
    }
}

/* ============================================================
   2. GROUP VIEW — HEADER FIXED, SCROLL ONLY UNDER THE MAP
   ============================================================ */
/*
   The card/header stays exactly fitted to the visible right pane.
   Only the map BODY receives horizontal overflow when its existing desktop
   minimum cannot fit. The header no longer scrolls/cuts with the canvas.
*/
html body.cx-design-system .cx-group-view-page .cx-group-view-map-column {
    overflow: hidden !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-header {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 4 !important;
    overflow: visible !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-title {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-refresh {
    flex: 0 0 36px !important;
    margin-left: auto !important;
}

/* Blazor-owned wrapper: exists before Google Maps initializes; header stays outside. */
html body.cx-design-system .cx-group-view-page .cx-group-view-map-scroll {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-gutter: stable !important;
    scrollbar-width: thin !important;
    scrollbar-color: #5f8cac #edf3f7 !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-scroll::-webkit-scrollbar {
    height: 9px !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-scroll::-webkit-scrollbar-track {
    background: #edf3f7 !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-scroll::-webkit-scrollbar-thumb {
    border: 2px solid #edf3f7 !important;
    border-radius: 999px !important;
    background: #5f8cac !important;
}

@media (min-width: 1200px) {
    html body.cx-design-system .cx-group-view-page .cx-group-view-layout {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
        gap: 18px !important;
        align-items: start !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-list-column,
    html body.cx-design-system .cx-group-view-page .cx-group-view-map-column {
        min-width: 0 !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-map-scroll
    > .cx-group-view-map-canvas {
        width: 100% !important;
        min-width: 720px !important;
        max-width: none !important;
        min-height: 100% !important;
    }
}

@media (max-width: 1199.98px) {
    html body.cx-design-system .cx-group-view-page .cx-group-view-map-scroll {
        overflow-x: visible !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-map-scroll
    > .cx-group-view-map-canvas {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* ============================================================
   3. DEVICE MAP HISTORY/PERIOD — CHEVRON NEVER CLIPS
   ============================================================ */
html body.cx-design-system .device-map-settings
.conexgo-history-main-row .conexgo-history-primary
.cx-custom-select-trigger.cx-control--history {
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    padding-block: 0 !important;
    padding-inline: 12px 4px !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-main-row .conexgo-history-primary
.cx-custom-select-trigger.cx-control--history .cx-custom-select-chevron {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    align-self: center !important;
    justify-self: end !important;
    flex: 0 0 34px !important;
    overflow: visible !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-form.is-custom .conexgo-history-custom-row {
    padding: 12px !important;
    background: #f7fafc !important;
    border: 1px solid #dbe6ee !important;
    border-radius: 14px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-form.is-custom .conexgo-history-custom-row
> :is(.conexgo-history-start-date, .conexgo-history-start-time,
     .conexgo-history-end-date, .conexgo-history-end-time) {
    box-sizing: border-box !important;
    padding: 9px !important;
    background: #ffffff !important;
    border: 1px solid #d9e5ee !important;
    border-radius: 11px !important;
    box-shadow: 0 1px 2px rgba(37, 79, 112, .06) !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-form.is-custom .conexgo-history-custom-row
> :is(.conexgo-history-start-date, .conexgo-history-start-time)
.conexgo-history-label {
    color: #315f82 !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-form.is-custom .conexgo-history-custom-row
> :is(.conexgo-history-end-date, .conexgo-history-end-time)
.conexgo-history-label {
    color: #2c4c6c !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .device-map-settings
    .conexgo-history-form.is-custom .conexgo-history-custom-row {
        padding: 8px !important;
        border-radius: 12px !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-form.is-custom .conexgo-history-custom-row
    > :is(.conexgo-history-start-date, .conexgo-history-start-time,
         .conexgo-history-end-date, .conexgo-history-end-time) {
        padding: 8px !important;
        border-radius: 10px !important;
    }
}

/* ============================================================
   1. ALERT RESOURCES — OPEN STATE MUCH DARKER
   ============================================================ */
html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-danger:is(.active, [aria-expanded="true"]) {
    --cx-alert-resource-accent: #8f241d !important;
    background: #8f241d !important;
    background-color: #8f241d !important;
    border-color: #8f241d !important;
    color: #ffffff !important;
}

html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-info:not(.alert-answer-toggle-documents):is(.active, [aria-expanded="true"]) {
    --cx-alert-resource-accent: #1f4968 !important;
    background: #1f4968 !important;
    background-color: #1f4968 !important;
    border-color: #1f4968 !important;
    color: #ffffff !important;
}

html body.cx-design-system .alert-answer-action-row
.alert-answer-toggle-documents:is(.active, [aria-expanded="true"]) {
    --cx-alert-resource-accent: #2d6d42 !important;
    background: #2d6d42 !important;
    background-color: #2d6d42 !important;
    border-color: #2d6d42 !important;
    color: #ffffff !important;
}

html body.cx-design-system .alert-answer-action-row
:is(.alert-answer-toggle-danger,
    .alert-answer-toggle-info,
    .alert-answer-toggle-documents):is(.active, [aria-expanded="true"]):hover {
    filter: brightness(.96) !important;
    transform: none !important;
}

/* ============================================================
   2. DATA LOG — "MESSAGE SUMMARY" BELONGS TO THE WHITE DATA AREA
   ============================================================ */
/* Keep the main "Received B-DOT Config" title blue.
   Only the section title ("Message summary" / "Résumé du message") moves
   into the white data visual language. */
html body.cx-design-system .cx-data-log-popover-surface .cx-data-log-section-title {
    margin: 10px 10px 0 !important;
    padding: 10px 12px 7px !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #294b68 !important;
    border: 1px solid #d8e4ed !important;
    border-bottom: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    letter-spacing: .025em !important;
}

html body.cx-design-system .cx-data-log-popover-surface .cx-data-log-section-title * {
    color: #294b68 !important;
}

html body.cx-design-system .cx-data-log-popover-surface .cx-data-log-section-body {
    margin: 0 10px 10px !important;
    padding: 5px 12px 9px !important;
    background: #ffffff !important;
    border: 1px solid #d8e4ed !important;
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;
}

/* ============================================================
   3. TRAINING — REAL VISUAL VIDEO PREVIEW
   ============================================================ */
html body.cx-design-system .cx-training-list-card .cx-training-list-thumbnail {
    position: relative !important;
    flex: 0 0 92px !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    overflow: hidden !important;
    border: 1px solid #c9d9e5 !important;
    border-radius: 9px !important;
    background: #18364d !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.10) !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-list-thumbnail :is(img, .cx-training-list-video-preview) {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 0 !important;
    pointer-events: none !important;
}

html body.cx-design-system .cx-training-list-card .cx-training-list-preview-play {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    color: #ffffff !important;
    background: linear-gradient(to bottom, rgba(13,35,51,.04), rgba(13,35,51,.34)) !important;
    pointer-events: none !important;
}

html body.cx-design-system .cx-training-list-card .cx-training-list-preview-play > i {
    width: 26px !important;
    height: 26px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(22,55,79,.78) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    padding-left: 1px !important;
    box-shadow: 0 2px 8px rgba(13,35,51,.20) !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-action-group .cx-training-video-name-button {
    min-height: 60px !important;
    height: 60px !important;
    gap: 12px !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-action-group .device-list-action-toggle {
    min-height: 60px !important;
    max-height: 60px !important;
    height: 60px !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-training-list-card .cx-training-list-thumbnail {
        flex-basis: 76px !important;
        width: 76px !important;
        min-width: 76px !important;
        max-width: 76px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

    html body.cx-design-system .cx-training-list-card
    .cx-training-video-action-group .cx-training-video-name-button,
    html body.cx-design-system .cx-training-list-card
    .cx-training-video-action-group .device-list-action-toggle {
        min-height: 54px !important;
        height: 54px !important;
        max-height: 54px !important;
    }
}

/* ============================================================
   4. GROUP VIEW — FULL-WIDTH BLUE MAP HEADER
   ============================================================ */
html body.cx-design-system .cx-group-view-page .cx-group-view-map-header {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: #315f82 !important;
    background-color: #315f82 !important;
    border: 1px solid #315f82 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-group-view-page
.cx-group-view-map-header :is(.cx-group-view-map-title, .cx-group-view-map-title span, .cx-group-view-map-title i) {
    color: #ffffff !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-title-icon {
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.28) !important;
    color: #ffffff !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-refresh {
    background: #244b68 !important;
    background-color: #244b68 !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-group-view-page
.cx-group-view-map-refresh:is(:hover, :focus-visible, :active) {
    background: #1c3f59 !important;
    background-color: #1c3f59 !important;
    border-color: rgba(255,255,255,.55) !important;
    color: #ffffff !important;
    transform: none !important;
}

html body.cx-design-system .cx-group-view-page
.cx-group-view-map-refresh :is(i, svg) {
    color: #ffffff !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    max-width: 610px !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow: hidden !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-datetime {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-position-indicator {
    flex: 0 0 auto !important;
    min-height: 24px !important;
    padding: 3px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #cbdde8 !important;
    border-radius: 999px !important;
    background: #eef5f9 !important;
    color: #315f82 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-position-indicator[hidden] {
    display: none !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
        gap: 5px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-position-indicator {
        padding-inline: 6px !important;
        font-size: 11px !important;
    }
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-name-button:is(:hover, :focus-visible) {
    background: #f5f9fc !important;
    background-color: #f5f9fc !important;
    color: #244963 !important;
    box-shadow: 0 4px 10px rgba(39, 73, 98, .08) !important;
    transform: translateY(-1px) !important;
    transition: transform .14s ease, background-color .14s ease, box-shadow .14s ease !important;
}

html body.cx-design-system .cx-training-list-card
.cx-training-video-name-button:is(:hover, :focus-visible)
.cx-training-list-thumbnail {
    filter: brightness(.985) !important;
}

@media (min-width: 1200px) {
    html body.cx-design-system .device-permissions-content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 220px !important;
        align-items: center !important;
        column-gap: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex-wrap: nowrap !important;
    }

    html body.cx-design-system .device-permissions-content > .col-12.col-md-9,
    html body.cx-design-system .device-permissions-content > .col-12.col-md-3 {
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.cx-design-system .device-permissions-content .permissions {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    html body.cx-design-system .device-permissions-content .permission-item {
        box-sizing: border-box !important;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 82px !important;
        max-width: 140px !important;
        margin: 0 !important;
        align-self: stretch !important;
    }

    html body.cx-design-system .device-permissions-content .device-permissions-actions {
        width: 220px !important;
        min-width: 226px !important;
        max-width: 226px !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: center !important;
        gap: 10px !important;
    }

    html body.cx-design-system .device-permissions-content
    .device-permissions-actions .device-permissions-query-button {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-158-custom-period-memory,
html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-127-report-history-limit {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 36px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 7px 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    border-radius: 7px !important;
    box-sizing: border-box !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-158-custom-period-memory {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-127-report-history-limit {
    clear: both !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system .cx-report-subscribe-dialog
    .report-subscribe-custom-period :is(
        .cx-r18-158-custom-period-memory,
        .cx-r18-127-report-history-limit
    ) {
        width: 100% !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system .device-permissions-content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 205px !important;
        align-items: center !important;
        column-gap: 16px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex-wrap: nowrap !important;
    }

    html body.cx-design-system .device-permissions-content > .col-12.col-md-9,
    html body.cx-design-system .device-permissions-content > .col-12.col-md-3 {
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.cx-design-system .device-permissions-content .permissions {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(7, minmax(68px, 1fr)) !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    html body.cx-design-system .device-permissions-content .permission-item {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        align-self: stretch !important;
    }

    html body.cx-design-system .device-permissions-content .device-permissions-actions {
        width: 205px !important;
        min-width: 205px !important;
        max-width: 205px !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: center !important;
        gap: 10px !important;
    }
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-158-custom-period-memory,
html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-127-report-history-limit {
    width: min(100%, 620px) !important;
    min-width: min(100%, 620px) !important;
    max-width: min(100%, 620px) !important;
    min-height: 36px !important;
    padding: 7px 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    border-radius: 7px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-158-custom-period-memory {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period .cx-r18-127-report-history-limit {
    display: flex !important;
    clear: both !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    display: grid !important;
    grid-template-columns: auto minmax(230px, 1fr) auto auto !important;
    align-items: center !important;
    column-gap: 8px !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-playback-controls--previous {
    grid-column: 1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
    grid-column: 2 !important;
    min-width: 230px !important;
    overflow: visible !important;
    gap: 7px !important;
    justify-content: center !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-playback-datetime {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

html body.cx-design-system .device-map-settings .conexgo-history-position-indicator {
    grid-column: 3 !important;
    min-width: max-content !important;
    padding: 3px 7px !important;
    font-size: 11.5px !important;
}

html body.cx-design-system .device-map-settings
.conexgo-history-playback-controls--next {
    grid-column: 4 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        row-gap: 6px !important;
        column-gap: 6px !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-playback-controls--previous {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .device-map-settings
    .conexgo-history-playback-controls--next {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-position-indicator {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: center !important;
        font-size: 11px !important;
    }
}

@media (min-width: 768px), (hover: hover) and (pointer: fine) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        width: 100% !important;
        max-width: none !important;
        display: grid !important;
        grid-template-columns: max-content minmax(460px, 620px) !important;
        align-items: center !important;
        justify-content: start !important;
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 42px !important;
        height: 42px !important;
        flex: 0 0 auto !important;
        padding: 5px 10px !important;
        white-space: nowrap !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        min-width: 460px !important;
        max-width: 620px !important;
        min-height: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: auto minmax(210px, 1fr) auto auto !important;
        align-items: center !important;
        column-gap: 6px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-playback-time {
        min-width: 210px !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-position-indicator {
        max-width: 112px !important;
        padding-inline: 6px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

@media (max-width: 767.98px) and (hover: none) and (pointer: coarse) {
    html body.cx-design-system .device-map-settings .conexgo-history-results {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    html body.cx-design-system .device-map-settings .conexgo-history-location-count,
    html body.cx-design-system .device-map-settings .conexgo-history-playback {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-range {
    margin-top: 12px !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    background: #f7fafc !important;
    border: 1px solid #dbe6ee !important;
    border-radius: 14px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-card {
    box-sizing: border-box !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #ffffff !important;
    border: 1px solid #d9e5ee !important;
    border-radius: 11px !important;
    box-shadow: 0 1px 2px rgba(37, 79, 112, .06) !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-card > label {
    display: block !important;
    min-height: 18px !important;
    margin: 0 0 7px !important;
    color: #315f82 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: .025em !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-card .cx-date-picker,
html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-card .cx-control-field,
html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-card input.form-control {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    box-sizing: border-box !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-range {
        grid-template-columns: minmax(0, 1fr) !important;
        padding: 8px !important;
        gap: 9px !important;
        border-radius: 12px !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-card {
        padding: 8px !important;
        border-radius: 10px !important;
    }
}

html body.cx-design-system .alert-list-card .alert-filter-inline {
    float: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

html body.cx-design-system .alert-list-card .alert-filter-inline .alert-filter-option {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    white-space: nowrap !important;
}

/* Keep the Map-inspired white cards, but restore the original report-field
   footprint: two date cards occupy two of the normal three desktop columns. */
html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-range {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 10px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-card {
    padding: 9px !important;
}

@media (max-width: 991.98px) {
    html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-range {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-report-subscribe-dialog .cx-r191-custom-period-range {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 8px !important;
    }
}

:root {
    --cx-r194-row-menu-layer: 1550;
    --cx-r194-brand-layer: 1700;
    --cx-r194-dialog-layer: 2010;
    --cx-r194-toast-layer: 3050;
}

html body.cx-design-system .mud-dialog-container {
    z-index: var(--cx-r194-dialog-layer) !important;
}

html body.cx-design-system .cx-phase-17-8-row-menu-portal,
html body.cx-design-system > .cx-phase-17-8-row-menu-portal.show,
html body.cx-design-system .device-list-action-menu.show,
html body.cx-design-system .conexgo-row-action-menu.show {
    z-index: var(--cx-r194-row-menu-layer) !important;
}

html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header,
html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1,
html body.cx-design-system .app-sidebar-modern.cx-app-sidebar
:is(.cx-sidebar-brand-expanded-source-v2, .cx-sidebar-brand-compact-source-v2) {
    z-index: var(--cx-r194-brand-layer) !important;
}

html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header,
html body.cx-design-system .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1 {
    opacity: 1 !important;
    visibility: visible !important;
}

html body.cx-design-system .blazored-toast-container,
html body.cx-design-system .toast-container.conexgo-toast-container {
    z-index: var(--cx-r194-toast-layer) !important;
}

.r18-197-s001{background:#3d6287;border-color:#3d6287;color:white;font-weight:600;padding:10px;}
.r18-197-s002{background:#f8f9fa;}
.r18-197-s003{text-align:center;color:#2c4c6c;font-weight:bold;font-size:16pt;padding-top:15px;}
.r18-197-s004{background:white;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.r18-197-s005{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;}
.r18-197-s006{grid-template-columns:minmax(0, 1fr) auto;align-items:baseline;column-gap:18px;}
.r18-197-s007{padding-bottom:15px;}
.r18-197-s008{color:#2c4c6c;font-weight:bold;font-size:16pt;padding-top:15px;}
.r18-197-s009{background:white;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.06);text-align:center;}
.r18-197-s010{color:#2c4c6c;}
.r18-197-s011{font-size:9pt;color:#6c757d;}
.r18-197-s012{color:#6c757d;}
.r18-197-s013{color:#b02a37;padding:10px 0 15px;}
.r18-197-s014{color:#b02a37;font-weight:bold;font-size:16pt;padding-top:15px;}
.r18-197-s015{background:#f8f9fa;border:1px solid #dee2e6;color:#2c4c6c;}
.r18-197-s016{text-align:center;color:#6c757d;padding-bottom:10px;}
.r18-197-s017{color:#6c757d;padding-bottom:15px;}
.r18-197-s018{text-align:center;color:#6c757d;font-weight:500;padding-bottom:10px;}
.r18-197-s019{color:#6c757d;margin-top:15px;}
.r18-197-s020{background:#3d6287;border-color:#3d6287;color:white;font-weight:600;}
.r18-197-s021{display: inline-block;}
.r18-197-s022{background:white;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.06);max-width:600px;}
.r18-197-s023{font-weight:600;padding:10px;}
.r18-197-s024{background:#3d6287;color:white;}
.r18-197-s025{color:#3d6287;}
.r18-197-s026{color:#2c4c6c;font-weight:700;}
.r18-197-s027{padding: 26px 28px 30px 28px;}
.r18-197-s028{color:rgba(255,255,255,.78);font-size:9pt;font-weight:500;}
.r18-197-s029{color:white;font-weight:700;}
.r18-197-s030{background-color:#2c4c6c;}
.r18-197-s031{border-radius: 10px;overflow: hidden;}
.r18-197-s032{display:block !important;flex:1 1 auto !important;min-width:0 !important;color:#274966 !important;opacity:1 !important;visibility:visible !important;text-align:left !important;font-size:13.5px !important;font-weight:720 !important;line-height:1.2 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.r18-197-s033{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:10px !important;width:100% !important;}
.r18-197-s034{background:#b8564b;border-color:#b8564b;color:white;}
.r18-197-s035{float: left;background:#78b842;border-color:#78b842;color:white;}
.r18-197-s036{float: left;background:#c98a2e;border-color:#c98a2e;color:white;}
.r18-197-s037{float: left;background:#3e6a99;border-color:#3e6a99;color:white;}
.r18-197-s038{text-align: right;}
.r18-197-s039{width: 20px;height: 20px;}
.r18-197-s040{vertical-align:middle;}
.r18-197-s041{vertical-align:middle;text-align:center;}
.r18-197-s042{font-size:8pt;}
.r18-197-s043{text-align:center;vertical-align:middle;}
.r18-197-s044{background:#d89a2b;border-color:#d89a2b;color:white;align-items:center;justify-content:center;}
.r18-197-s045{background:#78b842;border-color:#78b842;color:white;align-items:center;justify-content:center;}
.r18-197-s046{background:#3e6a99;border-color:#3e6a99;color:white;align-items:center;justify-content:center;}
.r18-197-s047{white-space:nowrap;vertical-align:middle;}
.r18-197-s048{margin-right:6px;}
.r18-197-s049{background:#315879;border-color:#315879;color:white;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;}
html body.cx-design-system .r18-197-s049:is(:hover,:focus,:focus-visible,:active){
    background:#24445f !important;
    border-color:#24445f !important;
    color:#fff !important;
    box-shadow:none !important;
    filter:none !important;
    transform:none !important;
}
html body.cx-design-system .r18-197-s049:is(:hover,:focus,:focus-visible,:active) :is(i,span,svg),
html body.cx-design-system .r18-197-s049 > :is(i,span,svg){
    color:inherit !important;
}
.r18-197-s050{margin-right:6px;color:#3d6287;}
.r18-197-s051{width:100%;padding:10px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;font-size:9pt;line-height:1.45;}
.r18-197-s052{text-align:right;}
.r18-197-s053{font-size:9pt;}
.r18-197-s054{cursor:pointer;font-size:16pt;color:#3d6287;}
.r18-197-s055{margin-bottom:2rem;}
.r18-197-s056{color:#ccc;font-size:9pt;margin-left:10px;}
.r18-197-s057{color:white;font-size:14pt;font-weight:bold;}
.r18-197-s058{width:100%;}
.r18-197-s059{min-height:160px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;}
.r18-197-s060{background:#315879;border-color:#315879;color:#fff !important;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;}
html body.cx-design-system .r18-197-s060:is(:hover,:focus,:focus-visible,:active){
    background:#24445f !important;
    border-color:#24445f !important;
    color:#fff !important;
    box-shadow:none !important;
    filter:none !important;
    transform:none !important;
}
html body.cx-design-system .r18-197-s060:is(:hover,:focus,:focus-visible,:active) :is(i,span,svg){
    color:inherit !important;
}
.r18-197-s061{padding-top: 10px;}
.r18-197-s062{background-color:#2f5fa8;color:#ffffff;border-color:#2f5fa8;box-shadow:none;}
.r18-197-s063{border-color:#2f5fa8;color:#2f5fa8;box-shadow:none;}
.r18-197-s064{white-space:normal;line-height:1.55;color:#1f2937;}
.r18-197-s065{font-weight:700;color:#2f3b52;margin-bottom:10px;}
.r18-197-s066{font-size:12.5px;color:#495057;margin-top:6px;line-height:1.45;}
.r18-197-s067{font-weight:700;color:#2c4c6c;}
.r18-197-s068{font-size:12.5px;}
.r18-197-s069{border:1px solid #f0c9c9;background:#fff8f8;color:#9b3f3f;border-radius:6px;padding:10px;font-size:12.5px;}
.r18-197-s070{font-size:12.5px;color:#6c757d;margin-top:8px;}
.r18-197-s071{font-size:12.5px;color:#6c757d;line-height:1.4;margin-top:4px;}
.r18-197-s072{margin-right:4px;}
.r18-197-s073{margin-left:10px;box-shadow:none;}
.r18-197-s074{font-size:12.5px;color:#6c757d;margin-top:5px;}
.r18-197-s075{margin-top:10px;}
.r18-197-s076{font-size:12.5px;color:#6c757d;}
.r18-197-s077{margin-top:8px;}
.r18-197-s078{text-align:center;}
.r18-197-s079{font-size:13.5px;}
.r18-197-s080{max-height:28px;max-width:28px;}
.r18-197-s081{display:flex;align-items:center;gap:8px;}
.r18-197-s082{margin-right:5px;}
.r18-197-s083{box-shadow:none;}
.r18-197-s084{width:110px;}
.r18-197-s085{background:#eafaf1;}
.r18-197-s086{border:1px solid #dee2e6;background:#f8f9fa;border-radius:6px;padding:12px;color:#6c757d;font-size:12.5px;}
.r18-197-s087{padding:12px;}
.r18-197-s088{font-size:12.5px;color:#6c757d;margin-left:8px;}
.r18-197-s089{font-size:12pt;font-weight:700;color:#2c4c6c;}
.r18-197-s090{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:10px 12px;}
.r18-197-s091{border:1px solid #dee2e6;border-radius:8px;background:#ffffff;overflow:hidden;}
.r18-197-s092{width:170px;}
.r18-197-s093{border:1px solid #dee2e6;border-radius:8px;background:#ffffff;margin-bottom:18px;overflow:hidden;}
.r18-197-s094{text-align:right !important;}
.r18-197-s095{font-size:12.5px;color:#6c757d;margin-top:4px;}
.r18-197-s096{margin:0;color:#2c4c6c;font-weight:700;}
.r18-197-s097{width:100%;margin-bottom:16px;}
.r18-197-s098{min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;}
.r18-197-s099{background: #3e6a99;color: white;}
.r18-197-s100{text-align: center;}
.r18-197-s101{background: #b8505b;color: white;}
.r18-197-s102{text-align:right !important;margin-top:8px;}
.r18-197-s103{text-align:right;color:white;}
.r18-197-s104{width: 100%;}
.r18-197-s105{cursor:pointer;}
.r18-197-s106{line-height: 6px;font-size: 9pt;vertical-align:middle;}
.r18-197-s107{color:white;}
.r18-197-s108{background-color: black;line-height: 6px;font-size: 9pt;vertical-align:middle;}
.r18-197-s109{--env-color:#2c4c6c;}
.r18-197-s110{margin-bottom:0;}
.r18-197-s111{margin-top: 8px;}
.r18-197-s112{font-size:18pt;}
.r18-197-s113{font-size:8.8pt;color:#6c757d;}
.r18-197-s114{font-weight:700;color:#2c4c6c;font-size:11pt;margin-bottom:4px;}
.r18-197-s115{width:24px;height:24px;color:#2c4c6c !important;}
.r18-197-s116{width:48px;height:48px;border-radius:999px;background:#f8fafc;border:1px solid #e5eaf1;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.r18-197-s117{background:#ffffff;border:1px solid #e5eaf1;border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.10);padding:28px 34px;text-align:center;min-width:280px;}
.r18-197-s118{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:#f4f6fb;}
.r18-197-s119{font-size:7.6pt;color:#8a95a3;line-height:1.2;}
.r18-197-s120{text-align:right;min-width:76px;flex:0 0 76px;}
.r18-197-s121{font-size:8.2pt;color:#6c757d;}
.r18-197-s122{font-weight:700;font-size:9.3pt;line-height:1.25;color:#2c4c6c;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.r18-197-s123{min-width:0;flex:1;}
.r18-197-s124{font-size:12pt;}
.r18-197-s125{background:#eef4ff;color:#2c4c6c;border:1px solid #d8e4f2;border-radius:999px;padding:2px 8px;font-size:7.8pt;font-weight:800;white-space:nowrap;}
.r18-197-s126{background:#fff3f3;color:#9b3f3f;border:1px solid #f0c9c9;border-radius:999px;padding:2px 8px;font-size:7.8pt;font-weight:800;white-space:nowrap;}
.r18-197-s127{font-size:8.2pt;color:#6c757d;margin-top:2px;}
.r18-197-s128{font-weight:700;font-size:9.3pt;line-height:1.25;color:#2c4c6c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.r18-197-s129{min-width:0;}
.r18-197-s130{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8f9fa;padding:10px 12px;border-bottom:1px solid #edf0f2;}
.r18-197-s131{border:1px solid #edf0f2;border-radius:8px;overflow:hidden;margin-bottom:6px;background:#fff;}
.r18-197-s132{width:38px;height:38px;border-radius:999px;background:#f8fafc;border:1px solid #e5eaf1;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;color:#2c4c6c;}
.r18-197-s133{padding:18px;text-align:center;color:#6c757d;font-size:9pt;}
.r18-197-s134{max-height:360px;overflow-y:auto;padding:6px;}
.r18-197-s135{height:1px;background:#edf0f2;}
.r18-197-s136{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:3px 8px;font-size:8pt;font-weight:800;white-space:nowrap;}
.r18-197-s137{background-color:#f4c542;color:#1f2937;border-radius:999px;padding:3px 8px;font-size:8pt;font-weight:800;white-space:nowrap;}
.r18-197-s138{font-size:8.5pt;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.r18-197-s139{font-weight:700;font-size:10.5pt;line-height:1.2;}
.r18-197-s140{color:#fff !important;}
.r18-197-s141{width:32px;height:32px;border-radius:999px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex:0 0 32px;}
.r18-197-s142{display:flex;align-items:center;gap:10px;min-width:0;}
.r18-197-s143{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.r18-197-s144{background:#2c4c6c;color:#fff;padding:13px 14px;}
.r18-197-s145{width:360px;max-width:calc(100vw - 24px);border:1px solid #e5eaf1;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.12);overflow:hidden;padding:0;background:#fff;}
.r18-197-s146{background-color:#f4c542;color:#1f2937;position:absolute;top:-6px;right:-5px;border:2px solid #fff;min-width:19px;height:19px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:7.5pt;font-weight:800;}
.r18-197-s147{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#2c4c6c;background:#f8fafc;border:1px solid #e5eaf1;position:relative;}
.r18-197-s148{float:left;}
.r18-197-s149{display:block;font-size:8.5pt;color:#6c757d;margin-bottom:6px;font-weight:600;}
.r18-197-s150{font-size:8.5pt;opacity:.85;}
.r18-197-s151{width:32px;height:32px;border-radius:999px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;}
.r18-197-s152{display:flex;align-items:center;gap:10px;}
.r18-197-s153{background:#2c4c6c;color:#fff;padding:12px 14px;border-radius:10px 10px 0 0;}
.r18-197-s154{min-width:240px;border:1px solid #e5eaf1;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.12);overflow:visible;padding:0;background:#fff;}
.r18-197-s155{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#2c4c6c;background:#f8fafc;border:1px solid #e5eaf1;}
.r18-197-s156{border-radius:8px;padding:10px 12px;gap:10px;color:#8a4f4f;}
.r18-197-s157{height:1px;background:#edf0f2;margin:6px 0;}
.r18-197-s158{border-radius:8px;padding:10px 12px;gap:10px;}
.r18-197-s159{padding:8px;}
.r18-197-s160{font-size:8.5pt;opacity:.85;margin-top:3px;}
.r18-197-s161{width:54px;height:54px;border-radius:999px;object-fit:cover;border:2px solid rgba(255,255,255,.45);}
.r18-197-s162{margin-bottom:8px;}
.r18-197-s163{background:#2c4c6c;color:#fff;padding:16px 14px;text-align:center;}
.r18-197-s164{min-width:260px;margin-right:18px;border:1px solid #e5eaf1;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.12);overflow:hidden;padding:0;background:#fff;}
.r18-197-s165{font-size:9pt;color:#2c4c6c;font-weight:600;}
.r18-197-s166{width:38px;height:38px;border:2px solid #e5eaf1;box-shadow:0 2px 8px rgba(15,23,42,.08);}
.r18-197-s167{gap:8px;padding:0 8px 0 0;text-decoration:none;}

/* Migrated from Components/Pages/_Layout.cshtml */
#back-to-top {
                position: fixed;
                right: 24px;
                bottom: 24px;
                z-index: 1090;
                display: none;
                width: 52px;
                height: 52px;
                line-height: 52px;
                padding: 0;
                margin: 0;
                color: #ffffff !important;
                background: #2c4c6c !important;
                border: 1px solid rgba(255, 255, 255, 0.14);
                border-radius: 12px;
                text-align: center;
                text-decoration: none !important;
                box-shadow: 0 8px 22px rgba(44, 76, 108, 0.26);
                transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
            }

                #back-to-top i {
                    display: inline-block;
                    margin: 0;
                    padding: 0;
                    color: #ffffff !important;
                    font-size: 17px;
                    line-height: inherit;
                    vertical-align: top;
                    transition: transform .18s ease;
                }

                #back-to-top:hover {
                    color: #ffffff !important;
                    background: #3d6287 !important;
                    border-color: #3d6287;
                    transform: translateY(-2px);
                    box-shadow: 0 11px 26px rgba(44, 76, 108, 0.32);
                }

                    #back-to-top:hover i {
                        transform: translateY(-1px);
                    }

                #back-to-top:focus-visible {
                    color: #ffffff !important;
                    outline: 3px solid rgba(61, 98, 135, 0.3);
                    outline-offset: 3px;
                }

                #back-to-top:active {
                    transform: translateY(0);
                }

            @media (max-width: 576px) {
                #back-to-top {
                    right: 16px;
                    bottom: 18px;
                    width: 46px;
                    height: 46px;
                    line-height: 46px;
                    border-radius: 10px;
                }

                    #back-to-top i {
                        font-size: 15px;
                    }
            }

            @media (prefers-reduced-motion: reduce) {
                #back-to-top,
                #back-to-top i {
                    transition: none;
                }
            }

.r18-status-cell-online{color:#f2b705!important}.r18-status-gps-online{color:#2f6fed!important}.r18-status-satellite-online{color:#7A5CB8!important}.r18-status-muted{color:#c7cdd4!important}
.r18-notification-priority{font-size:16pt}.r18-notification-priority-1{color:#B8505B}.r18-notification-priority-2{color:#C7B200}.r18-notification-priority-3{color:#3E6A99}
.account-config-section-header{border-radius:8px}.account-config-section-header.is-expanded{border-radius:8px 8px 0 0}
.r18-hidden{display:none!important}.r18-grid{display:grid!important}
.r18-select-max-190{--cx-select-max-height:190px}.r18-select-max-240{--cx-select-max-height:240px}.r18-select-max-260{--cx-select-max-height:260px}.r18-select-max-320{--cx-select-max-height:320px}.r18-select-max-360{--cx-select-max-height:360px}
.r18-minw-100{min-width:100px}.r18-minw-135{min-width:135px}.r18-minw-140{min-width:140px}.r18-minw-150{min-width:150px}.r18-minw-155{min-width:155px}.r18-minw-165{min-width:165px}.r18-minw-180{min-width:180px}.r18-minw-220{min-width:220px}.r18-minw-360{min-width:360px}
.r18-group-pane-430{--cx-group-view-pane-height:430px}.r18-group-pane-522{--cx-group-view-pane-height:522px}.r18-group-pane-614{--cx-group-view-pane-height:614px}.r18-group-pane-706{--cx-group-view-pane-height:706px}.r18-group-pane-798{--cx-group-view-pane-height:798px}.r18-group-pane-890{--cx-group-view-pane-height:890px}.r18-group-pane-900{--cx-group-view-pane-height:900px}
.r18-server-icon-online{color:#2c4c6c}.r18-server-icon-offline{color:#8A4F4F}.conexgo-server-service{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-bottom:1px solid #f0f2f4;color:#2f3b52;white-space:normal}.conexgo-server-service.is-online{background:#fff}.conexgo-server-service.is-offline{background:#fffafa}.r18-server-service-icon{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex:0 0 34px}.is-online>.r18-server-service-icon{background:#eef4ff;color:#2c4c6c}.is-offline>.r18-server-service-icon{background:#fff1f3;color:#cc3657}.r18-server-service-last-run{font-size:8.5pt;font-weight:800;line-height:1.3}.is-online .r18-server-service-last-run{color:#2c4c6c}.is-offline .r18-server-service-last-run{color:#9b3f3f}
.conexgo-server-group.is-online > .r18-197-s130{background:#eef8f1!important;border-bottom-color:#cfe3d4!important}.conexgo-server-group.is-offline > .r18-197-s130{background:#fff1f2!important;border-bottom-color:#efc8cd!important}
.r18-env-development{--env-color:#3E6A99}.r18-env-staging{--env-color:#6D88A6}.r18-env-production{--env-color:#2c4c6c}.r18-env-default{--env-color:#365B87}
/* Training responsive: Device-style compact information on small screens. */
.r18-training-mobile-meta{display:none}
@media (max-width:767.98px){.conexgo-pagedlist-table{min-width:0!important;width:100%!important}.r18-training-mobile-meta{display:grid;gap:2px;margin-top:6px;font-size:8.5pt}.cx-training-col-source,.cx-training-col-status,.cx-training-col-rating,.cx-training-col-comments{display:none!important}}

/* Device configuration disclosure arrow stays INSIDE the green section. */
html body.cx-design-system
.device-config-card .device-config-section-header {
    position: relative !important;
    overflow: hidden !important;
    padding-right: 66px !important;
}

html body.cx-design-system
.device-config-card
.device-config-section-header > .cx-device-config-edge-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 8px !important;
    left: auto !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
}

/* Support follows the same page-header/card-toolbar hierarchy as Groups. */
html body.cx-design-system .conexgo-support-page-header {
    width: 100% !important;
    min-width: 0 !important;
}

html body.cx-design-system .cx-support-list-toolbar {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    border: 0 !important;
    background: #2c4c6c !important;
    color: #fff !important;
}

html body.cx-design-system .cx-support-list-toolbar .card-title {
    min-width: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-support-toolbar-back {
    display: none !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .conexgo-support-page-header {
        margin-bottom: 12px !important;
    }

    html body.cx-design-system .cx-support-list-toolbar {
        min-height: 56px !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 8px !important;
        overflow: visible !important;
    }

    html body.cx-design-system .cx-support-toolbar-back {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 44px !important;
        min-width: 44px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    html body.cx-design-system .cx-support-list-toolbar .card-title {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        padding: 0 4px !important;
        font-size: 1.05rem !important;
        line-height: 1.2 !important;
    }

    /* Real phones now use the same body portal as desktop. */
    html body.cx-design-system > .cx-phase-17-8-row-menu-portal.show,
    html body.cx-design-system > .device-list-action-menu.cx-phase-17-8-row-menu-portal.show,
    html body.cx-design-system > .conexgo-row-action-menu.cx-phase-17-8-row-menu-portal.show {
        position: fixed !important;
        inset: auto !important;
        top: var(--cx-phase-17-8-row-menu-top) !important;
        left: var(--cx-phase-17-8-row-menu-left) !important;
        right: auto !important;
        bottom: auto !important;
        width: var(--cx-phase-17-8-row-menu-width) !important;
        min-width: min(
            var(--cx-phase-17-8-row-menu-width),
            calc(100vw - 20px)
        ) !important;
        max-width: calc(100vw - 20px) !important;
        max-height: min(
            var(--cx-phase-17-8-row-menu-max-height),
            calc(100dvh - 150px)
        ) !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        touch-action: pan-y !important;
        transform: none !important;
        translate: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        background: #fff !important;
        border: 1px solid #c7d6e2 !important;
        border-radius: 12px !important;
        box-shadow: 0 14px 36px rgba(31, 61, 89, .22) !important;
        z-index: 2147482000 !important;
        scrollbar-width: thin !important;
    }

    html body.cx-design-system >
    .cx-phase-17-8-row-menu-portal.show .dropdown-item {
        width: 100% !important;
        min-height: 44px !important;
        flex: 0 0 auto !important;
    }
}

@media (max-width: 767.98px) {
    /*
     * Support must begin directly in the routed content area.
     * Remove the extra top gutter introduced by the generic page containers.
     */
    html body.cx-design-system
    .main-container:has(.conexgo-support-page-header),

    html body.cx-design-system
    .container-fluid:has(> .conexgo-support-page-header),

    html body.cx-design-system
    .side-app:has(.conexgo-support-page-header) {
        padding-top: 0 !important;
    }

    html body.cx-design-system .conexgo-support-page-header {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /*
     * A row action menu ALWAYS starts below its toggle.
     * Height is constrained to the remaining viewport above the mobile
     * bottom navigation; overflow scrolls INSIDE the menu.
     */
    html body.cx-design-system >
    .cx-phase-17-8-row-menu-portal.show,

    html body.cx-design-system >
    .device-list-action-menu.cx-phase-17-8-row-menu-portal.show,

    html body.cx-design-system >
    .conexgo-row-action-menu.cx-phase-17-8-row-menu-portal.show {
        top: var(--cx-phase-17-8-row-menu-top) !important;
        bottom: auto !important;
        max-height:
            var(--cx-phase-17-8-row-menu-max-height) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        touch-action: pan-y !important;
    }
}

html body .app-sidebar-modern .header-brand1 {
    min-height: 52px !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

html body .app-sidebar-modern .header-brand1 .header-brand-img {
    display: none !important;
}

html body .app-sidebar-modern .header-brand1 .light-logo1 {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 226px !important;
    max-height: 74px !important;
    object-fit: contain !important;
    image-rendering: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

@media (max-width: 767.98px) {
    html body .app-sidebar-modern .header-brand1 {
        min-height: 56px !important;
        height: 56px !important;
    }

    html body .app-sidebar-modern .header-brand1 .light-logo1 {
        max-width: 188px !important;
        max-height: 50px !important;
    }
}

html body.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-modern.cx-app-sidebar
.cx-sidebar-brand-expanded-source-v2 {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 226px !important;
    height: 72px !important;
    min-height: 0 !important;
    max-height: 72px !important;
    object-fit: contain !important;
    object-position: left center !important;
    image-rendering: auto !important;
    filter: none !important;
    transform: none !important;
    margin: 0 0 0 2px !important;
}

/* --------------------------------------------------------------------------
   2. DESKTOP COMPACT RAIL — keep the existing 124px rail contract, but stop
   section headers from looking like oversized full-width blocks.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-header {
        min-height: 58px !important;
        height: 58px !important;
        padding: 6px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: block !important;
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        height: 76px !important;
        max-height: 76px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
        scrollbar-width: thin !important;
        scrollbar-color: #b8c9d6 transparent !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu::-webkit-scrollbar {
        width: 5px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu::-webkit-scrollbar-track {
        background: transparent !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu::-webkit-scrollbar-thumb {
        border-radius: 999px !important;
        background: #b8c9d6 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category:hover {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        margin: 5px auto !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 12px !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        background: #2c4c6c !important;
        border: 1px solid #89c540 !important;
        border-left-width: 3px !important;
        border-radius: 12px !important;
        color: #fff !important;
        box-shadow: 0 2px 7px rgba(44, 76, 108, .12) !important;
        transform: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle
    .conexgo-sidebar-section-icon {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        background: transparent !important;
        border: 0 !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle
    :is(.conexgo-sidebar-section-title, .conexgo-sidebar-section-chevron) {
        display: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category) {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
        min-height: 58px !important;
        margin: 3px auto !important;
        padding: 5px !important;
        justify-content: center !important;
        border-radius: 12px !important;
        transform: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item .side-menu__icon {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        flex: 0 0 46px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 12px !important;
    }
}

/* --------------------------------------------------------------------------
   3. TOUCH TABLET SHELL
   JS assigns mobile-open/mobile-closed only to touch layouts. Desktop widths
   with a normal fine pointer keep the existing desktop shell untouched.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1366px) {
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"],
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"] {
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    :is(.page, .page-main, .main-content.app-content),
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    :is(.page, .page-main, .main-content.app-content) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .main-content.app-content,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .main-content.app-content {
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        translate: none !important;
        overflow-x: clip !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header.header,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header.header {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .main-content.app-content .side-app,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .main-content.app-content .side-app {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-top: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .main-content.app-content .main-container.container-fluid,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .main-content.app-content .main-container.container-fluid {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 12px clamp(12px, 2vw, 24px) 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    #conexgo-page-content,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    #conexgo-page-content {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Tablet sidebar shell is a true overlay drawer, never a compressed
       desktop rail. */
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-shell,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-shell {
        position: fixed !important;
        inset: 0 auto auto 0 !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        z-index: 2147481000 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-shell {
        pointer-events: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-shell {
        pointer-events: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-modern.cx-app-sidebar,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        width: min(320px, calc(100vw - 72px)) !important;
        min-width: min(320px, calc(100vw - 72px)) !important;
        max-width: min(320px, calc(100vw - 72px)) !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        border-right: 1px solid #dce5ec !important;
        overflow: hidden !important;
        contain: paint !important;
        transition:
            transform .20s ease,
            opacity .12s ease,
            visibility .12s ease !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-modern.cx-app-sidebar,
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-modern.cx-app-sidebar:hover,
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-modern.cx-app-sidebar:focus-within {
        transform: translate3d(calc(-100% - 24px), 0, 0) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar:hover,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar:focus-within {
        transform: translate3d(0, 0, 0) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        box-shadow: 10px 0 28px rgba(31, 61, 89, .18) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar__overlay,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar__overlay {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        background: rgba(25, 44, 62, .30) !important;
        z-index: 2147480999 !important;
        transition: opacity .16s ease, visibility .16s ease !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar__overlay {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar__overlay {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .side-header {
        width: 100% !important;
        min-height: 64px !important;
        height: 64px !important;
        padding: 8px 10px 8px 14px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: linear-gradient(135deg, #ffffff 0%, #f7faff 58%, #eef4fa 100%) !important;
        border-bottom: 1px solid #d9e3ee !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .header-brand1 {
        min-width: 0 !important;
        height: 48px !important;
        min-height: 48px !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
        display: block !important;
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
        height: auto !important;
        max-height: 55px !important;
        object-fit: contain !important;
        margin: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .app-sidebar-mobile-close {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        flex: 0 0 40px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
        width: 100% !important;
        height: calc(100dvh - 64px) !important;
        max-height: calc(100dvh - 64px) !important;
        padding: 8px 8px 18px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        scrollbar-gutter: stable !important;
        scrollbar-width: thin !important;
        scrollbar-color: #a9bdcc transparent !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar
    :is(.side-menu, .sub-category, .side-menu > li:not(.sub-category)) {
        max-width: 100% !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .sub-category {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 6px 0 4px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 48px !important;
        height: auto !important;
        padding: 8px 10px !important;
        display: grid !important;
        grid-template-columns: 36px minmax(0, 1fr) 28px !important;
        align-items: center !important;
        gap: 8px !important;
        border-radius: 10px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 48px !important;
        margin: 2px 0 !important;
        padding: 5px 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;
        border-radius: 10px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__icon {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex: 0 0 38px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 9px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar
    :is(.side-menu__label, .conexgo-sidebar-section-title) {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* Tablet header uses two compact rows:
       row 1 = hamburger / brand / version
       row 2 = clock / actions. */
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header {
        min-height: 0 !important;
        height: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .main-container,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .main-container {
        padding: 7px 12px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-header-main-row,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-header-main-row {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "left left"
            "center right" !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 6px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-header-left-zone,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-header-left-zone {
        grid-area: left !important;
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-sidebar__toggle,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-sidebar__toggle {
        grid-column: 1 !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-header-brand-link,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-header-brand-link {
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        padding: 2px 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .header-brand-img,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .header-brand-img {
        width: auto !important;
        max-width: 110px !important;
        max-height: 30px !important;
        object-fit: contain !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-header-left-zone > .topbar-version-pill,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-header-left-zone > .topbar-version-pill {
        grid-column: 3 !important;
        justify-self: end !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-header-center-zone,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-header-center-zone {
        grid-area: center !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        justify-content: flex-start !important;
        border: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-header-center-zone .nt-clock-card,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-header-center-zone .nt-clock-card {
        width: min(100%, 410px) !important;
        min-width: 0 !important;
        max-width: 410px !important;
        min-height: 40px !important;
        height: 40px !important;
        margin: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .app-header-right-zone,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .app-header-right-zone {
        grid-area: right !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 40px !important;
        padding: 0 !important;
        justify-content: flex-end !important;
        border: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .responsive-navbar,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .responsive-navbar {
        width: auto !important;
        min-width: 0 !important;
        min-height: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header
    :is(.app-header-action-zone, .app-header-user-zone),
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header
    :is(.app-header-action-zone, .app-header-user-zone) {
        width: auto !important;
        min-width: 0 !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        border: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header
    :is(.nav-link.icon, .notifications > .nav-link, .message > .nav-link, .profile-1 > .nav-link),
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header
    :is(.nav-link.icon, .notifications > .nav-link, .message > .nav-link, .profile-1 > .nav-link) {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-header-modern.cx-app-header .profile-1 .profile-user,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-header-modern.cx-app-header .profile-1 .profile-user {
        width: 38px !important;
        height: 38px !important;
        margin: 0 !important;
    }

    
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"].cx-r18149-smart-header-ready
    .app-header-modern,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"].cx-r18149-smart-header-ready
    .app-header-modern {
        position: sticky !important;
        top: 0 !important;
        z-index: 1300 !important;
        transform: translate3d(0, 0, 0) !important;
        transition: transform .2s ease, box-shadow .2s ease !important;
        will-change: transform !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"].cx-r18149-smart-header-ready
    .app-header-modern.cx-r18149-header-hidden {
        transform: translate3d(0, calc(-100% - 8px), 0) !important;
        pointer-events: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"].cx-r18149-smart-header-ready
    .app-header-modern.cx-r18149-header-visible,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"].cx-r18149-smart-header-ready
    .app-header-modern {
        transform: translate3d(0, 0, 0) !important;
        pointer-events: auto !important;
    }

    /* Tablet dashboard: content-driven normal flow. */
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    #conexgoDashboardSmartGrid,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    #conexgoDashboardSmartGrid {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        align-content: start !important;
        gap: 12px !important;
        overflow: visible !important;
        transform: none !important;
        column-count: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item
    > .conexgo-dashboard-resizable-card,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item
    > .conexgo-dashboard-resizable-card,
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .conexgo-dashboard-configuration-card,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .conexgo-dashboard-configuration-card {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        resize: none !important;
        overflow: hidden !important;
        transform: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-minimized-card > .card-body,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .card-body {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Keep wide tables inside their own horizontal viewport instead of moving
       the whole page sideways. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    :is(.conexgo-pagedlist-table-region, .table-responsive) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-inline: contain !important;
        scrollbar-gutter: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-pagedlist-table-column {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-pagedlist-table:not(.conexgo-pagedlist-mobile-cards) {
        width: max-content !important;
        min-width: 100% !important;
        max-width: none !important;
    }

    /* Generic dialog cap for tablet: preserves each dialog's chosen width,
       but prevents viewport clipping. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .mud-dialog-container {
        padding: 8px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .mud-dialog-container > .mud-dialog {
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
    }
}

/* --------------------------------------------------------------------------
   4. RESPONSIVE CXSELECT CHEVRON ROOM
   Only canonical touch shell states; desktop control geometry stays intact.
   -------------------------------------------------------------------------- */
@media (max-width: 1366px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .cx-custom-select-trigger {
        grid-template-columns: minmax(0, 1fr) 42px !important;
        min-width: 0 !important;
        padding-right: 4px !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .cx-custom-select-trigger:has(.cx-custom-select-leading-icon) {
        grid-template-columns: 28px minmax(0, 1fr) 42px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .cx-custom-select-chevron {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .cx-custom-select-chevron > .cx-custom-select-chevron-icon {
        display: inline-block !important;
        overflow: visible !important;
        line-height: 1 !important;
    }
}

/* --------------------------------------------------------------------------
   5. PAGEDLIST CUSTOM DATE RANGE
   Group semantic start/end fields instead of flattening six unrelated cells.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
.conexgo-pagedlist-custom-fields {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        36px
        minmax(0, 1fr)
        auto !important;
    align-items: end !important;
    gap: 12px !important;
}

html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
.conexgo-pagedlist-custom-group {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns:
        minmax(170px, 1.25fr)
        minmax(130px, .75fr) !important;
    align-items: end !important;
    gap: 10px !important;
}

html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
.conexgo-pagedlist-field {
    min-width: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(30px, auto) 44px !important;
    align-content: end !important;
    gap: 6px !important;
    margin: 0 !important;
}

html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
.conexgo-pagedlist-field-label--icon {
    min-height: 30px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    align-self: end !important;
    gap: 8px !important;
    line-height: 1.2 !important;
}

html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
:is(
    .cx-date-picker-v16-1,
    .cx-time-picker-v17-9,
    .conexgo-pagedlist-input,
    .cx-custom-select,
    .cx-custom-select-trigger
) {
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
:is(.conexgo-pagedlist-custom-separator, .conexgo-pagedlist-apply) {
    align-self: end !important;
    height: 44px !important;
    min-height: 44px !important;
    margin-bottom: 0 !important;
}

html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
.conexgo-pagedlist-custom-separator {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
}

html body.cx-design-system
.cx-paged-list
.cx-pagedlist-date-range-v16
.conexgo-pagedlist-apply {
    min-width: 118px !important;
    padding-inline: 16px !important;
}

@media (max-width: 1199.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-separator {
        display: none !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-apply {
        width: 100% !important;
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 899.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        grid-template-columns:
            minmax(0, 1.25fr)
            minmax(128px, .75fr) !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   6. REPORT PREVIEW — one deliberate scroll owner.
   Dialog title/actions stay visible; the report body owns viewport scrolling.
   -------------------------------------------------------------------------- */
html body .mud-dialog.cx-report-preview-dialog {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

html body .mud-dialog.cx-report-preview-dialog .mud-dialog-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
}

html body .mud-dialog.cx-report-preview-dialog
:is(.cx-report-preview-layout, .cx-report-preview-section) {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-panel {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-toolbar {
    flex: 0 0 auto !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-rendered-content {
    min-width: 0 !important;
    min-height: 100% !important;
    overflow: visible !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-frame {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

@media (min-width: 768px) and (max-width: 1366px) {
    html body .mud-dialog.cx-report-preview-dialog {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        height: calc(100dvh - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
    }
}

/* Reduced motion remains respected. */
@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    :is(.app-sidebar-modern, .app-sidebar__overlay, .app-header-modern) {
        transition: none !important;
    }
}

html body.cx-design-system {
    --cx-r206-blue-900: #24425f;
    --cx-r206-blue-800: #2c4c6c;
    --cx-r206-blue-700: #35628c;
    --cx-r206-blue-600: #3e6a99;
    --cx-r206-blue-500: #4f7da0;
    --cx-r206-blue-100: #eaf1f6;
    --cx-r206-blue-050: #f5f8fb;
    --cx-r206-green-700: #5f8766;
    --cx-r206-green-600: #6b9671;
    --cx-r206-red-700: #a34450;
    --cx-r206-red-600: #b24d59;
    --cx-r206-amber-700: #9b6a2d;
    --cx-r206-amber-600: #ad7b35;
}

/* --------------------------------------------------------------------------
   1. ONE SCROLLBAR LANGUAGE ACROSS THE AUTHENTICATED PORTAL
   -------------------------------------------------------------------------- */
html body.cx-design-system,
html body.cx-design-system * {
    scrollbar-color: var(--cx-r206-blue-500) var(--cx-r206-blue-100) !important;
}

html body.cx-design-system *::-webkit-scrollbar {
    width: 8px !important;
    height: 8px !important;
}

html body.cx-design-system *::-webkit-scrollbar-track {
    background: var(--cx-r206-blue-100) !important;
    border-radius: 999px !important;
}

html body.cx-design-system *::-webkit-scrollbar-thumb {
    min-width: 24px !important;
    min-height: 24px !important;
    border: 1px solid var(--cx-r206-blue-100) !important;
    border-radius: 999px !important;
    background: var(--cx-r206-blue-500) !important;
    background-clip: padding-box !important;
}

html body.cx-design-system *::-webkit-scrollbar-thumb:hover {
    background: var(--cx-r206-blue-700) !important;
}

html body.cx-design-system *::-webkit-scrollbar-corner {
    background: var(--cx-r206-blue-100) !important;
}

/* --------------------------------------------------------------------------
   2. MODERN HOVER CONTRACT
   Old pale-blue hover layers must not recolor semantic buttons.
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(.btn, .mud-button-root, .cx-dialog-action):not(:disabled):not(.mud-disabled) {
    transform: none !important;
}

html body.cx-design-system .btn-primary:hover:not(:disabled),
html body.cx-design-system .btn-primary:focus-visible:not(:disabled) {
    border-color: var(--cx-r206-blue-900) !important;
    background: var(--cx-r206-blue-900) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(36, 66, 95, .18) !important;
    transform: none !important;
}

html body.cx-design-system .btn-success:hover:not(:disabled),
html body.cx-design-system .btn-success:focus-visible:not(:disabled) {
    border-color: var(--cx-r206-green-700) !important;
    background: var(--cx-r206-green-700) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(95, 135, 102, .18) !important;
    transform: none !important;
}

html body.cx-design-system .btn-danger:hover:not(:disabled),
html body.cx-design-system .btn-danger:focus-visible:not(:disabled) {
    border-color: var(--cx-r206-red-700) !important;
    background: var(--cx-r206-red-700) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(163, 68, 80, .18) !important;
    transform: none !important;
}

html body.cx-design-system .btn-warning:hover:not(:disabled),
html body.cx-design-system .btn-warning:focus-visible:not(:disabled) {
    border-color: var(--cx-r206-amber-700) !important;
    background: var(--cx-r206-amber-700) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(155, 106, 45, .18) !important;
    transform: none !important;
}

html body.cx-design-system
:is(.btn-info, .btn-secondary):hover:not(:disabled),
html body.cx-design-system
:is(.btn-info, .btn-secondary):focus-visible:not(:disabled) {
    border-color: var(--cx-r206-blue-700) !important;
    background: var(--cx-r206-blue-700) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(53, 98, 140, .16) !important;
    transform: none !important;
}

html body.cx-design-system
:is(.btn-light, .btn-outline-secondary):hover:not(:disabled),
html body.cx-design-system
:is(.btn-light, .btn-outline-secondary):focus-visible:not(:disabled) {
    border-color: #aebfce !important;
    background: #eef3f7 !important;
    color: var(--cx-r206-blue-800) !important;
    box-shadow: 0 3px 9px rgba(36, 66, 95, .08) !important;
    transform: none !important;
}

html body.cx-design-system .btn-outline-primary:hover:not(:disabled),
html body.cx-design-system .btn-outline-primary:focus-visible:not(:disabled) {
    border-color: var(--cx-r206-blue-800) !important;
    background: var(--cx-r206-blue-800) !important;
    color: #fff !important;
    box-shadow: 0 4px 11px rgba(44, 76, 108, .16) !important;
    transform: none !important;
}

/* Table/list action buttons keep their semantic color instead of inheriting
   the old washed-out list hover background. */
html body.cx-design-system
:is(.table, .conexgo-pagedlist-table)
:is(.btn-primary, .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-secondary)
:hover:not(:disabled) {
    filter: saturate(1.03) brightness(.96) !important;
}

/* Custom selects keep a white surface on hover. Only border/elevation changes. */
html body.cx-design-system .cx-custom-select-trigger:hover:not(:disabled) {
    border-color: #91a9bd !important;
    background: #fff !important;
    color: #173b62 !important;
    box-shadow: 0 2px 6px rgba(22, 55, 87, .075) !important;
    transform: none !important;
}

html body.cx-design-system
.cx-custom-select-trigger:hover:not(:disabled)
.cx-custom-select-chevron {
    background: #edf3f7 !important;
    color: var(--cx-r206-blue-700) !important;
}

/* --------------------------------------------------------------------------
   3. LOGO: CLEAN, PROPORTIONAL, NEVER BLURRED BY TRANSFORMS
   -------------------------------------------------------------------------- */
html body.cx-design-system
.app-sidebar-modern.cx-app-sidebar
:is(.cx-sidebar-brand-expanded-source-v2, .cx-sidebar-brand-compact-source-v2),
html body.cx-design-system
.app-header-modern.cx-app-header
.header-brand-img {
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    image-rendering: auto !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    backface-visibility: hidden !important;
}

html body.cx-design-system[data-cx-sidebar-state="expanded"]
.app-sidebar-modern.cx-app-sidebar
.cx-sidebar-brand-expanded-source-v2 {
    width: 226px !important;
    min-width: 226px !important;
    max-width: 226px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 74px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: left center !important;
    image-rendering: auto !important;
    filter: none !important;
    transform: none !important;
}

html body.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar
.cx-sidebar-brand-compact-source-v2 {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 auto !important;
}

/* --------------------------------------------------------------------------
   4. DESKTOP COMPACT SIDEBAR — TRUE ICON RAIL, NOT COMPRESSED DESKTOP CARDS
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-header {
        min-height: 58px !important;
        height: 58px !important;
        padding: 7px 6px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
        scrollbar-width: thin !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .sub-category {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        margin: 5px auto !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: grid !important;
        place-items: center !important;
        border: 1px solid #89c540 !important;
        border-left-width: 3px !important;
        border-radius: 12px !important;
        background: var(--cx-r206-blue-800) !important;
        color: #fff !important;
        box-shadow: 0 2px 7px rgba(44, 76, 108, .12) !important;
        transform: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle
    .conexgo-sidebar-section-icon {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle
    :is(.conexgo-sidebar-section-title, .conexgo-sidebar-section-chevron) {
        display: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu > li:not(.sub-category) {
        width: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        margin-inline: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:hover,
    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item:focus-visible {
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
        min-height: 58px !important;
        margin: 3px auto !important;
        padding: 5px !important;
        justify-content: center !important;
        border-radius: 12px !important;
        transform: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="compact"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item .side-menu__icon {
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        flex: 0 0 46px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 12px !important;
    }
}

/* --------------------------------------------------------------------------
   5. PHONE CONTRACT ON REAL TOUCH TABLETS (PORTRAIT + LANDSCAPE)
   The JS state is authoritative. Normal fine-pointer desktop remains desktop.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1366px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"] {
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    :is(.page, .page-main, .main-content.app-content) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .main-content.app-content {
        margin-inline: 0 !important;
        padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
        transform: none !important;
        translate: none !important;
        overflow-x: clip !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .main-content.app-content :is(.side-app, .main-container.container-fluid) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 10px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    #conexgo-page-content {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    /* Real overlay drawer. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-sidebar-shell {
        position: fixed !important;
        inset: 0 auto auto 0 !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        isolation: isolate !important;
        z-index: 2147481000 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-shell {
        pointer-events: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-shell {
        pointer-events: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-sidebar__overlay {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        z-index: 1 !important;
        background: rgba(25, 44, 62, .30) !important;
        transition: opacity .16s ease, visibility .16s ease !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar__overlay {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar__overlay {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-sidebar-modern.cx-app-sidebar {
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        z-index: 2 !important;
        width: min(292px, calc(100vw - 56px)) !important;
        min-width: min(292px, calc(100vw - 56px)) !important;
        max-width: min(292px, calc(100vw - 56px)) !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
        border-right: 1px solid #dce5ec !important;
        box-shadow: none !important;
        contain: paint !important;
        transition: transform .20s ease, opacity .12s ease, visibility .12s ease !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-modern.cx-app-sidebar,
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-modern.cx-app-sidebar:hover,
    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"]
    .app-sidebar-modern.cx-app-sidebar:focus-within {
        transform: translate3d(calc(-100% - 24px), 0, 0) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar:hover,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar:focus-within {
        transform: translate3d(0, 0, 0) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        box-shadow: 10px 0 28px rgba(31, 61, 89, .18) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .side-header {
        width: 100% !important;
        min-height: 62px !important;
        height: 62px !important;
        padding: 8px 10px 8px 14px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: linear-gradient(135deg, #fff 0%, #f7faff 58%, #eef4fa 100%) !important;
        border-bottom: 1px solid #d9e3ee !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .header-brand1 {
        min-width: 0 !important;
        height: 46px !important;
        min-height: 46px !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-expanded-source-v2 {
        display: block !important;
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
        height: auto !important;
        max-height: 55px !important;
        margin: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .cx-sidebar-brand-compact-source-v2 {
        display: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .app-sidebar-mobile-close {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        flex: 0 0 40px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .main-sidemenu {
        width: 100% !important;
        height: calc(100dvh - 62px) !important;
        max-height: calc(100dvh - 62px) !important;
        padding: 8px 8px max(18px, env(safe-area-inset-bottom, 0px)) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-y: contain !important;
        touch-action: pan-y !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .sub-category {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 6px 0 4px !important;
        padding: 0 !important;
        border: 0 !important;
        border-left: 4px solid #89c540 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar
    .sub-category > .conexgo-sidebar-section-toggle {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 48px !important;
        height: auto !important;
        padding: 8px 10px !important;
        display: grid !important;
        grid-template-columns: 36px minmax(0, 1fr) 28px !important;
        align-items: center !important;
        gap: 8px !important;
        border-left: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        touch-action: manipulation !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__item {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 48px !important;
        margin: 2px 0 !important;
        padding: 5px 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;
        border-radius: 10px !important;
        touch-action: manipulation !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar .side-menu__icon {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex: 0 0 38px !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 9px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar
    :is(.side-menu__label, .conexgo-sidebar-section-title) {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* Same three-row compact header composition as phone. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header.header {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header {
        min-height: 0 !important;
        height: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .main-container {
        padding: 7px 10px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-header-main-row {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "left"
            "center"
            "right" !important;
        align-items: center !important;
        justify-items: stretch !important;
        gap: 6px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-header-left-zone {
        grid-area: left !important;
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-sidebar__toggle {
        grid-column: 1 !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-header-brand-link {
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        padding: 2px 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .header-brand-img {
        width: auto !important;
        max-width: 104px !important;
        max-height: 28px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-header-left-zone > .topbar-version-pill {
        grid-column: 3 !important;
        justify-self: end !important;
        min-height: 42px !important;
        height: 42px !important;
        margin: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-header-center-zone {
        grid-area: center !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        justify-content: center !important;
        border: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-header-center-zone .nt-clock-card {
        width: min(100%, 430px) !important;
        min-width: 0 !important;
        max-width: 430px !important;
        min-height: 40px !important;
        height: 40px !important;
        margin: 0 auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .app-header-right-zone {
        grid-area: right !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding: 0 !important;
        justify-content: center !important;
        border: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .app-header-modern.cx-app-header .responsive-navbar {
        width: auto !important;
        min-width: 0 !important;
        min-height: 42px !important;
        height: 42px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }

    /* Existing smart header runtime. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"].cx-r18149-smart-header-ready
    .app-header-modern {
        position: sticky !important;
        top: 0 !important;
        z-index: 1300 !important;
        transform: translate3d(0, 0, 0) !important;
        transition: transform .2s ease, box-shadow .2s ease !important;
        will-change: transform !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"].cx-r18149-smart-header-ready
    .app-header-modern.cx-r18149-header-hidden {
        transform: translate3d(0, calc(-100% - 8px), 0) !important;
        pointer-events: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state="mobile-closed"].cx-r18149-smart-header-ready
    .app-header-modern.cx-r18149-header-visible,
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"].cx-r18149-smart-header-ready
    .app-header-modern {
        transform: translate3d(0, 0, 0) !important;
        pointer-events: auto !important;
    }

    /* Bottom phone navigation is also the tablet navigation. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-mobile-quick-nav {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
        width: min(720px, calc(100vw - 20px)) !important;
        min-height: 64px !important;
        max-height: 74px !important;
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-rows: 1fr !important;
        align-items: stretch !important;
        gap: 3px !important;
        padding: 5px !important;
        transform: translateX(-50%) !important;
        border: 1px solid rgba(44, 76, 108, .16) !important;
        border-radius: 16px !important;
        background: rgba(255, 255, 255, .97) !important;
        box-shadow: 0 14px 34px rgba(35, 60, 85, .18) !important;
        backdrop-filter: blur(14px) !important;
        z-index: 1190 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-mobile-quick-nav.cx-mobile-links-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-mobile-quick-nav.cx-mobile-links-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-mobile-quick-nav.cx-mobile-links-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-mobile-quick-nav__item {
        min-width: 0 !important;
        min-height: 52px !important;
        max-height: 62px !important;
        padding: 4px 3px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        border-radius: 9px !important;
        color: #3d5873 !important;
        font-size: .72rem !important;
        font-weight: 800 !important;
        line-height: 1.05 !important;
        text-decoration: none !important;
        overflow: hidden !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    a#back-to-top.conexgo-back-to-top {
        bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    :is(.footer, .conexgo-enterprise-footer) {
        padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* Dashboard: phone flow, never the squeezed desktop grid. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    #conexgoDashboardSmartGrid {
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        align-items: start !important;
        align-content: start !important;
        gap: 12px !important;
        overflow: visible !important;
        transform: none !important;
        column-count: auto !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    #conexgoDashboardSmartGrid
    > .conexgo-dashboard-smart-item
    > .conexgo-dashboard-resizable-card,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-dashboard-configuration-card {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        transform: none !important;
        resize: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    #conexgoDashboardSmartGrid
    .conexgo-dashboard-minimized-card > .card-body,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-dashboard-configuration-card.conexgo-dashboard-minimized-card > .card-body {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Table width is owned by the table region, never the full page. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    :is(.conexgo-pagedlist-table-region, .table-responsive) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-inline: contain !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-pagedlist-table-column {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding-inline: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-pagedlist-table:not(.conexgo-pagedlist-mobile-cards) {
        width: max-content !important;
        min-width: 100% !important;
        max-width: none !important;
    }

    /* Custom select: enough dedicated space for the chevron. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .cx-custom-select-trigger {
        grid-template-columns: minmax(0, 1fr) 42px !important;
        min-width: 0 !important;
        padding-right: 4px !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .cx-custom-select-trigger:has(.cx-custom-select-leading-icon) {
        grid-template-columns: 28px minmax(0, 1fr) 42px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .cx-custom-select-chevron {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Support: no reserved blank strip above the content. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .main-container:has(.conexgo-support-page-header),
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .container-fluid:has(> .conexgo-support-page-header),
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .side-app:has(.conexgo-support-page-header) {
        padding-top: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .conexgo-support-page-header {
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 12px !important;
    }

    /* Dialogs stay fully inside the tablet viewport. */
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .mud-dialog-container {
        padding: 8px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .mud-dialog-container > .mud-dialog {
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
    }
}

/* Landscape touch tablet still uses the phone drawer behavior. */
@media (min-width: 900px) and (max-width: 1366px) and (orientation: landscape) {
    html body.cx-design-system[data-cx-sidebar-state="mobile-open"]
    .app-sidebar-modern.cx-app-sidebar {
        width: min(300px, calc(100vw - 72px)) !important;
        min-width: min(300px, calc(100vw - 72px)) !important;
        max-width: min(300px, calc(100vw - 72px)) !important;
    }
}

/* --------------------------------------------------------------------------
   6. PAGEDLIST TOOLBAR + CUSTOM DATE RANGE — ONE BASELINE
   -------------------------------------------------------------------------- */
html body.cx-design-system .cx-paged-list .conexgo-pagedlist-toolbar {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 14px !important;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-filters {
    min-width: 0 !important;
    display: flex !important;
    align-items: end !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-toolbar
.conexgo-pagedlist-field {
    min-width: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(30px, auto) 48px !important;
    align-content: end !important;
    gap: 6px !important;
    margin: 0 !important;
}

html body.cx-design-system .cx-paged-list
.conexgo-pagedlist-field-label--icon {
    min-height: 30px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    align-self: end !important;
    gap: 8px !important;
    line-height: 1.2 !important;
}

html body.cx-design-system .cx-paged-list
:is(.conexgo-pagedlist-select, .cx-custom-select, .cx-custom-select-trigger) {
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system .cx-paged-list
.conexgo-pagedlist-pagination {
    align-self: end !important;
    margin: 0 !important;
}

/* Desktop/large tablet: six clean columns.
   Date | Time | arrow | Date | Time | Apply */
@media (min-width: 1200px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            minmax(210px, 1.2fr)
            minmax(145px, .72fr)
            44px
            minmax(210px, 1.2fr)
            minmax(145px, .72fr)
            minmax(118px, auto) !important;
        align-items: end !important;
        gap: 12px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        display: contents !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-field {
        min-width: 0 !important;
        height: 84px !important;
        display: grid !important;
        grid-template-rows: 30px 48px !important;
        align-content: end !important;
        gap: 6px !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-separator {
        grid-column: 3 !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 48px !important;
        min-height: 48px !important;
        align-self: end !important;
        margin: 0 !important;
        display: grid !important;
        place-items: center !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-apply {
        grid-column: 6 !important;
        width: 100% !important;
        min-width: 118px !important;
        height: 48px !important;
        min-height: 48px !important;
        align-self: end !important;
        margin: 0 !important;
        padding-inline: 16px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    :is(
        .cx-date-picker-v16-1,
        .cx-time-picker-v17-9,
        .conexgo-pagedlist-input,
        .cx-custom-select,
        .cx-custom-select-trigger
    ) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
    }
}

/* Tablet: semantic start/end groups, then full-width apply. */
@media (min-width: 576px) and (max-width: 1199.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: end !important;
        gap: 12px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1.15fr) minmax(128px, .85fr) !important;
        align-items: end !important;
        gap: 10px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-separator {
        display: none !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-apply {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-height: 46px !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-paged-list .conexgo-pagedlist-toolbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system .cx-paged-list .conexgo-pagedlist-pagination {
        width: 100% !important;
        justify-self: stretch !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields,
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   7. REPORT PREVIEW — EXACTLY ONE SCROLL OWNER
   -------------------------------------------------------------------------- */
html body .mud-dialog.cx-report-preview-dialog {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

html body .mud-dialog.cx-report-preview-dialog .mud-dialog-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
}

html body .mud-dialog.cx-report-preview-dialog
:is(.cx-report-preview-layout, .cx-report-preview-section) {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-panel {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-toolbar {
    flex: 0 0 auto !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-rendered-content {
    min-width: 0 !important;
    min-height: 100% !important;
    overflow: visible !important;
}

html body .mud-dialog.cx-report-preview-dialog .report-preview-frame {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

@media (min-width: 768px) and (max-width: 1366px) {
    html body .mud-dialog.cx-report-preview-dialog {
        width: calc(100vw - 20px) !important;
        max-width: calc(100vw - 20px) !important;
        height: calc(100dvh - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
    }
}

/* Row action menu: always below trigger on phone/tablet, scroll internally. */
html body.cx-design-system[data-cx-sidebar-state^="mobile-"] >
:is(
    .cx-phase-17-8-row-menu-portal.show,
    .device-list-action-menu.cx-phase-17-8-row-menu-portal.show,
    .conexgo-row-action-menu.cx-phase-17-8-row-menu-portal.show
) {
    position: fixed !important;
    inset: auto !important;
    top: var(--cx-phase-17-8-row-menu-top) !important;
    left: var(--cx-phase-17-8-row-menu-left, 10px) !important;
    right: auto !important;
    bottom: auto !important;
    width: min(var(--cx-phase-17-8-row-menu-width, 430px), calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: var(--cx-phase-17-8-row-menu-max-height, calc(100dvh - 130px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    transform: none !important;
    z-index: 2147482000 !important;
}

/* --------------------------------------------------------------------------
   8. NOTIFICATION VIEW — COMPACT, ALIGNED INFORMATION GRID
   The Razor structure stays untouched. Labels share one desktop column and
   values share another; phone/tablet narrow layouts stack naturally.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.mud-dialog.cx-notification-view-dialog,
html body.cx-design-system
.mud-dialog.cx-r1-notification-view {
    width: min(920px, calc(100vw - 32px)) !important;
    max-width: min(920px, calc(100vw - 32px)) !important;
    max-height: calc(100dvh - 28px) !important;
    margin-inline: auto !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.mud-dialog-content {
    padding: 16px 18px !important;
    overflow-x: hidden !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.cx-modal-group-v21--notification-view {
    padding: 18px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:not(.notification-view-block--emergency-review) {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 136px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block-label {
    min-width: 0 !important;
    margin: 0 !important;
    color: #49627a !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:not(.notification-view-block--emergency-review)
> :not(.notification-view-block-label) {
    min-width: 0 !important;
    width: 100% !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:not(.notification-view-block--emergency-review)
:is(
    .notification-view-priority-card,
    .notification-view-title-box,
    .notification-view-message-box,
    .notification-view-acknowledged
) {
    margin: 0 !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-priority-card {
    min-height: 60px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border-radius: 11px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-title-box {
    min-height: 48px !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 11px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:not(.notification-view-block--emergency-review):has(.notification-view-message-box) {
    align-items: start !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:has(.notification-view-message-box)
.notification-view-block-label {
    padding-top: 12px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box {
    min-height: 104px !important;
    max-height: min(240px, 28dvh) !important;
    padding: 14px 16px !important;
    overflow: auto !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    border-radius: 11px !important;
    line-height: 1.52 !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block--emergency-review {
    width: 100% !important;
    min-width: 0 !important;
    display: block !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-acknowledged {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    .mud-dialog.cx-notification-view-dialog,
    html body.cx-design-system
    .mud-dialog.cx-r1-notification-view {
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
    }

    html body.cx-design-system
    .cx-notification-view-dialog
    .cx-modal-group-v21--notification-view {
        padding: 12px !important;
    }

    html body.cx-design-system
    .cx-notification-view-dialog
    .notification-view-block:not(.notification-view-block--emergency-review) {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 6px !important;
    }

    html body.cx-design-system
    .cx-notification-view-dialog
    .notification-view-block:has(.notification-view-message-box)
    .notification-view-block-label {
        padding-top: 0 !important;
    }
}

/* --------------------------------------------------------------------------
   9. REPORT SUBSCRIPTION CUSTOM PERIOD — TWO CLEAN DATE CONTROLS
   Removes the historical 3-column footprint that leaves a blank third column.
   Labels and calendars form compact field rows without touching Razor.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.cx-report-subscribe-dialog
.report-subscribe-custom-period {
    min-width: 0 !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-range {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: 12px !important;
    padding: 10px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 12px !important;
    background: #f7fafc !important;
    border: 1px solid #dbe6ee !important;
    border-radius: 14px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 68px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    background: #fff !important;
    border: 1px solid #d7e3ec !important;
    border-radius: 11px !important;
    box-shadow: 0 1px 3px rgba(37, 79, 112, .055) !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card > label {
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    color: #345f80 !important;
    font-size: .76rem !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
:is(.cx-date-picker, .cx-control-field, .cx-control, input.form-control) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.cx-date-picker {
    display: flex !important;
    align-items: stretch !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.cx-date-picker
:is(input, button) {
    min-height: 48px !important;
    height: 48px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.cx-date-picker
button {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    flex: 0 0 48px !important;
    display: grid !important;
    place-items: center !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r18-158-custom-period-memory,
html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r18-127-report-history-limit {
    width: min(100%, 900px) !important;
    max-width: 900px !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    .cx-report-subscribe-dialog
    .cx-r191-custom-period-range {
        grid-template-columns: minmax(0, 1fr) !important;
        padding: 8px !important;
        gap: 8px !important;
    }

    html body.cx-design-system
    .cx-report-subscribe-dialog
    .cx-r191-custom-period-card {
        grid-template-columns: 46px minmax(0, 1fr) !important;
        min-height: 62px !important;
        padding: 7px 8px !important;
        gap: 8px !important;
    }
}

@media (max-width: 420px) {
    html body.cx-design-system
    .cx-report-subscribe-dialog
    .cx-r191-custom-period-card {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 6px !important;
    }
}

/* Notification row actions: preserve the semantic colors on hover instead of
   falling back to an old washed-out blue layer. */
html body.cx-design-system
.conexgo-notification-row-actions
.r18-197-s046:is(:hover, :focus-visible) {
    background: #315d8a !important;
    border-color: #315d8a !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(49, 93, 138, .20) !important;
}

html body.cx-design-system
.conexgo-notification-row-actions
.r18-197-s045:is(:hover, :focus-visible),
html body.cx-design-system
.conexgo-notification-row-actions
.btn-green:is(:hover, :focus-visible) {
    background: #669f37 !important;
    border-color: #669f37 !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(102, 159, 55, .20) !important;
}

html body.cx-design-system
.conexgo-notification-row-actions
.r18-197-s044:is(:hover, :focus-visible) {
    background: #be8120 !important;
    border-color: #be8120 !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(190, 129, 32, .20) !important;
}

/* MudBlazor buttons keep semantic tone on hover as well. */
html body.cx-design-system
.mud-button-filled-primary:not(.mud-disabled):is(:hover, :focus-visible) {
    background: var(--cx-r206-blue-900) !important;
    color: #fff !important;
}

html body.cx-design-system
.mud-button-filled-success:not(.mud-disabled):is(:hover, :focus-visible) {
    background: var(--cx-r206-green-700) !important;
    color: #fff !important;
}

html body.cx-design-system
.mud-button-filled-error:not(.mud-disabled):is(:hover, :focus-visible) {
    background: var(--cx-r206-red-700) !important;
    color: #fff !important;
}

html body.cx-design-system
.mud-button-outlined-primary:not(.mud-disabled):is(:hover, :focus-visible) {
    border-color: var(--cx-r206-blue-800) !important;
    background: #edf3f7 !important;
    color: var(--cx-r206-blue-800) !important;
}

html body.cx-design-system .mud-picker-popover .mud-day:is(.mud-selected, .mud-button-filled-primary),
html body.cx-design-system .mud-picker-popover .mud-day:is(.mud-selected, .mud-button-filled-primary):is(:hover, :focus, :focus-visible, :active) {
    background: #3e6a99 !important;
    background-color: #3e6a99 !important;
    color: #ffffff !important;
    box-shadow: 0 5px 13px rgba(62, 106, 153, .22) !important;
    transform: none !important;
}

html body.cx-design-system
.mud-button-outlined-success:not(.mud-disabled):is(:hover, :focus-visible) {
    border-color: var(--cx-r206-green-700) !important;
    background: #f0f7f1 !important;
    color: var(--cx-r206-green-700) !important;
}

html body.cx-design-system
.mud-button-outlined-error:not(.mud-disabled):is(:hover, :focus-visible) {
    border-color: var(--cx-r206-red-700) !important;
    background: #fff3f4 !important;
    color: var(--cx-r206-red-700) !important;
}

html body.cx-design-system
.mud-button-outlined-default:not(.mud-disabled):is(:hover, :focus-visible) {
    border-color: #aebfce !important;
    background: #eef3f7 !important;
    color: var(--cx-r206-blue-800) !important;
}

/* Calendar / icon buttons use one quiet modern hover rather than the old
   opaque pale-blue square. */
html body.cx-design-system
.cx-date-picker-v16-1
.mud-icon-button:not(.mud-disabled):is(:hover, :focus-visible),
html body.cx-design-system
.cx-time-picker-v17-9
.mud-icon-button:not(.mud-disabled):is(:hover, :focus-visible) {
    background: #eaf1f6 !important;
    color: var(--cx-r206-blue-700) !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Notification details: compact modal + one consistent label column. */
html body.cx-design-system
.mud-dialog.cx-notification-view-dialog,
html body.cx-design-system
.mud-dialog.cx-r1-notification-view {
    width: min(820px, calc(100vw - 24px)) !important;
    max-width: min(820px, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - 24px) !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-layout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.cx-modal-group-v21--notification-view {
    padding: 14px 16px 16px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 9px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:not(.notification-view-block--emergency-review) {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block-label {
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:has(.notification-view-message-box) {
    align-items: start !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block:has(.notification-view-message-box)
.notification-view-block-label {
    padding-top: 11px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-priority-card {
    min-height: 56px !important;
    padding: 9px 12px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-title-box {
    min-height: 44px !important;
    padding: 9px 12px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box {
    min-height: 96px !important;
    max-height: min(220px, 30dvh) !important;
    padding: 12px 14px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-acknowledged {
    min-height: 40px !important;
    padding: 7px 11px !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    .cx-notification-view-dialog
    .notification-view-block:not(.notification-view-block--emergency-review) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-notification-view-dialog
    .notification-view-block:has(.notification-view-message-box)
    .notification-view-block-label {
        padding-top: 0 !important;
    }
}

/* Report subscription: the modal and its custom period stop stretching across
   the screen. The two dates become a single coherent control group. */
html body.cx-design-system
.mud-dialog.cx-report-subscribe-dialog {
    width: min(980px, calc(100vw - 24px)) !important;
    max-width: min(980px, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - 24px) !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.report-subscribe-custom-period {
    padding: 14px 16px 16px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
:is(
    .cx-r18-158-custom-period-memory,
    .cx-r18-127-report-history-limit,
    .cx-r191-custom-period-range
) {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-range {
    margin-top: 12px !important;
    padding: 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 10px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card {
    min-width: 0 !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card > label {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.cx-date-picker-v16-1,
html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.cx-date-picker-shell,
html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.mud-picker,
html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.mud-input-control,
html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.mud-input-control-input-container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.mud-input {
    min-height: 46px !important;
    height: 46px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-r191-custom-period-card
.mud-input-adornment-end {
    min-height: 42px !important;
    height: 42px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.report-subscribe-footer {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.report-subscribe-action {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding-inline: 14px !important;
    white-space: nowrap !important;
}

html body.cx-design-system
.cx-report-subscribe-dialog
.cx-dialog-action--subscribe {
    min-width: 220px !important;
}

@media (max-width: 900px) {
    html body.cx-design-system
    .cx-report-subscribe-dialog
    :is(
        .cx-r18-158-custom-period-memory,
        .cx-r18-127-report-history-limit,
        .cx-r191-custom-period-range
    ) {
        width: 100% !important;
        max-width: 100% !important;
    }

    html body.cx-design-system
    .cx-report-subscribe-dialog
    .report-subscribe-action {
        flex: 1 1 210px !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system
    .cx-report-subscribe-dialog
    .cx-r191-custom-period-range {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-report-subscribe-dialog
    .cx-r191-custom-period-card {
        grid-template-columns: 38px minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-report-subscribe-dialog
    .report-subscribe-action,
    html body.cx-design-system
    .cx-report-subscribe-dialog
    .cx-dialog-action--subscribe {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    :is(.app-sidebar-modern, .app-sidebar__overlay, .app-header-modern) {
        transition: none !important;
    }
}

/* --------------------------------------------------------------------------
   1. PAGEDLIST TOOLBAR
   Restore the compact contract:
   Display + Range stay on the SAME row whenever there is reasonable width.
   Pagination remains independent and never forces the filters to stack.
   -------------------------------------------------------------------------- */
@media (min-width: 640px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: end !important;
        column-gap: 16px !important;
        row-gap: 10px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns:
            minmax(128px, 150px)
            minmax(190px, 240px) !important;
        align-items: end !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters
    > .conexgo-pagedlist-field {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    .cx-paged-list
    :is(
        .conexgo-pagedlist-size-select,
        .conexgo-pagedlist-range-select
    ) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters
    .cx-custom-select-trigger {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: 48px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination {
        width: auto !important;
        min-width: 0 !important;
        justify-self: end !important;
        align-self: end !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination
    .pagination {
        width: auto !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }
}

@media (min-width: 640px) and (max-width: 899.98px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        width: 100% !important;
        grid-template-columns:
            minmax(120px, .75fr)
            minmax(180px, 1.25fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination {
        width: 100% !important;
        justify-self: stretch !important;
        display: flex !important;
        justify-content: flex-end !important;
    }
}

@media (min-width: 900px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        grid-template-columns:
            max-content
            minmax(270px, 1fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        grid-template-columns: 150px 240px !important;
    }
}

@media (min-width: 900px) and (max-width: 1180px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        column-gap: 12px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        grid-template-columns: 130px 205px !important;
        gap: 10px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination
    .page-link {
        min-width: 38px !important;
        padding-inline: 8px !important;
    }
}

@media (max-width: 639.98px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar,
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        width: 100% !important;
    }
}

/* --------------------------------------------------------------------------
   2. CUSTOM DATE RANGE
   Keep one visual baseline on landscape/desktop; use semantic two-column
   groups on narrower tablet; stack only on actual phone widths.
   -------------------------------------------------------------------------- */
@media (min-width: 1050px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            minmax(170px, 1.15fr)
            minmax(125px, .72fr)
            42px
            minmax(170px, 1.15fr)
            minmax(125px, .72fr)
            minmax(118px, auto) !important;
        align-items: end !important;
        gap: 10px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        display: contents !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-field {
        min-width: 0 !important;
        height: 84px !important;
        display: grid !important;
        grid-template-rows: 30px 48px !important;
        align-content: end !important;
        gap: 6px !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-separator {
        grid-column: 3 !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        align-self: end !important;
        display: grid !important;
        place-items: center !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-apply {
        grid-column: 6 !important;
        width: 100% !important;
        min-width: 118px !important;
        height: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        align-self: end !important;
        padding-inline: 15px !important;
    }
}

@media (min-width: 700px) and (max-width: 1049.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;
        align-items: end !important;
        gap: 12px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            minmax(0, 1.12fr)
            minmax(124px, .88fr) !important;
        align-items: end !important;
        gap: 9px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-separator {
        display: none !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-apply {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
    }
}

@media (max-width: 699.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    :is(
        .conexgo-pagedlist-custom-fields,
        .conexgo-pagedlist-custom-group
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   3. TABLE CONTAINMENT
   A wide table may scroll itself. It must never make the whole application
   canvas wider than the viewport.
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(
    .conexgo-pagedlist-table-region,
    .device-list-table-shell,
    .table-responsive
) {
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system
.conexgo-pagedlist-table-region {
    width: 100% !important;
    margin-inline: 0 !important;
}

html body.cx-design-system
.conexgo-pagedlist-table-column {
    min-width: 0 !important;
    max-width: 100% !important;
}

@media (min-width: 768px) and (max-width: 1366px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row > div,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row .table-responsive,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row .conexgo-pagedlist-table-region,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row .conexgo-pagedlist-table-column {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile {
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody
    tr {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        display: block !important;
        overflow: visible !important;
        border: 1px solid #dbe5ee !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 14px rgba(44, 76, 108, .065) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody
    td:not(.d-none) {
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px !important;
        display: block !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody
    td.d-lg-table-cell {
        display: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .device-mobile-status.d-lg-none {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 8px !important;
        padding-top: 8px !important;
        display: grid !important;
        grid-template-columns:
            minmax(86px, 1fr)
            minmax(0, auto) !important;
        align-items: center !important;
        gap: 7px !important;
        border-top: 1px solid #e6edf3 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-group {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        align-items: stretch !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-name-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 7px 10px !important;
        gap: 8px !important;
        border-radius: 9px 0 0 9px !important;
        border-color: #cfdae4 !important;
        background: #fff !important;
        color: #274d6d !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-name-button:hover,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-name-button:focus-visible {
        border-color: #7899b4 !important;
        background: #f8fafc !important;
        color: #1f4566 !important;
        box-shadow: 0 3px 10px rgba(37, 79, 112, .08) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-toggle,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-toggle:hover,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-toggle:focus-visible {
        width: 44px !important;
        min-width: 44px !important;
        min-height: 46px !important;
        padding: 0 !important;
        border-color: #35678f !important;
        border-radius: 0 9px 9px 0 !important;
        background: #35678f !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-meta {
        min-width: 0 !important;
        margin: 7px 2px 0 !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 4px 8px !important;
        overflow-wrap: anywhere !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-mobile-status-pill {
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-mobile-status-icons {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(4, 24px) !important;
        align-items: center !important;
        justify-content: end !important;
        gap: 4px !important;
    }
}

@media (min-width: 768px) and (max-width: 849.98px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   5. OUTLINE/ACTION HOVERS
   Avoid both extremes introduced by older layers: washed-out blue and a
   giant solid navy block for ordinary row controls.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.device-list-name-button.btn-outline-primary:hover,
html body.cx-design-system
.device-list-name-button.btn-outline-primary:focus-visible {
    border-color: #7899b4 !important;
    background: #f8fafc !important;
    color: #1f4566 !important;
    box-shadow: 0 3px 10px rgba(37, 79, 112, .08) !important;
}

html body.cx-design-system
.cx-paged-list
.cx-custom-select-trigger:hover:not(:disabled) {
    border-color: #7899b4 !important;
    background: #fff !important;
    color: #234b6d !important;
    box-shadow: 0 2px 8px rgba(37, 79, 112, .07) !important;
}

/* --------------------------------------------------------------------------
   6. RESPONSIVE LIST SPACING
   Prevent the filter/custom-range/table sequence from accumulating large
   blank gaps after consolidation.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar {
    margin-bottom: 12px !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-custom {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-table-region {
    margin-top: 0 !important;
}

/* A page that only has "Display" should not look like a two-filter toolbar
   with a giant empty slot. Keep the container aligned with the table, but
   make the actual filter group compact and intentional. */
html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
.conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child) {
    width: min(100%, 340px) !important;
    min-width: 0 !important;
    max-width: 340px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-self: start !important;
    align-items: end !important;
    gap: 0 !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
.conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child)
> .conexgo-pagedlist-field {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 340px !important;
    margin: 0 !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
.conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child)
:is(.conexgo-pagedlist-size-select, .cx-custom-select, .cx-custom-select-trigger) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 340px !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-name-button,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn-outline-primary {
    background: #ffffff !important;
    color: #284c6c !important;
    border-color: #d3deea !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-name-button:hover,
html body.cx-design-system
.device-list-action-group
.device-list-name-button:focus-visible,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn-outline-primary:hover,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn-outline-primary:focus-visible {
    background: #f4f8fb !important;
    color: #214867 !important;
    border-color: #88a3b9 !important;
    box-shadow: 0 3px 9px rgba(36, 74, 105, .08) !important;
    filter: none !important;
    transform: none !important;
}

/* Keep the small dropdown segment stable. It can stay blue as the action
   affordance, but it must not recolor the large name button beside it. */
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:hover,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:focus,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:focus-visible,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:active,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle.show {
    background: #35678f !important;
    color: #ffffff !important;
    border-color: #35678f !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

/* Preserve the visual split as one coherent control. */
html body.cx-design-system
.device-list-action-group {
    border-radius: 10px !important;
    box-shadow: 0 2px 7px rgba(37, 66, 92, .055) !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-name-button {
    border-radius: 10px 0 0 10px !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-action-toggle {
    border-radius: 0 10px 10px 0 !important;
}

/* Tablet/mobile: the same hover language, no dark navy fill. */
@media (max-width: 1366px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-group
    .device-list-name-button:hover,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-group
    .device-list-name-button:focus-visible {
        background: #f4f8fb !important;
        color: #214867 !important;
        border-color: #88a3b9 !important;
    }
}

/* REPORT PREVIEW — exact authority over the older gray #8fa5b9 scrollbar.
   Apply to the main preview scroller and any nested generated overflow area. */
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll * {
    scrollbar-width: thin !important;
    scrollbar-color: #3e6a99 #eaf1f6 !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar {
    width: 10px !important;
    height: 10px !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-track,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-track {
    background: #eaf1f6 !important;
    border-radius: 999px !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-thumb,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-thumb {
    min-width: 34px !important;
    min-height: 34px !important;
    border: 2px solid #eaf1f6 !important;
    border-radius: 999px !important;
    background: #3e6a99 !important;
    background-clip: padding-box !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-thumb:hover,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-thumb:hover {
    background: #2c4c6c !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-corner,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-corner {
    background: #eaf1f6 !important;
}

/* CONFIRM DELETE — the target sentence carries the important object name.
   Keep the explanatory sentence underneath at normal weight.
   If a caller already supplies <strong>, give it the same visual authority. */
html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message {
    color: #344b66 !important;
    font-weight: 400 !important;
}

html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message::first-line {
    color: #294a68 !important;
    font-weight: 800 !important;
}

html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message
:is(strong, b) {
    color: #294a68 !important;
    font-weight: 800 !important;
}

/* Keep the destructive explanatory copy readable, not visually aggressive. */
html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message {
    line-height: 1.58 !important;
}

/* --------------------------------------------------------------------------
   1. PAGEDLIST TOOLBAR
   Restore the compact contract:
   Display + Range stay on the SAME row whenever there is reasonable width.
   Pagination remains independent and never forces the filters to stack.
   -------------------------------------------------------------------------- */
@media (min-width: 640px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: end !important;
        column-gap: 16px !important;
        row-gap: 10px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns:
            minmax(128px, 150px)
            minmax(190px, 240px) !important;
        align-items: end !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters
    > .conexgo-pagedlist-field {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    .cx-paged-list
    :is(
        .conexgo-pagedlist-size-select,
        .conexgo-pagedlist-range-select
    ) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters
    .cx-custom-select-trigger {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: 48px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination {
        width: auto !important;
        min-width: 0 !important;
        justify-self: end !important;
        align-self: end !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination
    .pagination {
        width: auto !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }
}

@media (min-width: 640px) and (max-width: 899.98px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        width: 100% !important;
        grid-template-columns:
            minmax(120px, .75fr)
            minmax(180px, 1.25fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination {
        width: 100% !important;
        justify-self: stretch !important;
        display: flex !important;
        justify-content: flex-end !important;
    }
}

@media (min-width: 900px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        grid-template-columns:
            max-content
            minmax(270px, 1fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        grid-template-columns: 150px 240px !important;
    }
}

@media (min-width: 900px) and (max-width: 1180px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar {
        column-gap: 12px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        grid-template-columns: 130px 205px !important;
        gap: 10px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-pagination
    .page-link {
        min-width: 38px !important;
        padding-inline: 8px !important;
    }
}

@media (max-width: 639.98px) {
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar,
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-filters {
        width: 100% !important;
    }
}

/* --------------------------------------------------------------------------
   2. CUSTOM DATE RANGE
   Keep one visual baseline on landscape/desktop; use semantic two-column
   groups on narrower tablet; stack only on actual phone widths.
   -------------------------------------------------------------------------- */
@media (min-width: 1050px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            minmax(170px, 1.15fr)
            minmax(125px, .72fr)
            42px
            minmax(170px, 1.15fr)
            minmax(125px, .72fr)
            minmax(118px, auto) !important;
        align-items: end !important;
        gap: 10px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        display: contents !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-field {
        min-width: 0 !important;
        height: 84px !important;
        display: grid !important;
        grid-template-rows: 30px 48px !important;
        align-content: end !important;
        gap: 6px !important;
        margin: 0 !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-separator {
        grid-column: 3 !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        align-self: end !important;
        display: grid !important;
        place-items: center !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-apply {
        grid-column: 6 !important;
        width: 100% !important;
        min-width: 118px !important;
        height: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        align-self: end !important;
        padding-inline: 15px !important;
    }
}

@media (min-width: 700px) and (max-width: 1049.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-fields {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr) !important;
        align-items: end !important;
        gap: 12px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-group {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            minmax(0, 1.12fr)
            minmax(124px, .88fr) !important;
        align-items: end !important;
        gap: 9px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-custom-separator {
        display: none !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    .conexgo-pagedlist-apply {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-height: 46px !important;
        margin: 0 !important;
    }
}

@media (max-width: 699.98px) {
    html body.cx-design-system
    .cx-paged-list
    .cx-pagedlist-date-range-v16
    :is(
        .conexgo-pagedlist-custom-fields,
        .conexgo-pagedlist-custom-group
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   3. TABLE CONTAINMENT
   A wide table may scroll itself. It must never make the whole application
   canvas wider than the viewport.
   -------------------------------------------------------------------------- */
html body.cx-design-system
:is(
    .conexgo-pagedlist-table-region,
    .device-list-table-shell,
    .table-responsive
) {
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system
.conexgo-pagedlist-table-region {
    width: 100% !important;
    margin-inline: 0 !important;
}

html body.cx-design-system
.conexgo-pagedlist-table-column {
    min-width: 0 !important;
    max-width: 100% !important;
}

@media (min-width: 768px) and (max-width: 1366px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row > div,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row .table-responsive,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row .conexgo-pagedlist-table-region,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row .conexgo-pagedlist-table-column {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile {
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody
    tr {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        display: block !important;
        overflow: visible !important;
        border: 1px solid #dbe5ee !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 4px 14px rgba(44, 76, 108, .065) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody
    td:not(.d-none) {
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px !important;
        display: block !important;
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody
    td.d-lg-table-cell {
        display: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .device-mobile-status.d-lg-none {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 8px !important;
        padding-top: 8px !important;
        display: grid !important;
        grid-template-columns:
            minmax(86px, 1fr)
            minmax(0, auto) !important;
        align-items: center !important;
        gap: 7px !important;
        border-top: 1px solid #e6edf3 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-group {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        align-items: stretch !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-name-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 7px 10px !important;
        gap: 8px !important;
        border-radius: 9px 0 0 9px !important;
        border-color: #cfdae4 !important;
        background: #fff !important;
        color: #274d6d !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-name-button:hover,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-name-button:focus-visible {
        border-color: #7899b4 !important;
        background: #f8fafc !important;
        color: #1f4566 !important;
        box-shadow: 0 3px 10px rgba(37, 79, 112, .08) !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-toggle,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-toggle:hover,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-toggle:focus-visible {
        width: 44px !important;
        min-width: 44px !important;
        min-height: 46px !important;
        padding: 0 !important;
        border-color: #35678f !important;
        border-radius: 0 9px 9px 0 !important;
        background: #35678f !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-meta {
        min-width: 0 !important;
        margin: 7px 2px 0 !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 4px 8px !important;
        overflow-wrap: anywhere !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-mobile-status-pill {
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-mobile-status-icons {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(4, 24px) !important;
        align-items: center !important;
        justify-content: end !important;
        gap: 4px !important;
    }
}

@media (min-width: 768px) and (max-width: 849.98px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-data-row
    .conexgo-pagedlist-native-mobile
    tbody {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* --------------------------------------------------------------------------
   5. OUTLINE/ACTION HOVERS
   Avoid both extremes introduced by older layers: washed-out blue and a
   giant solid navy block for ordinary row controls.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.device-list-name-button.btn-outline-primary:hover,
html body.cx-design-system
.device-list-name-button.btn-outline-primary:focus-visible {
    border-color: #7899b4 !important;
    background: #f8fafc !important;
    color: #1f4566 !important;
    box-shadow: 0 3px 10px rgba(37, 79, 112, .08) !important;
}

html body.cx-design-system
.cx-paged-list
.cx-custom-select-trigger:hover:not(:disabled) {
    border-color: #7899b4 !important;
    background: #fff !important;
    color: #234b6d !important;
    box-shadow: 0 2px 8px rgba(37, 79, 112, .07) !important;
}

/* --------------------------------------------------------------------------
   6. RESPONSIVE LIST SPACING
   Prevent the filter/custom-range/table sequence from accumulating large
   blank gaps after consolidation.
   -------------------------------------------------------------------------- */
html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar {
    margin-bottom: 12px !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-custom {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-table-region {
    margin-top: 0 !important;
}

/* A page that only has "Display" should not look like a two-filter toolbar
   with a giant empty slot. Keep the container aligned with the table, but
   make the actual filter group compact and intentional. */
html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
.conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child) {
    width: min(100%, 340px) !important;
    min-width: 0 !important;
    max-width: 340px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-self: start !important;
    align-items: end !important;
    gap: 0 !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
.conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child)
> .conexgo-pagedlist-field {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 340px !important;
    margin: 0 !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
.conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child)
:is(.conexgo-pagedlist-size-select, .cx-custom-select, .cx-custom-select-trigger) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 340px !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-name-button,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn-outline-primary {
    background: #ffffff !important;
    color: #284c6c !important;
    border-color: #d3deea !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-name-button:hover,
html body.cx-design-system
.device-list-action-group
.device-list-name-button:focus-visible,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn-outline-primary:hover,
html body.cx-design-system
.device-list-action-group
.device-list-name-button.btn-outline-primary:focus-visible {
    background: #f4f8fb !important;
    color: #214867 !important;
    border-color: #88a3b9 !important;
    box-shadow: 0 3px 9px rgba(36, 74, 105, .08) !important;
    filter: none !important;
    transform: none !important;
}

/* Keep the small dropdown segment stable. It can stay blue as the action
   affordance, but it must not recolor the large name button beside it. */
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:hover,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:focus,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:focus-visible,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle:active,
html body.cx-design-system
.device-list-action-group
.device-list-action-toggle.show {
    background: #35678f !important;
    color: #ffffff !important;
    border-color: #35678f !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

/* Preserve the visual split as one coherent control. */
html body.cx-design-system
.device-list-action-group {
    border-radius: 10px !important;
    box-shadow: 0 2px 7px rgba(37, 66, 92, .055) !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-name-button {
    border-radius: 10px 0 0 10px !important;
}

html body.cx-design-system
.device-list-action-group
.device-list-action-toggle {
    border-radius: 0 10px 10px 0 !important;
}

/* Tablet/mobile: the same hover language, no dark navy fill. */
@media (max-width: 1366px) {
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-group
    .device-list-name-button:hover,
    html body.cx-design-system[data-cx-sidebar-state^="mobile-"]
    .device-list-action-group
    .device-list-name-button:focus-visible {
        background: #f4f8fb !important;
        color: #214867 !important;
        border-color: #88a3b9 !important;
    }
}

/* REPORT PREVIEW — exact authority over the older gray #8fa5b9 scrollbar.
   Apply to the main preview scroller and any nested generated overflow area. */
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll * {
    scrollbar-width: thin !important;
    scrollbar-color: #3e6a99 #eaf1f6 !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar {
    width: 10px !important;
    height: 10px !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-track,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-track {
    background: #eaf1f6 !important;
    border-radius: 999px !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-thumb,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-thumb {
    min-width: 34px !important;
    min-height: 34px !important;
    border: 2px solid #eaf1f6 !important;
    border-radius: 999px !important;
    background: #3e6a99 !important;
    background-clip: padding-box !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-thumb:hover,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-thumb:hover {
    background: #2c4c6c !important;
}

html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll::-webkit-scrollbar-corner,
html body
.mud-dialog.cx-report-preview-dialog
.report-preview-scroll *::-webkit-scrollbar-corner {
    background: #eaf1f6 !important;
}

/* CONFIRM DELETE — the target sentence carries the important object name.
   Keep the explanatory sentence underneath at normal weight.
   If a caller already supplies <strong>, give it the same visual authority. */
html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message {
    color: #344b66 !important;
    font-weight: 400 !important;
}

html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message::first-line {
    color: #294a68 !important;
    font-weight: 800 !important;
}

html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message
:is(strong, b) {
    color: #294a68 !important;
    font-weight: 800 !important;
}

/* Keep the destructive explanatory copy readable, not visually aggressive. */
html body
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message {
    line-height: 1.58 !important;
}

/* Notification details: same punctuation language as editable forms. */
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-block-label::after {
    content: ":" !important;
}

/* Document add/edit: field labels get the same colon treatment.
   Keep section titles/legends untouched. */
html body.cx-design-system
.mud-dialog.cx-r1-document-addedit
.form-label > label:not(.custom-switch)::after,
html body.cx-design-system
.mud-dialog.cx-r1-document-addedit
label[aspfor]:not(.custom-switch)::after {
    content: ":" !important;
}

/* Clean document upload row after removing the separate upload button. */
html body.cx-design-system
.mud-dialog.cx-r1-document-addedit
.cx-r2075-file-row,
html body.cx-design-system
.mud-dialog.cx-r1-document-addedit
.row:has(> [class*="col-"] > input[type="file"]),
html body.cx-design-system
.mud-dialog.cx-r1-document-addedit
.row:has(InputFile) {
    grid-template-columns: minmax(170px, 215px) minmax(0, 1fr) !important;
    align-items: center !important;
}

html body.cx-design-system input[type="file"]:not([hidden]) {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 5px 7px !important;
    border-color: #cfdbe5 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #294a68 !important;
}

html body.cx-design-system input[type="file"]:not([hidden])::file-selector-button {
    min-height: 36px !important;
    margin: -1px 10px -1px -2px !important;
    padding: 7px 13px !important;
    border: 1px solid #cbd8e3 !important;
    border-radius: 8px !important;
    background: #edf3f8 !important;
    color: #2d5575 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

html body.cx-design-system input[type="file"]:not([hidden]):hover::file-selector-button {
    border-color: #8ea9bf !important;
    background: #e6eef5 !important;
}

/* Existing-file information remains useful but should look intentional. */
html body.cx-design-system
.mud-dialog.cx-r1-document-addedit
.cx-r2075-existing-file {
    min-height: 42px !important;
    margin-top: 8px !important;
    padding: 8px 11px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    border: 1px solid #d7e2eb !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
    color: #526b81 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    .mud-dialog.cx-r1-document-addedit
    .cx-r2075-file-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Exact Account List markup already provides:
   .account-list-cell-name
   .conexgo-row-action-group
   .account-list-name-button
   .conexgo-row-action-toggle
   Do not mutate Razor for this visual correction. */

/* Large account/company button: always neutral. */
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary,
html body.cx-design-system
#conexgo-page-content
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary {
    --bs-btn-color: #294f6f !important;
    --bs-btn-border-color: #cbd9e4 !important;
    --bs-btn-hover-color: #234b68 !important;
    --bs-btn-hover-bg: #f7fafc !important;
    --bs-btn-hover-border-color: #8eacbf !important;
    --bs-btn-focus-shadow-rgb: 0, 0, 0 !important;
    --bs-btn-active-color: #234b68 !important;
    --bs-btn-active-bg: #f7fafc !important;
    --bs-btn-active-border-color: #8eacbf !important;
    --bs-btn-disabled-color: #294f6f !important;
    --bs-btn-disabled-bg: #ffffff !important;
    --bs-btn-disabled-border-color: #cbd9e4 !important;

    min-width: 0 !important;
    flex: 1 1 auto !important;
    border-color: #cbd9e4 !important;
    border-right-color: #9fb8ca !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #294f6f !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

/* Cover every interaction state plus parent-group hover.
   This is intentionally more specific than the historical Conexgo/Bootstrap
   btn-outline-primary rules. */
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:hover,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:focus,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:focus-visible,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:active,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group:hover
> .account-list-name-button.btn.btn-outline-primary,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group:focus-within
> .account-list-name-button.btn.btn-outline-primary,
html body.cx-design-system
#conexgo-page-content
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:hover,
html body.cx-design-system
#conexgo-page-content
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:focus,
html body.cx-design-system
#conexgo-page-content
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:focus-visible,
html body.cx-design-system
#conexgo-page-content
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .account-list-name-button.btn.btn-outline-primary:active,
html body.cx-design-system
#conexgo-page-content
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group:hover
> .account-list-name-button.btn.btn-outline-primary,
html body.cx-design-system
#conexgo-page-content
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group:focus-within
> .account-list-name-button.btn.btn-outline-primary {
    border-color: #8eacbf !important;
    border-right-color: #9fb8ca !important;
    background: #f7fafc !important;
    background-color: #f7fafc !important;
    background-image: none !important;
    color: #234b68 !important;
    box-shadow: 0 3px 10px rgba(35, 76, 105, .05) !important;
    filter: none !important;
    transform: none !important;
}

/* Call-center static span follows the same neutral presentation. */
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.account-list-name-static.account-list-name-button {
    border-color: #cbd9e4 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #294f6f !important;
    box-shadow: none !important;
}

/* Only the compact action segment remains blue. */
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary:hover,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary:focus,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary:focus-visible,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary:active,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary[aria-expanded="true"] {
    --bs-btn-color: #ffffff !important;
    --bs-btn-border-color: #356381 !important;
    --bs-btn-hover-color: #ffffff !important;
    --bs-btn-hover-bg: #315f80 !important;
    --bs-btn-hover-border-color: #315f80 !important;
    --bs-btn-active-color: #ffffff !important;
    --bs-btn-active-bg: #315f80 !important;
    --bs-btn-active-border-color: #315f80 !important;

    border-color: #356381 !important;
    background: #356381 !important;
    background-color: #356381 !important;
    background-image: none !important;
    color: #ffffff !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
}

html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary:hover,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary:focus-visible,
html body.cx-design-system
.account-list-table-shell
.account-list-cell-name
.conexgo-row-action-group
> .conexgo-row-action-toggle.btn.btn-outline-primary[aria-expanded="true"] {
    background: #315f80 !important;
    background-color: #315f80 !important;
    border-color: #315f80 !important;
}

/* 1) Consistent Conexgo scrollbar COLOUR only.
      Width/height/radius are deliberately left to each existing component. */
html body.cx-design-system,
html body.cx-design-system * {
    scrollbar-color: #3e6a99 #eaf1f6 !important;
}

html body.cx-design-system *::-webkit-scrollbar-track {
    background-color: #eaf1f6 !important;
}

html body.cx-design-system *::-webkit-scrollbar-thumb {
    background-color: #3e6a99 !important;
}

html body.cx-design-system *::-webkit-scrollbar-thumb:hover {
    background-color: #2c4c6c !important;
}

html body.cx-design-system *::-webkit-scrollbar-corner {
    background-color: #eaf1f6 !important;
}

/* 2) Device map/status toolbar.
      IMPORTANT: geometry is NOT changed here.
      Existing square bubble size/radius/padding/background stay untouched.
      Only the internal live state colour is restored. */
html body.cx-design-system
.device-map-settings
.conexgo-device-status-item
:is(
    #battery,
    #battery_charging,
    #satellite,
    .fa-stack,
    .fa-stack *,
    .conexgo-device-simple-icon,
    .conexgo-device-simple-icon *,
    .conexgo-device-gps-icon,
    .conexgo-device-connectivity-icon,
    .conexgo-device-connectivity-icon *,
    i,
    svg
) {
    color: inherit !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
}

html body.cx-design-system
.device-map-settings
.conexgo-device-status-item
svg {
    fill: currentColor !important;
    stroke: currentColor !important;
}

html body.cx-design-system
.device-map-settings
.conexgo-device-status-item
.signal
.bar.active {
    color: inherit !important;
    background: currentColor !important;
    background-color: currentColor !important;
    opacity: 1 !important;
    filter: none !important;
}

/* 3) Compact sidebar logo.
      Restore the dedicated compact artwork; only clarity/visibility is tuned.
      Sidebar dimensions and navigation geometry are not changed. */
html body.cx-design-system
.app-sidebar-modern
:is(
    .cx-sidebar-brand-expanded-source-v2,
    .cx-sidebar-brand-compact-source-v2
) {
    object-fit: contain !important;
    object-position: center center !important;
    image-rendering: auto !important;
    filter: none !important;
    opacity: 1 !important;
}

html body.app.sidebar-mini.cx-design-system.sidenav-toggled
.app-sidebar-modern.cx-app-sidebar
.cx-sidebar-brand-compact-source-v2,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar
.cx-sidebar-brand-compact-source-v2 {
    width: 72px !important;
    min-width: 0 !important;
    max-width: calc(100% - 10px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 58px !important;
    margin-inline: auto !important;
}

/* 4) Report Preview / generated reports:
      parent and iframe-internal scrollbar colours are handled here + JS. */
html body.cx-design-system
.mud-dialog.cx-report-preview-dialog
:is(
    .report-preview-scroll,
    .report-preview-rendered-content,
    .report-preview-panel
),
html body.cx-design-system
.mud-dialog.cx-report-preview-dialog
:is(
    .report-preview-scroll,
    .report-preview-rendered-content,
    .report-preview-panel
) * {
    scrollbar-color: #3e6a99 #eaf1f6 !important;
}

html body.cx-design-system
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message,
html body.cx-design-system
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message::first-line {
    color: #344b66 !important;
    font-weight: 400 !important;
}

html body.cx-design-system
.mud-dialog.cx-confirm-dialog.cx-confirm-dialog--danger
.cx-confirm-dialog-message
:is(strong, b) {
    color: #294a68 !important;
    font-weight: 800 !important;
}

/* 6) Reports Alert / Operator list:
      one Display filter gets the same useful width as other filters. */
@media (min-width: 640px) {
    html body.cx-design-system
    .report-list-card
    .cx-paged-list
    .conexgo-pagedlist-filters {
        width: min(320px, 100%) !important;
        min-width: 0 !important;
        max-width: 320px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        justify-self: start !important;
    }

    html body.cx-design-system
    .report-list-card
    .cx-paged-list
    .conexgo-pagedlist-filters
    > .conexgo-pagedlist-field {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 320px !important;
    }

    html body.cx-design-system
    .report-list-card
    .cx-paged-list
    :is(
        .conexgo-pagedlist-size-select,
        .cx-custom-select,
        .cx-custom-select-root,
        .cx-custom-select-trigger
    ) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

@media (max-width: 639.98px) {
    html body.cx-design-system
    .report-list-card
    .cx-paged-list
    .conexgo-pagedlist-filters,
    html body.cx-design-system
    .report-list-card
    .cx-paged-list
    .conexgo-pagedlist-field {
        width: 100% !important;
        max-width: none !important;
    }
}

/* 7) Row dropdown items:
      one shared interaction contract for Device, Account, Administration,
      blocked numbers and every PagedList row-action menu. */
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .account-list-action-menu,
    .cx-blocked-call-action-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
)
.dropdown-item {
    transition:
        transform .14s ease,
        background-color .14s ease,
        color .14s ease,
        box-shadow .14s ease !important;
}

html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .account-list-action-menu,
    .cx-blocked-call-action-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
)
.dropdown-item:hover,
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .account-list-action-menu,
    .cx-blocked-call-action-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
)
.dropdown-item:focus-visible {
    transform: translateY(-1px) !important;
    background: #f1f6fa !important;
    background-color: #f1f6fa !important;
    color: #294b68 !important;
    box-shadow: 0 3px 8px rgba(35, 76, 105, .08) !important;
    outline: none !important;
}

html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .account-list-action-menu,
    .cx-blocked-call-action-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
)
.dropdown-item.text-danger,
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .account-list-action-menu,
    .cx-blocked-call-action-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
)
.dropdown-item.text-danger:is(:hover, :focus-visible, :active),
html body.cx-design-system
:is(
    .device-list-action-menu,
    .conexgo-row-action-menu,
    .account-list-action-menu,
    .cx-blocked-call-action-menu,
    .conexgo-pagedlist-table .dropdown-menu,
    .account-list-cell-name .dropdown-menu
)
.dropdown-item.text-danger > :is(i, span[class*="fa"], svg) {
    color: #b34255 !important;
}

/* 8) Account block notice — recipient closer to its label. */
@media (min-width: 768px) {
    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 190px minmax(0, 520px) !important;
        align-items: center !important;
        justify-content: start !important;
        gap: 14px !important;
    }

    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field
    > .cx-r1-recipient-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 520px !important;
        justify-self: start !important;
        margin: 0 !important;
    }
}

html body.cx-design-system
.account-blocknotice-dialog
.cx-blocknotice-recipient-field
> .cx-blocknotice-label::after {
    content: ":" !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 7px !important;
    }
}

/* 9) Account block notice preview:
      remove the old empty 3-column offset and align the preview with the
      full-width message field above it. */
html body.cx-design-system
.account-blocknotice-dialog
.row.cx-r1-form-row:has(.cx-r1-preview-card) {
    width: 100% !important;
    margin: 16px 0 0 !important;
    display: block !important;
}

html body.cx-design-system
.account-blocknotice-dialog
.row.cx-r1-form-row:has(.cx-r1-preview-card)
> .col-md-3.form-label {
    display: none !important;
}

html body.cx-design-system
.account-blocknotice-dialog
.row.cx-r1-form-row:has(.cx-r1-preview-card)
> .col-md-9 {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

html body.cx-design-system
.account-blocknotice-dialog
.cx-r1-preview-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/*
   Device Map status icons:
   preserve the current square/tile geometry and expose the real status tone.
*/
html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-primary {
    --cx-device-live-status-color: #326a95;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-success {
    --cx-device-live-status-color: #37814e;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-warning {
    --cx-device-live-status-color: #b98215;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-danger {
    --cx-device-live-status-color: #b8505b;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-light {
    --cx-device-live-status-color: #477493;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-neutral {
    --cx-device-live-status-color: #97a6b3;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item #battery,
html body.cx-design-system .device-map-settings .conexgo-device-status-item #battery_charging,
html body.cx-design-system .device-map-settings .conexgo-device-status-item #satellite,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .fa-stack,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .fa-stack > i,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-simple-icon,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-simple-icon > i,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-gps-icon,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-connectivity-icon,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-connectivity-icon > i {
    color: var(--cx-device-live-status-color, #97a6b3) !important;
    fill: currentColor !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
}

html body.cx-design-system
.device-map-settings
.conexgo-device-status-item.conexgo-device-cellular
.signal > div.active,
html body.cx-design-system
.device-map-settings
.conexgo-device-status-item.conexgo-device-cellular
.signal > .active {
    color: var(--cx-device-live-status-color, #97a6b3) !important;
    background: var(--cx-device-live-status-color, #97a6b3) !important;
    background-color: var(--cx-device-live-status-color, #97a6b3) !important;
    border-color: var(--cx-device-live-status-color, #97a6b3) !important;
    opacity: 1 !important;
    filter: none !important;
}

/*
   Device Config large-screen width:
   the card/table follows the available page width instead of looking frozen
   near the minimum width of the six desktop rails.
*/
@media (min-width: 1200px) {
    html body.cx-design-system
    .row.row-sm:has(.device-config-card) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.cx-design-system
    .row.row-sm:has(.device-config-card)
    > [class*="col-"] {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.cx-design-system .device-config-card,
    html body.cx-design-system .device-config-card .device-config-card-body,
    html body.cx-design-system .device-config-card .device-config-main-header,
    html body.cx-design-system .device-config-card .device-config-sections-shell,
    html body.cx-design-system .device-config-card .device-config-sections-row {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}

/*
   PagedList:
   every "Display / Afficher" page-size selector uses the same desktop width.
   This intentionally overrides the old single-filter 340px special case.
*/
@media (min-width: 768px) {
    html body.cx-design-system
    .conexgo-pagedlist
    .conexgo-pagedlist-field--count,
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-field--count {
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
        flex: 0 0 126px !important;
    }

    html body.cx-design-system
    .conexgo-pagedlist
    .conexgo-pagedlist-field--count
    .conexgo-pagedlist-select,
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-field--count
    .conexgo-pagedlist-select,
    html body.cx-design-system
    .conexgo-pagedlist
    .conexgo-pagedlist-size-select,
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-size-select {
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
    .conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child) {
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
        grid-template-columns: 126px !important;
    }

    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-toolbar:not(:has(.conexgo-pagedlist-pagination))
    .conexgo-pagedlist-filters:has(> .conexgo-pagedlist-field:only-child)
    > .conexgo-pagedlist-field {
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    .conexgo-pagedlist
    .conexgo-pagedlist-field--count,
    html body.cx-design-system
    .cx-paged-list
    .conexgo-pagedlist-field--count {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/*
   Compact sidebar logo:
   keep the existing compact image source and sidebar geometry, only improve
   visual presence.
*/
html body.app.sidebar-mini.cx-design-system.sidenav-toggled
.app-sidebar-modern.cx-app-sidebar
.cx-sidebar-brand-compact-source-v2,
html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state="compact"]
.app-sidebar-modern.cx-app-sidebar
.cx-sidebar-brand-compact-source-v2 {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin-inline: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    image-rendering: auto !important;
    filter: none !important;
    transform: none !important;
}

/*
   Block Notice:
   keep the existing form geometry, with more breathing room after the DB label.
   The colon remains DB-owned rather than generated by CSS.
*/
@media (min-width: 768px) {
    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field {
        column-gap: 28px !important;
    }
}

html body.cx-design-system
.account-blocknotice-dialog
.cx-blocknotice-recipient-field
> .cx-blocknotice-label::after {
    content: none !important;
    display: none !important;
}

/*
 * Device command pending state:
 * replace the large rotating/tilted loader treatment with a calm static status.
 */
html body.cx-design-system
.mud-dialog.cx-device-config-dialog
.cx-device-config-status-card {
    width: max-content !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 14px 0 !important;
    padding: 10px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #ead8ab !important;
    border-left: 4px solid #c79224 !important;
    border-radius: 10px !important;
    background: #fff9ec !important;
    color: #6d4d0c !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.cx-design-system
.mud-dialog.cx-device-config-dialog
.cx-device-config-status-card
> .cx-native-spinner {
    width: 11px !important;
    min-width: 11px !important;
    max-width: 11px !important;
    height: 11px !important;
    min-height: 11px !important;
    max-height: 11px !important;
    flex: 0 0 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #c79224 !important;
    box-shadow: 0 0 0 4px rgba(199, 146, 36, .13) !important;
    animation: none !important;
    transform: none !important;
}

html body.cx-design-system
.mud-dialog.cx-device-config-dialog
.cx-device-config-status-card
> .cx-native-spinner::before,
html body.cx-design-system
.mud-dialog.cx-device-config-dialog
.cx-device-config-status-card
> .cx-native-spinner::after {
    content: none !important;
    display: none !important;
    animation: none !important;
    transform: none !important;
}

/*
 * Alert answer comment composer:
 * the placeholder already carries the DB-backed "Add comment" copy.
 * Remove the duplicate prompt layer and make the editor look like an input,
 * not a warning panel.
 */
html body.cx-design-system
.alert-answer-comment-card.is-action-required {
    border-color: #d8e3ec !important;
    border-left: 4px solid #d0a13b !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body.cx-design-system
.alert-answer-comment-editor {
    position: relative !important;
    padding: 12px !important;
    background: #f7fafc !important;
    border-top: 1px solid #e3eaf1 !important;
}

html body.cx-design-system
.alert-answer-comment-editor::before {
    content: none !important;
    display: none !important;
}

html body.cx-design-system
.alert-answer-comment-editor
.alert-answer-textarea {
    width: 100% !important;
    min-height: 92px !important;
    max-height: 220px !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    resize: vertical !important;
    border: 1px solid #c9d7e3 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #263f59 !important;
    font-size: .95rem !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
}

html body.cx-design-system
.alert-answer-comment-editor
.alert-answer-textarea:focus {
    border-color: #5f87aa !important;
    box-shadow: 0 0 0 3px rgba(69, 111, 148, .11) !important;
    outline: 0 !important;
}

html body.cx-design-system
.alert-answer-comment-editor
.alert-answer-textarea::placeholder {
    color: #71849a !important;
    font-weight: 600 !important;
    opacity: 1 !important;
}

/*
 * Account Block Notice recipient:
 * label width follows the DB text, so the recipient card sits close to it.
 */
@media (min-width: 768px) {
    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: max-content minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 14px !important;
        row-gap: 8px !important;
    }

    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field
    > * {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field
    .cx-r1-recipient-card {
        width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system
    .account-blocknotice-dialog
    .cx-blocknotice-recipient-field {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }
}

/* Device-model row actions keep their high-contrast white icons in every
   interaction state. Bootstrap's generic .btn:hover color must not recolor
   the edit/delete glyphs. */
html body.cx-design-system .device-model-list-card .r18-197-s099:is(:hover, :focus, :focus-visible, :active),
html body.cx-design-system .device-model-list-card .r18-197-s101:is(:hover, :focus, :focus-visible, :active) {
    color: #fff !important;
}

html body.cx-design-system .device-model-list-card .r18-197-s099:is(:hover, :focus, :focus-visible, :active) :is(i, span),
html body.cx-design-system .device-model-list-card .r18-197-s101:is(:hover, :focus, :focus-visible, :active) :is(i, span) {
    color: inherit !important;
}

/* ========================================================================== */

/* ========================================================================== */

/* Geofence tabs keep the selected state stable while hovered/focused. */
html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active,
html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active:hover:not(:disabled),
html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active:focus,
html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active:focus-visible {
    border-color: #315879 !important;
    background: #315879 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 9px rgba(49, 88, 121, .14) !important;
    transform: none !important;
}

html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active .device-geofence-tab-number,
html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active:hover .device-geofence-tab-number,
html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active:focus-visible .device-geofence-tab-number {
    color: #ffffff !important;
    opacity: .92 !important;
}

html body.cx-design-system .cx-r1-device-geofence .device-geofence-tab.active .device-geofence-tab-name {
    color: #ffffff !important;
}

/* Keep split row-action controls visually connected in every interaction state. */
html body.cx-design-system .device-list-action-group > .device-list-name-button,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button {
    border-radius: 8px 0 0 8px !important;
}

html body.cx-design-system .device-list-action-group > .device-list-action-toggle,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .conexgo-row-action-toggle,
html body.cx-design-system .device-list-action-group > .device-list-action-toggle:is(:hover, :focus, :focus-visible, :active),
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .conexgo-row-action-toggle:is(:hover, :focus, :focus-visible, :active),
html body.cx-design-system .device-list-action-group > .device-list-action-toggle[aria-expanded="true"],
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .conexgo-row-action-toggle[aria-expanded="true"] {
    border-radius: 0 8px 8px 0 !important;
    transform: none !important;
}

/* Account rows use the same restrained lift used by the other interactive list controls. */
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group {
    transition: transform .14s ease, filter .14s ease !important;
    transform: translateY(0) !important;
}

html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:hover,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:focus-within {
    transform: translateY(-2px) !important;
    filter: drop-shadow(0 4px 8px rgba(36, 73, 99, .08)) !important;
}

/* Preserve semantic device status colors on the dark map toolbar. */
html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-primary {
    --cx-device-live-status-color: #3e7fb0;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-success {
    --cx-device-live-status-color: #67bf79;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-warning {
    --cx-device-live-status-color: #f0b51b;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-danger {
    --cx-device-live-status-color: #ef6875;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-light {
    --cx-device-live-status-color: #89b8d8;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-neutral {
    --cx-device-live-status-color: #aebbc6;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item #battery,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item #battery_charging,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item #satellite,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .fa-stack,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .fa-stack > i,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .conexgo-device-simple-icon,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .conexgo-device-simple-icon > i,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-status-item .fa-wifi {
    color: var(--cx-device-live-status-color, #aebbc6) !important;
    fill: currentColor !important;
    opacity: 1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal .bar,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal > div,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal > span {
    color: var(--cx-device-live-status-color, #aebbc6) !important;
    background-color: currentColor !important;
    border-color: currentColor !important;
    opacity: .30 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal .bar.active,
html body.cx-design-system .device-map-settings .conexgo-device-setting-toolbar .conexgo-device-cellular .signal .active {
    opacity: 1 !important;
}

/* Device Map: keep Conexgo's branded wait indicator above the Google Maps
   surface while the API and current-location data are initializing. */
html body.cx-design-system .device-map-canvas-shell {
    position: relative !important;
}

html body.cx-design-system .cx-device-map-loading-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 8 !important;
    display: grid !important;
    place-items: center !important;
    min-height: 100% !important;
    padding: 24px !important;
    background: rgba(244, 248, 251, .96) !important;
    backdrop-filter: blur(1.5px) !important;
}

html body.cx-design-system .cx-device-map-loading-overlay .table-wait-indicator,
html body.cx-design-system .cx-device-map-loading-overlay .conexgo-page-wait-indicator {
    width: min(100%, 440px) !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Alert maps already have a full loading overlay. Keep only the shared spinner
   there; the large "Chargement des données / Veuillez patienter" card is
   redundant inside a map canvas. */
html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-map-canvas-shell .cx-device-map-loading-overlay {
    padding: 0 !important;
    background: rgba(244, 248, 251, .88) !important;
    backdrop-filter: none !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-map-canvas-shell .cx-device-map-loading-overlay
:is(.table-wait-indicator, .conexgo-page-wait-indicator) {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-map-canvas-shell .cx-device-map-loading-overlay
:is(.table-wait-indicator__card, .conexgo-page-wait-indicator__card) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-map-canvas-shell .cx-device-map-loading-overlay
:is(.table-wait-indicator__title, .table-wait-indicator__subtitle, .cx-r1883-wait-bar) {
    display: none !important;
}

html body.cx-design-system :is(.cx-dialog--alert-answer, .cx-dialog--alert-view)
.cx-alert-map-canvas-shell .cx-device-map-loading-overlay .cx-r1883-wait-icon {
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    border-width: 6px !important;
    border-radius: 14px !important;
    box-shadow: 0 5px 14px rgba(44, 76, 108, .10) !important;
}

/* Device Contact List: keep accordion content mounted so closing can animate
   instead of disappearing instantly when the Razor branch is removed. */
html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse {
    display: grid !important;
    grid-template-rows: 0fr !important;
    opacity: 0 !important;
    transition: grid-template-rows .24s ease, opacity .18s ease !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse.is-open {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse-inner {
    min-height: 0 !important;
    overflow: hidden !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse.is-open .cx-r217-collapse-inner {
    padding-top: 8px !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-chevron {
    transform-origin: 50% 50% !important;
    transition: transform .24s cubic-bezier(.2, .75, .25, 1), color .18s ease !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle[aria-expanded="true"] .cx-r18-108-contact-section-chevron {
    transform: rotate(180deg) !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle {
    transition: color .18s ease, transform .18s ease !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle:hover,
html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle:focus-visible {
    transform: translateY(-1px) !important;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse,
    html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-chevron,
    html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle {
        transition: none !important;
        transform: none !important;
    }
}

/* Account List: only the white account/name segment lifts. The blue dropdown
   segment and parent group stay fixed, matching the Device List interaction. */
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:hover,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:focus-within {
    transform: none !important;
    filter: none !important;
}

html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button {
    transition: transform .14s ease, box-shadow .14s ease, background-color .14s ease, border-color .14s ease !important;
    transform: translateY(0) !important;
}

html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button:is(:hover, :focus-visible) {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 12px rgba(35, 76, 105, .10) !important;
}

html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .conexgo-row-action-toggle,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .conexgo-row-action-toggle:is(:hover, :focus, :focus-visible, :active),
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .conexgo-row-action-toggle[aria-expanded="true"] {
    transform: none !important;
    border-radius: 0 8px 8px 0 !important;
}

/* Buttons: icons follow the button's own foreground color. This prevents
   historical icon selectors from turning icons black on hover without forcing
   every button to white. */
html body.cx-design-system :is(button.btn, a.btn, .btn[role="button"]) :is(
    i,
    .fa,
    .fas,
    .far,
    .fal,
    .fab,
    .fa-solid,
    .fa-regular,
    .fa-light,
    .fa-brands
) {
    color: inherit !important;
}

/* Device Map telemetry toolbar: always consume the exact semantic color passed
   by Device_Map/Device_Setting. */
html body.cx-design-system .device-map-settings .conexgo-device-status-item,
html body.cx-design-system .device-map-settings .conexgo-device-status-item :is(i, span, .fa-stack, .conexgo-device-simple-icon) {
    color: var(--cx-device-live-status-color, #9aa5b1) !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-cellular .signal > :is(div, span) {
    color: var(--cx-device-live-status-color, #9aa5b1) !important;
    border-color: currentColor !important;
    background-color: currentColor !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-cellular .signal > :not(.active) {
    opacity: .28 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-cellular .signal > .active {
    opacity: 1 !important;
}

/* Device Map loader: while Conexgo's loader is active, completely hide the map
   canvas so Google's legacy plain Loading... text cannot flash through. */
html body.cx-design-system .device-map-canvas-shell.is-loading #map-canvas {
    visibility: hidden !important;
}

html body.cx-design-system .cx-device-map-loading-overlay {
    z-index: 10050 !important;
    display: grid !important;
    place-items: center !important;
    background: #f4f8fb !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Contact List accordion: mounted body + reversible motion. */
html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse {
    display: grid !important;
    grid-template-rows: 0fr !important;
    opacity: 0 !important;
    transform: translateY(-4px) !important;
    transition: grid-template-rows .24s cubic-bezier(.2,.75,.25,1), opacity .18s ease, transform .24s ease !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse.is-open {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse-inner {
    min-height: 0 !important;
    overflow: hidden !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-chevron {
    transform: rotate(0deg) !important;
    transform-origin: 50% 50% !important;
    transition: transform .24s cubic-bezier(.2,.75,.25,1) !important;
}

html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-toggle[aria-expanded="true"] .cx-r18-108-contact-section-chevron {
    transform: rotate(180deg) !important;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button,
    html body.cx-design-system .cx-r1-device-contactlist .cx-r217-collapse,
    html body.cx-design-system .cx-r1-device-contactlist .cx-r18-108-contact-section-chevron {
        transition: none !important;
    }
}

/*
 * Group View V6 responsive authority.
 *
 * Desktop keeps the member list and map side by side.
 * Tablet stacks the map below the full-width list.
 * Phone / compact landscape hides the map and presents members as readable
 * cards so the list never has to compete with a map in a narrow viewport.
 */
html body.cx-design-system .cx-group-view-page .cx-group-view-layout {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
    align-items: start !important;
    gap: 18px !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-list-column,
html body.cx-design-system .cx-group-view-page .cx-group-view-map-column,
html body.cx-design-system .cx-group-view-page .cx-group-view-list-scroll {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-list-scroll {
    overflow-x: auto !important;
    overflow-y: visible !important;
}

html body.cx-design-system .cx-group-view-page
.cx-group-view-list-scroll .conexgo-pagedlist-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

html body.cx-design-system .cx-group-view-page
.cx-group-view-list-scroll .conexgo-pagedlist-table th:nth-child(1),
html body.cx-design-system .cx-group-view-page
.cx-group-view-list-scroll .conexgo-pagedlist-table td:nth-child(1) {
    width: 40% !important;
}

html body.cx-design-system .cx-group-view-page
.cx-group-view-list-scroll .conexgo-pagedlist-table th:nth-child(2),
html body.cx-design-system .cx-group-view-page
.cx-group-view-list-scroll .conexgo-pagedlist-table td:nth-child(2) {
    width: 25% !important;
}

html body.cx-design-system .cx-group-view-page
.cx-group-view-list-scroll .conexgo-pagedlist-table th:nth-child(3),
html body.cx-design-system .cx-group-view-page
.cx-group-view-list-scroll .conexgo-pagedlist-table td:nth-child(3) {
    width: 35% !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-column {
    position: relative !important;
    overflow: hidden !important;
    padding-top: 0 !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-map-canvas {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: clamp(390px, 48vh, 560px) !important;
    min-height: 390px !important;
    overflow: hidden !important;
}

html body.cx-design-system .cx-group-view-page .cx-group-view-status-icons {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    white-space: normal !important;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    html body.cx-design-system .cx-group-view-page .cx-group-view-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-map-column {
        display: block !important;
        width: 100% !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-map-canvas {
        height: clamp(300px, 38vh, 400px) !important;
        min-height: 300px !important;
    }

    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table {
        min-width: 0 !important;
        table-layout: fixed !important;
    }
}

@media (max-width: 767.98px),
       (max-width: 900px) and (max-height: 600px) {
    html body.cx-design-system .cx-group-view-page .cx-group-view-layout {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-map-column {
        display: none !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-list-scroll {
        width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        border: 0 !important;
    }

    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: auto !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table thead {
        display: none !important;
    }

    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table tbody {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table tr.cx-group-member-row {
        width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        overflow: hidden !important;
        border: 1px solid #d8e3ec !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 1px 3px rgba(30, 58, 83, .06) !important;
    }

    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table
    tr.cx-group-member-row > td {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: block !important;
        padding: 10px 12px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf2f6 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    html body.cx-design-system .cx-group-view-page
    .cx-group-view-list-scroll .conexgo-pagedlist-table
    tr.cx-group-member-row > td:last-child {
        border-bottom: 0 !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-mobile-field-label {
        width: 100% !important;
        display: block !important;
        margin: 0 0 5px !important;
        color: #61758a !important;
        font-size: .72rem !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        letter-spacing: .035em !important;
        text-transform: uppercase !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-member-name-value {
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 7px !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-member-address {
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-status-cell {
        text-align: left !important;
    }

    html body.cx-design-system .cx-group-view-page .cx-group-view-status-icons {
        justify-content: flex-start !important;
        gap: 9px !important;
    }
}

@media (min-width: 992px) {
    html body.cx-design-system >
    :is(
        .cx-phase-17-8-row-menu-portal.show,
        .device-list-action-menu.cx-phase-17-8-row-menu-portal.show,
        .conexgo-row-action-menu.cx-phase-17-8-row-menu-portal.show
    ) {
        z-index: 1550 !important;
    }

    html body.app.sidebar-mini.cx-design-system
    .app-sidebar-shell {
        z-index: 1700 !important;
        isolation: isolate !important;
    }

    html body.app.sidebar-mini.cx-design-system
    .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.app.sidebar-mini.cx-design-system
    .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1,
    html body.app.sidebar-mini.cx-design-system
    .app-sidebar-modern.cx-app-sidebar
    :is(.cx-sidebar-brand-expanded-source-v2, .cx-sidebar-brand-compact-source-v2) {
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media (max-width: 991.98px) {
    html body.cx-design-system .cx-training-list-card,
    html body.cx-design-system .cx-training-list-card .device-list-card-body,
    html body.cx-design-system .cx-training-list-card .cx-training-table-shell,
    html body.cx-design-system .cx-training-list-card .device-list-data-row,
    html body.cx-design-system .cx-training-list-card .conexgo-pagedlist-table-region,
    html body.cx-design-system .cx-training-list-card .conexgo-pagedlist-table-column {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system .cx-training-list-card .cx-training-table-shell {
        overflow-x: hidden !important;
        overflow-y: visible !important;
    }

    html body.cx-design-system .cx-training-list-card .conexgo-pagedlist-table {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    html body.cx-design-system .cx-training-list-card
    .conexgo-pagedlist-table tbody td.cx-training-list-video-cell {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 12px !important;
        white-space: normal !important;
    }

    html body.cx-design-system .cx-training-list-card
    .cx-training-list-video-cell .device-list-action-group {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    html body.cx-design-system .cx-training-list-card
    .cx-training-video-name-button {
        min-width: 0 !important;
        max-width: none !important;
        overflow: hidden !important;
    }

    html body.cx-design-system .cx-training-list-card
    .cx-training-video-title-source {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    html body.cx-design-system .cx-training-mobile-meta {
        width: 100% !important;
        min-width: 0 !important;
        margin-top: 9px !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 7px !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .cx-training-list-card
    .cx-training-list-thumbnail {
        width: 48px !important;
        min-width: 48px !important;
        height: 34px !important;
    }
}

html body.cx-design-system .r18-197-s099,
html body.cx-design-system .r18-197-s099:is(:hover, :focus, :focus-visible, :active) {
    border-color: #3e6a99 !important;
    background: #3e6a99 !important;
    color: #ffffff !important;
}

html body.cx-design-system .r18-197-s101,
html body.cx-design-system .r18-197-s101:is(:hover, :focus, :focus-visible, :active) {
    border-color: #b8505b !important;
    background: #b8505b !important;
    color: #ffffff !important;
}

html body.cx-design-system
:is(button, a.btn, .btn[role="button"], .mud-button-root)
:is(
    i,
    svg,
    .mud-icon-root,
    .fe,
    [class^="fe "],
    [class*=" fe "],
    .fa,
    .fas,
    .far,
    .fal,
    .fab,
    .fa-solid,
    .fa-regular,
    .fa-light,
    .fa-brands
) {
    color: inherit !important;
}

html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-save, .cx-dialog-action--save),
html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-save, .cx-dialog-action--save):is(:hover, :focus, :focus-visible, :active) {
    border-color: var(--cx-dialog-success) !important;
    background: var(--cx-dialog-success) !important;
    color: #ffffff !important;
}

html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-save-close, .cx-dialog-action--save-close),
html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-save-close, .cx-dialog-action--save-close):is(:hover, :focus, :focus-visible, :active) {
    border-color: var(--cx-dialog-primary) !important;
    background: var(--cx-dialog-primary) !important;
    color: #ffffff !important;
}

html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-delete, .cx-dialog-action--delete),
html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-delete, .cx-dialog-action--delete):is(:hover, :focus, :focus-visible, :active) {
    border-color: #efd9dc !important;
    background: var(--cx-dialog-danger-soft) !important;
    color: var(--cx-dialog-danger) !important;
}

html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-cancel, .cx-dialog-action--cancel),
html body.cx-design-system .mud-dialog.cx-dialog-root
:is(.conexgo-dialog-cancel, .cx-dialog-action--cancel):is(:hover, :focus, :focus-visible, :active) {
    border-color: #c6d1dc !important;
    background: #ffffff !important;
    color: #566575 !important;
}

html body.cx-design-system .mud-dialog.cx-dialog-root
.cx-dialog-action:is(:hover, :focus, :focus-visible, :active)
:is(i, svg, .mud-icon-root, .fe, [class^="fe "], [class*=" fe "]) {
    color: inherit !important;
}

html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-input-label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #365977 !important;
    font-size: .82rem !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

@media (min-width: 992px) {
    html body.cx-design-system .device-config-card .device-config-section-header .device-config-col-updated,
    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-updated { width:100% !important; min-width:0 !important; max-width:none !important; margin:0 !important; padding-left:0 !important; padding-right:0 !important; justify-self:stretch !important; text-align:left !important; }
    html body.cx-design-system .device-config-card .device-config-section-header .device-config-col-updated { display:flex !important; align-items:center !important; justify-content:flex-start !important; align-self:center !important; }
    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-updated { align-self:start !important; line-height:1.42 !important; }
    html body.cx-design-system .device-config-card .device-config-section-content .device-config-col-updated .cx-r1878-last-updated-date { display:inline-block !important; margin:0 !important; padding:0 !important; }
}
@media (min-width: 1200px) {
    html body.cx-design-system .device-config-card :is(.device-config-section-header,.device-config-section-content) { grid-template-columns:minmax(150px,.78fr) 42px minmax(180px,.92fr) minmax(320px,1.72fr) minmax(105px,.52fr) minmax(230px,1.18fr) !important; gap:9px !important; }
}
@media (min-width: 768px) {
    html body.cx-design-system dialog.device-geofence-map-workspace.cx-geofence-workspace-host { height:min(840px,calc(100dvh - 24px)) !important; max-height:calc(100dvh - 24px) !important; }
    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-content.mud-dialog-content { padding:12px 14px !important; }
    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-layout { gap:10px !important; }
    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-controls { padding:12px 16px 14px !important; }
    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-map-section .device-geofence-map-preview { min-height:390px !important; }
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    gap: 10px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.report-subscribe-custom-period
:is(
    .cx-r18-158-custom-period-memory,
    .cx-r18-127-report-history-limit,
    .cx-r191-custom-period-range
) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.cx-r191-custom-period-range {
    padding: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 14px !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.cx-r191-custom-period-card {
    min-height: 72px !important;
    padding: 10px 12px !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 12px !important;
    border: 1px solid #d6e2eb !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(33, 69, 100, .055) !important;
}

html body.cx-design-system .cx-report-subscribe-dialog
.cx-r191-custom-period-card > label {
    color: #315d80 !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-report-subscribe-dialog
    .cx-r191-custom-period-range {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog
    .cx-r191-custom-period-card {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        min-height: 68px !important;
    }
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-input-label {
    display: none !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-editor {
    position: relative !important;
    padding: 12px !important;
    border-top: 1px solid #e4cf75 !important;
    background: #fff7c9 !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-editor .alert-answer-textarea {
    min-height: 118px !important;
    padding: 17px 16px !important;
    border: 1px solid #cfb34a !important;
    border-radius: 11px !important;
    background: #fffbe3 !important;
    color: #273f58 !important;
    box-shadow:
        inset 4px 0 0 rgba(199, 160, 31, .28),
        0 2px 8px rgba(110, 87, 13, .045) !important;
}

html body.cx-design-system .cx-dialog--alert-answer
.alert-answer-comment-editor .alert-answer-textarea:focus {
    border-color: #bd9517 !important;
    background: #fffdf0 !important;
    outline: 0 !important;
    box-shadow:
        0 0 0 3px rgba(205, 168, 51, .16),
        inset 4px 0 0 rgba(190, 147, 12, .32) !important;
}

@keyframes cx-alert-comment-attention {
    0%, 48% {
        opacity: 1;
        transform: none;
        text-shadow: 0 0 8px rgba(210, 166, 25, .18);
    }

    49%, 100% {
        opacity: .18;
        transform: none;
        text-shadow: none;
    }
}


@media (max-width: 991.98px) {
    html body.cx-design-system .main-content.app-content,
    html body.cx-design-system .main-content.app-content .side-app,
    html body.cx-design-system .main-content.app-content .main-container.container-fluid,
    html body.cx-design-system #conexgo-page-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* The legacy theme adds 20px of top padding to every .card below 991px.
       V6 cards already own their own spacing, so that legacy padding creates
       the blank strip above blue/green card headers on every responsive page. */
    html body.cx-design-system .main-content.app-content .card {
        padding-top: 0 !important;
    }

    html body.cx-design-system .main-content.app-content .main-container.container-fluid {
        padding-bottom: 0 !important;
    }

    html body.cx-design-system #conexgo-page-content > .page-header {
        margin-top: 0 !important;
        padding-top: 6px !important;
    }

    }

@media (max-width: 575.98px) {
    html body.cx-design-system #conexgo-page-content > .page-header {
        margin-bottom: 8px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    }


html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-primary {
    color: #3d6287 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-success {
    color: #37814e !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-warning {
    color: #d7a900 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-danger {
    color: #b8505b !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-light {
    color: #6ea3c7 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item.cx-device-tone-neutral {
    color: #9aa5b1 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item #battery,
html body.cx-design-system .device-map-settings .conexgo-device-status-item #battery_charging,
html body.cx-design-system .device-map-settings .conexgo-device-status-item #satellite,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .fa-stack,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .fa-stack > i,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-simple-icon,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-simple-icon > i,
html body.cx-design-system .device-map-settings .conexgo-device-status-item .fa-wifi {
    color: currentColor !important;
    opacity: 1 !important;
    filter: none !important;
    text-shadow: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-battery-icon {
    font-size: 21pt !important;
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
    text-shadow: none !important;
    filter: drop-shadow(0 1px 0 rgba(27, 56, 78, .18)) !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-status-item .conexgo-device-battery-charge {
    text-shadow: none !important;
    filter: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-cellular .signal {
    color: currentColor !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-cellular .signal .bar {
    color: currentColor !important;
    background-color: currentColor !important;
    border-color: currentColor !important;
    opacity: .30 !important;
}

html body.cx-design-system .device-map-settings .conexgo-device-cellular .signal .bar.active {
    opacity: 1 !important;
}

html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-editor,
html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-editor form {
    position: relative !important;
}

html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-prompt {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    right: 18px !important;
    z-index: 3 !important;
    pointer-events: none !important;
    color: #6e5000 !important;
    font-size: .96rem !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    animation: cx-alert-comment-prompt-blink 1.7s cubic-bezier(.4, 0, .2, 1) infinite !important;
}

html body.cx-design-system .cx-dialog--alert-answer .alert-answer-textarea {
    position: relative !important;
    z-index: 1 !important;
    padding-top: 17px !important;
}

@keyframes cx-alert-comment-prompt-blink {
    0%, 100% {
        opacity: 1;
        text-shadow: 0 0 0 rgba(185, 135, 0, 0);
    }

    50% {
        opacity: .74;
        text-shadow: 0 0 8px rgba(185, 135, 0, .20);
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .cx-dialog--alert-answer .alert-answer-comment-prompt {
        animation: none !important;
        opacity: 1 !important;
    }
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-controls {
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 10px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 220px)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    gap: 12px !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control {
    width: 220px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 6px !important;
    border: 1px solid #d7e2eb !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(35, 68, 94, .05) !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control > label {
    margin: 0 !important;
    color: #49657b !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .cx-date-picker-v16-1,
html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .cx-date-picker-shell {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .mud-input {
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 9px !important;
    background: #ffffff !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .mud-input-outlined-border {
    border-color: #cbdbe6 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .mud-input:hover:not(.mud-disabled) .mud-input-outlined-border {
    border-color: #9fb6ca !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .mud-input:focus-within .mud-input-outlined-border,
html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .mud-input.mud-input-focused .mud-input-outlined-border {
    border-color: #3e6a99 !important;
    box-shadow: 0 0 0 3px rgba(62, 106, 153, .10) !important;
}

html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control .mud-input-adornment-end {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin-right: 3px !important;
    border-radius: 8px !important;
    background: #edf4f8 !important;
}

@media (max-width: 767.98px) {
    html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-controls {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    html body.cx-design-system .cx-report-subscribe-dialog .report-subscribe-custom-period-control {
        width: 100% !important;
        max-width: 100% !important;
    }
}


html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item.conexgo-dashboard-smart-item--content-fit {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
> .conexgo-dashboard-smart-item.conexgo-dashboard-smart-item--content-fit
> .conexgo-dashboard-content-fit-card {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}



html body.cx-design-system .cx-paged-list {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-toolbar,
html body.cx-design-system .cx-paged-list .conexgo-pagedlist-custom,
html body.cx-design-system .cx-paged-list .conexgo-pagedlist-empty {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    position: relative !important;
    z-index: 2 !important;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-scroll {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-gutter: stable !important;
    -webkit-overflow-scrolling: touch;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-region {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-column {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-scroll::-webkit-scrollbar {
    height: 7px;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-scroll::-webkit-scrollbar-track {
    background: transparent;
}

html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-scroll::-webkit-scrollbar-thumb {
    border: 1px solid transparent;
    border-radius: 999px;
    background: #6d9bb8;
    background-clip: padding-box;
}

html body.cx-design-system .alert-list-card .alert-list-workflow-cell {
    vertical-align: top !important;
    padding-top: 18px !important;
}

html body.cx-design-system .alert-list-card .alert-list-workflow-cell .cx-alert-workflow-status {
    margin-top: 0 !important;
}

html body.cx-design-system .account-list-cell-name .conexgo-row-action-group,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:hover,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group:focus-within {
    transform: none !important;
    filter: none !important;
}

html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button.btn,
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button.btn-outline-primary {
    background: #ffffff !important;
    color: #284c6c !important;
    border-color: #d3deea !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    transition: background-color .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease !important;
}

html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button:is(:hover, :focus-visible),
html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button.btn-outline-primary:is(:hover, :focus-visible) {
    background: #f4f8fb !important;
    color: #214867 !important;
    border-color: #88a3b9 !important;
    box-shadow: 0 3px 9px rgba(36, 74, 105, .08) !important;
    filter: none !important;
    transform: none !important;
}

html body.cx-design-system .cx-r1878-log-device-context {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    box-sizing: border-box !important;
}

html body.cx-design-system .cx-logs-device-context--identity {
    margin-bottom: 16px !important;
    padding-block: 10px !important;
}

html body.cx-design-system .cx-logs-device-context--identity .cx-logs-device-context__copy small {
    color: #536b7e !important;
    font-size: .88rem !important;
    font-weight: 620 !important;
    line-height: 1.4 !important;
}

@media (min-width: 992px) {
    html body.cx-design-system .app-sidebar-modern,
    html body.cx-design-system .app-sidebar-modern .main-sidemenu,
    html body.cx-design-system .app-sidebar-modern .sub-category,
    html body.cx-design-system .app-sidebar-modern .side-menu__item,
    html body.cx-design-system .app-sidebar-modern .side-menu__icon,
    html body.cx-design-system .app-sidebar-modern .side-menu__label,
    html body.cx-design-system .app-sidebar-modern .angle,
    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-toggle {
        will-change: width, height, opacity, transform;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu__item {
        transition:
            width .32s cubic-bezier(.22, 1, .36, 1),
            min-width .32s cubic-bezier(.22, 1, .36, 1),
            max-width .32s cubic-bezier(.22, 1, .36, 1),
            min-height .32s cubic-bezier(.22, 1, .36, 1),
            padding .32s cubic-bezier(.22, 1, .36, 1),
            gap .32s cubic-bezier(.22, 1, .36, 1),
            background-color .18s ease,
            box-shadow .18s ease !important;
    }

    html body.cx-design-system .app-sidebar-modern .side-menu__label {
        transition:
            opacity .20s ease,
            transform .28s cubic-bezier(.22, 1, .36, 1),
            max-width .28s cubic-bezier(.22, 1, .36, 1) !important;
    }

    html body.app.sidebar-mini.cx-design-system:is([data-cx-sidebar-state="expanded"], [data-cx-sidebar-state="compact"], .sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category {
        transform-origin: center center !important;
        transition:
            width .32s cubic-bezier(.22, 1, .36, 1),
            min-width .32s cubic-bezier(.22, 1, .36, 1),
            max-width .32s cubic-bezier(.22, 1, .36, 1),
            height .32s cubic-bezier(.22, 1, .36, 1),
            min-height .32s cubic-bezier(.22, 1, .36, 1),
            max-height .32s cubic-bezier(.22, 1, .36, 1),
            margin .32s cubic-bezier(.22, 1, .36, 1),
            opacity .20s ease,
            border-radius .24s ease,
            box-shadow .24s ease !important;
    }

    html body.app.sidebar-mini.cx-design-system:is([data-cx-sidebar-state="expanded"], [data-cx-sidebar-state="compact"], .sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category > .conexgo-sidebar-section-toggle,
    html body.app.sidebar-mini.cx-design-system:is([data-cx-sidebar-state="expanded"], [data-cx-sidebar-state="compact"], .sidenav-toggled)
    .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category > .conexgo-sidebar-section-toggle:is(:hover, :focus, :focus-visible, :active) {
        transition:
            width .32s cubic-bezier(.22, 1, .36, 1),
            min-width .32s cubic-bezier(.22, 1, .36, 1),
            max-width .32s cubic-bezier(.22, 1, .36, 1),
            height .32s cubic-bezier(.22, 1, .36, 1),
            min-height .32s cubic-bezier(.22, 1, .36, 1),
            max-height .32s cubic-bezier(.22, 1, .36, 1),
            padding .32s cubic-bezier(.22, 1, .36, 1),
            margin .32s cubic-bezier(.22, 1, .36, 1),
            border-radius .24s ease,
            background-color .18s ease,
            border-color .18s ease,
            box-shadow .22s ease !important;
    }

    html body.cx-design-system .app.sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__label,
    html body.cx-design-system .sidenav-toggled .app-sidebar-modern:not(:hover) .side-menu__label {
        opacity: 0 !important;
        transform: translateX(-6px) !important;
    }

    html body.cx-design-system .app.sidenav-toggled .app-sidebar-modern:hover .side-menu__label,
    html body.cx-design-system .sidenav-toggled .app-sidebar-modern:hover .side-menu__label {
        opacity: 1 !important;
        transform: translateX(0) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .app-sidebar-modern .sub-category,
    html body.cx-design-system .app-sidebar-modern .side-menu__item,
    html body.cx-design-system .app-sidebar-modern .side-menu__label,
    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-toggle,
    html body.cx-design-system .account-list-cell-name .conexgo-row-action-group > .account-list-name-button {
        transition: none !important;
    }
}

html body.cx-design-system .mud-dialog.cx-device-config-dialog .cx-device-config-status-card {
    width: min(620px, 100%) !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
}

/* Active tab interaction stays scoped to the tab control itself. */
html body.cx-design-system .tab-menu-heading-boxed .panel-tabs > li > a.active,
html body.cx-design-system .tab-menu-heading-boxed .panel-tabs > li > a.active:hover,
html body.cx-design-system .tab-menu-heading-boxed .panel-tabs > li > a.active:focus-visible {
    border-color: #315a7b !important;
    background: #315a7b !important;
    color: #ffffff !important;
    box-shadow: 0 5px 14px rgba(38, 73, 102, .14) !important;
}

html body.cx-design-system .tab-menu-heading-boxed .panel-tabs > li > a:not(.active):hover,
html body.cx-design-system .tab-menu-heading-boxed .panel-tabs > li > a:not(.active):focus-visible {
    border-color: #bfd2e0 !important;
    background: #eaf3f9 !important;
    color: #244f70 !important;
}

@media (max-width: 991.98px) {
    html body.cx-design-system #conexgo-page-content:has(.cx-training-page-shell) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: calc(100dvh - var(--cx-shell-header-height, 74px)) !important;
    }

    html body.cx-design-system .cx-training-page-shell {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
    }

    html body.cx-design-system .cx-training-page-row {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    html body.cx-design-system .cx-training-page-row > .col-lg-12 {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html body.cx-design-system .cx-training-page-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        flex: 1 1 auto !important;
    }

    html body.cx-design-system .cx-training-list-body {
        min-height: 300px !important;
    }
}

@media (max-width: 575.98px) {
    html body.cx-design-system .cx-training-page-header .cx-training-add {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
    }

    html body.cx-design-system .cx-training-page-row,
    html body.cx-design-system .cx-training-page-row > .col-lg-12,
    html body.cx-design-system .cx-training-page-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}


@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .conexgo-operator-row,
    html body.cx-design-system #conexgoDashboardSmartGrid [data-dashboard-key="activeUsers"] .conexgo-dashboard-active-user,
    html body.cx-design-system :is(.device-list-action-menu, .conexgo-row-action-menu) .dropdown-item {
        transition: none !important;
        transform: none !important;
    }
}

/* Alert maps keep their toolbar and usable canvas size without introducing a second spinner. */
html body.cx-design-system :is(.alert-answer-map-toolbar, .alert-view-map-toolbar) {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

html body.cx-design-system :is(.alert-answer-map-title, .alert-view-map-title) {
    min-width: 0 !important;
    margin: 0 !important;
}

html body.cx-design-system :is(.alert-answer-map-toggle, .alert-view-map-toggle) {
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
}

html body.cx-design-system :is(.alert-answer-map-canvas, .alert-view-map-canvas) {
    min-height: 390px !important;
}

html body.cx-design-system .cx-alert-map-canvas-shell {
    position: relative !important;
    min-width: 0 !important;
}

@media (max-width: 575.98px) {
    html body.cx-design-system :is(.alert-answer-map-canvas, .alert-view-map-canvas) {
        min-height: 360px !important;
    }
}

/* Geofence drawing workspace uses the available viewport without changing its desktop design language. */
@media (min-width: 768px) {
    html body.cx-design-system dialog.device-geofence-map-workspace.cx-geofence-workspace-host {
        width: min(1280px, calc(100vw - 24px)) !important;
        max-width: min(1280px, calc(100vw - 24px)) !important;
        height: min(900px, calc(100dvh - 20px)) !important;
        max-height: calc(100dvh - 20px) !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-map-section {
        padding: 14px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-map-section .device-geofence-map-preview {
        min-height: 440px !important;
    }
}

@media (max-width: 767.98px) {
    html body.cx-design-system dialog.device-geofence-map-workspace.cx-geofence-workspace-host {
        width: calc(100vw - 10px) !important;
        max-width: calc(100vw - 10px) !important;
        height: calc(100dvh - 10px) !important;
        max-height: calc(100dvh - 10px) !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-map-section {
        min-height: 430px !important;
        padding: 10px !important;
    }

    html body.cx-design-system dialog.device-geofence-map-workspace .cx-geofence-workspace-map-section .device-geofence-map-preview {
        min-height: 360px !important;
    }
}

/* Device message templates stay on one row on wide dialogs and expose a persistent selected state. */
@media (min-width: 1200px) {
    html body.cx-design-system .device-message-template-list {
        display: grid !important;
        grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
        gap: 6px !important;
        align-items: stretch !important;
    }

    html body.cx-design-system .device-message-template-chip {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
        padding-inline: 7px !important;
        text-align: center !important;
        white-space: normal !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    html body.cx-design-system .device-message-template-list {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
        scrollbar-width: thin !important;
        scrollbar-color: #91aec2 transparent !important;
    }

    html body.cx-design-system .device-message-template-chip {
        flex: 0 0 auto !important;
        min-width: 150px !important;
    }
}

html body.cx-design-system .device-message-template-chip.is-selected,
html body.cx-design-system .device-message-template-chip[aria-pressed="true"] {
    border-color: #315f82 !important;
    background: #315f82 !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 2px rgba(49, 95, 130, .15), 0 4px 12px rgba(49, 95, 130, .12) !important;
    transform: none !important;
}

html body.cx-design-system .device-message-template-chip.is-selected:hover,
html body.cx-design-system .device-message-template-chip.is-selected:focus-visible,
html body.cx-design-system .device-message-template-chip[aria-pressed="true"]:hover,
html body.cx-design-system .device-message-template-chip[aria-pressed="true"]:focus-visible {
    border-color: #274f6e !important;
    background: #274f6e !important;
    color: #ffffff !important;
    transform: none !important;
}

/* Desktop sidebar collapse uses the existing geometry but forces a real transition during the state change. */
@media (min-width: 992px) {
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .side-header,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .side-header .header-brand1,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar :is(.cx-sidebar-brand-expanded-source-v2, .cx-sidebar-brand-compact-source-v2),
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .main-sidemenu,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .side-menu > li.sub-category > .conexgo-sidebar-section-toggle,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .side-menu__item {
        transition:
            width .34s cubic-bezier(.22, 1, .36, 1),
            min-width .34s cubic-bezier(.22, 1, .36, 1),
            max-width .34s cubic-bezier(.22, 1, .36, 1),
            height .34s cubic-bezier(.22, 1, .36, 1),
            min-height .34s cubic-bezier(.22, 1, .36, 1),
            max-height .34s cubic-bezier(.22, 1, .36, 1),
            margin .34s cubic-bezier(.22, 1, .36, 1),
            padding .34s cubic-bezier(.22, 1, .36, 1),
            gap .34s cubic-bezier(.22, 1, .36, 1),
            border-radius .22s ease,
            background-color .18s ease,
            border-color .18s ease,
            box-shadow .20s ease,
            opacity .18s ease !important;
    }

    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .side-menu__label,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-title,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar .conexgo-sidebar-section-chevron {
        transition:
            opacity .18s ease,
            max-width .28s cubic-bezier(.22, 1, .36, 1),
            transform .28s cubic-bezier(.22, 1, .36, 1) !important;
    }
}

/* Dashboard cards and their interactive rows share the same soft hover language as Active Users. */
html body.cx-design-system .cx-dashboard-page .conexgo-dashboard-configuration-card:hover,
html body.cx-design-system .cx-dashboard-page #conexgoDashboardSmartGrid > .conexgo-dashboard-smart-item > .card:hover {
    border-color: #c8dbe8 !important;
    box-shadow: 0 4px 12px rgba(44, 76, 108, .08) !important;
}

html body.cx-design-system .cx-dashboard-page :is(
    .conexgo-dashboard-active-user,
    .conexgo-dashboard-latest-item,
    .conexgo-dashboard-ranked-item,
    .cx-dashboard-offline-item,
    .conexgo-device-overview-metric,
    .conexgo-device-overview-model,
    .conexgo-dashboard-latest-breakdown-item
):is(:hover, :focus-within) {
    border-color: #c8dbe8 !important;
    border-left-color: #c8dbe8 !important;
    background: #f4f8fb !important;
    box-shadow: 0 4px 12px rgba(44, 76, 108, .08) !important;
    transform: none !important;
}

html body.cx-design-system .cx-dashboard-page .conexgo-device-status-table tbody tr[role="button"]:is(:hover, :focus-visible) > td {
    background: #f4f8fb !important;
    border-top-color: #c8dbe8 !important;
    border-bottom-color: #c8dbe8 !important;
}

@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .device-message-template-chip,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar,
    html body.app.sidebar-mini.cx-design-system[data-cx-sidebar-state] .app-sidebar-modern.cx-app-sidebar *,
    html body.cx-design-system .cx-dashboard-page :is(
        .conexgo-dashboard-active-user,
        .conexgo-dashboard-latest-item,
        .conexgo-dashboard-ranked-item,
        .cx-dashboard-offline-item,
        .conexgo-device-overview-metric,
        .conexgo-device-overview-model,
        .conexgo-dashboard-latest-breakdown-item
    ) {
        transition: none !important;
    }
}

/* R18-287-4 unified inner-icon motion.
   The sidebar tile itself stays fixed; only the icon hops on hover/focus. */
@keyframes conexgoUiInnerIconHop {
    0%, 100% { top: 0; }
    38% { top: -5px; }
    68% { top: 1px; }
    84% { top: -1px; }
}

@media (prefers-reduced-motion: no-preference) {
    html body.cx-design-system .app-header-modern .app-sidebar__toggle:is(:hover, :focus-visible) .app-sidebar-toggle-icon,
    html body.cx-design-system .app-header-modern .app-header-action-zone .nav-link.icon:is(:hover, :focus-visible, :active) > i,
    html body.cx-design-system .app-header-modern .app-header-action-zone .nav-link.icon[aria-expanded="true"] > i,
    html body.cx-design-system .app-header-modern .conexgo-notification-trigger:is(:hover, :focus-visible, :active) .conexgo-notification-bell,
    html body.cx-design-system .app-header-modern .conexgo-notification-trigger[aria-expanded="true"] .conexgo-notification-bell,
    html body.cx-design-system .app-header-modern .conexgo-alert-trigger:is(:hover, :focus-visible, :active) .conexgo-alert-icon,
    html body.cx-design-system .app-header-modern .conexgo-alert-trigger[aria-expanded="true"] .conexgo-alert-icon,
    html body.cx-design-system .app-header-modern .conexgo-operator-trigger:is(:hover, :focus-visible, :active) > i,
    html body.cx-design-system .app-header-modern .conexgo-operator-trigger[aria-expanded="true"] > i,
    html body.cx-design-system .app-header-modern .app-header-user-zone .nav-link:is(:hover, :focus-visible, :active) > i,
    html body.cx-design-system .app-header-modern .app-header-user-zone .nav-link[aria-expanded="true"] > i,
    html body.cx-design-system .app-header-modern .topbar-version-pill:is(:hover, :focus-within) i,
    html body.cx-design-system .app-header-modern .nt-clock-card:is(:hover, :focus-within) i,
    html body.cx-design-system .app-header-modern .conexgo-profile-trigger:is(:hover, :focus-visible, :active) img.profile-user,
    html body.cx-design-system .app-header-modern .conexgo-header-profile.show .conexgo-profile-trigger img.profile-user,

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar
    .side-menu > li:not(.sub-category) > .side-menu__item:is(:hover, :focus-visible)
    > .side-menu__icon,

    html body.app.sidebar-mini.cx-design-system:is(.sidenav-toggled, [data-cx-sidebar-state="compact"])
    .app-sidebar-modern.cx-app-sidebar
    .side-menu > li.sub-category > .conexgo-sidebar-section-toggle:is(:hover, :focus-visible)
    > .conexgo-sidebar-section-icon,

    html body.cx-design-system:not([data-cx-sidebar-state="compact"])
    .app-sidebar-modern .side-menu__item:is(:hover, :focus-visible) > .side-menu__icon,

    html body.cx-design-system:not([data-cx-sidebar-state="compact"])
    .app-sidebar-modern .conexgo-sidebar-section-toggle:is(:hover, :focus-visible)
    > .conexgo-sidebar-section-icon {
        position: relative !important;
        top: 0;
        animation: conexgoUiInnerIconHop .46s cubic-bezier(.22, 1, .36, 1) both !important;
        transform-origin: center !important;
        will-change: top;
    }
}
@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system .app-header-modern .app-sidebar-toggle-icon,
    html body.cx-design-system .app-header-modern .app-header-action-zone .nav-link.icon > i,
    html body.cx-design-system .app-header-modern .conexgo-notification-bell,
    html body.cx-design-system .app-header-modern .conexgo-alert-icon,
    html body.cx-design-system .app-header-modern .conexgo-operator-trigger > i,
    html body.cx-design-system .app-header-modern .app-header-user-zone .nav-link > i,
    html body.cx-design-system .app-header-modern .topbar-version-pill i,
    html body.cx-design-system .app-header-modern .nt-clock-card i,
    html body.cx-design-system .app-header-modern .conexgo-profile-trigger img.profile-user,
    html body.cx-design-system .app-sidebar-modern .side-menu__icon,
    html body.cx-design-system .app-sidebar-modern .conexgo-sidebar-section-icon {
top: 0 !important;
    }
}
/* R18-288-0 UI AUTHORITY BEGIN */

/* Do not expose the partially initialized private shell. */
html body.cx-design-system .cx-shell-initial-loading {
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: #ffffff;
}

/* Compact sidebar: the tile remains fixed; only its inner icon hops. */
@keyframes cxR18288SidebarIconHop {
    0%, 100% { top: 0; }
    34% { top: -6px; }
    62% { top: 1px; }
    82% { top: -2px; }
}

@media (min-width: 992px) and (prefers-reduced-motion: no-preference) {
    html body.app.sidebar-mini.cx-design-system:is(
        .sidenav-toggled,
        .cx-sidebar-visual-compact,
        [data-cx-sidebar-state="compact"]
    )
    .app-sidebar-modern.cx-app-sidebar
    .side-menu > li:not(.sub-category)
    > .side-menu__item:is(:hover, :focus-visible)
    > i.side-menu__icon,

    html body.app.sidebar-mini.cx-design-system:is(
        .sidenav-toggled,
        .cx-sidebar-visual-compact,
        [data-cx-sidebar-state="compact"]
    )
    .app-sidebar-modern.cx-app-sidebar
    .side-menu > li.sub-category
    > .conexgo-sidebar-section-toggle:is(:hover, :focus-visible)
    > i.conexgo-sidebar-section-icon {
        position: relative !important;
        top: 0;
        animation: cxR18288SidebarIconHop .50s cubic-bezier(.22, 1, .36, 1) both !important;
        transform-origin: center !important;
        will-change: top;
    }
}

/* Accessibility always wins over decorative motion. */
@media (prefers-reduced-motion: reduce) {
    html body.cx-design-system
    .app-sidebar-modern.cx-app-sidebar i.side-menu__icon,
    html body.cx-design-system
    .app-sidebar-modern.cx-app-sidebar i.conexgo-sidebar-section-icon {
        animation: none !important;
        top: 0 !important;
    }
}

/* R18-288-0 UI AUTHORITY END */
/* R18-289-1 QA CONTINUATION BEGIN */

/* WSAP public note SVG is self-contained and cannot disappear with icon-font loading. */
.cx-wsap-install-note-svg {
    width: 19px;
    height: 19px;
    display: block;
}

/* R18-289-0 unfinished styles: long notifications remain readable. */
html body.cx-design-system .cx-notification-message-cell {
    min-width: 380px !important;
    width: 34vw !important;
    max-width: 620px !important;
    vertical-align: top !important;
}

html body.cx-design-system .cx-notification-message-title {
    margin: 0 0 7px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    color: #294b68 !important;
}

html body.cx-design-system .cx-notification-message-body {
    max-height: 190px !important;
    overflow: auto !important;
    padding: 2px 9px 2px 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    scrollbar-gutter: stable !important;
}

html body.cx-design-system .cx-notification-message-body :is(h1,h2,h3,h4,h5,h6) {
    margin: 4px 0 8px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

html body.cx-design-system .cx-notification-message-body :is(p,ul,ol) {
    margin: 5px 0 !important;
}

html body.cx-design-system .cx-notification-message-body :is(ul,ol) {
    padding-left: 20px !important;
}

/* Data details keep the wider two-column reading surface. */
html body.cx-design-system .cx-data-log-toolbar-loading {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    color: #31536f !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

html body.cx-design-system .cx-data-log-popover-surface {
    width: min(760px, calc(100vw - 24px)) !important;
    max-width: min(760px, calc(100vw - 24px)) !important;
    max-height: min(72vh, 680px) !important;
    padding: 13px 15px !important;
}

html body.cx-design-system .cx-data-log-popover-row {
    min-height: 38px !important;
    padding: 8px 10px !important;
    grid-template-columns: minmax(190px, .40fr) minmax(0, .60fr) !important;
    gap: 16px !important;
    align-items: start !important;
}

html body.cx-design-system .cx-data-log-popover-row:nth-child(even) {
    background: #f8fbfd !important;
}

html body.cx-design-system .cx-data-log-popover-value {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

/* Mobile phone dialogs use the whole viewport instead of a floating desktop card. */
@media (max-width: 767.98px) {
    html body .mud-dialog-container {
        padding: 0 !important;
    }

    html body .mud-dialog-container > :is(
        .mud-dialog.cx-dialog-root,
        .mud-dialog.cx-dialog-v17,
        .mud-dialog.cx-device-config-dialog,
        .mud-dialog.m3-dialog
    ) {
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    html body .mud-dialog-container > :is(
        .mud-dialog.cx-dialog-root,
        .mud-dialog.cx-dialog-v17,
        .mud-dialog.cx-device-config-dialog,
        .mud-dialog.m3-dialog
    ) > .mud-dialog-content {
        min-height: 0 !important;
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    html body.cx-design-system .cx-notification-message-cell {
        min-width: 300px !important;
        width: auto !important;
        max-width: 100% !important;
    }

    html body.cx-design-system .cx-data-log-popover-surface {
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
    }

    html body.cx-design-system .cx-data-log-popover-row {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }
}

/* R18-289-1 QA CONTINUATION END */

/* R18-290-0 MOBILE NOTICE BEGIN */
@media (max-width: 767.98px) {
    html body .cx-ui-notice-card {
        width: calc(100vw - 16px) !important;
        margin-top: max(14px, env(safe-area-inset-top)) !important;
        border-radius: 20px !important;
    }

    html body .cx-ui-notice-header {
        padding: 16px 16px 6px !important;
        gap: 12px !important;
    }

    html body .cx-ui-notice-icon {
        width: 50px !important;
        height: 50px !important;
        flex-basis: 50px !important;
        border-radius: 16px !important;
    }

    html body .cx-ui-notice-header-copy h2 {
        font-size: 19px !important;
    }

    html body .cx-ui-notice-body {
        padding: 6px 16px 0 !important;
    }

    html body .cx-ui-notice-footer {
        padding: 16px !important;
    }

    html body .cx-ui-notice-button {
        width: 100% !important;
    }
}
/* R18-290-0 MOBILE NOTICE END */
/* R18-290-1 MOBILE NOTICE BEGIN */
@media (max-width: 767.98px) {
    html body .cx-ui-notice-card {
        width: calc(100vw - 16px) !important;
        margin-top: max(14px, env(safe-area-inset-top)) !important;
        border-radius: 20px !important;
    }

    html body .cx-ui-notice-header {
        padding: 16px 16px 6px !important;
    }

    html body .cx-ui-notice-body {
        padding: 6px 16px 0 !important;
    }

    html body .cx-ui-notice-footer {
        padding: 16px !important;
    }

    html body .cx-ui-notice-button {
        width: 100% !important;
    }
}
/* R18-290-1 MOBILE NOTICE END */

/* R18-291-0 CURRENT-SOURCE STABILITY BEGIN */

/* Keep wide list content inside the application shell. The horizontal
   scrollbar belongs to the table surface, not to the entire page. */
html body.cx-design-system .page,
html body.cx-design-system .page-main,
html body.cx-design-system .main-content.app-content,
html body.cx-design-system .side-app,
html body.cx-design-system .main-container.container-fluid,
html body.cx-design-system .conexgo-page-content {
    min-width: 0 !important;
    max-width: 100% !important;
}

html body.cx-design-system .page,
html body.cx-design-system .page-main,
html body.cx-design-system .main-content.app-content,
html body.cx-design-system .side-app,
html body.cx-design-system .conexgo-page-content {
    overflow-x: clip !important;
}

html body.cx-design-system .cx-paged-list,
html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-region,
html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-column,
html body.cx-design-system .cx-paged-list .conexgo-pagedlist-table-scroll {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-table-scroll {
    display: block !important;
    position: relative !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-inline: contain !important;
    scrollbar-gutter: stable !important;
    -webkit-overflow-scrolling: touch;
}

html body.cx-design-system
.cx-paged-list
.conexgo-pagedlist-table {
    max-width: none !important;
}

/* Keep icon/text spacing readable in shared table headers and row menus. */
html body.cx-design-system
.cx-table-column-header__copy {
    margin-left: 2px !important;
}

html body.cx-design-system
.cx-row-menu-icon {
    margin-right: 10px !important;
}

/* Dashboard card controls are structural controls and must never disappear
   while Masonry or Blazor is recalculating a card. */
html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-card-action,
html body.cx-design-system
.conexgo-dashboard-configuration-card
.conexgo-dashboard-card-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
}

html body.cx-design-system
#conexgoDashboardSmartGrid
.conexgo-dashboard-chevron,
html body.cx-design-system
.conexgo-dashboard-configuration-card
.conexgo-dashboard-chevron {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Rich notification messages keep plain-text line breaks while normalizing
   block-level HTML spacing to avoid giant empty areas. */
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box {
    min-height: 120px !important;
    max-height: min(360px, 42dvh) !important;
    white-space: pre-wrap !important;
    line-height: 1.5 !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box h1,
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box h2,
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box h3,
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box h4,
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box h5,
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box h6 {
    margin: 0 0 12px !important;
    line-height: 1.22 !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box p {
    margin: 0 0 10px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box ul,
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box ol {
    margin: 0 0 12px !important;
    padding-left: 24px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box li {
    margin: 0 0 5px !important;
}

html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box img,
html body.cx-design-system
.cx-notification-view-dialog
.notification-view-message-box table {
    max-width: 100% !important;
}

/* Registration uses the same current high-resolution brand asset as the
   modern sign-in experience. */
.cx-register-brand {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 22px;
}

.cx-register-brand__logo {
    width: min(300px, 82%);
    height: auto;
    max-height: 104px;
    display: block;
    object-fit: contain;
}

/* Smart responsive topbar: phones plus coarse-pointer tablets such as iPad
   landscape. JS toggles only the hidden/visible state. */
@media (max-width: 991.98px),
       (min-width: 768px) and (max-width: 1366px) and (pointer: coarse) {
    body.cx-r18149-smart-header-ready .cx-app-header,
    body.cx-r18149-smart-header-ready .app-header-modern {
        position: sticky !important;
        top: 0 !important;
        z-index: 1300 !important;
        transform: translate3d(0, 0, 0) !important;
        transition: transform .2s ease, box-shadow .2s ease !important;
        will-change: transform !important;
    }

    body.cx-r18149-smart-header-ready
    .cx-app-header.cx-r18149-header-hidden,
    body.cx-r18149-smart-header-ready
    .app-header-modern.cx-r18149-header-hidden {
        transform: translate3d(0, calc(-100% - 8px), 0) !important;
        pointer-events: none !important;
    }

    body.cx-r18149-smart-header-ready
    .cx-app-header.cx-r18149-header-visible,
    body.cx-r18149-smart-header-ready
    .app-header-modern.cx-r18149-header-visible,
    body.conexgo-mobile-sidebar-open .cx-app-header,
    body.conexgo-mobile-sidebar-open .app-header-modern {
        transform: translate3d(0, 0, 0) !important;
        pointer-events: auto !important;
    }
}

/* R18-291-0 CURRENT-SOURCE STABILITY END */
