:root{--primary:#4f46e5;--primary-hover:#4338ca;--secondary:#3b82f6;--secondary-hover:#2563eb;--bg:#0f172a;--card-bg:#1e293b;--text:#f8fafc;--text-muted:#94a3b8;--border:#334155;--success:#10b981;--danger:#ef4444;--warning:#f59e0b}*{box-sizing:border-box;font-family:Inter,system-ui,sans-serif}body{background:var(--bg);color:var(--text);justify-content:center;min-height:100vh;margin:0;padding:2rem;display:flex}.container{width:100%;max-width:800px}header{text-align:center;margin-bottom:2rem}h1{background:linear-gradient(90deg,#60a5fa,#c084fc);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem}p{color:var(--text-muted);margin:0}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.card-header{margin-bottom:1rem}.card-header h2{margin:0;font-size:1.25rem}.input-group{gap:.5rem;margin-bottom:1.5rem;display:flex}input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;flex:1;padding:.75rem 1rem;font-size:1rem}input:focus{border-color:var(--primary);outline:none}.btn{cursor:pointer;color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);width:100%;margin-top:1.5rem}.btn-primary:not(:disabled):hover{background:var(--primary-hover)}.btn-secondary{background:var(--secondary)}.btn-secondary:not(:disabled):hover{background:var(--secondary-hover)}.url-list-container h3{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin:0 0 1rem;padding-bottom:.5rem;font-size:1rem;display:flex}.badge{background:var(--border);border-radius:12px;padding:.25rem .5rem;font-size:.8rem}.url-list{max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.url-list li{background:var(--bg);border:1px solid var(--border);word-break:break-all;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem;font-size:.9rem;display:flex}.url-list li button{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0 .5rem;font-size:1.2rem;font-weight:700}.url-list li button:hover{opacity:.8}.empty-list-msg,.empty-state{color:var(--text-muted);text-align:center;padding:1rem;font-style:italic;background:0 0!important;border:none!important}.jobs-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s}.jobs-table tbody tr:last-child{border-bottom:none}.jobs-table tbody tr:hover{background:#ffffff08}.row-completed{background:#10b9810d}.row-completed:hover{background:#10b9811a!important}.row-processing{background:#f59e0b0d}.row-processing:hover{background:#f59e0b1a!important}.row-failed{background:#ef44440d}.row-failed:hover{background:#ef44441a!important}.row-pending{background:#94a3b80d}.row-pending:hover{background:#94a3b81a!important}.jobs-table td{vertical-align:middle;padding:.75rem}.job-status{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.status-completed{color:#fff;border:1px solid var(--success);background:#10b98133}.status-processing{color:#fff;border:1px solid var(--warning);background:#f59e0b33}.status-failed{color:#fff;border:1px solid var(--danger);background:#ef444433}.status-pending{color:#fff;border:1px solid var(--text-muted);background:#94a3b833}.btn-download{background:var(--success);color:#fff;display:none}.btn-download:hover{opacity:.9}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:1s linear infinite spin}
