/* 다운로드는 업무 모듈이 아닌 공통 도구. 기존 .icon-btn와 테마 카드 색을 따른다. */
.dl-panel, .dl-toast, .dl-panel *, .dl-toast * { -webkit-app-region: no-drag; }
.dl-panel[hidden], .dl-toast[hidden], .dl-panel [hidden] { display: none !important; }
.dl-panel { position: fixed; z-index: 19; width: 380px; max-width: calc(calc(100vw / var(--pc-zoom, 1)) - 24px); max-height: 480px; display: flex; flex-direction: column; overflow: hidden; background: var(--card); color: var(--text); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.dl-head, .dl-tools, .dl-actions { display: flex; align-items: center; gap: 6px; }
.dl-head { justify-content: space-between; padding: 10px 12px 4px; }
.dl-tools { padding: 6px 10px 10px; border-bottom: 1px solid var(--line); justify-content: space-between; }
.dl-action, .dl-more summary { border: 1px solid var(--line); background: var(--card); border-radius: 6px; padding: 5px 8px; color: var(--text-2); font: inherit; font-size: 12px; cursor: pointer; }
.dl-action:hover:not(:disabled), .dl-more summary:hover { background: var(--hover); color: var(--text); }
.dl-action:disabled { opacity: .5; cursor: default; }
.dl-action:focus-visible, .dl-more summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.dl-list { list-style: none; padding: 0 12px; margin: 0; overflow-y: auto; min-height: 0; }
.dl-row { padding: 12px 0; border-bottom: 1px solid var(--line); }
.dl-row:last-child { border-bottom: 0; }
.dl-name { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dl-meta, .dl-path { font-size: 12px; color: var(--text-2); margin-top: 4px; overflow-wrap: anywhere; }
.dl-progress { width: 100%; height: 6px; margin: 8px 0 2px; accent-color: var(--accent); }
.dl-actions { margin-top: 8px; flex-wrap: wrap; }
.dl-more { position: relative; }
.dl-more[open] { display: flex; gap: 4px; }
.dl-more summary { list-style: none; }
.dl-note { font-size: 12px; line-height: 1.5; color: var(--text-2); padding: 10px 12px; margin: 0; border-top: 1px solid var(--line); }
.dl-retry { align-self: flex-end; margin: 0 12px 10px; }
.dl-toast { position: fixed; z-index: 19; right: 18px; bottom: 22px; max-width: min(540px, calc(calc(100vw / var(--pc-zoom, 1)) - 36px)); background: var(--card); border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: 10px; padding: 12px; display: flex; align-items: center; gap: 8px; }
.dl-toast > span { min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.dl-toast > button { flex-shrink: 0; }
