.csv-table-wrapper { margin: 1em 0; }

/* ツールバー */
.csv-toolbar { display: grid; gap: .6rem; }
.csv-length-row { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.csv-length-prefix { color:#333; }
.csv-length-label { margin-right:.25rem; }
.csv-length { padding:.35rem .5rem; }
.csv-search-row { display:block; }
.csv-global-search {
  width:100%; max-width:520px;
  padding:.5rem .6rem; border:1px solid #ccc;
}
.csv-reset-row { display:block; }
.csv-reset {
  padding:.35rem .75rem; border:1px solid #340e12;
  background:#f2efe7; color:#340e12; cursor:pointer;
}
.csv-reset:hover { opacity:.9; }

/* 上部スクロールバー */
.csv-top-scroll { overflow-x:auto; overflow-y:hidden; height:14px; }
.csv-top-scroll-inner { height:1px; }

/* テーブル */
.csv-data-table thead th {
  background-color:#340e12; color:#f2efe7; font-weight:700; position:relative;
}
.csv-data-table thead tr.filters th { background:#f2efe7; color:#333; }
.csv-data-table thead tr.filters input.csv-col-filter {
  width:100%; font-size:.9em; padding:.3rem .4rem; border:1px solid #ccc;
}
.csv-data-table tbody tr:nth-child(odd){ background:#fff; }
.csv-data-table tbody tr:nth-child(even){ background:#f6f6f6; }

/* ソートインジケータ（青） */
.csv-data-table thead th { padding-right:18px; }
.csv-data-table thead th.csv-sorted-asc::after,
.csv-data-table thead th.csv-sorted-desc::after{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-size:.9em; color:#1e88e5; /* 青系 */
}
.csv-data-table thead th.csv-sorted-asc::after { content:'▲'; }
.csv-data-table thead th.csv-sorted-desc::after{ content:'▼'; }

/* stickyの境目の視認性（背景はJSで適用、ここは影だけの保険） */
.csv-data-table th[style*="position: sticky"],
.csv-data-table td[style*="position: sticky"] {
  box-shadow:2px 0 2px rgba(0,0,0,.03);
}

/* info と paginate のレイアウト（左寄せ＆縦並び） */
.dataTables_wrapper .dt-bottom {
  display:flex; flex-direction:column; align-items:flex-start; gap:.25rem;
}
.dataTables_wrapper .dataTables_info { order:1; }
.dataTables_wrapper .dataTables_paginate { order:2; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
  padding:.35rem .6rem; margin:.15rem; border:1px solid #340e12; background:#f2efe7; color:#340e12 !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background:#340e12 !important; color:#f2efe7 !important;
}
