/*
 * One layout for every report page (#477): filters on top, a toolbar row (Search on the left, Export
 * Excel / Export PDF on the right), the table with sortable headers, and a footer row ("Showing x to y of z"
 * on the left, page links at the bottom right).
 */

/* 1. Filters */
.report-filter-card {
    background: #fff;
    border: 1px solid #e3e6ea;
    border-radius: 4px;
    padding: 15px 15px 5px;
    margin-bottom: 15px;
}
.report-filter-card .report-filter-actions {
    margin-bottom: 10px;
}

/* 2. Toolbar: Search left, Export right */
.report-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
}
.report-toolbar .report-search-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0 !important;
}
.report-toolbar .report-search-box .report-search-input {
    width: 260px !important;
    max-width: 100%;
}
.report-toolbar .report-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 0 auto !important;
}

/* 3. Sortable headers */
a.report-sort-link { color: inherit; text-decoration: none; cursor: pointer; white-space: nowrap; }
a.report-sort-link:hover { text-decoration: underline; }
.report-sort-arrow { font-size: 10px; margin-left: 4px; }
th.report-sort-none { cursor: default; }

/* 4. Footer: entries left, page links bottom right */
.report-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 10px 0 0;
}
.report-footer .pagination-info {
    color: #666;
}
.report-footer > :last-child {
    margin-left: auto;
}
.report-footer .pagination {
    margin: 0;
}

@media (max-width: 767px) {
    .report-toolbar .report-export-actions,
    .report-footer > :last-child {
        margin-left: 0 !important;
    }
}
