.reports-page { display:grid; gap:16px; }
.reports-page :is(h1,h2,p) { margin:0; }
.reports-page h1 { font-size:21px; font-weight:600; }
.reports-page h2 { font-size:13px; font-weight:600; }
.reports-page [hidden] { display:none !important; }
.reports-page :is(input,select) { min-width:0; min-height:34px; padding:8px 10px; border:1px solid var(--border); border-radius:5px; background:var(--surface-input); color:var(--text); font:inherit; font-size:12px; }
.reports-page label { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.reports-page :disabled { cursor:default; opacity:.55; }
.reports-filters { display:flex; align-items:end; gap:12px; flex-wrap:wrap; padding:18px 20px; }
.reports-filters > label:first-child { min-width:230px; flex:1 1 230px; }
.reports-filters > label { min-width:135px; flex:0 1 150px; }
.reports-filters > label.reports-search { min-width:170px; flex:1 1 170px; }
.reports-filters button { min-height:34px; }
.reports-note,.reports-message { font-size:12px; line-height:1.5; color:var(--muted); overflow-wrap:anywhere; }
.reports-note:empty,.reports-message:empty { display:none; }
.reports-message[data-error=true] { color:var(--warning); }
.reports-kpis { display:flex; gap:28px; padding:18px 20px; border-bottom:1px solid var(--border); flex-wrap:wrap; }
.reports-kpis > div { display:grid; gap:7px; }
.reports-kpis span { font-size:11px; color:var(--muted); }
.reports-kpis strong { font-size:17px; font-weight:600; font-variant-numeric:tabular-nums; }
.reports-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 20px; flex-wrap:wrap; border-bottom:1px solid var(--border); }
.reports-toolbar-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.reports-toolbar a { font-size:11px; }
.reports-toolbar small { font-size:11px; color:var(--muted); }
.reports-columns { position:relative; font-size:12px; }
.reports-columns summary { cursor:pointer; padding:8px 0; }
.reports-column-options { display:grid; gap:9px; padding:14px; min-width:250px; max-height:340px; overflow:auto; position:absolute; right:0; top:100%; z-index:5; background:var(--surface-raised); border:1px solid var(--border); border-radius:6px; box-shadow:0 8px 24px #0002; }
.reports-column-options > div { display:flex; align-items:center; gap:7px; }
.reports-column-options label { display:flex; align-items:center; flex:1; gap:8px; color:var(--text); }
.reports-column-options input { min-height:0; width:15px; height:15px; accent-color:var(--accent); }
.reports-column-options button { width:25px; min-height:25px; padding:0; border-radius:4px; }
.reports-table { width:100%; min-width:680px; }
.reports-table :is(th,td) { padding:11px 14px; font-size:12px; vertical-align:middle; }
.reports-table th { white-space:nowrap; font-size:11px; }
.reports-table td { font-variant-numeric:tabular-nums; }
.reports-table td:first-child { min-width:140px; }
.reports-table .reports-numeric { text-align:right; white-space:nowrap; }
.reports-table a { text-decoration:none; }
.reports-table a:hover { text-decoration:underline; }
.reports-empty { padding:30px 20px !important; color:var(--muted); text-align:center; }
.reports-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:14px 20px; border-top:1px solid var(--border); font-size:11px; color:var(--muted); }
.reports-pagination { display:flex; gap:8px; align-items:center; }
.reports-pagination a { padding:6px 10px; border:1px solid var(--border); border-radius:4px; text-decoration:none; color:var(--text); }
.reports-pagination a[aria-disabled=true] { pointer-events:none; opacity:.4; }
@media(max-width:650px) {
  .reports-filters { padding:16px; gap:10px; }
  .reports-filters > label { flex:1 1 calc(50% - 10px); }
  .reports-filters > label:first-child { flex-basis:100%; }
  .reports-toolbar,.reports-footer,.reports-kpis { padding-left:16px; padding-right:16px; }
  .reports-kpis { gap:20px; }
  .reports-column-options { position:fixed; inset:auto 15px 20px; max-height:65vh; }
}
