/* Global DPX cards + modal (used by docsAttachAPI) */
.dpxSection{margin:18px 0}
.dpxGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.dpxCard{border:1px solid rgba(0,0,0,.12);border-radius:14px;background:#fff;overflow:hidden}
.dpxCardHead{display:flex;gap:12px;align-items:flex-start;padding:14px}
.dpxIco{min-width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;border:1px solid rgba(0,0,0,.12)}
.dpxTitle{margin:0;font-size:16px;line-height:1.25}
.dpxMeta{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}
.dpxTag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.12);font-size:12px;opacity:.9}
.dpxBody{padding:0 14px 14px}
.dpxActions{display:flex;gap:10px;flex-wrap:wrap}
.dpxModal.hidden{display:none}
.dpxModal{position:fixed;inset:0;z-index:9999}
.dpxModalOverlay{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.dpxModalPanel{position:absolute;inset:4% 4%;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.dpxModalHead{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.12)}
.dpxModalTitle{font-weight:700}
.dpxModalBody{flex:1}
.dpxModalFrame{width:100%;height:100%;border:0}
@media(max-width:720px){.dpxModalPanel{inset:2% 2%}}
