/* ============ 柔和质感层：降低“硬”感 ============ */
:root{
  --radius:18px;
  --radius-sm:12px;
  --shadow-soft:0 12px 34px -18px rgba(16,24,40,.16);
}
.card,.kpi,.bs-card,.table-wrap,.searchbox,.filter-search{
  border-radius:var(--radius);
}
.modal,.drawer,.pop,.toast,.menu-panel,.dropdown{
  border-radius:16px;
}
.card{border-color:rgba(128,140,165,.14);box-shadow:var(--shadow-soft)}
.card-head{border-bottom-color:rgba(128,140,165,.1)}
.btn,.chip,.icon-btn,.pager-num,.pager-btn,.badge,.platform-tag,.field input,.field select,.field textarea{
  border-radius:11px;
}
.chip,.badge,.platform-tag{border-radius:999px}
.btn-ghost{border-color:rgba(128,140,165,.24)}
.table-wrap{border-color:rgba(128,140,165,.14)}
.table-wrap th,.table-wrap td{
  border-bottom-color:rgba(128,140,165,.08);
}
.table-wrap thead th{background:rgba(128,140,165,.05)}
.nav-item{border-radius:12px}
.notice-success,.notice-danger,.notice-warning,.notice-info{border-radius:14px}
tr:hover td{transition:background .18s ease}

/* 更轻的强调 */
.btn-primary{
  box-shadow:0 8px 20px -10px rgba(37,99,235,.35);
  background-image:linear-gradient(135deg,rgba(255,255,255,.12),transparent 45%);
}
.card:hover{box-shadow:0 16px 40px -20px rgba(16,24,40,.22)}

@media (prefers-reduced-motion:reduce){
  .card,.table-wrap,.btn,.chip,.badge,.nav-item{transition:none}
}
