.pf-attachments { position:relative; box-sizing:border-box; width:100%; min-width:0; color:var(--p-text,var(--pf-control-text,#193747)); }
.pf-attachments .pf-attachments__native { position:absolute!important; width:1px!important; height:1px!important; min-width:0!important; min-height:0!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; border:0!important; }
.pf-attachments__toolbar { box-sizing:border-box; display:flex; align-items:center; gap:10px; min-height:var(--pf-control-height,56px); padding:5px; border:1px solid var(--p-border,var(--pf-control-border,#c5dbe6)); border-radius:var(--p-input-radius,var(--pf-control-radius,14px)); background:var(--p-input-bg,var(--pf-control-surface,#fff)); }
.pf-attachments__summary { min-width:0; flex:1; overflow-wrap:anywhere; font-size:.9375rem; }
.pf-attachments .pf-attachments__action { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; flex:0 0 var(--pf-icon-action-size,44px); width:var(--pf-icon-action-size,44px); height:var(--pf-icon-action-size,44px); min-width:44px; min-height:44px; padding:0; border:1px solid transparent; border-radius:10px; color:var(--p-primary,var(--pf-control-accent,#008eaf)); background:var(--p-soft,#edf7fa); cursor:pointer; }
.pf-attachments__action svg,.pf-attachments__file-icon svg { width:20px; height:20px; flex-shrink:0; }
.pf-attachments .pf-attachments__action:hover { border-color:var(--p-border,#bdd5df); }
.pf-attachments .pf-attachments__action--remove { color:var(--p-danger,var(--pf-control-error,#b42332)); background:transparent; }
.pf-attachments .pf-attachments__action:focus-visible { outline:3px solid var(--p-focus-ring,var(--pf-control-accent,#008eaf)); outline-offset:2px; }
.pf-attachments .pf-attachments__action:disabled { opacity:var(--pf-control-disabled-opacity,.65); cursor:default; }
.pf-attachments .pf-attachments__action[hidden],.pf-attachments [hidden] { display:none!important; }
.pf-attachments__list { display:grid; gap:6px; list-style:none; padding:0; margin:8px 0 0; }
.pf-attachments__item { display:flex; align-items:center; gap:10px; padding:6px 8px; min-width:0; border:1px solid var(--p-border,#d9e7ed); border-radius:10px; background:var(--p-input-bg,#fff); }
.pf-attachments__file-icon { display:inline-flex; color:var(--p-primary,#087d9b); flex:0 0 20px; }
.pf-attachments__detail { display:grid; flex:1; min-width:0; gap:2px; }
.pf-attachments__name { overflow-wrap:anywhere; line-height:1.35; font-size:.9rem; }
.pf-attachments__detail small,.pf-attachments__help { color:var(--p-muted,#617b8a); font-size:.8rem; }
.pf-attachments__help { overflow-wrap:anywhere; margin:6px 0 0; }
.pf-attachments__error { margin:var(--pf-control-message-gap,6px) 0 0; color:var(--p-danger,var(--pf-control-error,#b42332)); font-size:var(--pf-control-message-size,.875rem); line-height:1.4; overflow-wrap:anywhere; }
.pf-attachments.is-invalid .pf-attachments__toolbar { border-color:var(--p-danger,var(--pf-control-error,#b42332)); }
.pf-attachments.is-invalid .pf-attachments__toolbar:focus-within { box-shadow:0 0 0 3px color-mix(in srgb,var(--p-danger,var(--pf-control-error,#b42332)) 14%,transparent); }
.pf-attachments.is-disabled { opacity:var(--pf-control-disabled-opacity,.65); }
:is([data-bs-theme=dark],[data-theme=dark],.dark) .pf-attachments { --p-input-bg:#183441; --p-border:#46616e; --p-text:#e2edf2; --p-muted:#b3cbd7; --p-primary:#b3e5f3; --p-soft:#234655; --p-danger:#ffadad; }
@media(prefers-reduced-motion:no-preference) { .pf-attachments__toolbar,.pf-attachments .pf-attachments__action { transition:border-color .15s ease,background-color .15s ease; } }
