*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--bg2:#13131a;--bg3:#1c1c27;--border:#2a2a3a;--text:#e8e8f0;--text2:#8888a0;--blue:#6c63ff;--blue2:#5550d4;--green:#22c55e;--red:#ef4444;--gold:#d4af37;--radius:10px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;padding:40px}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo h1{color:var(--text);letter-spacing:-.02em;font-size:22px;font-weight:700}.auth-logo p{color:var(--text2);margin-top:4px;font-size:13px}.field{margin-bottom:18px}.field label{color:var(--text2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input,.field textarea,.field select{background:var(--bg3);border:1px solid var(--border);width:100%;color:var(--text);font-size:14px;font-family:var(--font);border-radius:6px;outline:none;padding:10px 14px;transition:border-color .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue)}.field textarea{resize:vertical;min-height:120px}.btn{cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;transition:opacity .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn:not(:disabled):active{transform:scale(.98)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:not(:disabled):hover{background:var(--blue2)}.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}.btn-outline:not(:disabled):hover{border-color:var(--blue);color:var(--blue)}.btn-danger{background:var(--red);color:#fff}.btn-full{width:100%}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;padding:24px 0;display:flex}.sidebar-logo{border-bottom:1px solid var(--border);margin-bottom:16px;padding:0 20px 20px}.sidebar-logo h2{color:var(--text);font-size:16px;font-weight:700}.sidebar-logo p{color:var(--text2);font-size:11px}.sidebar-nav{flex:1}.sidebar-nav a{color:var(--text2);border-radius:0;align-items:center;gap:10px;padding:10px 20px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-nav a:hover{background:var(--bg3);color:var(--text)}.sidebar-nav a.active{background:var(--bg3);color:var(--blue);border-left:3px solid var(--blue)}.sidebar-footer{border-top:1px solid var(--border);padding:16px 20px}.user-pill{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px;font-size:13px;overflow:hidden}.main-content{flex:1;min-width:0;padding:32px;overflow-y:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.02em;font-size:22px;font-weight:700}.page-header p{color:var(--text2);margin-top:3px;font-size:14px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:24px}.video-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px;display:grid}.video-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s;overflow:hidden}.video-card:hover{border-color:var(--blue)}.video-thumb{aspect-ratio:16/9;background:var(--bg3);width:100%;color:var(--text2);justify-content:center;align-items:center;font-size:40px;display:flex}.video-card-body{padding:14px}.video-card-title{text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;font-size:14px;font-weight:600;overflow:hidden}.badge{border-radius:100px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-pending{color:var(--text2);background:#64647833}.badge-processing{color:var(--blue);background:#6c63ff33}.badge-done{color:var(--green);background:#22c55e33}.badge-error{color:var(--red);background:#ef444433}.steps{gap:8px;margin-bottom:28px;display:flex}.step{background:var(--bg3);border:1px solid var(--border);text-align:center;color:var(--text2);border-radius:6px;flex:1;padding:10px;font-size:13px}.step.active{border-color:var(--blue);color:var(--blue);background:#6c63ff1a}.step.done{border-color:var(--green);color:var(--green);background:#22c55e1a}.voice-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:16px;display:grid}.voice-item{background:var(--bg3);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:8px;padding:14px;transition:border-color .15s}.voice-item:hover{border-color:var(--blue)}.voice-item.selected{border-color:var(--blue);background:#6c63ff1a}.voice-item .voice-icon{margin-bottom:8px;font-size:28px}.voice-item .voice-name{font-size:13px;font-weight:600}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:16px;display:grid}.avatar-item{background:var(--bg3);border:1px solid var(--border);cursor:pointer;aspect-ratio:1;border-radius:8px;justify-content:center;align-items:center;font-size:40px;transition:border-color .15s;display:flex;overflow:hidden}.avatar-item:hover{border-color:var(--blue)}.avatar-item.selected{border-color:var(--blue);background:#6c63ff1a}.alert{border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:14px}.alert-error{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.alert-success{color:#86efac;background:#22c55e26;border:1px solid #22c55e4d}.video-player{background:#000;border-radius:8px;width:100%;max-height:480px}@media (width<=768px){.app-shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;padding:16px 0}.sidebar-nav{flex-wrap:wrap;display:flex}.sidebar-nav a{padding:8px 14px;font-size:13px}.main-content{padding:20px 16px}.video-grid{grid-template-columns:1fr}}
