/* ============================================================
   BASE DO SISTEMA INTERNO (NÃO LOGIN)
   ============================================================ */

body:not(.login-page) {
  font-family: 'Segoe UI', Arial, sans-serif;
  background-color: #f5f6fa;
  color: #212529;
  margin: 0;
  padding: 0;
}

/* ===== Navbar ===== */
.navbar-brand {
  font-size: 0.72rem;
  font-weight: 600;
  display: flex;
  align-items: center;
}

.navbar-brand img {
  height: 34px;
  width: auto;
  margin-right: 4px;
}

.navbar-nav .nav-link {
  font-size: 0.68rem;
  font-weight: 500;
  padding: 6px 9px;
}

.navbar-nav .nav-link i {
  font-size: 0.75rem;
  margin-right: 3px;
}

.navbar .dropdown-menu .dropdown-item {
  font-size: 0.62rem;
  padding: 5px 8px;
}

.navbar-nav .dropdown-menu .dropdown-header {
  font-size: 0.59rem;
  font-weight: 600;
  color: #6c757d;
}

/* Tema claro/escuro */
body.dark-mode {
  background-color: #212529;
  color: #f8f9fa;
}

body.light-mode {
  background-color: #f5f6fa;
  color: #212529;
}

/* ===== Filtros Auditoria ===== */
.filtro-box {
  border: 1px solid #dee2e6;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  padding: 12px 15px;
  margin-bottom: 20px;
  border-radius: 6px;
  background-color: #fdfdfd;
}

.filtro-box .form-label {
  font-weight: 500;
  font-size: 0.9rem;
}

.divider-v {
  border-left: 1px solid #dee2e6;
  width: 1px;
  margin: 0 8px;
}

.divider-h {
  border-top: 1px solid #dee2e6;
  margin: 8px 0;
}

/* ============================================================
   LOGIN — ISOLADO DO RESTO DO SISTEMA
   ============================================================ */

.login-page {
  background: url('uploads/login_bg.jpg') center center / cover no-repeat;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* Overlay */
.login-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.25) 10%,
      rgba(0, 0, 0, 0.10) 100%
  );
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 0;
}

/* Caixa de login */
.login-page .login-box {
  background-color: rgba(255, 255, 255, 0.92);
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 0 20px rgba(0,0,0,0.25);
  width: 100%;
  max-width: 400px;
  position: relative;
  z-index: 1;
}

.login-page .login-icon {
  font-size: 2.5rem;
  color: #2575fc;
}

.login-page .input-group-text {
  background-color: #fff;
  border: none;
}

.login-page .form-control {
  border-radius: 8px;
}

.login-page .btn-gradient {
  background: linear-gradient(to right, #6a11cb, #2575fc);
  border: none;
  color: white;
  border-radius: 8px;
  padding: 12px;
  font-size: 1.1rem;
}

.login-page .btn-gradient:hover {
  opacity: 0.9;
}

.login-page .social-icons i {
  font-size: 1.3rem;
  margin: 0 8px;
  color: #ddd;
  cursor: pointer;
}

.login-page .social-icons i:hover {
  color: #fff;
}

.login-page .footer {
  font-size: 0.75rem;
  color: #ccc;
  margin-top: 20px;
}

.login-page .logo-login {
  max-width: 220px;
  height: auto;
  object-fit: contain;
}

/* ============================================================
   RELATÓRIOS (PDF, EXCEL E TELA)
   ============================================================ */

.relatorio-body {
  font-family: Arial, sans-serif;
  font-size: 12px;
}

.logo {
  text-align: center;
  margin-bottom: 10px;
}

.logo img {
  width: 140px;
}

.sistema {
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.titulo-relatorio {
  text-align: center;
  margin-bottom: 10px;
  font-size: 18px;
}

.filtros {
  text-align: center;
  font-size: 12px;
  margin-bottom: 15px;
}

.tabela-relatorio {
  width: 100%;
  border-collapse: collapse;
}

.tabela-relatorio th,
.tabela-relatorio td {
  border: 1px solid #444;
  padding: 6px;
  text-align: center;
}

.tabela-relatorio th {
  background: #eaeaea;
  font-weight: bold;
}

.text-end {
  text-align: right;
}

/* STATUS COM CORES */
.status-pago {
  color: #0a7a20 !important; /* verde */
  font-weight: bold;
}

.status-pendente {
  color: #6c757d !important; /* cinza */
  font-weight: bold;
}

.status-vencida {
  color: #b30000 !important; /* vermelho */
  font-weight: bold;
}

/* DIAS VENCIDOS COM COR DO STATUS */
.dias-vencidos {
  font-weight: bold;
  text-align: center !important;
}

/* Ícones alinhados */
.status-icon {
  margin-right: 4px;
  font-size: 1rem;
}

/* Destaque para atraso grave */
.atraso-grave {
  background-color: #ffebee !important;
  color: #b30000 !important;
  font-weight: bold;
}

/* Paginação */
.pagination {
  margin-top: 15px;
  justify-content: center;
}

.pagination .page-link {
  font-size: 0.85rem;
}