/* 后台素材列表：媒体与配置排序操作独立，所有素材均可滚动查看。 */
.admin-media-list { margin-top:12px; min-width:0; max-width:100%; }
.admin-media-heading { color:var(--ink-500,#735a64); font-size:12px; margin-bottom:8px; }
.admin-media-grid { display:flex; gap:10px; overflow-x:auto; padding:2px 2px 8px; overscroll-behavior-x:contain; }
.admin-media-item { position:relative; flex:0 0 148px; min-width:0; }
.admin-media-preview { display:block; width:148px; height:112px; position:relative; overflow:hidden; border:1px solid var(--line,#e6d7de); border-radius:10px; padding:0; background:#faf5f7; cursor:pointer; }
.admin-media-preview img,.admin-media-preview video { display:block; width:100%; height:100%; object-fit:contain; background:#f3ecef; }
.admin-media-remove { position:absolute; right:0; top:0; width:44px; height:44px; border:0; border-radius:0 10px 0 14px; background:rgba(66,31,44,.88); color:#fff; font-size:27px; line-height:1; cursor:pointer; }
.admin-media-video { position:absolute; bottom:6px; left:6px; border-radius:4px; padding:2px 6px; color:white; background:#53323e; font-size:11px; }
.admin-media-caption { display:block; font-size:11px; color:var(--ink-500,#735a64); padding-top:5px; }
.admin-media-error { display:none; padding:30px 8px 8px; color:#8f384b; font-size:12px; line-height:1.5; }
.admin-media-failed img,.admin-media-failed video { display:none; }
.admin-media-failed .admin-media-error { display:block; }
.admin-media-empty { padding:12px; font-size:12px; color:var(--ink-500,#735a64); border-radius:8px; background:#faf7f8; margin:0; }
.admin-media-status { display:block; margin:6px 0 0; padding:7px 0; background:none; border:0; color:var(--ink-500,#735a64); font:inherit; font-size:12px; text-align:left; }
.admin-media-status[hidden] { display:none; }
.media-read-retry[hidden] { display:none; }
.media-read-retry { min-height:44px; }
.admin-media-status[data-state="failed"],.admin-media-status[data-state="conflict"] { color:#a33345; cursor:pointer; text-decoration:underline; min-height:44px; }
.admin-media-preview:focus-visible,.admin-media-remove:focus-visible,.admin-media-list:focus-visible { outline:3px solid #a64b72; outline-offset:2px; }
.admin-package { min-width:0; }
.admin-media-layout { display:flex; gap:10px; align-items:flex-start; min-width:0; }
.admin-media-layout>.admin-media-grid { flex:1; min-width:0; }
.admin-media-add { flex:0 0 72px; min-height:104px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:2px dashed #b96988; border-radius:10px; background:#fff7fa; color:#853553; cursor:pointer; }
.admin-media-add>span { font-size:32px; line-height:1; }
.admin-media-add>small { font-size:12px; max-width:2em; line-height:1.5; }
.admin-media-add:disabled { opacity:.6; cursor:wait; }
.admin-media-add:focus-visible { outline:3px solid #a64b72; outline-offset:2px; }
.admin-upload-message { margin:6px 0 0; color:#853553; font-size:12px; overflow-wrap:anywhere; }
.admin-upload-message:empty { display:none; }
.config-object { border:2px solid #d5a6b8; border-radius:12px; padding:14px; overflow-wrap:anywhere; }
.config-object-title { margin:0 0 12px; padding:10px 12px; background:#f2dce5; border-left:5px solid #a64b72; border-radius:6px; font-size:17px; line-height:1.5; }
.config-section { border:1px solid #e1cad3; border-radius:8px; padding:12px; margin-top:10px; min-width:0; background:#fff; }
.config-section h4 { margin:0 0 8px; font-size:14px; color:#77354e; line-height:1.5; }
.config-owner { font-size:12px; margin:0 0 8px; color:#735a64; line-height:1.6; }
.config-empty { font-size:12px; color:#735a64; margin:8px 0; }
.config-packages { background:#fcf8fa; }
.config-packages>.admin-package { margin-top:12px; background:white; border-color:#cbbac2; }
.admin-package>.config-object-title { background:#f4edf0; font-size:15px; border-left-color:#987386; }
.config-object .between,.config-object .center { gap:8px; flex-wrap:wrap; }
.config-object .between>* { min-width:0; }
.cfg-item:has(.admin-media-list) { min-width:0; }
.layout:has(.admin-media-list)>* { min-width:0; }
@media(max-width:640px) {
  .config-object { padding:9px; }
  .config-section { padding:9px; }
  .config-object-title { font-size:15px; padding:8px; }
  .admin-media-add { flex-basis:58px; }
  .topbar-in.desk { flex-wrap:wrap; gap:8px; }
  .topbar-in.desk>div:first-child { flex-basis:100% !important; }
  .cfg-item:has(.admin-media-list)>.between,.admin-package>.between { flex-wrap:wrap; gap:8px; }
  .cfg-item:has(.admin-media-list) .center { flex-wrap:wrap; }
  .cfg-item:has(.admin-media-list)>.between>div:first-child { min-width:140px; }
  .admin-media-item { flex-basis:136px; }
  .admin-media-preview { width:136px; height:104px; }
}
