/* ── Active filters bar ── */
.active-filters-bar{display:none;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.75rem;padding:.5rem .85rem;background:rgba(0,169,153,.06);border:1px solid rgba(0,169,153,.22);border-radius:var(--core-radius-sm)}
.af-label{font-size:.7rem;font-weight:700;color:var(--core-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-right:.1rem;white-space:nowrap}
.af-tag{display:inline-flex;align-items:center;gap:.25rem;background:rgba(0,169,153,.13);border:1px solid rgba(0,169,153,.28);color:var(--core-teal);font-size:.72rem;font-weight:700;padding:.15rem .5rem .15rem .6rem;border-radius:999px}
.af-tag-x{background:none;border:none;cursor:pointer;color:var(--core-teal);font-size:.8rem;padding:0 0 0 .1rem;line-height:1;font-family:var(--core-font-sans);opacity:.7;transition:opacity .1s}
.af-tag-x:hover{opacity:1}
.btn-clear{background:none;border:1px solid var(--core-border);border-radius:var(--core-radius-sm);padding:.55rem 1rem;font-size:.82rem;font-weight:700;font-family:var(--core-font-sans);color:var(--core-text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}
.btn-clear:hover{background:var(--core-surface-subtle);border-color:var(--core-border-strong);color:var(--core-text)}

/* ── Client panel ── */
.client-overlay{position:fixed;inset:0;background:rgba(6,46,53,.35);z-index:100;opacity:0;pointer-events:none;transition:opacity .25s ease;backdrop-filter:blur(2px)}
.client-overlay.open{opacity:1;pointer-events:all}
.client-panel{position:fixed;top:0;right:0;height:100vh;width:420px;max-width:95vw;background:var(--core-surface);box-shadow:var(--core-shadow-lg);z-index:101;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;display:flex;flex-direction:column}
.client-panel.open{transform:translateX(0)}
.cp-header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--core-border);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;position:sticky;top:0;background:var(--core-surface);z-index:1}
.cp-close{background:none;border:1px solid var(--core-border);border-radius:var(--core-radius-sm);width:32px;height:32px;cursor:pointer;color:var(--core-text-muted);font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}
.cp-close:hover{background:var(--core-surface-subtle);color:var(--core-text)}
.cp-name{font-size:1rem;font-weight:800;color:var(--core-text);line-height:1.2}
.cp-doc{font-size:.78rem;color:var(--core-text-muted);margin-top:.2rem}
.cp-location{font-size:.78rem;color:var(--core-text-secondary);margin-top:.15rem}
.cp-body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}
.cp-section-title{font-size:.7rem;font-weight:700;color:var(--core-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem}
.cp-model-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}
.cp-model-badge{display:inline-flex;flex-direction:column;align-items:center;padding:.3rem .65rem;border-radius:var(--core-radius-sm);font-size:.75rem;font-weight:700;line-height:1.3;text-align:center}
.cp-model-badge-label{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.55;margin-top:.1rem}
.cp-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cp-metric{background:var(--core-surface-subtle);border:1px solid var(--core-border);border-radius:var(--core-radius-md);padding:.75rem 1rem}
.cp-metric-label{font-size:.68rem;font-weight:700;color:var(--core-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}
.cp-metric-value{font-size:1.2rem;font-weight:800;color:var(--core-text);line-height:1}
.cp-metric-sub{font-size:.7rem;color:var(--core-text-muted);margin-top:.15rem}
.cp-rfm-row{display:flex;gap:.5rem}
.cp-rfm-box{flex:1;background:var(--core-surface-subtle);border:1px solid var(--core-border);border-radius:var(--core-radius-md);padding:.6rem;text-align:center}
.cp-rfm-letter{font-size:.65rem;font-weight:700;color:var(--core-text-muted);text-transform:uppercase;margin-bottom:.3rem}
.cp-rfm-score{font-size:1.4rem;font-weight:800;color:var(--core-primary)}
.cp-cats{display:flex;flex-direction:column;gap:.45rem}
.cp-cat-row{background:var(--core-surface-subtle);border:1px solid var(--core-border);border-radius:var(--core-radius-sm);padding:.55rem .75rem}
.cp-cat-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}
.cp-cat-name{font-size:.78rem;font-weight:700;color:var(--core-text)}
.cp-cat-pct{font-size:.78rem;font-weight:800;color:var(--core-teal);font-family:var(--core-font-mono)}
.cp-cat-bar-bg{height:5px;border-radius:999px;background:var(--core-border);overflow:hidden}
.cp-cat-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--core-teal),var(--core-teal-soft));transition:width .6s ease}
.cp-pareto-note{font-size:.68rem;color:var(--core-text-muted);text-align:right;margin-top:.25rem}
/* ── Model switcher ── */
.model-switcher{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.model-switcher-label{font-size:.75rem;font-weight:700;color:var(--core-text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.model-tabs{display:flex;gap:.3rem;background:var(--core-surface-subtle);border:1px solid var(--core-border);border-radius:var(--core-radius-md);padding:3px}
.model-tab{background:none;border:none;padding:.45rem 1rem;border-radius:calc(var(--core-radius-md) - 3px);font-size:.82rem;font-weight:700;font-family:var(--core-font-sans);color:var(--core-text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}
.model-tab:hover:not(.active){color:var(--core-text);background:rgba(0,64,74,.06)}
.model-tab.active{background:var(--core-primary);color:#fff;box-shadow:0 2px 8px rgba(0,64,74,.2)}
/* ── Cycle section in panel ── */
.cp-cycle-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cp-cycle-stat{background:var(--core-surface-subtle);border:1px solid var(--core-border);border-radius:var(--core-radius-sm);padding:.6rem .75rem;text-align:center}
.cp-cycle-val{font-size:1.15rem;font-weight:800;color:var(--core-primary);font-family:var(--core-font-mono);line-height:1}
.cp-cycle-lbl{font-size:.68rem;font-weight:700;color:var(--core-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.2rem}
.cp-cycle-status{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:999px;font-size:.75rem;font-weight:700}
.cp-health{border-radius:var(--core-radius-md);padding:1rem;border:1px solid var(--core-border)}
.cp-health-label{font-size:.75rem;font-weight:700;margin-bottom:.6rem}
.cp-health-bar-bg{height:8px;border-radius:999px;background:var(--core-border);overflow:hidden}
.cp-health-bar{height:100%;border-radius:999px;transition:width .6s ease}
.cp-health-desc{font-size:.72rem;color:var(--core-text-muted);margin-top:.5rem}
tr.clickable-row{cursor:pointer}
tr.clickable-row:hover td{background:rgba(0,169,153,.06)}

