/* ============================================================
   FROTA MASTER - GRADE DE TABELAS + BARRA DE RELATORIOS
   Linhas horizontais E verticais em todos os modulos.
============================================================ */

table,
.table {
  border-collapse: collapse !important;
  width: 100%;
}

table th,
table td,
.table th,
.table td {
  border: 1px solid #cbd5e1 !important;
  vertical-align: middle;
}

.table > :not(caption) > * > * {
  box-shadow: none !important;
}

table thead th,
.table thead th {
  background: #0f172a !important;
  color: #fff !important;
  border-color: #1e293b !important;
  font-weight: 700;
  white-space: nowrap;
}

table tbody tr:nth-child(even) > td,
.table tbody tr:nth-child(even) > td {
  background: #f8fafc;
}

table tbody tr:hover > td,
.table tbody tr:hover > td {
  background: #e0e7ff;
}

.table-responsive {
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  overflow: auto;
  background: #fff;
}

/* ---------- barra de relatorios ---------- */
.rel-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.rel-bar .rel-tt {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748b;
  margin-right: 4px;
}

.rel-btn {
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 7px 13px;
  font-size: 0.76rem;
  font-weight: 700;
  cursor: pointer;
  transition: filter 0.15s ease, transform 0.05s ease;
}

.rel-btn:hover { filter: brightness(0.95); }
.rel-btn:active { transform: translateY(1px); }

.rel-excel { background: #dcfce7; color: #14532d; border-color: #86efac; }
.rel-pdf { background: #fee2e2; color: #7f1d1d; border-color: #fca5a5; }
.rel-print { background: #e0e7ff; color: #312e81; border-color: #c7d2fe; }
.rel-all { background: #0f172a; color: #fff; margin-left: auto; }

@media print {
  .sidebar,
  .rel-bar,
  .pro-pager,
  button {
    display: none !important;
  }
}

/* ============================================================
   CONTROLES DE FILTRO PADRONIZADOS (todos os modulos)
============================================================ */
.fm-fbtn {
  border-radius: 9px !important;
  padding: 7px 15px !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  cursor: pointer;
  border: 1px solid transparent !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
  transition: filter 0.15s ease, transform 0.05s ease;
}
.fm-fbtn:hover { filter: brightness(0.94); }
.fm-fbtn:active { transform: translateY(1px); }

.fm-fbtn-buscar {
  background: #1d4ed8 !important;
  border-color: #1e40af !important;
  color: #fff !important;
}

.fm-fbtn-limpar {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #fff !important;
}

.fm-fcampo {
  border: 1px solid #cbd5e1 !important;
  border-radius: 9px !important;
  padding: 7px 11px !important;
  font-size: 0.82rem !important;
  background: #fff !important;
  color: #0f172a !important;
}
.fm-fcampo:focus {
  outline: none !important;
  border-color: #1d4ed8 !important;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15) !important;
}
