/* 🗂 资产管理页（第 102 轮 P4） */
.as-main { padding: 22px 0 60px; }
.as-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 14px; }
.as-head h1 { margin: 0 0 4px; font-size: 22px; color: #f2f2f7; }
.as-sub { margin: 0; color: #8b8b99; font-size: 13px; }
.as-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.as-actions input[type="search"], .as-actions select {
  background: #1e1f26; border: 1px solid var(--border-strong); color: #d6d6de;
  border-radius: 8px; padding: 6px 10px; font-size: 13px;
}
.as-actions input[type="search"] { min-width: 180px; }
.as-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.as-filters { display: flex; gap: 6px; flex-wrap: wrap; }
.as-filter {
  background: #1e1f26; border: 1px solid transparent; color: #c9c9d4;
  padding: 5px 11px; border-radius: 999px; font-size: 12.5px; cursor: pointer;
}
.as-filter:hover { background: #262832; }
.as-filter.is-on { border-color: var(--accent); background: rgba(232, 99, 43, 0.14); color: #fff; }
.as-filter b { color: #8b8b99; font-weight: 500; margin-left: 4px; }
.as-bulk { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: #9a9aa8; }
.as-bulk .as-danger { color: #ff8b7a; }
.as-bulk button:disabled { opacity: 0.4; cursor: not-allowed; }
.as-pick { display: flex; align-items: center; gap: 5px; cursor: pointer; }

.as-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 12px; }
.as-card {
  position: relative; background: #17181e; border: 1px solid var(--border-strong);
  border-radius: 12px; overflow: hidden; display: flex; flex-direction: column;
}
.as-card.is-picked { border-color: var(--accent); box-shadow: 0 0 0 1px rgba(232, 99, 43, 0.5); }
.as-thumb {
  position: relative; width: 100%; height: 106px; background: #0e1014;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.as-thumb img, .as-thumb video { width: 100%; height: 100%; object-fit: cover; display: block; }
.as-thumb .as-icon { font-size: 30px; opacity: 0.65; }
.as-kind {
  position: absolute; left: 6px; top: 6px; font-size: 10.5px; padding: 2px 6px;
  border-radius: 6px; background: rgba(10, 12, 16, 0.72); color: #cfcfd8;
}
.as-size {
  position: absolute; right: 6px; bottom: 6px; font-size: 10.5px; color: #d6d6de;
  background: rgba(10, 12, 16, 0.72); padding: 2px 6px; border-radius: 6px;
}
.as-check { position: absolute; right: 6px; top: 6px; z-index: 2; }
.as-info { padding: 8px 10px 10px; display: flex; flex-direction: column; gap: 5px; }
.as-name { font-size: 12px; color: #e2e2ea; word-break: break-all; line-height: 1.35; max-height: 33px; overflow: hidden; }
.as-meta { font-size: 11px; color: #7f7f8d; display: flex; justify-content: space-between; gap: 6px; }
.as-tags { display: flex; gap: 4px; flex-wrap: wrap; }
.as-tagx { font-size: 10.5px; padding: 1px 6px; border-radius: 999px; background: rgba(72, 199, 142, 0.14); color: #7fd6a5; }
.as-card-actions { display: flex; gap: 6px; padding: 0 10px 10px; }
.as-card-actions button { flex: 1; font-size: 11.5px; padding: 5px 6px; }
.as-empty, .as-foot { text-align: center; color: #7f7f8d; font-size: 13px; padding: 30px 0; }
@media (max-width: 640px) {
  .as-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .as-actions { width: 100%; }
  .as-actions input[type="search"] { flex: 1; min-width: 120px; }
}
