/* Reports page (Filament panels /admin and /client). Uses Filament's color variables, so it
   follows the panel theme and dark mode without a Tailwind build. */
.om-report { display: flex; flex-direction: column; gap: 1rem; }
.om-report__filters { display: flex; flex-direction: column; gap: .75rem; }
.om-report__presets { display: flex; flex-wrap: wrap; gap: .5rem; }

.om-report__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; font-size: .875rem; }
.om-report__crumb-link { color: rgb(var(--primary-600)); font-weight: 500; }
.om-report__crumb-link:hover { text-decoration: underline; }
.om-report__crumb-sep { color: rgb(var(--gray-400)); }
.om-report__crumb-current { font-weight: 600; color: rgb(var(--gray-950)); }
.om-report__meta { font-size: .8125rem; color: rgb(var(--gray-500)); margin-top: -.5rem; }

.om-report__kpis { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); }
.om-report__kpi {
    background: #fff; border-radius: .75rem; padding: .875rem 1rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .05); outline: 1px solid rgba(var(--gray-950), .05);
    border-top: 3px solid rgb(var(--primary-500));
}
.om-report__kpi-label { font-size: .75rem; font-weight: 500; color: rgb(var(--gray-500)); text-transform: uppercase; letter-spacing: .02em; }
.om-report__kpi-value { font-size: 1.25rem; font-weight: 600; color: rgb(var(--gray-950)); margin-top: .25rem; font-variant-numeric: tabular-nums; }
.om-report__kpi-sub { font-size: .75rem; color: rgb(var(--gray-500)); }
.om-report__hint { margin-left: .25rem; color: rgb(var(--gray-400)); cursor: help; }

.om-report__table-wrap { overflow-x: auto; margin: -1.5rem; }
.om-report__table { width: 100%; border-collapse: collapse; font-size: .875rem; font-variant-numeric: tabular-nums; }
.om-report__table th, .om-report__table td { padding: .625rem .75rem; text-align: right; white-space: nowrap; border-bottom: 1px solid rgba(var(--gray-950), .05); }
.om-report__table th { font-weight: 600; font-size: .75rem; color: rgb(var(--gray-600)); background: rgb(var(--gray-50)); position: sticky; top: 0; }
.om-report__table th button { font-weight: inherit; }
.om-report__table th button:hover { color: rgb(var(--primary-600)); }
.om-report__table .om-report__name-col { text-align: left; position: sticky; left: 0; background: inherit; min-width: 14rem; max-width: 22rem; white-space: normal; }
.om-report__table tbody tr { background: #fff; }
.om-report__row--link { cursor: pointer; }
.om-report__row--link:hover { background: rgb(var(--primary-50)); }
.om-report__name { font-weight: 500; color: rgb(var(--gray-950)); }
.om-report__sub { font-size: .75rem; color: rgb(var(--gray-500)); }
.om-report__empty, .om-report__notice { font-size: .875rem; color: rgb(var(--gray-600)); }

.dark .om-report__kpi { background: rgb(var(--gray-900)); outline-color: rgba(255, 255, 255, .1); }
.dark .om-report__kpi-value, .dark .om-report__name, .dark .om-report__crumb-current { color: #fff; }
.dark .om-report__table th { background: rgba(255, 255, 255, .05); color: rgb(var(--gray-300)); }
.dark .om-report__table th, .dark .om-report__table td { border-bottom-color: rgba(255, 255, 255, .05); }
.dark .om-report__table tbody tr { background: rgb(var(--gray-900)); }
.dark .om-report__row--link:hover { background: rgba(var(--primary-500), .1); }
.dark .om-report__crumb-link { color: rgb(var(--primary-400)); }
.dark .om-report__empty, .dark .om-report__notice { color: rgb(var(--gray-400)); }
