/* Sales coaching panel (js/coaching.js) — Live Calls. Uses the app's tokens (css/app.css). Phone-safe: no fixed
   widths, long quotes wrap, the one table scrolls inside its own box. */
.coach-panel{margin-top:16px; min-width:0;}
.coach-head{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px;}
.coach-head h2{margin:0; flex:1 1 auto; min-width:0;}
.coach-sub{color:var(--ink-muted); font-size:0.875rem; flex-basis:100%; order:3; overflow-wrap:anywhere;}
.coach-actions{display:flex; flex-wrap:wrap; gap:8px; align-items:center;}
.coach-audio{position:sticky; top:0; z-index:2; background:var(--surface); padding:8px 0 6px; margin-top:6px;}
.coach-audio audio{width:100%; display:block;}
.coach-note{background:var(--surface-sunk); border-radius:3px; padding:10px 12px; margin:12px 0 0; font-size:0.9375rem;}
.coach-note[data-kind="warn"]{background:var(--warning-tint); color:var(--warning);}
.coach-note[data-kind="error"]{background:var(--critical-tint); color:var(--critical);}
.coach-section{margin-top:20px;}
.coach-section > h3{font-family:var(--font-display); font-size:1.125rem; margin:0 0 8px; font-weight:600;}
.coach-summary{margin:12px 0 0; overflow-wrap:anywhere;}
.coach-scores{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.coach-score{background:var(--accent-tint); color:var(--accent-strong); border-radius:3px; padding:6px 10px; font-size:0.875rem;}
.coach-score strong{font-size:1.125rem; margin-right:4px;}
.coach-strengths{margin:8px 0 0; padding-left:20px; color:var(--success); font-size:0.9375rem;}

/* the ordered plan */
.coach-plan{list-style:none; margin:0; padding:0; display:grid; gap:8px;}
.coach-item{border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); min-width:0;}
.coach-item[data-sev="critical"]{border-left:4px solid var(--critical);}
.coach-item[data-sev="high"]{border-left:4px solid var(--warning);}
.coach-item > summary{cursor:pointer; list-style:none; padding:10px 12px; display:flex; flex-wrap:wrap; gap:6px 10px;
  align-items:center;}
.coach-item > summary::-webkit-details-marker{display:none;}
.coach-item > summary:focus-visible{outline:3px solid var(--accent); outline-offset:-3px; border-radius:var(--radius);}
.coach-rank{display:inline-grid; place-items:center; min-width:1.75em; height:1.75em; border-radius:3px;
  background:var(--ink); color:#fff; font-weight:700; font-size:max(0.8125rem,var(--fs-floor,0px));}
.coach-title{font-weight:700; flex:1 1 12rem; min-width:0; overflow-wrap:anywhere;}
.coach-body{padding:0 12px 12px; font-size:0.9375rem; overflow-wrap:anywhere;}
.coach-body p{margin:6px 0;}
.coach-label{font-weight:700; color:var(--ink);}
.coach-muted{color:var(--ink-muted);}
.coach-points{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-faint); margin-top:8px;}
.coach-quotes{list-style:none; padding:0; margin:6px 0;}
.coach-quotes li{display:flex; gap:8px; align-items:baseline; padding:3px 0; min-width:0;}
.coach-quotes q, .coach-quote{font-style:italic; overflow-wrap:anywhere; min-width:0;}
.coach-t{font-family:var(--font-mono); font-size:max(0.8125rem,var(--fs-floor,0px)); background:var(--accent-tint); color:var(--accent-strong);
  border:0; border-radius:2px; padding:2px 7px; cursor:pointer; flex:none;}
.coach-t:disabled{cursor:default; background:var(--surface-sunk); color:var(--ink-muted);}
.coach-t:hover:not(:disabled){background:var(--accent); color:#fff;}

/* chips */
.coach-chip{display:inline-flex; align-items:center; font-size:max(0.75rem,var(--fs-floor,0px)); font-weight:700; padding:2px 9px; border-radius:3px;
  background:var(--surface-sunk); color:var(--ink-muted); white-space:nowrap;}
.coach-chip[data-s="done_well"]{background:var(--success-tint); color:var(--success);}
.coach-chip[data-s="done_with_issues"], .coach-chip[data-s="high"], .coach-chip[data-s="medium"]{background:var(--warning-tint); color:var(--warning);}
.coach-chip[data-s="missing"], .coach-chip[data-s="critical"]{background:var(--critical-tint); color:var(--critical);}
.coach-chip[data-s="compliance"]{background:var(--locked-tint); color:var(--locked);}
.coach-chip[data-s="beta"]{background:var(--accent-tint, #E3F0EE); color:var(--accent, #0B5D6B); text-transform:uppercase; letter-spacing:.04em;}

/* parts */
.coach-parts{list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;}
.coach-parts > li + li{border-top:1px solid var(--line);}
.coach-part > summary{cursor:pointer; list-style:none; padding:9px 12px; display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center;}
.coach-part > summary::-webkit-details-marker{display:none;}
.coach-part .coach-body{padding-top:2px;}
.coach-gates{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-muted);}

/* moments + signals */
.coach-list{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.coach-list > li{display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 10px; align-items:start;}
.coach-list > li > .coach-t{justify-self:start;}
.coach-list .coach-row{display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.coach-list p{margin:2px 0; font-size:0.9375rem; overflow-wrap:anywhere;}
.coach-table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:3px; margin-top:8px;}
.coach-table{border-collapse:collapse; width:100%; font-size:max(0.8125rem,var(--fs-floor,0px));}
.coach-table th, .coach-table td{padding:6px 8px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap;}
.coach-table th{background:var(--surface-sunk); font-weight:700;}
.coach-stats{display:flex; flex-wrap:wrap; gap:6px 16px; font-size:0.9375rem; margin:0; padding:0; list-style:none;}
.coach-meta{font-size:max(0.8125rem,var(--fs-floor,0px)); color:var(--ink-faint); margin-top:18px; overflow-wrap:anywhere;}
.coach-trends{display:grid; gap:10px;}
.coach-trends ol{margin:4px 0 0; padding-left:22px;}

/* the row button on Live Calls */
.coach-btn[data-state="done"]::after{content:" \2713"; color:var(--success);}
.coach-btn[data-state="running"]::after, .coach-btn[data-state="queued"]::after{content:" \2026";}
.coach-btn[data-state="failed"]::after{content:" !"; color:var(--critical);}

@media (max-width:520px){
  .coach-list > li{grid-template-columns:1fr;}
  .coach-item > summary, .coach-part > summary{padding:9px 10px;}
  .coach-body{padding:0 10px 10px;}
}
@media (prefers-reduced-motion:reduce){ .coach-panel *{scroll-behavior:auto;} }
