.est-wrap{
  --est-accent:#0f766e;
  --est-border:rgba(15,23,42,.10);
  --est-head:#0f172a;
  --est-zebra:rgba(15,118,110,.045);
  --est-hover:rgba(15,118,110,.10);
  --est-radius:14px;
  margin:2rem 0;font-size:15px;color:#0f172a;
}
.est-head{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;margin-bottom:.85rem}
.est-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.est-search-input{
  border:1px solid var(--est-border);border-radius:999px;padding:.5rem .95rem;
  font-size:.9rem;min-width:220px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;
}
.est-search-input:focus{border-color:var(--est-accent);box-shadow:0 0 0 3px rgba(15,118,110,.15)}
.est-scrollx{overflow-x:auto;overflow-y:hidden;height:12px;margin-bottom:.35rem;display:none}
.est-scrollx.is-on{display:block}
.est-scrollx-inner{height:1px}
.est-scrollx::-webkit-scrollbar,.est-scroll::-webkit-scrollbar{height:10px;width:10px}
.est-scrollx::-webkit-scrollbar-thumb,.est-scroll::-webkit-scrollbar-thumb{background:rgba(15,118,110,.45);border-radius:999px}
.est-scrollx::-webkit-scrollbar-thumb:hover,.est-scroll::-webkit-scrollbar-thumb:hover{background:rgba(15,118,110,.7)}
.est-scrollx::-webkit-scrollbar-track,.est-scroll::-webkit-scrollbar-track{background:rgba(15,23,42,.06);border-radius:999px}
.est-scroll{scrollbar-width:thin;scrollbar-color:rgba(15,118,110,.45) rgba(15,23,42,.06);cursor:grab}
.est-scroll.is-drag{cursor:grabbing;user-select:none}
.est-scroll{
  overflow:auto;border:1px solid var(--est-border);border-radius:var(--est-radius);
  background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 24px -18px rgba(15,23,42,.35);
  -webkit-overflow-scrolling:touch;
}
.est-table{width:100%;border-collapse:separate;border-spacing:0;margin:0;font-variant-numeric:tabular-nums}
.est-table thead th{
  position:sticky;top:0;z-index:3;background:var(--est-head);color:#fff;
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:.7rem .85rem;text-align:left;white-space:nowrap;
}
.est-table thead tr:nth-child(2) th{top:34px}
.est-table.est-sortable thead th.est-sort{cursor:pointer;user-select:none}
.est-table.est-sortable thead th.est-sort:hover{background:#1e293b}
.est-table thead th.est-sort::after{content:"↕";opacity:.4;margin-left:.4em;font-size:.85em}
.est-table thead th.est-asc::after{content:"↑";opacity:1}
.est-table thead th.est-desc::after{content:"↓";opacity:1}
.est-table tbody td,.est-table tbody th{
  padding:.6rem .85rem;border-top:1px solid var(--est-border);text-align:left;white-space:nowrap;font-weight:400;
}
.est-table tbody tr:nth-child(even){background:var(--est-zebra)}
.est-table tbody tr:hover td,.est-table tbody tr:hover th{background:var(--est-hover)}
.est-table tbody th.est-rowhead{font-weight:600}
.est-table td.est-num{text-align:right;font-variant-numeric:tabular-nums}
.est-sticky .est-table thead th:first-child,
.est-sticky .est-table tbody th.est-rowhead{
  position:sticky;left:0;z-index:2;background:#fff;
  box-shadow:1px 0 0 var(--est-border);
}
.est-sticky .est-table thead th:first-child{z-index:4;background:var(--est-head)}
.est-sticky .est-table tbody tr:nth-child(even) th.est-rowhead{background:#f5faf9}
.est-empty{margin:.9rem 0 0;color:#64748b;font-size:.9rem}
.est-error{color:#b91c1c}
@media (max-width:640px){
  .est-wrap{font-size:14px}
  .est-table tbody td,.est-table tbody th{padding:.5rem .6rem}
}
