﻿/* Reseller Dashboard Theme - Dark Mode */
:root {
  --ra-bg: #0b0f1a;
  --ra-surface: #121829;
  --ra-text: #e7eaf3;
  --ra-muted: #a0a7bd;
  --ra-primary: #6c5ce7;
  --ra-success: #2ecc71;
  --ra-warning: #f4c542;
  --ra-danger: #e74c3c;
  --ra-border: #1f2743;
}

/* Bootstrap Dark Theme Overrides */
body {
  background-color: var(--ra-bg);
  color: var(--ra-text);
}

/* Navbar customization */
.navbar-dark {
  background-color: var(--ra-surface) !important;
  border-bottom: 1px solid var(--ra-border);
}

.navbar-brand {
  color: var(--ra-primary) !important;
  font-weight: 600;
}

/* Sidebar customization */
.sidebar {
  background-color: var(--ra-surface);
  border-right: 1px solid var(--ra-border);
  min-height: calc(100vh - 56px);
}

.sidebar .nav-link {
  color: var(--ra-muted);
  padding: 0.75rem 1rem;
  border-radius: 0.375rem;
  margin: 0.125rem 0.5rem;
  transition: all 0.2s ease;
}

.sidebar .nav-link:hover {
  background-color: rgba(108, 92, 231, 0.1);
  color: var(--ra-text);
}

.sidebar .nav-link.active {
  background-color: var(--ra-primary);
  color: white;
}

/* Form controls */
.form-control-dark {
  background-color: var(--ra-surface);
  border: 1px solid var(--ra-border);
  color: var(--ra-text);
}

.form-control-dark:focus {
  background-color: var(--ra-surface);
  border-color: var(--ra-primary);
  color: var(--ra-text);
  box-shadow: 0 0 0 0.2rem rgba(108, 92, 231, 0.25);
}

.form-control-dark::placeholder {
  color: var(--ra-muted);
}

/* Cards */
.card-dark {
  background-color: var(--ra-surface);
  border: 1px solid var(--ra-border);
  color: var(--ra-text);
}

/* Tables */
.table-dark {
  --bs-table-bg: var(--ra-surface);
  --bs-table-border-color: var(--ra-border);
  color: var(--ra-text);
}

/* Buttons */
.btn-primary {
  background-color: var(--ra-primary);
  border-color: var(--ra-primary);
}

.btn-primary:hover {
  background-color: #5b4cdb;
  border-color: #5b4cdb;
}

.btn-success {
  background-color: var(--ra-success);
  border-color: var(--ra-success);
}

.btn-warning {
  background-color: var(--ra-warning);
  border-color: var(--ra-warning);
  color: #000;
}

.btn-danger {
  background-color: var(--ra-danger);
  border-color: var(--ra-danger);
}

/* Status badges */
.badge.paid {
  background-color: var(--ra-success);
}

.badge.awaiting_topup {
  background-color: var(--ra-warning);
  color: #000;
}

.badge.fulfilling {
  background-color: #3498db;
}

.badge.fulfilled {
  background-color: var(--ra-success);
}

.badge.failed {
  background-color: var(--ra-danger);
}

/* Dropdowns */
.dropdown-menu {
  background-color: var(--ra-surface);
  border: 1px solid var(--ra-border);
}

.dropdown-item {
  color: var(--ra-text);
}

.dropdown-item:hover {
  background-color: rgba(108, 92, 231, 0.1);
  color: var(--ra-text);
}

/* Modals */
.modal-content {
  background-color: var(--ra-surface);
  border: 1px solid var(--ra-border);
  color: var(--ra-text);
}

.modal-header {
  border-bottom-color: var(--ra-border);
}

.modal-footer {
  border-top-color: var(--ra-border);
}

/* Toasts */
.toast {
  background-color: var(--ra-surface);
  border: 1px solid var(--ra-border);
  color: var(--ra-text);
}

/* Loading skeletons */
.placeholder {
  background-color: var(--ra-border);
}

/* Custom utility classes */
.text-muted-custom {
  color: var(--ra-muted) !important;
}

.bg-surface {
  background-color: var(--ra-surface) !important;
}

.border-custom {
  border-color: var(--ra-border) !important;
}

/* KPI Cards */
.kpi-card {
  background: linear-gradient(135deg, var(--ra-surface) 0%, rgba(108, 92, 231, 0.05) 100%);
  border: 1px solid var(--ra-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  transition: transform 0.2s ease;
}

.kpi-card:hover {
  transform: translateY(-2px);
}

.kpi-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--ra-text);
}

.kpi-label {
  color: var(--ra-muted);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Progress indicators for wizard */
.wizard-progress .nav-link {
  background-color: var(--ra-surface);
  border: 2px solid var(--ra-border);
  color: var(--ra-muted);
}

.wizard-progress .nav-link.active {
  background-color: var(--ra-primary);
  border-color: var(--ra-primary);
  color: white;
}

.wizard-progress .nav-link.completed {
  background-color: var(--ra-success);
  border-color: var(--ra-success);
  color: white;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {
  .sidebar {
    position: fixed;
    top: 56px;
    left: -100%;
    width: 100%;
    height: calc(100vh - 56px);
    z-index: 1000;
    transition: left 0.3s ease;
  }
  
  .sidebar.show {
    left: 0;
  }
}

.logo {
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Giãn khoảng cách giữa length & search */
.dataTables_length {
    margin-left: 1rem;
}

.dataTables_filter {
    margin-right: 1rem;
}

    .dataTables_filter input {
        background-color: #1e1e2f;
        border: 1px solid #444;
        color: #fff;
        border-radius: 6px;
        padding: 4px 8px;
        outline: none;
    }

.dataTables_wrapper .dataTables_length select {
    background-color: #1e1e2f !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0px !important;
}
/**/
/* Phân trang gọn hơn */
/*.dataTables_paginate {
    margin-right: 1rem;
}

    .dataTables_paginate .pagination {
        gap: 4px;*/ /* giảm khoảng cách giữa các trang */
/*}*/
.dataTables_info {
    margin-left: 1rem;
}




