:root {
  --aurora-primary: #2563eb;
  --aurora-primary-600: #1d4ed8;
  --aurora-primary-soft: rgba(37, 99, 235, 0.1);
  --aurora-secondary: #7c3aed;
  --aurora-cyan: #06b6d4;
  --aurora-success: #059669;
  --aurora-warning: #d97706;
  --aurora-danger: #dc2626;
  --aurora-info: #0284c7;
  --aurora-bg: #f5f7fb;
  --aurora-surface: #ffffff;
  --aurora-surface-solid: #ffffff;
  --aurora-border: rgba(15, 23, 42, 0.09);
  --aurora-border-strong: rgba(15, 23, 42, 0.14);
  --aurora-text: #0f172a;
  --aurora-muted: #64748b;
  --aurora-radius-sm: 10px;
  --aurora-radius: 16px;
  --aurora-radius-lg: 22px;
  --aurora-shadow-sm: 0 4px 12px rgba(15, 23, 42, 0.06);
  --aurora-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  --aurora-shadow-hover: 0 12px 28px rgba(37, 99, 235, 0.12);
  --aurora-ring: 0 0 0 0.22rem rgba(37, 99, 235, 0.16);
}

html, body {
  color: var(--aurora-text);
  background: linear-gradient(180deg, #f8fbff 0%, var(--aurora-bg) 55%, #eef3fb 100%);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

body {
  letter-spacing: -0.01em;
}

.page-wrapper .page-body-wrapper .page-body,
.page-body,
.page-body .container-fluid {
  background: transparent !important;
}

.page-header {
  background: rgba(255, 255, 255, 0.84) !important;
  border-bottom: 1px solid var(--aurora-border);
  box-shadow: 0 12px 35px rgba(15, 23, 42, 0.07);
  backdrop-filter: none;
}

.header-wrapper {
  min-height: 72px;
}

.left-header h4,
.page-title h2,
.card-header h4,
.card-header h5,
.dashboard-card-title,
h1, h2, h3, h4, h5, h6 {
  color: var(--aurora-text);
  letter-spacing: -0.025em;
}

.text-muted,
small.text-muted,
.font-roboto.small.text-muted {
  color: var(--aurora-muted) !important;
}

.page-title {
  margin: 0 0 1.35rem;
}

.page-title .row {
  align-items: center;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(239,246,255,0.8));
  border: 1px solid var(--aurora-border);
  border-radius: var(--aurora-radius-lg);
  box-shadow: var(--aurora-shadow-sm);
}

.breadcrumb {
  margin-bottom: 0;
  padding: 0.55rem 0.85rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--aurora-border);
  border-radius: 999px;
}

.card,
.login-main,
.modal-content,
.dropdown-menu,
.profile-dropdown,
.onhover-show-div,
.dataTables_wrapper {
  border: 1px solid var(--aurora-border) !important;
  border-radius: var(--aurora-radius) !important;
  box-shadow: var(--aurora-shadow-sm) !important;
  background: var(--aurora-surface) !important;
  backdrop-filter: none;
}

.card {
  overflow: hidden;
  transition: box-shadow 160ms ease, border-color 160ms ease;
}

.card:hover {
  border-color: rgba(37, 99, 235, 0.18) !important;
  box-shadow: var(--aurora-shadow) !important;
}

.card .card-header,
.card-header {
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.88)) !important;
  border-bottom: 1px solid var(--aurora-border) !important;
  padding: 1.05rem 1.25rem;
}

.card .card-body,
.card-body {
  padding: 1.25rem;
}

.btn {
  border-radius: 999px;
  font-weight: 650;
  letter-spacing: -0.01em;
  border-width: 1px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  transition: box-shadow 140ms ease, background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.btn:hover,
.btn:focus {
  box-shadow: var(--aurora-shadow-hover);
}

.btn-primary,
.btn-success,
.btn-info {
  border-color: transparent !important;
  background-image: linear-gradient(135deg, var(--aurora-primary), var(--aurora-cyan)) !important;
  color: #fff !important;
}

.btn-success {
  background-image: linear-gradient(135deg, #059669, #10b981) !important;
}

.btn-danger {
  border-color: transparent !important;
  background-image: linear-gradient(135deg, #dc2626, #f43f5e) !important;
  color: #fff !important;
}

.btn-warning {
  border-color: transparent !important;
  background-image: linear-gradient(135deg, #d97706, #f59e0b) !important;
  color: #fff !important;
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-secondary,
.btn-outline-dark,
.btn-outline-danger {
  background: rgba(255, 255, 255, 0.82) !important;
  border-color: var(--aurora-border-strong) !important;
  color: var(--aurora-text) !important;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-dark:hover {
  background: var(--aurora-primary-soft) !important;
  border-color: rgba(37, 99, 235, 0.35) !important;
  color: var(--aurora-primary-600) !important;
}

.btn-outline-success:hover {
  background: rgba(5, 150, 105, 0.11) !important;
  color: var(--aurora-success) !important;
  border-color: rgba(5, 150, 105, 0.35) !important;
}

.form-control,
.form-select,
.form-control-plaintext,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="datetime-local"] {
  border-radius: var(--aurora-radius-sm) !important;
  border: 1px solid var(--aurora-border-strong) !important;
  background-color: rgba(255,255,255,0.9) !important;
  color: var(--aurora-text) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.65);
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus,
select:focus {
  border-color: rgba(37, 99, 235, 0.55) !important;
  box-shadow: var(--aurora-ring) !important;
  background-color: #fff !important;
}

.form-label,
.col-form-label,
label {
  color: #334155;
  font-weight: 650;
}

.form-check-input {
  border-color: var(--aurora-border-strong);
}

.form-check-input:checked {
  background-color: var(--aurora-primary);
  border-color: var(--aurora-primary);
}

.table {
  color: var(--aurora-text);
  vertical-align: middle;
}

.table > :not(caption) > * > * {
  padding: 0.9rem 1rem;
  border-bottom-color: var(--aurora-border);
}

.table thead,
.table-light,
thead.table-light {
  background: linear-gradient(180deg, #f8fafc, #eef6ff) !important;
  color: #334155;
  text-transform: uppercase;
  letter-spacing: 0.045em;
  font-size: 0.75rem;
}

.table-hover tbody tr:hover,
.table tbody tr:hover {
  background-color: rgba(37, 99, 235, 0.045);
}

.badge {
  border-radius: 999px;
  padding: 0.42rem 0.68rem;
  font-weight: 700;
  letter-spacing: -0.005em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.24);
}

.bg-primary,
.badge.bg-primary { background: linear-gradient(135deg, #2563eb, #06b6d4) !important; }
.bg-success,
.badge.bg-success { background: linear-gradient(135deg, #059669, #10b981) !important; }
.bg-danger,
.badge.bg-danger { background: linear-gradient(135deg, #dc2626, #f43f5e) !important; }
.bg-warning,
.badge.bg-warning { background: linear-gradient(135deg, #f59e0b, #fbbf24) !important; color: #422006 !important; }
.bg-info,
.badge.bg-info { background: linear-gradient(135deg, #0284c7, #38bdf8) !important; }
.bg-secondary,
.badge.bg-secondary { background: linear-gradient(135deg, #64748b, #94a3b8) !important; }
.bg-dark,
.badge.bg-dark { background: linear-gradient(135deg, #0f172a, #334155) !important; }
.bg-light,
.badge.bg-light { background: #f8fafc !important; color: #334155 !important; border: 1px solid var(--aurora-border); }

.alert {
  border-radius: var(--aurora-radius) !important;
  border: 1px solid var(--aurora-border) !important;
  box-shadow: var(--aurora-shadow-sm);
}

.alert-success { background: rgba(16,185,129,0.12); color: #065f46; }
.alert-danger { background: rgba(244,63,94,0.12); color: #991b1b; }
.alert-warning { background: rgba(245,158,11,0.14); color: #92400e; }
.alert-info { background: rgba(14,165,233,0.12); color: #075985; }

.sidebar-wrapper {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96)) !important;
  border-right: 1px solid var(--aurora-border);
  box-shadow: 12px 0 36px rgba(15, 23, 42, 0.06);
  backdrop-filter: none;
}

.sidebar-wrapper .sidebar-main-title h6,
.sidebar-wrapper .pin-title h6 {
  color: #475569 !important;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sidebar-wrapper .sidebar-links .sidebar-list > a,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a,
.sidebar-wrapper .sidebar-links .sidebar-list > a span,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a span {
  border-radius: 14px;
  margin: 0.18rem 0.55rem;
  color: #1e293b !important;
  opacity: 1 !important;
  font-weight: 650;
  transition: background 140ms ease, color 140ms ease, box-shadow 140ms ease;
}

.sidebar-wrapper .sidebar-links .sidebar-submenu li a {
  color: #334155 !important;
  font-weight: 600;
}

.sidebar-wrapper .sidebar-links .sidebar-list > a svg,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a svg,
.sidebar-wrapper .sidebar-links .sidebar-list > i {
  color: #475569 !important;
  stroke: #475569 !important;
  fill: none !important;
  opacity: 1 !important;
}

.sidebar-wrapper .sidebar-links .sidebar-list > a:hover,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover {
  background: rgba(37, 99, 235, 0.08) !important;
  color: #1d4ed8 !important;
}

.sidebar-wrapper .sidebar-links .sidebar-list > a:hover span,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover span,
.sidebar-wrapper .sidebar-links .sidebar-list > a:hover svg,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover svg {
  color: #1d4ed8 !important;
  stroke: #1d4ed8 !important;
}

.sidebar-wrapper .sidebar-links .sidebar-list.active > a,
.sidebar-wrapper .sidebar-links .sidebar-list > a.active,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a.active {
  background: linear-gradient(135deg, rgba(37,99,235,0.16), rgba(6,182,212,0.12)) !important;
  color: #1e40af !important;
  box-shadow: inset 3px 0 0 #2563eb, 0 8px 20px rgba(37, 99, 235, 0.10);
  transform: none;
}

.sidebar-wrapper .sidebar-links .sidebar-list.active > a span,
.sidebar-wrapper .sidebar-links .sidebar-list > a.active span,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a.active span,
.sidebar-wrapper .sidebar-links .sidebar-list.active > a svg,
.sidebar-wrapper .sidebar-links .sidebar-list > a.active svg,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a.active svg {
  color: #1e40af !important;
  stroke: #1e40af !important;
  fill: none !important;
}

.profile-nav img,
.logo-wrapper img,
.logo-icon-wrapper img {
  filter: drop-shadow(0 8px 16px rgba(15, 23, 42, 0.10));
}

.modal-content {
  overflow: hidden;
}

.modal-header {
  background: linear-gradient(135deg, rgba(37,99,235,0.08), rgba(6,182,212,0.07));
  border-bottom: 1px solid var(--aurora-border);
}

.pagination .page-link {
  border-radius: 999px !important;
  margin: 0 0.12rem;
  color: var(--aurora-primary-600);
  border-color: var(--aurora-border);
}

.pagination .active .page-link,
.page-item.active .page-link {
  background: linear-gradient(135deg, var(--aurora-primary), var(--aurora-cyan));
  border-color: transparent;
}

.dataTables_filter input,
.dataTables_length select {
  margin-left: 0.4rem;
}

.dashboard-chart {
  background: linear-gradient(180deg, rgba(255,255,255,0.65), rgba(248,250,252,0.5));
}

.login-card {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8fbff, #eef4ff) !important;
}

.login-main {
  padding: 2.2rem !important;
  max-width: 450px;
}

.login-main h4 {
  font-size: 1.45rem;
  font-weight: 800;
}

.login-main .btn-primary {
  min-height: 46px;
}

.footer {
  background: transparent !important;
  color: var(--aurora-muted);
}

@media (max-width: 767.98px) {
  .card .card-body,
  .card-body {
    padding: 1rem;
  }

  .page-title .row {
    border-radius: var(--aurora-radius);
  }

  .btn {
    white-space: normal;
  }
}

.sidebar-wrapper .sidebar-links .sidebar-list > a svg.fill-icon,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a svg.fill-icon {
  fill: #475569 !important;
  stroke: none !important;
}

.sidebar-wrapper .sidebar-links .sidebar-list > a:hover svg.fill-icon,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover svg.fill-icon,
.sidebar-wrapper .sidebar-links .sidebar-list.active > a svg.fill-icon,
.sidebar-wrapper .sidebar-links .sidebar-list > a.active svg.fill-icon,
.sidebar-wrapper .sidebar-links .sidebar-submenu li a.active svg.fill-icon {
  fill: #1e40af !important;
  stroke: none !important;
}

/* Global table integration: cards provide the outer frame, tables should not add a second box. */
.table-responsive,
.dataTables_wrapper,
.dataTables_scroll,
.dataTables_scrollHead,
.dataTables_scrollBody,
.dataTables_scrollFoot {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.card .table-responsive,
.card .dataTables_wrapper,
.card .dataTables_scroll,
.card .dataTables_scrollHead,
.card .dataTables_scrollBody,
.card .dataTables_scrollFoot,
.card .table {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.card .card-body > .table-responsive:first-child,
.card .card-body > .dataTables_wrapper:first-child,
.card .card-body.p-0 > .table-responsive:first-child {
  margin-top: 0;
}

.table,
.table-bordered,
table.dataTable,
table.dataTable.no-footer,
table.dataTable.table-bordered {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.table-bordered > :not(caption) > * > *,
.table > :not(caption) > * > * {
  border-left: 0 !important;
  border-right: 0 !important;
}

.table > thead,
.table > thead > tr > th,
table.dataTable thead th,
table.dataTable thead td {
  border-top: 0 !important;
}

.table > tbody > tr:last-child > td,
.table > tbody > tr:last-child > th,
table.dataTable tbody tr:last-child td,
table.dataTable tbody tr:last-child th {
  border-bottom-color: transparent !important;
}

.dataTables_wrapper .row,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  border: 0 !important;
  box-shadow: none !important;
}

.card .dataTables_wrapper .dataTables_length,
.card .dataTables_wrapper .dataTables_filter {
  padding-top: 0.15rem;
}

/* Aurora theme tokens: single source for light/dark surfaces and component states. */
:root,
body.light {
  --aurora-bg-body: #f5f7fb;
  --aurora-bg-body-gradient: linear-gradient(180deg, #f8fbff 0%, #f5f7fb 55%, #eef3fb 100%);
  --aurora-bg-page: transparent;
  --aurora-bg-surface: #ffffff;
  --aurora-bg-surface-soft: #f8fafc;
  --aurora-bg-card: #ffffff;
  --aurora-bg-header: rgba(255, 255, 255, 0.94);
  --aurora-bg-sidebar: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
  --aurora-bg-input: #ffffff;
  --aurora-bg-input-focus: #ffffff;
  --aurora-bg-hover: rgba(37, 99, 235, 0.07);
  --aurora-text-primary: #0f172a;
  --aurora-text-secondary: #334155;
  --aurora-text-muted-theme: #64748b;
  --aurora-border-theme: rgba(15, 23, 42, 0.10);
  --aurora-border-strong-theme: rgba(15, 23, 42, 0.16);
  --aurora-table-head-bg: linear-gradient(180deg, #f8fafc, #eef6ff);
  --aurora-table-row-bg: #ffffff;
  --aurora-table-row-alt: #f8fbff;
  --aurora-table-row-hover: rgba(37, 99, 235, 0.07);
  --aurora-dt-control-bg: #ffffff;
  --aurora-dt-control-text: #0f172a;
  --aurora-dropdown-bg: #ffffff;
  --aurora-modal-backdrop: rgba(15, 23, 42, 0.52);
  --aurora-shadow-theme: 0 4px 12px rgba(15, 23, 42, 0.06);
  --aurora-shadow-theme-hover: 0 10px 24px rgba(37, 99, 235, 0.12);
  color-scheme: light;
}

html.aurora-dark-boot,
body.dark-only {
  --aurora-bg-body: #0b1220;
  --aurora-bg-body-gradient: linear-gradient(180deg, #0b1220 0%, #0f172a 58%, #111827 100%);
  --aurora-bg-page: transparent;
  --aurora-bg-surface: #151f32;
  --aurora-bg-surface-soft: #101827;
  --aurora-bg-card: #162033;
  --aurora-bg-header: rgba(15, 23, 42, 0.96);
  --aurora-bg-sidebar: linear-gradient(180deg, #111a2c, #0f172a);
  --aurora-bg-input: #0f172a;
  --aurora-bg-input-focus: #111d31;
  --aurora-bg-hover: rgba(96, 165, 250, 0.14);
  --aurora-text-primary: #e5edf8;
  --aurora-text-secondary: #cbd5e1;
  --aurora-text-muted-theme: #94a3b8;
  --aurora-border-theme: rgba(148, 163, 184, 0.18);
  --aurora-border-strong-theme: rgba(148, 163, 184, 0.28);
  --aurora-table-head-bg: linear-gradient(180deg, #1e293b, #162033);
  --aurora-table-row-bg: #151f32;
  --aurora-table-row-alt: #111a2c;
  --aurora-table-row-hover: rgba(96, 165, 250, 0.13);
  --aurora-dt-control-bg: #0f172a;
  --aurora-dt-control-text: #e5edf8;
  --aurora-dropdown-bg: #151f32;
  --aurora-modal-backdrop: rgba(2, 6, 23, 0.74);
  --aurora-shadow-theme: 0 6px 18px rgba(0, 0, 0, 0.28);
  --aurora-shadow-theme-hover: 0 12px 28px rgba(0, 0, 0, 0.34);
  --aurora-primary-soft: rgba(96, 165, 250, 0.16);
  color-scheme: dark;
}

html,
body,
html.aurora-dark-boot,
html.aurora-dark-boot body,
body.dark-only,
body.light {
  background: var(--aurora-bg-body-gradient) !important;
  color: var(--aurora-text-primary) !important;
}

html.aurora-dark-boot body .page-wrapper,
body.dark-only .page-wrapper,
body.dark-only .page-body-wrapper,
body.dark-only .page-body,
body.dark-only .page-body .container-fluid,
body.dark-only .container-fluid {
  background: var(--aurora-bg-page) !important;
  color: var(--aurora-text-primary) !important;
}

html.aurora-dark-boot body .page-header,
body.dark-only .page-header,
body.dark-only .header-wrapper {
  background: var(--aurora-bg-header) !important;
  border-color: var(--aurora-border-theme) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .left-header h4,
body.dark-only .page-title h2,
body.dark-only .card-header h4,
body.dark-only .card-header h5,
body.dark-only .dashboard-card-title,
body.dark-only h1,
body.dark-only h2,
body.dark-only h3,
body.dark-only h4,
body.dark-only h5,
body.dark-only h6,
body.dark-only .text-dark,
body.dark-only .font-dark {
  color: var(--aurora-text-primary) !important;
}

body.dark-only .text-muted,
body.dark-only small.text-muted,
body.dark-only .font-roboto.small.text-muted,
body.dark-only .helptext,
body.dark-only .form-text,
body.dark-only .text-secondary {
  color: var(--aurora-text-muted-theme) !important;
}

body.dark-only .page-title .row,
body.dark-only .breadcrumb,
body.dark-only .card,
body.dark-only .login-main,
body.dark-only .modal-content,
body.dark-only .dropdown-menu,
body.dark-only .profile-dropdown,
body.dark-only .onhover-show-div,
body.dark-only .list-group-item,
body.dark-only .accordion-item,
body.dark-only .accordion-button,
body.dark-only .tab-content,
body.dark-only .nav-tabs .nav-link.active,
body.dark-only .dataTables_wrapper {
  background: var(--aurora-bg-card) !important;
  border-color: var(--aurora-border-theme) !important;
  color: var(--aurora-text-primary) !important;
  box-shadow: var(--aurora-shadow-theme) !important;
}

body.dark-only .card .card-header,
body.dark-only .card-header,
body.dark-only .modal-header,
body.dark-only .modal-footer,
body.dark-only .accordion-button:not(.collapsed) {
  background: var(--aurora-bg-surface-soft) !important;
  border-color: var(--aurora-border-theme) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .card .card-body,
body.dark-only .card-body,
body.dark-only .modal-body,
body.dark-only .dropdown-menu li,
body.dark-only .profile-dropdown li {
  background: transparent !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .dropdown-menu a,
body.dark-only .profile-dropdown a,
body.dark-only .onhover-show-div a,
body.dark-only .breadcrumb a,
body.dark-only .nav-link,
body.dark-only a:not(.btn) {
  color: #bfdbfe;
}

body.dark-only .dropdown-menu a:hover,
body.dark-only .profile-dropdown a:hover,
body.dark-only .onhover-show-div a:hover,
body.dark-only .nav-tabs .nav-link:hover {
  background: var(--aurora-bg-hover) !important;
  color: #dbeafe !important;
}

body.dark-only .sidebar-wrapper {
  background: var(--aurora-bg-sidebar) !important;
  border-color: var(--aurora-border-theme) !important;
  box-shadow: 10px 0 28px rgba(0, 0, 0, 0.20) !important;
}

body.dark-only .sidebar-wrapper .sidebar-main-title h6,
body.dark-only .sidebar-wrapper .pin-title h6,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a span {
  color: var(--aurora-text-secondary) !important;
}

body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > i {
  color: var(--aurora-text-muted-theme) !important;
  stroke: var(--aurora-text-muted-theme) !important;
}

body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a:hover,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list.active > a,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a.active,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a.active {
  background: rgba(96, 165, 250, 0.14) !important;
  color: #dbeafe !important;
  box-shadow: inset 3px 0 0 #60a5fa !important;
}

body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a:hover span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list.active > a span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a.active span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a.active span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a:hover svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list.active > a svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a.active svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a.active svg {
  color: #dbeafe !important;
  stroke: #dbeafe !important;
}

body.dark-only .form-control,
body.dark-only .form-select,
body.dark-only .form-control-plaintext,
body.dark-only select,
body.dark-only textarea,
body.dark-only input[type="text"],
body.dark-only input[type="email"],
body.dark-only input[type="number"],
body.dark-only input[type="password"],
body.dark-only input[type="date"],
body.dark-only input[type="datetime-local"],
body.dark-only input[type="search"] {
  background-color: var(--aurora-bg-input) !important;
  border-color: var(--aurora-border-strong-theme) !important;
  color: var(--aurora-text-primary) !important;
  box-shadow: none !important;
}

body.dark-only .form-control:focus,
body.dark-only .form-select:focus,
body.dark-only textarea:focus,
body.dark-only input:focus,
body.dark-only select:focus {
  background-color: var(--aurora-bg-input-focus) !important;
  border-color: rgba(96, 165, 250, 0.72) !important;
  box-shadow: 0 0 0 0.2rem rgba(96, 165, 250, 0.18) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only ::placeholder {
  color: #74839a !important;
  opacity: 1;
}

body.dark-only .form-label,
body.dark-only .col-form-label,
body.dark-only label {
  color: var(--aurora-text-secondary) !important;
}

body.dark-only .form-check-input {
  background-color: var(--aurora-bg-input) !important;
  border-color: var(--aurora-border-strong-theme) !important;
}

body.dark-only .form-check-input:checked {
  background-color: #60a5fa !important;
  border-color: #60a5fa !important;
}

body.dark-only .table,
body.dark-only table,
body.dark-only table.dataTable {
  --bs-table-bg: var(--aurora-table-row-bg);
  --bs-table-color: var(--aurora-text-primary);
  --bs-table-border-color: var(--aurora-border-theme);
  --bs-table-striped-bg: var(--aurora-table-row-alt);
  --bs-table-hover-bg: var(--aurora-table-row-hover);
  color: var(--aurora-text-primary) !important;
  background: var(--aurora-table-row-bg) !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .table > :not(caption) > * > *,
body.dark-only table.dataTable tbody th,
body.dark-only table.dataTable tbody td {
  background-color: transparent !important;
  color: var(--aurora-text-primary) !important;
  border-bottom-color: var(--aurora-border-theme) !important;
}

body.dark-only .table thead,
body.dark-only .table-light,
body.dark-only thead.table-light,
body.dark-only table.dataTable thead th,
body.dark-only table.dataTable thead td {
  background: var(--aurora-table-head-bg) !important;
  color: var(--aurora-text-secondary) !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .table-hover tbody tr:hover,
body.dark-only .table tbody tr:hover,
body.dark-only table.dataTable.hover tbody tr:hover,
body.dark-only table.dataTable.display tbody tr:hover {
  background-color: var(--aurora-table-row-hover) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .table-responsive,
body.dark-only .dataTables_wrapper,
body.dark-only .dataTables_scroll,
body.dark-only .dataTables_scrollHead,
body.dark-only .dataTables_scrollBody,
body.dark-only .dataTables_scrollFoot {
  background: transparent !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .dataTables_wrapper .dataTables_length,
body.dark-only .dataTables_wrapper .dataTables_filter,
body.dark-only .dataTables_wrapper .dataTables_info,
body.dark-only .dataTables_wrapper .dataTables_paginate,
body.dark-only .dataTables_wrapper .dataTables_processing {
  color: var(--aurora-text-muted-theme) !important;
}

body.dark-only .dataTables_wrapper .dataTables_filter input,
body.dark-only .dataTables_wrapper .dataTables_length select {
  background-color: var(--aurora-dt-control-bg) !important;
  border: 1px solid var(--aurora-border-strong-theme) !important;
  color: var(--aurora-dt-control-text) !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button,
body.dark-only .page-link {
  background: var(--aurora-bg-input) !important;
  border: 1px solid var(--aurora-border-theme) !important;
  color: var(--aurora-text-secondary) !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
body.dark-only .page-item.active .page-link,
body.dark-only .pagination .active .page-link {
  background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button:hover,
body.dark-only .page-link:hover {
  background: var(--aurora-bg-hover) !important;
  border-color: rgba(96, 165, 250, 0.42) !important;
  color: #dbeafe !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.dark-only .page-item.disabled .page-link {
  background: rgba(15, 23, 42, 0.58) !important;
  color: #64748b !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .btn-outline-primary,
body.dark-only .btn-outline-success,
body.dark-only .btn-outline-secondary,
body.dark-only .btn-outline-dark,
body.dark-only .btn-outline-danger,
body.dark-only .btn-light,
body.dark-only .btn-outline-light {
  background: var(--aurora-bg-input) !important;
  border-color: var(--aurora-border-strong-theme) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .btn-outline-primary:hover,
body.dark-only .btn-outline-secondary:hover,
body.dark-only .btn-outline-dark:hover,
body.dark-only .btn-light:hover,
body.dark-only .btn-outline-light:hover {
  background: var(--aurora-bg-hover) !important;
  color: #dbeafe !important;
  border-color: rgba(96, 165, 250, 0.42) !important;
}

body.dark-only .badge.bg-light,
body.dark-only .bg-light,
body.dark-only .alert-light {
  background: var(--aurora-bg-surface-soft) !important;
  color: var(--aurora-text-secondary) !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .alert {
  background: var(--aurora-bg-surface) !important;
  border-color: var(--aurora-border-theme) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .alert-success { background: rgba(16,185,129,0.14) !important; color: #bbf7d0 !important; }
body.dark-only .alert-danger { background: rgba(244,63,94,0.14) !important; color: #fecdd3 !important; }
body.dark-only .alert-warning { background: rgba(245,158,11,0.16) !important; color: #fde68a !important; }
body.dark-only .alert-info { background: rgba(14,165,233,0.16) !important; color: #bae6fd !important; }

body.dark-only .modal-backdrop.show {
  opacity: 1;
  background-color: var(--aurora-modal-backdrop) !important;
}

body.dark-only .dashboard-chart,
body.dark-only .login-card {
  background: var(--aurora-bg-body-gradient) !important;
}

body.dark-only hr,
body.dark-only .dropdown-divider,
body.dark-only .border,
body.dark-only .border-top,
body.dark-only .border-bottom,
body.dark-only .border-start,
body.dark-only .border-end {
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .bg-white,
body.dark-only .bg-body,
body.dark-only .bg-light-subtle,
body.dark-only .white-box,
body.dark-only .search-full,
body.dark-only .Typeahead-menu,
body.dark-only .Typeahead-input,
body.dark-only .form-control-plaintext {
  background: var(--aurora-bg-card) !important;
  color: var(--aurora-text-primary) !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only option,
body.dark-only optgroup {
  background: var(--aurora-bg-input) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only input:-webkit-autofill,
body.dark-only input:-webkit-autofill:hover,
body.dark-only input:-webkit-autofill:focus,
body.dark-only textarea:-webkit-autofill,
body.dark-only select:-webkit-autofill {
  -webkit-text-fill-color: var(--aurora-text-primary) !important;
  box-shadow: 0 0 0 1000px var(--aurora-bg-input) inset !important;
  caret-color: var(--aurora-text-primary);
}

body.dark-only .btn-close {
  filter: invert(1) grayscale(100%) brightness(180%);
}

body.dark-only .invalid-feedback,
body.dark-only .text-danger,
body.dark-only .errorlist,
body.dark-only .is-invalid ~ .invalid-feedback {
  color: #fda4af !important;
}

body.dark-only .valid-feedback,
body.dark-only .text-success {
  color: #86efac !important;
}

body.dark-only .badge,
body.dark-only .btn,
body.dark-only .page-link,
body.dark-only .dropdown-menu,
body.dark-only .modal-content,
body.dark-only .card {
  box-shadow: var(--aurora-shadow-theme) !important;
}

/* Riho-aligned dark mode refinement: improves contrast and table readability globally. */
html.aurora-dark-boot,
body.dark-only {
  --aurora-bg-body: #1a1c23;
  --aurora-bg-body-gradient: linear-gradient(180deg, #1a1c23 0%, #1d1e26 58%, #1a1c23 100%);
  --aurora-bg-surface: #262932;
  --aurora-bg-surface-soft: #20232b;
  --aurora-bg-card: #22242b;
  --aurora-bg-header: #22242b;
  --aurora-bg-sidebar: #1a1c23;
  --aurora-bg-input: #1d1e26;
  --aurora-bg-input-focus: #262932;
  --aurora-bg-hover: rgba(255, 255, 255, 0.06);
  --aurora-text-primary: #ffffff;
  --aurora-text-secondary: rgba(255, 255, 255, 0.82);
  --aurora-text-muted-theme: rgba(255, 255, 255, 0.64);
  --aurora-border-theme: rgba(255, 255, 255, 0.10);
  --aurora-border-strong-theme: rgba(255, 255, 255, 0.16);
  --aurora-table-head-bg: #262932;
  --aurora-table-row-bg: #22242b;
  --aurora-table-row-alt: #242730;
  --aurora-table-row-hover: rgba(255, 255, 255, 0.055);
  --aurora-dt-control-bg: #1d1e26;
  --aurora-dt-control-text: #ffffff;
  --aurora-dropdown-bg: #262932;
  --aurora-modal-backdrop: rgba(0, 0, 0, 0.72);
  --aurora-shadow-theme: 0 0 18px rgba(0, 0, 0, 0.22);
  --aurora-shadow-theme-hover: 0 0 24px rgba(0, 0, 0, 0.28);
}

body.dark-only .page-header,
body.dark-only .header-wrapper,
body.dark-only .sidebar-wrapper,
body.dark-only .footer {
  background: var(--aurora-bg-header) !important;
  color: var(--aurora-text-primary) !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .sidebar-wrapper {
  background: var(--aurora-bg-sidebar) !important;
}

body.dark-only .card,
body.dark-only .page-title .row,
body.dark-only .modal-content,
body.dark-only .dropdown-menu,
body.dark-only .profile-dropdown,
body.dark-only .onhover-show-div,
body.dark-only .accordion-item,
body.dark-only .list-group-item,
body.dark-only .dataTables_wrapper {
  background: var(--aurora-bg-card) !important;
  border: 1px solid var(--aurora-border-theme) !important;
  color: var(--aurora-text-primary) !important;
  box-shadow: var(--aurora-shadow-theme) !important;
}

body.dark-only .card .card-header,
body.dark-only .card-header,
body.dark-only .modal-header,
body.dark-only .modal-footer,
body.dark-only .accordion-header,
body.dark-only .accordion-button,
body.dark-only .breadcrumb {
  background: var(--aurora-bg-surface) !important;
  border-color: var(--aurora-border-theme) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only p,
body.dark-only span,
body.dark-only li,
body.dark-only td,
body.dark-only th,
body.dark-only .card-body,
body.dark-only .card-body p,
body.dark-only .card-body span,
body.dark-only .dropdown-item,
body.dark-only .breadcrumb-item,
body.dark-only .dt-info,
body.dark-only .dataTables_info,
body.dark-only .dataTables_length,
body.dark-only .dataTables_filter {
  color: var(--aurora-text-secondary) !important;
}

body.dark-only h1,
body.dark-only h2,
body.dark-only h3,
body.dark-only h4,
body.dark-only h5,
body.dark-only h6,
body.dark-only .card-title,
body.dark-only .card-header h4,
body.dark-only .card-header h5,
body.dark-only .page-title h4,
body.dark-only strong,
body.dark-only b {
  color: var(--aurora-text-primary) !important;
}

body.dark-only .text-muted,
body.dark-only .small,
body.dark-only small,
body.dark-only .form-text,
body.dark-only .helptext,
body.dark-only .breadcrumb-item.active,
body.dark-only .dataTables_empty {
  color: var(--aurora-text-muted-theme) !important;
}

body.dark-only a:not(.btn):not(.page-link):not(.dropdown-item) {
  color: #9dbbff !important;
}

body.dark-only a:not(.btn):not(.page-link):hover {
  color: #c7d2fe !important;
}

body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a span {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > i {
  color: rgba(255, 255, 255, 0.56) !important;
  stroke: rgba(255, 255, 255, 0.56) !important;
}

body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a:hover,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list.active > a,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a.active,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a.active {
  background: rgba(115, 102, 255, 0.14) !important;
  color: #ffffff !important;
  box-shadow: inset 3px 0 0 #7366ff !important;
}

body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a:hover span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list.active > a span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a.active span,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list > a:hover svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a:hover svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-list.active > a svg,
body.dark-only .sidebar-wrapper .sidebar-links .sidebar-submenu li a.active svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

body.dark-only .form-control,
body.dark-only .form-select,
body.dark-only textarea,
body.dark-only select,
body.dark-only input[type="text"],
body.dark-only input[type="email"],
body.dark-only input[type="number"],
body.dark-only input[type="password"],
body.dark-only input[type="date"],
body.dark-only input[type="datetime-local"],
body.dark-only input[type="search"],
body.dark-only .dataTables_wrapper .dataTables_filter input,
body.dark-only .dataTables_wrapper .dataTables_length select {
  background-color: var(--aurora-bg-input) !important;
  border: 1px solid var(--aurora-border-theme) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .form-control:focus,
body.dark-only .form-select:focus,
body.dark-only textarea:focus,
body.dark-only select:focus,
body.dark-only input:focus,
body.dark-only .dataTables_wrapper .dataTables_filter input:focus,
body.dark-only .dataTables_wrapper .dataTables_length select:focus {
  background-color: var(--aurora-bg-input-focus) !important;
  border-color: rgba(115, 102, 255, 0.72) !important;
  box-shadow: 0 0 0 0.18rem rgba(115, 102, 255, 0.18) !important;
  color: var(--aurora-text-primary) !important;
}

body.dark-only .form-label,
body.dark-only .col-form-label,
body.dark-only label,
body.dark-only .dataTables_wrapper label {
  color: var(--aurora-text-secondary) !important;
}

body.dark-only ::placeholder {
  color: rgba(255, 255, 255, 0.46) !important;
}

body.dark-only .table-responsive,
body.dark-only .table,
body.dark-only table.dataTable,
body.dark-only table.dataTable.no-footer {
  background: var(--aurora-table-row-bg) !important;
  color: var(--aurora-text-secondary) !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .table > :not(caption) > * > *,
body.dark-only table.dataTable tbody th,
body.dark-only table.dataTable tbody td,
body.dark-only .table tbody td,
body.dark-only .table tbody th {
  background-color: var(--aurora-table-row-bg) !important;
  color: var(--aurora-text-secondary) !important;
  border-bottom: 1px solid var(--aurora-border-theme) !important;
}

body.dark-only .table-striped > tbody > tr:nth-of-type(odd) > *,
body.dark-only table.dataTable.stripe tbody tr.odd,
body.dark-only table.dataTable.display tbody tr.odd {
  background-color: var(--aurora-table-row-alt) !important;
}

body.dark-only .table thead,
body.dark-only .table thead th,
body.dark-only .table-light,
body.dark-only thead.table-light,
body.dark-only table.dataTable thead th,
body.dark-only table.dataTable thead td {
  background: var(--aurora-table-head-bg) !important;
  color: #ffffff !important;
  border-bottom: 1px solid var(--aurora-border-strong-theme) !important;
  font-weight: 700;
}

body.dark-only .table-hover tbody tr:hover > *,
body.dark-only .table tbody tr:hover > *,
body.dark-only table.dataTable.hover tbody tr:hover > *,
body.dark-only table.dataTable.display tbody tr:hover > * {
  background-color: var(--aurora-table-row-hover) !important;
  color: #ffffff !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button,
body.dark-only .pagination .page-link,
body.dark-only .page-link {
  background: var(--aurora-bg-input) !important;
  border: 1px solid var(--aurora-border-theme) !important;
  color: rgba(255, 255, 255, 0.72) !important;
  box-shadow: none !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.current,
body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
body.dark-only .page-item.active .page-link,
body.dark-only .pagination .active .page-link {
  background: #7366ff !important;
  border-color: #7366ff !important;
  color: #ffffff !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button:hover,
body.dark-only .pagination .page-link:hover,
body.dark-only .page-link:hover {
  background: rgba(115, 102, 255, 0.14) !important;
  border-color: rgba(115, 102, 255, 0.42) !important;
  color: #ffffff !important;
}

body.dark-only .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
body.dark-only .page-item.disabled .page-link {
  background: #1a1c23 !important;
  color: rgba(255, 255, 255, 0.38) !important;
  border-color: var(--aurora-border-theme) !important;
}

body.dark-only .badge.bg-success,
body.dark-only .bg-success { background: rgba(84, 186, 74, 0.18) !important; color: #9be28f !important; border: 1px solid rgba(84, 186, 74, 0.28); }
body.dark-only .badge.bg-warning,
body.dark-only .bg-warning { background: rgba(255, 170, 5, 0.18) !important; color: #ffd36a !important; border: 1px solid rgba(255, 170, 5, 0.30); }
body.dark-only .badge.bg-danger,
body.dark-only .bg-danger { background: rgba(252, 68, 56, 0.18) !important; color: #ff9a92 !important; border: 1px solid rgba(252, 68, 56, 0.30); }
body.dark-only .badge.bg-info,
body.dark-only .bg-info { background: rgba(22, 199, 249, 0.16) !important; color: #7ddfff !important; border: 1px solid rgba(22, 199, 249, 0.28); }
body.dark-only .badge.bg-primary,
body.dark-only .bg-primary { background: rgba(115, 102, 255, 0.22) !important; color: #c7c2ff !important; border: 1px solid rgba(115, 102, 255, 0.34); }
body.dark-only .badge.bg-secondary,
body.dark-only .bg-secondary { background: rgba(153, 153, 169, 0.18) !important; color: rgba(255, 255, 255, 0.78) !important; border: 1px solid rgba(153, 153, 169, 0.26); }
