/* Estilos mínimos para a UI inicial */
:root {
  /* Paleta da marca (ajustável) */
  --brand-gold: #DAA520; /* Goldenrod (placeholder) */
  --brand-gold-rgb: 218, 165, 32;
  --brand-gold-600: #B8860B;
  /* Fundo institucional informado: #102541 (rgb 16,37,65) */
  --brand-black: #102541;
  --brand-black-rgb: 16, 37, 65;
  /* Sombra mais escura para gradiente (fallback sólido abaixo) */
  --brand-black-700: color-mix(in srgb, var(--brand-black) 85%, #000 15%);

  /* Bootstrap overrides mínimos */
  --bs-primary: var(--brand-gold);
  --bs-primary-rgb: 218,165,32;
}

body { 
  background-color: #f8f9fa;
}
.navbar-brand { letter-spacing: .3px; }
.navbar-brand img { height: 32px; display: block; }

/* Navbar fixa no topo */
.navbar {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
}

/* Adiciona padding ao corpo para compensar a navbar fixa */
body {
  padding-top: 56px; /* Altura aproximada da navbar */
}

.bg-brand { background: var(--brand-black) !important; }
.navbar.bg-brand { 
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.card { border-radius: .75rem; }
.min-vh-100 { min-height: 100vh; }

/* Sidebar fixo com scroll interno */
.sidebar {
  background: var(--brand-black); /* fallback */
  background: linear-gradient(180deg, var(--brand-black) 0%, var(--brand-black-700) 100%);
  color: #eaeaea;
  border-right: 1px solid rgba(255,255,255,.06);
  position: fixed !important;
  top: 56px; /* Abaixo da navbar */
  left: 0;
  bottom: 0;
  width: 16.666667%; /* col-lg-2 = 2/12 */
  overflow-y: auto; /* Scroll interno quando necessário */
  overflow-x: hidden;
  z-index: 1020;
  scrollbar-width: thin;
  scrollbar-color: rgba(218, 165, 32, 0.5) rgba(255,255,255,0.1);
}

/* Personalização da scrollbar para Webkit (Chrome, Safari, Edge) */
.sidebar::-webkit-scrollbar {
  width: 8px;
}

.sidebar::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.05);
}

.sidebar::-webkit-scrollbar-thumb {
  background: rgba(218, 165, 32, 0.5);
  border-radius: 4px;
}

.sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(218, 165, 32, 0.7);
}

/* Responsivo para MD (col-md-3 = 3/12 = 25%) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .sidebar {
    width: 25%;
  }
}

/* Responsivo para mobile */
@media (max-width: 767.98px) {
  .sidebar {
    position: relative !important;
    width: 100%;
    top: auto;
    bottom: auto;
    left: auto;
  }
}

/* Ajusta o conteúdo principal para não ficar atrás do sidebar */
.sidebar + main,
.sidebar ~ main {
  margin-left: 16.666667%; /* col-lg-2 */
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .sidebar + main,
  .sidebar ~ main {
    margin-left: 25%; /* col-md-3 */
  }
}

@media (max-width: 767.98px) {
  .sidebar + main,
  .sidebar ~ main {
    margin-left: 0;
  }
}
.sidebar h6, .sidebar .nav-section { color: rgba(255,255,255,.55); }
.sidebar .nav-section {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .5rem .75rem;
}
.sidebar .nav-link {
  color: rgba(255,255,255,.85);
  border-radius: .5rem;
  padding: .5rem .75rem;
  margin: 2px 0;
  display: flex;
  align-items: center;
}
.sidebar .nav-link i { font-size: 1rem; opacity: .9; }
.sidebar .nav-link:hover {
  background: rgba(var(--brand-gold-rgb), .14);
  color: #fff;
}
.sidebar .nav-link.active {
  background: var(--brand-gold);
  color: #111;
  font-weight: 600;
}
.sidebar .nav-link.active i { opacity: 1; }

.btn-outline-primary {
  --bs-btn-color: var(--brand-gold);
  --bs-btn-border-color: var(--brand-gold);
  --bs-btn-hover-bg: var(--brand-gold);
  --bs-btn-hover-border-color: var(--brand-gold);
  --bs-btn-active-bg: var(--brand-gold);
  --bs-btn-active-border-color: var(--brand-gold);
}

.badge.text-bg-warning {
  color: #000;
  background-color: rgba(var(--brand-gold-rgb), .85) !important;
}

.navbar .badge { vertical-align: middle; }
