.task-attachments{position:relative;min-width:0;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line,#e8e8ed)}
.task-attachments-header{display:flex;align-items:center;gap:.75rem}.task-attachments-header .section-label{margin:0 auto 0 0}
.task-attachments-body{min-width:0}.task-attachments-fold{display:grid;place-items:center;flex:0 0 26px;width:26px;min-height:30px;padding:4px;border:0;border-radius:5px;background:transparent;color:var(--muted,#7284a0)}.task-attachments-fold-icon{display:grid;place-items:center;width:16px;height:16px}.task-attachments-fold-icon::before{content:"";width:8px;height:8px;border-top:1.7px solid currentColor;border-left:1.7px solid currentColor;transform:translateY(2px) rotate(45deg)}.task-attachments-fold[aria-expanded=false] .task-attachments-fold-icon::before{transform:translateY(-2px) rotate(225deg)}
.task-attachments-add,.task-attachments-refresh{font-size:.76rem}.task-attachments-add{border:1px solid var(--line,#dedee5);border-radius:6px;padding:.35rem .7rem}
.task-attachments-status,.task-attachments-limits,.task-attachments-draft-hint,.task-attachments-edit-hint,.task-attachments-removed-hint{font-size:.76rem;line-height:1.5;color:var(--muted,#667085);margin:.65rem 0}
.task-attachments-list,.task-attachments-removed-list{padding:0;margin:.5rem 0;list-style:none}
/* Files and links share their persisted order, and intentionally have no row border. */
.task-attachment-row{display:flex;align-items:center;gap:.6rem;min-width:0;min-height:52px;padding:.45rem .5rem;margin:.15rem 0;border:0;border-radius:7px;background:transparent;transition:background-color .12s ease}
.task-attachment-row:hover,.task-attachment-row:focus-within{background:color-mix(in srgb,var(--accent,#5850b7) 8%,transparent)}
.task-attachment-row:focus-visible{outline:2px solid var(--accent,#5850b7);outline-offset:1px}.task-attachment-row[draggable=true]{cursor:grab}.task-attachment-row.is-dragging{opacity:.5;cursor:grabbing}.task-attachment-row.is-drop-target{box-shadow:inset 0 2px 0 var(--accent,#5850b7)}
.task-attachment-icon{display:grid;place-items:center;flex:0 0 32px;height:36px;max-width:32px;border-radius:5px;background:color-mix(in srgb,var(--muted,#667085) 9%,transparent);color:var(--muted,#667085);font:600 .56rem/1 system-ui,sans-serif;letter-spacing:.02em;user-select:none}
.task-attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.task-attachment-download{font-size:.85rem;overflow-wrap:anywhere;text-decoration:none;text-underline-offset:.17em;color:var(--accent,#5850b7);cursor:pointer}.task-attachment-download:hover{text-decoration:underline}.task-attachment-download[aria-disabled=true]{opacity:.55;cursor:wait}.task-attachment-meta{color:var(--muted,#667085);font-size:.71rem;overflow-wrap:anywhere}
.task-attachment-controls{display:flex;align-items:center;flex:0 0 auto;gap:.05rem;opacity:0;pointer-events:none}.task-attachment-row:hover .task-attachment-controls,.task-attachment-row:focus-within .task-attachment-controls{opacity:1;pointer-events:auto}
/* Match the checklist action and cross glyphs; coarse pointers keep larger hit areas. */
.task-attachment-action{display:inline-flex;align-items:center;justify-content:center;width:26px;min-width:26px;min-height:30px;padding:0;margin:0;border:0;border-radius:5px;background:transparent;font-size:1rem;line-height:1;color:var(--muted,#667085)}.task-attachment-action:hover{background:color-mix(in srgb,var(--accent,#5850b7) 10%,transparent);color:var(--accent,#5850b7)}.task-attachment-remove{font-size:1.25rem}.task-attachment-action:disabled{opacity:.35;cursor:default}.task-attachment-action:focus-visible{outline:2px solid var(--accent,#5850b7)}
.task-attachments-sort-hint{font-size:.7rem;line-height:1.45;color:var(--muted,#667085);margin:.35rem .5rem .6rem}.task-attachments-order-actions{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.8rem}
.task-attachments-popover{position:absolute;right:0;top:3.1rem;z-index:8;width:min(340px,100%);max-height:min(75vh,600px);overflow:auto;box-sizing:border-box;padding:1rem;border:1px solid var(--line,#dedee5);border-radius:10px;background:var(--panel,#fff);box-shadow:0 8px 28px #1d243324;display:flex;flex-direction:column;gap:.65rem}
.task-attachments-picker-close{align-self:flex-end;font-size:.75rem}.task-attachments-select-file,.task-attachments-link-option{width:100%;text-align:left;padding:.65rem .7rem;border:1px solid var(--line,#dedee5);border-radius:6px;background:transparent;font:inherit;font-size:.84rem}.task-attachments-link-option{margin-top:.3rem}
.task-attachments-dropzone{border:1px dashed var(--line,#c9c9d5);border-radius:8px;padding:1.3rem .65rem;text-align:center;font-size:.8rem;color:var(--muted,#667085);cursor:pointer}.task-attachments-dropzone:focus-visible{outline:2px solid var(--accent,#5850b7);outline-offset:2px}.task-attachments-dropzone[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.task-attachments-link-form,.task-attachments-edit-panel{display:flex;flex-direction:column;gap:.4rem}.task-attachments-link-form label,.task-attachments-edit-panel label{font-size:.75rem;margin-top:.25rem}.task-attachments-link-form input,.task-attachments-edit-panel input{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:.85rem;padding:.5rem;border:1px solid var(--line,#dedee5);border-radius:5px;background:var(--panel,#fff);color:inherit}.task-attachments-save-link{padding:.5rem;margin-top:.35rem}.task-attachments-discard-link{font-size:.75rem}
.task-attachments-edit-panel,.task-attachments-draft{margin-top:.8rem;padding:.8rem;border:1px solid var(--line,#e8e8ed);border-radius:10px;background:var(--panel,#fff)}.task-attachments-edit-title{margin:0;font-size:.85rem;overflow-wrap:anywhere}.task-attachments-edit-hint:empty{display:none}
.task-attachments-selected{margin:0;font-size:.85rem;overflow-wrap:anywhere}.task-attachments-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.task-attachments-actions button{font-size:.8rem}.task-attachments-upload,.task-attachments-save-edit{padding:.45rem .8rem}
.task-attachments-removed{margin:.75rem .5rem;color:var(--muted,#667085);font-size:.76rem}.task-attachments-removed summary{cursor:pointer;padding:.4rem 0}.task-attachment-removed-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border:0}.task-attachment-removed-name{flex:1;min-width:0;overflow-wrap:anywhere}.task-attachment-restore{font-size:.75rem;padding:.35rem;flex-shrink:0}
.task-attachments-error{color:var(--danger,#ae2438);font-size:.8rem;line-height:1.45}.task-attachments-error p{margin:.5rem 0;overflow-wrap:anywhere}.task-attachments [hidden]{display:none!important}
@media(max-width:680px){.task-attachment-action{width:24px;min-width:24px}}
@media(max-width:520px){.task-attachments-header{gap:.4rem}.task-attachment-row{gap:.4rem;flex-wrap:wrap}.task-attachment-controls{margin-left:auto}.task-attachments-refresh{font-size:.7rem}.task-attachments-actions{gap:.5rem}.task-attachments-popover{width:100%}.task-attachment-info{min-width:45%}.task-attachment-removed-row{flex-wrap:wrap}.task-attachment-restore{margin-left:auto}}
@media(hover:none),(pointer:coarse){.task-attachment-row{background:color-mix(in srgb,var(--accent,#5850b7) 6%,transparent)}.task-attachment-controls{opacity:1;pointer-events:auto}.task-attachment-action{min-width:44px;min-height:44px}.task-attachment-restore,.task-attachments-removed summary{min-height:44px;box-sizing:border-box}.task-attachments-sort-hint{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){.task-attachment-row{transition:none}}
