      .filter-tab {
        padding: 6px 16px; border-radius: var(--radius-md); border: 1px solid var(--border-default);
        background: var(--bg-primary); color: var(--text-secondary); cursor: pointer;
        font-family: var(--font-body); font-size: 0.8125rem; font-weight: 500;
        transition: all 150ms ease;
      }
      .filter-tab:hover { background: var(--bg-tertiary); color: var(--text-primary); }
      .filter-tab.active { background: var(--accent); color: #fff; border-color: var(--accent); }
      .filter-tab:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }

      .kpi-summary {
        display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md);
        margin-bottom: var(--space-lg);
      }
      .kpi-card {
        background: var(--bg-secondary); border: 1px solid var(--border-default);
        border-radius: var(--radius-md); padding: var(--space-md);
      }
      .kpi-card-label {
        font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.07em;
        text-transform: uppercase; color: var(--text-tertiary); margin-bottom: 4px;
      }
      .kpi-card-value {
        font-family: var(--font-number, var(--font-heading));
        font-size: 1.5rem; font-weight: 700; color: var(--text-primary);
      }
      .kpi-card.kpi-banned .kpi-card-value { color: var(--status-error, #dc2626); }
      .kpi-card.kpi-restricted .kpi-card-value { color: var(--status-warning, #d97706); }

      .search-bar {
        display: flex; gap: var(--space-sm); margin-bottom: var(--space-md);
        flex-wrap: wrap;
      }
      .search-bar input[type="search"] {
        flex: 1; min-width: 200px; padding: 6px 10px;
        border: 1px solid var(--border-default); border-radius: var(--radius-md);
        background: var(--bg-primary); color: var(--text-primary);
        font-family: var(--font-body); font-size: 0.875rem;
      }

      .status-badge {
        display: inline-block; padding: 2px 8px; border-radius: var(--radius-sm);
        font-size: 0.75rem; font-weight: 600;
      }
      .status-badge.active { background: rgba(22,163,74,0.12); color: #166534; }
      .status-badge.ready { background: rgba(22,163,74,0.12); color: #166534; }
      .status-badge.login_wait,
      .status-badge.mlx_wait { background: rgba(124,63,0,0.14); color: #7c3f00; }
      .status-badge.banned { background: rgba(220,38,38,0.12); color: #b91c1c; }
      .status-badge.restricted { background: rgba(124,63,0,0.14); color: #7c3f00; }

      .scheduling-badge {
        display: inline-block; padding: 1px 6px; border-radius: var(--radius-sm);
        font-size: 0.6875rem;
      }
      .scheduling-badge.yes { background: rgba(37,99,235,0.1); color: #2563eb; }
      .scheduling-badge.no { background: var(--bg-tertiary); color: var(--text-tertiary); }
      .mlx-profile-cell { min-width: 220px; }
      .mlx-profile-name {
        color: var(--text-primary); font-size: 0.8125rem; font-weight: 600;
        line-height: 1.35; max-width: 280px; overflow-wrap: anywhere;
      }
      .mlx-profile-id {
        color: var(--text-tertiary); font-family: var(--font-mono, monospace);
        font-size: 0.6875rem; line-height: 1.35; max-width: 280px;
        overflow-wrap: anywhere;
      }
      .mlx-profile-state {
        display: inline-block; padding: 1px 6px; border-radius: var(--radius-sm);
        font-size: 0.75rem; background: var(--bg-tertiary); color: var(--text-tertiary);
      }
      .mlx-profile-state.ready { background: rgba(22,163,74,0.12); color: #166534; }
      .mlx-profile-state.pending { background: rgba(37,99,235,0.10); color: #1d4ed8; }
      .mlx-profile-state.missing { background: rgba(124,63,0,0.14); color: #7c3f00; }
      .client-name-cell a {
        color: var(--text-primary); font-weight: 600;
      }
      .client-open-link {
        font-size: 0.75rem; padding: 2px 8px;
      }
      .table-note {
        color: var(--text-secondary); font-size: 0.8125rem;
      }

      /* ── extracted inline style attributes (B-1, CSP compliance) ── */
      .cl-1 { display: flex; gap: var(--space-xs); margin-bottom: var(--space-md); flex-wrap: wrap; }
      .cl-2 { flex-wrap: wrap; gap: var(--space-md); }
      .cl-3 { display: none; }
      .cl-4 { display: none; justify-content: center; gap: var(--space-sm); padding: var(--space-md); }
      .cl-5 { padding: 6px 12px; font-size: 0.875rem; color: var(--text-secondary); }

      /* ── Daily KPI columns (U-2 / U-4) ─────────────────────── */
      .col-kpi {
        text-align: right;
        font-variant-numeric: tabular-nums;
        min-width: 48px;
        width: 56px;
      }
      .kpi-num {
        font-variant-numeric: tabular-nums;
        font-weight: 600;
      }
      .kpi-num.zero {
        color: var(--text-tertiary);
        font-weight: 400;
      }
      .kpi-num.positive {
        color: var(--accent);
      }
      .kpi-num.inactive {
        color: var(--text-tertiary);
        opacity: 0.55;
      }

      /* ── Operational health (7-day success / miss visibility) ─── */
      .warmup-cell {
        min-width: 104px;
        white-space: nowrap;
      }
      .warmup-badge {
        display: inline-block;
        padding: 1px 6px;
        border-radius: var(--radius-sm);
        font-size: 0.6875rem;
        font-weight: 700;
      }
      .warmup-badge.warming {
        background: var(--status-warmup-bg);
        color: var(--status-warmup);
      }
      .warmup-badge.steady {
        background: var(--status-active-bg);
        color: var(--status-active);
      }
      .warmup-badge.scheduled {
        background: var(--bg-tertiary);
        color: var(--text-tertiary);
      }
      .warmup-meta {
        display: block;
        margin-top: 2px;
        color: var(--text-tertiary);
        font-size: 0.6875rem;
        font-variant-numeric: tabular-nums;
      }
      .action-health-cell {
        min-width: 148px;
        font-variant-numeric: tabular-nums;
      }
      .action-health-legend {
        margin-bottom: 2px;
        color: var(--text-tertiary);
        font-size: 0.625rem;
      }
      .action-health-line {
        display: grid;
        grid-template-columns: 42px repeat(3, 1fr);
        gap: 4px;
        align-items: center;
        font-size: 0.6875rem;
      }
      .action-health-label {
        color: var(--text-secondary);
      }
      .action-health-success {
        color: var(--status-active);
        font-weight: 700;
        text-align: right;
      }
      .action-health-failed,
      .action-health-skipped {
        color: var(--text-tertiary);
        text-align: right;
      }
      .action-health-line.warn .action-health-failed,
      .action-health-line.warn .action-health-skipped {
        color: var(--status-error);
        font-weight: 700;
      }
      .action-health-empty {
        color: var(--text-tertiary);
      }

      .dm2-queue-cell {
        min-width: 180px;
        font-variant-numeric: tabular-nums;
      }
      .dm2-metrics {
        display: grid;
        grid-template-columns: repeat(4, minmax(34px, 1fr));
        gap: 4px;
      }
      .dm2-metric {
        border-radius: var(--radius-sm);
        background: var(--bg-tertiary);
        color: var(--text-tertiary);
        padding: 2px 4px;
        text-align: center;
      }
      .dm2-metric-label {
        display: block;
        font-size: 0.625rem;
        line-height: 1.2;
      }
      .dm2-metric-value {
        display: block;
        font-size: 0.75rem;
        font-weight: 700;
      }
      .dm2-pending.active {
        background: rgba(37,99,235,0.10);
        color: #2563eb;
      }
      .dm2-approved.active {
        background: rgba(217,119,6,0.12);
        color: #b45309;
      }
      .dm2-sending.active {
        background: rgba(2,132,199,0.14);
        color: #0369a1;
      }
      .dm2-failed.active {
        background: rgba(220,38,38,0.12);
        color: #dc2626;
      }
      .dm2-meta {
        display: flex;
        gap: 6px;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 3px;
        color: var(--text-tertiary);
        font-size: 0.6875rem;
      }
      .dm2-retry {
        color: var(--status-warning, #d97706);
        font-weight: 700;
      }
      .dm2-detail-link {
        color: var(--accent);
        font-weight: 700;
      }
      .dm2-empty {
        color: var(--text-tertiary);
        font-size: 0.75rem;
      }

      /* ── Pause-today button (U-3) ──────────────────────────── */
      .actions-cell {
        white-space: nowrap;
        display: flex;
        gap: var(--space-xs);
        align-items: center;
      }
      .btn-pause-today {
        font-size: 0.75rem;
        padding: 2px 8px;
      }
      .btn-pause-today:disabled {
        opacity: 0.4;
        cursor: not-allowed;
      }

      /* sr-only caption used for screen-reader table description */
      .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }

      .clients-mobile-cards {
        display: none;
      }

      .client-mobile-empty {
        color: var(--text-secondary);
        padding: var(--space-lg);
        text-align: center;
      }

      .client-mobile-card {
        background: var(--bg-primary);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-lg);
        padding: var(--space-md);
        display: grid;
        gap: var(--space-md);
      }

      .client-mobile-head {
        display: grid;
        gap: var(--space-sm);
      }

      .client-mobile-name {
        color: var(--text-primary);
        font-weight: 700;
        font-size: 1rem;
        overflow-wrap: anywhere;
      }

      .client-mobile-badges {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-xs);
      }

      .client-mobile-kpis {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: var(--space-xs);
      }

      .client-mobile-metric {
        background: var(--bg-secondary);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-md);
        padding: var(--space-sm);
      }

      .client-mobile-metric span,
      .client-mobile-triplet-label,
      .client-mobile-last {
        color: var(--text-secondary);
        font-size: 0.75rem;
      }

      .client-mobile-metric strong,
      .client-mobile-triplet strong,
      .client-mobile-dm2 strong {
        display: block;
        color: var(--text-primary);
        font-variant-numeric: tabular-nums;
      }

      .client-mobile-health {
        display: grid;
        gap: var(--space-xs);
      }

      .client-mobile-triplet {
        display: grid;
        grid-template-columns: 42px repeat(3, 1fr);
        align-items: center;
        gap: var(--space-xs);
        padding: var(--space-xs) 0;
        border-top: 1px solid var(--border-subtle);
      }

      .client-mobile-triplet span:not(.client-mobile-triplet-label) {
        text-align: right;
      }

      .client-mobile-triplet small {
        color: var(--text-secondary);
        font-size: 0.625rem;
      }

      .client-mobile-triplet .is-bad strong,
      .client-mobile-dm2 .is-bad {
        color: var(--status-error);
      }

      .client-mobile-triplet .is-warn strong {
        color: var(--status-warmup);
      }

      .client-mobile-dm2 {
        display: flex;
        flex-wrap: wrap;
        gap: var(--space-xs);
        align-items: center;
        padding: var(--space-sm);
        border-radius: var(--radius-md);
        background: #f8fafc;
      }

      .client-mobile-dm2 > span {
        color: var(--text-secondary);
        font-size: 0.75rem;
        font-weight: 700;
        margin-right: auto;
      }

      .client-mobile-dm2 strong {
        background: var(--bg-primary);
        border: 1px solid var(--border-subtle);
        border-radius: var(--radius-sm);
        padding: 2px 6px;
        font-size: 0.75rem;
      }

      .client-mobile-actions {
        display: flex;
        gap: var(--space-xs);
        align-items: center;
        flex-wrap: wrap;
      }

      .client-mobile-last {
        margin-right: auto;
      }

      .client-mobile-open {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
      }

      @media (max-width: 720px) {
        .data-table-scroll {
          display: none;
        }

        .clients-mobile-cards {
          display: grid;
          gap: var(--space-md);
          padding: var(--space-md);
        }

        .table-toolbar-actions .table-note {
          font-size: 0.75rem;
          line-height: 1.5;
        }
      }
