/*
 * Sistema de Associados — ajustes sobre o Bootstrap 5.3.3 (direção "painel clássico", aprovada em 14/10/2026)
 * Crazy Diamond Soluções Digitais
 * O Bootstrap é a base; aqui só a cor da barra, o fundo e poucos detalhes. Fonte: a sem serifa padrão do sistema.
 */

:root {
  --cd-navy: #1f3a5f;
  --cd-navy-escuro: #172c48;
  --bs-primary: #1f3a5f;
  --bs-primary-rgb: 31, 58, 95;
  --bs-link-color: #1f5aa6;
  --bs-link-color-rgb: 31, 90, 166;
  --bs-link-hover-color: #17437c;
}

.btn-primary {
  --bs-btn-bg: var(--cd-navy);
  --bs-btn-border-color: var(--cd-navy);
  --bs-btn-hover-bg: var(--cd-navy-escuro);
  --bs-btn-hover-border-color: var(--cd-navy-escuro);
  --bs-btn-active-bg: var(--cd-navy-escuro);
  --bs-btn-active-border-color: var(--cd-navy-escuro);
  --bs-btn-disabled-bg: var(--cd-navy);
  --bs-btn-disabled-border-color: var(--cd-navy);
}

/* O cinza do Bootstrap (#6c757d) fica abaixo de 4,5:1 nos fundos claros (Lighthouse, 15/10); este dá 5,1:1 no pior. */
.btn-outline-secondary {
  --bs-btn-color: #565e64;
  --bs-btn-border-color: #565e64;
  --bs-btn-hover-bg: #565e64;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-active-bg: #51585e;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-disabled-color: #565e64;
  --bs-btn-disabled-border-color: #565e64;
}

body { background-color: #f3f5f8; }
.bg-navy { background-color: var(--cd-navy) !important; }

/* Espaço do logo da associação até o cliente mandar o arquivo */
.logo-slot {
  width: 36px; height: 36px; border-radius: 6px;
  border: 1.5px dashed rgba(255, 255, 255, .55);
  display: inline-grid; place-items: center;
  font: 600 9px/1 var(--bs-font-monospace); color: rgba(255, 255, 255, .8);
}
.logo-slot-claro { border-color: #adb5bd; color: #6c757d; }

.cpf { font-family: var(--bs-font-monospace); font-size: .95em; }

.card-login { max-width: 420px; }

/* Carteirinha: QR em SVG do servidor; vencido fica apagado até o código novo chegar */
.qr-caixa { width: 240px; height: 240px; max-width: 100%; }
.qr-caixa svg { width: 100%; height: 100%; display: block; shape-rendering: crispEdges; }
.qr-vencido { opacity: .15; }
/* Leitor: o vídeo fica na proporção da câmera. Esticar ou recortar (object-fit) desalinha a área que a biblioteca
   lê da que aparece na tela, e nenhum QR é lido (iPhone 16/10; reproduzido com câmera falsa em retrato e paisagem). */
.leitor-camera { min-height: 240px; }
.leitor-camera video { width: 100% !important; height: auto !important; display: block; }

.rodape-cd { font-size: .8125rem; color: #5c636a; } /* 5,6:1 sobre o fundo (Lighthouse: o cinza do Bootstrap dava 4,3) */
.rodape-cd a { color: inherit; text-decoration: none; }
.rodape-cd a:hover { text-decoration: underline; }
.rodape-cd img { width: 14px; height: 14px; vertical-align: -2px; }

.table > :not(caption) > * > * { padding: .7rem .9rem; }
.table thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: #6c757d; font-weight: 600; }

.nav-pills { --bs-nav-pills-link-active-bg: var(--cd-navy); --bs-nav-link-color: var(--cd-navy); --bs-nav-link-hover-color: var(--cd-navy-escuro); }
.form-control:focus, .form-select:focus { border-color: #8aa4c4; box-shadow: 0 0 0 .2rem rgba(31, 58, 95, .2); }
.btn-outline-primary { --bs-btn-color: var(--cd-navy); --bs-btn-border-color: var(--cd-navy); --bs-btn-hover-bg: var(--cd-navy); --bs-btn-hover-border-color: var(--cd-navy); --bs-btn-active-bg: var(--cd-navy-escuro); --bs-btn-active-border-color: var(--cd-navy-escuro); }
