.report-filter-panel { padding-bottom: 1.15rem; }
.report-heading { margin-bottom: 1.15rem; }
.report-period-label {
    padding: .4rem .65rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-sm);
    background: var(--bg-subtle);
    color: var(--text-secondary);
    font-size: .8rem;
    font-weight: 600;
    white-space: nowrap;
}
.report-filter {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(180px, 240px) auto;
    align-items: end;
    gap: .75rem;
}
.report-filter .btn { min-width: 160px; }

.report-summary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .75fr) minmax(0, 1.35fr);
    gap: var(--space-4);
}
.report-summary-card {
    min-width: 0;
    min-height: 112px;
    display: flex;
    align-items: center;
    gap: var(--space-4);
    padding: 1.15rem;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    background: var(--bg-card);
    box-shadow: var(--shadow-sm);
}
.report-summary-card small { display: block; color: var(--text-secondary); font-size: .78rem; font-weight: 500; }
.report-summary-card strong { display: block; margin-top: .2rem; color: var(--text-primary); font-size: 1.55rem; font-weight: 600; letter-spacing: -.035em; line-height: 1.15; }
.report-summary-featured { border-left: 4px solid var(--primary); }
.report-customer-highlight { min-width: 0; }
.report-customer-highlight strong { overflow: hidden; font-size: 1.05rem; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
.report-customer-highlight span { display: block; margin-top: .25rem; color: var(--text-secondary); font-size: .78rem; }

.report-customer-list { border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); overflow: hidden; }
.report-customer-row { display: flex; align-items: center; gap: 1rem; padding: .9rem 1rem; background: var(--bg-card); }
.report-customer-row + .report-customer-row { border-top: 1px solid var(--border-color); }
.report-rank {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-sm);
    background: var(--primary-soft);
    color: var(--primary);
    font-size: .78rem;
    font-weight: 600;
}
.report-customer-data { min-width: 0; flex: 1; }
.report-customer-line { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.report-customer-line strong { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.report-customer-line span { flex: 0 0 auto; color: var(--primary-strong); font-weight: 600; }
.report-customer-data small { display: block; margin-top: .3rem; color: var(--text-muted); }
.report-bar { height: 5px; margin-top: .55rem; overflow: hidden; border-radius: 3px; background: #e4e8ed; }
.report-bar span { display: block; height: 100%; border-radius: inherit; background: var(--primary); }
.report-empty { padding: 2rem 1rem; color: var(--text-secondary); text-align: center; }

@media (max-width: 991.98px) {
    .report-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-summary-featured { grid-column: 1 / -1; }
}

@media (max-width: 575.98px) {
    .report-heading { align-items: flex-start; }
    .report-filter { grid-template-columns: 1fr; }
    .report-filter .btn { width: 100%; }
    .report-summary-grid { grid-template-columns: 1fr; }
    .report-summary-featured { grid-column: auto; }
    .report-customer-line { align-items: flex-start; flex-direction: column; gap: .2rem; }
    .report-customer-line strong { white-space: normal; }
}
