.raps-dashboard{--raps-bg:#f6f8fb;--raps-card:#ffffff;--raps-text:#14213d;--raps-muted:#667085;--raps-line:#e5e7eb;--raps-primary:#1d4ed8;--raps-primary-dark:#1e40af;--raps-radius:18px;box-sizing:border-box;background:var(--raps-bg);color:var(--raps-text);padding:22px;border-radius:24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.raps-dashboard *{box-sizing:border-box}.raps-hero{display:flex;gap:18px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;border-radius:24px;padding:26px;margin-bottom:18px;box-shadow:0 18px 50px rgba(15,23,42,.18)}.raps-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#bfdbfe;font-weight:800}.raps-hero h2{font-size:clamp(24px,4vw,38px);line-height:1.1;margin:8px 0;color:#fff}.raps-hero p{margin:0;color:#dbeafe;max-width:720px}.raps-hero-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.raps-btn{border:1px solid rgba(29,78,216,.18);background:#fff;color:#1d4ed8;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.08);transition:.18s ease}.raps-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.12)}.raps-btn-primary{background:#22c55e;color:#062b15;border-color:#22c55e}.raps-filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:14px}.raps-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;color:#475467;text-transform:uppercase;letter-spacing:.04em}.raps-filters select,.raps-filters input{min-height:44px;border:1px solid var(--raps-line);background:#fff;border-radius:14px;padding:10px 12px;color:#111827;width:100%;font-size:14px;text-transform:none;letter-spacing:0;font-weight:600}.raps-filters select[multiple]{min-height:92px}.raps-filter-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.raps-status{padding:12px 14px;border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;border-radius:14px;font-weight:700;margin:8px 0 16px}.raps-status.is-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}.raps-cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:16px}.raps-card{background:var(--raps-card);border:1px solid var(--raps-line);border-radius:var(--raps-radius);padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.06)}.raps-card span{display:block;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.raps-card strong{display:block;font-size:28px;margin:8px 0;color:#111827;line-height:1}.raps-card small{display:block;color:#667085;font-weight:700}.raps-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;margin-bottom:16px}.raps-panel{background:var(--raps-card);border:1px solid var(--raps-line);border-radius:var(--raps-radius);padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.06);min-height:320px}.raps-panel h3{font-size:18px;margin:0 0 14px;color:#111827}.raps-panel canvas{width:100%!important;height:270px!important}.raps-table-panel{min-height:0}.raps-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.raps-table-head input{max-width:360px;width:100%;border:1px solid var(--raps-line);border-radius:999px;min-height:42px;padding:10px 14px}.raps-table-wrap{overflow:auto;border:1px solid var(--raps-line);border-radius:16px}.raps-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;min-width:1120px}.raps-table th,.raps-table td{padding:12px 14px;border-bottom:1px solid var(--raps-line);text-align:left;vertical-align:top}.raps-table th{position:sticky;top:0;background:#f8fafc;color:#475467;font-size:12px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;z-index:2}.raps-table tr:hover td{background:#f9fafb}.raps-table td strong{display:block;color:#111827}.raps-table td small{display:block;color:#667085;margin-top:4px;font-weight:700}.raps-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:900}.raps-empty{text-align:center;color:#667085;padding:28px!important}@media (max-width:1100px){.raps-filters{grid-template-columns:repeat(2,minmax(160px,1fr))}.raps-cards{grid-template-columns:repeat(2,minmax(160px,1fr))}.raps-grid{grid-template-columns:1fr}.raps-hero{align-items:flex-start;flex-direction:column}.raps-hero-actions{justify-content:flex-start}}@media (max-width:640px){.raps-dashboard{padding:14px;border-radius:18px}.raps-filters{grid-template-columns:1fr}.raps-cards{grid-template-columns:1fr}.raps-table-head{align-items:stretch;flex-direction:column}.raps-hero{padding:20px}.raps-btn{width:100%;justify-content:center}.raps-filter-actions .raps-btn{width:auto}}

/* v0.1.1 — filtros sempre visíveis */
.raps-dashboard .raps-filters select[multiple][data-field="ufs"],
.raps-dashboard .raps-filters select[multiple][data-field="municipios"]{
  height:auto!important;
  min-height:156px!important;
  overflow:auto!important;
  padding:8px!important;
  appearance:auto!important;
  background-image:none!important;
}
.raps-dashboard .raps-filters select[multiple][data-field="municipios"]{min-height:206px!important;}
.raps-dashboard .raps-filters select[multiple] option{padding:7px 8px;border-radius:8px;white-space:normal;}
.raps-dashboard .raps-help{display:block;color:#667085;font-size:11px;font-weight:700;text-transform:none;letter-spacing:0;line-height:1.35;}

/* v0.1.6 — filtros revisados: UF em select simples e municípios em checklist clicável */
.raps-dashboard .raps-municipios-field{grid-column:span 2;}
.raps-dashboard .raps-filters select[data-field="uf"],
.raps-dashboard .raps-filters select[data-field="quadrimestre"],
.raps-dashboard .raps-filters select[data-field="componente"],
.raps-dashboard .raps-filters select[data-field="equipe"],
.raps-dashboard .raps-filters select[data-field="indicador"],
.raps-dashboard .raps-filters select[data-field="classe"]{
  height:46px!important;min-height:46px!important;max-height:none!important;display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;appearance:auto!important;background-image:none!important;position:relative!important;z-index:2!important;
}
.raps-dashboard .raps-filters input[data-field="municipio-busca"]{
  height:42px!important;min-height:42px!important;border-radius:12px!important;background:#fff!important;pointer-events:auto!important;position:relative!important;z-index:2!important;
}
.raps-dashboard .raps-checklist{
  display:block!important;width:100%!important;max-height:230px!important;overflow:auto!important;background:#fff!important;border:1px solid var(--raps-line)!important;border-radius:14px!important;padding:8px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;position:relative!important;z-index:2!important;
}
.raps-dashboard .raps-checkitem{
  display:flex!important;align-items:flex-start!important;gap:8px!important;margin:0!important;padding:8px 9px!important;border-radius:10px!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:700!important;color:#1f2937!important;cursor:pointer!important;line-height:1.25!important;min-height:0!important;background:transparent!important;
}
.raps-dashboard .raps-checkitem:hover{background:#f1f5f9!important;}
.raps-dashboard .raps-checkitem input[type="checkbox"]{
  appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:1px 0 0!important;padding:0!important;opacity:1!important;visibility:visible!important;position:static!important;pointer-events:auto!important;accent-color:#1d4ed8!important;
}
.raps-dashboard .raps-checkitem span{display:block!important;white-space:normal!important;}
@media (max-width:1100px){.raps-dashboard .raps-municipios-field{grid-column:span 2;}}
@media (max-width:640px){.raps-dashboard .raps-municipios-field{grid-column:span 1;}.raps-dashboard .raps-checklist{max-height:260px!important;}}
