  /* Infrastructure tab */
    .infra-layout { padding:24px; }
  .infra-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .infra-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; overflow:hidden; }
  .infra-card-header { padding:14px 20px; border-bottom:1px solid var(--border);
    display:flex; justify-content:space-between; align-items:center; }
  .infra-card-title { font-size:13px; font-weight:600; display:flex; align-items:center; gap:8px; }
  .infra-card-count { font-size:11px; background:var(--border); padding:2px 8px;
    border-radius:10px; color:var(--text); font-family:var(--font); }
  .infra-refresh { font-size:11px; padding:4px 10px; border-radius:6px;
    border:1px solid var(--border); background:transparent; color:var(--muted);
    cursor:pointer; transition:all 0.15s; }
  .infra-refresh:hover { border-color:var(--accent); color:var(--accent); }

  .trunk-item { padding:14px 20px; border-bottom:1px solid var(--border);
    display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; }
  .trunk-item:last-child { border-bottom:none; }
  .trunk-number { width:48px; height:48px; border-radius:10px; background:var(--info-bg-tint);
    display:flex; align-items:center; justify-content:center; font-size:13px;
    font-family:var(--font); font-weight:700; color:var(--accent); flex-shrink:0; }
  .trunk-number.static { background:var(--neutral-bg-tint); color:var(--muted); }
  .trunk-number.dynamic { background:var(--success-bg-tint); color:var(--green); }
  .trunk-info { min-width:0; }
  .trunk-name { font-size:13px; font-weight:600; margin-bottom:3px; white-space:nowrap;
    overflow:hidden; text-overflow:ellipsis; }
  .trunk-meta { font-size:11px; color:var(--muted); }
  .trunk-status { display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex-shrink:0; }
  .status-badge { font-size:10px; padding:3px 8px; border-radius:20px; font-weight:600; }
  /* All status pill text → 400-shade family for ≥4.5:1 on the tinted dark
     bg. Was --green #10b981 (~4.4:1) and --muted #94a3b8 (slate-400, ~5:1
     after the recent --muted lift). */
  .status-active  { background:var(--success-bg-tint); color:var(--success); }
  .status-static  { background:var(--neutral-bg-tint); color:var(--text-label); }
  .status-dynamic { background:var(--info-bg-tint);    color:var(--accent); }
  .trunk-sid { font-size:10px; color:var(--muted); font-family:var(--font); }

  .rule-item { padding:14px 20px; border-bottom:1px solid var(--border); }
  .rule-item:last-child { border-bottom:none; }
  .rule-name { font-size:13px; font-weight:600; margin-bottom:4px; }
  .rule-prefix { font-size:12px; font-family:var(--font); color:var(--accent); margin-bottom:4px; }
  .rule-meta { font-size:11px; color:var(--muted); display:flex; gap:12px; }
  .rule-linked { color:var(--green); font-size:10px; }

  .agent-config-item { padding:14px 20px; border-bottom:1px solid var(--border);
    display:grid; grid-template-columns:1fr auto; gap:12px; align-items:start; }
  .agent-config-item:last-child { border-bottom:none; }
  .agent-config-name { font-size:13px; font-weight:600; margin-bottom:3px; }
  .agent-config-campaign { font-size:11px; font-family:var(--font); color:var(--accent); margin-bottom:4px; }
  .agent-config-meta { font-size:11px; color:var(--muted); display:flex; gap:10px; flex-wrap:wrap; }
  .lang-badge { font-size:10px; padding:2px 6px; border-radius:4px;
    background:var(--info-bg-tint); color:var(--disp-voicemail); font-weight:600; }

