/* === MD Simple Tables Skin === */
.mdst-skin{
  --mdst-radius: 12px;
  --mdst-row-pad: 10px;
  --mdst-border: #e5e7eb;
  --mdst-header-bg: #f8fafc;
  --mdst-header-color: #111827;
  --mdst-striped-bg: #fafafa;
  --mdst-accent: #2563eb;
  --mdst-font-size: 1rem;
  font-size: var(--mdst-font-size);
  border-radius: var(--mdst-radius);
}
.mdst-skin .mdst-toolbar{display:flex; gap:8px; align-items:center; margin-bottom:.65rem}
.mdst-skin .mdst-btn{border:1px solid var(--mdst-border); background:#fff; padding:.45rem .6rem; border-radius:8px; cursor:pointer}
.mdst-skin .mdst-btn:hover{border-color: var(--mdst-accent); color: var(--mdst-accent)}
.mdst-skin .mdst-filter-wrap{margin-bottom:.65rem}
.mdst-skin .mdst-filter{
  width:100%;max-width:320px;padding:.55rem .7rem;border:1px solid var(--mdst-border);border-radius:10px;font:inherit
}
.mdst-skin .mdst-table-viewport{overflow-x:auto}
.mdst-skin table{width:100%;border-collapse:separate;border-spacing:0}
.mdst-skin thead th{
  background: var(--mdst-header-bg);
  color: var(--mdst-header-color);
  font-weight:700;border-bottom:1px solid var(--mdst-border);
  padding: calc(var(--mdst-row-pad) - 2px) .75rem;
  position:relative;
}
.mdst-skin thead th .mdst-sort{position:absolute; right:.5rem; top:50%; transform:translateY(-50%); width:10px; height:10px}
.mdst-skin thead th.sort-asc .mdst-sort::before{content:"▲"; font-size:10px; opacity:.7}
.mdst-skin thead th.sort-desc .mdst-sort::before{content:"▼"; font-size:10px; opacity:.7}
.mdst-skin tbody td{
  border-bottom:1px solid var(--mdst-border);
  padding: var(--mdst-row-pad) .75rem;
}
.mdst--sticky thead th{ position: sticky; top: 0; z-index: 1; }
.mdst--sticky-first tbody td:first-child,
.mdst--sticky-first thead th:first-child{ position: sticky; left: 0; background: #fff; }
.mdst--striped tbody tr:nth-child(odd) td{ background: var(--mdst-striped-bg); }
.mdst--hover tbody tr:hover td{ background: #f5f7fb; }
.mdst--lift tbody tr{ transition: transform .12s ease, box-shadow .12s ease }
.mdst--lift tbody tr:hover{ transform: translateY(-1px); box-shadow: 0 6px 12px rgba(15,23,42,.06) }
.mdst--shadow{ box-shadow: 0 8px 24px rgba(15,23,42,.08); }
.mdst-borders-none tbody td, .mdst-borders-none thead th{ border-bottom: none; }
.mdst-borders-grid table{ border:1px solid var(--mdst-border); border-radius: var(--mdst-radius); overflow:hidden }
.mdst-borders-grid tbody td{ border-right:1px solid var(--mdst-border) }
.mdst-borders-grid tbody tr td:last-child{ border-right:none }
.mdst--accent-border thead th{ box-shadow: inset 0 -2px 0 var(--mdst-accent) }
.mdst-radius-none{ --mdst-radius:0px }
.mdst-radius-sm{ --mdst-radius:6px }
.mdst-radius-md{ --mdst-radius:10px }
.mdst-radius-lg{ --mdst-radius:14px }
.mdst-density-compact{ --mdst-row-pad:6px }
.mdst-density-cozy{ --mdst-row-pad:10px }
.mdst-density-comfortable{ --mdst-row-pad:14px }
.mdst-font-sm{ --mdst-font-size:.95rem }
.mdst-font-base{ --mdst-font-size:1rem }
.mdst-font-lg{ --mdst-font-size:1.075rem }
/* badges */
.mdst-badge{display:inline-block; padding:.15rem .5rem; border-radius:999px; font-size:.85em; line-height:1; border:1px solid transparent}
.mdst-badge--ok{ background:#ecfdf5; color:#065f46; border-color:#a7f3d0 }
.mdst-badge--warn{ background:#fffbeb; color:#92400e; border-color:#fde68a }
.mdst-badge--bad{ background:#fef2f2; color:#991b1b; border-color:#fecaca }
.mdst-td-num{ text-align:right }
/* responsive */
.mdst-resp-scroll .mdst-table-viewport{ overflow-x:auto }
