.upload-area[data-v-df838c82]{background:#fff;border:2px dashed #e2e8f0;border-radius:12px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.upload-area[data-v-df838c82]:hover{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f60a}.upload-area.is-dragover[data-v-df838c82]{background:#f0f5ff;border-color:#3b82f6;border-style:solid;box-shadow:0 0 0 6px #3b82f614;transform:scale(1.01)}.upload-area.has-file[data-v-df838c82]{border-color:#e2e8f0;border-style:solid;cursor:default;padding:20px}.upload-area.has-file[data-v-df838c82]:hover{box-shadow:0 2px 12px #0000000a}.upload-area .upload-input[data-v-df838c82]{display:none}.upload-dropzone[data-v-df838c82]{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 6px}.upload-dropzone .icon-ring[data-v-df838c82]{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:50%;display:flex;height:80px;justify-content:center;transition:all .3s ease;width:80px}.upload-dropzone .icon-ring .icon-inner[data-v-df838c82]{color:#3b82f6;display:flex}.upload-dropzone:hover .icon-ring[data-v-df838c82]{background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:translateY(-2px)}.upload-dropzone .dropzone-text[data-v-df838c82]{text-align:center}.upload-dropzone .dropzone-text .dropzone-title[data-v-df838c82]{color:#1e293b;font-size:15px;font-weight:600;margin:0 0 4px}.upload-dropzone .dropzone-text .dropzone-subtitle[data-v-df838c82]{color:#94a3b8;font-size:13px;margin:0 0 10px}.upload-dropzone .dropzone-text .format-tags[data-v-df838c82]{display:flex;gap:8px;justify-content:center}.upload-dropzone .dropzone-text .format-tags .tag[data-v-df838c82]{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:3px 10px}.upload-dropzone .dropzone-text .format-tags .tag.tag-word[data-v-df838c82]{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.upload-dropzone .dropzone-text .format-tags .tag.tag-pdf[data-v-df838c82]{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.file-card[data-v-df838c82]{align-items:center;display:flex;gap:14px}.file-card .file-card-left[data-v-df838c82]{align-items:center;display:flex;flex:1;gap:12px;min-width:0}.file-card .file-thumb[data-v-df838c82]{display:flex;flex-shrink:0}.file-card .file-detail[data-v-df838c82]{flex:1;min-width:0}.file-card .file-detail .file-detail-name[data-v-df838c82]{color:#1e293b;font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card .file-detail .file-detail-size[data-v-df838c82]{color:#94a3b8;font-size:12px;margin:2px 0 4px}.file-card .file-detail .file-status .status-done[data-v-df838c82],.file-card .file-detail .file-status .status-uploading[data-v-df838c82],.file-card .file-detail .file-status .status-waiting[data-v-df838c82]{align-items:center;display:inline-flex;font-size:12px;gap:4px}.file-card .file-detail .file-status .status-waiting[data-v-df838c82]{color:#94a3b8}.file-card .file-detail .file-status .status-uploading[data-v-df838c82]{color:#3b82f6;font-weight:500}.file-card .file-detail .file-status .status-done[data-v-df838c82]{color:#16a34a}.file-card .file-detail .file-status .spinner[data-v-df838c82]{animation:spin-df838c82 .8s linear infinite}.file-card .file-card-right[data-v-df838c82]{align-items:center;display:flex;flex-shrink:0;gap:8px}.file-card .file-card-right .action-btn[data-v-df838c82]{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;transition:all .2s ease}.file-card .file-card-right .action-btn.action-primary[data-v-df838c82]{background:#3b82f6;color:#fff;padding:8px 16px}.file-card .file-card-right .action-btn.action-primary[data-v-df838c82]:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f64d}.file-card .file-card-right .action-btn.action-primary[data-v-df838c82]:active{transform:scale(.96)}.file-card .file-card-right .action-btn.action-ghost[data-v-df838c82]{background:transparent;color:#94a3b8;height:32px;padding:0;width:32px}.file-card .file-card-right .action-btn.action-ghost[data-v-df838c82]:hover{background:#fef2f2;color:#ef4444}.file-card .file-card-right .action-btn.action-ghost[data-v-df838c82]:active{transform:scale(.92)}.text-preview[data-v-df838c82]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:16px;overflow:hidden}.text-preview .preview-bar[data-v-df838c82]{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;color:#64748b;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 14px}.text-preview .preview-body[data-v-df838c82]{color:#475569;font-size:13px;line-height:1.8;max-height:130px;overflow-y:auto;padding:12px 14px;white-space:pre-wrap;word-break:break-all}.upload-error[data-v-df838c82]{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:13px;gap:6px;margin-top:12px;padding:10px 14px}@keyframes spin-df838c82{to{transform:rotate(1turn)}}
