/* Ventana de progreso local. Sin estilos inline; compatible con la CSP. */
body.file-progress-active{overflow:hidden}
.file-progress-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(3,7,12,.76);backdrop-filter:blur(3px);isolation:isolate;cursor:progress}
.file-progress-dialog{width:min(490px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:27px 29px 23px;border:1px solid var(--line,#34414c);border-top:3px solid var(--accent,#db3d42);border-radius:9px;background:var(--panel,#192128);color:var(--txt,#dce4ed);box-shadow:0 22px 80px rgba(0,0,0,.42);outline:none}
.file-progress-brand{margin:0 0 18px;color:var(--secondary,#96a6b5);font-size:11px;font-weight:600;letter-spacing:.35px}
.file-progress-brand-y{color:var(--accent,#db3d42);font-weight:800}
.file-progress-title{margin:0 0 9px;font-size:19px;line-height:1.35;font-weight:650}
.file-progress-file{margin:0 0 24px;color:var(--secondary,#96a6b5);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.file-progress-stage{margin:0 0 11px;font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.file-progress-meter{position:relative;height:10px;overflow:hidden;border-radius:5px;background:var(--input,#121a20)}
.file-progress-native{display:block;appearance:none;-webkit-appearance:none;width:100%;height:10px;margin:0;border:0;border-radius:5px;background:var(--input,#121a20);accent-color:var(--accent,#db3d42)}
.file-progress-native::-webkit-progress-bar{border-radius:5px;background:var(--input,#121a20)}
.file-progress-native::-webkit-progress-value{border-radius:5px;background:var(--accent,#db3d42)}
.file-progress-native::-moz-progress-bar{border-radius:5px;background:var(--accent,#db3d42)}
.file-progress-indeterminate{display:none;position:absolute;inset:0;overflow:hidden;border-radius:5px;background:var(--input,#121a20)}
.file-progress-indeterminate>span{position:absolute;inset-block:0;left:0;display:block;width:38%;border-radius:5px;background:var(--accent,#db3d42);animation:file-progress-travel 1.35s ease-in-out infinite;will-change:transform}
.file-progress-overlay[data-mode="indeterminate"] .file-progress-native{opacity:0}
.file-progress-overlay[data-mode="indeterminate"] .file-progress-indeterminate{display:block}
.file-progress-numbers{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums}
.file-progress-percent{color:var(--txt,#dce4ed);font-weight:600}
.file-progress-bytes{color:var(--secondary,#96a6b5)}
.file-progress-detail{margin:17px 0 0;color:var(--secondary,#96a6b5);font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.file-progress-note{margin:22px 0 0;padding-top:14px;border-top:1px solid var(--subline,#26323c);color:var(--secondary,#96a6b5);font-size:11px;line-height:1.5}
.file-progress-detail[hidden],.file-progress-bytes[hidden]{display:none}
@keyframes file-progress-travel{from{transform:translateX(-110%)}to{transform:translateX(270%)}}
@media(prefers-reduced-motion:reduce){.file-progress-indeterminate>span{width:100%;animation:none;transform:none;will-change:auto;opacity:.7;background:repeating-linear-gradient(110deg,var(--accent,#db3d42) 0 9px,transparent 9px 17px)}}
@media(max-width:560px){.file-progress-overlay{padding:16px}.file-progress-dialog{padding:22px;max-height:calc(100vh - 32px)}.file-progress-title{font-size:17px}}
