/* Modern Theme Overrides */

/* Enhanced Card Styling */
.card {
  border-radius: 16px !important;
  background: #1d1e2b !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
  border: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3) !important;
}

.card-header {
  background: transparent !important;
  border-bottom: 1px solid #2d2f3e !important;
  border-radius: 16px 16px 0 0 !important;
  padding: 1.5rem !important;
}

.card-body {
  padding: 1.5rem !important;
}

.card-footer {
  background: transparent !important;
  border-top: 1px solid #2d2f3e !important;
  border-radius: 0 0 16px 16px !important;
  padding: 1.5rem !important;
}

/* Statistics Styling */
.stat-number {
  font-size: 2rem;
  font-weight: 600;
  color: #ffffff !important;
  margin-bottom: 0.25rem;
}

.stat-label {
  color: #9fa6b2 !important;
  font-size: 0.9rem;
  margin-bottom: 0;
}

/* Enhanced Button Styling */
.btn {
  border-radius: 12px !important;
  padding: 0.75rem 1.5rem !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.btn-primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3) !important;
}

.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4) !important;
}

.btn-success {
  background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(86, 171, 47, 0.3) !important;
}

.btn-success:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(86, 171, 47, 0.4) !important;
}

.btn-outline-secondary {
  border-color: #2d2f3e !important;
  color: #9fa6b2 !important;
  background: transparent !important;
}

.btn-outline-secondary:hover {
  background: #2d2f3e !important;
  border-color: #3d3f4e !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

/* Form Controls */
.form-control, .form-select {
  border-radius: 12px !important;
  background: #2d2f3e !important;
  border: 1px solid #3d3f4e !important;
  color: #ffffff !important;
  padding: 0.75rem 1rem !important;
  transition: all 0.2s ease !important;
}

.form-control:focus, .form-select:focus {
  background: #3d3f4e !important;
  border-color: #667eea !important;
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25) !important;
  color: #ffffff !important;
}

.form-control::placeholder {
  color: #6c757d !important;
}

.form-label {
  color: #ffffff !important;
  font-weight: 500 !important;
  margin-bottom: 0.75rem !important;
}

/* Navigation */
.navbar {
  background: #1a1b26 !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2) !important;
}

.navbar-nav .nav-link {
  color: #9fa6b2 !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}

.navbar-nav .nav-link:hover {
  color: #ffffff !important;
}

/* Sidebar */
.sidebar {
  background: #1a1b26 !important;
  border-radius: 0 16px 16px 0 !important;
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.1) !important;
}

/* Tables */
.table {
  background: transparent !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.table thead th {
  background: #2d2f3e !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 600 !important;
  padding: 1rem !important;
}

.table tbody td {
  background: #1d1e2b !important;
  color: #ffffff !important;
  border-color: #2d2f3e !important;
  padding: 1rem !important;
}

.table tbody tr:hover td {
  background: #252636 !important;
}

/* Alerts */
.alert {
  border-radius: 12px !important;
  border: none !important;
  padding: 1rem 1.5rem !important;
}

.alert-success {
  background: linear-gradient(135deg, rgba(86, 171, 47, 0.1) 0%, rgba(168, 230, 207, 0.1) 100%) !important;
  color: #a8e6cf !important;
  border-left: 4px solid #56ab2f !important;
}

.alert-danger {
  background: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, rgba(248, 215, 218, 0.1) 100%) !important;
  color: #f8d7da !important;
  border-left: 4px solid #dc3545 !important;
}

.alert-info {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%) !important;
  color: #b8c5f7 !important;
  border-left: 4px solid #667eea !important;
}

/* Badges */
.badge {
  border-radius: 8px !important;
  padding: 0.5rem 0.75rem !important;
  font-weight: 500 !important;
}

.badge.bg-success {
  background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%) !important;
}

.badge.bg-primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

.badge.bg-warning {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%) !important;
}

/* Body and Text */
body {
  background: #16171e !important;
  color: #ffffff !important;
}

.text-muted {
  color: #9fa6b2 !important;
}

.text-white {
  color: #ffffff !important;
}

/* Breadcrumb */
.breadcrumb {
  background: transparent !important;
  padding: 0 !important;
}

.breadcrumb-item a {
  color: #9fa6b2 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.breadcrumb-item a:hover {
  color: #ffffff !important;
}

.breadcrumb-item.active {
  color: #ffffff !important;
}

/* Progress bars */
.progress {
  background: #2d2f3e !important;
  border-radius: 8px !important;
  height: 8px !important;
}

.progress-bar {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  border-radius: 8px !important;
}

/* Modals */
.modal-content {
  background: #1d1e2b !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

.modal-header {
  border-bottom: 1px solid #2d2f3e !important;
  padding: 1.5rem !important;
}

.modal-body {
  padding: 1.5rem !important;
}

.modal-footer {
  border-top: 1px solid #2d2f3e !important;
  padding: 1.5rem !important;
}

/* Custom animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: fadeInUp 0.5s ease-out;
}

/* Loading states */
.loading-overlay {
  background: rgba(22, 23, 30, 0.8) !important;
  backdrop-filter: blur(4px);
}

.spinner-border {
  width: 2rem;
  height: 2rem;
}

/* Dashboard specific styles */
.dashboard-stat-card {
  background: linear-gradient(135deg, #1d1e2b 0%, #252636 100%) !important;
  border: 1px solid #2d2f3e !important;
}

.dashboard-stat-card .stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.dashboard-stat-card .stat-icon.primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}

.dashboard-stat-card .stat-icon.success {
  background: linear-gradient(135deg, #56ab2f 0%, #a8e6cf 100%);
  color: #ffffff;
}

.dashboard-stat-card .stat-icon.warning {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: #ffffff;
}

.dashboard-stat-card .stat-icon.info {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}