.upload-wrapper{margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center}.upload-box{border:2px dashed var(--surface-border);border-radius:16px;padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);width:100%;max-width:560px}.upload-box.drag-over,.upload-box:hover{border-color:var(--primary);background:var(--primary-soft)}.upload-box.drag-over{transform:scale(1.01)}.upload-content{display:flex;flex-direction:column;align-items:center}.upload-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.upload-url-btn{margin-top:.75rem;background:none;border:none;color:var(--primary);font-size:.82rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:color .15s}.upload-url-btn:hover{color:var(--accent)}.upload-url-mode{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:440px;margin:0 auto}.upload-url-mode>p{margin-bottom:1rem}.upload-url-row{display:flex;gap:.5rem;margin-bottom:.75rem;width:100%;align-items:flex-start}.upload-url-row .ui-textfield{flex:1 1;min-width:0}.upload-url-cancel{background:none;border:none;color:var(--primary);font-size:.82rem;font-weight:500;cursor:pointer;transition:color .15s;padding:.35rem .75rem;display:inline-flex;align-items:center;margin-top:.25rem}.upload-url-cancel:hover{color:var(--accent);text-decoration:underline}.upload-selected{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8);border:1px solid var(--glass-border);border-radius:14px;width:100%;max-width:560px}.upload-preview{width:56px;height:56px;object-fit:cover;border-radius:10px;flex-shrink:0}.upload-file-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary-soft);border-radius:10px;color:var(--primary);font-size:1.25rem;flex-shrink:0}.upload-file-details{flex:1 1;min-width:0}.upload-file-details p{margin:0;line-height:1.4}.upload-remove{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--surface-border);color:var(--muted);cursor:pointer;border-radius:10px;transition:all .15s ease;flex-shrink:0}.upload-remove:hover{color:var(--error);border-color:var(--error);background:rgba(239,68,68,.08)}.upload-file-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;width:100%;max-width:560px}.upload-file-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8);border:1px solid var(--glass-border);border-radius:12px;transition:all .15s ease}.upload-file-card:hover{border-color:var(--primary-soft)}.upload-file-drag{display:flex;align-items:center;justify-content:center;width:24px;color:var(--muted);font-size:.8rem;cursor:-webkit-grab;cursor:grab;flex-shrink:0;opacity:.6;transition:opacity .15s}.upload-file-drag:hover{opacity:1;color:var(--primary)}.upload-file-body{flex:1 1;min-width:0}.upload-file-name{font-size:.85rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.3}.upload-file-meta{font-size:.75rem;color:var(--muted);margin:.15rem 0 0;line-height:1.3}.upload-file-actions{gap:.35rem}.upload-file-actions,.upload-file-btn{display:flex;align-items:center;flex-shrink:0}.upload-file-btn{justify-content:center;width:32px;height:32px;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:.82rem;transition:all .15s}.upload-file-btn:hover{color:var(--primary);border-color:var(--primary)}.upload-file-btn--delete{color:var(--muted)}.upload-file-btn--delete:hover{color:var(--error);border-color:var(--error);background:rgba(239,68,68,.06)}.upload-file-btn--preview{color:var(--muted)}.upload-file-btn--preview:hover{color:var(--primary);border-color:var(--primary)}.upload-file-btn--download{color:var(--muted)}.upload-file-btn--download:hover{color:var(--accent);border-color:var(--accent)}.output-file-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;width:100%;max-width:560px}.output-file-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8);border:1px solid var(--glass-border);border-radius:12px;transition:all .15s ease}.output-file-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(16,185,129,.08);border-radius:8px;color:#10b981;font-size:.9rem;flex-shrink:0}.output-file-body{flex:1 1;min-width:0}.output-file-name{font-size:.85rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;whiteSpace:nowrap;margin:0;line-height:1.3}.output-file-meta{font-size:.75rem;color:var(--muted);margin:.15rem 0 0;line-height:1.3}@media (max-width:768px){.upload-box{padding:1.5rem;min-height:140px}.upload-box .upload-content{gap:.75rem}.upload-url-row{flex-direction:row;gap:.5rem}.upload-selected{padding:.85rem 1rem}}.upload-add-more{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px dashed var(--surface-border);border-radius:8px;background:transparent;color:var(--muted);font-size:.82rem;cursor:pointer;transition:all .2s}.upload-add-more:hover{border-color:var(--primary);color:var(--primary)}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}