 :root{
    --bg:#f6f8fb;
    --card:#ffffff;
    --text:#1f2937;
    --muted:#6b7280;
    --border:#e5e7eb;
    --accent:#2563eb;
    --stripe:#f9fafb;
  }
  *{box-sizing:border-box}
  body{
    margin:0; padding:24px;
    font-family:"Noto Sans Bengali", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Hind Siliguri", sans-serif;
    background:var(--bg); color:var(--text);
  }
  .wrap{
    max-width:880px; margin:0 auto;
  }
  .card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(2,6,23,.06);
    overflow:hidden;
  }
  .head{
    padding:18px 20px;
    border-bottom:1px solid var(--border);
    display:flex; align-items:center; justify-content:space-between;
    gap:12px;
  }
  .title{
    font-weight:700; font-size:1.15rem; letter-spacing:.2px;
  }
  .meta{font-size:.9rem; color:var(--muted)}
  .table-wrap{
    width:100%; overflow:auto;
  }
  table{
    width:100%; border-collapse:separate; border-spacing:0;
    min-width:520px;
  }
  thead th{
    position:sticky; top:0; z-index:1;
    background:#eef2ff;
    color:#1e293b;
    text-align:left;
    font-weight:600;
    padding:14px 14px;
    border-bottom:1px solid var(--border);
  }
  tbody td{
    padding:12px 14px;
    border-bottom:1px solid var(--border);
  }
  tbody tr:nth-child(odd){ background:var(--stripe) }
  tbody tr:hover{ background:#eef2ff55 }
  td.num, th.num{ text-align:right; font-variant-numeric:tabular-nums }
  tfoot td{
    padding:14px;
    font-weight:700;
    background:#f1f5ff;
    border-top:1px solid var(--border);
  }
  .badge{
    display:inline-block;
    font-size:.8rem; padding:4px 10px; border-radius:999px;
    background:#e0ebff; color:#0f2b8b; border:1px solid #cfe0ff;
  }
  caption{
    caption-side:bottom; padding:10px 14px; color:var(--muted); font-size:.9rem;
  }