*{box-sizing:border-box}body{margin:0;font-family:-apple-system,system-ui,sans-serif;background:#0f1115;color:#e6e8eb}.app{max-width:1100px;margin:0 auto;padding:32px 20px}h1{margin:0 0 8px;font-size:24px}.muted{color:#8a93a3}.card{background:#181b22;border:1px solid #262a33;border-radius:12px;padding:20px;margin-top:20px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button{background:#3b82f6;color:#fff;border:0;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer}button.secondary{background:#2a2f3a}button:disabled{opacity:.5;cursor:not-allowed}input[type=text]{background:#0f1115;border:1px solid #2a2f3a;color:#e6e8eb;padding:10px 12px;border-radius:8px;width:320px}.progress{height:10px;background:#2a2f3a;border-radius:5px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .2s}table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}th,td{padding:8px 10px;text-align:left;border-bottom:1px solid #262a33;vertical-align:top}th{color:#8a93a3;font-weight:500}.status-done{color:#22c55e}.status-failed{color:#ef4444}.status-pending{color:#fbbf24}.url{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;word-break:break-all}.copy-btn{background:transparent;color:#8a93a3;border:1px solid #2a2f3a;padding:4px 8px;font-size:11px}.dropzone{border:2px dashed #2a2f3a;padding:40px;border-radius:12px;text-align:center;cursor:pointer;transition:.2s}.dropzone:hover,.dropzone.drag{border-color:#3b82f6;background:#1a2030}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.stat{background:#1f2330;border-radius:8px;padding:12px}.stat .v{font-size:22px;font-weight:600}.stat .l{font-size:11px;color:#8a93a3;text-transform:uppercase;letter-spacing:.5px}
