/* Bandeau d'un sportif (trainee-ui.js) : micro, réseau, KPI, courbes. Reprend la charte de index.html (variables --panel, --line, --cyan…). */
.tr { --warn:#f5a524; display:flex; flex-direction:column; gap:8px; margin:0 0 10px; }
.tr-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.tr-name { font-size:14px; font-weight:800; }
.tr-role { color:var(--muted); font-size:12px; font-weight:600; }
.tr-chip { display:inline-flex; align-items:center; gap:7px; padding:3px 10px; border:1px solid var(--line); border-radius:999px; background:var(--bg-2); font-size:12px; font-weight:600; color:var(--text); }
.tr-chip svg { width:15px; height:15px; flex:none; }
.tr-mic[data-state="live"] svg { color:var(--cyan); }
.tr-mic[data-state="muted"] svg, .tr-mic[data-state="none"] svg, .tr-mic[data-state="pending"] svg { color:var(--muted); }
.tr-mic.speaking { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(24,171,248,.2); }
.tr-meter { width:54px; height:6px; border-radius:3px; background:rgba(24,171,248,.16); overflow:hidden; }
.tr-meter i { display:block; height:100%; width:0; border-radius:3px; background:var(--cyan); transition:width .12s linear; }
.tr-mic:not([data-state="live"]) .tr-meter { display:none; }
.tr-q svg { color:var(--muted); }
.tr-q[data-q="excellent"] svg, .tr-q[data-q="good"] svg { color:var(--ok); }
.tr-q[data-q="poor"] svg { color:var(--warn); }
.tr-q[data-q="lost"] svg { color:var(--rec); }
.tr-kpi { gap:6px; padding:3px 12px; }
.tr-kpi small { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.tr-kpi b { font-size:14px; font-weight:800; }
.tr-spacer { flex:1; }
.tr-toggle { padding:3px 10px !important; font-size:11px !important; }

.tr-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(158px, 1fr)); gap:8px; }
.tr-grid[hidden], .tr-netbox[hidden] { display:none; }
.tr-sect { margin:0; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.tr-sect small { font-weight:500; letter-spacing:0; text-transform:none; margin-left:6px; }
.tr-tile { position:relative; padding:8px 10px 6px; border:1px solid var(--line); border-radius:12px; background:var(--bg-2); min-width:0; }
.tr-tile .t-label { display:flex; justify-content:space-between; gap:6px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.tr-tile .t-warn { color:var(--warn); font-weight:800; }
.tr-tile .t-val { margin-top:2px; font-size:19px; font-weight:700; line-height:1.15; white-space:nowrap; }
.tr-tile .t-val small { margin-left:4px; color:var(--muted); font-size:11px; font-weight:600; }
.tr-tile .t-sub { min-height:14px; color:var(--muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tr-tile canvas { display:block; width:100%; height:58px; margin-top:2px; cursor:crosshair; }
.tr-tip { position:absolute; z-index:5; top:-6px; transform:translateY(-100%); padding:3px 8px; border:1px solid var(--line); border-radius:8px; background:rgba(9,11,14,.92); color:var(--text); font-size:11px; font-weight:600; white-space:nowrap; pointer-events:none; }
.tr-tip[hidden] { display:none; }
.tr-details { margin:0; font-size:11px; }
.tr-details summary { cursor:pointer; color:var(--muted); }
.tr-details summary:hover { color:var(--text); }

@media (max-width:900px) { .tr-tile .t-val { font-size:17px; } }
@media (prefers-reduced-motion: reduce) { .tr-meter i { transition:none; } }
