/* Reports View Styles */

.rpt-container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.rpt-header h1 { font-size: 22px; font-weight: 600; color: var(--color-text, #1E293B); margin: 0 0 16px; }

/* Filters */
.rpt-filters { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; padding: 10px 14px; background: var(--color-surface, #fff); border-radius: var(--radius-lg, 12px); box-shadow: var(--shadow-sm); }
.rpt-period-btns { display: flex; gap: 4px; }
.rpt-date-range { display: flex; align-items: center; gap: 8px; margin-left: auto; font-size: 13px; }
.rpt-input { padding: 5px 8px; border: 1px solid var(--color-border, #E2E8F0); border-radius: var(--radius, 8px); font-size: 13px; font-family: var(--font-sans); }
.rpt-input:focus { outline: none; border-color: var(--elmetic-accent); box-shadow: var(--focus-ring); }

/* Tabs */
.rpt-tabs { display: flex; gap: 0; margin-bottom: 16px; border-bottom: 2px solid var(--color-border, #E2E8F0); }
.rpt-tab { padding: 8px 20px; font-size: 13px; font-weight: 500; color: var(--color-text-secondary, #475569); background: none; border: none; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 150ms; }
.rpt-tab:hover { color: var(--color-text, #1E293B); }
.rpt-tab--active { color: var(--elmetic-accent, #E73D25); border-bottom-color: var(--elmetic-accent, #E73D25); }

/* KPI Row */
.rpt-kpi-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.rpt-kpi { background: var(--color-surface, #fff); border-radius: var(--radius-lg, 12px); padding: 16px; text-align: center; box-shadow: var(--shadow-sm); }
.rpt-kpi-value { font-size: 22px; font-weight: 700; color: var(--color-text, #1E293B); }
.rpt-kpi-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--color-text-muted, #94A3B8); margin-top: 4px; }
.rpt-kpi--success .rpt-kpi-value { color: var(--color-success, #16A34A); }
.rpt-kpi--warning .rpt-kpi-value { color: var(--color-warning, #F59E0B); }
.rpt-kpi--danger .rpt-kpi-value { color: var(--color-error, #DC2626); }

/* Cards */
.rpt-card { background: var(--color-surface, #fff); border-radius: var(--radius-lg, 12px); padding: 20px; box-shadow: var(--shadow-sm); margin-bottom: 16px; }
.rpt-card h3 { margin: 0 0 12px; font-size: 16px; font-weight: 600; color: var(--color-text, #1E293B); }
.rpt-chart-card { background: var(--color-surface, #fff); border-radius: var(--radius-lg, 12px); padding: 16px; box-shadow: var(--shadow-sm); margin-bottom: 16px; }

/* Tables */
.rpt-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.rpt-table th { text-align: left; padding: 6px 10px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; color: var(--color-text-muted); border-bottom: 2px solid var(--color-border); }
.rpt-table td { padding: 7px 10px; border-bottom: 1px solid var(--color-surface-alt, #F1F5F9); }
.rpt-table tbody tr:nth-child(even) { background: var(--color-bg, #F8FAFC); }
.rpt-table tbody tr:hover { background: var(--color-info-bg, #DBEAFE); }
.rpt-table a { color: var(--elmetic-accent); text-decoration: none; font-weight: 500; }
.rpt-text-right { text-align: right; }

/* Export grid */
.rpt-export-grid { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 12px; }

/* States */
.rpt-loading, .rpt-empty, .rpt-error { text-align: center; padding: 24px; color: var(--color-text-muted); font-size: 13px; }
.rpt-error { color: var(--color-error); }
.rpt-hint { font-size: 13px; color: var(--color-text-muted); margin-bottom: 12px; }

/* Responsive: Tablet */
@media (max-width: 1180px) {
  .rpt-kpi-row { grid-template-columns: repeat(2, 1fr); }
  .rpt-table { font-size: 12px; }
  .rpt-table th, .rpt-table td { padding: 5px 8px; }
}

/* Responsive: Mobile */
@media (max-width: 768px) {
  .rpt-kpi-row { grid-template-columns: 1fr; }
  .rpt-filters { flex-direction: column; align-items: flex-start; gap: 8px; }
  .rpt-date-range { margin-left: 0; flex-wrap: wrap; }
  .rpt-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .rpt-tab { white-space: nowrap; }
  .rpt-container { padding: 0 8px; }
  .rpt-card { padding: 12px; }
  .rpt-export-grid { flex-direction: column; }
}
