.download-progress-panel { position: fixed; z-index: 19000; right: 18px; bottom: 22px; width: min(360px, calc(100vw - 24px)); max-height: min(70vh, 600px); overflow-y: auto; box-sizing: border-box; padding: 16px; border: 1px solid var(--soft-line, var(--border)); border-radius: 12px; background: var(--soft-surface, var(--panel2)); color: var(--text); box-shadow: 0 8px 32px #0004; }
.download-progress-panel[hidden] { display: none !important; }
.download-progress-panel > strong { display: block; margin-bottom: 14px; font-size: 14px; }
.download-progress-task { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; min-width: 0; }
.download-progress-task + .download-progress-task { border-top: 1px solid var(--soft-line, var(--border)); margin-top: 16px; padding-top: 16px; }
.download-progress-task > strong { min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.download-progress-percent { color: var(--accent); font-size: 16px; font-weight: 650; font-variant-numeric: tabular-nums; }
.download-progress-task progress { grid-column: 1 / -1; width: 100%; height: 10px; border: 0; border-radius: 6px; overflow: hidden; accent-color: var(--accent); background: var(--soft-selected, var(--bg)); }
.download-progress-task progress::-webkit-progress-bar { background: var(--soft-selected, var(--bg)); border-radius: 6px; }
.download-progress-task progress::-webkit-progress-value { background: var(--accent); border-radius: 6px; }
.download-progress-task progress:not([value])::-webkit-progress-value { background: var(--accent); }
.download-progress-detail, .download-progress-status { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.download-progress-detail { color: var(--muted); font-variant-numeric: tabular-nums; }
.download-progress-status { min-height: 18px; }
.download-progress-task[data-phase="error"] .download-progress-status { color: var(--danger, #d94848); }
.download-progress-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.download-progress-actions button { padding: 6px 10px; min-height: 30px; border: 1px solid var(--soft-line, var(--border)); border-radius: 6px; background: transparent; color: var(--text); font-size: 12px; }
.download-progress-actions button:hover { background: var(--soft-selected, var(--accent-soft)); }
.download-progress-actions button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media(max-width:480px) { .download-progress-panel { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); padding: 14px; } }
