  /* ── Recordings tab ──────────────────────────────────────────────────────── */
  .recordings-layout {
    display:grid; grid-template-columns:1fr 480px; height:calc(100vh - 202px); }
  .recordings-list { overflow-y:auto; border-right:1px solid var(--border); }
  .recordings-detail { overflow-y:auto; background:var(--surface); }

  .rec-card { border-bottom:1px solid var(--border); padding:14px 20px;
    cursor:pointer; transition:background 0.15s; }
  .rec-card:hover { background:var(--border-subtle); }
  .rec-card.selected { background:var(--info-bg-tint); border-left:2px solid var(--accent); }
  .rec-card-top { display:flex; align-items:center; gap:12px; }
  .rec-icon { width:40px; height:40px; border-radius:10px; background:var(--info-bg-tint);
    display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
  .rec-info { flex:1; min-width:0; }
  .rec-name { font-size:14px; font-weight:600; margin-bottom:3px; }
  .rec-name.unknown { color:var(--muted); font-weight:normal; font-style:italic; }
  .rec-meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
  .rec-right { text-align:right; flex-shrink:0; }
  .rec-duration { font-size:13px; font-family:var(--font); font-weight:600; }
  .rec-date { font-size:11px; color:var(--muted); margin-top:2px; }

  /* Audio player */
  .audio-player-wrap { padding:16px 20px; border-bottom:1px solid var(--border); }
  .audio-player-wrap audio { width:100%; height:36px; }
  audio::-webkit-media-controls-panel { background:var(--border); }

  /* Transcript */
  .transcript-wrap { padding:16px 20px; }
  .transcript-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
  .transcript-title { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:0.1em; }
  .btn-generate { font-size:11px; padding:5px 12px; border-radius:6px;
    border:1px solid var(--accent); background:var(--info-bg-tint); color:var(--accent);
    cursor:pointer; transition:all 0.15s; }
  .btn-generate:hover { background:var(--accent); color:var(--text-inverted); }
  .btn-generate:disabled { opacity:0.5; cursor:not-allowed; }
  .utterance { margin-bottom:12px; }
  .utterance-speaker { font-size:10px; font-weight:600; text-transform:uppercase;
    letter-spacing:0.06em; margin-bottom:3px; }
  .speaker-0 { color:var(--accent); }
  .speaker-1 { color:var(--success); }
  .speaker-2 { color:var(--warning); }
  .utterance-text { font-size:13px; line-height:1.6; color:var(--text); }
  .utterance-time { font-size:10px; color:var(--muted); font-family:var(--font); }
  .transcript-plain { font-size:12px; line-height:1.8; color:var(--text); white-space:pre-wrap;
    background:var(--border-subtle); padding:12px; border-radius:8px; }
  .transcript-loading { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; padding:12px 0; }

  ::-webkit-scrollbar { width:4px; }
  ::-webkit-scrollbar-track { background:transparent; }
  ::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px; }

