/* Licensed forms-upload.html Gallery Upload, with per-file form controls. */
.upload-gallery-dialog{--border-color:var(--line);--background-color:var(--web-background);--surface-color:var(--panel);--accent-color:var(--web-accent);--heading-color:var(--web-heading);--default-color:var(--ink);--muted-color:var(--muted);--contrast-color:#fff;--radius-lg:10px;--radius-md:8px;--transition-base:220ms ease;width:min(800px,calc(100vw - 32px));max-height:92dvh}
.upload-gallery-dialog form{display:flex;flex-direction:column;max-height:90dvh}.upload-gallery-dialog .media-modal-body{overflow:auto}.upload-gallery-dialog .media-modal-header,.upload-gallery-dialog .media-modal-footer{flex-shrink:0}
.upload-subtitle{font-size:14px;color:var(--muted)}
.upload-dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:2rem;text-align:center;cursor:pointer;transition:all var(--transition-base);background-color:var(--background-color)}
.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--accent-color);background-color:color-mix(in srgb,var(--accent-color),transparent 95%)}
.upload-dropzone.dragover{transform:scale(1.01)}.upload-dropzone-content{pointer-events:none}
.upload-dropzone-icon{font-size:3rem;color:var(--muted-color);margin-bottom:1rem;transition:color var(--transition-base)}
.upload-dropzone:hover .upload-dropzone-icon,.upload-dropzone.dragover .upload-dropzone-icon{color:var(--accent-color)}
.upload-dropzone-title{font-size:1rem;font-weight:600;color:var(--heading-color);margin:0 0 .5rem}.upload-dropzone-text{font-size:.875rem;color:var(--muted-color);margin:0}
.upload-dropzone-lg{padding:3rem}.upload-dropzone-lg .upload-dropzone-icon{font-size:4rem}.upload-dropzone-icon>.ui-icon{width:1em;height:1em}
.upload-select{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:10px 16px;font-size:14px}.upload-select>.ui-icon{width:16px;height:16px}
.upload-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.upload-gallery-entry{min-width:0}.upload-gallery-item{position:relative;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;cursor:pointer}
.upload-gallery-item img,.upload-gallery-item video{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}
.upload-gallery-item:hover img{transform:scale(1.05)}
.upload-gallery-overlay{position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--default-color),transparent 30%) 0%,transparent 50%);display:flex;align-items:flex-start;justify-content:flex-end;padding:.5rem;gap:.25rem;opacity:0;transition:opacity var(--transition-base)}
.upload-gallery-item:hover .upload-gallery-overlay,.upload-gallery-item:focus-within .upload-gallery-overlay{opacity:1}
.upload-gallery-info{position:absolute;bottom:0;left:0;right:0;padding:.5rem;color:var(--contrast-color);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(to top,color-mix(in srgb,var(--default-color),transparent 30%),transparent);pointer-events:none}
.upload-gallery-add{aspect-ratio:4/3;border:2px dashed var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted-color);cursor:pointer;transition:all var(--transition-base);background:transparent;font:inherit;font-size:.8125rem}
.upload-gallery-add>.ui-icon{width:1.5rem;height:1.5rem}.upload-gallery-add:hover{border-color:var(--accent-color);color:var(--accent-color);background-color:color-mix(in srgb,var(--accent-color),transparent 95%)}
.upload-gallery-overlay button{border:1px solid transparent;border-radius:6px;display:grid;place-items:center;padding:5px 8px;cursor:pointer}.upload-gallery-overlay button>.ui-icon{width:16px;height:16px}.upload-gallery-view{background:#f4f7fb;color:#273447}.upload-gallery-remove{background:#d64057;color:#fff}
.upload-gallery-caption{margin-top:8px;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px;resize:vertical}
.upload-gallery-document{height:100%;display:grid;place-items:center;background:var(--background-color);color:var(--accent-color)}.upload-gallery-document>.ui-icon{width:48px;height:48px}
.upload-gallery-error{font-size:13px;color:var(--danger);min-height:0}.upload-gallery-error:empty{margin:24px 0 0}
.upload-gallery-dialog .media-modal-footer .primary{display:flex;align-items:center;gap:8px}.upload-gallery-dialog .media-modal-footer .ui-icon{width:16px;height:16px}
html[data-theme=dark] .upload-dropzone{background-color:var(--surface-color)}html[data-theme=dark] .upload-dropzone:hover,html[data-theme=dark] .upload-dropzone.dragover{background-color:color-mix(in srgb,var(--accent-color),transparent 90%)}
#activeConversation.files-dragover::after{content:'Drop files to preview and add captions';position:absolute;inset:76px 16px 90px;z-index:20;display:grid;place-items:center;border:2px dashed var(--web-accent);border-radius:10px;background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--web-accent);font-size:18px;pointer-events:none}
@media(max-width:767.98px){.upload-dropzone{padding:1.5rem}.upload-dropzone-lg{padding:2rem}.upload-dropzone-icon{font-size:2.5rem}.upload-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.upload-gallery-overlay{opacity:1}.upload-gallery-dialog .media-modal-body{padding:16px}}
