:root {
  --obc-bg: #f4f7fb;
  --obc-surface: #ffffff;
  --obc-surface-soft: #f8fbff;
  --obc-border: #d9e2ec;
  --obc-border-strong: #c5d1df;
  --obc-text: #1f2937;
  --obc-text-soft: #334155;
  --obc-text-muted: #6b7280;
  --obc-primary: #5b8def;
  --obc-primary-hover: #467de5;
  --obc-primary-soft: #eaf2ff;
  --obc-primary-soft-2: #f3f8ff;
  --obc-success: #2f9e73;
  --obc-warning: #d9a441;
  --obc-danger: #d9534f;
  --obc-shadow-sm: 0 4px 14px rgba(15, 23, 42, 0.04);
  --obc-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  --obc-radius: 12px;
  --obc-radius-sm: 8px;
}

html, body {
  background: var(--obc-bg);
  color: var(--obc-text);
  font-family: 'Roboto', 'Segoe UI', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.layout,
body.layout-header-fixed,
.layout-content,
.layout-main,
.layout-main-body,
.layout-sidebar,
.layout-header,
.layout-footer {
  background: var(--obc-bg);
}

.layout-main-body {
  padding: 18px 22px 28px;
}

.navbar.navbar-default {
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--obc-border);
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.05);
}

.navbar-header,
.navbar-toggleable,
.navbar-default .navbar-nav > li > a,
.navbar-account-btn,
.navbar-account-btn span,
.navbar-text,
.dropdown-menu > li > a {
  color: var(--obc-text) !important;
}

.navbar-brand-logo {
  max-height: 40px;
}

.navbar-account-btn {
  border-radius: 999px;
  padding: 6px 12px;
  background: var(--obc-primary-soft-2);
  border: 1px solid var(--obc-border);
}

.layout-sidebar {
  border-right: 1px solid var(--obc-border);
  box-shadow: 1px 0 0 rgba(15, 23, 42, 0.02);
}

.layout-sidebar .custom-scrollbar,
.sidenav,
.sidenav > li,
.sidenav-item,
.sidenav.level-2,
#sidenav {
  background: #fff;
}

.sidenav-item > a,
.sidenav.level-2 li a {
  color: var(--obc-text-muted);
  border-radius: 9px;
  margin: 3px 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  transition: all .18s ease;
}

.sidenav-item > a:hover,
.sidenav.level-2 li a:hover,
.sidenav-item.active > a,
.sidenav-item.open > a,
.sidenav > .active > a {
  background: var(--obc-primary-soft);
  color: var(--obc-primary) !important;
}

.sidenav-item > a:hover .sidenav-icon,
.sidenav-item.active > a .sidenav-icon,
.sidenav-item.open > a .sidenav-icon,
.sidenav > .active > a .sidenav-icon {
  color: var(--obc-primary) !important;
}

.sidenav-icon {
  color: #8a97ab;
}

.sidenav-divider {
  color: var(--obc-text-muted);
  background: #fff;
  margin: 12px 0 6px !important;
  font-size: 12px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.sidenav-divider hr {
  margin-bottom: 8px !important;
}

.container,
.container-fluid {
  padding-top: 10px;
}

.panel,
.widget,
.modal-content,
.dropdown-menu,
.table-responsive,
div.dataTables_wrapper,
.alert,
.well {
  background: var(--obc-surface);
  border: 1px solid var(--obc-border);
  border-radius: var(--obc-radius);
  box-shadow: var(--obc-shadow-sm);
}

.dropdown-menu {
  padding: 8px;
}

.dropdown-header {
  border-bottom: 1px solid var(--obc-border);
  margin-bottom: 8px;
  padding-bottom: 10px;
}

.list-group-item {
  border-color: var(--obc-border);
  border-radius: 10px !important;
  margin-bottom: 6px;
}

.notification-media .circle,
.bg-warning.circle,
.bg-success.circle {
  box-shadow: none !important;
}

.form-control,
.chosen-container .chosen-single,
.chosen-container-multi .chosen-choices,
.dataTables_filter input,
.dataTables_length select {
  background: #fff;
  border: 1px solid var(--obc-border);
  border-radius: var(--obc-radius-sm);
  color: var(--obc-text);
  min-height: 40px;
  box-shadow: none;
}

.form-control:focus,
.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices,
.dataTables_filter input:focus,
.dataTables_length select:focus {
  border-color: var(--obc-primary);
  box-shadow: 0 0 0 3px rgba(91, 141, 239, 0.14);
}

.chosen-container .chosen-results li.highlighted {
  background: var(--obc-primary);
}

.btn {
  border-radius: 8px;
  font-weight: 500;
  transition: all .18s ease;
  box-shadow: none;
}

.btn-primary,
.badge-primary,
.label-primary {
  background: var(--obc-primary) !important;
  border-color: var(--obc-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--obc-primary-hover) !important;
  border-color: var(--obc-primary-hover) !important;
}

.btn-default {
  background: #fff;
  border: 1px solid var(--obc-border-strong);
  color: var(--obc-text);
}

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

.table,
.table > thead > tr > th,
.table > tbody > tr > td {
  border-color: var(--obc-border) !important;
}

.table > thead > tr > th {
  background: #f7fafe;
  color: #435269;
  font-weight: 600;
}

.table-hover > tbody > tr:hover,
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #fbfdff;
}

div.dataTables_wrapper {
  padding: 14px;
}

div.dataTables_wrapper div.dataTables_processing {
  top: 0;
  background: var(--obc-primary-soft);
  border: 1px solid var(--obc-border);
  color: var(--obc-text);
  font-weight: 600;
  border-radius: 8px;
}

.pagination > li > a,
.pagination > li > span {
  color: var(--obc-primary);
  border-color: var(--obc-border);
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
  background: var(--obc-primary);
  border-color: var(--obc-primary);
}

.modal-header {
  border-bottom: 1px solid var(--obc-border);
  background: #f8fbff;
}

.modal-header.bg-success,
.modal-header.bg-primary {
  background: var(--obc-primary-soft) !important;
  color: var(--obc-text);
}

.modal-title,
.notification-heading,
h1,h2,h3,h4,h5,h6 {
  color: var(--obc-text);
  font-weight: 600;
}

small,
.text-muted,
.help-block,
.navbar-text,
.notification-text,
.sidenav-label {
  color: var(--obc-text-muted);
}

.error {
  color: var(--obc-danger);
  border-color: var(--obc-danger) !important;
}

input.error,
select.error,
textarea.error {
  border: 1px solid var(--obc-danger) !important;
  box-shadow: 0 0 0 3px rgba(217,83,79,.08);
}

.text-error {
  color: var(--obc-danger) !important;
}

.toast-top-center .toast,
#toast-container > .toast {
  box-shadow: var(--obc-shadow);
  border-radius: 10px;
}

@media (max-width: 767px) {
  .layout-main-body {
    padding: 12px;
  }
  .navbar-account-btn {
    padding: 4px 10px;
  }
}


/* legacy cyan cleanup */
.layout-footer,
.layout-footer-body,
.layout-footer .copyright,
.layout-footer a {
  background: #fff !important;
  color: var(--obc-text-muted) !important;
  border-top: 1px solid var(--obc-border);
}

.sidenav-item.active > a:after,
.sidenav > .active > a:after {
  border-right-color: #fff !important;
}

.sidenav-toggler,
.navbar-default .sidenav-toggler.collapsed,
.sidenav-toggler .bar-line.in,
.sidenav-toggler .bar-line.out {
  background-color: transparent !important;
}

.sidenav-toggler .bar-line {
  background-color: var(--obc-primary) !important;
}

.bg-primary,
.panel-primary > .panel-heading,
.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover,
.pagination > .active > a,
.pagination > .active > span {
  background-color: var(--obc-primary) !important;
  border-color: var(--obc-primary) !important;
}

.bg-info,
.label-info,
.btn-info {
  background-color: var(--obc-primary-soft) !important;
  border-color: var(--obc-border) !important;
  color: var(--obc-text) !important;
}

.dataTables_processing {
  background: var(--obc-primary-soft) !important;
  color: var(--obc-text) !important;
  border: 1px solid var(--obc-border) !important;
}

@media (max-width: 767px) {
  .layout-sidebar,
  .layout-sidebar-body,
  .layout-sidebar .custom-scrollbar,
  #sidenav,
  .sidenav,
  .layout-content,
  .layout-main,
  .layout-main-body {
    background: var(--obc-bg) !important;
  }

  .layout-sidebar {
    background: #fff !important;
  }
}

/* iterative cleanup: remaining legacy blues + visible hamburger */
body .layout-header,
body .layout-sidebar,
body .layout-content,
body .layout-main,
body .layout-footer,
body .layout-footer-body,
body .title-bar,
body .panel,
body .panel-heading,
body .panel-body,
body .widget,
body .widget-header,
body .widget-body,
body .table-responsive,
body .dropdown-menu,
body .modal-content {
  background-color: #fff !important;
}

body .title-bar {
  background: transparent !important;
  margin: 0 0 14px;
  padding: 6px 4px 8px;
}

body .title-bar-title,
body .title-bar-description,
body .title-bar small {
  color: var(--obc-text) !important;
}

body .layout-footer,
body .layout-footer-body {
  background: #fff !important;
}

body .navbar-default .sidenav-toggler,
body .navbar-default .sidenav-toggler:hover,
body .navbar-default .sidenav-toggler:focus,
body .navbar-toggler,
body .navbar-toggler:hover,
body .navbar-toggler:focus {
  background: #eef4ff !important;
  border: 1px solid var(--obc-border) !important;
  border-radius: 10px;
}

body .navbar-toggler .bar-line,
body .sidenav-toggler .bar-line,
body .navbar-default .sidenav-toggler .bar-line,
body .navbar-default .sidenav-toggler .bar-line.in,
body .navbar-default .sidenav-toggler .bar-line.out,
body .bars .bar-line,
body .bars-x .bar-line {
  background-color: var(--obc-primary) !important;
}

body .navbar-toggler .ellipsis,
body .navbar-toggler .ellipsis-object,
body .navbar-toggler .arrow-up {
  background: transparent !important;
}

body .sidenav-item > a,
body .sidenav.level-2 li a,
body .sidenav-item > a:hover,
body .sidenav-item.active > a,
body .sidenav-item.open > a,
body .sidenav > .active > a {
  background-image: none !important;
}

body .panel-primary,
body .panel-info,
body .panel-primary > .panel-heading,
body .panel-info > .panel-heading,
body .bg-info,
body .bg-primary,
body .label-info,
body .label-primary,
body .badge-primary {
  background-image: none !important;
}

/* kill old plugin blues in tables / mobile menu details */
.table.dataTable tbody tr,
table.dataTable tbody tr,
table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd,
table.dataTable.display tbody tr.even,
.table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-of-type(even) {
  background-color: #ffffff !important;
}

table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover,
.table-hover > tbody > tr:hover {
  background-color: #f6f9fe !important;
}

table.dataTable tbody tr.selected,
table.dataTable tbody th.selected,
table.dataTable tbody td.selected,
.table.dataTable tbody tr.selected,
.table.dataTable tbody td.selected,
.table.dataTable tbody th.selected {
  background-color: #eef5ff !important;
  color: var(--obc-text) !important;
}

table.dataTable tbody tr.selected > *,
table.dataTable tbody td.selected > *,
table.dataTable tbody th.selected > * {
  color: var(--obc-text) !important;
}

.table.dataTable thead th,
.table.dataTable thead td,
table.dataTable thead th,
table.dataTable thead td {
  background-color: #f7fafe !important;
  color: #435269 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.pagination > .active > a,
.pagination > .active > span {
  background: var(--obc-primary) !important;
  color: #fff !important;
  border: 1px solid var(--obc-primary) !important;
  border-radius: 8px !important;
}

.layout-sidebar .sidenav-label,
.layout-sidebar .sidenav-icon,
.layout-sidebar a,
.layout-sidebar li,
.layout-sidebar span {
  color: var(--obc-text-muted) !important;
}

.layout-sidebar .sidenav-item > a:hover,
.layout-sidebar .sidenav-item.active > a,
.layout-sidebar .sidenav-item.open > a,
.layout-sidebar .sidenav > .active > a {
  color: var(--obc-primary) !important;
}

.layout-sidebar .sidenav-item > a:hover .sidenav-label,
.layout-sidebar .sidenav-item.active > a .sidenav-label,
.layout-sidebar .sidenav-item.open > a .sidenav-label,
.layout-sidebar .sidenav > .active > a .sidenav-label,
.layout-sidebar .sidenav-item > a:hover .sidenav-icon,
.layout-sidebar .sidenav-item.active > a .sidenav-icon,
.layout-sidebar .sidenav-item.open > a .sidenav-icon,
.layout-sidebar .sidenav > .active > a .sidenav-icon {
  color: var(--obc-primary) !important;
}

@media (max-width: 767px) {
  .layout-sidebar,
  .layout-sidebar-body,
  .layout-sidebar .custom-scrollbar,
  #sidenav,
  .sidenav,
  .sidenav.level-1,
  .sidenav.level-2,
  .sidenav-item,
  .sidenav-item > a {
    background-color: #ffffff !important;
  }

  .layout-sidebar {
    min-height: 100vh;
  }
}

/* precise fixes from deep mobile probe */
.layout-sidebar-backdrop {
  background: rgba(255, 255, 255, 0.96) !important;
}

.table.dataTable tbody tr,
table.dataTable tbody tr,
.table-striped > tbody > tr,
.table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-of-type(even) {
  background-color: #ffffff !important;
}

.table.dataTable tbody tr:nth-of-type(odd),
table.dataTable tbody tr:nth-of-type(odd) {
  background-color: #f5f6f8 !important;
}

.table.dataTable tbody tr:hover,
table.dataTable tbody tr:hover,
.table-hover > tbody > tr:hover {
  background-color: #eceff3 !important;
}

table.dataTable tbody tr.selected,
table.dataTable tbody th.selected,
table.dataTable tbody td.selected,
.table.dataTable tbody tr.selected,
.table.dataTable tbody td.selected,
.table.dataTable tbody th.selected {
  background-color: #e7eaee !important;
  color: var(--obc-text) !important;
}

.layout-sidebar,
.layout-sidebar-body,
.layout-sidebar-backdrop,
.layout-sidebar .custom-scrollbar,
#sidenav,
.sidenav,
.sidenav.level-1,
.sidenav.level-2,
.sidenav-item,
.sidenav-divider {
  background-image: none !important;
}

/* header/logo/title cleanup + datatable pagination neutralization */
.navbar-header,
.navbar-default .navbar-header,
.navbar-brand,
.navbar-brand-logo,
.navbar-brand > img,
.layout-header,
.navbar.navbar-default,
.title-bar,
.title-bar-title,
.title-bar-description {
  background-color: #ffffff !important;
  background-image: none !important;
}

.navbar-header {
  border-right: 1px solid var(--obc-border) !important;
}

.title-bar {
  border-bottom: 1px solid var(--obc-border);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background: #e7eaee !important;
  color: var(--obc-text) !important;
  border: 1px solid var(--obc-border-strong) !important;
  border-radius: 8px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.pagination > li > a,
.pagination > li > span {
  color: var(--obc-text-soft) !important;
  background: #fff !important;
  border: 1px solid var(--obc-border) !important;
  border-radius: 8px;
  margin: 0 2px;
}
