/* Home dashboard (KPI tiles + two-column widgets) and the Reports module. */

.home-page { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }

.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--space-4); }
.kpi-tile {
  display: block; padding: var(--space-4) var(--space-5);
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md);
  color: var(--color-text); text-decoration: none; border-top: 3px solid var(--kpi-accent, var(--color-primary));
}
a.kpi-tile:hover { background: var(--color-surface-alt); }
.kpi-label { font-size: var(--fs-sm); color: var(--color-text-muted); font-weight: 600; }
.kpi-value { font-size: 28px; font-weight: 700; margin-top: var(--space-2); line-height: 1.1; }

.home-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
@media (max-width: 1000px) { .home-columns { grid-template-columns: minmax(0, 1fr); } }

.home-widget { display: flex; flex-direction: column; min-width: 0; }
.home-widget-head { display: flex; align-items: center; justify-content: space-between; padding: var(--space-4) var(--space-5) var(--space-2); }
.home-widget-head .section-title { margin-bottom: 0; }
.home-widget-body { padding: 0 var(--space-5) var(--space-2); max-height: 340px; overflow: auto; }
.home-widget-foot { padding: 8px var(--space-5); border-top: 1px solid var(--color-border); font-size: var(--fs-xs); color: var(--color-text-muted); }
.home-empty { padding: var(--space-5) 0; text-align: center; color: var(--color-text-muted); }

.data-table thead th.sortable { cursor: pointer; user-select: none; white-space: nowrap; }
.data-table thead th.sortable:hover { color: var(--color-primary); }
.sort-arrow { font-size: 10px; margin-left: 4px; }

.btn[hidden] { display: none; }

/* Reports */
.reports-page { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
.reports-toolbar { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.reports-toolbar .input { max-width: 260px; }
.reports-toolbar .spacer { flex: 1; }
.report-star { background: none; border: none; cursor: pointer; font-size: 16px; line-height: 1; color: var(--color-text-muted); padding: 2px 4px; }
.report-star.is-on { color: #f5a623; }
.report-link { font-weight: 600; }
.report-desc { color: var(--color-text-muted); max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.report-viewer-meta { color: var(--color-text-muted); font-size: var(--fs-sm); }
.report-bar-cell { min-width: 160px; }
.report-bar { height: 10px; border-radius: 5px; background: var(--color-primary); opacity: 0.75; min-width: 2px; }
.data-table td.num, .data-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
