/* CMZPAY 4.5.24: shared phone and tablet geometry.
 * Colours live in theme-consistency.css. Keep the established 860px drawer
 * breakpoint, mobile card visibility, native dialogs and hidden form state.
 */
.cmz-table-scroll { min-width: 0; max-width: 100%; }
.cmz-mobile-tools { display: none; }
.cmz-tool-label, .cmz-sidebar-close { display: none; }
@media (max-width: 860px) {
  html { scroll-padding-top: calc(76px + env(safe-area-inset-top, 0px)); }
  html body.admin-body.prodxs-admin-ui {
    --cmz-mobile-header-height: calc(64px + env(safe-area-inset-top, 0px));
    font-size: 14px !important;
    line-height: 1.6;
  }
  html body.prodxs-admin-ui.cmz-nav-open { overflow: hidden; }
  html body.prodxs-admin-ui .mobile-topbar {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: var(--cmz-mobile-header-height) !important;
    min-height: var(--cmz-mobile-header-height) !important;
    padding: calc(10px + env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-right, 0px)) 10px max(8px, env(safe-area-inset-left, 0px)) !important;
    box-sizing: border-box;
  }
  html body.prodxs-admin-ui .mobile-topbar-brand {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    white-space: nowrap;
    font-size: 14px !important;
    letter-spacing: -.3px;
  }
  html body.prodxs-admin-ui .mobile-topbar-brand > i { font-size: 13px; }
  html body.prodxs-admin-ui :is(.mobile-menu-btn, .mobile-topbar [data-cmz-theme-toggle], .admin-topbar-simple [data-cmz-theme-toggle]) {
    flex: 0 0 44px;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 10px !important;
    touch-action: manipulation;
  }
  html body.prodxs-admin-ui .mobile-topbar-notify {
    display: flex !important;
    flex: 0 0 auto;
    gap: 5px !important;
    margin: 0 !important;
  }
  html body.prodxs-admin-ui .mobile-notify-link {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 7px !important;
    gap: 4px !important;
    font-size: 12px !important;
  }
  html body.prodxs-admin-ui .mobile-notify-link > span { display: inline !important; }
  html body.prodxs-admin-ui .mobile-notify-link > i { font-size: 12px !important; }
  html body.prodxs-admin-ui .admin-content-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-top: var(--cmz-mobile-header-height) !important;
  }
  /* Keep the original row as a fallback until its existing controls have moved
     into the drawer. Successful relocation leaves one mobile toolbar. */
  html body.prodxs-admin-ui .admin-desktop-topbar {
    position: static !important;
    width: 100% !important;
    min-height: 56px !important;
    height: auto !important;
    padding: 6px 12px !important;
    z-index: auto !important;
  }
  /* Theme lives with the other account tools in the drawer, including when
     an older cached mobile header still contains its own theme button. */
  html body.prodxs-admin-ui .mobile-topbar :is([data-cmz-theme-toggle], .cmz-theme-toggle) { display: none !important; }
  html body.prodxs-admin-ui.cmz-mobile-tools-ready .admin-desktop-topbar { display: none !important; }
  html body.prodxs-admin-ui .cmz-mobile-tools:not([hidden]) {
    display: block;
    flex: 0 0 auto;
    min-width: 0;
    padding: 12px 16px;
    border-bottom: 1px solid var(--cmz-ui-nav-line, #32445b);
    background: var(--cmz-ui-nav, #142438);
  }
  html body.prodxs-admin-ui .prodxs-topbar-tools {
    width: 100%;
    min-width: 0;
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px !important;
  }
  html body.prodxs-admin-ui .prodxs-topbar-tools .admin-top-status {
    display: inline !important;
    flex: 1 1 120px;
    min-width: 0;
    font-size: 12px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  html body.prodxs-admin-ui :is(.admin-top-action, .prodxs-admin-user) {
    min-width: 44px !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px !important;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui .cmz-mobile-tools .prodxs-topbar-tools {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui[data-cmz-page] .cmz-mobile-tools .admin-top-status {
    grid-column: 1 / -1;
    color: var(--cmz-ui-nav-muted, #aabbd0) !important;
    font-size: 12px !important;
    line-height: 1.6;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui[data-cmz-page] .cmz-mobile-tools :is(.admin-top-action, .prodxs-admin-user) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 8px !important;
    box-sizing: border-box;
    gap: 8px;
    margin: 0 !important;
    border: 1px solid var(--cmz-ui-nav-line, #32445b) !important;
    border-radius: 10px !important;
    background: var(--cmz-ui-nav-hover, #23364d) !important;
    color: var(--cmz-ui-nav-text, #e4edf7) !important;
    box-shadow: none !important;
    text-decoration: none;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui[data-cmz-page] .cmz-mobile-tools .admin-top-action i { color: inherit !important; }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui[data-cmz-page] .cmz-mobile-tools :is(.admin-top-action, .prodxs-admin-user):is(:hover, :focus-visible) {
    background: var(--cmz-ui-nav-active, #304967) !important;
    color: var(--cmz-ui-nav-text, #e4edf7) !important;
    border-color: var(--cmz-ui-nav-accent, #94b9e6) !important;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui .cmz-mobile-tools #m3-sound-toggle { grid-column: 1; }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui .cmz-mobile-tools #cmzThemeToggle { grid-column: 2; }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui .cmz-mobile-tools .cmz-tool-label {
    display: inline !important;
    min-width: 0;
    font-size: 12px !important;
    font-weight: 500;
    line-height: 1.5;
    white-space: normal;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui[data-cmz-page] .cmz-mobile-tools .prodxs-admin-user {
    grid-column: 1 / -1;
    justify-content: flex-start;
    overflow: hidden;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui[data-cmz-page] .cmz-mobile-tools .prodxs-admin-user span {
    display: block !important;
    color: var(--cmz-ui-nav-text, #e4edf7) !important;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px !important;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui[data-cmz-page] .cmz-mobile-tools .prodxs-admin-user > i {
    color: var(--cmz-ui-nav-accent, #94b9e6) !important;
  }
  html body.prodxs-admin-ui .cmz-mobile-tools #m3-sound-toggle {
    background: var(--cmz-ui-nav-hover, #23364d) !important;
    color: var(--cmz-ui-nav-muted, #aabbd0) !important;
    border-color: var(--cmz-ui-nav-line, #32445b) !important;
    opacity: 1 !important;
    box-shadow: none !important;
  }
  html body.prodxs-admin-ui .cmz-mobile-tools #m3-sound-toggle[aria-pressed='true'] {
    background: var(--cmz-ui-nav-active, #304967) !important;
    color: var(--cmz-ui-nav-accent, #94b9e6) !important;
    border-color: var(--cmz-ui-nav-accent, #94b9e6) !important;
  }
  html body.admin-body.prodxs-admin-ui.cmz-professional-ui .cmz-mobile-tools :is(.admin-top-action, .prodxs-admin-user):focus-visible {
    outline: 2px solid var(--cmz-ui-nav-accent, #94b9e6);
    outline-offset: 2px;
  }
  html body.prodxs-admin-ui .admin-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px max(12px, env(safe-area-inset-right, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)) !important;
    margin: 0 !important;
  }
  html body.prodxs-admin-ui .admin-main .admin-main { padding: 0 !important; min-height: 0 !important; }
  html body.prodxs-admin-ui .admin-main > * { min-width: 0; max-width: 100%; }
  html body.prodxs-admin-ui .admin-main h1 { margin: 0 0 16px !important; font-size: 22px !important; line-height: 1.5 !important; overflow-wrap: anywhere; }
  html body.prodxs-admin-ui .admin-main h2 { font-size: 18px !important; line-height: 1.5 !important; }
  html body.prodxs-admin-ui :is(.card, .panel, .settings-card, .form-card, .member-search-prodxs) {
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 16px !important;
    box-sizing: border-box;
  }
  html body.prodxs-admin-ui :is(.page-description, .form-hint, .form-error, .form-success, .notice-banner, .provider-warning, .integration-note) { overflow-wrap: anywhere; line-height: 1.65 !important; }
  html body.prodxs-admin-ui .admin-sidebar.cmz-navigation {
    width: min(300px, calc(100vw - 44px)) !important;
    height: 100vh !important;
    height: 100dvh !important;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    min-height: 0 !important;
    overflow: hidden;
  }
  html body.prodxs-admin-ui .cmz-navigation .sidebar-brand { display: flex; align-items: center; flex: 0 0 64px; min-height: 64px; padding: 10px 16px !important; box-sizing: border-box; }
  html body.prodxs-admin-ui .cmz-navigation .cmz-sidebar-close {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 1px solid var(--cmz-ui-nav-line, #32445b) !important;
    border-radius: 10px;
    background: var(--cmz-ui-nav-hover, #23364d) !important;
    color: var(--cmz-ui-nav-text, #e4edf7) !important;
    cursor: pointer;
  }
  html body.prodxs-admin-ui .cmz-navigation .cmz-sidebar-close:focus-visible { outline: 2px solid var(--cmz-ui-nav-accent, #94b9e6); outline-offset: 2px; }
  html body.prodxs-admin-ui .cmz-navigation .sidebar-nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  html body.prodxs-admin-ui .cmz-navigation .sidebar-user { flex: 0 0 auto; padding: 12px 16px !important; }
  html body.prodxs-admin-ui .cmz-navigation :is(.sidebar-submenu a, .sidebar-menu-toggle, .sidebar-nav > a, .sidebar-logout) {
    min-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 14px !important;
    box-sizing: border-box;
  }
  html body.prodxs-admin-ui .cmz-navigation .sidebar-logout { display: flex !important; align-items: center; }

  /* Native control text stays at 16px to avoid focus zoom on phones. */
  html body.prodxs-admin-ui :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']), select:not([aria-hidden='true']), textarea) {
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    scroll-margin-top: calc(80px + env(safe-area-inset-top, 0px));
  }
  html body.prodxs-admin-ui input:is([type='date'], [type='datetime-local'], [type='time']) {
    height: 46px !important;
    width: 100% !important;
    padding: 8px !important;
    text-align: left !important;
  }
  html body.prodxs-admin-ui input:is([type='date'], [type='datetime-local'])::-webkit-date-and-time-value { text-align: left !important; }
  html body.prodxs-admin-ui textarea { height: auto !important; min-height: 96px !important; resize: vertical; }
  html body.prodxs-admin-ui label { line-height: 1.6; }
  html body.prodxs-admin-ui :is(.checkbox-row, .integration-options label, .integration-switch, .telegram-master-switch) { min-height: 44px; padding-top: 8px; padding-bottom: 8px; }
  html body.prodxs-admin-ui :is(button, .btn-primary, .btn-secondary, .btn-success, .btn-danger, .filter-tab, .slip-button, .pagination a, .pagination button, .audit-pagination a, .downline-pagination a, .member-pagination a) {
    min-height: 44px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    touch-action: manipulation;
    box-sizing: border-box;
  }
  html body.prodxs-admin-ui :is(.btn-primary, .btn-secondary, .btn-success, .btn-danger, .filter-tab, .slip-button) { padding: 10px 12px !important; white-space: normal !important; }
  html body.prodxs-admin-ui a:is(.btn-primary, .btn-secondary, .btn-success, .btn-danger) { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
  html body.prodxs-admin-ui :is(.pagination, .audit-pagination, .downline-pagination, .member-pagination, .member-list-toolbar, .member-table-toolbar) { flex-wrap: wrap !important; gap: 8px !important; }
  html body.prodxs-admin-ui :is(.pagination a, .pagination button, .audit-pagination a, .downline-pagination a, .member-pagination a) { min-width: 44px; padding: 10px 12px !important; }
  html body.prodxs-admin-ui :is(.page-heading-row, .page-head, .smart-slip-toolbar, .integration-head, .telegram-settings-head, .channel-card-head, .ref-card-head, .agents-card-head) { flex-wrap: wrap !important; gap: 12px !important; }
  html body.prodxs-admin-ui :is(.form-grid-2, .form-grid-two, .form-grid-two-col, .profile-grid, .integration-grid, .provider-fields, .settings-grid, .agents-form-grid, .member-create-grid, .finance-layout, .provider-manual-grid, .telegram-channel-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
    gap: 14px !important;
  }
  html body.prodxs-admin-ui :is(.form-grid-2, .form-grid-two, .profile-grid, .integration-grid, .provider-fields, .settings-grid, .agents-form-grid, .member-create-grid) > * { min-width: 0; max-width: 100%; }
  html body.prodxs-admin-ui :is(.form-grid-full, .form-grid-wide, .member-create-api-note, .member-create-actions, .agents-field.full) { grid-column: 1 / -1 !important; }
  html body.prodxs-admin-ui :is(.integration-actions, .provider-actions, .telegram-actions, .smart-slip-actions, .channel-head-actions) { width: 100%; flex-wrap: wrap; gap: 8px; }
  html body.prodxs-admin-ui :is(.integration-actions, .provider-actions, .telegram-actions, .smart-slip-actions) > :is(button, a) { flex: 1 1 150px; margin-top: 0 !important; }
  html body.prodxs-admin-ui .search-form { min-width: 0 !important; width: 100% !important; max-width: none !important; gap: 8px !important; }
  html body.prodxs-admin-ui .search-form > :is(input, select) { min-width: 0 !important; }
  html body.prodxs-admin-ui .member-search-prodxs .search-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 12px !important;
  }
  html body.prodxs-admin-ui .member-search-prodxs :is(.search-field:first-child, .search-submit) { grid-column: 1 / -1 !important; }
  html body.prodxs-admin-ui .member-search-prodxs .search-field { width: 100% !important; margin: 0 !important; }
  html body.prodxs-admin-ui .member-search-prodxs .search-field > span { font-size: 13px !important; }
  html body.prodxs-admin-ui .member-search-prodxs .search-submit { width: 100% !important; }
  html body.prodxs-admin-ui :is(.member-mobile-actions, .txn-card-actions) { gap: 10px !important; }
  html body.prodxs-admin-ui :is(.member-mobile-card, .txn-card, .slip-log-mobile-card, .statement-mobile-card, .log-mobile-card) { padding: 16px !important; min-width: 0; }
  html body.prodxs-admin-ui :is(.member-mobile-head, .txn-card-top) { flex-wrap: wrap; }
  html body.prodxs-admin-ui :is(.member-mobile-grid, .txn-card-row, .slip-log-mobile-grid) { font-size: 14px !important; line-height: 1.6 !important; }
  html body.prodxs-admin-ui :is(.member-mobile-grid strong, .txn-card-row strong, .txn-bank-account, .slip-log-mobile-grid strong) { min-width: 0; overflow-wrap: anywhere; }
  html body.prodxs-admin-ui .member-mobile-grid span { flex-basis: 88px !important; font-size: 13px !important; }
  html body.prodxs-admin-ui .member-mobile-balance { font-size: 19px !important; }
  html body.prodxs-admin-ui .member-mobile-group-form select { min-width: 0 !important; }

  /* Dashboard cards can grow for large balances and long Thai descriptions. */
  html body.prodxs-admin-ui .dashboard-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    gap: 10px !important;
  }
  html body.prodxs-admin-ui .dashboard-card-grid .icon-stat-card {
    min-width: 0 !important;
    min-height: 130px !important;
    height: auto !important;
    max-height: none !important;
    padding: 14px !important;
    gap: 6px !important;
  }
  html body.prodxs-admin-ui .dashboard-card-grid :is(.icon-stat-label, .icon-stat-desc) {
    font-size: 13px !important;
    line-height: 1.6 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
  }
  html body.prodxs-admin-ui .dashboard-card-grid .icon-stat-label { padding-right: 22px !important; }
  html body.prodxs-admin-ui .dashboard-card-grid .icon-stat-desc { display: block !important; }
  html body.prodxs-admin-ui .dashboard-card-grid .icon-stat-value { font-size: clamp(18px, 4.6vw, 26px) !important; line-height: 1.35 !important; height: auto !important; overflow-wrap: anywhere; white-space: normal !important; }
  html body.prodxs-admin-ui .dashboard-card-grid .stat-icon { top: 14px !important; right: 12px !important; font-size: 18px !important; }
  html body.prodxs-admin-ui :is(.dash-grid, .cmz-ranking-grid) { grid-template-columns: minmax(0, 1fr) !important; }
  html body.prodxs-admin-ui .dashboard-range-toolbar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 16px !important;
    overflow: visible !important;
  }
  html body.prodxs-admin-ui .dashboard-range-toolbar :is(.dashboard-range-title, .dashboard-range-current, .btn-primary) { grid-column: 1 / -1 !important; width: 100% !important; min-width: 0 !important; }
  html body.prodxs-admin-ui .dashboard-range-toolbar .chart-range-field { min-width: 0 !important; width: 100% !important; }
  html body.prodxs-admin-ui .dashboard-range-toolbar :is(label, .dashboard-range-current, .dashboard-range-title span) { font-size: 13px !important; line-height: 1.6 !important; }
  html body.prodxs-admin-ui .summary-bar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  html body.prodxs-admin-ui .summary-box { min-width: 0 !important; padding: 16px 12px !important; }
  html body.prodxs-admin-ui .summary-box .summary-value { font-size: clamp(20px, 5vw, 28px) !important; overflow-wrap: anywhere; }
  html body.prodxs-admin-ui .summary-range { grid-column: 1 / -1 !important; padding: 16px !important; overflow: visible !important; }
  html body.prodxs-admin-ui .summary-range > div { display: grid !important; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) !important; gap: 10px 6px !important; }
  html body.prodxs-admin-ui .summary-range > div > input:first-child { grid-column: 1; }
  html body.prodxs-admin-ui .summary-range > div > input:nth-of-type(2) { grid-column: 3; }
  html body.prodxs-admin-ui .summary-range > div > button { grid-column: 1 / -1 !important; width: 100% !important; margin: 0 !important; }
  html body.prodxs-admin-ui .summary-range > div > label { grid-column: 1 !important; margin: 0 !important; }
  html body.prodxs-admin-ui .summary-range > div > select { grid-column: 2 / 4 !important; justify-self: stretch !important; width: 100% !important; margin: 0 !important; }
  html body.prodxs-admin-ui .summary-range > div > select + span { grid-column: 2 / 4 !important; margin: 0 !important; font-size: 13px !important; }
  html body.prodxs-admin-ui .filter-tabs > div:first-child { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  html body.prodxs-admin-ui .filter-tabs .filter-tab { font-size: 14px !important; min-height: 44px !important; padding: 10px 8px !important; }
  html body.prodxs-admin-ui .txn-toolbar-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  html body.prodxs-admin-ui .txn-toolbar-actions :is(.txn-refresh-btn, #toggleTopupBtn) { font-size: 14px !important; min-height: 44px !important; padding: 10px !important; }
  html body.prodxs-admin-ui .txn-auto-refresh { font-size: 12px !important; line-height: 1.6 !important; padding: 8px !important; }
  html body.prodxs-admin-ui :is(.statement-filter-card, .slip-log-filter) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; overflow: visible !important; }
  html body.prodxs-admin-ui :is(.statement-filter-card, .slip-log-filter) > div { min-width: 0 !important; width: 100% !important; }
  html body.prodxs-admin-ui :is(.statement-filter-card, .slip-log-filter) > button { grid-column: 1 / -1 !important; width: 100% !important; }

  /* Wide ledgers stay native tables in their own scrolling regions. */
  html body.prodxs-admin-ui :is(.cmz-table-scroll, .table-wrap, .table-scroll, .table-responsive, .transactions-table-wrap, .statement-table-wrap, .bank-table-wrap, .agents-table-wrap, .ref-table-wrap, .wallet-table-wrap, .wallet-history-table-wrap, .blacklist-scroll, .px-table-wrap, .wl-table-wrap, .cmz-ranking-table-wrapper, .cmz-chart-data-wrap) {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  html body.prodxs-admin-ui .cmz-table-scroll > table { display: table !important; min-width: 640px; width: 100%; }
  html body.prodxs-admin-ui .admin-main :is(.card, .panel):has(> table:not(.downline-table)) { overflow-x: auto !important; }
  html body.prodxs-admin-ui .admin-main :is(.card, .panel) > table:not(.downline-table) { display: table !important; }
  html body.prodxs-admin-ui :is(.ref-table, .agents-table, .wallet-history-table, .wallet-table, .blacklist-member-table, .wl-table, .px-auto-table) { min-width: 720px !important; }
  html body.prodxs-admin-ui .bank-accounts-table { min-width: 0 !important; }
  html body.prodxs-admin-ui :is(.bank-accounts-table, .ref-table, .agents-table, .wallet-history-table, .wallet-table, .cmz-table-scroll > table) :is(th, td) { font-size: 14px !important; padding: 12px !important; line-height: 1.6 !important; }
  html body.prodxs-admin-ui .smart-slip-frame-card { min-height: 0 !important; }
  html body.prodxs-admin-ui .smart-slip-frame { height: max(480px, calc(100dvh - 140px)) !important; min-height: 480px !important; max-width: 100% !important; }

  /* Native dialogs are never forced open. Only their internal layouts change. */
  html body.prodxs-admin-ui dialog {
    min-width: 0 !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box;
  }
  html body.prodxs-admin-ui :is(.member-create-dialog, .cmz-modal-dialog, .blacklist-modal__panel, .m3-slip-modal-dialog, .cmz-slip-modal__dialog) {
    width: min(680px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    overflow-y: auto !important;
    min-height: 0 !important;
  }
  html body.prodxs-admin-ui :is(.member-create-head, .cmz-modal-header) { padding: 12px 14px !important; gap: 10px; }
  html body.prodxs-admin-ui .cmz-modal-form.polished-form { max-height: none !important; min-height: 0 !important; padding: 16px !important; }
  html body.prodxs-admin-ui .polished-form .cmz-modal-footer { position: static !important; margin: 16px -16px -16px !important; padding: 12px 16px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  html body.prodxs-admin-ui :is(.member-create-grid, .member-info-body, .member-status-body, .member-partner-body) { padding: 16px !important; }
  html body.prodxs-admin-ui :is(.member-create-actions, .member-status-actions, .member-partner-actions) { flex-wrap: wrap !important; gap: 10px !important; }
  html body.prodxs-admin-ui :is(.credit-adjust-close, .member-profile-close, .member-info-close, .member-status-close, .member-partner-close, .member-create-close, .cmz-modal-close, .txn-member-close, .m3-slip-modal-close, .cmz-slip-modal__close) {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    font-size: 24px !important;
  }
  html body.cmz-desktop-standard[data-cmz-page='members'] :is(#editMemberDialog, #creditAdjustDialog) {
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
  }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog { width: calc(100vw - 16px) !important; height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-form { grid-template-rows: 60px minmax(0, 1fr) auto !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-head { grid-template-columns: minmax(0, 1fr) 44px !important; min-height: 60px !important; height: 60px !important; padding: 0 12px !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-layout { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto minmax(0, 1fr) !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-nav { flex-direction: row !important; height: auto !important; padding: 8px !important; overflow-x: auto !important; overflow-y: hidden !important; border-right: 0 !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-tab { min-height: 44px !important; min-width: max-content !important; width: auto !important; padding: 10px 12px !important; font-size: 14px !important; white-space: nowrap !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-content { padding: 16px 12px !important; scrollbar-gutter: auto; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-actions { min-height: 68px !important; height: auto !important; padding: 12px !important; flex-wrap: wrap !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] :is(#editMemberDialog, #creditAdjustDialog) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']), select, textarea) { font-size: 16px !important; min-height: 44px !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] :is(#editMemberDialog, #creditAdjustDialog) :is(.member-profile-actions button, .member-credit-actions button, .credit-adjust-actions button) { min-height: 44px !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #creditAdjustDialog { width: min(520px, calc(100vw - 16px)) !important; height: fit-content !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #creditAdjustDialog .credit-adjust-form { max-height: calc(100dvh - 18px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #creditAdjustDialog :is(.credit-adjust-body, .credit-adjust-actions) { padding: 14px !important; }
  html body.cmz-desktop-standard[data-cmz-page='members'] #creditAdjustDialog .credit-adjust-actions { gap: 10px !important; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-dialog { width: calc(100vw - 16px) !important; height: calc(100dvh - 16px) !important; max-width: calc(100vw - 16px) !important; max-height: calc(100dvh - 16px) !important; border-radius: 10px !important; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-head { grid-template-columns: minmax(0, 1fr) 44px !important; min-height: 60px !important; height: auto !important; padding: 8px 12px !important; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-layout { display: flex !important; flex-direction: column !important; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-nav { flex: 0 0 auto !important; flex-direction: row !important; overflow-x: auto !important; padding: 8px !important; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-tab { flex: 0 0 auto !important; min-height: 44px !important; height: auto !important; white-space: nowrap !important; padding: 10px 12px !important; }
  html body.prodxs-admin-ui #txnMemberModal :is(.txn-member-content, .txn-member-content.txn-balance-fit) { min-width: 0 !important; min-height: 0 !important; height: auto !important; padding: 16px 12px !important; overflow: auto !important; overscroll-behavior: contain; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-form-grid { grid-template-columns: minmax(0, 1fr) !important; }
  html body.prodxs-admin-ui #txnMemberModal .txn-personal-card { flex-wrap: wrap; padding: 14px !important; }
  html body.prodxs-admin-ui #txnMemberModal :is(.txn-personal-lines, .txn-member-other) { width: 100%; min-width: 0; }
  html body.prodxs-admin-ui #txnMemberModal :is(.txn-personal-lines, .txn-member-other) > div { grid-template-columns: 100px minmax(0, 1fr) !important; overflow-wrap: anywhere; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-content.txn-balance-fit .txn-member-pane[data-txn-pane='balance'] { height: auto !important; overflow: visible !important; }
  html body.prodxs-admin-ui :is(#editMemberDialog, #txnMemberModal) :is(.member-cash-history-wrap, .member-balance-history-wrap) { max-width: 100% !important; overflow: auto !important; }
  html body.prodxs-admin-ui :is(#editMemberDialog, #txnMemberModal) :is(.member-cash-history-table, .member-balance-history-table, .txn-member-table) { min-width: 680px !important; height: auto !important; table-layout: auto !important; }
  html body.prodxs-admin-ui #txnMemberModal .txn-member-table :is(th, td) { display: table-cell !important; width: auto !important; max-height: none !important; font-size: 14px !important; padding: 10px !important; line-height: 1.6 !important; }
  html body.prodxs-admin-ui #editMemberDialog .member-profile-summary { flex-wrap: wrap; gap: 14px !important; }
  html body.prodxs-admin-ui #editMemberDialog .member-profile-summary-lines { min-width: 0 !important; max-width: 100% !important; }
  html body.prodxs-admin-ui #editMemberDialog .member-profile-summary-lines strong { overflow-wrap: anywhere; }
  html body.prodxs-admin-ui :is(.wallet-history-pager a, .wallet-history-pager span, .wallet-history-back) { min-height: 44px !important; min-width: 44px !important; font-size: 14px !important; }
  html body.prodxs-admin-ui .wallet-history-pager { position: static !important; flex-wrap: wrap; }

  html body.prodxs-admin-ui.cmz-auth-page .admin-topbar-simple { padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 10px !important; }
  html body.prodxs-admin-ui.cmz-auth-page:not(.has-sidebar) .admin-content-wrap { padding-top: 0 !important; }
  html body.prodxs-admin-ui.cmz-auth-page:not(.has-sidebar) .admin-main { min-height: calc(100dvh - 66px) !important; padding-top: 20px !important; align-items: flex-start !important; }
  html body.prodxs-admin-ui.cmz-auth-page .cmz-login-layout { grid-template-columns: minmax(0, 1fr) !important; width: 100%; max-width: 440px; }
  html body.prodxs-admin-ui.cmz-auth-page .cmz-login-brand { padding: 24px !important; }
  html body.prodxs-admin-ui.cmz-auth-page .cmz-login-mark { margin-bottom: 12px !important; }
  html body.prodxs-admin-ui.cmz-auth-page:not(.has-sidebar) .auth-box { padding: 24px 20px !important; }
  html body.prodxs-admin-ui.cmz-auth-page .auth-box input { font-size: 16px !important; }
  html body.prodxs-admin-ui [hidden] { display: none !important; }
}

@media (min-width: 761px) and (max-width: 860px) {
  html body.cmz-desktop-standard[data-cmz-page='members'] #editMemberDialog .member-profile-head,
  html body.prodxs-admin-ui #txnMemberModal .txn-member-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px !important; }
}

@media (max-width: 700px) {
  /* Wallet uses its existing labelled cards at this breakpoint. */
  html body.prodxs-admin-ui .wallet-page .wallet-table { min-width: 0 !important; }
  html body.prodxs-admin-ui .wallet-page .wallet-table tbody td { grid-template-columns: 88px minmax(0, 1fr) !important; }
  html body.prodxs-admin-ui .wallet-page .wallet-actions { min-width: 0 !important; }
  html body.prodxs-admin-ui .wallet-page .wallet-actions a { font-size: 14px !important; min-height: 44px !important; }
  html body.prodxs-admin-ui #editMemberDialog :is(.member-profile-fields, .member-edit-grid, .member-profile-metrics) { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Give date controls their own row on narrow phones, including iPhone SE. */
@media (max-width: 430px) {
  html body.prodxs-admin-ui .mobile-topbar-brand { font-size: 14px !important; }
  html body.prodxs-admin-ui .mobile-topbar-brand > i { display: none; }
  html body.prodxs-admin-ui .mobile-topbar { gap: 4px !important; }
  html body.prodxs-admin-ui .mobile-notify-link { padding: 0 5px !important; }
  html body.prodxs-admin-ui .dashboard-range-toolbar { grid-template-columns: minmax(0, 1fr) !important; }
  html body.prodxs-admin-ui .summary-range > div { grid-template-columns: minmax(0, 1fr) !important; }
  html body.prodxs-admin-ui .summary-range > div > :is(input, span, button, select, label) { grid-column: 1 !important; justify-self: stretch !important; width: 100% !important; margin: 0 !important; }
  html body.prodxs-admin-ui .summary-range > div > span:first-of-type { justify-content: flex-start !important; }
  html body.prodxs-admin-ui .member-search-prodxs .search-form { grid-template-columns: minmax(0, 1fr) !important; }
  html body.prodxs-admin-ui :is(.statement-filter-card, .slip-log-filter) { grid-template-columns: minmax(0, 1fr) !important; }
  html body.prodxs-admin-ui :is(.statement-filter-card, .slip-log-filter) > * { grid-column: 1 !important; }
  html body.prodxs-admin-ui :is(.wallet-stats, .ref-stats, .downline-summary-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.prodxs-admin-ui .wallet-page .wallet-stat.wallet-flow .stat-value { white-space: normal !important; overflow-wrap: anywhere; }
  html body.prodxs-admin-ui :is(.member-info-grid, .member-profile-summary-lines > div, .member-personal-grid) { grid-template-columns: minmax(0, 1fr) !important; }
}

/* At tablet widths the existing sidebar stays visible; dense grids reflow. */
@media (min-width: 861px) and (max-width: 1023px) {
  html body.prodxs-admin-ui.cmz-desktop-standard .dashboard-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.prodxs-admin-ui.cmz-desktop-standard .dashboard-range-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.prodxs-admin-ui.cmz-desktop-standard .dashboard-range-title { grid-column: 1 / -1 !important; }
  html body.prodxs-admin-ui.cmz-desktop-standard .summary-bar { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body.prodxs-admin-ui.cmz-desktop-standard .summary-range { grid-column: 1 / -1 !important; }
  html body.prodxs-admin-ui.cmz-desktop-standard .summary-range > div { display: flex !important; flex-wrap: wrap; }
  html body.prodxs-admin-ui.cmz-desktop-standard .summary-range input[type='date'] { width: calc(50% - 30px) !important; }
  html body.prodxs-admin-ui.cmz-desktop-standard[data-cmz-page='settings'] .admin-main { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (prefers-reduced-motion: reduce) {
  html body.prodxs-admin-ui :is(.admin-sidebar, .sidebar-nav a, .sidebar-menu-arrow) { transition: none !important; }
}
