/* =========================================================
   THEME.CSS — Clube de Tiro (Painel Área Reservada)
   - Bootstrap friendly 
   - Navbar com menu e seletor de idioma
   - Cartões, tabelas, formulários, botões
   - Responsivo / mobile first
   ========================================================= */

/* -------- Paleta base -------- */
:root{
  --ct-blue-900:#0b2f4a;
  --ct-blue-800:#113f67; /* navbar */
  --ct-blue-600:#2a628f; /* primário */
  --ct-blue-100:#e8f1f8;
  --ct-gray-900:#1f2937;
  --ct-gray-700:#374151;
  --ct-gray-500:#6b7280;
  --ct-gray-200:#e5e7eb;
  --ct-success:#14a44d;
  --ct-danger:#dc3545;
  --ct-warning:#f59e0b;
}

/* -------- Layout geral -------- */
html,body{height:100%;}
body{
  background:#f6f8fb;
  color:#111827;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
main.container{
  max-width:1200px;
}

/* -------- Navbar (barra azul) -------- */
.app-navbar{
  background:var(--ct-blue-800);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.navbar-brand img{
  height:38px;
  transition:transform .2s ease;
}
.navbar-brand img:hover{transform:scale(1.05);}
.navbar-brand span{letter-spacing:.2px;}

.navbar .nav-link{
  color:#e8edf3;
  opacity:.9;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color:#fff;
  opacity:1;
}
.navbar .nav-link.active{
  color:#fff;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Dropdown */
.dropdown-menu{
  border-radius:.6rem;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.dropdown-item.active,
.dropdown-item:active{
  background:var(--ct-blue-600);
}

/* Botões do seletor de idioma */
.btn-outline-light{--bs-btn-hover-color:#0b2441;}
.btn-light{color:#0b2441;}

/* -------- Botões e estados -------- */
.btn-primary{
  background:var(--ct-blue-600);
  border-color:var(--ct-blue-600);
}
.btn-primary:hover{
  background:#24577f;
  border-color:#24577f;
}
.btn-outline-primary{
  color:var(--ct-blue-600);
  border-color:var(--ct-blue-600);
}
.btn-outline-primary:hover{
  color:#fff;
  background:var(--ct-blue-600);
  border-color:var(--ct-blue-600);
}

/* -------- Cartões / painéis -------- */
.card{border:1px solid rgba(0,0,0,.06); border-radius:14px;}
.card-header{background:#fff;}
.card.shadow-sm{box-shadow:0 6px 24px rgba(17,63,103,.06);}

/* -------- Tabelas -------- */
.table{
  --bs-table-striped-bg: #f9fbfd;
  --bs-table-hover-bg: #f1f6fb;
  --bs-table-color: #111827;
}
.table thead th{
  font-weight:600;
  color:#0f172a;
  background:#f3f6fb !important;
  border-bottom:1px solid var(--ct-gray-200) !important;
}
.table td, .table th{vertical-align:middle;}

/* -------- Formulários -------- */
.form-label{font-weight:600; color:#0f172a;}
.form-control, .form-select{
  border-radius:.6rem;
  border:1px solid #d9dee7;
}
.form-control:focus, .form-select:focus{
  border-color:var(--ct-blue-600);
  box-shadow:0 0 0 .2rem rgba(42,98,143,.15);
}

/* -------- Alertas -------- */
.alert{border-radius:.8rem;}
.alert-info{background:#eef6ff; border-color:#d6e8ff; color:#0b3b73;}
.alert-success{background:#ecfff3; border-color:#ccf5dd; color:#0b5a2a;}
.alert-danger{background:#fff1f2; border-color:#ffd7db; color:#7f1d1d;}

/* -------- Utilidades -------- */
.small-muted{font-size:.875rem;color:var(--ct-gray-500);}
.badge-soft{
  background:#eef4fb; color:#0b2441; border:1px solid #dbe7f5; border-radius:999px;
}

/* -------- Sidebar legacy (se alguma página antiga usar) -------- */
aside .list-group-item{border:0;border-radius:0;}
aside .list-group-item.active{
  background:var(--ct-blue-600);
  color:#fff;
}

/* -------- Componentes do form de linhas (treino-novo) -------- */
.line-row{
  border:1px solid #e9eef5;
  padding:12px;
  border-radius:10px;
  margin-bottom:10px;
  background:#fff;
}

/* -------- Responsivo -------- */
@media (max-width: 991.98px){
  /* O menu colapsa — o conteúdo já está em <main> */
  .navbar-brand span{display:none;} /* só logo no mobile */
  main.container{padding-top:1rem;}
}

@media (max-width: 575.98px){
  .card-body{padding:1rem;}
  .table{font-size:.94rem;}
}

/* === Logotipo no navbar === */
.logo-bg {
  background: rgba(255,255,255,0.9); /* branco com 90% de opacidade */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;               /* cantos suaves */
  box-shadow: 0 2px 6px rgba(0,0,0,0.15); /* sombra leve */
  transition: transform .2s ease, box-shadow .2s ease;
}

.logo-bg:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
}

.logo-img {
  height: 40px;
  width: auto;
  display: block;
}

.license-date-block.disabled {
  opacity: 0.5;
}

.license-date-block.disabled input {
  background-color: #f1f1f1;
  cursor: not-allowed;
}

.license-date-block.disabled .form-label {
  color: #4c5156; 
}

.form-check-input {
  border-color: #333 !important;
}

.form-check-input:checked {
  background-color: #2a2a2a !important;
  border-color: #2a2a2a !important;
}

