.upload-page{background:var(--rf-bg,#f8f9fb);color:var(--rf-text,#1a1d26);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,sans-serif;font-size:13px;line-height:1.5}.upload-topnav{z-index:100;background:#fff;border-bottom:1px solid #e2e5eb;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.upload-topnav .logo{align-items:center;gap:10px;display:flex}.upload-topnav .logo-icon{color:#fff;background:#4f6ef7;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.upload-topnav .logo-text{color:#1a1d26;font-size:16px;font-weight:600}.upload-topnav .env-badge{color:#92400e;background:#fef3c7;border-radius:99px;margin-left:4px;padding:2px 8px;font-size:10px;font-weight:600}.upload-topnav nav{align-items:center;gap:16px;margin-left:auto;font-size:13px;display:flex}.upload-topnav nav a{color:#5f6980;text-decoration:none;transition:color .15s}.upload-topnav nav a:hover{color:#4f6ef7}.upload-container{max-width:900px;margin:0 auto;padding:32px 24px}.upload-header{margin-bottom:32px}.upload-header h2{color:#1a1d26;margin:0 0 6px;font-size:22px;font-weight:700}.upload-header p{color:#5f6980;margin:0;font-size:13px}.drop-zone{text-align:center;cursor:pointer;background:#fff;border:2px dashed #d1d5db;border-radius:12px;padding:48px 24px;transition:all .15s}.drop-zone:hover,.drop-zone.drag-over{background:#eef1fe;border-color:#4f6ef7}.drop-zone.has-file{background:#f0fdf4;border-color:#22c55e}.drop-zone-icon{background:#f1f3f7;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;display:flex}.drop-zone.has-file .drop-zone-icon{background:#dcfce7}.drop-zone-title{color:#1a1d26;margin-bottom:4px;font-size:15px;font-weight:600}.drop-zone-sub{color:#9ca3b4;font-size:12px}.drop-zone-filename{color:#1a1d26;background:#fff;border:1px solid #e2e5eb;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.drop-zone-filename .file-size{color:#9ca3b4;font-weight:400}.drop-zone-filename .remove-file{color:#ef4444;cursor:pointer;margin-left:4px;font-size:16px;line-height:1}.drop-zone-filename .remove-file:hover{color:#dc2626}.upload-settings{background:#fff;border:1px solid #e2e5eb;border-radius:10px;margin-top:24px;padding:24px}.upload-settings h3{color:#1a1d26;margin:0 0 16px;font-size:14px;font-weight:600}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.setting-field label{color:#5f6980;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.setting-field select,.setting-field input{color:#1a1d26;background:#fff;border:1px solid #e2e5eb;border-radius:6px;outline:none;width:100%;height:36px;padding:0 10px;font-size:13px;transition:border-color .15s}.setting-field select:focus,.setting-field input:focus{border-color:#4f6ef7;box-shadow:0 0 0 3px #4f6ef71a}.setting-hint{color:#9ca3b4;margin-top:4px;font-size:11px;display:block}.settings-divider{border-top:1px solid #e2e5eb;margin:20px 0 16px}.upload-actions{align-items:center;gap:16px;margin-top:24px;display:flex}.btn-upload{color:#fff;cursor:pointer;background:#4f6ef7;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-upload:hover:not(:disabled){background:#3d5ae0}.btn-upload:disabled{opacity:.5;cursor:not-allowed}.upload-progress{background:#fff;border:1px solid #e2e5eb;border-radius:10px;margin-top:24px;padding:24px}.upload-progress h3{color:#1a1d26;margin:0 0 16px;font-size:14px;font-weight:600}.progress-bar-track{background:#f1f3f7;border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}.progress-bar-fill{background:#4f6ef7;border-radius:4px;height:100%;transition:width .3s}.progress-bar-fill.complete{background:#22c55e}.progress-bar-fill.error{background:#ef4444}.progress-status{color:#5f6980;font-size:12px}.progress-steps{flex-direction:column;gap:8px;margin-top:16px;display:flex}.progress-step{color:#9ca3b4;align-items:center;gap:10px;font-size:12px;display:flex}.progress-step.active{color:#4f6ef7;font-weight:500}.progress-step.done{color:#22c55e}.progress-step.error{color:#ef4444}.step-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex}.progress-step .step-icon{color:#9ca3b4;background:#f1f3f7}.progress-step.active .step-icon{color:#4f6ef7;background:#eef1fe}.progress-step.done .step-icon{color:#22c55e;background:#dcfce7}.progress-step.error .step-icon{color:#ef4444;background:#fef2f2}.upload-results{background:#fff;border:1px solid #e2e5eb;border-radius:10px;margin-top:24px;padding:24px}.upload-results h3{color:#1a1d26;margin:0 0 16px;font-size:14px;font-weight:600}.results-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.result-stat{text-align:center;background:#f8f9fb;border-radius:8px;padding:16px}.result-stat .stat-value{color:#1a1d26;font-size:24px;font-weight:700}.result-stat .stat-label{color:#9ca3b4;text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:11px}.upload-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:16px;padding:12px 16px;font-size:13px}.upload-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:16px;padding:12px 16px;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #e2e5eb;border-top-color:#4f6ef7;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.spinner-sm{border-width:1.5px;width:12px;height:12px}
