.media-upload-form{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.media-upload-label{cursor:pointer}.media-upload-label input{display:none}
.media-filter{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.media-filter label{flex:1 1 180px;margin:0}
.media-total{margin:14px 0 8px}
.media-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.media-card{display:flex;flex-direction:column;border:1px solid #dfe5dd;border-radius:12px;background:#fff;overflow:hidden}
.media-thumb{display:block;position:relative;height:0;padding-top:75%;background:#eef3e9;overflow:hidden}
.media-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-thumb .media-file-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:46px}
.media-info{display:flex;flex-direction:column;gap:3px;padding:10px 12px 4px;font-size:13px}
.media-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-badge{align-self:flex-start;margin-top:3px;padding:2px 9px;border-radius:999px;background:#eceeea;color:#5c6a68;font-size:12px}
.media-badge.used{background:#e1f0d9;color:#25663a}
.media-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 12px;margin-top:auto}
.media-actions .del-form{margin:0}
.media-pages{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px 0}
.media-actions button[data-copy]{border:0;background:none;padding:0;color:#2f6f4a;font:700 14px/1.2 inherit;cursor:pointer}.media-actions button[data-copy]:hover{text-decoration:underline}

.media-bulk{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0}.media-bulk .media-selall{display:flex;align-items:center;gap:8px;margin:0;font-weight:700;cursor:pointer}
.media-bulk .del-trigger[disabled]{opacity:.4;cursor:not-allowed}.media-bulk form{margin:0}
.media-card{position:relative}.media-pick{position:absolute;top:8px;left:8px;z-index:2;display:flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:7px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(0,0,0,.2);cursor:pointer}
.media-pick input{width:17px;height:17px;margin:0;cursor:pointer}
.media-card.is-picked{outline:3px solid #2f6f4a;outline-offset:-1px}
.media-bulk .media-selall input{width:18px;height:18px;min-width:18px;padding:0;margin:0}.media-bulk .media-selall{white-space:nowrap}.media-pick input{padding:0}
.media-pick input{border:0;box-shadow:none;background:none}
