/* ===== Modern Elegant Theme - Color Overrides ===== */

/* Bootstrap Color Overrides */
.btn-primary {
  background: linear-gradient(135deg, #6366f1, #4f46e5) !important;
  border-color: #6366f1 !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
  background: linear-gradient(135deg, #4f46e5, #6366f1) !important;
  box-shadow: 0 10px 25px rgba(99, 102, 241, 0.3) !important;
}

.btn-secondary {
  background: linear-gradient(135deg, #ec4899, #db2777) !important;
  border-color: #ec4899 !important;
}

.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus {
  background: linear-gradient(135deg, #db2777, #ec4899) !important;
  box-shadow: 0 10px 25px rgba(236, 72, 153, 0.3) !important;
}

/* Alert Styles */
.alert-primary {
  background: rgba(99, 102, 241, 0.1);
  border: 1px solid #6366f1;
  color: #c7d2fe;
}

.alert-secondary {
  background: rgba(236, 72, 153, 0.1);
  border: 1px solid #ec4899;
  color: #fbcfe8;
}

.alert-success {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid #10b981;
  color: #a7f3d0;
}

.alert-warning {
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid #f59e0b;
  color: #fcd34d;
}

.alert-danger {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid #ef4444;
  color: #fca5a5;
}

/* Badge Styles */
.badge-primary {
  background: linear-gradient(135deg, #6366f1, #4f46e5);
}

.badge-secondary {
  background: linear-gradient(135deg, #ec4899, #db2777);
}

.badge-success {
  background: #10b981;
}

.badge-warning {
  background: #f59e0b;
}

.badge-danger {
  background: #ef4444;
}

.badge-info {
  background: #06b6d4;
}

/* Card Styles */
.card {
  background: linear-gradient(135deg, #1a1f3a 0%, #1e293b 100%);
  border: 1px solid rgba(99, 102, 241, 0.2);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card:hover {
  border-color: #6366f1;
  box-shadow: 0 20px 50px rgba(99, 102, 241, 0.15);
  transform: translateY(-8px);
}

.card-header {
  background: rgba(99, 102, 241, 0.05);
  border-bottom: 1px solid rgba(99, 102, 241, 0.1);
}

/* List Group Styles */
.list-group-item {
  background: var(--dark-card);
  border: 1px solid rgba(99, 102, 241, 0.1);
  color: #f1f5f9;
}

.list-group-item:hover {
  background: rgba(99, 102, 241, 0.05);
  border-color: #6366f1;
}

.list-group-item.active {
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  border-color: #6366f1;
}

/* Modal Styles */
.modal-content {
  background: linear-gradient(135deg, #1a1f3a 0%, #1e293b 100%);
  border: 1px solid rgba(99, 102, 241, 0.2);
}

.modal-header {
  border-bottom: 1px solid rgba(99, 102, 241, 0.1);
}

.modal-footer {
  border-top: 1px solid rgba(99, 102, 241, 0.1);
}

.close {
  color: #f1f5f9;
}

/* Form Control Styles */
.form-control {
  background: rgba(30, 41, 59, 0.5);
  border: 1px solid rgba(99, 102, 241, 0.2);
  color: #f1f5f9;
}

.form-control:focus {
  background: rgba(30, 41, 59, 0.7);
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
  color: #f1f5f9;
}

.form-control::placeholder {
  color: rgba(241, 245, 249, 0.4);
}

.form-select {
  background: rgba(30, 41, 59, 0.5);
  border: 1px solid rgba(99, 102, 241, 0.2);
  color: #f1f5f9;
}

.form-select:focus {
  background: rgba(30, 41, 59, 0.7);
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
  color: #f1f5f9;
}

/* Progress Bar Styles */
.progress {
  background: rgba(99, 102, 241, 0.1);
  border-radius: 10px;
}

.progress-bar {
  background: linear-gradient(90deg, #6366f1, #4f46e5);
  border-radius: 10px;
}

/* Navigation Styles */
.navbar {
  background: rgba(15, 23, 42, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(99, 102, 241, 0.1);
}

.nav-link {
  color: #f1f5f9 !important;
  font-weight: 500;
  transition: all 0.3s ease;
}

.nav-link:hover {
  color: #6366f1 !important;
}

.nav-link.active {
  color: #6366f1 !important;
}

/* Breadcrumb Styles */
.breadcrumb {
  background: transparent;
  border-bottom: 1px solid rgba(99, 102, 241, 0.1);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: #6366f1;
}

.breadcrumb-item.active {
  color: #6366f1;
}

/* Pagination Styles */
.pagination .page-link {
  background: rgba(30, 41, 59, 0.5);
  border: 1px solid rgba(99, 102, 241, 0.2);
  color: #f1f5f9;
}

.pagination .page-link:hover {
  background: rgba(99, 102, 241, 0.1);
  border-color: #6366f1;
  color: #6366f1;
}

.pagination .page-item.active .page-link {
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  border-color: #6366f1;
}

/* Table Styles */
.table {
  color: #f1f5f9;
  border-color: rgba(99, 102, 241, 0.1);
}

.table-dark {
  background: linear-gradient(135deg, #1a1f3a 0%, #1e293b 100%);
  color: #f1f5f9;
}

.table-dark td,
.table-dark th {
  border-color: rgba(99, 102, 241, 0.1);
}

.table-hover tbody tr:hover {
  background: rgba(99, 102, 241, 0.05);
}

/* Dropdown Menu Styles */
.dropdown-menu {
  background: linear-gradient(135deg, #1a1f3a 0%, #1e293b 100%);
  border: 1px solid rgba(99, 102, 241, 0.2);
}

.dropdown-item {
  color: #f1f5f9;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(99, 102, 241, 0.1);
  color: #6366f1;
}

.dropdown-divider {
  border-color: rgba(99, 102, 241, 0.1);
}

/* Hero Section */
.hero-section {
  background: linear-gradient(135deg, #0f172a 0%, #1a1f3a 50%, #1e293b 100%);
  position: relative;
  overflow: hidden;
}

.hero-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.1) 0%, transparent 70%);
  animation: float 20s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translate(0px, 0px); }
  50% { transform: translate(30px, -30px); }
}

.hero-section .hero-content {
  position: relative;
  z-index: 1;
}

/* Feature Cards */
.feature-card {
  background: linear-gradient(135deg, #1a1f3a 0%, #1e293b 100%);
  border: 1px solid rgba(99, 102, 241, 0.2);
  border-radius: 1rem;
  padding: 2rem;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-card:hover {
  border-color: #6366f1;
  box-shadow: 0 20px 50px rgba(99, 102, 241, 0.15);
  transform: translateY(-8px);
}

.feature-card .feature-icon {
  font-size: 2.5rem;
  color: #6366f1;
  margin-bottom: 1rem;
}

/* Animation Classes */
.fade-in-up {
  animation: fadeInUp 0.8s ease-out;
}

.fade-in-down {
  animation: fadeInDown 0.8s ease-out;
}

.slide-in-left {
  animation: slideInLeft 0.8s ease-out;
}

.slide-in-right {
  animation: slideInRight 0.8s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .card {
    margin-bottom: 1rem;
  }

  .btn {
    width: 100%;
  }

  .feature-card {
    padding: 1.5rem;
  }
}
