.compact-file-picker{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex-wrap:wrap;min-height:36px;display:flex}.compact-file-tags{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.compact-file-placeholder{color:var(--color-text-tertiary);font-size:var(--font-sm)}.compact-file-tag{background:linear-gradient(135deg,var(--color-bg-tertiary),var(--color-bg-hover));border:1px solid var(--color-border-light);max-width:150px;transition:all var(--transition-fast);border-radius:12px;align-items:center;gap:4px;padding:2px 6px 2px 4px;font-size:11px;text-decoration:none;display:inline-flex}.compact-file-open{min-width:0;color:inherit;flex:1;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.compact-file-tag:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.compact-file-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.compact-file-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:var(--font-medium);overflow:hidden}.compact-file-size{color:var(--color-text-tertiary);flex-shrink:0;font-size:10px}.compact-file-remove{width:14px;height:14px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:2px;padding:0;font-size:12px;line-height:1;display:flex}.compact-file-remove.btn-icon svg{width:12px;height:12px}.compact-file-remove:hover{color:var(--color-error);background:var(--color-error-light)}.compact-file-remove:disabled,.compact-file-remove[disabled]{cursor:not-allowed;opacity:.5}.compact-file-add{background:var(--color-bg-tertiary);border:1px solid var(--color-border-light);cursor:pointer;width:26px;height:26px;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.compact-file-add:hover{background:var(--color-accent-light);border-color:var(--color-accent);transform:scale(1.03)}.compact-file-add.disabled{cursor:not-allowed;opacity:.6;transform:none}.compact-file-add.disabled:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-light);transform:none}.compact-file-add-icon{color:var(--color-accent);justify-content:center;align-items:center;line-height:1;display:flex}.compact-file-add-icon svg{display:block}[data-theme=dark] .compact-file-add{background:var(--color-accent);border-color:#0000}[data-theme=dark] .compact-file-add:hover{background:var(--color-accent-hover);border-color:#0000}[data-theme=dark] .compact-file-add-icon{color:var(--color-text-inverse)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .compact-file-add{background:var(--color-accent);border-color:#0000}:root:not([data-theme]) .compact-file-add:hover{background:var(--color-accent-hover);border-color:#0000}:root:not([data-theme]) .compact-file-add-icon{color:var(--color-text-inverse)}}.compact-file-error{color:var(--color-error);font-size:var(--font-xs);margin-top:var(--spacing-xs)}.compact-file-tag.uploaded{background:0 0;border-style:dashed}.compact-file-tag.uploaded:hover{background:var(--color-bg-hover)}.compact-file-tag.uploading{opacity:.9;position:relative;overflow:hidden}.compact-file-tag.uploading:after{content:"";background:linear-gradient(90deg,#0000,#3b82f633,#0000);width:40%;height:100%;animation:1.1s linear infinite compact-file-progress;position:absolute;top:0;left:-40%}.compact-file-progress{color:var(--color-text-tertiary);flex-shrink:0;font-size:10px}@keyframes compact-file-progress{0%{left:-40%}to{left:110%}}.uploaded-file-links{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.uploaded-file-link{color:var(--color-accent);white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:12px;text-decoration:underline;overflow:hidden}.uploaded-file-link:hover{color:var(--color-accent-hover)}.file-upload-container{gap:var(--spacing-sm);flex-direction:column;display:flex}.file-upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;background:var(--color-bg-secondary);transition:all var(--transition-fast);cursor:pointer}.file-upload-zone:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.file-upload-zone.dragging{border-color:var(--color-accent);background:var(--color-info-faint);transform:scale(1.01)}.upload-placeholder{align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);flex-direction:column;display:flex}.upload-icon{opacity:.6;font-size:32px}.upload-icon svg{color:var(--color-text-tertiary);display:block}.upload-btn{color:var(--color-accent);font-weight:var(--font-medium);cursor:pointer;text-decoration:underline}.upload-btn:hover{color:var(--color-accent-hover)}.upload-loading{justify-content:center;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);display:flex}.upload-loading .spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-error{color:var(--color-error);font-size:var(--font-sm);padding:var(--spacing-xs)var(--spacing-sm);background:var(--color-error-soft);border-radius:var(--radius-sm)}.uploaded-files{gap:var(--spacing-xs);flex-direction:column;display:flex}.uploaded-file-item{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);display:flex}.uploaded-file-item:hover{background:var(--color-bg-hover)}.file-thumbnail{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border-light);width:40px;height:40px}.file-icon{background:var(--color-bg-secondary);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;display:flex}.file-icon svg{width:20px;height:20px;color:var(--color-text-tertiary)}.file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-name{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-size{font-size:var(--font-xs);color:var(--color-text-tertiary)}.file-delete-btn{width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.file-delete-btn.btn-icon svg{width:14px;height:14px}.file-delete-btn:hover{color:var(--color-error);background:var(--color-error-soft)}.submit-progress-container{width:100%;margin-bottom:var(--spacing-md)}.submit-progress-bar{background:var(--color-bg-tertiary);border-radius:3px;height:6px;overflow:hidden}.submit-progress-fill{background:linear-gradient(90deg,var(--color-accent),var(--color-green-500));border-radius:3px;height:100%;transition:width .3s;animation:1.5s ease-in-out infinite progress-pulse}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.7}}.submit-progress-text{font-size:var(--font-xs);color:var(--color-text-secondary);text-align:center;margin-top:4px}.submit-status{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-sm);display:flex}.submit-status.success{background:var(--color-success-soft);color:var(--color-green-600);border:1px solid var(--color-success)}.submit-status.error{background:var(--color-error-soft);color:var(--color-red-600);border:1px solid var(--color-error)}.submit-status.submitting{background:var(--color-info-faint);color:var(--color-accent);border:1px solid var(--color-info)}.submit-progress-fill.error{background:var(--color-error);animation:none}.submit-progress-fill.success{background:var(--color-green-500);animation:none}.ai-toolbar{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-xs)0;display:flex}.ai-status-bar{align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-sm);display:flex}.ai-status-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.prescription-placeholder{padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-sm)}