/* Estilos mínimos para reforçar visual limpo */
.card-title { font-weight: 600; }
footer { font-size: 0.95rem; }

body::-webkit-scrollbar {
  width: 10px;               /* width of the entire scrollbar */
}

.menu-round{
  width: 40px !important;
  height: 40px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #495057;
  border-radius: 100%;
}

body::-webkit-scrollbar-track {
  background: #1f1f1f;        /* color of the tracking area */
}

body::-webkit-scrollbar-thumb {
  background-color: #a72146;    /* color of the scroll thumb */
  border-radius: 20px;       /* roundness of the scroll thumb */
  border: 3px solid #1f1f1f;  /* creates padding around scroll thumb */
}

/* Paleta de marca Minha Ficha */
:root {
  --brand-primary: #a72146; /* principal */
  --brand-primary-light: #d91d44; /* mais clara */
  --brand-primary-dark: #650423; /* mais escura */
}

/* Integração com Bootstrap 5.3 (tema padrão e modo escuro) */
:root, [data-bs-theme="dark"] {
  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: 167, 33, 70;
  --bs-link-color: var(--brand-primary-light);
  --bs-link-hover-color: var(--brand-primary);
  --bs-primary-bg-subtle: rgba(167, 33, 70, 0.15);
  --bs-primary-border-subtle: rgba(167, 33, 70, 0.3);
}

/* Botão primário com variações de estado alinhadas à paleta */
.btn-primary {
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: var(--brand-primary-light);
  --bs-btn-hover-border-color: var(--brand-primary-light);
  --bs-btn-active-bg: var(--brand-primary-dark);
  --bs-btn-active-border-color: var(--brand-primary-dark);
}

/* Navbar escura com gradiente da marca */
.navbar.bg-dark {
  background-image: linear-gradient(90deg, var(--brand-primary-dark), var(--brand-primary) 60%, var(--brand-primary-light));
  background-color: var(--brand-primary-dark);
}

/* Melhorar contraste para elementos de sucesso em modo escuro */
[data-bs-theme="dark"] .alert-success {
  background-color: rgba(var(--bs-success-rgb), 0.15);
  border-color: rgba(var(--bs-success-rgb), 0.4);
  color: #d1e7dd; /* texto com bom contraste sobre fundo esverdeado */
}

[data-bs-theme="dark"] .btn-outline-success {
  color: var(--bs-success);
  border-color: var(--bs-success);
  background-color: rgba(var(--bs-success-rgb), 0.08);
}

[data-bs-theme="dark"] .btn-outline-success:hover,
[data-bs-theme="dark"] .btn-outline-success:focus {
  background-color: rgba(var(--bs-success-rgb), 0.20);
  color: #fff;
  border-color: var(--bs-success);
}

/* Danger e Warning - melhorar contraste em dark mode */
[data-bs-theme="dark"] .alert-danger {
  background-color: rgba(var(--bs-danger-rgb), 0.15);
  border-color: rgba(var(--bs-danger-rgb), 0.4);
  color: #f8d7da;
}

[data-bs-theme="dark"] .alert-warning {
  background-color: rgba(var(--bs-warning-rgb), 0.18);
  border-color: rgba(var(--bs-warning-rgb), 0.45);
  color: #fff3cd;
}

[data-bs-theme="dark"] .btn-outline-danger {
  color: var(--bs-danger);
  border-color: var(--bs-danger);
  background-color: rgba(var(--bs-danger-rgb), 0.08);
}

[data-bs-theme="dark"] .btn-outline-danger:hover,
[data-bs-theme="dark"] .btn-outline-danger:focus {
  background-color: rgba(var(--bs-danger-rgb), 0.20);
  color: #fff;
  border-color: var(--bs-danger);
}

[data-bs-theme="dark"] .btn-outline-warning {
  color: var(--bs-warning);
  border-color: var(--bs-warning);
  background-color: rgba(var(--bs-warning-rgb), 0.08);
}

[data-bs-theme="dark"] .btn-outline-warning:hover,
[data-bs-theme="dark"] .btn-outline-warning:focus {
  background-color: rgba(var(--bs-warning-rgb), 0.20);
  color: #212529; /* texto escuro sobre amarelo */
  border-color: var(--bs-warning);
}

/* Inputs - foco com cor da marca */
:root, [data-bs-theme="dark"] {
  --bs-focus-ring-color: rgba(167, 33, 70, 0.25); /* brand primary */
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus,
[data-bs-theme="dark"] .form-check-input:focus {
  border-color: var(--brand-primary-light);
  box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
}

/* Badge contraste em dark mode */
[data-bs-theme="dark"] .badge.text-bg-success,
[data-bs-theme="dark"] .badge.text-bg-danger {
  color: #fff;
}
[data-bs-theme="dark"] .badge.text-bg-warning {
  color: #212529;
}

/* Tabela hover em dark */
[data-bs-theme="dark"] .table-dark.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.06);
}

/* Secondary outline buttons - reforçar contraste */
[data-bs-theme="dark"] .btn-outline-secondary {
  color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  background-color: rgba(108, 117, 125, 0.10); /* subtle fill */
}
[data-bs-theme="dark"] .btn-outline-secondary:hover,
[data-bs-theme="dark"] .btn-outline-secondary:focus {
  background-color: rgba(108, 117, 125, 0.22);
  color: #fff;
  border-color: var(--bs-secondary);
}

/* Card headers - separar do corpo do card */
[data-bs-theme="dark"] .card-header {
  background-color: var(--bs-tertiary-bg);
  border-bottom-color: var(--bs-border-color);
}

/* List groups - dar leve fundo e borda para itens */
[data-bs-theme="dark"] .list-group-item {
  background-color: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
}
[data-bs-theme="dark"] .list-group-item:hover {
  background-color: rgba(255, 255, 255, 0.06);
}

/* Tabelas estriadas - aumentar distinção das linhas ímpares no dark */
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255, 255, 255, 0.035);
}

/* Alerts info/secondary - elevar contraste em dark */
[data-bs-theme="dark"] .alert-info {
  background-color: rgba(var(--bs-info-rgb), 0.15);
  border-color: rgba(var(--bs-info-rgb), 0.4);
  color: #cff4fc;
}
[data-bs-theme="dark"] .alert-secondary {
  background-color: rgba(108, 117, 125, 0.15);
  border-color: rgba(108, 117, 125, 0.4);
  color: #dee2e6;
}

/* Nav-pills ativo com cor da marca para destaque */
[data-bs-theme="dark"] .nav-pills .nav-link.active,
[data-bs-theme="dark"] .nav-pills .show > .nav-link {
  background-color: var(--brand-primary);
  color: #fff;
}

/* Paginação - melhorar contraste em hover e ativo */
[data-bs-theme="dark"] .page-link {
  background-color: rgba(255, 255, 255, 0.03);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}
[data-bs-theme="dark"] .page-link:hover {
  background-color: rgba(255, 255, 255, 0.08);
}
[data-bs-theme="dark"] .page-item.active .page-link {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
  color: #fff;
}

/* Chips de atributos (painel da campanha) */
[data-bs-theme="dark"] .attr-chip {
  display: inline-flex;
  flex-direction: column;
  align-items: center; /* centraliza label e controles */
  gap: .35rem;
  padding: .4rem .6rem;
  background-color: var(--bs-secondary-bg);
  border: 1px solid var(--bs-secondary-border-subtle);
  border-radius: .5rem;
}
[data-bs-theme="dark"] .attr-chip .attr-label {
  font-weight: 600;
  font-size: .85rem;
  color: var(--bs-secondary-color);
  text-align: center;
  width: 100%;
}
[data-bs-theme="dark"] .attr-chip .attr-value {
  font-weight: 700;
}
[data-bs-theme="dark"] .attr-chip .d-inline-flex {
  justify-content: center;
  width: 100%;
}
[data-bs-theme="dark"] .attr-chip .btn.btn-sm {
  padding: .125rem .35rem;
}
[data-bs-theme="dark"] .attr-chip:hover {
  background-color: rgba(108, 117, 125, 0.25);
}

/* Avatar placeholder: círculo cinza com inicial */
.avatar-placeholder {
  background-color: #e0e0e0;
  color: #6c757d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  user-select: none;
  text-transform: uppercase;
}

/* Ícone arredondado para menus (sinos, botões pequenos) */
.menu-round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}
[data-bs-theme="dark"] .menu-round {
  background-color: rgba(255, 255, 255, 0.18);
}