*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f0f0f;min-height:100vh;color:#f5f5f5}.container{max-width:1100px;margin:0 auto;padding:24px}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(145deg,#0f0f0f,#1a1a1a)}.login-box{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:20px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px #00000080}.login-box h1{text-align:center;margin-bottom:8px;color:#fff;font-size:28px;font-weight:700;letter-spacing:-.5px}.login-subtitle{text-align:center;color:#666;margin-bottom:36px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#888;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:14px 18px;border:1px solid #2a2a2a;border-radius:12px;background:#0f0f0f;color:#fff;font-size:15px;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#e85a2c;box-shadow:0 0 0 3px #e85a2c26}.form-group input::placeholder{color:#444}.btn{width:100%;padding:16px;border:none;border-radius:12px;background:#e85a2c;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.btn:hover{background:#d14d22;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.error{color:#ef4444;text-align:center;margin-top:16px;font-size:14px}.header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;margin-bottom:32px}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#e85a2c,#f97316);border-radius:10px;display:flex;align-items:center;justify-content:center}.logo-icon svg{width:22px;height:22px;color:#fff}.logo h1{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.3px}.header-right{display:flex;align-items:center;gap:16px}.user-info{color:#888;font-size:14px;padding:8px 14px;background:#1a1a1a;border-radius:8px;border:1px solid #2a2a2a}.btn-logout{padding:10px 18px;background:transparent;border:1px solid #333;color:#888;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-logout:hover{border-color:#ef4444;color:#ef4444;background:#ef44441a}.card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:16px;padding:28px;margin-bottom:24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.card-title{color:#fff;font-size:18px;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 180px auto;gap:16px;align-items:end}.form-row .form-group{margin-bottom:0}.btn-start{height:50px;padding:0 28px;white-space:nowrap}.job-item{background:#141414;border:1px solid #252525;border-radius:12px;padding:18px 22px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease}.job-item:hover{border-color:#333;background:#1a1a1a}.job-item:last-child{margin-bottom:0}.job-info{flex:1;min-width:0}.job-url{color:#e5e5e5;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.job-time{color:#555;font-size:12px;margin-top:6px}.job-status{padding:6px 14px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-running{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.status-completed{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.status-failed{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.job-meta{display:flex;align-items:center;gap:16px;margin-bottom:20px}.btn-back{padding:10px 18px;background:transparent;border:1px solid #333;color:#888;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn-back:hover{border-color:#555;color:#fff}.logs{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:12px;padding:20px;max-height:450px;overflow-y:auto;font-family:JetBrains Mono,Fira Code,Monaco,monospace;font-size:12px;line-height:1.8}.logs::-webkit-scrollbar{width:8px}.logs::-webkit-scrollbar-track{background:#0a0a0a}.logs::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.log-line{color:#6b7280;padding:2px 0}.log-line.error{color:#f87171}.file-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#141414;border:1px solid #252525;border-radius:10px;margin-bottom:10px;transition:all .2s ease}.file-item:hover{border-color:#333}.file-item:last-child{margin-bottom:0}.file-info{display:flex;align-items:center;gap:14px}.file-icon{width:38px;height:38px;background:#e85a2c1a;border:1px solid rgba(232,90,44,.2);border-radius:8px;display:flex;align-items:center;justify-content:center}.file-icon svg{width:18px;height:18px;color:#e85a2c}.file-name{color:#e5e5e5;font-size:14px;font-weight:500}.file-size{color:#555;font-size:12px;margin-top:3px}.btn-download{padding:10px 18px;background:transparent;border:1px solid #2a5a2a;color:#4ade80;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn-download:hover{background:#22c55e1a;border-color:#4ade80}.empty{color:#444;text-align:center;padding:48px 20px;font-size:14px}.loading-page{display:flex;justify-content:center;align-items:center;min-height:100vh;color:#555}.spinner{width:32px;height:32px;border:3px solid #2a2a2a;border-top-color:#e85a2c;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.container{padding:16px}.form-row{grid-template-columns:1fr}.job-item{flex-direction:column;align-items:flex-start;gap:12px}.job-url{max-width:100%}.header{flex-direction:column;gap:16px}.header-right{width:100%;justify-content:space-between}}
