/* ======================================================================
   RELATORIOS - BASE
   ====================================================================== */

.filters-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:12px;
}

.filters-bar .inputs{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.filters-bar label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:.9rem;
  color:#475569;
  font-weight:500;
  min-width:200px;
}

.filters-bar select,
.filters-bar input[type="date"]{
  height:38px;
  padding:0 12px;
  border:1px solid #d0d7de;
  border-radius:8px;
  background:#f8fafc;
  color:#111827;
  font-size:.95rem;
  transition:all .2s ease;
  max-width:100%;
}

.filters-bar .exports{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.table-responsive{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.report-chart{
  width:100%;
  height:160px;
  max-width:100%;
}

.reports-grid{
  display:grid;
  gap:12px;
  padding:12px;
}

.report-item{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:14px 16px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.report-item:hover{
  transform:translateY(-1px);
  border-color:#d1d5db;
  box-shadow:0 6px 18px rgba(2,6,23,.06);
}

.report-item.disabled{
  opacity:.6;
  pointer-events:none;
  background:#f8fafc;
}

.ri-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#eef2ff;
  color:#1e40af;
  flex:0 0 42px;
  font-size:20px;
}

.ri-content{ min-width:0; }

.ri-title{
  font-weight:600;
  color:#0f172a;
  line-height:1.2;
}

.ri-desc{
  color:#64748b;
  font-size:.925rem;
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.ri-arrow{
  margin-left:auto;
  color:#94a3b8;
  font-size:18px;
}
