/**
 * FacilAdv — Tema de Identidade Visual
 * Cores: Navy #0D2240 | Gold #C9A343
 * Tipografia: Inter (corpo) | Montserrat (títulos)
 */

/* ---------------------------------------------------------------
   Variáveis de marca
   Navy exato extraído da logo_branca.png: #0D1B3E
---------------------------------------------------------------- */
:root {
  --fa-navy:        #0D1B3E;
  --fa-navy-light:  #172850;
  --fa-navy-dark:   #070f22;
  --fa-gold:        #C9A343;
  --fa-gold-hover:  #b08a2e;
  --fa-gold-light:  #f5e9c8;
  --fa-white:       #ffffff;
  --fa-bg:          #f0f2f8;
  --fa-text:        #2c3e50;
  --fa-muted:       #8a9bb8;
}

/* ---------------------------------------------------------------
   Tipografia — Inter + Montserrat
---------------------------------------------------------------- */
body {
  font-family: "Inter", "Open Sans", sans-serif;
  background: var(--fa-bg);
  color: var(--fa-text);
}

h1, h2, h3, h4, h5, h6,
.card-title,
.pagetitle h1 {
  font-family: "Montserrat", "Nunito", sans-serif;
}

/* ---------------------------------------------------------------
   Links globais
---------------------------------------------------------------- */
a {
  color: var(--fa-navy);
}
a:hover {
  color: var(--fa-gold);
}

/* ---------------------------------------------------------------
   Header
---------------------------------------------------------------- */
.header {
  background-color: var(--fa-white);
  box-shadow: 0 2px 12px rgba(13, 34, 64, 0.12);
}

.logo img {
  max-height: 38px;
  margin-right: 10px;
}

.logo-text {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--fa-navy);
  letter-spacing: 0.5px;
  line-height: 1;
}

.header .toggle-sidebar-btn {
  color: var(--fa-navy);
}

.header-nav .nav-icon {
  color: var(--fa-navy);
}

.header-nav .nav-profile {
  color: var(--fa-navy);
}

/* ---------------------------------------------------------------
   Sidebar — fundo navy escuro
---------------------------------------------------------------- */
.sidebar {
  background-color: #091f44;
  box-shadow: 3px 0 20px rgba(13, 34, 64, 0.25);
}

.sidebar::-webkit-scrollbar-thumb {
  background-color: var(--fa-navy-light);
}

/* Cabeçalhos de seção */
.sidebar-nav .nav-heading {
  color: var(--fa-muted);
  font-size: 10px;
  letter-spacing: 1.5px;
  margin: 16px 0 6px 15px;
}

/* Estado base — todos os links inativos por padrão */
.sidebar-nav .nav-link,
.sidebar-nav .nav-link.collapsed {
  color: rgba(255, 255, 255, 0.72);
  background: transparent;
  border-left: 3px solid transparent;
}

.sidebar-nav .nav-link i,
.sidebar-nav .nav-link.collapsed i {
  color: rgba(255, 255, 255, 0.50);
}

/* Hover */
.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-link.collapsed:hover {
  color: var(--fa-white);
  background: rgba(201, 163, 67, 0.10);
  border-left-color: rgba(201, 163, 67, 0.5);
}

.sidebar-nav .nav-link:hover i,
.sidebar-nav .nav-link.collapsed:hover i {
  color: var(--fa-gold);
}

/* Página atual — link direto com .active (adicionado via Thymeleaf) */
.sidebar-nav .nav-link.active {
  color: var(--fa-white);
  background: rgba(201, 163, 67, 0.18);
  border-left: 3px solid var(--fa-gold);
}

.sidebar-nav .nav-link.active i {
  color: var(--fa-gold);
}

/* Submenu aberto (collapsible expandido) */
.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) {
  color: var(--fa-white);
  background: rgba(201, 163, 67, 0.12);
  border-left: 3px solid rgba(201, 163, 67, 0.6);
}

.sidebar-nav .nav-link[data-bs-toggle="collapse"]:not(.collapsed) i {
  color: var(--fa-gold);
}

/* Chevron */
.sidebar-nav .nav-link .bi-chevron-down {
  color: rgba(255, 255, 255, 0.5);
}

/* Subitens */
.sidebar-nav .nav-content a {
  color: rgba(255, 255, 255, 0.7);
  padding: 8px 0 8px 40px;
}

.sidebar-nav .nav-content a i {
  color: rgba(255, 255, 255, 0.35);
  background-color: rgba(255, 255, 255, 0.35);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
  color: var(--fa-gold);
}

.sidebar-nav .nav-content a.active i,
.sidebar-nav .nav-content a:hover i {
  background-color: var(--fa-gold);
  color: var(--fa-gold);
}

/* ---------------------------------------------------------------
   Cards
---------------------------------------------------------------- */
.card {
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(13, 34, 64, 0.08);
}

.card-title {
  color: var(--fa-navy);
  font-weight: 600;
}

/* ---------------------------------------------------------------
   Títulos de página
---------------------------------------------------------------- */
.pagetitle h1 {
  color: var(--fa-navy);
  font-weight: 700;
}

.breadcrumb a {
  color: var(--fa-muted);
}

.breadcrumb .active {
  color: var(--fa-navy);
}

/* ---------------------------------------------------------------
   Botões — primário = Navy, secundário = Gold
---------------------------------------------------------------- */
.btn-primary {
  background-color: var(--fa-navy);
  border-color: var(--fa-navy);
  color: var(--fa-white);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--fa-navy-light);
  border-color: var(--fa-navy-light);
  color: var(--fa-white);
}

.btn-primary:focus,
.btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(13, 34, 64, 0.35);
}

/* Botão gold (usar btn-warning sobrescrito) */
.btn-warning {
  background-color: var(--fa-gold);
  border-color: var(--fa-gold);
  color: var(--fa-white);
}

.btn-warning:hover,
.btn-warning:focus {
  background-color: var(--fa-gold-hover);
  border-color: var(--fa-gold-hover);
  color: var(--fa-white);
}

/* ---------------------------------------------------------------
   Formulários — focus gold/navy
---------------------------------------------------------------- */
.form-control:focus,
.form-select:focus {
  border-color: var(--fa-gold);
  box-shadow: 0 0 0 0.2rem rgba(201, 163, 67, 0.2);
}

.input-group-text {
  background-color: var(--fa-navy);
  border-color: var(--fa-navy);
  color: var(--fa-white);
}

/* ---------------------------------------------------------------
   Navbar tabs / badges
---------------------------------------------------------------- */
.nav-tabs-bordered .nav-link.active {
  color: var(--fa-navy);
  border-bottom-color: var(--fa-gold);
}

.nav-tabs-bordered .nav-link:hover {
  color: var(--fa-gold);
}

.badge.bg-primary {
  background-color: var(--fa-navy) !important;
}

/* ---------------------------------------------------------------
   Accordion
---------------------------------------------------------------- */
.accordion-button:not(.collapsed) {
  color: var(--fa-navy);
  background-color: var(--fa-gold-light);
}

.accordion-flush .accordion-button:not(.collapsed) {
  color: var(--fa-gold);
}

/* ---------------------------------------------------------------
   Dashboard — ícones de info-card
---------------------------------------------------------------- */
.dashboard .info-card h6 {
  color: var(--fa-navy);
}

.dashboard .sales-card .card-icon {
  color: var(--fa-navy);
  background: rgba(13, 34, 64, 0.08);
}

/* ---------------------------------------------------------------
   Tabelas — thead navy
---------------------------------------------------------------- */
.table-primary {
  --bs-table-bg: rgba(13, 34, 64, 0.08);
  --bs-table-color: var(--fa-navy);
}

/* ---------------------------------------------------------------
   Back-to-top
---------------------------------------------------------------- */
.back-to-top {
  background: var(--fa-gold);
}

.back-to-top:hover {
  background: var(--fa-gold-hover);
}

/* ---------------------------------------------------------------
   Footer
---------------------------------------------------------------- */
.footer {
  border-top-color: rgba(13, 34, 64, 0.12);
}

.footer .copyright {
  color: var(--fa-muted);
}

/* ---------------------------------------------------------------
   Login page
---------------------------------------------------------------- */
.login-page-bg {
  background: #091f44;
  min-height: 100vh;
}

.login-logo-area img {
  height: 72px;
}

.login-card {
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(13, 34, 64, 0.35);
}

.login-card .btn-primary {
  background-color: var(--fa-navy);
  border-color: var(--fa-navy);
  font-weight: 600;
  letter-spacing: 0.5px;
}

.login-card .btn-primary:hover {
  background-color: var(--fa-gold);
  border-color: var(--fa-gold);
}

.login-card .input-group-text {
  background-color: var(--fa-navy);
  border-color: var(--fa-navy);
  color: var(--fa-white);
}

