:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#080a12;color:#eef2fb;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #58e4ee;outline-offset:2px}a{color:inherit}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{color:#74eaf0;font-size:.68rem;font-weight:800;letter-spacing:.2em;margin:0 0 .65rem;text-transform:uppercase}
.login-shell{min-height:100svh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 10%,#132e3f 0,transparent 37%),radial-gradient(circle at 85% 85%,#281a3d 0,transparent 33%),#080a12}.login-glow{position:absolute;width:580px;height:580px;border-radius:50%;background:#11d8e0;filter:blur(180px);opacity:.08;pointer-events:none;top:-300px;right:-220px}.login-card{position:relative;width:min(100%,490px);padding:2.25rem;background:linear-gradient(155deg,#171b29,#10121d 65%,#11131d);border:1px solid #34384b;border-radius:28px;box-shadow:0 24px 90px #0009}.login-logo{width:68px;height:68px;object-fit:cover;border-radius:18px;border:1px solid #2f4760;margin-bottom:1.25rem}.login-card h1{font-size:clamp(2.25rem,8vw,3.4rem);line-height:1.02;letter-spacing:-.06em;margin:0}.login-card h1 span{color:#5be7ee}.login-lead{color:#a6afc3;font-size:1rem;line-height:1.5;margin:.9rem 0 1.8rem}.access-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;background:#0b0e17;padding:.4rem;border:1px solid #2b3040;border-radius:14px}.access-choice{min-height:46px;padding:.5rem .35rem;border:0;border-radius:10px;background:transparent;color:#9ca8be;font-size:.78rem;font-weight:750}.access-choice.active{background:#202738;color:#f5fdff;box-shadow:inset 0 0 0 1px #3a5165}.login-form{display:grid;gap:.6rem;margin-top:1.6rem}.login-form label{font-size:.8rem;font-weight:700;color:#b8c2d4}.login-form input,.control-grid select,.output-panel select,.advanced-controls textarea,.advanced-controls select,.create-user-form input,.create-user-form select{width:100%;background:#0b0e17;border:1px solid #30394c;border-radius:11px;color:#f4f7fc;padding:.8rem .9rem;min-height:46px}.login-form input{margin-bottom:.65rem}.login-foot{color:#69758d;font-size:.75rem;text-align:center;margin:1.35rem 0 0}.form-message{min-height:1.35rem;color:#ff9fa8;font-size:.85rem;margin:.7rem 0 0}.primary-button,.secondary-button,.outline-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:48px;padding:.8rem 1rem;border-radius:11px;font-weight:800;border:1px solid transparent;transition:transform .15s ease,background .15s ease}.primary-button{color:#06151d;background:linear-gradient(135deg,#58e8ed,#54c5f3);box-shadow:0 8px 25px #07c7d327}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#7ef1f4,#76d3f5)}.secondary-button{background:#202b3d;color:#e7faff;border-color:#355167}.secondary-button:hover:not(:disabled){background:#2a3c53}.outline-button{background:transparent;color:#d8c2ff;border-color:#725498}.outline-button:hover:not(:disabled){background:#30213f}
.app-shell{min-height:100svh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{background:#0c0f19;border-right:1px solid #22293b;display:flex;flex-direction:column;padding:1.4rem 1rem;position:sticky;top:0;height:100svh}.brand{display:flex;align-items:center;gap:.7rem;padding:.2rem .5rem 2rem}.brand img{width:44px;height:44px;border-radius:12px;object-fit:cover}.brand strong,.brand span{display:block}.brand strong{letter-spacing:.08em;font-size:.88rem}.brand span{font-size:.65rem;color:#6ee5eb;letter-spacing:.19em;font-weight:800}.sidebar-label{font-size:.62rem;color:#66728a;font-weight:900;letter-spacing:.16em;padding:0 .65rem;margin:.1rem 0 .75rem}.sidebar nav{display:grid;gap:.25rem}.nav-button{display:flex;align-items:center;gap:.7rem;text-align:left;border:1px solid transparent;color:#a6b0c4;background:transparent;padding:.8rem .7rem;border-radius:11px;font-size:.87rem;font-weight:650;min-height:43px}.nav-button:hover{background:#161c2a;color:#fff}.nav-button.active{background:#1a2935;border-color:#2b6572;color:#87eff4}.nav-icon{width:20px;text-align:center;font-size:1.05rem}.sidebar-bottom{margin-top:auto;border-top:1px solid #283044;padding:.95rem .5rem 0;display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-size:.76rem;color:#9ba8bd}.sidebar-bottom button{border:0;background:none;color:#8fdce9;font-size:.75rem;font-weight:700}.main-shell{min-width:0}.topbar{height:92px;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,3vw,2.6rem);border-bottom:1px solid #22293b;background:#0d101a}.topbar h2{font-size:1.35rem;letter-spacing:-.03em;margin:0}.topbar .eyebrow{margin-bottom:.3rem}.top-actions{display:flex;align-items:center;gap:1rem}.usage-badge{font-size:.76rem;border:1px solid #2d5260;background:#12242f;color:#88e9ed;border-radius:100px;padding:.5rem .75rem;white-space:nowrap}.ghost-button,.icon-button{border:1px solid #354054;background:#171e2b;color:#e1e9f5;border-radius:10px;padding:.6rem .8rem;min-height:40px;font-size:.8rem;font-weight:700}.menu-button{display:none}.content{max-width:1450px;margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.notice{border:1px solid #3d6480;background:#11263a;color:#d6f4ff;border-radius:12px;padding:.85rem 1rem;margin-bottom:1rem;font-size:.88rem}.notice.error{border-color:#803a4c;background:#311820;color:#ffd9dc}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:1.25rem}.left-column,.right-column{display:grid;align-content:start;gap:1.25rem}.panel{background:#111622;border:1px solid #293247;border-radius:20px;padding:clamp(1rem,2vw,1.5rem);box-shadow:0 10px 36px #0002}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.1rem}.panel h3{font-size:1.18rem;letter-spacing:-.025em;margin:0}.small-count{color:#95a7bc;font-size:.73rem;white-space:nowrap;padding-top:.25rem}.script-panel textarea,.advanced-controls textarea{width:100%;resize:vertical;border:1px solid #344056;background:#0b0f1a;color:#eef6ff;border-radius:13px;padding:1rem;line-height:1.65;min-height:230px}.script-panel textarea::placeholder,.advanced-controls textarea::placeholder{color:#6f7a91}.script-foot{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.73rem;color:#8492a8;padding-top:.8rem}.text-button{border:0;background:none;color:#79e9ef;font-size:.78rem;font-weight:800;white-space:nowrap}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.control-grid label,.output-panel label,.advanced-controls label,.create-user-form label{display:grid;gap:.45rem;color:#b9c6d8;font-size:.8rem;font-weight:700}.advanced-controls{border-top:1px solid #2d3548;margin-top:1.2rem;padding-top:1.2rem;display:grid;gap:1rem}.advanced-controls textarea{min-height:92px}.field-note,.muted{color:#94a2b8;font-size:.82rem;line-height:1.5}.output-panel h3{font-size:1.4rem;margin:.2rem 0 .5rem}.output-panel .muted{margin:0 0 1.3rem}.output-panel label{margin-bottom:1.25rem}.action-stack{display:grid;gap:.65rem}.quota-meter{height:7px;background:#263044;border-radius:100px;margin-top:1.25rem;overflow:hidden}.quota-meter div{height:100%;width:0;background:linear-gradient(90deg,#51dce8,#b68cff);transition:width .25s}.quota-text{font-size:.75rem;color:#9ba9be;margin:.5rem 0 0}.item-list{display:grid;gap:.7rem;max-height:460px;overflow:auto}.audio-item{background:#0d121e;border:1px solid #2b354a;border-radius:12px;padding:.85rem}.audio-item-top{display:flex;justify-content:space-between;gap:.5rem}.audio-item strong{font-size:.82rem}.audio-item small{color:#90a0b7}.audio-item p{font-size:.78rem;color:#abb8cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-item audio{width:100%;height:34px}.audio-item a{font-size:.76rem;font-weight:750;color:#79e8ee}.audio-item.failed{border-color:#6e3847}.empty-state{color:#8795ab;font-size:.85rem;border:1px dashed #354055;border-radius:12px;padding:1.25rem;text-align:center}.projects-panel,.management-panel{margin-top:1.25rem}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.project-button{text-align:left;background:#0d121e;border:1px solid #2d374c;color:#e8eff8;border-radius:13px;padding:1rem;min-height:85px}.project-button strong,.project-button span{display:block}.project-button span{color:#91a0b5;font-size:.73rem;margin-top:.45rem}.management-panel h4{font-size:.96rem;margin:1.5rem 0 .8rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.stat-card{padding:1rem;background:#0d121e;border:1px solid #303a50;border-radius:12px}.stat-card strong{display:block;font-size:1.5rem}.stat-card span{font-size:.76rem;color:#98a8bd}.provider-stats{font-size:.81rem;color:#aebdd0;margin-top:1rem}.create-user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.create-user-form button{align-self:end}.user-list{display:grid;gap:.5rem}.user-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.7rem;padding:.8rem;background:#0b101a;border:1px solid #2f3a4e;border-radius:10px}.user-row strong,.user-row small{display:block}.user-row small{color:#8898ac}.user-row button{border:1px solid #43536a;background:#1b2635;color:#d6ebf0;border-radius:8px;padding:.45rem .65rem;font-size:.75rem}.user-row button.danger{color:#ffb8c0;border-color:#764354}
@media(max-width:1080px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.right-column{grid-template-columns:repeat(2,minmax(0,1fr))}.library-panel{min-width:0}.output-panel{min-width:0}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;left:0;top:0;width:min(82vw,285px);transform:translateX(-102%);transition:transform .2s ease;box-shadow:20px 0 45px #0008}.sidebar.open{transform:translateX(0)}.menu-button{display:block}.topbar{height:auto;min-height:78px;padding:1rem;align-items:center}.topbar h2{font-size:1.1rem}.topbar .eyebrow{font-size:.55rem}.top-actions{gap:.4rem}.usage-badge{display:none}.ghost-button{font-size:.7rem;padding:.5rem}.content{padding:1rem}.right-column{grid-template-columns:1fr}.control-grid{grid-template-columns:1fr 1fr}.create-user-form{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.login-card{padding:1.4rem;border-radius:20px}.access-choice{font-size:.69rem}.control-grid{grid-template-columns:1fr}.panel-heading{flex-wrap:wrap}.script-foot{align-items:start}.stats-grid{grid-template-columns:1fr}.user-row{grid-template-columns:1fr 1fr}.user-row div{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.secure-dialog{width:min(92vw,420px);border:1px solid #3a536c;border-radius:18px;background:#111827;color:#edf7ff;padding:1.5rem;box-shadow:0 30px 80px #000a}.secure-dialog::backdrop{background:#030710bd}.secure-dialog form,.secure-dialog label{display:grid;gap:.8rem}.secure-dialog h3{margin:0}.secure-dialog p{color:#aabbd0}.secure-dialog input{width:100%;min-height:46px;border:1px solid #455772;border-radius:10px;background:#0b101a;color:white;padding:.7rem}.dialog-actions{display:flex;gap:.6rem;margin-top:1rem}.dialog-actions>*{flex:1}.user-row{grid-template-columns:1fr auto auto auto}
.account-actions{display:grid;gap:.45rem;text-align:right}.audio-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin-top:.45rem}.audio-actions button{border:1px solid #3b5368;background:#172636;color:#bfeaf0;border-radius:8px;padding:.3rem .55rem;font-size:.72rem}.audio-actions button[aria-pressed="true"]{color:#f7dc8c;border-color:#876e3a}
@media(max-width:480px){.topbar{gap:.35rem;padding:.65rem}.topbar h2{font-size:1rem}.topbar .eyebrow{letter-spacing:.1em}.top-actions{gap:.2rem}.ghost-button{font-size:.65rem;padding:.35rem}.script-foot{flex-wrap:wrap}.main-shell,.content,.workspace-grid,.left-column,.right-column,.panel{min-width:0}}
.voice-control{display:grid;gap:.3rem;min-width:0}.voice-control .text-button{justify-self:start;text-align:left;padding:0;line-height:1.3}
.event-list{display:grid;gap:.4rem;max-height:260px;overflow:auto}.event-row{display:grid;grid-template-columns:150px 155px 1fr;gap:.6rem;padding:.55rem .7rem;background:#0c121e;border:1px solid #2b3549;border-radius:8px;font-size:.72rem;color:#aebbd0}.event-row strong{color:#dceff3}@media(max-width:600px){.event-row{grid-template-columns:1fr 1fr}.event-row span{grid-column:1/-1}}
#scriptAiPanel,#scenesPanel{margin-top:1.25rem}#scriptAiPanel textarea{width:100%;min-height:145px;resize:vertical;border:1px solid #344056;background:#0b0f1a;color:#eef6ff;border-radius:13px;padding:1rem;line-height:1.55}#scriptAiPanel>.audio-actions{margin:1.1rem 0;gap:.7rem}#scriptAiPanel>.audio-actions button{width:auto;min-width:190px;min-height:44px}.import-label{display:grid;gap:.5rem;color:#aebdd0;font-size:.8rem;margin:.8rem 0 1.2rem;min-width:0}.import-label input{width:100%;max-width:100%;min-width:0;color:#aebdd0}#scriptProposals,#sceneList{max-height:none}#scriptProposals .audio-item p,#sceneList .audio-item p{white-space:pre-wrap;overflow:visible;text-overflow:clip;line-height:1.55}#scriptProposals .audio-item{padding:1rem}#scriptProposals .audio-item button{border:1px solid #448192;background:#16343e;color:#aaf5fa;border-radius:9px;padding:.6rem .8rem;margin-top:.5rem}#voiceSampleButton{min-height:46px;font-size:.8rem}@media(max-width:760px){#scriptAiPanel>.audio-actions{flex-direction:column;align-items:stretch}#scriptAiPanel>.audio-actions button{width:100%}}

/* Compact studio layout: editor, controls and production remain close together. */
.app-shell{grid-template-columns:204px minmax(0,1fr)}
.sidebar{padding:1rem .65rem}.brand{padding:.15rem .45rem 1rem}.nav-button{min-height:38px;padding:.55rem .6rem}
.topbar{height:68px;padding:.65rem clamp(.8rem,2vw,1.5rem)}.topbar h2{font-size:1.18rem}
.content{max-width:1190px;padding:clamp(.75rem,1.6vw,1.3rem)}
.workspace-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-template-areas:"script direction" "output output" "library usage";gap:.75rem}
.left-column,.right-column{display:contents}
.script-panel{grid-area:script}.direction-panel{grid-area:direction}.output-panel{grid-area:output}.library-panel{grid-area:library}
.right-column>.panel:last-child{grid-area:usage}
.panel{padding:1rem;border-radius:14px}.panel-heading{margin-bottom:.6rem}.panel h3{font-size:1.05rem}
.eyebrow{margin-bottom:.35rem}.script-panel textarea{min-height:320px;height:clamp(320px,43vh,480px);padding:.8rem;line-height:1.5}
.script-foot{padding-top:.45rem}.control-tab{display:grid;align-content:start;gap:.6rem;min-height:0}
.control-tab label{display:grid;gap:.3rem;color:#b9c6d8;font-size:.76rem;font-weight:700}
.control-tab select,.control-tab input[type=search]{width:100%;min-width:0;min-height:39px;padding:.5rem .6rem;border:1px solid #35445b;border-radius:9px;background:#0b101b;color:#f1f7ff}
.control-tab textarea{min-height:72px;padding:.6rem;line-height:1.45}
.studio-tabs,.voice-categories{display:flex;gap:.3rem;border-bottom:1px solid #314055;margin:0 0 .7rem}
.studio-tab,.voice-categories button{border:0;background:transparent;color:#aab9ca;border-radius:7px 7px 0 0;padding:.45rem .55rem;font-size:.75rem;font-weight:750;min-height:36px}
.studio-tab.active,.voice-categories button.active{color:#77edf1;background:#15303a;box-shadow:inset 0 -2px #5ee7ed}
.voice-categories{margin:0;border:0;flex-wrap:wrap}.voice-categories button{border-radius:8px;box-shadow:none!important;border:1px solid #354056;padding:.35rem .55rem;min-height:34px}
.voice-categories button.active{border-color:#51dce8}
.voice-filters{display:grid;grid-template-columns:minmax(0,1fr) 105px 120px;gap:.4rem}
.voice-control{display:flex;align-items:end;gap:.4rem}.voice-control label{flex:1;min-width:0}.voice-control .icon-button{min-height:39px;height:39px;font-size:1.2rem;padding:.3rem .65rem}
.check-row{display:flex!important;align-items:center;gap:.4rem!important}.check-row input{accent-color:#62e7ef}
.inline-actions{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.inline-actions .outline-button,.inline-actions .secondary-button{width:auto;min-height:37px;padding:.45rem .7rem;font-size:.75rem}
.inline-actions .text-button{white-space:normal;text-align:left}.control-tab .field-note{margin:.15rem 0;font-size:.72rem}
.advanced-controls{margin-top:.3rem;padding-top:.6rem;gap:.55rem}
#effectIntensity{width:100%;accent-color:#68e8ec}#effectPlayer{width:100%;height:38px}
.output-panel{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .7rem}
.output-panel>.eyebrow{display:none}.output-panel h3{font-size:1rem;margin:0;white-space:nowrap}
.output-panel .muted{font-size:.72rem;line-height:1.25;margin:0;flex:1 1 200px}
.output-panel label{width:110px;margin:0}.output-panel select{min-height:38px;padding:.4rem}
.action-stack{display:flex;flex:2 1 420px;gap:.4rem}.action-stack button{min-height:40px;padding:.45rem .6rem;font-size:.76rem}
.output-panel #generationStatus{flex:1 1 100%;margin:.1rem 0;min-height:0}
.quota-meter{width:130px;margin:0}.quota-text{margin:0;font-size:.7rem}
.item-list{max-height:280px}.audio-item{padding:.65rem}.audio-item p{margin:.4rem 0}
.projects-panel,.management-panel,#scriptAiPanel,#scenesPanel{margin-top:.75rem}
.voice-empty{font-size:.74rem;color:#e8c897}
@media(max-width:1080px){.workspace-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.95fr)}}
@media(max-width:760px){
  .app-shell{display:block}.topbar{min-height:58px;height:auto;padding:.55rem .75rem}.topbar h2{font-size:1rem}
  .content{padding:.65rem}.workspace-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"script" "direction" "output" "library" "usage";gap:.65rem}
  .panel{padding:.8rem}.script-panel textarea{min-height:180px;height:28svh;max-height:320px}
  .voice-filters{grid-template-columns:1fr 1fr}.voice-filters label:first-child{grid-column:1/-1}
  .main-shell{padding-bottom:5rem}.action-stack{flex-wrap:wrap}
  #generateButton{position:fixed;bottom:max(.65rem,env(safe-area-inset-bottom));left:.75rem;right:.75rem;width:auto;z-index:15;min-height:49px;box-shadow:0 8px 30px #000b}
}
@media(max-width:400px){.studio-tab{font-size:.68rem;padding:.4rem}.voice-categories button{font-size:.69rem}.topbar .eyebrow{display:none}.top-actions .ghost-button{font-size:.66rem}}
