/* fh-tables.css — the Columns list above every table and the drag grip in
   every header cell (fh-tables.js), 2026-09-11. Nothing here changes a table
   until the visitor switches a column off or drags one; then the table takes
   fixed column widths (class fh-fixed) and long cell text wraps. */
.fh-columns { position: relative; margin: 0 0 6px; font-size: 13px; }
.fh-columns > summary { display: inline-block; padding: 4px 10px; border: 1px solid #cfdade; border-radius: 4px; background: #fff; color: #23687a; cursor: pointer; list-style: none; font: 500 13px/1.5 var(--sans, Inter, sans-serif); }
.fh-columns > summary::-webkit-details-marker { display: none; }
.fh-columns[open] > summary { background: #eef3f4; }
.fh-columns-list { position: absolute; z-index: 30; top: 32px; left: 0; display: grid; grid-template-columns: repeat(3, max-content); gap: 4px 18px; padding: 10px 14px; background: #fff; border: 1px solid #cfdade; border-radius: 4px; box-shadow: 0 6px 20px rgba(11, 26, 38, .14); }
.fh-columns-list label { display: flex; align-items: center; gap: 6px; margin: 0; font: 400 13px/1.5 var(--sans, Inter, sans-serif); color: #354d57; white-space: nowrap; cursor: pointer; }
.fh-columns-list input { margin: 0; }
.fh-columns-reset { grid-column: 1 / -1; justify-self: start; margin-top: 4px; padding: 3px 10px; border: 1px solid #cfdade; border-radius: 4px; background: #fff; color: #23687a; font: 400 12.5px/1.5 var(--sans, Inter, sans-serif); cursor: pointer; }
.fh-columns-reset:hover, .fh-columns > summary:hover { background: #eef3f4; }
.fh-grip { position: absolute; top: 0; right: 0; width: 9px; height: 100%; cursor: col-resize; touch-action: none; }
.fh-grip:hover, .fh-grip:active { background: rgba(35, 104, 122, .18); }
table.fh-table > thead > tr > th:hover .fh-grip { border-right: 2px solid #9fb4bc; }
table.fh-fixed > * > tr > td, table.fh-fixed > * > tr > th { overflow: hidden; overflow-wrap: anywhere; }
@media (max-width: 700px) { .fh-columns-list { grid-template-columns: repeat(2, max-content); } }
