/* Zoom consults extends Rose's reading-room surfaces, type and controls. */
.recording-archive { padding:var(--sp-6); min-width:0; }
.recording-tabs { display:flex; flex-wrap:wrap; gap:var(--sp-2); padding:var(--sp-4) var(--sp-6) 0; }
.recording-tabs [aria-pressed="true"] { background:var(--accent-bg); color:var(--accent-fg); border-color:var(--accent); }
.recording-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--sp-4); margin-bottom:var(--sp-6); }
.recording-heading h2 { margin:0 0 var(--sp-2); font-size:var(--fs-2xl); letter-spacing:var(--ls-tight); }
.recording-heading p { margin:0; color:var(--text-2); font-size:var(--fs-md); line-height:1.6; }
.recording-heading > button { flex-shrink:0; }
.recording-heading-actions,.recording-note-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2); }
.recording-heading-actions [hidden] { display:none; }
.recording-note-actions { margin:var(--sp-3) 0; }
.recording-delete-prompt { padding:var(--sp-4); margin:var(--sp-4) 0; border:2px solid var(--accent); border-radius:var(--r-md); background:var(--accent-bg); }
.recording-delete-prompt h5 { margin:0 0 var(--sp-2); font-size:var(--fs-md); color:var(--accent-fg); }
.recording-delete-prompt p { margin:var(--sp-2) 0; line-height:1.5; }
.recording-overview > p { padding:var(--sp-4); margin:0; }
.recording-metric span { font-size:var(--fs-sm); line-height:1.4; }
.recording-metric:hover { background:var(--surface-2); }
.recording-metric[aria-pressed="true"] strong { color:inherit; }
[data-recording-status]:empty,[data-draft-status]:empty,.recording-export:empty { display:none; }
[data-recording-status] { margin:var(--sp-4) 0; }
.recording-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:var(--sp-3); margin:0 0 var(--sp-2); }
.recording-toolbar .input,.recording-toolbar .select { width:100%; min-height:40px; }
.recording-toolbar > button { min-height:40px; }
.recording-layout { display:grid; grid-template-columns:minmax(260px,34%) minmax(0,1fr); align-items:start; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--surface); }
.recording-list { border-right:1px solid var(--border); min-width:0; align-self:stretch; }
.recording-list-heading { display:flex; align-items:center; justify-content:space-between; padding:var(--sp-4); border-bottom:1px solid var(--border); gap:var(--sp-2); }
.recording-list-heading h3 { margin:0; font-size:var(--fs-sm); font-weight:600; }
.recording-list-heading > span { color:var(--text-3); font-size:var(--fs-xs); font-variant-numeric:tabular-nums; }
.recording-list ul { padding:0; margin:0; list-style:none; max-height:700px; overflow:auto; overscroll-behavior:contain; }
.recording-row { display:grid; gap:var(--sp-2); width:100%; text-align:left; border:0; border-bottom:1px solid var(--border-faint); background:transparent; color:var(--text-2); padding:var(--sp-4); cursor:pointer; overflow-wrap:anywhere; }
.recording-row strong { color:var(--text); font-size:var(--fs-md); line-height:1.5; font-weight:600; }
.recording-row:hover { background:var(--surface-2); }
.recording-row[aria-pressed="true"] { background:var(--accent-bg); color:var(--accent-fg); }
.recording-row[aria-pressed="true"] strong { color:inherit; }
.recording-row span { font-size:var(--fs-xs); line-height:1.5; }
.recording-row-state { display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-1); }
.recording-badge { display:inline-flex; align-items:center; width:fit-content; padding:2px var(--sp-2); border:1px solid var(--border); border-radius:var(--r-sm); color:var(--text-2); background:var(--surface-2); font-size:var(--fs-2xs); font-weight:500; line-height:1.6; }
.recording-badge-warn { background:var(--warn-bg); color:var(--warn-fg); border-color:transparent; }
.recording-pagination { display:flex; flex-wrap:wrap; gap:var(--sp-2); align-items:center; justify-content:space-between; padding:var(--sp-3); color:var(--text-3); font-size:var(--fs-2xs); }
.recording-detail { padding:var(--sp-6); min-width:0; }
.recording-detail h3 { overflow-wrap:anywhere; margin:0 0 var(--sp-2); font-size:var(--fs-xl); line-height:1.4; }
.recording-call-heading p { color:var(--text-2); font-size:var(--fs-xs); margin:0 0 var(--sp-2); }
.recording-actions { display:flex; flex-wrap:wrap; gap:var(--sp-2); align-items:center; margin:var(--sp-4) 0; }
.recording-detail h4 { font-size:var(--fs-md); font-weight:650; margin:0; }
.recording-detail-tabs { display:flex; gap:var(--sp-5); border-bottom:1px solid var(--border); margin-top:var(--sp-6); }
.recording-detail-tabs button { padding:var(--sp-3) 0; min-height:44px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--text-2); font:inherit; font-weight:500; cursor:pointer; }
.recording-detail-tabs button:hover { color:var(--accent-fg); }
.recording-detail-tabs [aria-selected="true"] { border-bottom-color:var(--accent); color:var(--accent-fg); }
.recording-evidence > section { padding-top:var(--sp-6); }
.recording-evidence > [hidden] { display:none; }
.recording-section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--sp-2); margin-bottom:var(--sp-2); }
.recording-help { color:var(--text-2); font-size:var(--fs-sm); font-weight:400; line-height:1.65; max-width:72ch; margin:var(--sp-2) 0 var(--sp-4); }
.recording-highlights { list-style:none; margin:var(--sp-5) 0 var(--sp-7); padding:0; }
.recording-highlights li { display:grid; grid-template-columns:88px minmax(0,1fr); gap:var(--sp-3); margin:var(--sp-5) 0; align-items:start; }
.recording-highlights button { border:1px solid var(--border); border-radius:var(--r-sm); background:var(--surface-2); color:var(--accent-fg); min-height:44px; padding:var(--sp-2); font-size:var(--fs-xs); font-variant-numeric:tabular-nums; cursor:pointer; }
.recording-highlights button:hover { background:var(--accent-bg); border-color:var(--accent); }
.recording-highlights blockquote { margin:0; color:var(--text); font-size:var(--fs-md); line-height:1.75; overflow-wrap:anywhere; white-space:pre-wrap; }
.recording-note-preview { border-top:1px solid var(--border); padding-top:var(--sp-5); }
.recording-note-preview dl { display:grid; gap:var(--sp-4); margin:var(--sp-5) 0; }
.recording-note-preview dt { color:var(--text-2); font-size:var(--fs-xs); font-weight:600; margin-bottom:var(--sp-1); }
.recording-note-preview dd { margin:0; line-height:1.65; overflow-wrap:anywhere; }
.recording-transcript { padding:var(--sp-4); background:var(--surface-2); border-radius:var(--r-md); max-height:70vh; overflow:auto; overscroll-behavior:contain; }
.recording-transcript p { display:grid; grid-template-columns:94px minmax(0,1fr); gap:var(--sp-3); margin:0; padding:var(--sp-3) 0; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.recording-transcript p > span:only-child { grid-column:1 / -1; }
.recording-time { font-size:var(--fs-xs); color:var(--text-3); font-variant-numeric:tabular-nums; }
.recording-transcript [data-cue]:focus { background:var(--accent-bg); color:var(--accent-fg); outline:1px solid var(--accent); outline-offset:var(--sp-1); }
.recording-evidence form label,.recording-assignment form label { display:grid; gap:var(--sp-2); margin:var(--sp-5) 0; font-weight:600; }
.recording-evidence form label .recording-help { margin:0; }
/* One Notes box: the whole answer from the practice's AI tool, or typed notes. */
.recording-notes-field { display:grid; gap:var(--sp-2); margin:var(--sp-5) 0 var(--sp-3); }
.recording-evidence .recording-notes-field label { margin:0; font-size:var(--fs-md); }
.recording-notes-field .recording-help { margin:0; }
.recording-evidence .recording-notes-field textarea { min-height:320px; }
.recording-evidence textarea { width:100%; min-height:112px; resize:vertical; line-height:1.6; }
.recording-export { margin:var(--sp-4) 0; }
.recording-export label { display:grid; gap:var(--sp-2); }
.recording-export textarea { width:100%; height:auto; min-height:180px; padding:var(--sp-3); line-height:1.6; resize:vertical; }
/* Copy prompt: staff write the note in the practice's own approved AI tool. */
.recording-prompt { margin:var(--sp-4) 0 var(--sp-2); padding:var(--sp-4); border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface-2); }
.recording-prompt .recording-help { margin:0 0 var(--sp-3); }
.recording-prompt-row { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-3); }
.recording-prompt-status { color:var(--ok-fg); font-size:var(--fs-sm); font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.recording-prompt-status.recording-error { color:var(--danger-fg); }
.recording-prompt .recording-export { margin:var(--sp-3) 0 0; }
.recording-check { display:flex; align-items:start; gap:var(--sp-2); margin:var(--sp-5) 0 var(--sp-3); line-height:1.6; }
.recording-check input { margin-top:var(--sp-1); flex-shrink:0; }
.recording-error { color:var(--danger-fg); }
.recording-assignment { margin:var(--sp-4) 0; padding:var(--sp-3); background:var(--surface-2); border:1px solid var(--border-faint); border-radius:var(--r-md); }
.recording-assignment summary { cursor:pointer; font-weight:500; min-height:24px; }
.recording-welcome-mark { display:block; color:var(--text-3); margin-bottom:var(--sp-5); }
.recording-archive button:focus-visible,.recording-archive a:focus-visible,.recording-archive summary:focus-visible,.recording-transcript:focus-visible,.recording-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.recording-metric:focus-visible { outline-offset:-3px; }
@media(max-width:1100px) {
  .recording-archive { padding:var(--sp-4); }
  .recording-detail { padding:var(--sp-5); }
  .recording-layout { grid-template-columns:minmax(240px,35%) minmax(0,1fr); }
  .recording-highlights li { grid-template-columns:1fr; gap:var(--sp-2); }
  .recording-highlights button { width:fit-content; }
}
@media(max-width:760px) {
  .recording-heading { flex-wrap:wrap; margin-bottom:var(--sp-5); }
  .recording-layout { grid-template-columns:1fr; }
  .recording-list { border-right:0; border-bottom:1px solid var(--border); }
  .recording-detail { padding:var(--sp-4); }
  .recording-detail-tabs { gap:var(--sp-4); }
  .recording-transcript { padding:var(--sp-3); max-height:60vh; }
  .recording-transcript p { grid-template-columns:1fr; gap:var(--sp-1); }
  .recording-evidence .recording-notes-field textarea { min-height:260px; }
}
/* Calendar browsing keeps controls together and the call itself dominant. */
.recording-toolbar label:first-child { flex:3 1 260px; }
.recording-toolbar label { display:grid; gap:var(--sp-2); flex:1 1 170px; font-size:var(--fs-xs); color:var(--text-2); }
.recording-date-range { display:flex; align-items:end; flex-wrap:wrap; gap:var(--sp-3); flex-basis:100%; padding-top:var(--sp-2); }
.recording-date-range[hidden] { display:none; }
.recording-date-range label,.recording-date-range label:first-child { flex:0 1 190px; }
.recording-date-range > span { color:var(--text-2); font-size:var(--fs-xs); padding-bottom:var(--sp-3); }
.recording-filter-context { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--sp-2); min-height:40px; margin-bottom:var(--sp-4); color:var(--text-2); font-size:var(--fs-xs); line-height:1.6; }
.recording-filter-context [hidden] { display:none; }
.recording-overview { display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.recording-metric { display:flex; align-items:center; color:var(--text-2); cursor:pointer; text-align:left; flex:0 1 auto; min-height:44px; padding:var(--sp-2) var(--sp-3); gap:var(--sp-3); border:1px solid var(--border); border-radius:var(--r-md); background:var(--surface); }
.recording-metric strong { font-size:var(--fs-sm); font-weight:650; font-variant-numeric:tabular-nums; color:var(--text); }
.recording-metric[aria-pressed="true"] { border-color:var(--accent); background:var(--accent-bg); color:var(--accent-fg); }
.recording-scope { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--sp-2); color:var(--text-3); font-size:var(--fs-xs); line-height:1.5; margin:var(--sp-3) 0 var(--sp-5); }
.recording-list-heading { min-height:54px; }
.recording-month { display:flex; justify-content:space-between; align-items:center; gap:var(--sp-2); padding:var(--sp-5) var(--sp-4) var(--sp-3); }
.recording-month h4 { font-size:var(--fs-md); margin:0; color:var(--text); }
.recording-month > span { font-size:var(--fs-xs); color:var(--text-2); white-space:nowrap; }
.recording-day { padding:var(--sp-2) var(--sp-4); background:var(--surface-2); border-block:1px solid var(--border-faint); }
.recording-day h5 { margin:0; font-size:var(--fs-xs); font-weight:500; color:var(--text-2); line-height:1.6; }
.recording-row .recording-row-date { font-variant-numeric:tabular-nums; font-size:var(--fs-xs); color:var(--text-2); }
.recording-row[aria-pressed="true"] .recording-row-date { color:var(--accent-fg); }
.recording-back { display:none; margin-bottom:var(--sp-4); }
.recording-welcome { max-width:440px; margin:var(--sp-8) auto; padding:var(--sp-4); }
.recording-welcome > p { color:var(--text-2); line-height:1.7; margin:var(--sp-3) 0 0; }
@media(max-width:760px) {
  .recording-toolbar label:first-child { flex-basis:100%; }
  .recording-toolbar > label { flex:1 1 130px; }
  .recording-toolbar > button { flex:1 1 100%; }
  .recording-date-range label,.recording-date-range label:first-child { flex:1 1 120px; min-width:0; }
  .recording-date-range > span { flex-basis:100%; padding:0; }
  .recording-metric { flex:1 1 43%; justify-content:space-between; }
  .recording-back { display:inline-flex; }
  .recording-list ul { max-height:360px; }
  .recording-welcome { margin:var(--sp-5) auto; }
}
.recording-contact-link { border:0; padding:0; margin:var(--sp-4) 0; min-width:0; }
.recording-contact-link legend { font-weight:600; margin-bottom:var(--sp-2); }
.recording-contact-results { display:flex; flex-wrap:wrap; gap:var(--sp-2); margin-top:var(--sp-2); }
.recording-consent { margin:var(--sp-4) 0; padding:var(--sp-3); background:var(--surface-2); border:1px solid var(--border-faint); border-radius:var(--r-md); }
.recording-consent h4 { margin:0 0 var(--sp-2); }
.recording-consent-script { margin:var(--sp-3) 0; padding:var(--sp-3); border-left:1px solid var(--border-faint); overflow-wrap:anywhere; }

/* ---- Rose UI 2026: paper, ink and one volt signal ----
   Local aliases fall back to the pre-2026 tokens. The call's waveform is an
   ink strip with volt bars drawn from its own transcript. */
.recording-archive,
.recording-tabs {
  --rx-card: var(--card, var(--surface));
  --rx-card-2: var(--card-2, var(--surface-2));
  --rx-well: var(--paper-2, var(--surface-2));
  --rx-line: var(--line, var(--border-faint));
  --rx-line-strong: var(--line-strong, var(--border));
  --rx-muted: var(--muted, var(--text-3));
  --rx-volt: var(--volt, #CFF465);
  --rx-volt-ink: var(--volt-ink, #1F2A00);
  --rx-volt-soft: var(--volt-soft, rgba(207, 244, 101, .28));
  --rx-soft-ink: var(--volt-ink, #1F2A00);
  --rx-panel: var(--ink-panel, #0B0D12);
  --rx-r-card: var(--r-card, 16px);
  --rx-shadow: var(--shadow-card, 0 1px 2px rgba(11, 13, 18, .04), 0 10px 30px -12px rgba(11, 13, 18, .14));
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) :is(.recording-archive, .recording-tabs) { --rx-soft-ink: var(--volt, #CFF465); --rx-volt-soft: var(--volt-soft, rgba(207, 244, 101, .16)); }
}
:root[data-theme="dark"] :is(.recording-archive, .recording-tabs) { --rx-soft-ink: var(--volt, #CFF465); --rx-volt-soft: var(--volt-soft, rgba(207, 244, 101, .16)); }

.recording-archive { width: min(100%, 1440px); margin: 0 auto; padding: var(--sp-7); }
.recording-tabs {
  width: fit-content;
  max-width: calc(100% - 2 * var(--sp-6));
  margin: var(--sp-5) var(--sp-6) 0;
  padding: 3px;
  gap: 2px;
  border: 1px solid var(--rx-line);
  border-radius: 999px;
  background: var(--rx-well);
}
.recording-tabs .btn { min-height: 36px; border: 0; border-radius: 999px; background: transparent; color: var(--rx-muted); font-weight: 500; box-shadow: none; }
.recording-tabs [aria-pressed="true"] { background: var(--rx-card); color: var(--text); border-color: transparent; font-weight: 600; box-shadow: 0 1px 2px rgba(11, 13, 18, .08), 0 2px 8px -4px rgba(11, 13, 18, .16); }
.recording-tabs button:focus-visible { outline: 2px solid var(--rx-volt); outline-offset: 2px; }
.recording-tabs[hidden] { display: none; }
.recording-heading { align-items: flex-end; }
.recording-heading h2 { font-size: var(--fs-2xl); font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; }
.recording-heading p { color: var(--rx-muted); }
.recording-metric { border-color: var(--rx-line); border-radius: 999px; background: var(--rx-card); padding: var(--sp-2) var(--sp-4); }
.recording-metric:hover { background: var(--rx-card-2); }
.recording-metric[aria-pressed="true"] { border-color: transparent; background: var(--rx-volt); color: var(--rx-volt-ink); }
.recording-metric[aria-pressed="true"] strong { color: var(--rx-volt-ink); }
.recording-layout { border-color: var(--rx-line); border-radius: var(--rx-r-card); background: var(--rx-card); box-shadow: var(--rx-shadow); overflow: hidden; }
.recording-list { border-right-color: var(--rx-line); }
.recording-list-heading { border-bottom-color: var(--rx-line); }
.recording-row { border-bottom-color: var(--rx-line); }
.recording-row:hover { background: var(--rx-card-2); }
.recording-row[aria-pressed="true"] { background: var(--rx-volt-soft); color: var(--text); }
.recording-row[aria-pressed="true"] .recording-row-date { color: var(--rx-soft-ink); }
.recording-badge { border: 0; border-radius: 999px; padding: 1px 9px; background: var(--rx-well); color: var(--text); }
.recording-badge-warn { background: var(--coral-soft, var(--warn-bg)); color: var(--text); }
.recording-day { background: var(--rx-well); border-block-color: var(--rx-line); }
.recording-detail-tabs { border-bottom-color: var(--rx-line); }
.recording-detail-tabs button:hover { color: var(--text); }
.recording-detail-tabs [aria-selected="true"] { border-bottom-color: var(--text); color: var(--text); font-weight: 600; }
.recording-transcript { background: var(--rx-well); border-radius: 12px; }
.recording-transcript [data-cue]:focus { background: var(--rx-volt-soft); color: var(--text); outline: 1px solid var(--rx-line-strong); }
.recording-highlights button { border-color: var(--rx-line); border-radius: 999px; background: var(--rx-card); color: var(--text); }
.recording-highlights button:hover { background: var(--rx-volt-soft); border-color: transparent; }
.recording-prompt, .recording-assignment, .recording-consent { border-color: var(--rx-line); border-radius: 12px; background: var(--rx-card-2); }
.recording-consent-script { border-left-width: 1px; border-left-color: var(--rx-line-strong); }
.recording-archive button:focus-visible,.recording-archive a:focus-visible,.recording-archive summary:focus-visible,.recording-transcript:focus-visible { outline-color: var(--rx-volt); }

.recording-wave {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 64px;
  margin: var(--sp-3) 0 var(--sp-1);
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--rx-panel);
}
.recording-wave span { flex: 1 1 0; min-width: 2px; height: var(--h, 40%); border-radius: 999px; background: var(--rx-volt); opacity: .9; }
.recording-wave.is-idle span { opacity: .55; }

.recording-empty {
  max-width: 560px;
  margin: var(--sp-6) auto;
  padding: var(--sp-7) var(--sp-6);
  border: 1px solid var(--rx-line);
  border-radius: var(--rx-r-card);
  background: var(--rx-card);
  box-shadow: var(--rx-shadow);
  text-align: center;
}
.recording-empty h2 { margin: var(--sp-4) 0 var(--sp-2); font-size: var(--fs-xl); font-weight: 650; letter-spacing: -0.02em; }
.recording-empty p { margin: 0 auto var(--sp-5); max-width: 44ch; color: var(--rx-muted); line-height: 1.55; }
.recording-empty.card--ink { background: var(--rx-panel); border-color: rgba(241, 238, 231, .12); color: #F1EEE7; box-shadow: var(--shadow-ink, 0 30px 60px -20px rgba(0, 0, 0, .45)); }
.recording-empty.card--ink p { color: rgba(241, 238, 231, .7); }
.recording-empty.card--ink .recording-wave { margin: 0; padding: 0; height: 72px; background: transparent; }
.recording-empty.card--ink .btn { border-color: transparent; border-radius: 999px; background: var(--rx-volt); color: var(--rx-volt-ink); min-height: 40px; padding: 0 var(--sp-5); }
.recording-empty.card--ink .btn:focus-visible { outline: 2px solid var(--rx-volt); outline-offset: 3px; }
@media(max-width:760px) {
  .recording-archive { padding: var(--sp-4); }
  .recording-tabs { margin: var(--sp-4) var(--sp-4) 0; max-width: calc(100% - 2 * var(--sp-4)); }
  .recording-tabs .btn { min-height: 44px; }
  .recording-empty { margin: var(--sp-4) 0; padding: var(--sp-6) var(--sp-4); }
  .recording-empty.card--ink .btn { min-height: 44px; }
  .recording-wave { height: 52px; }
}
