/* Voces & Audio: approved premise / voice / narration workspace. Scoped to this module. */
#module-audio .vsp-audio-studio { --audio-line:rgba(0,222,239,.4); --audio-muted:#a9bed1; --audio-amber:#ffb12b; }
#module-audio .vsp-audio-studio .audio-2col { display:grid; grid-template-columns:minmax(285px, .9fr) minmax(0, 2.1fr); gap:20px; margin-top:22px; align-items:start; }
#module-audio .vsp-audio-studio .audio-sidebar,#module-audio .vsp-audio-studio .audio-main { display:flex; flex-direction:column; gap:16px; min-width:0; }
#module-audio .vsp-audio-studio .card { border:1px solid var(--audio-line); border-radius:15px; background:linear-gradient(140deg,#10171c,#0b1014); padding:22px; box-shadow:0 6px 24px #00d9ed08; min-width:0; }
#module-audio .vsp-audio-studio h3 { color:var(--audio-amber); margin:0 0 12px; font-size:1.35rem; line-height:1.3; }
#module-audio .vsp-audio-studio p { color:var(--audio-muted); line-height:1.55; }
#module-audio .vsp-audio-studio .audio-source-chip { display:inline-block; padding:5px 10px; margin-bottom:12px; border-radius:18px; background:#ffffff09; color:#b8cadb; letter-spacing:.1em; font-size:.68rem; }
#module-audio .vsp-audio-studio #audio-premise { width:100%; min-height:115px; padding:4px 0; border:1px solid transparent; border-radius:8px; background:transparent; color:#dce7f3; font:inherit; line-height:1.65; resize:vertical; }
#module-audio .vsp-audio-studio #audio-premise:focus { outline:2px solid #00d9ed; outline-offset:5px; }
#module-audio .vsp-audio-studio .audio-secondary { margin-top:12px; padding:9px 15px; border:1px solid #9763db; color:#c8a2fa; border-radius:8px; background:#8050bd18; cursor:pointer; font:inherit; }
#module-audio .vsp-audio-studio .audio-voice-card .control-group { margin-bottom:16px; }
#module-audio .vsp-audio-studio .audio-voice-card hr { display:none; }
#module-audio .vsp-audio-studio .audio-voice-card label { color:var(--audio-muted); font-size:.85rem; display:block; margin-bottom:7px; }
#module-audio .vsp-audio-studio select { width:100%; color:#e6eef8; background:#111c26; border:1px solid #344652; border-radius:8px; min-height:38px; padding:8px; }
#module-audio .vsp-audio-studio .voice-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; margin-top:14px; }
#module-audio .vsp-audio-studio .voice-group { min-width:0; }
#module-audio .vsp-audio-studio .voice-group h4 { margin:0 0 10px; padding:10px 0; border-bottom:1px solid #31414b; color:var(--audio-muted); font-size:.9rem; text-align:center; }
#module-audio .vsp-audio-studio .voice-col { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; }
#module-audio .vsp-audio-studio [hidden] { display:none!important; }
#module-audio .vsp-audio-studio .voice-card { padding:9px 8px; border:1px solid #344652; border-radius:7px; background:#14202a; color:#cfdded; cursor:pointer; font:inherit; min-width:0; }
#module-audio .vsp-audio-studio .voice-card.active { color:#00e4f5; border-color:#00d9ed; background:#07303a; }
#module-audio .vsp-audio-studio .audio-preview-voice { width:100%; text-align:left; margin:12px 0 18px; padding:12px 14px; color:#00e4f5; border:1px solid #264552; border-radius:9px; background:#071c26; font:inherit; cursor:pointer; }
#module-audio .vsp-audio-studio #audio-preview-name { display:block; color:var(--audio-muted); font-size:.8rem; margin-top:5px; }
#module-audio .vsp-audio-studio .audio-narration-card { display:flex; flex-direction:column; }
#module-audio .vsp-audio-studio .audio-script-gen-block { padding-bottom:24px; border-bottom:1px solid #2b3b48; margin-bottom:24px; }
#module-audio .vsp-audio-studio .audio-field-label { margin:18px 0 9px; font-size:.9rem; }
#module-audio .vsp-audio-studio .audio-pills-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
#module-audio .vsp-audio-studio .audio-duration-pill,#module-audio .vsp-audio-studio .audio-usecase-pill { display:flex; flex-direction:column; justify-content:center; gap:7px; min-height:72px; padding:12px 9px; color:#dce7f3; background:#141e28; border:1px solid #3a4b59; border-radius:10px; cursor:pointer; font:inherit; line-height:1.4; }
#module-audio .vsp-audio-studio .audio-pills-grid span { font-size:.8rem; color:var(--audio-muted); }
#module-audio .vsp-audio-studio .audio-usecase-pill { min-height:105px; }
#module-audio .vsp-audio-studio .audio-usecase-pill strong { font-size:.84rem; }
#module-audio .vsp-audio-studio .audio-pills-grid .active { border-color:#00d9ed; background:#00364070; box-shadow:0 0 12px #00d9ed22; color:#00e4f5; }
#module-audio .vsp-audio-studio #btn-generate-script { width:100%; margin-top:18px; padding:14px; border:1px solid #d49424; color:var(--audio-amber); background:linear-gradient(110deg,#62410e66,#44300b44); border-radius:9px; }
#module-audio .vsp-audio-studio #audio-script { min-height:330px!important; flex:1; resize:vertical; color:#e1eaf5; background:#111a22; border:1px solid #3c4e5c; border-radius:9px; padding:16px; font:inherit; line-height:1.8; }
#module-audio .vsp-audio-studio .emotion-tags .tag-btn { padding:7px 11px; color:#dce7f3; background:#1c2935; border:1px solid #405366; border-radius:7px; cursor:pointer; }
#module-audio .vsp-audio-studio #audio-narration-status { font-size:.7rem; color:#00e4f5; margin-left:10px; font-weight:500; }
#module-audio .vsp-audio-studio #script-spinner { min-height:330px; flex-direction:column; align-items:center; justify-content:center; gap:16px; text-align:center; padding:25px; border:1px solid #3c4e5c; border-radius:9px; background:#111a22; }
#module-audio .vsp-audio-studio #script-spinner strong { color:var(--audio-amber); font-size:1.2rem; }
#module-audio .vsp-audio-studio #script-spinner p { margin:0; }
#module-audio .vsp-audio-studio .audio-loading-ring { width:60px; height:60px; border:6px solid #ffffff15; border-top-color:var(--audio-amber); border-right-color:var(--audio-amber); border-radius:50%; animation:audio-studio-spin 1s linear infinite; }
@keyframes audio-studio-spin { to { transform:rotate(360deg); } }
@keyframes micSpin { to { transform:rotate(360deg); } }
@keyframes micGlow { 50% { box-shadow:0 0 18px #00d9ed55; } }
#module-audio .vsp-audio-studio .card { margin-bottom:0; }
#module-audio .vsp-audio-studio .card:hover { transform:none; }
#module-audio .vsp-audio-studio .voice-card.active .voice-name { color:#00e4f5; }
#module-audio .vsp-audio-studio #audio-narration-error { color:#ffc280; background:#6c3b1322; padding:12px; border-radius:8px; }
#module-audio .vsp-audio-studio #gen-audio-btn { width:100%!important; color:#001c24; background:linear-gradient(110deg,#00d7e8,#00b8dc); border:1px solid #00d9ed; border-radius:10px; padding:15px; font-weight:700; }
#module-audio .vsp-audio-studio button:disabled { opacity:.45; cursor:default; box-shadow:none; }
#module-audio .vsp-audio-studio button:focus-visible { outline:2px solid #00e4f5; outline-offset:3px; }
#module-audio .vsp-audio-studio .audio-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media (max-width:1250px) { #module-audio .vsp-audio-studio .audio-pills-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } #module-audio .vsp-audio-studio .card { padding:18px; } }
@media (max-width:850px) { #module-audio .vsp-audio-studio .audio-2col { grid-template-columns:1fr; } }

/* Premium catalogue: only the list scrolls; search, close and confirmation stay visible. */
#module-audio .vsp-audio-studio .premium-current { display:flex; gap:12px; align-items:center; padding:14px; border:1px solid #247082; border-radius:12px; background:#05252e; margin:12px 0; }
#module-audio .vsp-audio-studio .premium-current > div { flex:1; min-width:0; overflow-wrap:anywhere; }
#module-audio .vsp-audio-studio .premium-current small { display:block; margin-top:5px; color:var(--audio-muted); }
#module-audio .vsp-audio-studio .premium-monogram { flex:none; display:grid; place-items:center; width:40px; height:40px; border:1px solid #40cfed; border-radius:50%; color:#e4f7ff; font-weight:600; }
#module-audio .vsp-audio-studio .premium-open,#module-audio .vsp-audio-studio .premium-confirm { background:#06c7df; color:#05202a; border:1px solid #21d4ee; border-radius:9px; padding:12px 16px; font:inherit; font-weight:700; cursor:pointer; }
#module-audio .vsp-audio-studio .premium-open { width:100%; }
#module-audio .vsp-audio-studio .premium-current-play,#module-audio .vsp-audio-studio [data-sample] { flex:none; align-self:center; width:38px; height:38px; border:1px solid #4acbec; border-radius:50%; color:#e4f8ff; background:#07212d; cursor:pointer; }
#module-audio .vsp-audio-studio .premium-dialog { box-sizing:border-box; width:min(1020px,calc(100vw - 32px)); height:min(790px,calc(100dvh - 40px)); max-width:none; max-height:none; padding:0; border:1px solid #00d9ed; border-radius:16px; background:linear-gradient(130deg,#081a27,#07111c); color:#e7f0fc; box-shadow:0 18px 70px #000a; }
#module-audio .vsp-audio-studio .premium-dialog::backdrop { background:#000b; }
#module-audio .vsp-audio-studio .premium-dialog-layout { height:100%; min-height:0; display:flex; flex-direction:column; }
#module-audio .vsp-audio-studio .premium-dialog header { display:flex; align-items:flex-start; gap:16px; padding:22px 24px 8px; flex-shrink:0; }
#module-audio .vsp-audio-studio .premium-dialog header > div { flex:1; }
#module-audio .vsp-audio-studio .premium-dialog header h3 { margin:0 0 8px; }
#module-audio .vsp-audio-studio .premium-dialog header p { margin:0; font-size:.9rem; }
#module-audio .vsp-audio-studio .premium-close { background:none; border:0; color:#d1e7f4; font-size:30px; cursor:pointer; padding:0 7px; }
#module-audio .vsp-audio-studio .premium-search { padding:12px 24px 0; flex-shrink:0; }
#module-audio .vsp-audio-studio .premium-search input { box-sizing:border-box; width:100%; padding:12px 15px; border:1px solid #355268; border-radius:9px; background:#0e202e; color:#ecf5ff; font:inherit; }
#module-audio .vsp-audio-studio .premium-results { margin:8px 0; font-size:.8rem; min-height:1.2em; }
#module-audio .vsp-audio-studio .premium-catalog { min-height:0; flex:1; overflow-y:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:0 24px 20px; align-content:start; scrollbar-color:#3c657b transparent; }
#module-audio .vsp-audio-studio .premium-group h4 { margin:12px 0; color:#ffcb6c; font-size:1.05rem; }
#module-audio .vsp-audio-studio .premium-voice { display:flex; align-items:stretch; gap:8px; padding:10px; border:1px solid #304859; border-radius:11px; background:#10202c; margin-bottom:9px; min-height:64px; box-sizing:border-box; }
#module-audio .vsp-audio-studio .premium-voice.is-selected { background:#073142; border-color:#00d9ed; box-shadow:0 0 9px #00d9ed22; }
#module-audio .vsp-audio-studio [data-choose] { flex:1; min-width:0; display:flex; gap:10px; align-items:center; background:none; border:0; color:inherit; padding:0; text-align:left; font:inherit; font-size:.9rem; cursor:pointer; overflow-wrap:anywhere; }
#module-audio .vsp-audio-studio .premium-check { color:#00d9ed; margin-left:auto; visibility:hidden; }
#module-audio .vsp-audio-studio [aria-pressed=true] .premium-check { visibility:visible; }
#module-audio .vsp-audio-studio .premium-dialog footer { flex-shrink:0; padding:16px 24px; border-top:1px solid #2a4555; display:flex; align-items:center; justify-content:space-between; gap:16px; }
#module-audio .vsp-audio-studio .premium-dialog footer p { margin:0; font-size:.9rem; }
#module-audio .vsp-audio-studio .premium-pending { color:#00d9ed; }
#module-audio .vsp-audio-studio .premium-dialog footer > div { display:flex; gap:10px; flex-shrink:0; }
#module-audio .vsp-audio-studio .premium-cancel { border:1px solid #557991; background:transparent; color:#d4e5f3; padding:10px 18px; border-radius:9px; font:inherit; cursor:pointer; }
@media (max-width:650px) {
    #module-audio .vsp-audio-studio .premium-catalog { gap:10px; padding:0 12px 12px; }
    #module-audio .vsp-audio-studio .premium-dialog header,#module-audio .vsp-audio-studio .premium-search { padding-left:14px; padding-right:14px; }
    #module-audio .vsp-audio-studio .premium-voice .premium-monogram { display:none; }
    #module-audio .vsp-audio-studio .premium-voice { flex-direction:column; }
    #module-audio .vsp-audio-studio .premium-dialog footer { align-items:stretch; flex-direction:column; padding:12px; gap:8px; }
    #module-audio .vsp-audio-studio .premium-dialog footer > div > button { flex:1; }
}
/* Voice mode and local Premium direction panel. */
#module-audio .vsp-audio-studio .audio-voice-modes,
#module-audio .vsp-audio-studio .premium-profile { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:4px; background:#07121b; border:1px solid #304857; border-radius:10px; margin-bottom:18px; }
#module-audio .vsp-audio-studio .audio-voice-modes button,
#module-audio .vsp-audio-studio .premium-profile button { min-height:42px; padding:9px 6px; border:1px solid transparent; border-radius:7px; background:transparent; color:#acc4d8; font:inherit; font-size:.85rem; font-weight:600; cursor:pointer; }
#module-audio .vsp-audio-studio .audio-voice-modes [aria-pressed=true],
#module-audio .vsp-audio-studio .premium-profile [aria-pressed=true] { color:#39e4f4; border-color:#00cbdc; background:#06323c; box-shadow:0 0 12px #00cbdc12; }
#module-audio .vsp-audio-studio .premium-open { width:auto; background:#0c202b; color:#bfe7f5; font-weight:500; padding:9px 16px; }
#module-audio .vsp-audio-studio #audio-eleven-settings { margin-top:22px; padding-top:20px; border-top:1px solid #304655; }
#module-audio .vsp-audio-studio .premium-settings-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:16px; }
#module-audio .vsp-audio-studio .premium-settings-heading h4 { margin:0; color:#f2f5fa; font-size:1rem; }
#module-audio .vsp-audio-studio .premium-reset { border:0; color:#a9c1d7; padding:5px 0; background:none; font:inherit; font-size:.75rem; cursor:pointer; }
#module-audio .vsp-audio-studio .premium-profile { margin-bottom:10px; }
#module-audio .vsp-audio-studio .premium-profile-help,
#module-audio .vsp-audio-studio .premium-tag-help { font-size:.78rem; margin:0 0 18px; }
#module-audio .vsp-audio-studio .premium-adjustment { margin-bottom:22px; }
#module-audio .vsp-audio-studio .premium-adjustment > span { display:flex; justify-content:space-between; gap:12px; color:#e6eef8; font-weight:500; }
#module-audio .vsp-audio-studio .premium-adjustment output { color:#4de3f2; }
#module-audio .vsp-audio-studio .premium-adjustment input { display:block; width:100%; margin:12px 0 8px; accent-color:#00d9ed; cursor:pointer; }
#module-audio .vsp-audio-studio .premium-adjustment small { display:flex; justify-content:space-between; gap:8px; font-size:.68rem; color:#99b1c6; }
#module-audio .vsp-audio-studio .premium-boost { display:flex!important; align-items:center; justify-content:space-between; background:#10232e; border:1px solid #2d4858; border-radius:9px; padding:12px; }
#module-audio .vsp-audio-studio .premium-boost input { width:18px; height:18px; accent-color:#00d9ed; }
#module-audio .vsp-audio-studio .premium-tags { display:flex; flex-wrap:wrap; gap:6px; }
#module-audio .vsp-audio-studio .premium-tags button { background:#0b2631; color:#b8e7f2; border:1px solid #355568; border-radius:7px; padding:7px 10px; font:inherit; font-size:.75rem; cursor:pointer; }
#module-audio .vsp-audio-studio .premium-save-status { min-height:1.4em; margin:18px 0 0; text-align:center; color:#64d9df; font-size:.75rem; }

#module-audio .vsp-audio-studio #audio-premium-panel[data-active="false"] .premium-current,
#module-audio .vsp-audio-studio #audio-premium-panel[data-active="false"] .premium-open,
#module-audio .vsp-audio-studio #audio-premium-panel[data-active="false"] #audio-eleven-settings { display:none; }

#module-audio .vsp-audio-studio .premium-intentions { margin-top:20px; border-top:1px solid #304655; padding-top:18px; }
#module-audio .vsp-audio-studio .premium-intentions h4 { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 12px; color:#e6eef8; }
#module-audio .vsp-audio-studio .premium-intentions h4 span { color:#48deea; background:#07323d; border:1px solid #256073; border-radius:20px; padding:5px 9px; font-size:.65rem; font-weight:500; }
#module-audio .vsp-audio-studio .premium-tag-example { margin:14px 0; padding:12px; border:1px solid #294654; background:#0a1b25; border-radius:9px; font-size:.78rem; }
#module-audio .vsp-audio-studio .premium-tag-example strong { color:#d3e9f2; }
#module-audio .vsp-audio-studio .premium-tag-example p { margin:7px 0 0; line-height:1.5; }
