/* =========================================================
   Babarkat Panel — Modern Theme System
   Black & Green . RTL . Dark/Light . v1.0
   Loaded LAST: overrides ample template + custom.css
   ========================================================= */

/* ---------- Design Tokens ---------- */
:root { color-scheme: dark; }
[data-theme="light"] { color-scheme: light; }

:root,
[data-theme="dark"] {
  --bk-bg:#0a0e13;
  --bk-surface:#111823;
  --bk-surface-2:#151d29;
  --bk-surface-3:#1a2431;
  --bk-elevated:#1c2735;
  --bk-border:#233040;
  --bk-border-soft:#1c2632;
  --bk-text:#e9eff6;
  --bk-text-2:#b7c4d4;
  --bk-text-muted:#8494a8;
  --bk-primary:#22c55e;
  --bk-primary-strong:#16a34a;
  --bk-primary-soft:rgba(34,197,94,.13);
  --bk-primary-text:#4ade80;
  --bk-danger:#ef4444;
  --bk-danger-soft:rgba(239,68,68,.13);
  --bk-danger-text:#fca5a5;
  --bk-warning:#f59e0b;
  --bk-warning-soft:rgba(245,158,11,.13);
  --bk-warning-text:#fbbf24;
  --bk-info:#38bdf8;
  --bk-info-soft:rgba(56,189,248,.13);
  --bk-info-text:#7dd3fc;
  --bk-chrome:#0c1117;
  --bk-chrome-2:#111821;
  --bk-chrome-border:#1d2835;
  --bk-chrome-text:#aebdd0;
  --bk-shadow:0 2px 6px rgba(2,6,12,.35), 0 16px 40px -12px rgba(2,6,12,.55);
  --bk-shadow-sm:0 1px 2px rgba(2,6,12,.40);
  --bk-radius:14px;
  --bk-radius-sm:10px;
}
[data-theme="light"] {
  --bk-bg:#f2f5f8;
  --bk-surface:#ffffff;
  --bk-surface-2:#f6f8fa;
  --bk-surface-3:#f0f3f7;
  --bk-elevated:#ffffff;
  --bk-border:#dde4ec;
  --bk-border-soft:#e9eef4;
  --bk-text:#15202e;
  --bk-text-2:#41536b;
  --bk-text-muted:#6c7d94;
  --bk-primary:#16a34a;
  --bk-primary-strong:#15803d;
  --bk-primary-soft:rgba(22,163,74,.10);
  --bk-primary-text:#15803d;
  --bk-danger:#dc2626;
  --bk-danger-soft:rgba(220,38,38,.10);
  --bk-danger-text:#b91c1c;
  --bk-warning:#d97706;
  --bk-warning-soft:rgba(217,119,6,.10);
  --bk-warning-text:#b45309;
  --bk-info:#0284c7;
  --bk-info-soft:rgba(2,132,199,.10);
  --bk-info-text:#0369a1;
  --bk-chrome:#0c1117;
  --bk-chrome-2:#111821;
  --bk-chrome-border:#1d2835;
  --bk-chrome-text:#aebdd0;
  --bk-shadow:0 1px 3px rgba(16,24,40,.08), 0 10px 30px -12px rgba(16,24,40,.18);
  --bk-shadow-sm:0 1px 2px rgba(16,24,40,.08);
}

/* ---------- Base ---------- */
html, body { height:100%; }
body {
  background:var(--bk-bg) !important;
  color:var(--bk-text) !important;
  font-size:14px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
#main-wrapper { background:var(--bk-bg); }
.page-wrapper { background:var(--bk-bg) !important; }
.footer {
  background:transparent !important; color:var(--bk-text-muted) !important;
  border-top:1px solid var(--bk-border-soft); padding:16px 4px !important;
  font-size:12.5px;
}
.footer a { color:var(--bk-primary-text) !important; font-weight:700; }
.footer .pull-right { color:var(--bk-text-muted); }
h1,h2,h3,h4,h5,h6 { color:var(--bk-text); font-weight:700; }
p { color:var(--bk-text-2); }
a { color:var(--bk-primary-strong); text-decoration:none; transition:color .15s; }
a:hover { color:var(--bk-primary); text-decoration:none; }
::selection { background:var(--bk-primary-soft); color:var(--bk-text); }
:focus-visible { outline:2px solid var(--bk-primary); outline-offset:2px; }

/* Scrollbars */
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb {
  background:#2a3746; border-radius:10px;
  border:2px solid var(--bk-bg);
}
::-webkit-scrollbar-thumb:hover { background:var(--bk-primary-strong); }

/* Text helpers (dark-mode safe) */
.text-black, .text-dark { color:var(--bk-text) !important; }
.text-white { color:#fff !important; }
.text-muted { color:var(--bk-text-muted) !important; }
.text-secondary { color:var(--bk-text-muted) !important; }
.text-success { color:var(--bk-primary-text) !important; }
.text-danger { color:var(--bk-danger-text) !important; }
.text-warning { color:var(--bk-warning-text) !important; }
.text-info { color:var(--bk-info-text) !important; }
.text-primary { color:var(--bk-primary-text) !important; }
.text-themecolor { color:var(--bk-primary-strong) !important; font-weight:700; }
code { color:var(--bk-info-text); background:var(--bk-surface-2); padding:1px 5px; border-radius:5px; }

/* ---------- Preloader ---------- */
.preloader { background:var(--bk-bg) !important; z-index:9999; }
.loader__figure {
  width:48px; height:48px; border-radius:50%;
  border:3px solid var(--bk-chrome-border);
  border-top-color:var(--bk-primary);
  animation:bk-spin .8s linear infinite;
}
.loader__label { color:var(--bk-text-muted) !important; font-weight:700; letter-spacing:.5px; }
@keyframes bk-spin { to { transform:rotate(360deg); } }

/* themify icons are not loaded in this build -> alias to FontAwesome */
.nav-toggler i.ti-close::before, i.ti-close::before { content:"\f00d"; font-family:FontAwesome !important; font-style:normal; }
.nav-toggler i.ti-menu::before, i.ti-menu::before { content:"\f0c9"; font-family:FontAwesome !important; font-style:normal; }

/* =========================================================
   TOPBAR (always dark chrome)
   ========================================================= */
.topbar, .skin-default .topbar, .skin-green .topbar, .skin-blue .topbar,
.skin-red .topbar, .skin-purple .topbar, .skin-megna .topbar,
.skin-default-dark .topbar, .skin-green-dark .topbar, .skin-blue-dark .topbar,
.skin-red-dark .topbar, .skin-purple-dark .topbar, .skin-megna-dark .topbar {
  background:var(--bk-chrome) !important;
  border-bottom:1px solid var(--bk-chrome-border) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.03), 0 4px 18px rgba(0,0,0,.35);
}
.topbar .top-navbar {
  min-height:64px !important;
  /* template gives body a 10px right gutter and the fixed topbar starts at -10px;
     pad the left end so nothing clips, keep right flush with the sidebar */
  padding:0 0 0 10px !important;
}
.topbar .navbar-collapse { background:transparent !important; padding:0 !important; align-items:center !important; }
.topbar .top-navbar .navbar-nav { align-items:center !important; }
.topbar .navbar-nav .nav-item { display:flex; align-items:center; }
.topbar .top-navbar .navbar-header {
  background:var(--bk-chrome) !important;
  width:220px; min-width:220px;
  padding:0 14px !important;
  border-left:1px solid var(--bk-chrome-border);
  display:flex; align-items:center;
}
.mini-sidebar .topbar .top-navbar .navbar-header { width:70px; min-width:70px; padding:0 !important; justify-content:center; }
.topbar .top-navbar .navbar-brand {
  display:flex; align-items:center; gap:10px; height:64px;
}
.topbar .top-navbar .navbar-brand b { line-height:1; display:flex; align-items:center; }
.topbar .top-navbar .navbar-brand img { width:36px !important; height:36px; border-radius:9px; padding:2px; background:#fff; }
.topbar .top-navbar .navbar-brand span p {
  color:#fff !important; font-weight:700 !important; font-size:15px !important;
  margin:0 !important; line-height:1.3; white-space:nowrap;
}
.topbar .navbar-nav .nav-link {
  color:#c9d6e6 !important; font-size:17px; line-height:64px;
  padding:0 11px !important; border-radius:10px; transition:.15s;
}
.topbar .navbar-nav .nav-link:hover { color:#fff !important; background:rgba(255,255,255,.07); }
.topbar .navbar-nav > .nav-item > span { line-height:64px; }

/* Currency deposit chips */
.deposit-header {
  display:inline-flex !important; align-items:center; gap:5px;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:#d7e2ef !important;
  border-radius:999px !important;
  padding:3px 11px !important;
  font-size:11.5px !important; font-weight:600;
  width:auto !important; margin:0 3px !important;
  direction:ltr; white-space:nowrap;
}
.deposit-header b { color:#4ade80; font-weight:800; }
.navbar-nav .deposit-header { line-height:1.4 !important; }

/* Theme toggle */
.theme-toggle {
  width:38px; height:38px; margin:0 4px;
  border-radius:11px; border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07); color:#e7eef8;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:16px; cursor:pointer; transition:.18s; line-height:1;
}
.theme-toggle:hover { background:var(--bk-primary-soft); border-color:var(--bk-primary); color:#4ade80; }
.topbar .top-navbar .navbar-nav .theme-toggle { line-height:1 !important; }

/* ---------- Topbar responsive ---------- */
@media (max-width:991px) {
  .topbar .top-navbar { flex-wrap:nowrap; }
  .topbar .navbar-collapse { display:flex !important; align-items:center; }
  .deposit-header { font-size:10.5px !important; padding:2px 8px !important; }
}
@media (max-width:767px) {
  .deposit-header span.dh-flag { display:none; }
  .topbar .top-navbar .navbar-header { width:auto; min-width:0; }
}

/* =========================================================
   SIDEBAR (always dark chrome)
   ========================================================= */
.left-sidebar {
  background:var(--bk-chrome) !important;
  box-shadow:none !important;
  border-left:1px solid var(--bk-chrome-border);
  padding-top:64px !important;
}
.scroll-sidebar { height:calc(100% - 64px) !important; }
.user-profile { margin-top:14px; padding:0 10px; }
.user-profile .user-pro-body img {
  width:46px !important; height:46px; border-radius:50%;
  border:2px solid var(--bk-primary); padding:2px; background:#0e1620;
  box-shadow:0 0 0 3px rgba(34,197,94,.15);
}
.user-profile .dropdown { text-align:center; }
.user-profile .u-dropdown {
  display:block; color:#c9d6e6 !important; font-weight:700; font-size:13px;
  padding:8px 4px 4px;
}
.user-profile .dropdown-menu {
  background:var(--bk-elevated); border:1px solid var(--bk-border);
  border-radius:12px; box-shadow:var(--bk-shadow); padding:6px;
  top:58px !important; right:6px !important; left:auto !important;
  transform:none !important; margin:0 !important; width:190px;
}
.user-profile .dropdown-menu .dropdown-item {
  color:var(--bk-text-2) !important; border-radius:8px; padding:8px 10px;
  font-size:13px; display:flex; align-items:center; gap:8px;
}
.user-profile .dropdown-menu .dropdown-item:hover,
.user-profile .dropdown-menu .dropdown-item:focus {
  background:var(--bk-primary-soft) !important; color:var(--bk-primary-text) !important;
}
.user-profile .dropdown-menu .dropdown-item i { width:16px; text-align:center; }
.user-profile .dropdown-divider { border-color:var(--bk-border); margin:5px 0; }

.sidebar-nav { padding:6px 10px 24px !important; }
.sidebar-nav ul li { list-style:none; }
.sidebar-nav ul li a,
.sidebar-nav ul li ul li a {
  padding:9px 12px !important;
  border-radius:10px !important;
  color:var(--bk-chrome-text) !important;
  font-weight:500; font-size:13.5px;
  display:flex !important; align-items:center; gap:10px;
  margin:2px 0; transition:background .16s, color .16s; position:relative;
}
.sidebar-nav ul li ul { padding-right:18px !important; }
.sidebar-nav ul li a i {
  width:20px; text-align:center; font-size:15px; flex-shrink:0;
  color:inherit;
}
.sidebar-nav ul li a:hover,
.sidebar-nav ul li a:hover i,
.sidebar-nav ul li a.active,
.sidebar-nav ul li a.active i,
.sidebar-nav > ul > li.active > a,
.sidebar-nav > ul > li.active > a i {
  background:rgba(34,197,94,.12) !important;
  color:#4ade80 !important;
  border-left:none !important;
}
.sidebar-nav > ul > li.active > a { box-shadow:inset -3px 0 0 var(--bk-primary); }
.sidebar-nav .has-arrow::after { right:auto; left:12px; color:var(--bk-chrome-text); }
.sidebar-nav .has-arrow[aria-expanded="true"]::after,
.sidebar-nav .has-arrow.active::after { color:var(--bk-primary); }

/* Section captions */
.nav-small-cap {
  font-size:10px !important; letter-spacing:1.3px; font-weight:800;
  color:#5c6d82 !important; padding:16px 10px 6px !important;
  text-transform:uppercase; cursor:default;
}
.mini-sidebar .sidebar-nav .nav-small-cap { display:none; }

/* mini-sidebar icon-centering */
.mini-sidebar .sidebar-nav ul li a { justify-content:center; padding:10px 0 !important; }
.mini-sidebar .sidebar-nav #sidebarnav > li:hover > a {
  width:220px; background:var(--bk-chrome-2) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.45); border-radius:10px;
  padding:9px 12px !important; justify-content:flex-start;
  color:#4ade80 !important;
}
.mini-sidebar .sidebar-nav #sidebarnav > li:hover > a .hide-menu { display:inline !important; }

/* =========================================================
   PAGE TITLES / BREADCRUMB
   ========================================================= */
.page-titles {
  background:transparent !important; box-shadow:none !important;
  border-bottom:1px solid var(--bk-border-soft);
  border-radius:0 !important; padding:16px 0 12px !important; margin:0 0 6px;
  align-items:center;
}
.page-titles h4.text-themecolor,
.page-titles h4 {
  font-size:19px; font-weight:800; color:var(--bk-text) !important;
  display:flex; align-items:center; gap:10px; margin:0;
}
.page-titles h4.text-themecolor::before,
.page-titles h4::before {
  content:""; width:4px; height:20px; border-radius:3px;
  background:linear-gradient(var(--bk-primary), var(--bk-primary-strong));
  flex-shrink:0;
}
.breadcrumb {
  background:transparent !important; padding:0 !important; margin:0 !important;
  float:none !important; font-size:12.5px;
}
.breadcrumb .breadcrumb-item { color:var(--bk-text-muted); }
.breadcrumb .breadcrumb-item a { color:var(--bk-text-muted); }
.breadcrumb .breadcrumb-item.active { color:var(--bk-primary-text) !important; font-weight:700; }
.breadcrumb-item + .breadcrumb-item::before { color:var(--bk-text-muted); }

/* users-value wallet strip */
.users-value { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 4px; }

/* =========================================================
   CARDS / WIDGETS
   ========================================================= */
.card {
  background:var(--bk-surface) !important;
  border:1px solid var(--bk-border) !important;
  border-radius:var(--bk-radius) !important;
  box-shadow:var(--bk-shadow-sm);
  overflow:hidden;
}
.card-header {
  background:transparent !important;
  border-bottom:1px solid var(--bk-border) !important;
  border-radius:0 !important;
  padding:13px 16px !important;
  position:relative;
}
.card-header.bg-primary,
.card-header.bg-info,
.card-header.bg-success,
.card-header.bg-danger,
.card-header.bg-warning {
  background:var(--bk-primary-soft) !important;
  color:var(--bk-primary-text) !important;
  border-bottom:1px solid var(--bk-border) !important;
}
.card-header h3, .card-header h4, .card-header h5 {
  margin:0; font-weight:700; font-size:15px; color:var(--bk-text) !important;
}
.card-header h5.text-black, .card-header h4.text-black { color:var(--bk-text) !important; }
.card-header .left-icon {
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; gap:6px;
}
.card-body { padding:16px !important; color:var(--bk-text-2); }
.card-footer { background:var(--bk-surface-2) !important; border-top:1px solid var(--bk-border) !important; }

/* Boxes (dashboard widgets) */
.box {
  background:var(--bk-surface) !important; border:1px solid var(--bk-border) !important;
  border-radius:var(--bk-radius) !important; box-shadow:var(--bk-shadow-sm);
  padding:12px;
}
.box-widget { border:none; }
.widget-user-2 .widget-user-header {
  padding:14px 16px !important; border-radius:var(--bk-radius) var(--bk-radius) 0 0 !important;
}
.widget-user-2 .widget-user-header.app-statistic {
  background:linear-gradient(135deg,#101820, #0e141b) !important;
  border:1px solid var(--bk-border) !important; border-bottom:3px solid var(--bk-primary) !important;
  color:#fff !important;
}
.widget-user-2 .widget-user-image { float:right; margin-left:12px; }
.widget-user-2 .widget-user-image > img {
  width:52px !important; height:52px; border-radius:12px; padding:3px; background:#0d141c;
  border:1px solid var(--bk-primary);
}
.widget-user-2 .widget-user-username {
  color:#fff !important; font-size:17px !important; font-weight:800 !important;
  margin:0 0 2px !important;
}
.widget-user-2 .widget-user-desc { color:var(--bk-primary-text) !important; font-size:12.5px !important; margin:0 !important; }
.box-footer {
  background:var(--bk-surface) !important; border-top:1px solid var(--bk-border-soft) !important;
  padding:12px !important;
}

/* Stat list rows (گزارش widget) */
.box ul.nav-stacked { display:block; }
.box .nav-stacked > li { margin:6px 0; }
.nav-stacked > li > a {
  border-radius:10px !important; border:1px solid var(--bk-border) !important;
  color:var(--bk-text-2) !important; background:var(--bk-surface-2) !important;
  padding:10px 12px !important; display:block; font-weight:600; font-size:13px;
  transition:.15s;
}
.nav-stacked > li > a:hover { border-color:var(--bk-primary) !important; color:var(--bk-primary-text) !important; }
.nav-stacked > li > a .badge { float:left; margin-top:1px; }
.info-box { background:var(--bk-surface) !important; border:1px solid var(--bk-border) !important; border-radius:var(--bk-radius); box-shadow:none !important; }

/* =========================================================
   TABLES
   ========================================================= */
.table { color:var(--bk-text-2) !important; margin:0 !important; }
.table thead th {
  background:var(--bk-surface-2) !important;
  color:var(--bk-text-muted) !important;
  font-size:12px; font-weight:800; letter-spacing:.3px;
  border-bottom:1px solid var(--bk-border) !important;
  border-top:none !important; vertical-align:middle !important;
  padding:11px 12px !important; white-space:nowrap;
}
.table tbody td {
  color:var(--bk-text) !important; vertical-align:middle !important;
  border-bottom:1px solid var(--bk-border-soft) !important;
  padding:10px 12px !important;
}
.table tbody tr:last-child td { border-bottom:none !important; }
.table-striped tbody tr:nth-of-type(odd) { background:color-mix(in srgb, var(--bk-surface-2) 60%, transparent); }
.table-hover tbody tr:hover { background:var(--bk-primary-soft) !important; }
.table-bordered th, .table-bordered td { border:1px solid var(--bk-border-soft) !important; }
.table-responsive { border-radius:0; }
table.dataTable { border-collapse:separate !important; border-spacing:0; width:100% !important; }
.table td .btn-sm, .table td a.btn { white-space:nowrap; }

/* DataTables chrome */
.dataTables_wrapper { padding:12px 2px 4px; color:var(--bk-text-muted) !important; font-size:12.5px; }
.dataTables_wrapper .dataTables_filter { float:left !important; margin-bottom:8px; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  background:var(--bk-surface-3) !important; color:var(--bk-text) !important;
  border:1px solid var(--bk-border) !important; border-radius:9px !important;
  padding:5px 10px !important; margin-right:6px; font-size:13px;
}
.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
  border-color:var(--bk-primary) !important; box-shadow:0 0 0 3px var(--bk-primary-soft) !important; outline:none;
}
.dataTables_wrapper .dataTables_length { margin-bottom:8px; }
.dataTables_wrapper .dataTables_info { color:var(--bk-text-muted) !important; padding-top:0 !important; }
.dataTables_wrapper .dataTables_paginate { float:left !important; padding-top:0 !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius:8px !important; padding:4px 10px !important; margin:0 2px !important;
  color:var(--bk-text-2) !important; border:1px solid transparent !important;
  background:transparent !important; font-size:12.5px; font-weight:700;
  display:inline-flex !important; align-items:center; justify-content:center;
  min-width:30px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background:var(--bk-surface-2) !important; border-color:var(--bk-border) !important;
  color:var(--bk-text) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background:var(--bk-primary-strong) !important; border-color:var(--bk-primary-strong) !important;
  color:#fff !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled { opacity:.35; }
.dataTables_processing {
  background:rgba(10,14,19,.85) !important; color:var(--bk-primary-text) !important;
  border:none !important; border-radius:10px; z-index:5;
}
.dt-buttons { display:flex; gap:6px; flex-wrap:wrap; }
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after { color:var(--bk-primary) !important; }

/* =========================================================
   FORMS
   ========================================================= */
.form-group { margin-bottom:14px; }
.col-form-label {
  color:var(--bk-text-2) !important; font-weight:700; font-size:12.5px;
  padding-bottom:5px !important; text-align:right;
}
.form-control, .custom-select, select.form-control {
  background:var(--bk-surface-3) !important;
  border:1px solid var(--bk-border) !important;
  color:var(--bk-text) !important;
  border-radius:var(--bk-radius-sm) !important;
  padding:9px 12px !important; font-size:13.5px; transition:.15s;
  box-shadow:none !important;
}
.form-control::placeholder { color:var(--bk-text-muted); opacity:.8; }
.form-control:focus, .custom-select:focus, select.form-control:focus {
  background:var(--bk-surface) !important;
  border-color:var(--bk-primary) !important;
  box-shadow:0 0 0 3px var(--bk-primary-soft) !important;
  color:var(--bk-text) !important;
}
.form-control:disabled, .form-control[readonly] { opacity:.55; cursor:not-allowed; }
.input-group { display:flex !important; }
.input-group-prepend, .input-group-append { display:flex; }
.input-group-text {
  background:var(--bk-surface-3) !important; border:1px solid var(--bk-border) !important;
  color:var(--bk-text-muted) !important; border-radius:var(--bk-radius-sm) !important;
  width:auto !important; min-width:40px; justify-content:center;
}
.input-group .form-control { border-radius:var(--bk-radius-sm) !important; }
.input-design {
  background:var(--bk-surface-3) !important; border:1px solid var(--bk-border) !important;
  border-bottom-width:2px !important; color:var(--bk-text) !important;
  border-radius:var(--bk-radius-sm) !important; height:40px;
}
.input-design:focus {
  border:2px solid var(--bk-primary) !important;
  box-shadow:0 0 0 3px var(--bk-primary-soft) !important;
}
fieldset input { direction:ltr; font-family:monospace; }
.form-text { color:var(--bk-text-muted) !important; }

/* Selectize */
.selectize-control { width:100%; }
.selectize-input {
  background:var(--bk-surface-3) !important;
  border:1px solid var(--bk-border) !important;
  border-radius:var(--bk-radius-sm) !important;
  color:var(--bk-text) !important; padding:7px 10px !important;
  box-shadow:none !important; min-height:40px; transition:.15s;
}
.selectize-input.focus, .selectize-input.focus.input-active {
  border-color:var(--bk-primary) !important;
  box-shadow:0 0 0 3px var(--bk-primary-soft) !important;
  background:var(--bk-surface) !important;
}
.selectize-input.full { background:var(--bk-surface) !important; height:auto !important; }
.selectize-input input { color:var(--bk-text) !important; font-family:inherit !important; }
.selectize-input::after { border-top-color:var(--bk-text-muted) !important; }
.selectize-dropdown {
  background:var(--bk-elevated) !important;
  border:1px solid var(--bk-border) !important;
  border-radius:var(--bk-radius-sm) !important;
  box-shadow:var(--bk-shadow) !important; z-index:9999;
}
.selectize-dropdown-content { max-height:220px; }
.selectize-dropdown-content .option { color:var(--bk-text-2) !important; padding:7px 10px !important; }
.selectize-dropdown-content .option.active,
.selectize-dropdown-content .option:hover {
  background:var(--bk-primary-soft) !important; color:var(--bk-primary-text) !important;
}
.selectize-dropdown .optgroup-header { color:var(--bk-text-muted) !important; background:var(--bk-surface-2) !important; }
.selectize-dropdown-content .create { color:var(--bk-primary-text) !important; }

/* checkbox / radio */
.custom-control-label { color:var(--bk-text-2) !important; }
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
  background:var(--bk-primary-strong) !important; border-color:var(--bk-primary-strong) !important;
}
.custom-control-input:focus ~ .custom-control-label::before { box-shadow:0 0 0 3px var(--bk-primary-soft) !important; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn {
  border-radius:var(--bk-radius-sm) !important; padding:8px 16px;
  font-weight:700; font-size:13px; transition:.15s; border:1px solid transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
}
.btn i { font-size:13px; }
.btn-sm { padding:5px 11px !important; font-size:12px; border-radius:8px !important; }
.btn-lg { padding:11px 22px; font-size:15px; }
.btn-block { width:100%; }
.btn-success, .bttn.btn-success {
  background:linear-gradient(180deg,#15a34a,#0e7a36) !important;
  border-color:#0b6b2e !important; color:#fff !important;
  box-shadow:0 1px 2px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-success:hover { background:linear-gradient(180deg,#128a3c,#0a5e2b) !important; transform:translateY(-1px); }
.btn-primary {
  background:linear-gradient(180deg,#15a34a,#0e7a36) !important;
  border-color:#0b6b2e !important; color:#fff !important;
  box-shadow:0 1px 2px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-primary:hover { background:linear-gradient(180deg,#128a3c,#0a5e2b) !important; transform:translateY(-1px); }
.btn-warning, .btn.btn-warning.toggle { background:#b45309 !important; border-color:#92400e !important; color:#fff !important; }
.btn-warning:hover { background:#92400e !important; transform:translateY(-1px); }
.btn-info { background:#0284c7 !important; border-color:#0369a1 !important; color:#fff !important; }
.btn-info:hover { background:#0369a1 !important; transform:translateY(-1px); }
/* در تم لایت هم همان گرادیان تیره برای کنتراست کافی متن سفید */
[data-theme="light"] .btn-success,
[data-theme="light"] .bttn.btn-success,
[data-theme="light"] .btn-primary {
  background:linear-gradient(180deg,#16a34a,#0e7a36) !important;
  border-color:#0b6b2e !important; color:#fff !important;
  box-shadow:0 1px 2px rgba(16,24,40,.25), inset 0 1px 0 rgba(255,255,255,.16);
}
[data-theme="light"] .btn-success:hover { background:linear-gradient(180deg,#128a3c,#0a5e2b) !important; }
[data-theme="light"] .btn-primary:hover { background:linear-gradient(180deg,#128a3c,#0a5e2b) !important; }
.btn-danger { background:var(--bk-danger) !important; border-color:var(--bk-danger) !important; color:#fff !important; }
.btn-danger:hover { filter:brightness(1.1); transform:translateY(-1px); }
.btn-warning { background:var(--bk-warning) !important; border-color:var(--bk-warning) !important; color:#fff !important; }
.btn-warning:hover { filter:brightness(1.1); transform:translateY(-1px); }
.btn-info { background:var(--bk-info) !important; border-color:var(--bk-info) !important; color:#06202e !important; }
.btn-info:hover { filter:brightness(1.1); transform:translateY(-1px); }
.btn-secondary { background:var(--bk-surface-2) !important; border-color:var(--bk-border) !important; color:var(--bk-text-2) !important; }
.btn-secondary:hover { background:var(--bk-surface-3) !important; color:var(--bk-text) !important; }
.btn-light, .btn-default {
  background:var(--bk-surface-2) !important; border:1px solid var(--bk-border) !important;
  color:var(--bk-text-2) !important;
}
.btn-light:hover, .btn-default:hover { background:var(--bk-surface-3) !important; color:var(--bk-text) !important; }
.btn-dark { background:#1c2735 !important; border-color:var(--bk-border) !important; color:var(--bk-text) !important; }
.btn-link { color:var(--bk-primary-text) !important; text-decoration:none !important; }
.btn-link:hover { color:var(--bk-primary) !important; }
.btn-outline-primary { border-color:var(--bk-primary-strong) !important; color:var(--bk-primary-text) !important; }
.btn-outline-primary:hover { background:var(--bk-primary-strong) !important; color:#fff !important; }
.btn:active { transform:translateY(0); }
a.bttn { color:#fff !important; }
.btn.toggle { box-shadow:none; }

/* =========================================================
   BADGES & LABELS
   ========================================================= */
.badge {
  border-radius:999px !important; padding:.4em .8em !important;
  font-size:11px !important; font-weight:800; letter-spacing:.2px;
  display:inline-flex; align-items:center; gap:4px; line-height:1.5;
}
span.badge { font-size:100%; margin:2px 4px; }
.badge-primary { background:var(--bk-primary-strong) !important; color:#fff !important; }
.badge-success, .badge.bg-green { background:var(--bk-primary-strong) !important; color:#fff !important; }
.badge-danger { background:var(--bk-danger) !important; color:#fff !important; }
.badge-warning { background:var(--bk-warning) !important; color:#fff !important; }
.badge-info { background:var(--bk-info) !important; color:#06202e !important; }
.badge-dark, .badge.bg-dark { background:#243040 !important; color:#fff !important; }
.badge-light { background:var(--bk-surface-2) !important; color:var(--bk-text-2) !important; }
.bg-primary { background:var(--bk-primary-strong) !important; }
.bg-green, .bg-success { background:var(--bk-primary-strong) !important; }
.bg-red, .bg-danger { background:var(--bk-danger) !important; }
.bg-yellow, .bg-warning { background:var(--bk-warning) !important; }
.bg-aqua, .bg-info, .bg-light-blue { background:#0284c7 !important; }
.bg-blue { background:#2563eb !important; }
.bg-navy { background:#0b1b33 !important; }
.bg-dark, .bg-black { background:#161e29 !important; }
.bg-gray { background:#334155 !important; color:#fff !important; }
.bg-gray-light { background:var(--bk-surface-2) !important; }
.bg-default { background:var(--bk-primary) !important; }
.bg-my-box, .bg-2b2b2b { background:var(--bk-surface) !important; }

/* row highlight tints */
.type-1-bg  { background:rgba(34,197,94,.12)  !important; }
.type-2-bg  { background:rgba(56,189,248,.12) !important; }
.type-3-bg  { background:rgba(245,158,11,.12) !important; }
.type-4-bg  { background:rgba(167,139,250,.12)!important; }
.type-5-bg  { background:rgba(239,68,68,.12)  !important; }
.type-6-bg  { background:rgba(34,197,94,.10)  !important; }
.type-7-bg  { background:rgba(56,189,248,.10) !important; }
.type-8-bg  { background:rgba(245,158,11,.10) !important; }
.type-9-bg  { background:rgba(167,139,250,.10)!important; }
.type-10-bg { background:rgba(239,68,68,.10)  !important; }

/* ---------- Alerts ---------- */
.alert { border-radius:var(--bk-radius-sm); border:1px solid var(--bk-border) !important; }
.alert-primary, .alert-success { background:var(--bk-primary-soft) !important; color:var(--bk-primary-text) !important; }
.alert-danger, .alert-error { background:var(--bk-danger-soft) !important; color:var(--bk-danger-text) !important; }
.alert-warning { background:var(--bk-warning-soft) !important; color:var(--bk-warning-text) !important; }
.alert-info { background:var(--bk-info-soft) !important; color:var(--bk-info-text) !important; }
.alert-dark { background:var(--bk-surface-2) !important; color:var(--bk-text) !important; }
.alert-secondary { background:var(--bk-surface-2) !important; color:var(--bk-text-2) !important; }

/* =========================================================
   MODALS
   ========================================================= */
.modal-content {
  background:var(--bk-surface) !important;
  border:1px solid var(--bk-border) !important;
  border-radius:var(--bk-radius) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.55) !important;
}
.modal-header {
  background:transparent !important; border-bottom:1px solid var(--bk-border) !important;
  padding:15px 18px !important; border-radius:var(--bk-radius) var(--bk-radius) 0 0 !important;
}
.modal-header .close, .modal-header button.close {
  color:var(--bk-text-muted) !important; text-shadow:none !important; opacity:.8;
  margin:-1rem auto -1rem -1rem !important; padding:.5rem .75rem !important;
  border-radius:8px;
}
.modal-header .close:hover { opacity:1; color:var(--bk-danger-text) !important; background:var(--bk-danger-soft) !important; }
.modal-title { color:var(--bk-text) !important; font-weight:800 !important; font-size:16px !important; }
.modal-body { border:none !important; padding:18px !important; color:var(--bk-text-2); }
.modal-body .form-control { background:var(--bk-surface-3) !important; }
.modal-footer {
  border-top:1px solid var(--bk-border) !important;
  padding:13px 18px !important; background:var(--bk-surface-2);
  border-radius:0 0 var(--bk-radius) var(--bk-radius) !important;
}
.modal-body p, .modal-body li { color:var(--bk-text-2); }
.modal-body .modal-body { padding:0 !important; border:none !important; }

/* Full-page loader */
.modal-loading {
  position:fixed !important; inset:0; width:100% !important; height:100% !important;
  background:rgba(6,9,13,.72) !important; backdrop-filter:blur(3px);
  z-index:10060 !important; display:flex; align-items:center; justify-content:center;
}
.modal-loading .modal-dialog { position:static; margin:0; max-width:none; }
.modal-loading .fa-spinner { color:var(--bk-primary); font-size:34px; }

/* =========================================================
   ALERTIFY toasts
   ========================================================= */
.ajs-message {
  background:var(--bk-elevated) !important;
  border:1px solid var(--bk-border) !important;
  border-radius:12px !important;
  box-shadow:var(--bk-shadow) !important;
  color:var(--bk-text) !important;
  font-family:inherit !important; font-weight:600;
}
.ajs-message.ajs-success { border-color:rgba(34,197,94,.5) !important; }
.ajs-message.ajs-error { border-color:rgba(239,68,68,.5) !important; }
.ajs-message.ajs-warning { border-color:rgba(245,158,11,.5) !important; }
.ajs-ok, .ajs-ok:hover { background:var(--bk-primary-strong) !important; }

/* =========================================================
   DROPDOWNS / POPOVERS / TOOLTIPS
   ========================================================= */
.dropdown-menu {
  background:var(--bk-elevated) !important; border:1px solid var(--bk-border) !important;
  border-radius:12px !important; box-shadow:var(--bk-shadow) !important;
  padding:6px !important; font-size:13px;
}
.dropdown-item { color:var(--bk-text-2) !important; border-radius:8px; padding:7px 10px; }
.dropdown-item:hover, .dropdown-item:focus { background:var(--bk-primary-soft) !important; color:var(--bk-primary-text) !important; }
.dropdown-divider { border-color:var(--bk-border) !important; margin:5px 0 !important; }
.dropdown-item.active, .dropdown-item:active { background:var(--bk-primary-soft) !important; color:var(--bk-primary-text) !important; }
.popover { background:var(--bk-elevated) !important; border:1px solid var(--bk-border) !important; border-radius:12px !important; box-shadow:var(--bk-shadow) !important; }
.popover-header { background:transparent !important; border-bottom:1px solid var(--bk-border) !important; color:var(--bk-text) !important; }
.popover-body { color:var(--bk-text-2) !important; }
.tooltip.show { opacity:1; }
.tooltip-inner { background:var(--bk-elevated) !important; color:var(--bk-text) !important; border:1px solid var(--bk-border) !important; border-radius:8px !important; box-shadow:var(--bk-shadow-sm) !important; }
.question-mark { color:var(--bk-primary) !important; cursor:help; }

/* =========================================================
   MISC UTILITIES
   ========================================================= */
.hidden { display:none !important; }
.hidden-text { font-family:'text-security-disc'; -webkit-text-security:disc; }
.fl-l { float:left; }
.inline { display:inline; }
.pad0 { padding:0 !important; }
.m-b-1 { margin-bottom:6px; }
.hr { border-color:var(--bk-border); }
select.selectpicker, .order_by, .type_by {
  border-radius:10px; min-width:125px; padding:5px 8px;
  background:var(--bk-surface-3) !important; color:var(--bk-text) !important;
  border:1px solid var(--bk-border) !important;
}
select.selectpicker option, .order_by option, .type_by option { background:var(--bk-elevated) !important; color:var(--bk-text) !important; }
.excel-btn { position:static; }
.dt-buttons .btn { margin:0 2px 4px 0; }
.text-success { color:var(--bk-primary-text) !important; }

/* Dashboard date filter row */
.charts .row > .col-md-3 > label,
.col-form-label { font-weight:700; }

/* Chart canvas containers */
.charts { margin-top:4px; }
.charts canvas { max-width:100%; }

/* ---------- Dashboard building blocks ---------- */
.bk-stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(185px,1fr)); gap:10px; }
.bk-stat {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:var(--bk-surface-2); border:1px solid var(--bk-border-soft);
  border-radius:12px; padding:10px 12px; font-size:13px; font-weight:600;
  color:var(--bk-text-2); transition:.15s;
}
.bk-stat:hover { border-color:var(--bk-primary); }
.bk-stat .badge { font-size:13px !important; margin:0 !important; }
.bk-stat small { display:block; font-size:10.5px; font-weight:700; color:var(--bk-text-muted); letter-spacing:.3px; margin-bottom:2px; }

.bk-chart-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
.bk-chart-card {
  background:var(--bk-surface); border:1px solid var(--bk-border);
  border-radius:var(--bk-radius); padding:14px; text-align:center;
}
.bk-chart-card h5 { font-size:13px; color:var(--bk-text-2); margin:0 0 10px; font-weight:700; }

.bk-head-row  { background:var(--bk-info-soft)    !important; color:var(--bk-info-text)    !important; }
.bk-total-row { background:var(--bk-primary-soft) !important; color:var(--bk-primary-text) !important; }
.bk-warn-row  { background:var(--bk-warning-soft) !important; color:var(--bk-warning-text) !important; }
.bk-sub-row   { background:var(--bk-surface-2)    !important; color:var(--bk-primary-text) !important; }
.table td[colspan] { font-weight:700; }

.bk-mini-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.bk-mini-card {
  background:var(--bk-surface-2); border:1px solid var(--bk-border-soft);
  border-radius:12px; padding:12px; text-align:center;
}
.bk-mini-card h6 { font-size:12.5px; color:var(--bk-text-muted); margin:0 0 4px; font-weight:700; }
.bk-mini-card .v { font-size:16px; font-weight:800; color:var(--bk-primary-text); }

@media (max-width:767px) {
  .bk-stat-grid { grid-template-columns:1fr 1fr; }
  .bk-chart-grid { grid-template-columns:1fr; }
}

/* =========================================================
   LOGIN / REGISTER
   ========================================================= */
.login-page, .register-page {
  background:var(--bk-bg) !important;
  background-image:
    radial-gradient(900px circle at 85% 12%, rgba(34,197,94,.16), transparent 55%),
    radial-gradient(700px circle at 8% 88%, rgba(34,197,94,.10), transparent 50%) !important;
  min-height:100vh; position:relative;
}
.login-page::before, .register-page::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:44px 44px;
}
.doLogin {
  position:static !important; display:flex !important; align-items:center !important;
  justify-content:center !important; min-height:100vh; width:100% !important; margin:0 !important;
  padding:24px 15px;
}
.login-register { overflow:visible; width:100%; max-width:460px; margin:auto !important; }
.login-box {
  position:relative; z-index:2;
  background:var(--bk-surface) !important;
  border:1px solid var(--bk-border) !important;
  border-radius:20px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.55) !important;
  padding:8px !important; width:100% !important; margin:0 !important;
}
.login-box .card-body { padding:26px 24px 20px !important; }
.login-box .form-horizontal { text-align:center; }
.login-icon {
  margin-top:-78px !important; width:76px !important; height:76px !important;
  border-radius:20px !important; background:#0d141c !important;
  border:2px solid var(--bk-primary) !important; padding:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.5), 0 0 0 6px rgba(34,197,94,.12) !important;
  object-fit:contain;
}
.login-box .box-title { font-size:20px !important; font-weight:800 !important; color:var(--bk-text) !important; margin-bottom:14px !important; }
.login-box-msg { font-size:13px; }
.login-box .input-group { margin-bottom:10px; }
.login-box .input-group .form-control {
  background:var(--bk-surface-3) !important; height:46px !important; font-size:14px;
  border-radius:var(--bk-radius-sm) !important;
}
.login-box .input-group-text {
  height:46px; min-width:46px; background:var(--bk-surface-2) !important;
  color:var(--bk-primary-text) !important; border-color:var(--bk-border) !important;
}
.btn-login, .btn-login:hover {
  background:linear-gradient(180deg,#1fb958,#15a349) !important;
  border-color:#12a247 !important; color:#fff !important;
  height:46px; font-size:15px !important; font-weight:800 !important;
  border-radius:var(--bk-radius-sm) !important; letter-spacing:.3px;
  box-shadow:0 6px 18px rgba(22,163,74,.35) !important;
}
.login-box a.text-success { color:var(--bk-primary-text) !important; font-weight:700; font-size:13px; }
.login-error { color:#f87171 !important; font-weight:700; margin-top:12px !important; min-height:20px; }
[data-theme="light"] .login-error { color:#dc2626 !important; }
.login-brand {
  position:relative; z-index:2; text-align:center; margin-bottom:22px;
}
.login-brand img { width:54px; border-radius:14px; background:#0d141c; padding:4px; border:1px solid var(--bk-primary); }
.login-brand h2 { color:var(--bk-text); font-size:22px; font-weight:800; margin:10px 0 2px; }
.login-brand p { color:var(--bk-text-muted); font-size:13px; margin:0; }
.theme-toggle.login-toggle { position:absolute; top:18px; left:18px; z-index:5; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1023px) {
  .page-titles .col-md-7 { display:none; }
}
@media (max-width:767px) {
  .container-fluid { padding:0 12px !important; }
  .page-titles h4 { font-size:17px; }
  .card-body { padding:12px !important; }
  .table thead th { font-size:11px; padding:8px !important; }
  .table tbody td { font-size:12.5px; padding:8px !important; }
  .doLogin { min-height:100vh; }
  .topbar .top-navbar { padding:0 8px !important; }
}
