@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap");:root{color-scheme:dark;--bg-deep:#05050A;--bg-glow:#100C1F;--surface:rgba(22,22,30,0.6);--surface-hover:rgba(35,35,45,0.8);--surface-border:rgba(255,255,255,0.08);--text:#F8FAFC;--muted:#94A3B8;--accent:#6D28D9;--accent-light:#8B5CF6;--accent-glow:rgba(139,92,246,0.4);--accent-secondary:#0ea5e9;--success:#10B981;--success-bg:rgba(16,185,129,0.15);--danger:#EF4444;--danger-bg:rgba(239,68,68,0.15);--warning:#F59E0B;--warning-bg:rgba(245,158,11,0.15)}*{box-sizing:border-box}body{margin:0;font-family:Outfit,Segoe UI,sans-serif;background-color:var(--bg-deep);background-image:radial-gradient(circle at 15% 10%,rgba(109,40,217,.15) 0,transparent 40%),radial-gradient(circle at 85% 90%,rgba(14,165,233,.15) 0,transparent 40%);background-attachment:fixed;color:var(--text);line-height:1.5;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.25)}a{color:var(--accent-light);text-decoration:none;transition:all .2s ease}a:hover{color:#fff;text-shadow:0 0 10px var(--accent-glow)}main.dashboard-main{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2rem}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:20px;padding:1.5rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.3);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.4);border-color:rgba(255,255,255,.15)}.candidate-card{background:rgba(30,30,42,.5);border:1px solid var(--surface-border);border-radius:16px;padding:1.25rem;transition:all .2s ease}.candidate-card:hover{background:rgba(40,40,55,.6);border-color:rgba(255,255,255,.2)}button,input{font-family:inherit;font-size:.95rem}input{width:100%;background:rgba(0,0,0,.3);border:1px solid var(--surface-border);border-radius:12px;padding:.75rem 1rem;color:var(--text);transition:all .2s ease}input:focus{outline:none;border-color:var(--accent-light);box-shadow:0 0 0 3px var(--accent-glow);background:rgba(0,0,0,.5)}input::placeholder{color:var(--muted)}button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:12px;padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--accent),var(--accent-secondary));color:#fff;font-weight:600;cursor:pointer;box-shadow:0 4px 15px rgba(109,40,217,.3);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}button:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px rgba(109,40,217,.5);background:linear-gradient(135deg,var(--accent-light),#38bdf8)}button:active:not(:disabled){transform:translateY(0) scale(.98)}button:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.5);box-shadow:none;transform:none}button.secondary{background:rgba(255,255,255,.05);color:var(--text);border:1px solid var(--surface-border);box-shadow:none}button.secondary:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}button.social-yt{background:rgba(255,0,0,.1);border:1px solid rgba(255,0,0,.3);color:#ff4d4d}button.social-yt:hover:not(:disabled){background:rgba(255,0,0,.2);box-shadow:0 4px 15px rgba(255,0,0,.2)}button.social-tt{background:rgba(0,242,254,.1);border:1px solid rgba(0,242,254,.3);color:#00f2fe}button.social-tt:hover:not(:disabled){background:rgba(0,242,254,.2);box-shadow:0 4px 15px rgba(0,242,254,.2)}.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid transparent}.badge.processing,.badge.queued,.badge.rendering{background:rgba(56,189,248,.15);color:#38bdf8;border-color:rgba(56,189,248,.3);box-shadow:0 0 10px rgba(56,189,248,.2)}.badge.needs_review{background:var(--warning-bg);color:var(--warning);border-color:rgba(245,158,11,.3);box-shadow:0 0 10px rgba(245,158,11,.2)}.badge.done{background:var(--success-bg);color:var(--success);border-color:rgba(16,185,129,.3);box-shadow:0 0 10px rgba(16,185,129,.2)}.badge.failed{background:var(--danger-bg);color:var(--danger);border-color:rgba(239,68,68,.3);box-shadow:0 0 10px rgba(239,68,68,.2)}.badge.suggested{background:rgba(255,255,255,.1);color:#e2e8f0;border-color:rgba(255,255,255,.2)}.grid{display:grid;grid-gap:1.25rem;gap:1.25rem}.flex-col{display:flex;flex-direction:column;gap:1.25rem}.flex-row{display:flex;align-items:center;gap:1rem}@media (min-width:860px){.grid.cols-2{grid-template-columns:1fr 1fr}}.status-pills{display:flex;flex-wrap:wrap;gap:.75rem}.status-pill{border:1px solid var(--surface-border);border-radius:12px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;background:rgba(255,255,255,.03);color:var(--text);display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.status-pill:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}.status-pill.danger{background:var(--danger-bg);border-color:rgba(239,68,68,.3);color:#fca5a5}.progress-track{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative;margin:1.5rem 0 1rem;padding:0 1rem}.progress-track:before{content:"";position:absolute;top:50%;left:2rem;right:2rem;height:2px;background:var(--surface-border);z-index:0;transform:translateY(-50%)}.progress-track .step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1 1}.progress-track .step-circle{width:32px;height:32px;border-radius:50%;background:var(--bg-deep);border:2px solid var(--surface-border);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;font-weight:700;transition:all .3s ease}.progress-track .step-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.progress-track .step.active .step-circle{border-color:var(--accent-light);background:var(--accent);color:#fff;box-shadow:0 0 15px var(--accent-glow)}.progress-track .step.active .step-label{color:var(--accent-light)}.progress-track .step.done .step-circle{border-color:var(--success);background:rgba(16,185,129,.2);color:var(--success)}.progress-track .step.done .step-label{color:var(--success)}@media (max-width:780px){.progress-track{flex-wrap:wrap;gap:1rem}.progress-track:before{display:none}.progress-track .step{flex-direction:row;flex-basis:calc(50% - 1rem);justify-content:flex-start}}.pill-note{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .75rem;font-size:.8rem;background:rgba(56,189,248,.1);color:#7dd3fc;border:1px solid rgba(56,189,248,.2)}.clip-link-box{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:.85rem;color:var(--muted);background:rgba(0,0,0,.2);padding:.75rem 1rem;border-radius:8px}.clip-link-box,.preview-box{border:1px solid var(--surface-border)}.preview-box{margin-top:1.25rem;border-radius:16px;background:rgba(0,0,0,.4);padding:1rem;box-shadow:inset 0 2px 10px rgba(0,0,0,.5)}.empty-candidates{border:2px dashed rgba(255,255,255,.1);border-radius:16px;padding:2.5rem 1rem;color:var(--muted);text-align:center;font-size:1.05rem;background:rgba(0,0,0,.15)}.social-connect-row{display:flex;flex-wrap:wrap;gap:1rem;background:rgba(255,255,255,.02);padding:1rem;border-radius:12px}.connect-btn,.social-connect-row{border:1px solid var(--surface-border)}.connect-btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:.5rem 1rem;background:rgba(255,255,255,.05);color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.connect-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.connect-btn.connected.youtube{border-color:rgba(255,0,0,.4);background:rgba(255,0,0,.1);color:#ff9999}.connect-btn.connected.tiktok{border-color:rgba(0,242,254,.4);background:rgba(0,242,254,.1);color:#99f8ff}.publish-status-row{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.85rem;color:var(--muted);background:rgba(0,0,0,.2);padding:.75rem 1rem;border-radius:8px;border:1px solid var(--surface-border)}@keyframes spin{to{transform:rotate(1turn)}}.icon-spin{animation:spin 1s linear infinite}.gradient-text{background:linear-gradient(90deg,#a855f7,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-layout,.sidebar{display:flex;min-height:100vh}.sidebar{width:260px;background:rgba(10,10,18,.85);border-right:1px solid var(--surface-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:1.75rem 0;flex-direction:column;gap:.25rem;position:fixed;top:0;left:0;z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-logo{padding:0 1.5rem 1.5rem;border-bottom:1px solid var(--surface-border);margin-bottom:.75rem}.sidebar-logo h2{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-.5px}.sidebar-logo p{margin:.25rem 0 0;font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{display:flex;flex-direction:column;gap:.15rem;padding:0 .75rem;flex:1 1}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border-radius:12px;font-size:.92rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease;border:1px solid transparent;background:transparent;text-align:left;width:100%;justify-content:flex-start;box-shadow:none}.sidebar-item:hover{background:rgba(255,255,255,.06);color:var(--text);transform:none;box-shadow:none}.sidebar-item.active{background:rgba(139,92,246,.15);color:var(--accent-light);border-color:rgba(139,92,246,.3);box-shadow:none}.sidebar-item svg{width:20px;height:20px;flex-shrink:0}.sidebar-footer{padding:1rem .75rem 0;border-top:1px solid var(--surface-border);margin-top:auto}.sidebar-footer .sidebar-item{color:var(--danger)}.sidebar-footer .sidebar-item:hover{background:var(--danger-bg);color:#fca5a5}.main-content{margin-left:260px;flex:1 1;padding:2rem 2.5rem 4rem;max-width:1100px}.page-header{margin-bottom:2rem}.page-header h1{margin:0;font-size:1.8rem;font-weight:700}.page-header p{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}.mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;z-index:99;background:rgba(10,10,18,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--surface-border);padding:.75rem 1rem;align-items:center;justify-content:space-between}.hamburger-btn{background:none;border:none;color:var(--text);padding:.25rem;box-shadow:none;cursor:pointer}.hamburger-btn:hover{box-shadow:none;transform:none}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99}@media (max-width:860px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-overlay.open{display:block}.mobile-topbar{display:flex}.main-content{margin-left:0;padding:5rem 1rem 3rem}}.score-bar-wrapper{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted)}.score-bar{flex:1 1;max-width:80px;height:6px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}.score-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--success));transition:width .4s ease}.actions-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.toast-bar{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;background:rgba(30,30,42,.95);border:1px solid var(--surface-border);border-radius:12px;padding:.85rem 1.25rem;color:var(--text);font-size:.9rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.4);max-width:420px;animation:slideInToast .3s ease}@keyframes slideInToast{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.video-title-link{font-weight:700;font-size:1rem;color:var(--text);text-decoration:none;transition:color .2s ease}.video-title-link:hover{color:var(--accent-light)}.candidate-title{font-weight:600;font-size:.95rem;color:var(--text)}.candidate-time{font-size:.85rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}