/* Presentation over the existing editor, reader and context-page contracts. */
.menu-group + .menu-group { border-top:1px solid var(--line); margin-top:4px; padding-top:5px; }
.menu-group-label { display:block; padding:7px 12px 4px; font-size:11px; font-weight:650; color:var(--muted); }
.studio-workspace .header-actions #previewComposition { background:transparent; }
.desktop-source-nav { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.desktop-source-nav > button { padding:6px 8px; font-size:12px; min-height:36px; }
.source-picker { flex:1 1 160px; min-width:0; }
.source-picker > summary { cursor:pointer; list-style-position:inside; border:1px solid var(--line); padding:8px; border-radius:5px; background:white; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.source-picker[open] { z-index:12; }
.source-picker-popup { position:absolute; z-index:12; top:100%; left:12px; right:12px; padding:10px; background:white; border:1px solid var(--line); border-radius:6px; box-shadow:0 6px 20px #15293d20; }
.source-picker-popup input { width:100%; font-size:13px; }
#sourceChoices { display:grid; max-height:min(360px,50dvh); overflow:auto; margin-top:8px; }
#sourceChoices button { display:block; text-align:left; white-space:normal; overflow-wrap:anywhere; border:0; border-radius:3px; background:white; min-height:40px; font-size:13px; }
#sourceChoices button:hover,#sourceChoices button[aria-current=true] { background:var(--pale-blue); color:#176b9f; }
#contextPosition { flex-basis:100%; text-align:right; color:var(--muted); font-size:11px; }
.studio-workspace .context-page-strip { display:none; }
.studio-workspace .context-navigation { padding-bottom:10px; position:relative; }
.sequence-playback { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:8px 0; }
.sequence-playback > strong { font-size:12px; color:var(--muted); white-space:nowrap; }
.sequence-playback .sequence-controls { flex:1; margin:0; padding:0; border:0; }
.studio-workspace .preview-empty p { color:var(--muted); }
.render-hint { font-size:12px; color:#896114; margin:4px 0 12px; }
.studio-workspace .clip-top .clip-label { display:block; text-align:left; color:var(--ink); font-family:inherit; min-height:38px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.studio-workspace .clip-top .clip-number { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.studio-workspace .clip-rename { flex:1; min-width:100px; width:auto; font-size:14px; }
.studio-workspace button.clip-source { display:block; text-align:left; padding:4px 0; border:0; background:transparent; white-space:normal; font-size:12px; line-height:1.5; color:#176b9f; }
.clip-review-actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.clip-advanced { margin:10px 0; }
.clip-advanced > summary { cursor:pointer; font-size:12px; color:var(--muted); }
.clip-advanced label { display:block; max-width:220px; margin-top:8px; }
.clip-pending-actions { display:flex; gap:8px; margin-top:10px; }
.clip-pending-actions[hidden] { display:none; }
.clip-pending-actions button:first-child { background:var(--pale-blue); }
.studio-workspace .clip-inspector .clip-confirm { margin:12px 0 4px; }
.studio-workspace .word-data-controls { font-size:12px; margin:8px 0; }
.word-data-controls p { margin:8px 0; line-height:1.5; }
.studio-workspace .source-title h3 { font-size:18px; margin:6px 0; }
.studio-workspace #mediaState { font-size:12px; margin-bottom:8px; }
.library-filter-row { display:flex; align-items:flex-start; gap:8px; margin:8px 0; }
.library-filter-row > select { flex:1; width:0; min-width:100px; font-size:12px; }
.recording-filters { position:relative; flex-shrink:0; }
.recording-filters > summary { cursor:pointer; padding:8px; border:1px solid var(--line); border-radius:5px; font-size:12px; background:white; }
.recording-filters[open] { z-index:10; }
.recording-filters .filters { position:absolute; top:calc(100% + 4px); right:0; width:250px; padding:12px; display:grid; gap:10px; background:white; border:1px solid var(--line); border-radius:5px; box-shadow:0 5px 20px #15293d18; }
.recording-filters .filters select { width:100%; max-width:none; }
.studio-workspace .browser-heading { margin-bottom:8px; }
.browser-heading .command-menu > summary { min-height:32px; padding:6px 10px; }
.workspace-info { font-size:11px; color:var(--muted); }
.workspace-info summary { cursor:pointer; padding:5px 0; }
.workspace-info p { margin:5px 0; }
.studio-workspace .draft-status:has(#pendingState:empty):not(:has(button:not([hidden]))) { display:none; }
.studio-workspace .work-footer { margin-top:8px; }
@media(max-width:1100px) {
 .desktop-source-nav { display:none; }
 .studio-workspace .context-page-strip { display:flex; }
 .context-navigation { padding-top:8px; }
}
@media(max-width:790px) {
 .sequence-playback { gap:5px; }.sequence-playback > strong { flex-basis:100%; }
 .sequence-playback .sequence-controls { flex-wrap:wrap; }
 .studio-workspace .clip-top .clip-label { flex:1 1 calc(100% - 45px); }
 .library-filter-row { gap:5px; }.recording-filters .filters { width:min(250px,85vw); }
}

/* Review refinements keep the existing panels and bounded data flows. */
.word-range-controls { display:inline-flex; gap:4px; }
.word-range-controls[hidden] { display:none; }
.word-range-controls button[aria-pressed=true] { background:var(--pale-blue); border-color:var(--blue); }
.recording-version { display:block; overflow-wrap:anywhere; color:var(--muted); font-size:11px; margin-top:5px; }
.code-choice { position:relative; border-bottom:1px solid var(--line); padding:6px 0; }
.code-choice .code-result { width:100%; }
.code-choice > button:last-child { font-size:12px; margin:3px 8px; }
.publication-inspector { width:min(1100px,94vw); max-height:90dvh; overflow:auto; }
.publication-panels { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:16px; }
.publication-panels > section { min-width:0; }
.publication-reading { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; line-height:1.65; max-height:55dvh; overflow:auto; padding:12px; background:#f6f9fc; }
.publication-panels details { font-size:12px; overflow-wrap:anywhere; }
.committee-history-dialog { width:min(960px,94vw); max-height:90dvh; overflow:auto; }
.committee-history-dialog .committee-batches { display:block; columns:auto; }
.committee-batches > details { display:block; width:100%; margin:10px 0; border:1px solid var(--line); padding:10px; }
.committee-batches > details > summary { cursor:pointer; font-weight:600; }
.committee-batches article { padding:10px 0; border-bottom:1px solid var(--line); }
.session-discovery form { display:flex; flex-wrap:wrap; gap:8px; align-items:end; }
.session-discovery label { display:grid; gap:5px; min-width:100px; }
.session-discovery input { width:100%; }
.session-discovery [data-bills] > details { padding:10px 0; border-bottom:1px solid var(--line); }
@media(max-width:790px) {
 .studio-workspace .app-header { gap:5px 12px; padding:6px 12px; }
 .studio-workspace .project-bar { gap:6px; padding:8px 12px; }
 .studio-workspace .project-state { font-size:11px; gap:5px; }
 .studio-workspace .header-actions { gap:5px; }
 .studio-workspace .header-actions button,.studio-workspace .header-actions summary { min-height:36px; padding:7px; font-size:12px; }
 .studio-workspace .source-title h3 { font-size:16px; }
 .studio-workspace .context-navigation { padding:7px 10px; }
 .word-range-controls button { padding:7px; }
 .publication-inspector,.committee-history-dialog { padding:14px; }
}
.word-data-controls p { overflow-wrap:anywhere; }
/* Browser export is an explicit, cancellable task, separate from clip preview. */
.video-export-dialog{width:min(92vw,600px);max-height:85vh;overflow:auto;padding:28px}
.video-export-dialog p{line-height:1.6;margin:14px 0}.video-export-dialog progress{display:block;width:100%;margin-top:18px}
.video-export-dialog progress[hidden]{display:none}.video-export-dialog details{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}
.video-export-dialog form{margin-top:24px;text-align:right}.video-export-dialog>button{margin:0 8px 8px 0}
