
/* Custom CSS Variables */
:root {
  --bs-body-bg: #0f0f13;
  --bs-body-color: #e5e7eb;
  --bs-primary: #6366f1;
  --bs-primary-rgb: 99, 102, 241;
  --bs-success: #10b981;
  --bs-success-rgb: 16, 185, 129;
  --bs-danger: #ef4444;
  --bs-danger-rgb: 239, 68, 68;
  --bs-warning: #f59e0b;
  --bs-warning-rgb: 245, 158, 11;
  --bs-dark: #1e1e28;
  --bs-dark-rgb: 30, 30, 40;
  --bs-secondary: #6b7280;
  --bs-border-color: rgba(255, 255, 255, 0.1);
}

/* Global styles */
body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Custom button variants */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: #5558e3;
  --bs-btn-hover-border-color: #5558e3;
  --bs-btn-active-bg: #4f52d6;
  --bs-btn-active-border-color: #4f52d6;
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-primary);
}

.btn-outline-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-border-color: rgba(107, 114, 128, 0.3);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: rgba(107, 114, 128, 0.2);
  --bs-btn-hover-border-color: rgba(107, 114, 128, 0.5);
}

/* Form overrides */
.form-control {
  background-color: var(--bs-dark);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

.form-control::placeholder {
  color: var(--bs-secondary);
}

.form-control:disabled {
  background-color: rgba(30, 30, 40, 0.5);
}

.input-group-text {
  background-color: var(--bs-dark);
  border-color: var(--bs-border-color);
}

/* Card overrides */
.card {
  border-color: var(--bs-border-color);
}

/* Text colors */
.text-primary {
  color: var(--bs-primary) !important;
}

.text-success {
  color: var(--bs-success) !important;
}

.text-danger {
  color: var(--bs-danger) !important;
}

.text-warning {
  color: var(--bs-warning) !important;
}

.text-secondary {
  color: var(--bs-secondary) !important;
}

/* Background utilities */
.bg-dark {
  background-color: var(--bs-dark) !important;
}

/* Border utilities */
.border-secondary {
  border-color: var(--bs-border-color) !important;
}

/* Alert overrides */
.alert-danger {
  background-color: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
  color: #fca5a5;
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--bs-dark);
}

::-webkit-scrollbar-thumb {
  background: var(--bs-secondary);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

/* Selection */
::selection {
  background-color: rgba(99, 102, 241, 0.3);
  color: #fff;
}