.rpt-frontend { font-family: inherit; }
.rpt-front-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; flex-wrap: wrap; gap: 1rem; }
.rpt-front-header h2 { font-size: 1.4rem; margin: 0; }

.rpt-filter-form { margin-bottom: 1.25rem; }
.rpt-filters { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; background: #F2EBE2; border-radius: 8px; padding: .9rem 1rem; }
.rpt-filter-group label { display: block; font-size: 11px; font-weight: 600; color: #666; margin-bottom: 4px; }
.rpt-filter-group input[type="date"],
.rpt-filter-group select { height: 40px; padding: 0 .75rem; border: 1.5px solid #E8E2DA; border-radius: 6px; font-size: 13.5px; background: #fff; }

.rpt-summary-cards { display: grid; grid-template-columns: repeat(5,1fr); gap: .75rem; margin-bottom: 1.25rem; }
@media (max-width: 900px) { .rpt-summary-cards { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 600px) { .rpt-summary-cards { grid-template-columns: repeat(2,1fr); } }
.rpt-card { background: #fff; border: 1px solid #E8E2DA; border-radius: 8px; padding: .9rem; text-align: center; }
.rpt-card-num   { font-size: 1.1rem; font-weight: 700; color: #1a1a1a; }
.rpt-card-label { font-size: 10px; color: #888; margin-top: 3px; }
.rpt-card-accent  .rpt-card-num { color: #BFA082; }
.rpt-card-success .rpt-card-num { color: #15803D; }
.rpt-card-warning .rpt-card-num { color: #92400E; }

.rpt-table-wrap { overflow-x: auto; }
.rpt-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.rpt-table th { padding: 9px 8px; border-bottom: 2px solid #E8E2DA; font-weight: 600; color: #555; text-align: left; white-space: nowrap; }
.rpt-table td { padding: 8px; border-bottom: 1px solid #f0f0f0; }
.rpt-empty { text-align: center; padding: 2rem !important; color: #888; }

.rpt-export-btns { display: flex; gap: .5rem; flex-wrap: wrap; }
.rpt-btn { display: inline-flex; align-items: center; height: 38px; padding: 0 1rem; border-radius: 6px; font-size: 12.5px; font-weight: 600; text-decoration: none; cursor: pointer; border: none; }
.rpt-btn-primary { background: #1a1a1a; color: #fff; }
.rpt-btn-excel   { background: #217346; color: #fff; }
.rpt-btn-excel:hover { background: #185c38; color: #fff; }
.rpt-btn-pdf     { background: #C0392B; color: #fff; }
.rpt-btn-pdf:hover { background: #a93226; color: #fff; }

.rpt-badge { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 600; }
.rpt-badge-pending   { background: #FEF3C7; color: #92400E; }
.rpt-badge-approved  { background: #DBEAFE; color: #1E40AF; }
.rpt-badge-paid      { background: #D1FAE5; color: #065F46; }
.rpt-badge-cancelled { background: #FEE2E2; color: #991B1B; }

.rpt-notice { padding: .85rem 1.1rem; border-radius: 6px; font-size: 14px; margin-bottom: 1rem; border-left: 4px solid; }
.rpt-notice-info { background: #EEF4FF; border-color: #3B82F6; color: #1D4ED8; }
