.brm-wrap *       { box-sizing: border-box; font-family: inherit; }

.brm-header       { display: flex; align-items: baseline; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.brm-title        { margin: 0; font-size: 1.2em; font-weight: 600; color: inherit; }
.brm-total        { font-size: 13px; font-weight: 600; color: #fff;
                    background: var(--brm-header, #2c4770);
                    padding: 3px 10px; border-radius: 20px; white-space: nowrap; }

.brm-controls     { margin-bottom: 12px; }
.brm-search       { width: 100%; max-width: 320px; padding: 6px 10px;
                    border: 1px solid #ddd; border-radius: 4px;
                    font-size: 13px; color: #555; background: #fafafa;
                    transition: border-color .2s, background .2s; }
.brm-search:focus { outline: none; border-color: var(--brm-header, #2c4770); background: #fff; }

.brm-table-wrap   { overflow-x: auto; }
.brm-table        { width: 100%; border-collapse: collapse; }
.brm-table thead tr { color: #fff; }
.brm-table th     { padding: 10px 14px; text-align: left; cursor: pointer;
                    user-select: none; white-space: nowrap; font-weight: 500; }
.brm-table th.asc::after  { content: " ↑"; opacity: .7; }
.brm-table th.desc::after { content: " ↓"; opacity: .7; }
.brm-table tbody tr:nth-child(odd)  td { background: var(--brm-odd,  #ffffff); }
.brm-table tbody tr:nth-child(even) td { background: var(--brm-even, #f4f7fb); }
.brm-table tbody tr:hover td           { filter: brightness(.96); }
.brm-table td     { padding: 8px 14px; border-bottom: 1px solid rgba(0,0,0,.05); }

@keyframes brm-shimmer {
    0%   { background-position: -600px 0; }
    100% { background-position:  600px 0; }
}
.brm-skeleton td { padding: 10px 14px; border-bottom: 1px solid rgba(0,0,0,.05); }
.brm-skeleton-bar {
    display: block; height: 12px; border-radius: 4px;
    background: linear-gradient(90deg, #e8e8e8 25%, #f5f5f5 50%, #e8e8e8 75%);
    background-size: 600px 100%;
    animation: brm-shimmer 1.4s ease-in-out infinite;
}
.brm-skeleton td:nth-child(1) .brm-skeleton-bar { width: 70px; }
.brm-skeleton td:nth-child(2) .brm-skeleton-bar { width: 90%; }
.brm-skeleton td:nth-child(3) .brm-skeleton-bar { width: 75%; }
.brm-skeleton td:nth-child(4) .brm-skeleton-bar { width: 85%; }
.brm-skeleton td:nth-child(5) .brm-skeleton-bar { width: 55px; }

.brm-loading-msg  { text-align: center; padding: 10px; font-size: 13px; color: #999; font-style: italic; }
.brm-empty        { text-align: center; padding: 24px; color: #aaa; font-size: 14px; }
