/* Read-only conversation health panel, visually aligned with dashboard panels. */
.conversation-health{padding:25px;margin-top:19px;margin-bottom:19px;min-width:0}
.ch-head{align-items:flex-start}.ch-head p{font-size:11px;color:var(--sub);line-height:1.7;margin:8px 0 0;max-width:780px}
.ch-controls{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.ch-select{background:var(--surface-solid);border:1px solid var(--border);border-radius:10px;padding:9px 12px;color:var(--text);font-size:12px;max-width:100%}
.ch-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:5px 0 18px}
.ch-stats>div{padding:15px 17px;background:var(--secondary);border:1px solid var(--border);border-radius:13px;min-width:0}.ch-stats small{display:block;color:var(--sub);font-size:11px;margin-bottom:10px}.ch-stats strong{font-size:23px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.ch-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}.ch-legend span{font-size:11px;color:var(--sub);display:inline-flex;gap:6px;align-items:center}.ch-color{display:inline-block;width:8px;height:8px;border-radius:3px}
.conversation-health{--ch-healthy:#39b389;--ch-watch:#90a4df;--ch-warning:#e3a94d;--ch-critical:#d76f7c;--ch-insufficient:#a4a4b1}
.ch-healthy{background:var(--ch-healthy)}.ch-watch{background:var(--ch-watch)}.ch-warning{background:var(--ch-warning)}.ch-critical{background:var(--ch-critical)}.ch-insufficient{background:var(--ch-insufficient)}
.ch-panel-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:19px 0 13px}.ch-panel-label b{font-size:12px}.ch-panel-label small{font-size:10px;color:var(--sub)}
.ch-bars{display:grid;gap:3px;max-height:370px;overflow-y:auto;padding-right:4px}.ch-group-row{display:flex;align-items:center;width:100%;text-align:left;gap:14px;border:1px solid transparent;background:transparent;border-radius:9px;padding:7px 9px;color:var(--text);transition:background .2s,border-color .2s}
.ch-group-row:hover,.ch-group-row.selected{background:var(--secondary);border-color:var(--border)}.ch-group-name{width:78px;flex:none;font-size:11px;font-weight:600}.ch-bar{display:flex;flex:1;min-width:30px;height:16px;border-radius:5px;background:var(--track);overflow:hidden;gap:1px}.ch-fill{display:block;height:100%;flex-shrink:0;transition:width .45s ease}.ch-group-score{width:32px;font-size:12px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.ch-group-row>small{width:35px;color:var(--sub);font-size:10px;white-space:nowrap;text-align:right}
.ch-ranking{display:grid;gap:3px}.ch-entry{border-bottom:1px solid var(--border)}.ch-entry:last-child{border-bottom:0}.ch-account{border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:58px;padding:7px 9px;border-radius:9px}.ch-account:hover{background:var(--secondary)}.ch-account-name{width:144px;min-width:0;flex:none}.ch-account-name b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.ch-account-name small{display:block;font-size:10px;color:var(--sub);margin-top:4px}.ch-account-bar{flex:1;min-width:30px;height:9px;border-radius:9px;overflow:hidden;background:var(--track)}.ch-account-score{display:block;width:65px;font-size:14px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.ch-account-score small{display:block;font-size:9px;color:var(--sub);font-weight:500}.ch-account-detail{width:83px;font-size:11px;color:var(--sub);white-space:nowrap;text-align:right}.ch-live{width:7px;height:7px;flex:none;border-radius:50%;background:#d76f7c}.ch-live.is-online{background:#39b389}
.ch-breakdown{display:flex;flex-wrap:wrap;gap:9px 17px;padding:8px 13px 16px;font-size:10px;color:var(--sub)}.ch-breakdown b{color:var(--text)}
.ch-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:18px;color:var(--sub);font-size:10px}.ch-footer>div{display:flex;gap:10px;align-items:center}.ch-footer .small-action{font-size:10px}.ch-error{color:#ce596e;background:color-mix(in srgb,#d76f7c 12%,var(--surface-solid));border-radius:9px;padding:12px;font-size:12px}.ch-empty{padding:28px;color:var(--sub);font-size:12px;text-align:center}
@media(max-width:830px){.conversation-health{padding:18px}.ch-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-account-name{width:108px}.ch-account-detail{display:none}}
@media(max-width:520px){.ch-head{flex-wrap:wrap}.ch-stats strong{font-size:19px}.ch-panel-label{align-items:flex-start;flex-direction:column;gap:5px}.ch-group-row{gap:7px;padding-left:0;padding-right:0}.ch-group-name{width:65px;font-size:10px}.ch-group-row>small{width:29px}.ch-account{gap:7px;padding-left:0;padding-right:0}.ch-account-name{width:90px}.ch-account-name b{font-size:11px}.ch-account-score{width:52px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.conversation-health .ch-fill{transition:none}}


/* HEALTH DASHBOARD V2: responsive heatmap and account inspection */
.conversation-health [hidden]{display:none!important}
.ch-top-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.ch-top-actions small{font-size:10px;color:var(--sub);max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-control{display:flex;flex-direction:column;gap:5px;min-width:112px}
.ch-control>span{color:var(--sub);font-size:10px;font-weight:600}
.ch-control input{height:38px;border:1px solid var(--border);border-radius:10px;padding:0 12px;background:var(--surface-solid);color:var(--text);width:100%;min-width:0}
.ch-controls{gap:10px;margin-top:3px}.ch-filter-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:0 0 13px}
.ch-filter-row .ch-control{flex:0 0 auto}.ch-filter-row .ch-search{flex:1 1 225px;min-width:195px}
.ch-filter-row .ch-search input{font-size:12px}.ch-reset{height:38px}
.ch-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.ch-spotlight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:22px}
.ch-attention-item{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--secondary);color:var(--text);padding:11px 13px;transition:border-color .2s,transform .2s}
.ch-attention-item:hover{border-color:var(--accent);transform:translateY(-1px)}
.ch-attention-item span{min-width:0;display:grid;gap:4px}
.ch-attention-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-attention-item small{color:var(--sub);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-attention-item strong{font-size:17px;font-weight:750;font-variant-numeric:tabular-nums}
.ch-empty-inline{grid-column:1/-1;padding:12px 4px;color:var(--sub);font-size:11px}
.ch-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 11px}
.ch-switch .small-action[aria-pressed=true]{color:var(--accent);background:var(--accent-glow);border-color:var(--accent)}
.ch-switch small{color:var(--sub);font-size:10px;margin-left:auto}
.ch-heatmap{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin-bottom:15px}
.ch-heat-tile{min-width:0;min-height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:2px solid transparent;border-radius:11px;color:#fff;cursor:pointer;transition:transform .2s ease,filter .2s ease,border-color .2s ease,background .3s ease}
.ch-heat-tile:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06)}
.ch-heat-tile.selected{border-color:var(--text);outline:2px solid var(--surface-solid);outline-offset:-4px}
.ch-heat-tile:disabled{cursor:default;opacity:.45}
.ch-heat-tile.ch-healthy{background:#299d77}.ch-heat-tile.ch-watch{background:#879ccf}
.ch-heat-tile.ch-warning{background:#d6a047}.ch-heat-tile.ch-critical{background:#c35f68}
.ch-heat-tile.ch-insufficient{background:#9999ab}
.ch-heat-tile.ch-no-data{background:var(--secondary);color:var(--sub)}
.ch-heat-id{font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}
.ch-heat-mark{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.ch-color.ch-no-data{background:var(--secondary);border:1px solid var(--border)}
.ch-legend{margin:14px 0 24px}
.ch-list-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--sub);margin-bottom:8px}
.ch-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.ch-detail-grid span{line-height:1.5}.ch-breakdown{display:block;padding:12px 15px 16px;background:var(--secondary);border-radius:10px}
.ch-breakdown p{color:var(--sub);font-size:10px;line-height:1.6;margin:11px 0 0}
.ch-breakdown p span{margin-left:8px;color:var(--text)}
.ch-account[aria-expanded=true]{background:var(--secondary)}
.ch-account:focus-visible,.ch-heat-tile:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:1160px){.ch-spotlight{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-heatmap{gap:6px}.ch-heat-tile{min-height:49px}.ch-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:830px){.ch-heatmap{grid-template-columns:repeat(8,minmax(0,1fr))}.ch-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-top-actions{justify-content:flex-start}}
@media(max-width:580px){.ch-heatmap{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.ch-heat-tile{border-radius:8px;min-height:44px}.ch-heat-mark{font-size:12px}.ch-spotlight{grid-template-columns:1fr}.ch-controls .ch-control,.ch-filter-row .ch-control{flex:1 1 130px}.ch-top-actions small{max-width:100%}.ch-account-name{width:98px}.ch-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-account-detail{display:none}}
@media(prefers-reduced-motion:reduce){.ch-heat-tile,.ch-attention-item,.conversation-health .ch-fill{transition:none!important}}


/* HEALTH CHART MOTION: one-shot entrance, evidence-driven shimmer, FLIP positioning. */
.conversation-health .ch-bar{
 position:relative;isolation:isolate;overflow:hidden;transform-origin:left center;
}
.conversation-health .ch-bar .ch-fill{
 transition:width 560ms cubic-bezier(.2,.72,.2,1);
}
.ch-bars.ch-reveal .ch-bar{
 animation:ch-bar-rise 680ms cubic-bezier(.18,.85,.23,1) both;
 animation-delay:calc(var(--ch-index,0) * 28ms);
}
@keyframes ch-bar-rise{
 0%{transform:scaleX(.008);filter:brightness(1.07)}
 78%{transform:scaleX(1.012);filter:brightness(1.025)}
 100%{transform:scaleX(1);filter:brightness(1)}
}
/* The overlay is never continuously animated; JS applies ch-sweep only on changed real snapshots. */
.conversation-health .ch-bar::after{
 content:"";position:absolute;pointer-events:none;z-index:1;
 left:-28%;top:0;width:24%;height:100%;opacity:0;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
}
.conversation-health .ch-group-row.ch-sweep .ch-bar::after{
 animation:ch-chart-shine 850ms ease-out 1 both;
}
@keyframes ch-chart-shine{
 0%{transform:translateX(0);opacity:0}
 17%{opacity:.55}
 75%{opacity:.45}
 100%{transform:translateX(550%);opacity:0}
}
.conversation-health .ch-heat-tile{position:relative;overflow:hidden;isolation:isolate}
.conversation-health .ch-heat-tile::after{
 content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
 transform:translateX(-120%);
 background:linear-gradient(95deg,transparent 25%,rgba(255,255,255,.17) 48%,transparent 74%);
}
.conversation-health .ch-heat-tile.ch-sweep::after{
 animation:ch-heat-shine 750ms ease-out 1 both;
}
@keyframes ch-heat-shine{
 0%{transform:translateX(-120%);opacity:0}
 20%{opacity:.65}
 85%{opacity:.35}
 100%{transform:translateX(120%);opacity:0}
}
.conversation-health .ch-group-row{
 position:relative;transition:background-color 220ms ease,opacity 200ms ease;
}
.conversation-health .ch-group-row:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}
.ch-hover-tip{
 position:absolute;right:6px;top:calc(100% + 4px);z-index:8;
 width:max-content;max-width:min(430px,90%);padding:10px 13px;border-radius:10px;
 background:var(--surface-solid);border:1px solid var(--border);
 box-shadow:0 10px 28px rgba(0,0,0,.13);color:var(--text);
 font-size:10px;line-height:1.5;pointer-events:none;
 opacity:0;visibility:hidden;transform:translateY(4px);
 transition:opacity 160ms ease,transform 160ms ease,visibility 160ms;
}
@media(hover:hover) and (pointer:fine){
 .ch-bars:hover .ch-group-row:not(:hover):not(:focus-visible){opacity:.70}
 .ch-group-row:hover{z-index:5;background:var(--secondary)}
 .ch-group-row:hover .ch-hover-tip,.ch-group-row:focus-visible .ch-hover-tip{
  opacity:1;visibility:visible;transform:translateY(0)
 }
}
@media(prefers-reduced-motion:reduce){
 .conversation-health .ch-bars.ch-reveal .ch-bar,
 .conversation-health .ch-group-row.ch-sweep .ch-bar::after,
 .conversation-health .ch-heat-tile.ch-sweep::after{animation:none!important}
 .conversation-health .ch-bar .ch-fill,
 .conversation-health .ch-group-row,
 .conversation-health .ch-hover-tip,
 .conversation-health .ch-heat-tile{transition:none!important}
}
