/* IPR Observatorio frontend */
.ipr-obs{ font-family: var(--ipr-font-family); font-size: var(--ipr-font-size); color: var(--ipr-color-text); }
.ipr-tabs{ display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
.ipr-tabs button{ border:1px solid var(--ipr-color-primary); background:#fff; color:var(--ipr-color-primary); padding:8px 12px; border-radius:6px; cursor:pointer; }
.ipr-tabs button.active, .ipr-tabs button:hover{ background: var(--ipr-color-primary); color:#fff; }
.ipr-help{ margin-top:8px; }
.ipr-phone{ color: var(--ipr-color-primary); }
.ipr-tab{ display:none; }
.ipr-tab.active{ display:block; }
.ipr-filtros{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:12px; align-items:flex-end; }
.ipr-filtros label{ display:flex; flex-direction:column; font-size:0.95em; }
.ipr-filtros button{ padding:8px 12px; border-radius:6px; border:1px solid var(--ipr-color-primary); background:var(--ipr-color-primary); color:#fff; }
.ipr-select{ min-width:200px; }
.ipr-kpis{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; margin:12px 0; }
.ipr-kpi{ background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:12px; text-align:center; }
.ipr-kpi span{ font-size:1.6em; font-weight:700; color: var(--ipr-color-primary); }
.ipr-tabla{ width:100%; border-collapse:collapse; margin-top:12px; }
.ipr-tabla th, .ipr-tabla td{ border:1px solid #e5e7eb; padding:8px; }
.ipr-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#ipr-form-reportar button{ padding:10px 14px; border-radius:6px; border:1px solid var(--ipr-color-primary); background:var(--ipr-color-primary); color:#fff; }
#ipr-form-reportar input, #ipr-form-reportar textarea, #ipr-form-reportar select{ width:100%; }
.ipr-badge{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; border:1px solid #e5e7eb; }
.ipr-state-nuevo{ background:#fff7ed; color:#b45309; }
.ipr-state-evaluacion{ background:#eff6ff; color:#1d4ed8; }
.ipr-state-derivado{ background:#ecfeff; color:#0891b2; }
.ipr-state-cerrado{ background:#ecfdf5; color:#047857; }
#chart-tipos, #chart-estados, #chart-zonas{ max-width:100%; width: var(--ipr-chart-width) !important; height: var(--ipr-chart-height) !important; margin: 0 auto; }
.ipr-guest-title-label{ padding:8px 0; font-weight:600; }
@media (max-width: 782px){
  .ipr-grid2{ grid-template-columns:1fr; }
  .ipr-kpis{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}