/* 产品素材库：创作页选材、用户素材浏览、管理端素材库与导入。与 style.css 共用设计变量。 */
.lib-ref-area{margin-top:4px}
.mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.mat-card{display:block;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.mat-card:hover{background:#fff;border-color:#b9c9a5;box-shadow:0 3px 14px #2b4a3310}
.mat-card.selected{border-color:#6c8857;box-shadow:0 0 0 2px #e6efd8 inset}
.mat-thumb{position:relative;display:block;aspect-ratio:4/3;background:#f1f3e9;border-radius:7px;overflow:hidden}
.mat-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mat-check{position:absolute;right:6px;bottom:6px;font-size:10px;line-height:1;padding:5px 7px;border-radius:5px;background:#ffffffed;color:#5d7550}
.mat-card.selected .mat-check{background:var(--green);color:#fff}
.mat-info{display:block;padding:8px 4px 4px}
.mat-info strong{display:block;font-size:11px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mat-info small{display:block;font-size:10px;margin-top:3px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mat-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center}
.mat-badge{font-style:normal;font-size:9px;line-height:1;padding:4px 6px;border-radius:4px;background:#f2f4ea;color:#7d8a6e;white-space:nowrap}
.mat-badge.primary{background:#e5eed8;color:#4f6b3d}
.mat-badge.brand{background:#f8eee2;color:#a87541}
.mat-badge.upload{background:#eef2f7;color:#6d7f95}
.mat-badge.ok{background:#e8f2e0;color:#557a41}
.mat-badge.off{background:#f3f3ee;color:#9b9f92}
.mat-badge.revoked{background:#f8eae5;color:#ab6655}
.lib-upload-row{margin:10px 0 0}
.lib-ref-card{display:flex;gap:10px;border:1px solid var(--line);border-radius:9px;padding:7px;background:#fff;width:100%}
.lib-ref-card img{width:74px;height:74px;object-fit:cover;border-radius:6px;flex-shrink:0;background:#f1f3e9}
.lib-ref-body{flex:1;min-width:0}
.lib-ref-body strong{display:block;font-size:11px;font-weight:500;margin:5px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-ref-body small{display:block;font-size:10px;line-height:1.7}
#lib-refs .ref-grid{display:grid;gap:8px}
.mini-field{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);margin-top:6px}
.mini-field span{flex-shrink:0}
.mini-field select{width:auto;flex:1;padding:5px 6px;font-size:10px}
.mat-browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.mat-browse-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.mat-browse-img{aspect-ratio:4/3;background:#f1f3e9;overflow:hidden}
.mat-browse-img img{width:100%;height:100%;object-fit:cover;display:block}
.mat-browse-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.mat-browse-body h3{margin:0;font-size:14px}
.mat-browse-body small{font-size:10px}
.mat-browse-body .primary{align-self:flex-start;margin-top:auto}
.mat-docs{border-top:1px solid var(--line);padding-top:9px;margin-top:3px;display:grid;gap:4px}
.mat-docs strong{font-size:10px;font-weight:500;color:#8b937f}
.mat-docs span{font-size:10px;color:#6f7a63;background:#f6f8ef;border-radius:4px;padding:4px 6px}
.mat-docs small{font-size:9px;line-height:1.7;color:#a3aa9a}
.admin-product-list{display:grid;gap:8px}
.admin-product-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:9px;padding:9px 11px}
.admin-product-thumb{width:46px;height:46px;border-radius:7px;overflow:hidden;background:#f1f3e9;display:flex;align-items:center;justify-content:center;color:#b3bda6;flex-shrink:0}
.admin-product-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.admin-product-main{min-width:160px;flex:1}
.admin-product-main strong{display:block;font-size:12px;font-weight:500}
.admin-product-main small{display:block;font-size:10px;margin-top:3px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.admin-product-row .mat-badges{margin-top:0}
.admin-product-actions{display:flex;gap:6px;margin-left:auto}
.admin-batch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#f8f9f3;border-radius:8px;margin-bottom:14px}
.admin-batch select{width:auto;padding:7px 8px;font-size:11px}
.admin-batch small{font-size:10px}
.admin-material-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}
.admin-material-card{position:relative;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.admin-check{position:absolute;left:8px;top:8px;background:#ffffffed;border-radius:5px;padding:3px 5px;display:flex;z-index:1}
.admin-check input{accent-color:var(--green)}
.admin-material-thumb{padding:0;border:0;border-radius:0;width:100%;aspect-ratio:4/3;background:#f1f3e9;overflow:hidden;display:block}
.admin-material-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.admin-material-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px}
.admin-material-body strong{font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.admin-material-body small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.admin-material-controls{display:grid;gap:4px;margin-top:4px}
.admin-material-controls .mini-field{margin-top:0}
.admin-material-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.admin-material-actions button{font-size:11px;padding:6px 9px}
.import-counts{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;color:var(--muted);padding:10px 12px;background:#f8f9f3;border-radius:8px;margin-bottom:12px}
.import-counts b{color:var(--ink);font-weight:600}
.import-path{font-size:10px;color:#7c866f;white-space:normal;overflow-wrap:anywhere;max-width:280px}
.import-reason{font-size:10px;white-space:normal;overflow-wrap:anywhere;max-width:240px;color:#9a8c72}
#lib-import-detail .table-wrap{font-size:11px}
#lib-import-detail td{padding:10px 8px;vertical-align:top}
#lib-import-scan .table-wrap{margin-top:4px}
#lib-import-scan td{padding:8px;white-space:normal;overflow-wrap:anywhere}
#lib-import-scan select{padding:6px 7px;font-size:10px}
@media(max-width:900px){.mat-browse-grid{grid-template-columns:1fr}.admin-material-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.mat-grid{grid-template-columns:1fr 1fr}.admin-material-grid{grid-template-columns:1fr}.admin-product-actions{margin-left:0}.lib-ref-card img{width:60px;height:60px}}
