/* Pixel Play Partner Portal — Custom styles */

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: #0d1117;
}

/* Cards */
.card {
  background-color: #161b22;
  border-color: #30363d !important;
}

.card-header {
  background-color: #1c2128;
  border-color: #30363d !important;
}

.card-footer {
  background-color: #1c2128;
}

/* Navbar */
.navbar {
  background-color: #161b22 !important;
}

/* Tables */
.table-dark {
  --bs-table-bg: #161b22;
  --bs-table-hover-bg: #1c2128;
  --bs-table-border-color: #30363d;
}

.table-secondary {
  --bs-table-bg: #1c2128;
  --bs-table-color: #8b949e;
  --bs-table-border-color: #30363d;
}

/* Form controls in dark theme */
.form-control, .form-select {
  background-color: #1c2128;
  border-color: #30363d;
  color: #e6edf3;
}

.form-control:focus, .form-select:focus {
  background-color: #1c2128;
  border-color: #f0a500;
  color: #e6edf3;
  box-shadow: 0 0 0 0.2rem rgba(240, 165, 0, 0.15);
}

.form-control::placeholder {
  color: #6e7681;
}

.input-group-text {
  background-color: #1c2128;
  border-color: #30363d;
  color: #8b949e;
}

/* Textarea for arcademap editor */
#arcadeEditor {
  min-height: 420px;
  line-height: 1.6;
  tab-size: 2;
}

/* Stat cards */
.card .fs-2, .card .fs-3 {
  line-height: 1.2;
}

/* Arcade status cards */
.arcade-card {
  transition: border-color 0.2s;
}

/* Badge tweaks */
.badge {
  font-weight: 500;
  font-size: 0.75rem;
}

/* Scrollable table on mobile */
.table-responsive {
  border-radius: 0 0 0.375rem 0.375rem;
}

/* Alert overrides */
.alert-danger {
  background-color: rgba(248, 81, 73, 0.1);
  border-color: rgba(248, 81, 73, 0.4);
  color: #f85149;
}

.alert-warning {
  background-color: rgba(210, 153, 34, 0.1);
  border-color: rgba(210, 153, 34, 0.4);
  color: #d29922;
}

.alert-success {
  background-color: rgba(63, 185, 80, 0.1);
  border-color: rgba(63, 185, 80, 0.4);
  color: #3fb950;
}

.alert-info {
  background-color: rgba(88, 166, 255, 0.1);
  border-color: rgba(88, 166, 255, 0.4);
  color: #58a6ff;
}

.alert-secondary {
  background-color: rgba(139, 148, 158, 0.1);
  border-color: rgba(139, 148, 158, 0.3);
  color: #8b949e;
}

/* Pagination */
.page-link {
  background-color: #1c2128;
  border-color: #30363d;
  color: #8b949e;
}

.page-item.active .page-link {
  background-color: #f0a500;
  border-color: #f0a500;
  color: #0d1117;
}

.page-link:hover {
  background-color: #262c36;
  border-color: #30363d;
  color: #e6edf3;
}

/* Modal */
.modal-content {
  background-color: #161b22;
  border-color: #30363d;
}

.modal-header, .modal-footer {
  border-color: #30363d;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
