.transcript-workspace { display: grid; gap: 13px; }
.transcript-controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.transcript-controls__left,
.transcript-controls__right { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.transcript-status { display: inline-flex; align-items: center; min-height: 27px; gap: 6px; padding: 0 9px; border-radius: 7px; color: var(--ink-700); background: var(--surface-muted); font-size: 10px; font-weight: 750; }
.transcript-status::before { width: 7px; height: 7px; border-radius: 50%; background: var(--clinova-green); content: ""; }
.transcript-status--recording::before { background: var(--clinova-red); box-shadow: 0 0 0 4px rgba(200,63,77,.12); animation: transcript-pulse 1.1s infinite; }
.transcript-status--paused::before { background: var(--clinova-amber); }
@keyframes transcript-pulse { 50% { opacity: .4; } }

.waveform { display: flex; align-items: center; height: 30px; gap: 3px; padding: 0 8px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface-muted); }
.waveform span { width: 3px; border-radius: 99px; background: #adc6f3; }
.waveform span:nth-child(3n) { background: var(--clinova-blue); }

.transcript-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.transcript-summary__item { padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: #fff; }
.transcript-summary__label { color: var(--ink-500); font-size: 9px; font-weight: 780; }
.transcript-summary__value { margin-top: 5px; color: var(--ink-950); font-size: 18px; font-weight: 820; letter-spacing: -.04em; }

.transcript-list { display: grid; gap: 8px; }
.transcript-row { display: grid; grid-template-columns: 64px 88px 1fr auto; gap: 9px; align-items: start; padding: 11px; border: 1px solid var(--border); border-left: 3px solid var(--clinova-blue); border-radius: 9px; background: #fff; }
.transcript-row--patient { border-left-color: var(--clinova-teal); }
.transcript-row--guardian { border-left-color: var(--clinova-purple); }
.transcript-row--uncertain { border-color: #f1ddb4; background: #fffaf0; }
.transcript-time { color: var(--ink-400); font-family: var(--font-mono); font-size: 9px; }
.speaker-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 23px; padding: 0 7px; border-radius: 6px; color: var(--clinova-blue-strong); background: var(--clinova-blue-soft); font-size: 9px; font-weight: 800; }
.speaker-badge--patient { color: #087b79; background: var(--clinova-teal-soft); }
.speaker-badge--dentist { color: var(--clinova-purple); background: var(--clinova-purple-soft); }
.transcript-text { color: var(--ink-800); font-size: 11px; line-height: 1.45; }
.transcript-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.confidence-badge { display: inline-flex; align-items: center; min-height: 19px; padding: 0 6px; border-radius: 5px; color: var(--clinova-green); background: var(--clinova-green-soft); font-size: 8px; font-weight: 800; }
.confidence-badge--low { color: var(--clinova-amber); background: var(--clinova-amber-soft); }
.uncertain-term { display: inline-flex; align-items: center; min-height: 19px; gap: 3px; padding: 0 6px; border-radius: 5px; color: var(--clinova-amber); background: var(--clinova-amber-soft); font-size: 8px; font-weight: 800; }
.transcript-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.transcript-actions .btn { min-height: 26px; padding: 0 7px; font-size: 8px; }

.transcript-review-panel { display: grid; grid-template-columns: minmax(0, 1fr) 265px; gap: 14px; }
.transcript-review-side { display: grid; gap: 10px; align-content: start; }
.review-stat { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 9px; border-bottom: 1px solid var(--ink-100); color: var(--ink-600); font-size: 9px; }
.review-stat:last-child { border-bottom: 0; }
.review-stat strong { color: var(--ink-800); }

@media (max-width: 880px) { .transcript-review-panel { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 680px) { .transcript-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .transcript-row { grid-template-columns: 1fr; } .transcript-actions { justify-content: flex-start; } }
