.audio-toolbar,.audio-tabs,.audio-tags,.audio-actions,.audio-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audio-toolbar{margin-bottom:16px}.audio-toolbar input{flex:1;min-width:180px}.audio-toolbar>span{font-size:12px;color:#64748b}.audio-tabs button,.audio-tags button,.audio-actions button,.audio-actions a,.audio-toolbar>button,.audio-dialog button{border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:9px 13px;color:#243e62;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}.audio-tabs .selected,.audio-tags .selected{background:#e7efff;border-color:#527be9;color:#2451bb}.audio-tags{margin-bottom:16px}.audio-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #dce5ef;background:#fff;border-radius:14px;padding:18px;margin-bottom:10px}.audio-info{min-width:0}.audio-info h3{font-size:16px;margin:0 0 10px;overflow-wrap:anywhere}.audio-badges>span{font-size:12px;background:#edf3fa;padding:4px 8px;border-radius:6px}.audio-warning{color:#b42332;background:#fff0f1;padding:4px 8px;border-radius:6px;font-size:12px}.audio-intro,.audio-empty{padding:28px;border:1px solid #dce5ef;border-radius:14px;background:#fff}.audio-dialog{width:min(560px,92vw);max-height:90vh;overflow:auto;border:1px solid #cbd5e1;border-radius:16px;padding:24px}.audio-dialog::backdrop{background:#13253a80}.audio-dialog label{display:grid;gap:6px;margin:12px 0;font-size:13px}.audio-dialog input,.audio-dialog select,.audio-toolbar input{padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;min-width:0}.audio-dialog input[type=file]{max-width:100%}.audio-dialog input[type=checkbox]{width:18px;height:18px}.audio-grants{max-height:55vh;overflow:auto}.audio-grants label{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid #eee}.audio-message{font-size:13px;color:#b42332}.audio-actions{flex-shrink:0}.audio-dialog button:disabled{opacity:.5}@media(max-width:760px){.audio-row{align-items:stretch;flex-direction:column;gap:14px}.audio-actions{gap:6px}.audio-toolbar input{width:100%;flex-basis:100%}}

.audio-player{position:sticky;bottom:12px;z-index:5;border:1px solid #cbd9ec;border-radius:14px;background:#fff;padding:14px 18px;box-shadow:0 4px 20px #183c6820;margin-top:18px;max-width:720px;margin-left:auto}.audio-player-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.audio-player-heading>div{min-width:0}.audio-player-heading small{display:block;color:#64748b;font-size:12px}.audio-player-heading strong{display:block;overflow-wrap:anywhere;margin-top:4px;font-size:15px}.audio-player button{border:1px solid #cbd5e1;border-radius:10px;padding:7px 12px;background:#fff;color:#243e62;cursor:pointer;flex-shrink:0}.audio-player audio{width:100%;height:40px;margin-top:10px}.audio-player p{font-size:12px;color:#64748b;margin:5px 0 0}@media(max-width:760px){.audio-player{bottom:6px;padding:12px;width:100%;box-sizing:border-box}}

/* Keep the single player beside the section title, independent of list length. */
.topbar.audio-topbar{position:sticky;top:0;z-index:20;background:var(--bg,#f4f5f8);display:grid;grid-template-columns:minmax(140px,1fr) minmax(320px,640px) auto;align-items:center;gap:20px;padding:12px 0;margin-bottom:20px}
.audio-topbar>div:first-child{grid-column:1;grid-row:1;min-width:0}.audio-topbar>.live-dot{grid-column:3;grid-row:1}
.audio-topbar>.audio-player{grid-column:2;grid-row:1;position:static;margin:0;width:100%;max-width:none;min-width:0;padding:10px 14px;box-shadow:0 2px 10px #183c6810}
.audio-topbar .audio-player-heading strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-topbar .audio-player audio{height:34px;margin-top:6px}.audio-topbar .audio-player p{margin-top:3px}
@media(max-width:1100px){.topbar.audio-topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:10px 0}.audio-topbar>.live-dot{grid-column:2;grid-row:1}.audio-topbar>.audio-player{grid-column:1/-1;grid-row:2}.audio-topbar #pageTitle{font-size:22px}.audio-topbar #pageSubtitle{margin:4px 0 0}}

/* Compact button filters; no additional server requests. */
.audio-filter-row{display:flex;align-items:flex-start;gap:12px;margin:10px 0}.audio-filter-label{font-size:12px;color:#64748b;min-width:28px;padding-top:9px}.audio-filter-row .audio-tags{margin:0}.audio-sort{display:flex;gap:8px;flex-wrap:wrap}.audio-sort button{border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:9px 13px;color:#243e62;font:inherit;font-size:13px;cursor:pointer}.audio-sort .selected{background:#e7efff;border-color:#527be9;color:#2451bb}.audio-dialog [hidden]{display:none!important}.audio-tag-picker{border:1px solid #dce5ef;border-radius:10px;padding:10px 12px;margin:12px 0;display:flex;gap:8px;flex-wrap:wrap}.audio-tag-picker legend{font-size:13px}.audio-tag-picker label{display:flex;align-items:center;gap:6px;margin:0;padding:7px 10px;border:1px solid #dce5ef;border-radius:8px;cursor:pointer}.audio-tag-picker input{margin:0}.audio-tag-picker label:has(input:checked){background:#e7efff;border-color:#527be9;color:#2451bb}.audio-sort button:focus-visible,.audio-tags button:focus-visible{outline:2px solid #2451bb;outline-offset:2px}

.audio-library-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;color:#243e62}.audio-library-summary strong{font-size:16px}.audio-library-summary span{font-size:13px;color:#64748b}.audio-guidance{margin:14px 0 18px;padding:12px 16px;border:1px solid #dce5ef;border-radius:10px;background:#edf3fa;color:#475569;font-size:13px;line-height:1.65}.audio-guidance p{margin:0}.audio-guidance p+p{margin-top:4px}

/* Multiple uploads use one streaming request at a time. */
.audio-batch-dialog{width:min(820px,94vw);padding:22px;box-sizing:border-box}.audio-batch-header h3{margin:0 0 8px}.audio-batch-header p,.audio-batch-dialog small{color:#64748b;font-size:12px;line-height:1.6}.audio-batch-common{margin:16px 0;border:1px solid #dce5ef;border-radius:12px;padding:12px}.audio-batch-common summary{cursor:pointer;font-weight:600;font-size:14px}.audio-batch-common summary span{font-size:12px;font-weight:400;color:#64748b;margin-left:8px}.audio-batch-common form>small{display:block;margin-top:8px}.audio-batch-list{display:grid;gap:10px}.audio-batch-card{border:1px solid #dce5ef;border-radius:12px;background:#fff;padding:12px}.audio-batch-card>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none}.audio-batch-card>summary::-webkit-details-marker{display:none}.audio-batch-card>summary>span:first-child{min-width:0}.audio-batch-card strong,.audio-batch-card small{display:block;overflow-wrap:anywhere}.audio-batch-card strong{font-size:14px}.audio-batch-card [data-row-state]{flex-shrink:0;font-size:12px;color:#52657f;border-radius:8px;background:#edf3fa;padding:6px 9px}.audio-batch-card[data-state=done]{border-color:#9cd5b4;background:#f3fbf6}.audio-batch-card[data-state=done] [data-row-state]{background:#def4e6;color:#21683e}.audio-batch-card[data-state=error],.audio-batch-card[data-state=unknown]{border-color:#e9b7bc}.audio-batch-card[data-state=unknown] [data-row-state]{color:#a73543;background:#fff0f1}.audio-batch-dialog progress{display:block;width:100%;height:8px;accent-color:#527be9;margin:10px 0}.audio-batch-footer{position:sticky;bottom:-22px;background:#fff;border-top:1px solid #dce5ef;padding:14px 0 8px;margin-top:16px;z-index:2}.audio-batch-footer p{font-size:13px;margin:0 0 8px}.audio-batch-footer .audio-actions{justify-content:flex-end}.audio-batch-footer [data-batch-save]{background:#2451bb;color:#fff;border-color:#2451bb}.audio-batch-dialog [data-batch-message]{white-space:pre-line}.audio-batch-dialog input:disabled,.audio-batch-dialog select:disabled{color:#64748b;background:#f3f6fa}.audio-batch-picker input{width:100%;box-sizing:border-box}@media(max-width:600px){.audio-batch-dialog{padding:16px}.audio-batch-footer{bottom:-16px}.audio-batch-card>summary{align-items:flex-start;gap:8px}.audio-batch-common summary span{display:block;margin:5px 0 0}.audio-batch-footer .audio-actions{justify-content:stretch}.audio-batch-footer .audio-actions button{flex:1}}
