/* Shared compact report primitives. Phase 1.1 consumer: Revenue Audit. */
.report-page { display:grid; gap:12px; min-width:0; }
.report-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:0; background:transparent; }
.report-header-copy { min-width:240px; }
.report-breadcrumb { margin-bottom:2px; color:var(--rv-primary); font-size:10px; line-height:1.2; font-weight:600; }
.report-header h1 { margin:0; color:var(--rv-text); font-size:22px; line-height:1.2; font-weight:700; letter-spacing:-.015em; }
.report-header p { max-width:640px; margin:3px 0 0; color:var(--rv-text-muted); font-size:11px; line-height:1.35; }
.report-header-meta,.report-header-controls { display:flex; align-items:flex-end; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.report-toolbar { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.report-toolbar form { margin:0; }
.report-button { min-height:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; padding:5px 10px; border:1px solid var(--rv-border); border-radius:6px; background:var(--rv-surface); color:var(--rv-text-secondary); font-size:11px; line-height:1; font-weight:600; text-decoration:none; white-space:nowrap; }
.report-button:hover { border-color:var(--rv-border-strong); color:var(--rv-primary-hover); }
.report-button--primary { border-color:var(--rv-primary); background:var(--rv-primary); color:var(--rv-surface); }
.report-button--primary:hover { background:var(--rv-primary-hover); color:var(--rv-surface); }
.report-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.stat-card { height:90px; min-height:90px; display:grid; grid-template-columns:28px minmax(0,1fr); grid-template-rows:28px 24px 12px; gap:2px 8px; padding:10px 11px; border:1px solid var(--rv-border); border-radius:8px; background:var(--rv-surface); box-shadow:0 1px 2px rgba(15,23,42,.04); }
.stat-card-icon { grid-row:1/2; width:28px; height:28px; display:grid; place-items:center; border-radius:7px; background:var(--rv-primary-soft); color:var(--rv-primary-hover); font-size:11px; font-weight:700; }
.stat-card--success .stat-card-icon { background:var(--rv-success-soft); color:var(--rv-success); }
.stat-card--warning .stat-card-icon { background:var(--rv-warning-soft); color:var(--rv-warning); }
.stat-card-title { align-self:center; color:var(--rv-text-muted); font-size:11px; line-height:1.2; font-weight:600; }
.stat-card-value { grid-column:1/-1; align-self:end; color:var(--rv-text); font-size:22px; line-height:1.05; font-weight:700; font-variant-numeric:tabular-nums; }
.stat-card-description { grid-column:1/-1; min-height:12px; align-self:end; color:var(--rv-text-muted); font-size:9px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.report-filter-card,.report-table-card { min-width:0; overflow:hidden; border:1px solid var(--rv-border); border-radius:8px; background:var(--rv-surface); box-shadow:0 1px 2px rgba(15,23,42,.04); }
.report-card-header,.results-toolbar { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 12px; border-bottom:1px solid var(--rv-border); }
.report-card-header h3,.results-toolbar h2 { margin:0; color:var(--rv-text); font-size:13px; line-height:1.25; font-weight:600; }
.report-card-header p { margin:2px 0 0; color:var(--rv-text-muted); font-size:11px; line-height:1.25; }
.report-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.report-filter-body { padding:0 12px; }
.filter-section { padding:10px 0; border-bottom:1px solid var(--rv-border); }
.filter-section:last-child { border-bottom:0; }
.filter-section-header { display:grid; gap:1px; margin-bottom:8px; }
.filter-section-header strong { color:var(--rv-text); font-size:12px; font-weight:600; }
.filter-section-header small { color:var(--rv-text-muted); font-size:10px; }
.filter-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px 10px; align-items:start; }
.filter-field { min-width:0; display:flex; flex-direction:column; gap:4px; }
.filter-field > label,.results-toolbar label { color:var(--rv-text-secondary); font-size:11px; line-height:1.15; font-weight:600; }
.filter-field input,.filter-field select,.results-toolbar select { width:100%; min-height:32px; height:32px; padding:5px 8px; border-radius:6px; font-size:12px; }
.report-multiselect-native { position:absolute!important; width:1px!important; height:1px!important; min-height:1px!important; padding:0!important; opacity:0; pointer-events:none; }
.report-multiselect { position:relative; min-width:0; }
.report-multiselect-trigger { width:100%; min-height:32px; height:32px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 8px; border:1px solid var(--rv-border); border-radius:6px; background:var(--rv-surface); color:var(--rv-text-secondary); font-size:12px; text-align:left; }
.report-multiselect-trigger span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.report-multiselect-trigger:focus,.report-multiselect.is-open .report-multiselect-trigger { border-color:var(--rv-primary); outline:2px solid var(--rv-primary-soft); outline-offset:0; }
.report-multiselect-panel { position:fixed; z-index:var(--rv-z-popover); display:none; padding:7px; border:1px solid var(--rv-border); border-radius:8px; background:var(--rv-surface); box-shadow:var(--rv-shadow-md); }
.report-multiselect-panel.is-open { display:block; }
.report-multiselect-search { width:100%; height:30px!important; min-height:30px!important; margin-bottom:6px; }
.report-multiselect-all,.report-multiselect-option { display:flex; align-items:center; gap:7px; min-height:30px; padding:5px 6px; border-radius:5px; color:var(--rv-text-secondary); font-size:11px; cursor:pointer; }
.report-multiselect-all { border-bottom:1px solid var(--rv-border); border-radius:0; font-weight:600; }
.report-multiselect-all:hover,.report-multiselect-option:hover { background:var(--rv-surface-muted); }
.report-multiselect-all input,.report-multiselect-option input { width:14px!important; height:14px!important; min-height:14px!important; margin:0; }
.report-multiselect-list { max-height:224px; overflow:auto; overscroll-behavior:contain; }
.report-multiselect-empty,.report-multiselect-more { margin:6px; color:var(--rv-text-muted); font-size:10px; }
.filter-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.filter-grid--checks { grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px 10px; }
.filter-grid--checks label,.filter-check { display:flex; align-items:center; gap:6px; min-height:24px; color:var(--rv-text-secondary); font-size:11px; line-height:1.2; }
.filter-grid--checks input,.filter-check input { width:14px; height:14px; min-height:14px; margin:0; }
.advanced-filters { margin:0 -12px; border-top:1px solid var(--rv-border); }
.advanced-filters > summary { min-height:34px; display:flex; align-items:center; gap:5px; padding:7px 12px; color:var(--rv-primary-hover); font-size:11px; font-weight:600; cursor:pointer; list-style:none; }
.advanced-filters > summary::-webkit-details-marker { display:none; }
.advanced-filters > summary span { transition:transform .15s ease; }
.advanced-filters[open] > summary span { transform:rotate(180deg); }
.advanced-filters-body { padding:0 12px; border-top:1px solid var(--rv-border); background:var(--rv-surface-muted); }
.data-table-scroll { max-height:calc(100vh - 250px); min-height:160px; overflow:auto; }
.data-table { width:100%; border-collapse:separate; border-spacing:0; font-size:11px; }
.data-table thead th { position:sticky; top:0; z-index:2; height:34px; padding:6px 8px; border-bottom:1px solid var(--rv-border); background:var(--rv-bg); color:var(--rv-text-secondary); font-size:10px; line-height:1.15; font-weight:600; white-space:nowrap; }
.data-table tbody td { height:36px; padding:6px 8px; border-bottom:1px solid var(--rv-border); color:var(--rv-text-secondary); font-size:11px; line-height:1.2; white-space:nowrap; }
.data-table tbody tr:hover td { background:var(--rv-surface-muted); }
.results-count { color:var(--rv-text-muted); font-size:11px; }
.report-pagination { min-height:42px; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; padding:5px 10px; }
.pagination-button { min-height:30px; height:30px; padding:4px 9px; border:1px solid var(--rv-border); border-radius:6px; background:var(--rv-surface); color:var(--rv-text-secondary); font-size:11px; }
.pagination-button:disabled { opacity:.45; cursor:not-allowed; }
.pagination-current { min-width:44px; color:var(--rv-text-muted); font-size:11px; text-align:center; }
@media(min-width:1440px){.filter-grid--basic{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1439px){.report-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1099px){.report-kpi-grid,.filter-grid,.filter-grid--checks{grid-template-columns:repeat(2,minmax(0,1fr))}.report-header{flex-direction:column}.report-header-meta,.report-header-controls{width:100%;justify-content:flex-start}}
@media(max-width:699px){.report-card-header,.results-toolbar{align-items:flex-start;flex-direction:column}.report-header-meta,.report-header-controls,.report-toolbar,.report-card-actions{width:100%;justify-content:flex-start}.report-kpi-grid,.filter-grid,.filter-grid--checks{grid-template-columns:1fr}.filter-range{grid-template-columns:1fr}.report-pagination{justify-content:center}}
@media(max-width:699px){.report-multiselect-panel{top:15vh;left:16px;right:16px;width:auto;max-height:70vh}.report-multiselect-list{max-height:50vh}}
@media(prefers-reduced-motion:reduce){.report-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
