.htmx-list-root .list-container { padding: 20px; }
.htmx-list-root .list-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 12px; flex-wrap: wrap; gap: 10px;
}
.htmx-list-root .list-title { font-size: 24px; font-weight: 600; margin: 0; }
.htmx-list-root .list-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.htmx-list-root .btn {
    padding: 8px 16px; border: none; border-radius: 4px; cursor: pointer;
    text-decoration: none; display: inline-block; font-size: 14px;
}
.htmx-list-root .btn-primary { background-color: #007bff; color: #fff; }
.htmx-list-root .btn-secondary { background-color: #6c757d; color: #fff; }
.htmx-list-root .btn-sm { padding: 5px 10px; font-size: 12px; }
.htmx-list-root .filters-wrap {
    background: #fff; padding: 10px; border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08); margin-bottom: 10px;
}
.htmx-list-root .filters-row {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 8px; align-items: end;
}
.htmx-list-root .filters-row label { display: block; font-size: 12px; color: #666; margin-bottom: 4px; }
.htmx-list-root .filters-row input,
.htmx-list-root .filters-row select {
    width: 100%; padding: 6px 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 13px;
}
.htmx-list-root .table-wrap {
    background: #fff; border-radius: 4px; overflow: auto;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.htmx-list-root .data-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 0.7rem; }
.htmx-list-root .data-table thead { background: #2c3e50; color: #fff; }
.htmx-list-root .data-table th {
    padding: 0.15rem 0.25rem; text-align: left; border: 1px solid #ddd;
    font-size: 0.7rem; line-height: 1.1; height: 22px; white-space: nowrap;
}
.htmx-list-root .data-table .header-filter-row th { background: #f4f6f8; color: #333; }
.htmx-list-root .data-table .header-filter-input,
.htmx-list-root .data-table .header-filter-select {
    width: 100%; box-sizing: border-box; border: 1px solid #d0d7de; border-radius: 3px;
    padding: 2px 4px; font-size: 0.68rem; height: 20px;
}
.htmx-list-root .sort-link {
    color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 3px;
}
.htmx-list-root .sort-ind { opacity: 0.7; font-size: 10px; }
.htmx-list-root .htmx-indicator { opacity: 0; transition: opacity 200ms ease-in; color: #666; font-size: 13px; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }
