/* Shared premium file uploader */
.file-upload-surface{position:relative;display:grid;box-sizing:border-box;min-width:220px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1.5px dashed color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,#fff),color-mix(in srgb,var(--surface-2) 88%,var(--accent) 3%));color:var(--ink);cursor:pointer;outline:0;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.file-upload-surface:hover,.file-upload-surface:focus-visible,.file-upload-surface.is-dragover{border-color:var(--accent);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--iris-soft) 70%,var(--surface)));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent),0 14px 34px rgba(16,53,61,.09)}.file-upload-surface.is-dragover{transform:translateY(-2px)}.file-upload-native{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important}.file-upload-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:14px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--iris-soft) 72%,var(--surface)));color:var(--accent);box-shadow:0 6px 15px rgba(20,87,99,.1)}.file-upload-icon svg,.upload-manager-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.file-upload-copy{display:block;min-width:0}.file-upload-copy strong,.file-upload-copy small{display:block}.file-upload-copy strong{overflow:hidden;font-size:.74rem;font-weight:820;text-overflow:ellipsis;white-space:nowrap}.file-upload-copy small{overflow:hidden;margin-top:4px;color:var(--ink-3);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.file-upload-browse{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent);font-size:.62rem;font-weight:800;box-shadow:0 3px 9px rgba(12,43,50,.06)}.file-upload-surface.has-files{border-style:solid;border-color:color-mix(in srgb,var(--emerald) 52%,var(--line));background:color-mix(in srgb,var(--emerald-bg) 55%,var(--surface))}.file-upload-surface.has-files .file-upload-icon{color:var(--emerald)}.file-upload-surface.has-error{border-color:var(--rose);background:var(--rose-bg)}.storage-file-picker.has-standard-uploader{display:block!important;padding:0!important;border:0!important;background:none!important}.storage-file-picker.has-standard-uploader>span{display:none!important}.storage-file-picker .file-upload-surface{width:100%}.portal-upload .file-upload-surface{min-width:min(390px,46vw)}.creative-upload-card>.file-upload-surface{margin:3px 0}.appearance-upload-button.has-standard-uploader{height:auto!important;padding:0!important;border:0!important;background:none!important}.appearance-upload-button.has-standard-uploader>.file-upload-surface{min-width:205px;padding:9px;grid-template-columns:36px minmax(0,1fr)}.appearance-upload-button.has-standard-uploader>.file-upload-surface .file-upload-icon{width:36px;height:36px}.appearance-upload-button.has-standard-uploader>.file-upload-surface .file-upload-browse{display:none}
.upload-manager{position:fixed;right:22px;bottom:22px;z-index:2400;width:min(430px,calc(100vw - 28px));overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 23%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 24px 70px rgba(7,34,42,.26);backdrop-filter:blur(18px);animation:uploadManagerIn .2s ease}.upload-manager[hidden]{display:none}.upload-manager>header{display:grid;grid-template-columns:40px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:14px 15px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,color-mix(in srgb,var(--iris-soft) 62%,var(--surface)),var(--surface))}.upload-manager-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--accent);color:#fff}.upload-manager>header strong,.upload-manager>header small{display:block}.upload-manager>header strong{font-size:.78rem}.upload-manager>header small{margin-top:2px;color:var(--ink-3);font-size:.61rem}.upload-manager>header button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:9px;background:color-mix(in srgb,var(--surface-2) 74%,transparent);color:var(--ink-3);font-size:1.1rem;cursor:pointer}.upload-manager-list{max-height:330px;overflow:auto}.upload-manager-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line-2)}.upload-file-icon{display:grid;width:40px;height:42px;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--accent);font-size:.5rem;font-weight:850}.upload-manager-item>div{min-width:0}.upload-manager-item strong,.upload-manager-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-manager-item strong{font-size:.68rem}.upload-manager-item small{margin-top:3px;color:var(--ink-3);font-size:.56rem}.upload-manager-item>b{color:var(--ink-3);font-size:.57rem}.upload-progress{display:block;height:3px;margin-top:8px;overflow:hidden;border-radius:99px;background:var(--line)}.upload-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--iris));transition:width .18s ease}.upload-manager-item.is-uploading>b{color:var(--accent)}.upload-manager-item.is-success .upload-file-icon{border-color:color-mix(in srgb,var(--emerald) 24%,var(--line));background:var(--emerald-bg);color:var(--emerald)}.upload-manager-item.is-success>b{color:var(--emerald)}.upload-manager-item.is-success .upload-progress i{background:var(--emerald)}.upload-manager-item.is-error .upload-file-icon{background:var(--rose-bg);color:var(--rose)}.upload-manager-item.is-error>b{color:var(--rose)}.upload-manager-item.is-error .upload-progress i{background:var(--rose)}.upload-manager>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px;background:var(--surface-2)}.upload-manager>footer>span{color:var(--ink-3);font-size:.57rem}@keyframes uploadManagerIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.file-explorer-drop-ready{isolation:isolate}.file-explorer-drop-ready:before{content:attr(data-drop-label);position:absolute;z-index:80;inset:8px;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,var(--iris-soft));color:var(--accent);font-size:1rem;font-weight:850;letter-spacing:-.01em;opacity:0;pointer-events:none;transform:scale(.985);transition:opacity .14s ease,transform .14s ease;backdrop-filter:blur(12px)}.file-explorer-drop-ready.is-file-dragover:before{opacity:1;transform:none}.file-explorer-drop-ready.is-file-dragover>*{pointer-events:none}
@media(max-width:650px){.file-upload-surface{grid-template-columns:40px minmax(0,1fr);padding:11px}.file-upload-icon{width:40px;height:40px}.file-upload-browse{display:none}.portal-upload .file-upload-surface{min-width:0;width:100%}.upload-manager{right:10px;bottom:10px;width:calc(100vw - 20px)}.upload-manager-list{max-height:42vh}}
