/* Utility Classes - Reutilizáveis em todo o sistema */

/* Badge Moderno */
.badge-modern {
  padding: 0.4rem 0.8rem;
  border-radius: 8px;
  font-weight: 600;
  letter-spacing: 0.3px;
  font-size: 0.85rem;
}

/* Status Colors */
.status-success {
  background: linear-gradient(135deg, var(--oab-success-light) 0%, #a7f3d0 100%);
  color: var(--oab-success);
}

.status-warning {
  background: linear-gradient(135deg, rgba(197, 152, 76, 0.15) 0%, rgba(212, 167, 106, 0.15) 100%);
  color: var(--oab-gold);
}

.status-danger {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(220, 38, 38, 0.1) 100%);
  color: #dc2626;
}

.status-info {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.1) 0%, rgba(2, 132, 199, 0.1) 100%);
  color: #0284c7;
}

/* Icon Containers */
.icon-circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.icon-circle-lg {
  width: 80px;
  height: 80px;
  font-size: 2rem;
}

.icon-circle-primary {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.1) 0%, rgba(30, 64, 175, 0.1) 100%);
  color: var(--oab-navy);
}

.icon-circle-gold {
  background: linear-gradient(135deg, rgba(197, 152, 76, 0.15) 0%, rgba(212, 167, 106, 0.15) 100%);
  color: var(--oab-gold);
}

/* Section Dividers */
.section-divider {
  border-bottom: 2px solid var(--oab-light-gray);
  padding-bottom: 0.75rem;
  margin-bottom: 1.5rem;
}

/* Text Utilities */
.text-navy {
  color: var(--oab-navy) !important;
}

.text-gold {
  color: var(--oab-gold) !important;
}

.text-slate {
  color: var(--oab-slate) !important;
}

/* Hover Utilities */
.hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.12) !important;
}

.hover-scale {
  transition: transform 0.2s ease;
}

.hover-scale:hover {
  transform: scale(1.02);
}

/* Glass Effect */
.glass-card {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(197, 152, 76, 0.1);
}

/* Gradient Backgrounds */
.bg-gradient-navy {
  background: linear-gradient(135deg, var(--oab-navy) 0%, var(--oab-blue-accent) 100%);
}

.bg-gradient-gold {
  background: linear-gradient(135deg, var(--oab-gold) 0%, var(--oab-light-gold) 100%);
}

/* Spacing Utilities */
.gap-1 { gap: 0.25rem !important; }
.gap-2 { gap: 0.5rem !important; }
.gap-3 { gap: 1rem !important; }
.gap-4 { gap: 1.5rem !important; }
