body { background-color: #0a0e17 !important; }
.nav-tabs { border-bottom: 1px solid #1f2937 !important; }
.nav-tabs .nav-link { color: #9ca3af !important; border: none !important; font-size: 0.85rem; padding: 8px 14px; }
.nav-tabs .nav-link.active { color: #e5e7eb !important; background-color: #111827 !important; border-bottom: 2px solid #2196f3 !important; }
.card { border-radius: 8px !important; }
.accordion-button { background-color: #111827 !important; color: #e5e7eb !important; }
.accordion-body { background-color: #111827 !important; }
.table { --bs-table-bg: #111827 !important; }
.Select-control { background-color: #111827 !important; }

/* Responsive text sizing for metric cards */
.card h3 {
    font-size: clamp(0.9rem, 2.5vw, 1.4rem) !important;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.card small {
    font-size: clamp(0.6rem, 1.5vw, 0.8rem) !important;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
}

/* Projection card animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.projection-card {
  animation: fadeInUp 0.6s ease-out forwards;
  opacity: 0;
}
.projection-card:nth-child(1) { animation-delay: 0s; }
.projection-card:nth-child(2) { animation-delay: 0.1s; }
.projection-card:nth-child(3) { animation-delay: 0.2s; }
.projection-card:nth-child(4) { animation-delay: 0.3s; }
.projection-card:nth-child(5) { animation-delay: 0.4s; }
.projection-card:nth-child(6) { animation-delay: 0.5s; }
