.stat .num { font-size: 2rem; font-weight: 600; line-height: 1.1; }
.stat .label { color: #6c757d; font-size: .85rem; }
.table td, .table th { vertical-align: middle; }
.table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; font-weight: 600; }
.timeline { border-left: 2px solid; padding-left: 1rem; }
.timeline .item { margin-bottom: .9rem; }
.filters .form-select, .filters .form-control { min-width: 9rem; }
.htmx-request.htmx-indicator, .htmx-request .htmx-indicator { opacity: 1; }
.htmx-indicator { opacity: 0; transition: opacity 200ms; }

/* InstantSearch */
.ais-SearchBox-form { display: flex; gap: .5rem; }
.ais-SearchBox-input { flex: 1; padding: .6rem .8rem; border: 1px solid #ced4da; border-radius: .375rem; font-size: 1.05rem; }
.ais-SearchBox-submit, .ais-SearchBox-reset { display: none; }
.ais-RefinementList-list, .ais-Hits-list, .ais-Pagination-list { list-style: none; padding: 0; margin: 0; }
.ais-RefinementList-item { font-size: .9rem; }
.ais-RefinementList-label { display: flex; gap: .4rem; align-items: center; cursor: pointer; }
.ais-RefinementList-count { margin-left: auto; color: #6c757d; font-size: .8rem; }
.ais-RefinementList-searchBox input { width: 100%; padding: .25rem .5rem; border: 1px solid #ced4da; border-radius: .25rem; margin-bottom: .4rem; font-size: .85rem; }
.ais-RefinementList-showMore { border: 0; background: none; padding: 0; font-size: .85rem; }
.ais-Hits-item { background: #fff; border: 1px solid var(--bs-border-color); padding: .8rem 1rem; margin-bottom: .6rem; }
.ais-Pagination-list { display: flex; gap: .25rem; }
.ais-Pagination-link { display: block; padding: .3rem .65rem; border: 1px solid #dee2e6; border-radius: .25rem; text-decoration: none; }
.ais-Pagination-item--selected .ais-Pagination-link { color: #fff; }
.ais-CurrentRefinements-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.ais-CurrentRefinements-category { border-radius: 1rem; padding: .1rem .6rem; font-size: .85rem; }
.ais-CurrentRefinements-delete { border: 0; background: none; margin-left: .2rem; }
.ais-ClearRefinements-button { border: 0; background: none; padding: 0; font-size: .85rem; }
.facet h6 { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; margin: 1rem 0 .4rem; }
mark, .ais-Highlight-highlighted { background: #fff3a3; padding: 0; }
