/*
 * Global monochrome theme
 * Palette: #000, #fff, #eee
 */

:root {
  --mono-black: #000;
  --mono-white: #fff;
  --mono-gray: #eee;
  --mono-border-soft: rgba(0, 0, 0, 0.14);
  --mono-border-strong: rgba(0, 0, 0, 0.28);
  --mono-shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.06);
  --mono-shadow-md: 0 10px 24px rgba(0, 0, 0, 0.08);
  --mono-text-muted: rgba(0, 0, 0, 0.62);
}

body.theme-monochrome {
  background-color: var(--mono-gray) !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .main-content {
  background-color: var(--mono-gray) !important;
  min-height: 100vh;
}

body.theme-monochrome .container,
body.theme-monochrome .container-fluid {
  background: transparent !important;
}

body.theme-monochrome .page-link,
body.theme-monochrome .modal-content {
  color: var(--mono-black);
}

body.theme-monochrome .bg-default,
body.theme-monochrome .bg-primary,
body.theme-monochrome .bg-secondary,
body.theme-monochrome .bg-success,
body.theme-monochrome .bg-info,
body.theme-monochrome .bg-warning,
body.theme-monochrome .bg-danger,
body.theme-monochrome .bg-light,
body.theme-monochrome [class*="bg-gradient-"] {
  background: var(--mono-gray) !important;
  background-image: none !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .bg-dark {
  background: var(--mono-black) !important;
  color: var(--mono-white) !important;
}

body.theme-monochrome .bg-dark .text-white,
body.theme-monochrome .bg-dark .text-light,
body.theme-monochrome .bg-dark .text-muted {
  color: var(--mono-white) !important;
}

body.theme-monochrome .header,
body.theme-monochrome .navbar:not(.navbar-vertical),
body.theme-monochrome .navbar-top {
  background: var(--mono-white) !important;
  border-bottom: 1px solid var(--mono-border-soft) !important;
}

body.theme-monochrome .header .text-white,
body.theme-monochrome .header .text-light,
body.theme-monochrome .navbar .text-white,
body.theme-monochrome .navbar .text-light,
body.theme-monochrome .text-white,
body.theme-monochrome .text-light {
  color: var(--mono-black) !important;
}

body.theme-monochrome .sidenav,
body.theme-monochrome .sidenav.navbar,
body.theme-monochrome .navbar-vertical {
  background: var(--mono-white) !important;
  border-right: 1px solid var(--mono-border-soft) !important;
}

body.theme-monochrome .sidenav .navbar-brand,
body.theme-monochrome .sidenav .nav-link,
body.theme-monochrome .sidenav .nav-link-text,
body.theme-monochrome .navbar-nav .nav-link {
  color: var(--mono-black) !important;
}

body.theme-monochrome .sidenav .nav-item.active > .nav-link,
body.theme-monochrome .sidenav .nav-link.active,
body.theme-monochrome .navbar-nav .nav-link.active {
  background: var(--mono-gray) !important;
  border: 1px solid transparent !important;
  border-radius: 0.45rem;
}

body.theme-monochrome .card,
body.theme-monochrome .modal-content {
  background: var(--mono-white) !important;
  border: 1px solid var(--mono-border-soft) !important;
  border-radius: 0.75rem;
  box-shadow: var(--mono-shadow-sm) !important;
}

body.theme-monochrome .card:hover {
  box-shadow: var(--mono-shadow-md) !important;
}

body.theme-monochrome .card-header,
body.theme-monochrome .card-footer,
body.theme-monochrome .modal-header,
body.theme-monochrome .modal-footer {
  background: var(--mono-gray) !important;
  border-color: var(--mono-border-soft) !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .btn {
  box-shadow: none !important;
  border-radius: 0.45rem;
  font-weight: 600;
}

body.theme-monochrome .btn-primary,
body.theme-monochrome .btn-success,
body.theme-monochrome .btn-info,
body.theme-monochrome .btn-warning,
body.theme-monochrome .btn-danger,
body.theme-monochrome .btn-default {
  background: var(--mono-black) !important;
  border-color: var(--mono-black) !important;
  color: var(--mono-white) !important;
}

body.theme-monochrome .btn-primary:hover,
body.theme-monochrome .btn-success:hover,
body.theme-monochrome .btn-info:hover,
body.theme-monochrome .btn-warning:hover,
body.theme-monochrome .btn-danger:hover,
body.theme-monochrome .btn-default:hover,
body.theme-monochrome .btn-primary:focus,
body.theme-monochrome .btn-success:focus,
body.theme-monochrome .btn-info:focus,
body.theme-monochrome .btn-warning:focus,
body.theme-monochrome .btn-danger:focus,
body.theme-monochrome .btn-default:focus {
  background: var(--mono-black) !important;
  border-color: var(--mono-black) !important;
  color: var(--mono-white) !important;
}

body.theme-monochrome .btn-secondary,
body.theme-monochrome .btn-light {
  background: var(--mono-gray) !important;
  border-color: var(--mono-border-strong) !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .btn-outline-primary,
body.theme-monochrome .btn-outline-success,
body.theme-monochrome .btn-outline-info,
body.theme-monochrome .btn-outline-warning,
body.theme-monochrome .btn-outline-danger,
body.theme-monochrome .btn-outline-secondary {
  background: var(--mono-white) !important;
  border-color: var(--mono-border-strong) !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .btn-outline-primary:hover,
body.theme-monochrome .btn-outline-success:hover,
body.theme-monochrome .btn-outline-info:hover,
body.theme-monochrome .btn-outline-warning:hover,
body.theme-monochrome .btn-outline-danger:hover,
body.theme-monochrome .btn-outline-secondary:hover {
  background: var(--mono-black) !important;
  border-color: var(--mono-black) !important;
  color: var(--mono-white) !important;
}

body.theme-monochrome .btn[disabled],
body.theme-monochrome .btn.disabled {
  opacity: 0.5 !important;
}

body.theme-monochrome .form-control,
body.theme-monochrome .custom-select,
body.theme-monochrome .input-group-text,
body.theme-monochrome .select2-container--default .select2-selection--single,
body.theme-monochrome .select2-container--default .select2-selection--multiple {
  background: var(--mono-white) !important;
  border: 1px solid var(--mono-border-soft) !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .form-control:focus,
body.theme-monochrome .custom-select:focus,
body.theme-monochrome .select2-container--default.select2-container--focus .select2-selection--single,
body.theme-monochrome .select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--mono-border-strong) !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.08) !important;
}

body.theme-monochrome .form-control::placeholder {
  color: var(--mono-text-muted) !important;
  opacity: 1;
}

body.theme-monochrome .text-primary,
body.theme-monochrome .text-info,
body.theme-monochrome .text-success,
body.theme-monochrome .text-warning,
body.theme-monochrome .text-danger,
body.theme-monochrome .text-blue,
body.theme-monochrome .text-green,
body.theme-monochrome .text-orange,
body.theme-monochrome .text-red,
body.theme-monochrome .text-purple,
body.theme-monochrome .text-brown {
  color: var(--mono-black) !important;
}

body.theme-monochrome .text-muted {
  color: var(--mono-text-muted) !important;
}

body.theme-monochrome a:not(.btn):not(.dropdown-item) {
  color: var(--mono-black) !important;
}

body.theme-monochrome a:not(.btn):not(.dropdown-item):hover {
  color: var(--mono-black) !important;
  text-decoration: underline;
}

body.theme-monochrome .badge,
body.theme-monochrome .badge-primary,
body.theme-monochrome .badge-success,
body.theme-monochrome .badge-info,
body.theme-monochrome .badge-warning,
body.theme-monochrome .badge-danger,
body.theme-monochrome .badge-secondary,
body.theme-monochrome .badge-dark,
body.theme-monochrome .badge-pill {
  background: var(--mono-black) !important;
  color: var(--mono-white) !important;
  border: none !important;
}

body.theme-monochrome .badge-light {
  background: var(--mono-gray) !important;
  color: var(--mono-black) !important;
  border: 1px solid var(--mono-border-soft) !important;
}

body.theme-monochrome .alert,
body.theme-monochrome .alert-primary,
body.theme-monochrome .alert-success,
body.theme-monochrome .alert-info,
body.theme-monochrome .alert-warning,
body.theme-monochrome .alert-danger,
body.theme-monochrome .alert-secondary {
  background: var(--mono-white) !important;
  color: var(--mono-black) !important;
  border: 1px solid var(--mono-border-soft) !important;
}

body.theme-monochrome .dropdown-menu {
  background: var(--mono-white) !important;
  border: 1px solid var(--mono-border-soft) !important;
  box-shadow: var(--mono-shadow-sm) !important;
}

body.theme-monochrome .dropdown-item {
  color: var(--mono-black) !important;
}

body.theme-monochrome .dropdown-item:hover,
body.theme-monochrome .dropdown-item:focus {
  background: var(--mono-gray) !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .table {
  color: var(--mono-black) !important;
}

body.theme-monochrome .table th,
body.theme-monochrome .table td {
  border-color: var(--mono-border-soft) !important;
}

body.theme-monochrome .table thead th {
  background: var(--mono-gray) !important;
}

body.theme-monochrome .table-striped tbody tr:nth-of-type(odd) {
  background: rgba(0, 0, 0, 0.02) !important;
}

body.theme-monochrome .progress {
  background: var(--mono-gray) !important;
}

body.theme-monochrome .progress-bar {
  background: var(--mono-black) !important;
}

body.theme-monochrome .pagination .page-link {
  background: var(--mono-white) !important;
  border: 1px solid var(--mono-border-soft) !important;
  color: var(--mono-black) !important;
}

body.theme-monochrome .pagination .page-item.active .page-link {
  background: var(--mono-black) !important;
  border-color: var(--mono-black) !important;
  color: var(--mono-white) !important;
}

body.theme-monochrome .timeline .timeline-marker,
body.theme-monochrome .icon,
body.theme-monochrome .icon-shape {
  background: var(--mono-gray) !important;
  color: var(--mono-black) !important;
  border: 1px solid var(--mono-border-soft) !important;
}

body.theme-monochrome .timeline .timeline-marker {
  background: var(--mono-black) !important;
  color: var(--mono-white) !important;
  border-color: var(--mono-black) !important;
}

body.theme-monochrome [style*="linear-gradient"] {
  background: var(--mono-gray) !important;
  background-image: none !important;
}

body.theme-monochrome .shadow,
body.theme-monochrome [class*="shadow"] {
  box-shadow: var(--mono-shadow-sm) !important;
}

/* Override inline white text in some navbar controls */
body.theme-monochrome .navbar .btn[style*="color: #fff"],
body.theme-monochrome .navbar .btn[style*="color:#fff"] {
  color: var(--mono-black) !important;
  border-color: var(--mono-black) !important;
  background: transparent !important;
}

/* Keep the mobile sidebar trigger visible on white navbar backgrounds */
body.theme-monochrome .sidenav-toggler-dark .sidenav-toggler-line {
  background-color: var(--mono-black) !important;
}
