:root {
  --brand-primary: #0e4d64;
  --brand-primary-dark: #0a3b4d;
  --brand-primary-soft: #e7f0f3;
  --brand-secondary: #19a7b8;
  --brand-secondary-dark: #117987;
  --brand-secondary-soft: #e7f8fa;
  --brand-page-bg: #f8f9fa;
  --brand-surface: #ffffff;
  --brand-surface-muted: #f1f5f7;
  --brand-border: #dbe7eb;
  --brand-text: #17313b;
  --brand-muted-text: #5d737c;
}

body.dark-mode {
  --brand-page-bg: #081f29;
  --brand-surface: #0e2d3a;
  --brand-surface-muted: #123847;
  --brand-border: #1c5668;
  --brand-text: #e7f8fa;
  --brand-muted-text: #a9c5cd;
}

body {
  background-color: var(--brand-page-bg);
  color: var(--brand-text);
  font-family: 'Inter', sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}

a {
  color: var(--brand-primary);
}

a:hover {
  color: #fff;
}

a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
  background-color: var(--brand-primary);
  border-radius: 0.25rem;
  text-decoration: none;
}

.bg-green-600,
.hover\:bg-green-700:hover,
.active\:bg-green-700:active {
  background-color: var(--brand-primary) !important;
}

.bg-green-100 {
  background-color: var(--brand-primary-soft) !important;
}

.text-green-600,
.hover\:text-green-600:hover {
  color: var(--brand-primary) !important;
}

.text-green-700 {
  color: var(--brand-primary-dark) !important;
}

.border-green-600,
.hover\:border-green-700:hover,
.active\:border-green-700:active {
  border-color: var(--brand-primary) !important;
}

.border-green-300 {
  border-color: var(--brand-secondary) !important;
}

.focus\:ring-green-300:focus {
  --tw-ring-color: rgba(25, 167, 184, 0.35) !important;
}

.focus\:border-green-600:focus {
  border-color: var(--brand-secondary) !important;
}

.btn.bg-green-600:hover,
button.bg-green-600:hover,
a.bg-green-600:hover {
  background-color: var(--brand-primary-dark) !important;
  border-color: var(--brand-primary-dark) !important;
}

.btn-primary,
.btn-success,
.bg-primary,
.bg-success {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

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

.btn-info,
.bg-info {
  background-color: var(--brand-secondary) !important;
  border-color: var(--brand-secondary) !important;
}

.btn-info:hover,
.btn-info:focus {
  background-color: var(--brand-secondary-dark) !important;
  border-color: var(--brand-secondary-dark) !important;
}

.btn-outline-primary,
.btn-outline-success {
  color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.btn-outline-primary:hover,
.btn-outline-success:hover {
  color: #fff !important;
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.text-primary,
.text-success {
  color: var(--brand-primary) !important;
}

.text-info {
  color: var(--brand-secondary) !important;
}

.border-primary,
.border-success {
  border-color: var(--brand-primary) !important;
}

.border-info {
  border-color: var(--brand-secondary) !important;
}

.badge.buttoncolor,
.badge.mybg {
  background-color: var(--brand-secondary) !important;
}

.main-header.navbar,
.main-sidebar .brand-link {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary-dark) !important;
}

.main-header.navbar .nav-link,
.main-sidebar .brand-link,
.main-sidebar .brand-link .brand-text {
  color: #fff !important;
}

.main-header.navbar .nav-link:hover,
.main-header.navbar .nav-link:focus,
.main-sidebar .brand-link:hover {
  color: #fff !important;
  background-color: var(--brand-primary-dark) !important;
}

.main-sidebar {
  background-color: var(--brand-primary-soft) !important;
}

.main-sidebar .user-panel,
.main-sidebar .nav-sidebar {
  color: var(--brand-primary-dark);
}

.main-sidebar .nav-sidebar .nav-link {
  color: var(--brand-primary-dark) !important;
}

.main-sidebar .nav-sidebar .nav-link:hover,
.main-sidebar .nav-sidebar .nav-link:focus,
.main-sidebar .nav-sidebar .nav-link.active,
.sidebar-light-success .nav-sidebar > .nav-item > .nav-link.active,
.nav-pills .nav-link.active {
  color: #fff !important;
  background-color: var(--brand-primary) !important;
}

.main-sidebar .nav-sidebar .nav-link:hover p,
.main-sidebar .nav-sidebar .nav-link:hover i,
.main-sidebar .nav-sidebar .nav-link.active p,
.main-sidebar .nav-sidebar .nav-link.active i {
  color: #fff !important;
}

.main-sidebar .nav-treeview .nav-link:hover,
.main-sidebar .nav-treeview .nav-link.active {
  background-color: var(--brand-secondary) !important;
  color: #fff !important;
}

.page-item.active .page-link {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.page-link {
  color: var(--brand-primary);
}

.page-link:hover {
  color: #fff !important;
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.content-wrapper,
.wrapper,
.layout-fixed .wrapper .content-wrapper {
  background-color: var(--brand-page-bg) !important;
  color: var(--brand-text) !important;
}

.card,
.card-body,
.modal-content,
.dropdown-menu,
.table,
.callout,
.small-box,
.info-box,
.list-group-item,
.timeline > div > .timeline-item,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.form-control,
.custom-select,
.input-group-text,
.page-link,
.dataTables_wrapper,
.select2-dropdown,
.select2-results__option {
  background-color: var(--brand-surface) !important;
  border-color: var(--brand-border) !important;
  color: var(--brand-text) !important;
}

.card-header,
.card-footer,
.modal-header,
.modal-footer,
.dropdown-header,
.table thead th,
.table tfoot th,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  background-color: var(--brand-surface-muted) !important;
  border-color: var(--brand-border) !important;
  color: var(--brand-text) !important;
}

.table td,
.table th,
.table-bordered td,
.table-bordered th {
  border-color: var(--brand-border) !important;
}

.table-striped tbody tr:nth-of-type(odd),
.table-hover tbody tr:hover,
.bg-light,
.well {
  background-color: var(--brand-surface-muted) !important;
  color: var(--brand-text) !important;
}

.text-muted,
.dataTables_info,
.breadcrumb-item.active,
.main-sidebar .user-panel strong {
  color: var(--brand-muted-text) !important;
}

.dropdown-item,
.dropdown-menu a,
.card a:not(.btn),
.table a:not(.btn) {
  color: var(--brand-primary) !important;
}

.dropdown-item:hover,
.dropdown-menu a:hover,
.card a:not(.btn):hover,
.table a:not(.btn):hover {
  color: #fff !important;
  background-color: var(--brand-primary) !important;
}

body.dark-mode .main-header.navbar,
body.dark-mode .main-sidebar .brand-link {
  background-color: var(--brand-primary-dark) !important;
  border-color: #062a37 !important;
}

body.dark-mode .main-sidebar {
  background-color: #092632 !important;
}

body.dark-mode .main-sidebar .user-panel,
body.dark-mode .main-sidebar .user-panel a,
body.dark-mode .main-sidebar .nav-sidebar,
body.dark-mode .main-sidebar .nav-sidebar .nav-link {
  color: var(--brand-text) !important;
}

body.dark-mode .main-sidebar .nav-sidebar .nav-link:hover,
body.dark-mode .main-sidebar .nav-sidebar .nav-link:focus,
body.dark-mode .main-sidebar .nav-sidebar .nav-link.active,
body.dark-mode .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
  color: #fff !important;
  background-color: var(--brand-secondary-dark) !important;
}

body.dark-mode .main-sidebar .nav-treeview {
  background-color: rgba(0, 0, 0, 0.16) !important;
}

body.dark-mode .btn-default,
body.dark-mode .btn-light,
body.dark-mode .btn-outline-secondary {
  color: var(--brand-text) !important;
  background-color: var(--brand-surface-muted) !important;
  border-color: var(--brand-border) !important;
}

body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
  color: var(--brand-muted-text) !important;
}

body.dark-mode .alert-info {
  color: var(--brand-secondary-soft) !important;
  background-color: #0f3d49 !important;
  border-color: var(--brand-secondary-dark) !important;
}

body.dark-mode .alert-success {
  color: var(--brand-secondary-soft) !important;
  background-color: #0f463d !important;
  border-color: var(--brand-secondary) !important;
}

body.dark-mode .small-box .icon,
body.dark-mode .info-box-icon {
  color: rgba(255, 255, 255, 0.75) !important;
}

body.dark-mode .dt-button,
body.dark-mode button.dt-button,
body.dark-mode div.dt-button,
body.dark-mode a.dt-button {
  color: var(--brand-text) !important;
  background: var(--brand-surface-muted) !important;
  border-color: var(--brand-border) !important;
}
