/**
 * Descaracterização visual: paleta neutra no lugar das cores de marca/status.
 * Texto sobre fundo claro: #171717
 * Fundo/borda/preenchimento sobre fundo claro: #4C4C4C
 * Qualquer uso sobre fundo escuro: #C7C7C7
 */
:root {
  --blue: #4C4C4C;
  --indigo: #4C4C4C;
  --purple: #4C4C4C;
  --pink: #4C4C4C;
  --red: #4C4C4C;
  --orange: #4C4C4C;
  --yellow: #4C4C4C;
  --green: #4C4C4C;
  --teal: #4C4C4C;
  --cyan: #4C4C4C;
  --azure: #4C4C4C;
  --lime: #4C4C4C;
  --primary: #4C4C4C;
  --success: #4C4C4C;
  --info: #4C4C4C;
  --warning: #4C4C4C;
  --danger: #4C4C4C;
}

a,
a:hover,
a:focus {
  color: #171717;
}

.text-primary,
.text-secondary,
.text-success,
.text-info,
.text-warning,
.text-danger,
.text-blue,
.text-azure,
.text-green,
.text-teal,
.text-cyan,
.text-indigo,
.text-purple,
.text-pink,
.text-red,
.text-orange,
.text-yellow,
.text-lime,
a.text-primary,
a.text-success,
a.text-info,
a.text-warning,
a.text-danger {
  color: #171717 !important;
}

.bg-primary,
.bg-success,
.bg-info,
.bg-warning,
.bg-danger,
.bg-blue,
.bg-azure,
.bg-green,
.bg-teal,
.bg-cyan,
.bg-indigo,
.bg-purple,
.bg-pink,
.bg-red,
.bg-orange,
.bg-yellow,
.bg-lime,
.badge-primary,
.badge-success,
.badge-info,
.badge-warning,
.badge-danger,
.card-status,
.avatar-status,
.stamp.bg-info,
.stamp.bg-primary,
.stamp.bg-success,
.stamp.bg-blue,
.stamp.bg-azure,
.stamp.bg-green,
.stamp.bg-teal {
  background-color: #4C4C4C !important;
}

.border-primary,
.border-success,
.border-info,
.border-warning,
.border-danger {
  border-color: #4C4C4C !important;
}

.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
  background-color: #4C4C4C !important;
  border-color: #4C4C4C !important;
  color: #C7C7C7 !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.show > .btn-primary.dropdown-toggle,
.show > .btn-success.dropdown-toggle,
.show > .btn-info.dropdown-toggle {
  background-color: #171717 !important;
  border-color: #171717 !important;
  color: #C7C7C7 !important;
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger {
  color: #171717 !important;
  border-color: #4C4C4C !important;
  background-color: transparent !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-success:hover,
.btn-outline-info:hover,
.btn-outline-warning:hover,
.btn-outline-danger:hover {
  background-color: #4C4C4C !important;
  border-color: #4C4C4C !important;
  color: #C7C7C7 !important;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: #171717 !important;
  border-color: #4C4C4C #4C4C4C #fff !important;
}

.nav-tabs .nav-link:hover:not(.disabled) {
  color: #171717 !important;
  border-color: #4C4C4C !important;
}

.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #4C4C4C !important;
  border-color: #4C4C4C !important;
}

.form-control:focus,
.custom-select:focus {
  border-color: #4C4C4C !important;
  box-shadow: 0 0 0 2px rgba(76, 76, 76, 0.25) !important;
}

.alert-primary,
.alert-success,
.alert-info,
.alert-warning,
.alert-danger {
  background-color: #f5f5f5 !important;
  border-color: #4C4C4C !important;
  color: #171717 !important;
}

.progress-bar,
.progress-bar-success,
.progress-bar-info,
.progress-bar-warning,
.progress-bar-danger {
  background-color: #4C4C4C !important;
}

.list-group-item-primary,
.list-group-item-success,
.list-group-item-info,
.list-group-item-warning,
.list-group-item-danger {
  background-color: #f5f5f5 !important;
  color: #171717 !important;
}

.page-item.active .page-link {
  background-color: #4C4C4C !important;
  border-color: #4C4C4C !important;
  color: #C7C7C7 !important;
}

.page-link {
  color: #171717 !important;
}

.page-link:hover {
  color: #171717 !important;
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: #4C4C4C !important;
  color: #C7C7C7 !important;
}

/* Navegação lateral e seleção de menu */
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus,
a.list-group-item.active {
  color: #171717 !important;
  background-color: #F0F0F0 !important;
  border-color: rgba(76, 76, 76, 0.2) !important;
}

.list-group-transparent .list-group-item.active,
.list-group-transparent .list-group-item.active:hover,
.list-group-transparent .list-group-item.active:focus,
.list-group-transparent a.list-group-item.active {
  color: #171717 !important;
  background-color: rgba(76, 76, 76, 0.1) !important;
  font-weight: 600;
}

.list-group-item-action:hover,
.list-group-item-action:focus,
.list-group-transparent .list-group-item:hover,
.list-group-transparent .list-group-item:focus {
  color: #171717 !important;
  background-color: #F5F5F5 !important;
}

.list-group-item-action.active,
.list-group-item-primary.list-group-item-action.active,
.list-group-item-success.list-group-item-action.active,
.list-group-item-info.list-group-item-action.active,
.list-group-item-warning.list-group-item-action.active,
.list-group-item-danger.list-group-item-action.active {
  color: #171717 !important;
  background-color: #F0F0F0 !important;
  border-color: rgba(76, 76, 76, 0.2) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: #4C4C4C !important;
  color: #C7C7C7 !important;
}

.nav-tabs .nav-submenu .nav-item.active {
  color: #171717 !important;
}

.header .nav-link.active,
#headerMenuCollapse .nav-link.active,
.nav-tabs .nav-item .nav-link.active {
  color: #171717 !important;
}

.bg-dark,
.bg-dark a,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-brand,
.navbar-dark .navbar-text {
  color: #C7C7C7 !important;
}

.bg-dark .btn-primary,
.bg-primary,
.btn-primary,
.badge-primary,
.alert-primary .alert-link {
  color: #C7C7C7 !important;
}

[color="#0099ff"],
[style*="#0099ff"],
[style*="#4188c9"],
[style*="#467fcf"],
[style*="#45aaf2"] {
  color: #171717 !important;
}

.accessibility-contrast a,
.accessibility-contrast button,
.accessibility-contrast input[type=button],
.accessibility-contrast input[type=reset],
.accessibility-contrast input[type=submit],
.accessibility-contrast .btn-secondary,
.accessibility-contrast .button {
  color: #C7C7C7 !important;
}

.bg-blue,
.bg-blue-lighter,
.bg-azure,
.bg-azure-lighter {
  background-color: #E8E8E8 !important;
  color: #171717 !important;
}

.c3-bar,
.c3-line,
.c3-area,
.c3-shapes .c3-shape {
  fill: #4C4C4C !important;
  stroke: #4C4C4C !important;
}

.c3-chart-arc path {
  stroke: #fff !important;
}

.c3-chart-arc path:nth-child(1) { fill: #171717 !important; }
.c3-chart-arc path:nth-child(2) { fill: #2E2E2E !important; }
.c3-chart-arc path:nth-child(3) { fill: #383838 !important; }
.c3-chart-arc path:nth-child(4) { fill: #444444 !important; }
.c3-chart-arc path:nth-child(5) { fill: #4C4C4C !important; }
.c3-chart-arc path:nth-child(6) { fill: #5A5A5A !important; }
.c3-chart-arc path:nth-child(7) { fill: #686868 !important; }
.c3-chart-arc path:nth-child(8) { fill: #767676 !important; }
.c3-chart-arc path:nth-child(9) { fill: #848484 !important; }
.c3-chart-arc path:nth-child(10) { fill: #929292 !important; }
.c3-chart-arc path:nth-child(11) { fill: #A0A0A0 !important; }
.c3-chart-arc path:nth-child(12) { fill: #AEAEAE !important; }
.c3-chart-arc path:nth-child(13) { fill: #BCBCBC !important; }
.c3-chart-arc path:nth-child(14) { fill: #C7C7C7 !important; }
.c3-chart-arc path:nth-child(15) { fill: #D5D5D5 !important; }

.c3-axis text,
.c3-legend-item text {
  fill: #171717 !important;
}

.chart-circle canvas {
  filter: grayscale(100%);
}
