/* CV System – metrics charts. Series slots validated (light #fcfcfb-ish / dark #15181e surfaces). */
:root{--s-wos:#2a78d6;--s-scopus:#eb6834;--s-google:#1baf7a}
html[data-theme="dark"]{--s-wos:#3987e5;--s-scopus:#d95926;--s-google:#199e70}

.cvc{display:flex;flex-direction:column;gap:14px}
.cvc-bar-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cvc-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.cvc-seg button,.cvc-tbtn{border:0;background:transparent;color:var(--muted);font:600 13px/1 inherit;padding:7px 11px;border-radius:7px;cursor:pointer}
.cvc-seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.cvc-tbtn{border:1px solid var(--line);margin-left:auto;color:var(--text)}
.cvc-seg button:focus-visible,.cvc-tbtn:focus-visible{outline:2px solid var(--s-wos);outline-offset:1px}
.cvc-grid-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.cvc-panel{margin:0;border:1px solid var(--line);border-radius:12px;padding:12px 12px 6px;background:var(--surface);min-width:0}
.cvc-head{display:flex;align-items:baseline;gap:8px;margin:0}
.cvc-title{font-weight:650;font-size:14px;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cvc-key{display:inline-block;width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.cvc-head .cvc-key{align-self:center}
.cvc-latest{font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
.cvc-delta{font-size:11.5px;color:var(--muted);text-align:right;margin:0 0 6px}
.cvc-plot{position:relative;min-height:60px}
.cvc-plot svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.cvc-grid{stroke:var(--line);stroke-width:1}
.cvc-base{stroke:var(--muted);stroke-width:1;opacity:.6}
.cvc-axis{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.cvc-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cvc-dot{stroke:var(--surface);stroke-width:2}
.cvc-dot.on{r:6}
.cvc-bar.on{filter:brightness(1.12)}
.cvc-endlabel{fill:var(--text);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface);stroke-width:3px}
.cvc-cross{stroke:var(--muted);stroke-width:1;opacity:.6}
.cvc-tip{position:absolute;z-index:3;pointer-events:none;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:12.5px;box-shadow:0 6px 18px rgba(0,0,0,.18);white-space:nowrap}
.cvc-tip-h{color:var(--muted);font-size:11.5px;margin-bottom:2px}
.cvc-tip-v{display:flex;align-items:center;gap:6px}
.cvc-tip-v b{font-variant-numeric:tabular-nums}
.cvc-empty,.cvc-note{color:var(--muted);font-size:13px;padding:14px 4px;text-align:center}
.cvc-note{padding:4px 4px 8px}
.cvc-table{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.cvc-table table{width:100%;border-collapse:collapse;font-size:13.5px}
.cvc-table th{text-align:left;color:var(--muted);font-size:12px;font-weight:650;padding:8px 12px;border-bottom:1px solid var(--line)}
.cvc-table td{padding:7px 12px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.cvc-table tr:last-child td{border-bottom:0}
@media print{.cvc-bar-top,.cvc-tip{display:none}}
