/* 素材库 page and the 「从素材库选择」 dialog (Issue #34). Same colours and
   building blocks as admin.css (card, btn, tabs, filters). */
.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px}
.asset-tile{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left;font:inherit;color:var(--txt)}
.asset-thumb{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:6px;background:#F8FAFC;border:1px solid #F1F5F9}
.asset-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.asset-tile .asset-move{width:100%;min-height:30px;padding:3px 6px;font-size:12px}
.asset-tile .actions{gap:6px}
.asset-grid .empty{grid-column:1/-1}

/* picker dialog */
.picker-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}
.picker{width:min(920px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;margin:0}
.picker .picker-grid{overflow:auto;flex:1;min-height:200px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));padding:2px}
.asset-tile.pick{cursor:pointer}
.asset-tile.pick:hover{border-color:var(--pri2)}
.asset-tile.pick.on{border-color:var(--pri);box-shadow:0 0 0 2px #BFDBFE}
.picker-foot{margin-top:12px}.picker-foot .grow{flex:1}

/* shared image picker (imagePicker.js, Issue #95) */
.img-pick-row{display:flex;gap:12px;align-items:center}
.img-pick-thumb img,.img-pick-thumb .ph{width:72px;height:72px;border-radius:8px;object-fit:contain;background:#F1F5F9;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#64748B;font-size:12px;flex:none}
.img-pick-side{min-width:0;flex:1}
.img-pick-note{word-break:break-all;margin-bottom:6px}
.img-pick-side .actions{gap:6px}
.img-pick-adv{margin-top:8px;font-size:13px}
.img-pick-adv summary{cursor:pointer;color:#64748B}
.img-pick-adv input{margin-top:6px;width:100%}
