/* Suivi : Appels & Logs, tests, facturation, supervision (maquette-logs.png). */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kpi-hint{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.kpi-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:none}
.kpi-icon .ic{width:19px;height:19px}
.tone-ok{background:var(--ok-bg);color:var(--ok)}.tone-neutral{background:var(--surface-2);color:var(--muted)}
.logs-search{position:relative;max-width:520px}
.logs-search .search-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);width:17px;height:17px}
.logs-search input{padding-left:38px;background:var(--surface)}
.quick-link:hover{text-decoration:none}
.logs-table td{font-size:13.5px;padding:12px 14px}
.logs-table th{padding:14px}
.logs-table .mono{font-family:inherit;font-variant-numeric:tabular-nums;font-size:12.5px;white-space:nowrap}
.logs-row{cursor:pointer}
.logs-row.selected td{background:var(--soft)}
.pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border-top:1px solid var(--line)}
/* Tiroir de detail */
.drawer-backdrop{position:fixed;inset:0;background:rgba(22,17,42,.35);z-index:30}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(760px,100vw);background:var(--bg);z-index:31;overflow-y:auto;padding:26px 26px 60px;box-shadow:-18px 0 40px rgba(22,17,42,.18);border-left:1px solid var(--line)}
.drawer-close{position:absolute;top:14px;right:18px;font-size:28px;line-height:1;color:var(--muted);text-decoration:none}
.drawer-close:hover{color:var(--ink);text-decoration:none}
.drawer-head{margin-bottom:14px}
.drawer-head .facts{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.mono-id.big{font-size:22px;margin:4px 0 8px}
.drawer-tabs{margin-bottom:16px}
.call-audio{width:100%;margin-top:4px}
.small-note{font-size:12px;margin:8px 0 0}
table.compact td,table.compact th{padding:9px 12px;font-size:13px}
.call-page{padding:24px}
@media(max-width:900px){.drawer{padding:18px 16px 60px}}
.logs-table .nowrap{white-space:nowrap}
.logs-table small .env-badge{font-size:10px;padding:2px 7px;margin-top:4px;display:inline-block}
.logs-table td:nth-child(8){min-width:150px}
/* Suivi > Appels & Logs : bloc filtres, sections, volume d'appels, barre d'outils du tableau */
.filters-card{margin-bottom:22px}
.filters-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.filters-head h3{margin:0;display:flex;align-items:center;gap:8px}
.filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 14px}
.filters-grid .filter-field{margin:0}
.filters-grid .filter-field[hidden]{display:none}
.section-head{display:flex;align-items:baseline;gap:10px;margin:4px 0 12px}
.section-head h3{margin:0}
.vol-card{margin-bottom:22px}
.vol-card .card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vol-card .segmented small{font-weight:500;opacity:.7;margin-left:4px}
.vol-total{margin:4px 0 0}
.vol-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;align-items:end;height:190px;margin-top:12px}
.vol-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px;min-width:0}
.vol-bar{position:relative;width:100%;max-width:34px;height:var(--pct);background:var(--action);border-radius:4px 4px 0 0}
.vol-bar.is-zero{background:var(--line)}
.vol-bar span{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;color:var(--muted)}
.vol-col:hover .vol-bar:not(.is-zero){filter:brightness(1.12)}
.vol-col small{font-size:10px;color:var(--muted);white-space:nowrap}
.vol-col small.vol-skip{visibility:hidden}
.table-toolbar{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.table-toolbar .logs-search{flex:0 1 460px;margin:0}
.table-toolbar .table-count{font-weight:700;color:var(--muted)}
.table-toolbar .table-export{margin-left:auto}
/* Indicateurs (Suivi : logs, facturation, supervision) : cartes horizontales allongees, rangees etirees sur la largeur */
.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(178px,1fr));display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.kpi-card{display:flex;background:var(--surface);border:1px solid var(--line);flex:1 1 300px;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;box-shadow:0 1px 2px rgba(22,17,42,.04);transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}
.kpi-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(22,17,42,.08)}
.kpi-card>div{min-width:0}
.kpi-card .kpi-icon{width:52px;height:52px;border-radius:14px}
.kpi-card .kpi-icon i.ic{font-size:21px}
.kpi-card small{display:block;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px}
.kpi-card strong{display:block;font-weight:800;letter-spacing:-.02em;font-size:28px;margin-top:2px;line-height:1.15}
.kpi-card .kpi-hint{font-size:12px;margin-top:4px}
.kpi-card::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:currentColor;opacity:0}
.table-toolbar .table-actions{margin-left:auto;display:flex;gap:10px;align-items:center;padding:0;border:0}

/* Resume de l'appel : bloc distinct de la conversation (transmis a la plateforme metier, etape 8) */
.call-summary{margin:8px 0 0;font-size:15px;line-height:1.55;white-space:pre-line}

/* Facturation et couts d'appel */
.billing-table td.num,.billing-table th.num,table td.num,table th.num{text-align:right;font-variant-numeric:tabular-nums}
.billing-side{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-top:20px}
.cost-total{font-size:20px;color:var(--action);font-variant-numeric:tabular-nums}
.cost-facts dd{font-variant-numeric:tabular-nums}
.money[title],.money[data-tip]{cursor:help;text-decoration:underline dotted color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}
.kpi-card strong .kpi-tip{font-size:13px;vertical-align:middle}

/* Rentabilite d'un appel : vert < 0,18 €, orange < 0,25 €, rouge au-dela */
.cost-level{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-weight:600;font-variant-numeric:tabular-nums;cursor:help}
.cost-level::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.cost-ok{background:var(--ok-bg);color:var(--ok)}
.cost-warn{background:var(--warn-bg);color:var(--warn)}
.cost-danger{background:var(--err-bg);color:var(--err)}

/* Transcription : outils lisibles (plus de JSON brut) */
.turn-tool{margin-top:8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--line)}
.turn-tool-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:600}
.turn-tool-head code{font-size:12px}
.turn-tool-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:6px 0 0;font-size:12.5px}
.turn-tool-facts dt{color:var(--muted)}.turn-tool-facts dd{margin:0;word-break:break-word}
.turn-tool-line{margin-top:4px;font-size:12.5px}
.turn-fold{margin-top:6px}
.turn-tool-text{font-size:12.5px;line-height:1.5;margin-bottom:8px;white-space:normal}
/* Transferts humains (detail de l'appel, Parcours & actions) : une ligne d'en-tete par transfert, puis ses tentatives. */
.table-card tr.subhead td{background:var(--surface-2);font-weight:600}
.table-card td.small{font-size:12px}
/* Cout de l'appel : note des transferts (conversation transferee facturee, IA retiree) */
.cost-transfer-note{margin:10px 0 0;padding:8px 10px;border-radius:8px;background:var(--surface-2);color:var(--ink-2);font-size:13px;line-height:1.45}
.money,.billing-table td.num{white-space:nowrap}
