:root{--ink:#0b0f16;--panel:#111722;--line:rgba(184,199,225,.15);--text:#f5f7fb;--muted:#8593aa;--violet:#8773ff;--green:#53d6a7}
*{box-sizing:border-box}html,body{min-height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ink);color:var(--text)}a{color:inherit}.lip-auth-body{min-height:100vh;background:#080b10}.v2-login{display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(430px,.8fr);min-height:100vh}.v2-login-art{position:relative;overflow:hidden;min-height:620px;background:linear-gradient(145deg,#1c2540 0%,#101627 46%,#080b12 100%)}.v2-login-art::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 440px at 34% 28%,rgba(129,105,255,.38),transparent 67%),radial-gradient(520px 390px at 82% 73%,rgba(35,154,255,.20),transparent 63%)}.v2-login-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(145deg,black,transparent 73%)}.v2-login-art-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;height:100%;max-width:650px;padding:9vw}.v2-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.v2-brand-mark{display:grid;place-items:center;width:34px;height:34px;color:#fff;background:linear-gradient(140deg,#9b86ff,#4b6dff);border:1px solid rgba(255,255,255,.32);border-radius:10px;font-weight:900;font-size:17px;box-shadow:0 10px 22px rgba(91,91,255,.35)}.v2-brand strong{display:block;color:#fff;font-size:17px;line-height:1}.v2-brand small{display:block;margin-top:3px;color:#c3c7ff;font-size:8px;font-weight:800;letter-spacing:.18em}.v2-brand-light{margin-bottom:72px}.v2-overline{margin:0 0 13px;color:#afbef8;font-size:10px;font-weight:800;letter-spacing:.17em}.v2-login-art h1{max-width:540px;margin:0;color:#fff;font-size:clamp(40px,4.4vw,72px);line-height:.98;letter-spacing:-.065em}.v2-art-description{max-width:410px;margin:24px 0 0;color:#c5cede;font-size:14px;line-height:1.65}.v2-art-foot{position:absolute;z-index:1;left:9vw;bottom:40px;color:#8896af;font-size:9px;font-weight:700;letter-spacing:.12em}.v2-login-form-side{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:64px clamp(32px,8vw,120px) 30px;background:linear-gradient(180deg,#0c1017,#080b10)}.v2-form-box{width:100%;max-width:420px;margin:0 auto}.v2-mobile-brand{display:none;align-items:center;gap:9px;margin-bottom:45px;color:#fff}.v2-mobile-brand .v2-brand-mark{width:30px;height:30px;font-size:14px}.v2-login-form-side h2{margin:0;color:#fff;font-size:28px;letter-spacing:-.04em}.v2-muted{margin:10px 0 30px;color:var(--muted);font-size:13px;line-height:1.55}.v2-form-box label:not(.v2-check){display:block;margin:18px 0 8px;color:#cbd4e1;font-size:11px;font-weight:700}.v2-form-box input:not([type="checkbox"]){width:100%;height:47px;padding:0 14px;color:#f4f6fb;background:#101722;border:1px solid var(--line);border-radius:7px;font:13px inherit;outline:none}.v2-form-box input:not([type="checkbox"]):focus{border-color:#8879ff;box-shadow:0 0 0 3px rgba(136,121,255,.14)}.v2-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 23px}.v2-check{display:flex;align-items:center;gap:7px;color:#a9b5c7;font-size:11px}.v2-check input{accent-color:#8879ff}.v2-disabled-link{color:#64728a;font-size:10px}.v2-main-button{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;padding:0 16px;color:#fff;background:linear-gradient(135deg,#866dff,#3c6fff);border:1px solid rgba(193,186,255,.48);border-radius:7px;font:700 13px inherit;cursor:pointer;box-shadow:0 12px 24px rgba(69,91,255,.23)}.v2-main-button b{font-size:19px}.v2-register-note{margin:23px 0 0;color:#8997ac;font-size:12px;text-align:center}.v2-register-note a{color:#b5a8ff;text-decoration:none;font-weight:700}.v2-error{margin:7px 0 0;color:#ff9ba5;font-size:11px}.v2-success{margin:0 0 18px;padding:10px 12px;color:#c4f9e7;background:rgba(83,214,167,.11);border:1px solid rgba(83,214,167,.25);border-radius:7px;font-size:12px}.v2-login-form-side footer{margin-top:55px;color:#5f6e85;font-size:9px;text-align:center}.lip-app-body{min-height:100vh;background:radial-gradient(900px 520px at 80% -10%,rgba(100,113,255,.16),transparent 64%),#080b10}.v2-topbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 32px;border-bottom:1px solid var(--line);background:rgba(9,12,18,.83);backdrop-filter:blur(14px)}.v2-topbar-right{display:flex;align-items:center;gap:13px}.v2-role{padding:5px 8px;color:#c9c0ff;background:rgba(135,115,255,.13);border:1px solid rgba(135,115,255,.24);border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.1em}.v2-user-name{color:#dce3ee;font-size:11px}.v2-topbar form button{padding:7px 10px;color:#b8c4d7;background:transparent;border:1px solid var(--line);border-radius:6px;font:11px inherit;cursor:pointer}.v2-app-main{max-width:1180px;margin:0 auto;padding:64px 32px}.v2-page-heading{max-width:720px}.v2-page-heading h1{margin:0;color:#fff;font-size:42px;letter-spacing:-.05em}.v2-page-heading p:last-child{margin:14px 0 0;color:#9ba9bd;font-size:14px;line-height:1.6}.v2-foundation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:42px}.v2-foundation-grid article{padding:23px;background:linear-gradient(145deg,#141b28,#0d121b);border:1px solid var(--line);border-radius:11px}.v2-foundation-grid span{color:#a99dff;font-size:10px;font-weight:800;letter-spacing:.12em}.v2-foundation-grid h2{margin:21px 0 8px;color:#fff;font-size:18px}.v2-foundation-grid p{min-height:58px;margin:0;color:#8f9db2;font-size:12px;line-height:1.55}.v2-foundation-grid b{display:block;margin-top:24px;color:#82e6c2;font-size:9px;letter-spacing:.12em}.v2-empty-work{max-width:520px;margin-top:40px;padding:38px;text-align:center;background:linear-gradient(145deg,#141b28,#0d121b);border:1px solid var(--line);border-radius:12px}.v2-empty-work span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 16px;color:#c8c0ff;background:rgba(135,115,255,.13);border-radius:12px;font-size:22px}.v2-empty-work h2{margin:0;color:#fff;font-size:18px}.v2-empty-work p{margin:9px 0 0;color:#91a0b5;font-size:12px;line-height:1.5}@media(max-width:900px){.v2-login{grid-template-columns:1fr}.v2-login-art{display:none}.v2-login-form-side{min-height:100vh}.v2-mobile-brand{display:flex}.v2-foundation-grid{grid-template-columns:1fr}.v2-topbar{padding:0 18px}.v2-app-main{padding:42px 18px}.v2-user-name{display:none}}

/* ============ LipSub 2.0 Phase 2: app shell ============ */
.v2-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.v2-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:23px 13px 14px;background:linear-gradient(180deg,#090d14,#070a10);border-inline-end:1px solid var(--line)}.v2-workspace-badge{display:flex;gap:9px;align-items:flex-start;margin:26px 1px 16px;padding:11px;background:linear-gradient(145deg,#151c2b,#0e1420);border:1px solid rgba(151,171,222,.16);border-radius:9px}.v2-workspace-badge i{width:7px;height:7px;margin-top:4px;background:#53d6a7;border-radius:50%;box-shadow:0 0 9px rgba(83,214,167,.8)}.v2-workspace-badge b{display:block;color:#e7edf6;font-size:10px}.v2-workspace-badge small{display:block;margin-top:3px;color:#77879e;font-size:8px}.v2-nav{display:grid;gap:3px}.v2-nav p{margin:15px 7px 6px;color:#56657b;font-size:8px;font-weight:800;letter-spacing:.16em}.v2-nav a{display:flex;align-items:center;gap:9px;min-height:36px;padding:8px 9px;color:#98a6b9;border-radius:7px;font-size:11px;text-decoration:none}.v2-nav a i{width:13px;color:#aeb9cd;font-style:normal;text-align:center}.v2-nav a:hover{color:#fff;background:rgba(255,255,255,.04)}.v2-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(135,115,255,.24),rgba(135,115,255,.07));box-shadow:inset 0 0 0 1px rgba(135,115,255,.22)}.v2-nav a.active i{color:#c7c0ff}.v2-nav a.disabled{opacity:.5;cursor:default}.v2-nav a em{margin-left:auto;color:#7773a9;font-size:8px;font-style:normal}.v2-sidebar-user{display:flex;align-items:center;gap:8px;margin-top:auto;padding:10px 7px;border:1px solid var(--line);border-radius:9px}.v2-sidebar-user>div{min-width:0;flex:1}.v2-sidebar-user strong{display:block;overflow:hidden;color:#e4eaf3;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.v2-sidebar-user small{display:block;margin-top:3px;color:#7f8ea4;font-size:8px}.v2-sidebar-user button{padding:0;color:#91a0b5;background:transparent;border:0;cursor:pointer}.v2-main-area{min-width:0}.v2-topbar{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(9,13,20,.78);backdrop-filter:blur(14px)}.v2-topbar-kicker{color:#8090aa;font-size:9px;font-weight:800;letter-spacing:.16em}.v2-top-account{color:#d9e1ec;font-size:11px;text-decoration:none}.v2-flash{margin:0 0 22px;padding:11px 13px;border-radius:8px;font-size:12px}.v2-flash.success{color:#cbfae9;background:rgba(83,214,167,.10);border:1px solid rgba(83,214,167,.24)}.v2-flash.error{color:#ffd2d8;background:rgba(255,117,130,.10);border:1px solid rgba(255,117,130,.24)}.v2-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.v2-stat-grid article{min-height:143px;padding:18px;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:10px}.v2-stat-grid span{display:block;color:#fff;font-size:32px;font-weight:800;letter-spacing:-.05em}.v2-stat-grid small{display:block;margin-top:7px;color:#8d9cb1;font-size:11px}.v2-stat-grid a{display:inline-block;margin-top:25px;color:#b1a5ff;font-size:10px;text-decoration:none}.v2-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:14px}.v2-action-grid a{display:flex;align-items:center;gap:14px;padding:20px;color:inherit;text-decoration:none;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:10px}.v2-action-grid a:hover{border-color:rgba(159,145,255,.42);transform:translateY(-1px)}.v2-action-grid i{display:grid;place-items:center;width:36px;height:36px;color:#d2cbff;background:rgba(135,115,255,.15);border-radius:9px;font-style:normal;font-size:18px}.v2-action-grid span{min-width:0;flex:1}.v2-action-grid strong{display:block;color:#f2f5fa;font-size:12px}.v2-action-grid small{display:block;margin-top:5px;color:#8d9ab0;font-size:10px;line-height:1.45}.v2-action-grid b{color:#b1a5ff;font-size:18px}.v2-page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.v2-page-title-row h1{margin:0;color:#fff;font-size:36px;letter-spacing:-.055em}.v2-page-title-row p:last-child{max-width:680px;margin:9px 0 0;color:#93a1b6;font-size:13px;line-height:1.55}.v2-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;color:#dce4f0;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:7px;font:700 11px inherit;text-decoration:none;cursor:pointer;white-space:nowrap}.v2-button.primary{color:#fff;background:linear-gradient(135deg,#846cff,#3b71fb);border-color:rgba(190,182,255,.42);box-shadow:0 10px 20px rgba(79,96,249,.2)}.v2-button.ghost{background:transparent}.v2-button.danger{color:#ffd5da;background:rgba(255,117,130,.12);border-color:rgba(255,117,130,.3)}.v2-filter-bar{display:flex;gap:8px;margin:30px 0 14px}.v2-filter-bar input,.v2-filter-bar select,.v2-form-card input,.v2-form-card select{height:40px;padding:0 11px;color:#edf2f8;background:#0d131d;border:1px solid var(--line);border-radius:7px;font:11px inherit;outline:none}.v2-filter-bar input{width:min(360px,45vw)}.v2-filter-bar input:focus,.v2-filter-bar select:focus,.v2-form-card input:focus,.v2-form-card select:focus{border-color:#8773ff;box-shadow:0 0 0 3px rgba(135,115,255,.13)}.v2-table-card,.v2-form-card{margin-top:14px;overflow:hidden;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:10px}.v2-table{width:100%;border-collapse:collapse}.v2-table th{padding:14px 15px;color:#8190a7;font-size:9px;font-weight:800;letter-spacing:.11em;text-align:left;border-bottom:1px solid var(--line)}.v2-table td{padding:14px 15px;color:#b8c4d5;font-size:11px;border-bottom:1px solid rgba(255,255,255,.06)}.v2-table tr:last-child td{border-bottom:0}.v2-table td strong{display:block;color:#e9eef6;font-size:11px}.v2-table td small{display:block;margin-top:4px;color:#8090a7;font-size:10px}.v2-table-empty{padding:40px!important;color:#8493aa!important;text-align:center}.v2-role-chip{display:inline-block;padding:5px 7px;color:#c9c4ff;background:rgba(135,115,255,.14);border:1px solid rgba(135,115,255,.23);border-radius:5px;font-size:9px;font-weight:800}.v2-role-chip.translator{color:#b9e1ff;background:rgba(62,127,255,.12);border-color:rgba(62,127,255,.25)}.v2-role-chip.timer{color:#ffe0a5;background:rgba(245,173,67,.12);border-color:rgba(245,173,67,.25)}.v2-role-chip.reviewer{color:#bff4df;background:rgba(83,214,167,.12);border-color:rgba(83,214,167,.25)}.v2-status{font-size:10px}.v2-status.active{color:#72e9bf}.v2-status.inactive{color:#ff9aa5}.v2-text-link{color:#b3a7ff;font-size:10px;text-decoration:none}.v2-pagination{padding:13px 15px;border-top:1px solid var(--line)}.v2-pagination nav{display:flex;justify-content:flex-end}.v2-pagination svg{width:13px}.v2-form-card{padding:24px}.v2-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.v2-form-grid.two{grid-template-columns:1fr 1fr}.v2-form-card label{display:block;margin:0 0 7px;color:#cbd5e3;font-size:10px;font-weight:750}.v2-form-card label span{color:#718098;font-weight:500}.v2-form-card input,.v2-form-card select{width:100%}.v2-field-help{display:block;margin-top:6px;color:#738198;font-size:9px}.v2-password-section{display:grid;grid-template-columns:.78fr 1.22fr;gap:30px;margin-top:27px;padding-top:23px;border-top:1px solid var(--line)}.v2-password-section h3{margin:0;color:#edf2f9;font-size:14px}.v2-password-section p{margin:7px 0 0;color:#8795aa;font-size:10px;line-height:1.5}.v2-toggle-line{display:flex;align-items:center;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.v2-toggle-line strong{display:block;color:#edf2f9;font-size:11px}.v2-toggle-line small{display:block;margin-top:4px;color:#8290a5;font-size:10px}.v2-switch{position:relative;display:inline-block;width:38px;height:21px}.v2-switch input{display:none}.v2-switch span{position:absolute;inset:0;background:#3b4657;border-radius:30px;cursor:pointer}.v2-switch span:before{content:"";position:absolute;width:15px;height:15px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.v2-switch input:checked+span{background:#6d60e7}.v2-switch input:checked+span:before{transform:translateX(17px)}.v2-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.v2-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:18px 20px;background:rgba(255,117,130,.055);border:1px solid rgba(255,117,130,.18);border-radius:9px}.v2-danger-zone strong{display:block;color:#ffe1e4;font-size:11px}.v2-danger-zone small{display:block;margin-top:5px;color:#a699a4;font-size:10px}.v2-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.v2-role-grid article{padding:20px;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:10px}.v2-role-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.v2-role-card-head b{color:#8a9ab1;font-size:10px}.v2-role-grid article>p{min-height:38px;margin:15px 0;color:#94a2b7;font-size:11px;line-height:1.5}.v2-role-grid ul{display:grid;gap:8px;margin:0;padding:14px 0 0;border-top:1px solid var(--line);list-style:none}.v2-role-grid li{color:#c4cedd;font-size:10px}.v2-role-grid li i{display:inline-block;margin-right:7px;color:#68e5b6;font-style:normal}.v2-permission-note{margin-top:15px;padding:18px 20px;background:rgba(135,115,255,.08);border:1px solid rgba(135,115,255,.19);border-radius:9px}.v2-permission-note strong{color:#e7e2ff;font-size:11px}.v2-permission-note p{margin:6px 0 0;color:#aaa7c6;font-size:11px;line-height:1.5}@media(max-width:1050px){.v2-stat-grid{grid-template-columns:repeat(2,1fr)}.v2-role-grid{grid-template-columns:1fr}.v2-shell{grid-template-columns:82px minmax(0,1fr)}.v2-sidebar{padding-inline:11px}.v2-sidebar .v2-brand>span:last-child,.v2-workspace-badge span,.v2-nav p,.v2-nav a:not(.active) span,.v2-nav a em,.v2-sidebar-user>div{display:none}.v2-nav a{justify-content:center}.v2-sidebar-user{justify-content:center}.v2-sidebar-user form{display:none}.v2-workspace-badge{justify-content:center}.v2-workspace-badge i{margin:0}.v2-brand{justify-content:center}}@media(max-width:720px){.v2-app-main{padding:34px 16px}.v2-topbar{padding:0 16px}.v2-page-title-row{align-items:flex-start;flex-direction:column}.v2-page-title-row h1{font-size:30px}.v2-stat-grid,.v2-action-grid,.v2-form-grid,.v2-form-grid.two,.v2-password-section{grid-template-columns:1fr}.v2-filter-bar{align-items:stretch;flex-direction:column}.v2-filter-bar input{width:100%}.v2-table-card{overflow:auto}.v2-table{min-width:760px}.v2-password-section{gap:16px}.v2-danger-zone{align-items:flex-start;flex-direction:column}}

/* ============ LipSub 2.0 Phase 3: operations ============ */
.v2-dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.v2-card-header{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.v2-card-header span{display:block;color:#8797b0;font-size:9px;font-weight:800;letter-spacing:.15em}.v2-card-header strong{display:block;margin-top:4px;color:#ecf1f8;font-size:13px}.v2-card-header a{color:#b0a5ff;font-size:10px;text-decoration:none}.v2-compact-list{padding:0 15px}.v2-compact-list>a{display:flex;align-items:center;gap:10px;min-height:62px;color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06)}.v2-compact-list>a:last-child{border-bottom:0}.v2-compact-list>a:hover{background:rgba(255,255,255,.018)}.v2-compact-list i{display:grid;place-items:center;width:25px;height:25px;color:#c8c2ff;background:rgba(135,115,255,.13);border-radius:7px;font-style:normal}.v2-compact-list div{min-width:0;flex:1}.v2-compact-list strong{display:block;overflow:hidden;color:#e8edf5;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.v2-compact-list small{display:block;overflow:hidden;margin-top:4px;color:#8493a9;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.v2-list-empty{padding:28px 5px;color:#8291a6;font-size:11px;text-align:center}.v2-status{display:inline-block;color:#9aa9bd;font-size:9px;font-weight:800;white-space:nowrap}.v2-status.draft,.v2-status.offered,.v2-status.viewed,.v2-status.pending{color:#c2bbff}.v2-status.open,.v2-status.accepted,.v2-status.approved{color:#7ee5bd}.v2-status.in_progress,.v2-status.review,.v2-status.returned,.v2-status.scheduled{color:#82b8ff}.v2-status.submitted{color:#ffd48c}.v2-status.delivered,.v2-status.paid{color:#6de1ba}.v2-status.archived,.v2-status.declined,.v2-status.cancelled,.v2-status.inactive{color:#ff9ba5}.v2-field-stack{margin-top:18px}.v2-field-stack label{display:block;margin-bottom:7px;color:#cbd5e3;font-size:10px;font-weight:750}.v2-field-stack label span{color:#718098;font-weight:500}.v2-field-stack textarea,.v2-decision-card textarea{width:100%;padding:11px;color:#edf2f8;background:#0d131d;border:1px solid var(--line);border-radius:7px;font:11px/1.55 inherit;outline:none;resize:vertical}.v2-field-stack textarea:focus,.v2-decision-card textarea:focus{border-color:#8773ff;box-shadow:0 0 0 3px rgba(135,115,255,.13)}.v2-section-title{margin-bottom:18px}.v2-section-title strong{display:block;color:#edf2f9;font-size:14px}.v2-section-title small{display:block;margin-top:5px;color:#8493a8;font-size:10px;line-height:1.45}.v2-form-grid.three{grid-template-columns:repeat(3,1fr)}.v2-project-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.v2-project-hero h1{margin:0;color:#fff;font-size:38px;letter-spacing:-.055em}.v2-project-hero p:last-child{max-width:790px;margin:10px 0 0;color:#94a2b6;font-size:12px;line-height:1.6}.v2-hero-actions{display:flex;gap:9px;flex:0 0 auto}.v2-project-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.v2-project-info-grid article{padding:16px;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:10px}.v2-project-info-grid span{display:block;color:#75859e;font-size:8px;font-weight:800;letter-spacing:.14em}.v2-project-info-grid strong{display:block;overflow:hidden;margin-top:11px;color:#f1f4f9;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.v2-project-info-grid small{display:block;overflow:hidden;margin-top:6px;color:#8e9cb1;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.v2-two-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.v2-upload-form{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px;margin-bottom:17px}.v2-upload-form select,.v2-upload-form input{min-width:0;height:38px;padding:0 9px;color:#e8eef7;background:#0d131d;border:1px solid var(--line);border-radius:7px;font:10px inherit}.v2-asset-list{display:grid;gap:2px}.v2-asset-list>div{display:flex;align-items:center;gap:9px;min-height:48px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}.v2-asset-list>div:last-child{border-bottom:0}.v2-asset-list i{display:grid;place-items:center;width:24px;height:24px;color:#bfc6ff;background:rgba(135,115,255,.12);border-radius:6px;font-style:normal}.v2-asset-list span{min-width:0;flex:1}.v2-asset-list strong{display:block;overflow:hidden;color:#eaf0f8;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.v2-asset-list small{display:block;overflow:hidden;margin-top:3px;color:#8291a7;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.v2-project-assignments{margin-top:15px;overflow:auto}.v2-decline{display:block!important;margin-top:5px;color:#ffadb5!important;font-size:9px!important;white-space:normal!important}.v2-inline-update{display:grid;grid-template-columns:120px 100px 118px auto;gap:4px;align-items:center}.v2-inline-update select,.v2-inline-update input{height:29px;min-width:0;padding:0 4px;color:#dce4ef;background:#0c121b;border:1px solid var(--line);border-radius:5px;font:9px inherit}.v2-inline-update .v2-button{min-height:29px;padding:0 7px;font-size:9px}.v2-contributor-section{margin-top:32px}.v2-assignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:13px}.v2-assignment-card{display:block;min-height:224px;padding:19px;color:inherit;text-decoration:none;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:10px}.v2-assignment-card:hover{border-color:rgba(135,115,255,.45);transform:translateY(-1px)}.v2-assignment-card.offer{box-shadow:inset 3px 0 0 #907dff}.v2-assignment-card.active{box-shadow:inset 3px 0 0 #53d6a7}.v2-assignment-card>span{color:#b7adff;font-size:9px;font-weight:800;letter-spacing:.13em}.v2-assignment-card.active>span{color:#7fe4bc}.v2-assignment-card h2{overflow:hidden;margin:17px 0 7px;color:#f4f6fa;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.v2-assignment-card p{min-height:34px;margin:0;color:#91a0b5;font-size:10px;line-height:1.5}.v2-assignment-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.v2-assignment-card dt{color:#74849c;font-size:8px;font-weight:800;letter-spacing:.1em}.v2-assignment-card dd{margin:5px 0 0;color:#e1e7f1;font-size:10px}.v2-assignment-card>b{color:#b1a5ff;font-size:10px}.v2-offer-terms{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:27px}.v2-offer-terms article{padding:16px;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:10px}.v2-offer-terms span{display:block;color:#77869e;font-size:8px;font-weight:800;letter-spacing:.13em}.v2-offer-terms strong{display:block;margin-top:10px;color:#f2f5fa;font-size:15px}.v2-offer-terms small{display:block;margin-top:6px;color:#8492a7;font-size:10px;line-height:1.4}.v2-read-content{color:#b6c1d1;font-size:11px;line-height:1.65}.v2-read-content p{margin:0}.v2-read-content hr{margin:15px 0;border:0;border-top:1px solid var(--line)}.v2-decision-card{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:15px;padding:22px;background:linear-gradient(110deg,rgba(83,70,191,.32),rgba(17,23,34,.92) 56%);border:1px solid rgba(135,115,255,.28);border-radius:11px}.v2-decision-card h2{margin:0;color:#fff;font-size:20px}.v2-decision-card p:last-child{max-width:650px;margin:7px 0 0;color:#aaa9c9;font-size:11px;line-height:1.55}.v2-decision-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.v2-decision-actions details{position:relative}.v2-decision-actions summary{padding:10px;color:#ffb3ba;font-size:10px;cursor:pointer;white-space:nowrap}.v2-decision-actions details form{position:absolute;z-index:5;right:0;top:38px;width:270px;padding:12px;background:#141a25;border:1px solid rgba(255,117,130,.28);border-radius:8px;box-shadow:0 20px 40px rgba(0,0,0,.4)}.v2-decision-actions textarea{margin-bottom:8px}.v2-event-list{margin-top:20px}.v2-event-list>div:not(.v2-section-title){display:flex;gap:10px;align-items:flex-start;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.06)}.v2-event-list i{color:#a99fff;font-style:normal}.v2-event-list strong{display:block;color:#e2e8f2;font-size:10px}.v2-event-list small{display:block;margin-top:4px;color:#8492a8;font-size:10px}@media(max-width:1100px){.v2-project-info-grid,.v2-offer-terms{grid-template-columns:repeat(2,1fr)}.v2-form-grid.three{grid-template-columns:1fr 1fr}.v2-assignment-grid{grid-template-columns:1fr 1fr}.v2-inline-update{grid-template-columns:1fr 1fr}}@media(max-width:720px){.v2-dashboard-split,.v2-two-column,.v2-project-info-grid,.v2-offer-terms,.v2-assignment-grid,.v2-form-grid.three{grid-template-columns:1fr}.v2-project-hero,.v2-decision-card{align-items:flex-start;flex-direction:column}.v2-hero-actions,.v2-decision-actions{flex-wrap:wrap}.v2-upload-form{grid-template-columns:1fr}.v2-project-hero h1{font-size:31px}.v2-inline-update{grid-template-columns:1fr}.v2-project-assignments .v2-table{min-width:1080px}}

/* Zero-download security lock recovery */
.v2-asset-security-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 12px;padding:11px;background:rgba(135,115,255,.07);border:1px solid rgba(135,115,255,.18);border-radius:7px}
.v2-asset-security-note i{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;color:#d7d0ff;background:rgba(135,115,255,.16);border-radius:6px;font-size:11px;font-style:normal}
.v2-asset-security-note span{min-width:0}
.v2-asset-security-note strong{display:block;color:#efecff;font-size:10px}
.v2-asset-security-note small{display:block;margin-top:4px;color:#aaa9c7;font-size:9px;line-height:1.45}
.v2-asset-list em{margin-left:auto;color:#aaa0ff;font-size:8px;font-weight:800;font-style:normal;letter-spacing:.12em}
/* Zero-download security lock recovery */
/* LipSub Phase 4 secure studio */
.v2-button.studio{color:#eae6ff;background:rgba(135,115,255,.15);border-color:rgba(135,115,255,.34)}
.studio-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:17px}.studio-header h1{margin:0;color:#fff;font-size:34px;letter-spacing:-.05em}.studio-header>div>span{display:block;margin-top:8px;color:#8f9eb3;font-size:11px}.studio-header-actions{display:flex;align-items:center;gap:9px}.studio-save-state{padding:7px 9px;color:#a9b6cb;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:6px;font-size:10px}.studio-save-state.ok{color:#82e9bf}.studio-save-state.error{color:#ffadb6}.studio-save-state.busy{color:#bdb4ff}.studio-stage{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px}.studio-player-shell{position:relative;min-height:430px;overflow:hidden;background:#030508;border:1px solid var(--line);border-radius:11px}.studio-video{display:block;width:100%;height:430px;background:#020305;object-fit:contain}.studio-video-empty{display:grid;place-content:center;justify-items:center;min-height:430px;color:#97a6bb;text-align:center}.studio-video-empty i{display:grid;place-items:center;width:53px;height:53px;margin-bottom:13px;color:#e5e0ff;background:rgba(135,115,255,.16);border-radius:14px;font-style:normal;font-size:20px}.studio-video-empty strong{color:#e5ebf4;font-size:13px}.studio-video-empty small{margin-top:7px;color:#78879d;font-size:10px}.studio-caption{position:absolute;z-index:3;max-width:76%;padding:5px 10px;color:#fff;background:rgba(0,0,0,.76);border-radius:4px;font-size:18px;font-weight:750;line-height:1.35;text-align:center;pointer-events:none}.studio-caption.top-left{top:5%;left:4%}.studio-caption.top-center{top:5%;left:50%;transform:translateX(-50%)}.studio-caption.top-right{top:5%;right:4%}.studio-caption.middle-left{top:50%;left:4%;transform:translateY(-50%)}.studio-caption.middle-center{top:50%;left:50%;transform:translate(-50%,-50%)}.studio-caption.middle-right{top:50%;right:4%;transform:translateY(-50%)}.studio-caption.bottom-left{bottom:11%;left:4%}.studio-caption.bottom-center{bottom:11%;left:50%;transform:translateX(-50%)}.studio-caption.bottom-right{bottom:11%;right:4%}.studio-inspector{padding:17px;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:11px}.studio-panel-label{display:block;color:#8797b0;font-size:9px;font-weight:800;letter-spacing:.14em}.studio-inspector>strong{display:block;margin:12px 0 16px;color:#f0f4f9;font-size:17px}.studio-inspector dl{margin:0}.studio-inspector dl div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}.studio-inspector dt{color:#7f8ea5;font-size:9px}.studio-inspector dd{margin:0;color:#dde5ef;font-size:10px}.studio-role-note{display:flex;gap:7px;margin-top:17px;padding:10px;background:rgba(135,115,255,.08);border:1px solid rgba(135,115,255,.16);border-radius:7px}.studio-role-note i{color:#d1c9ff;font-style:normal}.studio-role-note strong{display:block;color:#eae7ff;font-size:9px}.studio-role-note small{display:block;margin-top:4px;color:#9e9bb9;font-size:9px}.studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:10px 12px;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:9px}.studio-toolbar input{width:300px;max-width:50vw;height:34px;padding:0 10px;color:#e9eef5;background:#0a0f17;border:1px solid var(--line);border-radius:6px;font:10px inherit}.studio-toolbar button{min-height:33px;margin-left:5px;padding:0 10px;color:#ced8e6;background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:6px;font:10px inherit;cursor:pointer}.studio-cues-wrap{margin-top:14px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#111722,#0d131d)}.studio-cues-head,.studio-cue-row{display:grid;grid-template-columns:42px 142px minmax(180px,1fr) minmax(190px,1fr) 135px 55px;gap:8px;align-items:stretch}.studio-cues-head{padding:10px 12px;color:#7f8ea7;background:rgba(255,255,255,.025);border-bottom:1px solid var(--line);font-size:8px;font-weight:800;letter-spacing:.1em}.studio-cue-row{min-height:96px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.studio-cue-row.active{background:linear-gradient(90deg,rgba(135,115,255,.13),rgba(135,115,255,.02));box-shadow:inset 3px 0 0 #8d7aff}.cue-number{align-self:center;width:28px;height:28px;color:#bfc8dc;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:6px;font:800 10px inherit;cursor:pointer}.cue-timing{display:grid;align-content:center;gap:6px}.cue-timing input,.studio-cue-row select{height:31px;padding:0 7px;color:#dfe7f2;background:#0b111a;border:1px solid var(--line);border-radius:5px;font:9px ui-monospace,monospace}.studio-cue-row textarea{width:100%;min-height:76px;padding:8px;color:#d6dfec;background:#0b111a;border:1px solid var(--line);border-radius:6px;font:10px/1.45 inherit;resize:vertical}.studio-cue-row textarea:disabled,.studio-cue-row input:disabled{opacity:.6}.cue-target{color:#f1f4f9!important}.studio-cue-row select{align-self:center;width:100%;font-family:inherit}.cue-status{align-self:center;color:#8a98ae;font-size:8px;font-weight:800}@media(max-width:1050px){.studio-stage{grid-template-columns:1fr}.studio-cues-wrap{overflow:auto}.studio-cues-head,.studio-cue-row{min-width:930px}}@media(max-width:720px){.studio-header{flex-direction:column}.studio-player-shell,.studio-video,.studio-video-empty{min-height:270px;height:270px}.studio-toolbar{align-items:stretch;flex-direction:column}.studio-toolbar input{width:100%;max-width:none}}

/* Project asset delete control */
.v2-asset-list form{margin-left:8px}
.v2-asset-delete{
  min-height:27px;
  padding:0 8px;
  color:#ffb0b8;
  background:rgba(255,117,130,.08);
  border:1px solid rgba(255,117,130,.25);
  border-radius:5px;
  font:800 9px inherit;
  cursor:pointer;
}
.v2-asset-delete:hover{color:#fff;background:rgba(255,117,130,.22)}

/* LipSub Phase 4.1 dedicated fullscreen Studio */
body:has(.studio-page) .v2-sidebar,
body:has(.studio-page) .v2-topbar{display:none}
body:has(.studio-page) .v2-shell{display:block;min-height:100vh}
body:has(.studio-page) .v2-main-area{width:100%}
body:has(.studio-page) .v2-app-main{max-width:none;margin:0;padding:22px clamp(18px,3vw,48px) 28px}
body:has(.studio-page){background:#070a10}
.studio-page:fullscreen{overflow:auto;min-height:100vh;padding:22px clamp(18px,3vw,48px) 28px;background:#070a10}
.studio-page:fullscreen .studio-player-shell,
.studio-page:fullscreen .studio-video{height:min(64vh,720px)}

/* LipSub Phase 4.2 waveform and playback tools */
.studio-waveform-panel{margin-top:14px;padding:11px 13px;background:linear-gradient(145deg,#141b28,#0e131d);border:1px solid var(--line);border-radius:9px}
.studio-waveform-head{display:flex;align-items:center;gap:12px;margin-bottom:9px;color:#dce5f0;font-size:10px;font-weight:800;letter-spacing:.06em}
.studio-waveform-head small{color:#7f8ea6;font-size:9px;font-weight:500;letter-spacing:0}
.studio-speed-controls{display:flex;gap:5px;margin-left:auto}
.studio-speed-controls button{min-height:24px;padding:0 7px;color:#aebbd0;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:5px;font:9px inherit;cursor:pointer}
.studio-speed-controls button.active{color:#fff;background:rgba(135,115,255,.28);border-color:rgba(170,160,255,.45)}
.studio-waveform{position:relative;overflow:hidden;height:72px;background:#0b1019;border:1px solid rgba(255,255,255,.06);border-radius:6px;cursor:pointer}
.studio-waveform img{display:block;width:100%;height:100%;object-fit:cover;opacity:.92}
.studio-waveform span{position:absolute;top:0;bottom:0;left:0;width:2px;background:#f1efff;box-shadow:0 0 8px rgba(210,202,255,.9);pointer-events:none}
@media(max-width:720px){.studio-waveform-head{align-items:flex-start;flex-wrap:wrap}.studio-speed-controls{margin-left:0;flex-wrap:wrap}}

/* LipSub split workbench styles */
#studioApp .studio-split-workbench{
  display:grid;
  grid-template-columns:minmax(0,58%) minmax(420px,42%);
  gap:14px;
  align-items:start;
  width:100%;
  margin-top:14px;
}

#studioApp .studio-split-left,
#studioApp .studio-split-right{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}

#studioApp .studio-split-left{
  position:sticky;
  top:14px;
}

#studioApp .studio-split-workbench section{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

#studioApp .studio-split-left .studio-waveform-panel{
  margin-top:0 !important;
}

#studioApp .studio-split-right{
  min-height:calc(100vh - 112px);
}

#studioApp .studio-split-right #cueList{
  max-height:calc(100vh - 230px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:4px;
}

#studioApp .studio-split-right .studio-cue-row{
  grid-template-columns:42px 124px minmax(180px,1fr) minmax(210px,1fr) 130px 56px;
}

#studioApp .studio-split-right textarea{
  min-height:64px;
}

#studioApp .studio-split-left video{
  max-height:calc(100vh - 260px);
  object-fit:contain;
}

#studioApp:fullscreen .studio-split-workbench{
  grid-template-columns:minmax(0,60%) minmax(410px,40%);
  padding:12px;
}

#studioApp:fullscreen .studio-split-left{
  top:0;
}

#studioApp:fullscreen .studio-split-right #cueList{
  max-height:calc(100vh - 180px);
}

@media(max-width:1180px){
  #studioApp .studio-split-workbench{
    grid-template-columns:1fr;
  }

  #studioApp .studio-split-left{
    position:static;
  }

  #studioApp .studio-split-right{
    min-height:0;
  }

  #studioApp .studio-split-right #cueList{
    max-height:none;
    overflow:visible;
  }

  #studioApp .studio-split-right .studio-cue-row{
    grid-template-columns:42px 124px minmax(160px,1fr) minmax(180px,1fr) 120px 52px;
  }
}

/* LipSub premium waveform and QC dock styles */
#studioApp .studio-split-workbench{
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  gap:12px;
}

#studioApp .studio-split-left,
#studioApp .studio-split-right{
  gap:12px;
}

#studioApp .studio-video-dock,
#studioApp .studio-waveform-dock,
#studioApp .studio-qc-placeholder{
  border-radius:18px;
  border:1px solid rgba(122,142,202,.18);
  background:linear-gradient(180deg, rgba(12,18,34,.94) 0%, rgba(7,12,24,.98) 100%);
  box-shadow:0 18px 34px rgba(0,0,0,.22);
}

#studioApp .studio-video-dock video,
#studioApp .studio-video-dock .studio-video-element,
#studioApp .studio-video-dock .studio-video-frame{
  max-height:360px;
}

#studioApp .studio-waveform-dock{
  position:relative;
  overflow:hidden;
}

#studioApp .studio-waveform-dock::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(139,124,255,.06) 0%, rgba(10,15,28,0) 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 56px),
    linear-gradient(180deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 50%, rgba(255,255,255,.03) 100%);
  pointer-events:none;
}

#studioApp .studio-waveform-dock .studio-waveform-header,
#studioApp .studio-waveform-dock header{
  position:relative;
  z-index:1;
}

#studioApp .studio-waveform-dock img,
#studioApp .studio-waveform-dock .studio-waveform-image{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:72px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(128,147,221,.22);
  background:
    radial-gradient(circle at 12% 50%, rgba(139,124,255,.25), transparent 22%),
    radial-gradient(circle at 88% 50%, rgba(44,230,199,.18), transparent 24%),
    linear-gradient(180deg, rgba(7,10,18,.94), rgba(10,14,24,.98));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03), 0 10px 22px rgba(0,0,0,.28);
}

#studioApp .studio-qc-placeholder{
  padding:14px 16px;
  min-height:120px;
}

#studioApp .studio-qc-placeholder__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

#studioApp .studio-qc-placeholder__head span{
  display:block;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8ea4d8;
  margin-bottom:6px;
}

#studioApp .studio-qc-placeholder__head strong{
  display:block;
  font-size:18px;
  line-height:1.2;
  color:#f5f8ff;
}

#studioApp .studio-qc-placeholder__head em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-style:normal;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#cdd8ff;
  background:rgba(139,124,255,.12);
  border:1px solid rgba(139,124,255,.18);
}

#studioApp .studio-qc-placeholder__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:end;
}

#studioApp .studio-qc-placeholder__block{
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.05);
}

#studioApp .studio-qc-placeholder__block b{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  color:#f1f5ff;
}

#studioApp .studio-qc-placeholder__block p{
  margin:0;
  font-size:12px;
  line-height:1.6;
  color:#9cb0df;
}

#studioApp .studio-qc-placeholder__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

#studioApp .studio-qc-placeholder__chips span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  color:#dce4ff;
  background:rgba(20,29,54,.9);
  border:1px solid rgba(128,147,221,.18);
}

#studioApp:fullscreen .studio-split-workbench{
  grid-template-columns:minmax(0,45%) minmax(0,55%);
}

#studioApp:fullscreen .studio-video-dock video,
#studioApp:fullscreen .studio-video-dock .studio-video-element,
#studioApp:fullscreen .studio-video-dock .studio-video-frame{
  max-height:330px;
}

@media (max-width: 1220px){
  #studioApp .studio-split-workbench{
    grid-template-columns:1fr;
  }

  #studioApp .studio-video-dock video,
  #studioApp .studio-video-dock .studio-video-element,
  #studioApp .studio-video-dock .studio-video-frame{
    max-height:430px;
  }

  #studioApp .studio-qc-placeholder__body{
    grid-template-columns:1fr;
  }

  #studioApp .studio-qc-placeholder__chips{
    justify-content:flex-start;
  }
}

/* LipSub advanced player dock styles */
#studioApp .studio-video-dock{
  overflow:visible;
}

#studioApp .studio-video-dock video{
  display:block;
  width:100%;
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}

#studioApp .studio-player-dock{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:10px 12px 12px;
  border:1px solid rgba(123,146,220,.18);
  border-top:0;
  border-radius:0 0 16px 16px;
  background:
    linear-gradient(135deg, rgba(22,31,55,.98), rgba(9,14,27,.99)),
    #0a1020;
  box-shadow:0 14px 28px rgba(0,0,0,.22);
}

#studioApp .studio-player-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

#studioApp .studio-player-row--main{
  justify-content:space-between;
}

#studioApp .studio-player-actions,
#studioApp .studio-player-utility,
#studioApp .studio-caption-mode,
#studioApp .studio-speed-dock,
#studioApp .studio-speed-dock .studio-speed-controls{
  display:flex;
  align-items:center;
  gap:6px;
}

#studioApp .studio-player-time{
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  color:#aebfe9;
  white-space:nowrap;
}

#studioApp .studio-player-btn,
#studioApp .studio-caption-mode button{
  min-height:28px;
  padding:0 9px;
  border:1px solid rgba(141,160,230,.22);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:#cedaf7;
  font:600 11px/1 inherit;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}

#studioApp .studio-player-btn:hover,
#studioApp .studio-caption-mode button:hover{
  transform:translateY(-1px);
  border-color:rgba(160,147,255,.62);
  background:rgba(133,116,255,.16);
  color:#fff;
}

#studioApp .studio-player-btn--primary{
  color:#fff;
  background:linear-gradient(135deg, #786bff, #4d58d4);
  border-color:rgba(183,176,255,.7);
}

#studioApp .studio-volume{
  width:82px;
  accent-color:#8b7cff;
}

#studioApp .studio-seek{
  width:100%;
  height:5px;
  accent-color:#8b7cff;
  cursor:pointer;
}

#studioApp .studio-caption-mode{
  flex-wrap:wrap;
}

#studioApp .studio-caption-mode > span{
  margin-right:2px;
  color:#9eb0da;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#studioApp .studio-caption-mode button.active{
  color:#fff;
  background:rgba(129,112,255,.32);
  border-color:rgba(185,176,255,.7);
  box-shadow:0 0 0 1px rgba(173,162,255,.14) inset;
}

#studioApp .studio-speed-dock{
  margin-left:auto;
}

#studioApp .studio-speed-dock .studio-speed-controls{
  margin-left:0;
}

#studioApp .studio-waveform-dock .studio-speed-controls{
  display:none !important;
}

#studioApp .studio-caption.is-hidden{
  display:none !important;
}

#studioApp .studio-caption.is-dual{
  white-space:pre-line;
  line-height:1.5;
}

#studioApp .studio-video-dock:fullscreen,
#studioApp .studio-video-dock:-webkit-full-screen{
  width:100%;
  height:100%;
  padding:20px;
  background:#05070d;
}

#studioApp .studio-video-dock:fullscreen video,
#studioApp .studio-video-dock:-webkit-full-screen video{
  max-height:calc(100vh - 140px);
  margin:auto;
}

#studioApp .studio-video-dock:fullscreen .studio-player-dock,
#studioApp .studio-video-dock:-webkit-full-screen .studio-player-dock{
  max-width:1100px;
  margin:0 auto;
}

@media(max-width:760px){
  #studioApp .studio-player-row--main,
  #studioApp .studio-player-row--settings{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  #studioApp .studio-player-utility,
  #studioApp .studio-speed-dock{
    margin-left:0;
  }

  #studioApp .studio-volume{
    width:64px;
  }
}

/* LipSub player dock layout recovery styles */
#studioApp #studioPlayerDockSlot{
  display:block;
  width:100%;
  margin:10px 0 10px;
  clear:both;
}

#studioApp #studioPlayerDock{
  width:100% !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  padding:12px !important;
  border:1px solid rgba(123,146,220,.18) !important;
  border-radius:16px !important;
  background:linear-gradient(135deg, rgba(22,31,55,.98), rgba(9,14,27,.99)) !important;
  box-sizing:border-box !important;
}

#studioApp #studioPlayerDock .studio-player-row{
  width:100%;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0;
  flex-wrap:wrap;
}

#studioApp #studioPlayerDock .studio-player-row--main{
  justify-content:space-between !important;
}

#studioApp #studioPlayerDock .studio-player-actions,
#studioApp #studioPlayerDock .studio-player-utility,
#studioApp #studioPlayerDock .studio-player-time,
#studioApp #studioPlayerDock .studio-caption-mode,
#studioApp #studioPlayerDock .studio-speed-dock,
#studioApp #studioPlayerDock .studio-speed-dock .studio-speed-controls{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap;
}

#studioApp #studioPlayerDock .studio-player-actions{flex:1 1 auto;}
#studioApp #studioPlayerDock .studio-player-time{flex:0 0 auto;}
#studioApp #studioPlayerDock .studio-player-utility{flex:0 1 auto; margin-left:auto;}

#studioApp #studioPlayerDock .studio-player-row--seek .studio-seek{
  width:100% !important;
}

#studioApp #studioPlayerDock .studio-player-row--settings{
  justify-content:space-between !important;
}

#studioApp #studioPlayerDock .studio-caption-mode{
  flex:1 1 auto;
}

#studioApp #studioPlayerDock .studio-speed-dock{
  flex:0 1 auto;
  margin-left:auto !important;
}

#studioApp .studio-waveform-dock .studio-speed-controls{
  display:none !important;
}

#studioApp .studio-player-btn,
#studioApp .studio-caption-mode button{
  min-height:30px !important;
}

#studioApp .studio-volume{
  width:100px !important;
}

@media (max-width: 1400px){
  #studioApp #studioPlayerDock .studio-player-row--main,
  #studioApp #studioPlayerDock .studio-player-row--settings{
    align-items:flex-start !important;
  }
}

@media (max-width: 900px){
  #studioApp #studioPlayerDock .studio-player-utility,
  #studioApp #studioPlayerDock .studio-speed-dock{
    margin-left:0 !important;
  }
  #studioApp #studioPlayerDock .studio-volume{
    width:72px !important;
  }
}

/* LipSub active cue bar and cue-list performance styles */
#studioApp .studio-active-cue-bar{
  display:grid;
  grid-template-columns:minmax(160px,.8fr) minmax(430px,2fr) minmax(120px,.55fr);
  gap:18px;
  align-items:center;
  width:100%;
  margin:10px 0 12px;
  padding:12px 16px;
  border:1px solid rgba(124,145,218,.2);
  border-radius:14px;
  background:linear-gradient(115deg, rgba(23,33,62,.96), rgba(11,18,34,.96));
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  box-sizing:border-box;
}

#studioApp .studio-active-cue-bar__identity,
#studioApp .studio-active-cue-bar__role{
  display:flex;
  flex-direction:column;
  gap:4px;
}

#studioApp .studio-active-cue-bar__identity > span,
#studioApp .studio-active-cue-bar__role > span{
  color:#8da5da;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#studioApp .studio-active-cue-bar__identity strong{
  color:#f4f7ff;
  font-size:18px;
  line-height:1;
}

#studioApp .studio-active-cue-bar__time{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:8px;
}

#studioApp .studio-active-cue-bar__time span{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:7px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.055);
  color:#8ea2d0;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

#studioApp .studio-active-cue-bar__time b,
#studioApp .studio-active-cue-bar__role b{
  color:#f0f4ff;
  font-size:12px;
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
  text-transform:none;
}

#studioApp .studio-active-cue-bar__role{
  align-items:flex-end;
  text-align:right;
}

/* Crucial performance containment: offscreen cue rows are not painted or laid out. */
#studioApp #cueList{
  contain:layout paint style;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

#studioApp #cueList .studio-cue-row{
  content-visibility:auto;
  contain:layout paint style;
  contain-intrinsic-size:132px;
}

#studioApp #cueList textarea{
  spellcheck:false;
}

@media(max-width:1180px){
  #studioApp .studio-active-cue-bar{
    grid-template-columns:1fr;
    gap:10px;
  }

  #studioApp .studio-active-cue-bar__role{
    align-items:flex-start;
    text-align:left;
  }

  #studioApp .studio-active-cue-bar__time{
    grid-template-columns:repeat(3, minmax(100px,1fr));
  }
}

@media(max-width:620px){
  #studioApp .studio-active-cue-bar__time{
    grid-template-columns:1fr;
  }
}

/* ==========================================================
   LipSub Studio V3 deterministic layout
   ========================================================== */
#studioApp #studioV3Layout{
  display:grid !important;
  grid-template-columns:minmax(0,44%) minmax(0,56%) !important;
  gap:14px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 !important;
}

#studioApp .v3-left,
#studioApp .v3-right{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}

#studioApp .v3-left{
  position:sticky !important;
  top:12px !important;
}

#studioApp #v3MediaPanel{
  overflow:hidden !important;
  border:1px solid rgba(123,146,220,.22) !important;
  border-radius:16px !important;
  background:#070b15 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.24) !important;
}

#studioApp #v3MediaPanel video{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  max-height:330px !important;
  background:#000 !important;
  object-fit:contain !important;
}

#studioApp #v3MediaPanel .studio-caption{
  z-index:5 !important;
}

#studioApp .v3-player-controls{
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  padding:11px 12px 12px !important;
  background:linear-gradient(135deg,#17213d,#0a1120) !important;
  border-top:1px solid rgba(123,146,220,.18) !important;
}

#studioApp .v3-controls-main,
#studioApp .v3-controls-settings,
#studioApp .v3-control-group,
#studioApp .v3-caption-buttons,
#studioApp .v3-speed-buttons{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  flex-wrap:wrap !important;
}

#studioApp .v3-controls-main{
  justify-content:space-between !important;
}

#studioApp .v3-control-group--utility{
  margin-left:auto !important;
}

#studioApp .v3-clock{
  display:flex !important;
  gap:5px !important;
  font-size:12px !important;
  color:#b8c7eb !important;
  font-variant-numeric:tabular-nums !important;
  white-space:nowrap !important;
}

#studioApp .v3-player-controls button{
  min-height:28px !important;
  padding:0 9px !important;
  border:1px solid rgba(141,160,230,.24) !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.035) !important;
  color:#cfdbfb !important;
  font:600 11px/1 inherit !important;
  cursor:pointer !important;
}

#studioApp .v3-player-controls button:hover,
#studioApp .v3-player-controls button.v3-selected{
  color:#fff !important;
  border-color:rgba(179,168,255,.72) !important;
  background:rgba(128,112,255,.32) !important;
}

#studioApp .v3-player-controls .v3-primary{
  background:linear-gradient(135deg,#7b6fff,#5360d9) !important;
  border-color:rgba(189,181,255,.76) !important;
  color:#fff !important;
}

#studioApp .v3-seek{
  display:block !important;
  width:100% !important;
  accent-color:#8c7cff !important;
}

#studioApp #v3Volume{
  width:90px !important;
  accent-color:#8c7cff !important;
}

#studioApp .v3-controls-settings{
  justify-content:space-between !important;
}

#studioApp .v3-caption-buttons > span,
#studioApp .v3-speed-buttons > span{
  color:#91a7da !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

#studioApp .v3-save-status{
  color:#96a8cd !important;
  font-size:11px !important;
  margin-left:auto !important;
}

#studioApp .v3-save-status[data-type="ok"]{ color:#70e6bf !important; }
#studioApp .v3-save-status[data-type="error"]{ color:#ff94a6 !important; }
#studioApp .v3-save-status[data-type="busy"]{ color:#d2c9ff !important; }

#studioApp .v3-cue-bar{
  display:grid !important;
  grid-template-columns:minmax(130px,.75fr) minmax(400px,2fr) minmax(100px,.45fr) !important;
  gap:16px !important;
  align-items:center !important;
  width:100% !important;
  margin:10px 0 12px !important;
  padding:12px 15px !important;
  border:1px solid rgba(124,145,218,.2) !important;
  border-radius:14px !important;
  background:linear-gradient(115deg,#17213e,#0d1629) !important;
  box-sizing:border-box !important;
}

#studioApp .v3-cue-bar span{
  display:block !important;
  color:#8fa6da !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
}

#studioApp .v3-cue-bar strong{
  display:block !important;
  color:#f6f8ff !important;
  font-size:17px !important;
  margin-top:3px !important;
}

#studioApp .v3-cue-bar__times{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
}

#studioApp .v3-cue-bar__times > span{
  padding:7px 10px !important;
  border:1px solid rgba(255,255,255,.06) !important;
  border-radius:9px !important;
  background:rgba(255,255,255,.03) !important;
}

#studioApp .v3-cue-bar__times b,
#studioApp .v3-cue-bar__role b{
  display:block !important;
  margin-top:3px !important;
  color:#f2f5ff !important;
  font-size:12px !important;
  font-variant-numeric:tabular-nums !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

#studioApp .v3-cue-bar__role{
  text-align:right !important;
}

#studioApp .v3-right #cueList{
  max-height:calc(100vh - 255px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  contain:layout paint style !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable !important;
}

#studioApp .v3-cue-row{
  display:grid !important;
  grid-template-columns:42px 112px minmax(150px,1fr) minmax(160px,1fr) 122px 48px !important;
  gap:8px !important;
  align-items:center !important;
  padding:8px !important;
  border-bottom:1px solid rgba(126,145,202,.1) !important;
  content-visibility:auto !important;
  contain:layout paint style !important;
  contain-intrinsic-size:112px !important;
}

#studioApp .v3-cue-row.v3-active{
  background:rgba(122,103,255,.11) !important;
  box-shadow:inset 3px 0 0 #887aff !important;
}

#studioApp .v3-cue-number{
  width:28px !important;
  height:28px !important;
  border-radius:8px !important;
  border:1px solid rgba(148,167,234,.2) !important;
  background:rgba(255,255,255,.035) !important;
  color:#d6e0fb !important;
  cursor:pointer !important;
}

#studioApp .v3-cue-timing{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
}

#studioApp .v3-cue-row input,
#studioApp .v3-cue-row textarea,
#studioApp .v3-cue-row select{
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid rgba(128,147,221,.18) !important;
  border-radius:7px !important;
  background:#0a1221 !important;
  color:#e3ebff !important;
  font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace !important;
}

#studioApp .v3-cue-row input{
  min-height:28px !important;
  padding:5px 7px !important;
}

#studioApp .v3-cue-row textarea{
  min-height:62px !important;
  padding:8px !important;
  resize:vertical !important;
}

#studioApp .v3-cue-row select{
  min-height:30px !important;
  padding:0 6px !important;
  font-family:inherit !important;
}

#studioApp .v3-cue-status{
  color:#92a5cf !important;
  font-size:9px !important;
  font-weight:800 !important;
}

#studioApp .v3-qc-panel{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:13px 15px !important;
  border:1px solid rgba(123,146,220,.16) !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#111a31,#0b1220) !important;
}

#studioApp .v3-qc-panel span{
  display:block !important;
  color:#8ea4d8 !important;
  font-size:10px !important;
  text-transform:uppercase !important;
  letter-spacing:.11em !important;
}

#studioApp .v3-qc-panel strong{
  display:block !important;
  margin-top:4px !important;
  color:#f1f5ff !important;
  font-size:15px !important;
}

#studioApp .v3-qc-pills{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
}

#studioApp .v3-qc-pills b{
  padding:6px 9px !important;
  border:1px solid rgba(133,151,223,.18) !important;
  border-radius:999px !important;
  color:#cbd6f8 !important;
  font-size:10px !important;
  font-weight:600 !important;
}

#studioApp .v3-caption-hidden{
  display:none !important;
}

#studioApp .v3-caption-both{
  white-space:pre-line !important;
  line-height:1.45 !important;
}

#studioApp #v3MediaPanel:fullscreen{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:18px !important;
  background:#05070d !important;
}

#studioApp #v3MediaPanel:fullscreen video{
  max-height:calc(100vh - 170px) !important;
  margin:auto !important;
}

@media(max-width:1250px){
  #studioApp #studioV3Layout{
    grid-template-columns:1fr !important;
  }

  #studioApp .v3-left{
    position:static !important;
  }

  #studioApp .v3-right #cueList{
    max-height:none !important;
  }
}

@media(max-width:760px){
  #studioApp .v3-cue-bar{
    grid-template-columns:1fr !important;
  }

  #studioApp .v3-cue-bar__role{
    text-align:left !important;
  }

  #studioApp .v3-cue-bar__times{
    grid-template-columns:1fr !important;
  }

  #studioApp .v3-cue-row{
    grid-template-columns:38px 105px 1fr !important;
  }

  #studioApp .v3-cue-row textarea,
  #studioApp .v3-cue-row select,
  #studioApp .v3-cue-status{
    grid-column:3 !important;
  }

  #studioApp .v3-controls-main,
  #studioApp .v3-controls-settings{
    align-items:flex-start !important;
  }

  #studioApp .v3-control-group--utility,
  #studioApp .v3-save-status{
    margin-left:0 !important;
  }
}

/* LipSub Arabic RTL and autosave styles */
#studioApp .v3-cue-target.lipsub-rtl-text{
  direction:rtl !important;
  text-align:right !important;
  unicode-bidi:plaintext !important;
  font-family:Tahoma, Arial, "Noto Naskh Arabic", "Noto Sans Arabic", sans-serif !important;
  line-height:1.65 !important;
}

#studioApp .v3-cue-target.lipsub-ltr-text{
  direction:ltr !important;
  text-align:left !important;
  unicode-bidi:plaintext !important;
}

#studioApp .studio-caption.lipsub-rtl-text{
  direction:rtl !important;
  text-align:center !important;
  unicode-bidi:plaintext !important;
  font-family:Tahoma, Arial, "Noto Naskh Arabic", "Noto Sans Arabic", sans-serif !important;
  line-height:1.55 !important;
}

#studioApp .studio-caption.lipsub-ltr-text{
  direction:ltr !important;
  text-align:center !important;
  unicode-bidi:plaintext !important;
}

#studioApp .v3-cue-target[data-autosave-state="saving"]{
  border-color:rgba(175,160,255,.82) !important;
  box-shadow:0 0 0 2px rgba(140,124,255,.12) !important;
}

#studioApp .v3-cue-target[data-autosave-state="saved"]{
  border-color:rgba(90,220,180,.46) !important;
}

#studioApp .v3-cue-target[data-autosave-state="error"]{
  border-color:rgba(255,125,150,.68) !important;
}

/* LipSub live QC snapshot styles */
#studioApp #v3QcPanel.lipsub-qc-live{
  display:block !important;
  padding:14px !important;
}

#studioApp .lipsub-qc-live__head,
#studioApp .lipsub-qc-live__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

#studioApp .lipsub-qc-live__head{
  margin-bottom:11px;
}

#studioApp .lipsub-qc-live__head span{
  display:block;
  color:#8ea4d8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

#studioApp .lipsub-qc-live__head strong{
  display:block;
  margin-top:4px;
  color:#f3f6ff;
  font-size:15px;
}

#studioApp .lipsub-qc-live__reset{
  min-height:28px;
  padding:0 9px;
  border:1px solid rgba(136,155,222,.22);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:#c9d5f6;
  font:600 10px/1 inherit;
  cursor:pointer;
}

#studioApp .lipsub-qc-live__metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

#studioApp .lipsub-qc-metric{
  min-height:90px;
  padding:11px 10px;
  text-align:left;
  border:1px solid rgba(128,148,220,.15);
  border-radius:11px;
  background:rgba(255,255,255,.028);
  color:#d9e3ff;
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease, background .15s ease;
}

#studioApp .lipsub-qc-metric:hover,
#studioApp .lipsub-qc-metric.is-active{
  transform:translateY(-1px);
  border-color:rgba(159,145,255,.58);
  background:rgba(123,106,255,.13);
}

#studioApp .lipsub-qc-metric span,
#studioApp .lipsub-qc-metric em{
  display:block;
  color:#96a9d7;
  font-size:10px;
  font-style:normal;
  letter-spacing:.04em;
}

#studioApp .lipsub-qc-metric b{
  display:block;
  margin:7px 0 5px;
  color:#fff;
  font-size:27px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

#studioApp .lipsub-qc-live__foot{
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.055);
  color:#8ea3d2;
  font-size:10px;
}

#studioApp .v3-cue-row.lipsub-qc-hit{
  background:rgba(125,105,255,.105) !important;
  box-shadow:inset 3px 0 0 #8c7dff !important;
}

#studioApp .v3-cue-row[hidden]{
  display:none !important;
}

@media(max-width:720px){
  #studioApp .lipsub-qc-live__metrics{
    grid-template-columns:1fr;
  }

  #studioApp .lipsub-qc-live__foot{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* LipSub editor interaction and subtitle edit waveform styles */
#studioApp .v4-cue-navigator{
  display:flex;
  justify-content:flex-end;
  gap:7px;
}

#studioApp .v4-cue-navigator button{
  min-height:29px;
  padding:0 10px;
  border:1px solid rgba(146,162,229,.25);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:#d8e2ff;
  font:600 11px/1 inherit;
  cursor:pointer;
}

#studioApp .v4-cue-navigator button:hover{
  border-color:rgba(177,165,255,.7);
  background:rgba(128,111,255,.24);
  color:#fff;
}

#studioApp #v3MediaPanel{
  position:relative !important;
}

#studioApp .v4-top-fullscreen{
  position:absolute;
  z-index:12;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border:1px solid rgba(221,230,255,.28);
  border-radius:9px;
  background:rgba(5,10,20,.68);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
}

#studioApp .v4-top-fullscreen:hover{
  background:rgba(123,107,255,.78);
  border-color:rgba(222,215,255,.9);
}

#studioApp .v4-cue-duration{
  display:block;
  padding-top:3px;
  color:#97a9d7;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  text-align:center;
}

#studioApp .v4-cue-qc-badges{
  display:flex;
  flex-direction:column;
  gap:5px;
  align-self:center;
}

#studioApp .v4-qc-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:2px 6px;
  border-radius:7px;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

#studioApp .v4-qc-badge--red{
  border:1px solid rgba(255,111,131,.72);
  background:rgba(177,35,62,.25);
  color:#ffabb7;
}

#studioApp .v3-cue-row.v4-cpl-error .v3-cue-target,
#studioApp .v3-cue-row.v4-cps-error .v3-cue-target,
#studioApp .v3-cue-target.v4-cpl-error-field,
#studioApp .v3-cue-target.v4-cps-error-field{
  border-color:rgba(255,91,117,.86) !important;
  box-shadow:0 0 0 1px rgba(255,91,117,.16) inset !important;
}

#studioApp .v3-cue-row{
  grid-template-columns:42px 112px minmax(145px,1fr) minmax(155px,1fr) minmax(70px,.45fr) 122px 48px !important;
}

#studioApp .v4-waveform-stage{
  position:relative;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:2px;
  border:1px solid rgba(119,142,216,.2);
  border-radius:12px;
  background:#070d18;
  scrollbar-color:#8274fa #0a1020;
}

#studioApp .v4-waveform-track{
  position:relative;
  min-width:100%;
  height:120px;
  cursor:crosshair;
}

#studioApp .v4-waveform-image{
  display:block !important;
  width:100% !important;
  height:120px !important;
  max-height:none !important;
  object-fit:fill !important;
  border:0 !important;
  border-radius:10px !important;
  filter:brightness(1.13) contrast(1.12) saturate(1.06);
  opacity:.9;
}

#studioApp .v4-wave-cue{
  position:absolute;
  z-index:3;
  top:14px;
  bottom:16px;
  min-width:2px;
  padding:0;
  border:1px solid rgba(180,171,255,.62);
  border-radius:4px;
  background:rgba(122,106,255,.22);
  cursor:pointer;
}

#studioApp .v4-wave-cue:hover{
  z-index:5;
  background:rgba(131,222,211,.38);
  border-color:rgba(157,255,240,.88);
}

#studioApp .v4-wave-cue--active{
  z-index:6;
  background:rgba(255,207,110,.45);
  border-color:#ffd276;
  box-shadow:0 0 12px rgba(255,204,103,.45);
}

#studioApp .v4-wave-playhead{
  position:absolute;
  z-index:8;
  top:0;
  bottom:0;
  width:2px;
  margin-left:-1px;
  background:#ff616f;
  box-shadow:0 0 8px rgba(255,89,110,.9);
  pointer-events:none;
}

#studioApp .v4-waveform-tools{
  position:absolute;
  z-index:9;
  top:7px;
  right:8px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 6px 5px 9px;
  border:1px solid rgba(170,184,238,.2);
  border-radius:8px;
  background:rgba(5,10,19,.7);
  color:#c5d0f0;
  font-size:10px;
  letter-spacing:.04em;
  backdrop-filter:blur(6px);
}

#studioApp .v4-waveform-tools div{
  display:flex;
  gap:4px;
}

#studioApp .v4-waveform-tools button{
  width:22px;
  height:22px;
  padding:0;
  border:1px solid rgba(171,184,238,.28);
  border-radius:5px;
  background:rgba(255,255,255,.06);
  color:#e5ebff;
  cursor:pointer;
  font-size:15px;
  line-height:1;
}

#studioApp .v4-waveform-tools button:hover{
  background:rgba(126,110,255,.4);
}

@media(max-width:1350px){
  #studioApp .v3-cue-row{
    grid-template-columns:38px 104px minmax(130px,1fr) minmax(140px,1fr) 70px 110px 42px !important;
    gap:6px !important;
  }
}

@media(max-width:900px){
  #studioApp .v3-cue-row{
    grid-template-columns:38px 105px 1fr !important;
  }

  #studioApp .v3-cue-row .v3-cue-source,
  #studioApp .v3-cue-row .v3-cue-target,
  #studioApp .v3-cue-row .v4-cue-qc-badges,
  #studioApp .v3-cue-row select,
  #studioApp .v3-cue-row .v3-cue-status{
    grid-column:3 !important;
  }

  #studioApp .v4-waveform-track,
  #studioApp .v4-waveform-image{
    height:105px !important;
  }
}

/* LipSub clean waveform and toolbar navigation styles */

/* Yellow rectangles from the earlier waveform build are intentionally removed. */
#studioApp .v4-wave-cue{
  display:none !important;
}

/* Keep Previous/Next only beside the search field, not inside Active Cue. */
#studioApp #v3CueBar #v4CueNavigator{
  display:none !important;
}

/* Header-like placement for Subtitle Timeline tools. */
#studioApp .studio-waveform-dock .v4-waveform-tools{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  width:auto !important;
  margin:0 0 8px auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}

#studioApp .studio-waveform-dock .v4-waveform-tools > span{
  color:#9baedb !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.05em !important;
}

#studioApp .studio-waveform-dock .v4-waveform-tools div{
  display:flex !important;
  gap:5px !important;
}

#studioApp .studio-waveform-dock .v4-waveform-tools button{
  width:28px !important;
  height:27px !important;
  border:1px solid rgba(147,164,232,.26) !important;
  border-radius:7px !important;
  background:rgba(255,255,255,.045) !important;
  color:#e8edff !important;
  font-size:17px !important;
}

/* Wider, real waveform with a simple dark grid background. */
#studioApp .v4-waveform-stage{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  min-height:150px !important;
  padding:0 !important;
  border:1px solid rgba(123,145,214,.24) !important;
  border-radius:11px !important;
  background:
    repeating-linear-gradient(0deg, rgba(116,139,198,.12) 0, rgba(116,139,198,.12) 1px, transparent 1px, transparent 19px),
    repeating-linear-gradient(90deg, rgba(116,139,198,.11) 0, rgba(116,139,198,.11) 1px, transparent 1px, transparent 46px),
    #070c15 !important;
}

#studioApp .v4-waveform-track{
  min-width:100% !important;
  height:148px !important;
}

#studioApp .v4-waveform-image{
  width:100% !important;
  height:148px !important;
  object-fit:fill !important;
  opacity:1 !important;
  filter:brightness(1.12) contrast(1.22) saturate(1.2) !important;
  mix-blend-mode:screen;
  background:transparent !important;
}

/* Only the current subtitle range is highlighted, like the red active selection in Subtitle Edit. */
#studioApp .v5-wave-active-range{
  position:absolute !important;
  z-index:5 !important;
  top:0 !important;
  bottom:0 !important;
  min-width:2px !important;
  border-left:1px solid rgba(255,110,110,.92) !important;
  border-right:1px solid rgba(255,110,110,.92) !important;
  background:rgba(255,58,58,.28) !important;
  pointer-events:none !important;
}

#studioApp .v4-wave-playhead{
  z-index:7 !important;
  width:2px !important;
  background:#fff !important;
  box-shadow:0 0 8px rgba(255,255,255,.95) !important;
}

@media(max-width:900px){
  #studioApp .v4-waveform-stage,
  #studioApp .v4-waveform-track,
  #studioApp .v4-waveform-image{
    min-height:118px !important;
    height:118px !important;
  }
}

/* LipSub subtitle edit waveform controls and overlay styles */

/* No old floating +/- UI. */
#studioApp .studio-waveform-dock .v4-waveform-tools{
  display:none !important;
}

/* Actual control bar, placed below waveform like the reference. */
#studioApp .studio-waveform-dock #v6WaveControls{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  width:100% !important;
  min-height:37px !important;
  margin-top:8px !important;
  padding:5px 0 0 !important;
  border-top:1px solid rgba(139,157,222,.14) !important;
  box-sizing:border-box !important;
}

#studioApp #v6WaveControls button,
#studioApp #v6WaveControls select{
  height:28px !important;
  border:1px solid rgba(151,168,232,.28) !important;
  border-radius:6px !important;
  background:#10192d !important;
  color:#e5ebff !important;
  font:600 11px/1 inherit !important;
}

#studioApp #v6WaveControls button{
  width:33px !important;
  padding:0 !important;
  cursor:pointer !important;
}

#studioApp #v6WaveControls button:hover{
  border-color:rgba(181,168,255,.8) !important;
  background:rgba(128,110,255,.27) !important;
}

#studioApp #v6WaveZoom{
  width:76px !important;
  padding:0 7px !important;
  cursor:pointer !important;
}

#studioApp .v6-wave-controls__divider{
  width:1px !important;
  height:22px !important;
  margin:0 2px !important;
  background:rgba(156,171,226,.22) !important;
}

#studioApp .v6-wave-controls__hint{
  margin-left:auto !important;
  color:#8fa4d7 !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

/* Waveform image at layer 1; active red subtitle selection at layer 4. */
#studioApp .v4-waveform-track{
  position:relative !important;
  min-width:100% !important;
}

#studioApp .v4-waveform-image{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
}

#studioApp #v6WaveOverlay{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
}

#studioApp .v6-wave-active-range{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  min-width:3px !important;
  border-left:2px solid rgba(255,103,103,.98) !important;
  border-right:2px solid rgba(255,103,103,.98) !important;
  background:rgba(255,43,43,.37) !important;
  box-shadow:inset 0 0 18px rgba(255,70,70,.28), 0 0 10px rgba(255,70,70,.3) !important;
}

#studioApp .v6-wave-playhead{
  position:absolute !important;
  z-index:6 !important;
  top:0 !important;
  bottom:0 !important;
  width:2px !important;
  margin-left:-1px !important;
  background:#fff !important;
  box-shadow:0 0 9px rgba(255,255,255,.98) !important;
}

@media(max-width:700px){
  #studioApp .studio-waveform-dock #v6WaveControls{
    flex-wrap:wrap !important;
  }

  #studioApp .v6-wave-controls__hint{
    width:100% !important;
    margin-left:0 !important;
  }
}

/* LipSub CPS calculator and CPS-only QC styles */
#studioApp .v7-cps-calculator{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  margin-top:6px;
}

#studioApp .v7-cps-calculator span,
#studioApp .v7-cps-calculator b{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 6px;
  border:1px solid rgba(133,153,220,.18);
  border-radius:6px;
  background:rgba(255,255,255,.03);
  color:#9fb1dd;
  font-size:9px;
  font-weight:700;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

#studioApp .v7-cps-calculator b{
  color:#9ee9ce;
  border-color:rgba(92,220,174,.28);
  background:rgba(53,166,122,.09);
}

#studioApp .v7-cps-calculator.v7-cps-over b{
  color:#ffb2bd;
  border-color:rgba(255,91,117,.7);
  background:rgba(178,34,62,.24);
}

#studioApp .v3-cue-row.v7-cps-over-row .v3-cue-target{
  border-color:rgba(255,91,117,.86) !important;
  box-shadow:0 0 0 1px rgba(255,91,117,.16) inset !important;
}

#studioApp #v3QcPanel.v7-qc-cps-only{
  display:block !important;
  padding:14px !important;
}

#studioApp .v7-qc-head,
#studioApp .v7-qc-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

#studioApp .v7-qc-head{
  margin-bottom:11px;
}

#studioApp .v7-qc-head span{
  display:block;
  color:#8ea4d8;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

#studioApp .v7-qc-head strong{
  display:block;
  margin-top:4px;
  color:#f3f6ff;
  font-size:15px;
}

#studioApp .v7-qc-head button{
  min-height:28px;
  padding:0 9px;
  border:1px solid rgba(139,157,222,.22);
  border-radius:8px;
  background:rgba(255,255,255,.035);
  color:#cbd7f8;
  font:600 10px/1 inherit;
  cursor:pointer;
}

#studioApp .v7-qc-metric{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  width:100%;
  padding:13px 14px;
  border:1px solid rgba(255,101,122,.38);
  border-radius:12px;
  background:linear-gradient(110deg,rgba(137,27,50,.15),rgba(20,25,47,.25));
  color:#e6ecff;
  text-align:left;
  cursor:pointer;
}

#studioApp .v7-qc-metric:hover,
#studioApp .v7-qc-metric.is-active{
  border-color:rgba(255,114,133,.8);
  background:linear-gradient(110deg,rgba(171,34,62,.28),rgba(42,24,55,.38));
}

#studioApp .v7-qc-metric span,
#studioApp .v7-qc-metric em{
  display:block;
  color:#ffa9b6;
  font-size:10px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.04em;
}

#studioApp .v7-qc-metric b{
  grid-row:span 2;
  color:#fff;
  font-size:30px;
  font-variant-numeric:tabular-nums;
}

#studioApp .v7-qc-foot{
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.055);
  color:#8ea3d2;
  font-size:10px;
}

@media(max-width:720px){
  #studioApp .v7-qc-head,
  #studioApp .v7-qc-foot{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* LipSub professional export center styles */
#studioApp #v3CueBar{
  position:relative !important;
}

#studioApp .v8-export-center{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  margin-top:2px !important;
  padding-top:10px !important;
  border-top:1px solid rgba(141,159,225,.13) !important;
}

#studioApp .v8-export-label{
  margin-right:2px !important;
  color:#9dafda !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}

#studioApp .v8-export-center select,
#studioApp .v8-export-center button{
  min-height:30px !important;
  border:1px solid rgba(145,163,228,.26) !important;
  border-radius:7px !important;
  background:#10192c !important;
  color:#e5ebff !important;
  font:600 11px/1 inherit !important;
}

#studioApp .v8-export-center select{
  max-width:238px !important;
  padding:0 8px !important;
}

#studioApp .v8-export-center button{
  padding:0 12px !important;
  border-color:rgba(183,171,255,.66) !important;
  background:linear-gradient(135deg,#7a6cff,#4e5dd5) !important;
  color:#fff !important;
  cursor:pointer !important;
}

#studioApp .v8-export-center button:hover{
  filter:brightness(1.12) !important;
}

@media(max-width:850px){
  #studioApp .v8-export-center{
    justify-content:flex-start !important;
  }

  #studioApp .v8-export-center select{
    max-width:100% !important;
  }
}

/* LipSub native spellcheck and project FPS styles */
#studioApp .lipsub-native-spellcheck-ar{
  direction:rtl !important;
  text-align:right !important;
  unicode-bidi:plaintext !important;
}

#studioApp .lipsub-native-spellcheck-en{
  direction:ltr !important;
  text-align:left !important;
  unicode-bidi:plaintext !important;
}

.lipsub-project-fps-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:16px 0;
  padding:14px;
  border:1px solid rgba(125,145,218,.22);
  border-radius:12px;
  background:#10192c;
  color:#e8edff;
}

.lipsub-project-fps-field label{
  font-size:13px;
  font-weight:800;
}

.lipsub-project-fps-field select{
  min-height:38px;
  max-width:360px;
  padding:0 10px;
  border:1px solid rgba(145,163,228,.3);
  border-radius:8px;
  background:#080f1d;
  color:#e8edff;
}

.lipsub-project-fps-field small{
  color:#a3b2d8;
  font-size:11px;
  line-height:1.5;
}

/* LipSub exact project FPS field styles */
.lipsub-project-fps-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  margin:14px 0 0;
  padding:13px;
  border:1px solid rgba(124,144,218,.28);
  border-radius:10px;
  background:rgba(12,20,36,.78);
}

.lipsub-project-fps-field label{
  color:#eef2ff;
  font-size:12px;
  font-weight:800;
}

.lipsub-project-fps-field label span{
  color:#90a5d6;
  font-size:10px;
  font-weight:600;
}

.lipsub-project-fps-field select{
  width:100%;
  min-height:36px;
  padding:0 9px;
  border:1px solid rgba(146,163,227,.32);
  border-radius:7px;
  background:#0b1321;
  color:#f1f4ff;
  font:600 12px/1 inherit;
}

.lipsub-project-fps-field small{
  color:#93a8d7;
  font-size:10px;
  line-height:1.4;
}

/* LipSub translator QC approval workflow styles */
#studioApp .v9-workflow-panel{
  grid-column:1 / -1;
  width:100%;
  margin-top:10px;
  padding:12px 14px;
  border:1px solid rgba(133,152,221,.22);
  border-radius:12px;
  background:linear-gradient(120deg,rgba(22,33,62,.92),rgba(14,20,38,.92));
}

#studioApp .v9-workflow-main{
  display:flex;
  align-items:center;
  gap:16px;
}

#studioApp .v9-workflow-status{
  min-width:126px;
}

#studioApp .v9-workflow-status span,
#studioApp .v9-workflow-stats span{
  display:block;
  color:#91a6d9;
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

#studioApp .v9-workflow-status strong{
  display:block;
  margin-top:4px;
  font-size:14px;
}

#studioApp .v9-status-accepted,
#studioApp .v9-status-in_progress{ color:#c6d4ff; }
#studioApp .v9-status-returned{ color:#ffbf7f; }
#studioApp .v9-status-submitted{ color:#8fd1ff; }
#studioApp .v9-status-approved{ color:#8df0bd; }

#studioApp .v9-workflow-stats{
  display:flex;
  flex:1;
  gap:8px;
}

#studioApp .v9-workflow-stats > div{
  min-width:88px;
  padding:5px 9px;
  border-left:1px solid rgba(146,164,229,.16);
}

#studioApp .v9-workflow-stats b{
  display:block;
  margin-top:3px;
  color:#f5f7ff;
  font-size:16px;
  font-variant-numeric:tabular-nums;
}

#studioApp .v9-workflow-stats em{
  display:block;
  margin-top:2px;
  color:#99aad3;
  font-size:9px;
  font-style:normal;
}

#studioApp .v9-workflow-stats .is-alert b,
#studioApp .v9-workflow-stats .is-alert em{
  color:#ff9fae;
}

#studioApp .v9-workflow-actions{
  display:flex;
  gap:7px;
}

#studioApp .v9-workflow-actions button{
  min-height:30px;
  padding:0 11px;
  border:1px solid rgba(173,162,255,.55);
  border-radius:7px;
  background:linear-gradient(135deg,#7768f4,#4f5fd8);
  color:#fff;
  font:700 11px/1 inherit;
  cursor:pointer;
}

#studioApp .v9-workflow-actions button.v9-return{
  border-color:rgba(255,176,112,.6);
  background:rgba(157,89,30,.26);
  color:#ffd3ac;
}

#studioApp .v9-workflow-actions button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

#studioApp .v9-workflow-note,
#studioApp .v9-workflow-lock{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid rgba(151,169,230,.13);
  color:#d7e0ff;
  font-size:11px;
}

#studioApp .v9-workflow-note b{
  margin-right:8px;
  color:#aebcf0;
}

#studioApp .v9-note-returned{
  color:#ffd0ac;
}

#studioApp .v9-workflow-lock{
  color:#ffcf9d;
}

#studioApp.lipsub-workflow-readonly .v3-cue-row textarea:disabled,
#studioApp.lipsub-workflow-readonly .v3-cue-row input:disabled,
#studioApp.lipsub-workflow-readonly .v3-cue-row select:disabled{
  cursor:not-allowed !important;
  opacity:.62 !important;
}

@media(max-width:1000px){
  #studioApp .v9-workflow-main{
    align-items:flex-start;
    flex-direction:column;
  }
  #studioApp .v9-workflow-stats{
    width:100%;
  }
}

@media(max-width:640px){
  #studioApp .v9-workflow-stats{
    flex-wrap:wrap;
  }
}

/* LipSub finalization notifications styles */
#studioApp .v11-notify-shell{position:relative;margin-left:auto}
#studioApp .v11-bell{min-height:30px;padding:0 9px;border:1px solid rgba(145,163,228,.26);border-radius:7px;background:#10192c;color:#e5ebff;font:600 11px/1 inherit;cursor:pointer}
#studioApp .v11-bell b{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;margin-left:4px;border-radius:999px;background:#e95a70;color:#fff;font-size:9px}
#studioApp .v11-notify-pop{position:absolute;right:0;z-index:100;top:38px;width:320px;max-height:400px;overflow:auto;border:1px solid #3b4d7a;border-radius:10px;background:#111a2e;box-shadow:0 18px 40px rgba(0,0,0,.35);padding:8px}
#studioApp .v11-notify-head{display:flex;justify-content:space-between;padding:8px;color:#e9eeff;font-size:12px;font-weight:800}
#studioApp .v11-notify-head button{border:0;background:transparent;color:#a9b9ee;font-size:10px;cursor:pointer}
#studioApp .v11-notify-links{display:flex;gap:7px;padding:5px 8px}
#studioApp .v11-notify-links a{color:#c5c1ff;font-size:11px}
#studioApp .v11-notify-pop>button{display:block;width:100%;padding:9px;border:0;border-top:1px solid rgba(145,164,225,.12);background:transparent;color:#cfdbff;text-align:left;cursor:pointer}
#studioApp .v11-notify-pop>button.unread{background:rgba(96,84,220,.16)}
#studioApp .v11-notify-pop>button strong,#studioApp .v11-notify-pop>button span{display:block}
#studioApp .v11-notify-pop>button span{margin-top:3px;color:#9aabd5;font-size:10px;line-height:1.35}
