/* Paleta de Cores da UnB - Identidade Visual Oficial */
:root {
  /* Cores Principais da UnB */
  --unb-azul-principal: #003366;     /* Azul UnB Principal */
  --unb-azul-claro: #0066CC;        /* Azul UnB Claro */
  --unb-verde-principal: #006633;    /* Verde UnB Principal */
  --unb-verde-claro: #009966;       /* Verde UnB Claro */
  
  /* Cores Complementares */
  --unb-amarelo: #FFD700;           /* Amarelo UnB */
  --unb-prata: #C0C0C0;             /* Prata UnB */
  --unb-cinza-escuro: #333333;      /* Cinza Escuro */
  --unb-cinza-medio: #666666;       /* Cinza Médio */
  --unb-cinza-claro: #F5F5F5;       /* Cinza Claro */
  
  /* Cores de Estado */
  --unb-sucesso: var(--unb-verde-principal);
  --unb-info: var(--unb-azul-claro);
  --unb-aviso: var(--unb-amarelo);
  --unb-erro: #CC3333;
  
  /* Cores de Texto */
  --unb-texto-principal: var(--unb-cinza-escuro);
  --unb-texto-secundario: var(--unb-cinza-medio);
  --unb-texto-claro: #FFFFFF;
}

/* Aplicação das Cores UnB */
.navbar {
  background: linear-gradient(135deg, var(--unb-azul-principal) 0%, var(--unb-azul-claro) 100%) !important;
  border-bottom: 3px solid var(--unb-verde-principal);
}

.navbar-brand, .navbar-nav .nav-link {
  color: var(--unb-texto-claro) !important;
  font-weight: 600;
}

.navbar-nav .nav-link:hover {
  color: var(--unb-amarelo) !important;
  transition: color 0.3s ease;
}

/* Botões com tema UnB */
.btn-primary {
  background: linear-gradient(135deg, var(--unb-azul-principal) 0%, var(--unb-azul-claro) 100%);
  border-color: var(--unb-azul-principal);
  color: var(--unb-texto-claro);
  font-weight: 600;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--unb-verde-principal) 0%, var(--unb-verde-claro) 100%);
  border-color: var(--unb-verde-principal);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 51, 102, 0.3);
}

.btn-success {
  background: linear-gradient(135deg, var(--unb-verde-principal) 0%, var(--unb-verde-claro) 100%);
  border-color: var(--unb-verde-principal);
  color: var(--unb-texto-claro);
  font-weight: 600;
  border-radius: 8px;
}

.btn-success:hover {
  background: linear-gradient(135deg, var(--unb-azul-principal) 0%, var(--unb-azul-claro) 100%);
  border-color: var(--unb-azul-principal);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 102, 51, 0.3);
}

/* Cards com tema UnB */
.card {
  border: 2px solid var(--unb-cinza-claro);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.card:hover {
  border-color: var(--unb-azul-claro);
  box-shadow: 0 8px 24px rgba(0, 51, 102, 0.15);
  transform: translateY(-4px);
}

.card-header {
  background: linear-gradient(135deg, var(--unb-cinza-claro) 0%, #FFFFFF 100%);
  border-bottom: 2px solid var(--unb-azul-principal);
  color: var(--unb-texto-principal);
  font-weight: 600;
}

/* Badges e Status */
.badge-primary {
  background: var(--unb-azul-principal);
  color: var(--unb-texto-claro);
}

.badge-success {
  background: var(--unb-verde-principal);
  color: var(--unb-texto-claro);
}

.badge-warning {
  background: var(--unb-amarelo);
  color: var(--unb-texto-principal);
}

/* Formulários */
.form-control:focus {
  border-color: var(--unb-azul-claro);
  box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25);
}

.form-label {
  color: var(--unb-texto-principal);
  font-weight: 600;
}

/* Alertas */
.alert-info {
  background-color: rgba(0, 102, 204, 0.1);
  border-color: var(--unb-azul-claro);
  color: var(--unb-azul-principal);
}

.alert-success {
  background-color: rgba(0, 102, 51, 0.1);
  border-color: var(--unb-verde-claro);
  color: var(--unb-verde-principal);
}

.alert-warning {
  background-color: rgba(255, 215, 0, 0.1);
  border-color: var(--unb-amarelo);
  color: #B8860B;
}

/* Texto com cores UnB */
.text-unb-azul {
  color: var(--unb-azul-principal) !important;
}

.text-unb-verde {
  color: var(--unb-verde-principal) !important;
}

.text-unb-amarelo {
  color: var(--unb-amarelo) !important;
}

/* Background com cores UnB */
.bg-unb-azul {
  background-color: var(--unb-azul-principal) !important;
  color: var(--unb-texto-claro) !important;
}

.bg-unb-verde {
  background-color: var(--unb-verde-principal) !important;
  color: var(--unb-texto-claro) !important;
}

/* Elementos especiais */
.unb-gradient-header {
  background: linear-gradient(135deg, var(--unb-azul-principal) 0%, var(--unb-verde-principal) 100%);
  color: var(--unb-texto-claro);
  padding: 2rem 0;
  margin-bottom: 2rem;
}

.unb-accent-border {
  border-left: 4px solid var(--unb-azul-principal);
  padding-left: 1rem;
}

/* Responsividade e acessibilidade */
@media (max-width: 768px) {
  .navbar-brand {
    font-size: 1.1rem;
  }
  
  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
  }
}

/* Animações suaves */
* {
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}