.upload-overlay[data-v-d7953fd9]{background:var(--viki-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upload-dialog[data-v-d7953fd9]{background:var(--viki-bg-secondary);border:1px solid var(--viki-border);border-radius:var(--viki-radius-lg);width:100%;max-width:520px;box-shadow:var(--viki-shadow-xl);flex-direction:column;max-height:80vh;animation:.25s slideUp-d7953fd9;display:flex}.upload-header[data-v-d7953fd9]{border-bottom:1px solid var(--viki-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.upload-header h4[data-v-d7953fd9]{font-size:15px;font-weight:600}.close-btn[data-v-d7953fd9]{color:var(--viki-text-muted);padding:0 4px;font-size:20px}.close-btn[data-v-d7953fd9]:hover{color:var(--viki-text-primary)}.close-btn[data-v-d7953fd9]:disabled{opacity:.3;cursor:not-allowed}.upload-body[data-v-d7953fd9]{flex:1;padding:16px 20px;overflow-y:auto}.upload-field[data-v-d7953fd9]{margin-bottom:14px}.upload-field label[data-v-d7953fd9]{color:var(--viki-text-secondary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.upload-field select[data-v-d7953fd9]{background:var(--viki-bg-tertiary);border:1px solid var(--viki-border);border-radius:var(--viki-radius-sm);width:100%;color:var(--viki-text-primary);padding:8px 12px;font-size:13px}.upload-field select[data-v-d7953fd9]:focus{border-color:var(--viki-accent);outline:none}.drop-zone[data-v-d7953fd9]{border:2px dashed var(--viki-border);border-radius:var(--viki-radius-md);text-align:center;transition:all var(--viki-transition-fast);cursor:pointer;padding:32px 20px;position:relative}.drop-zone[data-v-d7953fd9]:hover{border-color:var(--viki-accent);background:var(--viki-accent-subtle)}.drop-content[data-v-d7953fd9]{pointer-events:none}.drop-icon[data-v-d7953fd9]{color:var(--viki-text-muted);margin-bottom:10px}.drop-content p[data-v-d7953fd9]{color:var(--viki-text-secondary);margin-bottom:4px;font-size:14px}.drop-content span[data-v-d7953fd9]{color:var(--viki-text-muted);font-size:11px}.file-input[data-v-d7953fd9]{opacity:0;cursor:pointer;position:absolute;inset:0}.file-list[data-v-d7953fd9]{margin-top:12px}.file-list-header[data-v-d7953fd9]{color:var(--viki-text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;display:flex}.add-more-btn[data-v-d7953fd9]{color:var(--viki-accent);cursor:pointer;font-size:12px;font-weight:500}.add-more-btn[data-v-d7953fd9]:hover{text-decoration:underline}.file-item[data-v-d7953fd9]{border:1px solid var(--viki-border);border-radius:var(--viki-radius-sm);transition:background var(--viki-transition-fast);align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;display:flex}.file-item[data-v-d7953fd9]:hover{background:var(--viki-bg-hover)}.file-icon[data-v-d7953fd9]{flex-shrink:0}.file-name[data-v-d7953fd9]{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.file-size[data-v-d7953fd9]{color:var(--viki-text-muted);font-size:11px;font-family:var(--viki-font-mono);flex-shrink:0}.file-remove[data-v-d7953fd9]{color:var(--viki-text-muted);transition:color var(--viki-transition-fast);flex-shrink:0;padding:0 4px;font-size:16px}.file-remove[data-v-d7953fd9]:hover{color:var(--viki-danger)}.upload-results[data-v-d7953fd9]{margin-top:8px}.progress-overall[data-v-d7953fd9]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.progress-bar[data-v-d7953fd9]{background:var(--viki-bg-tertiary);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill[data-v-d7953fd9]{background:linear-gradient(90deg, var(--viki-accent), var(--viki-success));border-radius:3px;height:100%;transition:width .3s}.progress-text[data-v-d7953fd9]{color:var(--viki-text-secondary);font-size:12px;font-family:var(--viki-font-mono);flex-shrink:0}.result-item[data-v-d7953fd9]{border-radius:var(--viki-radius-xs);align-items:center;gap:8px;margin-bottom:3px;padding:6px 10px;font-size:13px;display:flex}.result-item.done[data-v-d7953fd9]{color:var(--viki-success)}.result-item.error[data-v-d7953fd9]{color:var(--viki-danger)}.result-item.uploading[data-v-d7953fd9]{color:var(--viki-accent)}.result-icon[data-v-d7953fd9]{flex-shrink:0;font-size:14px}.result-name[data-v-d7953fd9]{text-overflow:ellipsis;white-space:nowrap;color:var(--viki-text-primary);flex:1;overflow:hidden}.result-msg[data-v-d7953fd9]{color:var(--viki-danger);flex-shrink:0;font-size:11px}.spin[data-v-d7953fd9]{animation:1s linear infinite spin-d7953fd9;display:inline-block}@keyframes spin-d7953fd9{to{transform:rotate(360deg)}}.upload-footer[data-v-d7953fd9]{border-top:1px solid var(--viki-border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.btn-cancel[data-v-d7953fd9]{border-radius:var(--viki-radius-sm);border:1px solid var(--viki-border);color:var(--viki-text-secondary);transition:all var(--viki-transition-fast);padding:6px 16px;font-size:13px}.btn-cancel[data-v-d7953fd9]:hover{background:var(--viki-bg-hover)}.btn-cancel[data-v-d7953fd9]:disabled{opacity:.3;cursor:not-allowed}.btn-upload[data-v-d7953fd9]{border-radius:var(--viki-radius-sm);background:var(--viki-accent);color:#fff;transition:all var(--viki-transition-fast);padding:6px 20px;font-size:13px;font-weight:500}.btn-upload[data-v-d7953fd9]:hover:not(:disabled){background:var(--viki-accent-hover)}.btn-upload[data-v-d7953fd9]:disabled{opacity:.5;cursor:not-allowed}@keyframes slideUp-d7953fd9{0%{opacity:0;transform:translateY(20px)}}.loading-spinner[data-v-34696fda]{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.spinner-ring[data-v-34696fda]{position:relative}.spinner-ring div[data-v-34696fda]{border:2px solid #0000;border-top-color:var(--viki-accent);border-radius:50%;width:100%;height:100%;animation:1.2s cubic-bezier(.5,0,.5,1) infinite spin-34696fda;position:absolute}.spinner-ring div[data-v-34696fda]:first-child{border-top-color:var(--viki-accent);animation-delay:-.45s}.spinner-ring div[data-v-34696fda]:nth-child(2){border-top-color:var(--viki-accent-hover);opacity:.7;animation-delay:-.3s}.spinner-ring div[data-v-34696fda]:nth-child(3){border-top-color:var(--viki-text-link);opacity:.4;animation-delay:-.15s}@keyframes spin-34696fda{to{transform:rotate(360deg)}}.spinner-text[data-v-34696fda]{color:var(--viki-text-secondary);font-size:13px}
