:root {
  --rg-bg: #0b0b0f;
  --rg-bg-soft: #12131a;
  --rg-panel: #171923;
  --rg-panel-2: #1d2230;
  --rg-border: rgba(255, 77, 77, 0.18);
  --rg-red: #ff3b3b;
  --rg-red-2: #d90429;
  --rg-red-3: #ff6b6b;
  --rg-text: #f3f4f6;
  --rg-muted: #a7adbb;
  --rg-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

body,
body.bg-gradient-primary,
body#page-top {
  background: radial-gradient(circle at top, rgba(217, 4, 41, 0.18), transparent 28%), linear-gradient(180deg, #0b0b0f 0%, #11131a 50%, #09090c 100%) !important;
  color: var(--rg-text);
}

#wrapper,
#content-wrapper,
#content {
  background: transparent !important;
}

.sidebar {
  background: linear-gradient(180deg, #09090c 0%, #141722 60%, #10131c 100%) !important;
  border-right: 1px solid var(--rg-border);
  box-shadow: 6px 0 24px rgba(0,0,0,.25);
}

.sidebar .nav-item .nav-link,
.sidebar .nav-item .nav-link i,
.text-menu-header,
.sidebar-brand-text,
.nav-item2,
.nav-item2 .nav-link2,
.sidebar .sidebar-heading {
  color: #eef2f7 !important;
}

.text-menu-header {
  display: block;
  margin: 12px 14px 6px;
  padding: 10px 12px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #ff8a8a !important;
  background: rgba(255,59,59,.08);
  border: 1px solid rgba(255,59,59,.12);
  border-radius: 10px;
}

.sidebar .nav-item {
  margin: 4px 10px;
}

.sidebar .nav-item .nav-link {
  border-radius: 12px;
  transition: all .18s ease;
  padding: .9rem 1rem;
}

.sidebar .nav-item .nav-link:hover,
.sidebar .nav-item.active .nav-link {
  background: linear-gradient(90deg, rgba(255,59,59,.22), rgba(217,4,41,.12)) !important;
  color: #fff !important;
  transform: translateX(3px);
  box-shadow: 0 8px 22px rgba(217,4,41,.16);
}

.sidebar .nav-item .collapse .collapse-inner,
.sidebar .nav-item .collapsing .collapse-inner {
  background: #161a24 !important;
  border: 1px solid var(--rg-border);
  border-radius: 14px;
  box-shadow: var(--rg-shadow);
}

.sidebar .nav-item .collapse .collapse-inner .collapse-item,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item {
  color: #e7eaf0 !important;
  border-radius: 10px;
}

.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover,
.sidebar .nav-item .collapse .collapse-inner .collapse-item.active {
  background: rgba(255,59,59,.14) !important;
  color: #fff !important;
}

.bg-gradient-header-adm-rev,
.bg-gradient-primary,
.btn-primary,
.badge-danger,
.scroll-to-top {
  background-image: linear-gradient(135deg, var(--rg-red) 0%, var(--rg-red-2) 100%) !important;
  background-color: var(--rg-red-2) !important;
  border: none !important;
}

.btn-primary,
.btn-danger,
.btn-success,
.btn-info,
.btn-secondary {
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgba(217,4,41,.18);
}

.btn-primary:hover,
.btn-danger:hover,
.btn-success:hover,
.btn-info:hover,
.btn-secondary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.topbar {
  background: rgba(18, 19, 26, 0.88) !important;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.04);
  border-radius: 16px;
  margin: 16px 16px 0 !important;
  box-shadow: var(--rg-shadow);
}

.topbar h5,
.topbar .nav-link,
.topbar .badge {
  color: #fff !important;
}

.card,
.shadow,
.card.shadow,
.card.border-left-primary,
.card.border-left-success,
.card.border-left-info,
.card.border-left-warning,
.card.border-left-danger {
  background: linear-gradient(180deg, rgba(24, 28, 39, .98) 0%, rgba(18, 19, 26, .98) 100%) !important;
  border: 1px solid var(--rg-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--rg-shadow) !important;
}

.card-header {
  background: linear-gradient(90deg, rgba(255,59,59,.16), rgba(255,59,59,.04)) !important;
  border-bottom: 1px solid var(--rg-border) !important;
  color: #fff !important;
}

.card-header h6,
.card-header .text-primary,
.text-primary,
a {
  color: #ff7b7b !important;
}

.table,
.table td,
.table th,
.table thead th,
label,
p,
span,
.small,
.text-gray-800,
.text-gray-600,
.text-xs,
.h3,
.h4,
.h5,
.h6 {
  color: #eef2f7 !important;
}

.table {
  background: transparent !important;
}

.table thead th {
  background: rgba(255,59,59,.08);
  border-bottom: 1px solid var(--rg-border) !important;
}

.table td,
.table th {
  border-top: 1px solid rgba(255,255,255,.06) !important;
}

.form-control,
.custom-select,
input,
select,
textarea {
  background: #0f1118 !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.form-control:focus,
.custom-select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: rgba(255,59,59,.5) !important;
  box-shadow: 0 0 0 .2rem rgba(255,59,59,.12) !important;
}

.alert-success {
  background: rgba(40, 167, 69, .16) !important;
  border: 1px solid rgba(40, 167, 69, .35) !important;
  color: #d4f8dc !important;
}

.alert-danger {
  background: rgba(255,59,59,.16) !important;
  border: 1px solid rgba(255,59,59,.35) !important;
  color: #ffdede !important;
}

footer.sticky-footer,
footer.sticky-footer .copyright span,
footer.sticky-footer a {
  background: transparent !important;
  color: #cfd6e4 !important;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--rg-red), #7a0d21);
  border-radius: 999px;
}
::-webkit-scrollbar-track { background: #0d0f14; }

@media (max-width: 768px) {
  .topbar {
    margin: 10px 10px 0 !important;
    border-radius: 14px;
  }
}
