/* src/TrafficHub.Web/wwwroot/css/reports.css */
.rp-page { max-width: 820px; margin: 0 auto; padding: 1.5rem; }
.rp-title { font-size: 1.5rem; font-weight: 700; margin: 0; }
.rp-subtitle, .rp-muted { color: #6b7280; }
.rp-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
/* Cards e linhas são claros sobre o <main> escuro (texto branco): declaram a própria cor, senão
   títulos e rótulos herdam branco sobre branco. */
.rp-card { background: #fff; color: #111827; border: 1px solid #e5e7eb; border-radius: 12px; padding: 1.25rem; margin-bottom: 1rem; }
.rp-card-failed { border-color: #fca5a5; background: #fef2f2; }
.rp-field { display: flex; flex-direction: column; gap: .25rem; margin-bottom: 1rem; }
.rp-field label { font-weight: 600; font-size: .875rem; }
.rp-input { padding: .5rem .75rem; border: 1px solid #d1d5db; border-radius: 8px; font-size: 1rem; }
.rp-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-radius: 8px;
          border: 1px solid #d1d5db; background: #fff; color: #111827; text-decoration: none; cursor: pointer; }
.rp-btn-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.rp-btn:disabled { opacity: .6; cursor: default; }
.rp-error { color: #b91c1c; font-weight: 500; }
.rp-section-title { font-size: 1.125rem; font-weight: 700; margin: 0 0 .75rem; }
.rp-narrative { line-height: 1.65; margin: 0 0 .75rem; }
.rp-list { display: flex; flex-direction: column; gap: .5rem; }
.rp-row { display: flex; align-items: center; justify-content: space-between; padding: 1rem;
          border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; text-decoration: none; color: #111827; }
.rp-row:hover { border-color: #93c5fd; }
.rp-row-title { font-weight: 600; }
.rp-badge { padding: .2rem .6rem; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.rp-badge-ready { background: #dcfce7; color: #166534; }
.rp-badge-generating { background: #fef9c3; color: #854d0e; }
.rp-badge-failed { background: #fee2e2; color: #991b1b; }
.rp-spinner { width: 1rem; height: 1rem; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff;
              border-radius: 50%; display: inline-block; animation: rp-spin .7s linear infinite; }
@keyframes rp-spin { to { transform: rotate(360deg); } }
.rp-section-gap { margin-top: 2rem; }
.rp-actions { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.rp-btn-danger { border-color: #fca5a5; color: #b91c1c; background: #fff; }
.rp-badge-inactive { background: #e5e7eb; color: #374151; }
.rp-check { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; font-weight: 600; font-size: .875rem; }
