/* mkontrol - tema: azul-índigo discreto, topo escuro, cards com leve sombra e tabelas com cabeçalho de contraste */
:root {
  --mk-primary: #3b5bdb;
  --mk-primary-hover: #2f49b8;
  --mk-primary-rgb: 59, 91, 219;
  --mk-nav: #1b2336;
  --mk-bg: #eef1f7;
  --mk-card-borda: #dfe4ee;
  --mk-cab: #f3f5fa;
  --mk-texto-cab: #4a5470;

  --bs-primary: var(--mk-primary);
  --bs-primary-rgb: var(--mk-primary-rgb);
  --bs-link-color: var(--mk-primary);
  --bs-link-color-rgb: var(--mk-primary-rgb);
  --bs-link-hover-color: var(--mk-primary-hover);
  --bs-body-bg: #fff;
  --bs-tertiary-bg: var(--mk-bg);
  --bs-tertiary-bg-rgb: 238, 241, 247;
  --bs-border-radius: .5rem;
}
body.bg-body-tertiary { background: var(--mk-bg) !important; }

/* botões e foco na cor do tema */
.btn-primary {
  --bs-btn-bg: var(--mk-primary); --bs-btn-border-color: var(--mk-primary);
  --bs-btn-hover-bg: var(--mk-primary-hover); --bs-btn-hover-border-color: var(--mk-primary-hover);
  --bs-btn-active-bg: var(--mk-primary-hover); --bs-btn-active-border-color: var(--mk-primary-hover);
  --bs-btn-disabled-bg: var(--mk-primary); --bs-btn-disabled-border-color: var(--mk-primary);
}
.btn-outline-primary {
  --bs-btn-color: var(--mk-primary); --bs-btn-border-color: var(--mk-primary);
  --bs-btn-hover-bg: var(--mk-primary); --bs-btn-hover-border-color: var(--mk-primary);
  --bs-btn-active-bg: var(--mk-primary); --bs-btn-active-border-color: var(--mk-primary);
}
.form-control:focus, .form-select:focus, .form-check-input:focus {
  border-color: #98a8ee; box-shadow: 0 0 0 .2rem rgba(var(--mk-primary-rgb), .18);
}
.form-check-input:checked { background-color: var(--mk-primary); border-color: var(--mk-primary); }
.text-bg-primary { background-color: var(--mk-primary) !important; }

/* topo escuro */
.navbar {
  background: var(--mk-nav) !important; border-bottom: 0 !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .25);
}
.navbar-brand {
  color: #fff !important; letter-spacing: .02em; font-weight: 700 !important;
  display: inline-flex; align-items: center; gap: .5rem;
}
.navbar-brand::before {
  content: ""; width: .7rem; height: .7rem; border-radius: 50%;
  background: #6c8cff; box-shadow: 0 0 0 .22rem rgba(108, 140, 255, .28);
}
.navbar .text-secondary { color: #aeb8d0 !important; }
.navbar .btn-outline-secondary { --bs-btn-color: #d5dcef; --bs-btn-border-color: #55607c; --bs-btn-hover-bg: #34405e; --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #6f7b9a; }
.navbar .btn-outline-danger { --bs-btn-color: #ff9aa2; --bs-btn-border-color: #8a4a55; --bs-btn-hover-bg: #c0392b; --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #c0392b; }
.navbar .form-select { background-color: #2a3350; border-color: #44506f; color: #eef1fb; }
.navbar .badge.text-bg-secondary { background-color: #3a4566 !important; color: #d5dcef !important; }
.navbar-toggler { border-color: #55607c; }

/* abas */
#abas { border-bottom: 2px solid var(--mk-card-borda); }
#abas .nav-link {
  color: #5b6684; border: 0; border-bottom: 3px solid transparent; margin-bottom: -2px;
  border-radius: 0; font-weight: 500; padding: .6rem 1rem;
}
#abas .nav-link:hover { color: var(--mk-primary); background: rgba(var(--mk-primary-rgb), .06); }
#abas .nav-link.active { color: var(--mk-primary); background: transparent; border-bottom-color: var(--mk-primary); font-weight: 600; }

/* cards */
.card { border: 1px solid var(--mk-card-borda); box-shadow: 0 1px 3px rgba(27, 35, 54, .06); }
.card h2.h6 { font-weight: 600; color: #2b3552; }

/* indicadores do dashboard: faixa colorida à esquerda */
.card.kpi { border-left: 4px solid var(--kpi, var(--mk-primary)); }
.kpi-down { --kpi: #3b5bdb; }
.kpi-up   { --kpi: #0ca678; }
.kpi-on   { --kpi: #9c36b5; }
.kpi-hora { --kpi: #868e96; }
.kpi .fs-4 { color: var(--kpi); }
.kpi-hora .fs-4 { color: inherit; }

/* tabelas */
table.dataTable thead th, table.table thead th {
  background: var(--mk-cab); color: var(--mk-texto-cab); font-size: .78rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em; border-bottom: 2px solid var(--mk-card-borda) !important;
}
table.dataTable > tbody > tr:hover > * { --bs-table-bg-state: rgba(var(--mk-primary-rgb), .05); }
table.dataTable td { border-color: #edf0f6; }
.dt-container .dt-search input, .dt-container .dt-input { border-radius: .5rem; }
.page-item.active .page-link { background-color: var(--mk-primary); border-color: var(--mk-primary); }
.page-link { color: var(--mk-primary); }

/* distintivos e códigos */
.badge { font-weight: 600; letter-spacing: .01em; }
.badge.text-bg-success { background-color: #d3f5e6 !important; color: #0b6b4d !important; }
.badge.text-bg-danger  { background-color: #fde0e3 !important; color: #a3212f !important; }
.badge.text-bg-warning { background-color: #fff0cc !important; color: #8a5a00 !important; }
.badge.text-bg-secondary { background-color: #e6e9f1 !important; color: #4a5470 !important; }
.badge.text-bg-light { background-color: #eef1f9 !important; color: #3b4770 !important; }
code { color: #5b3fd1; background: #f1eefc; padding: .05rem .35rem; border-radius: .3rem; }
.mac { color: #4a5470; }
.nome-vazio { color: #98a0b5; }

/* modais */
.modal-header { background: var(--mk-cab); border-bottom-color: var(--mk-card-borda); }
.modal-title { font-weight: 600; color: #2b3552; }

/* login */
.login-marca { display: inline-flex; align-items: center; gap: .5rem; color: var(--mk-nav); font-weight: 700; }
.login-marca::before {
  content: ""; width: .8rem; height: .8rem; border-radius: 50%;
  background: var(--mk-primary); box-shadow: 0 0 0 .25rem rgba(var(--mk-primary-rgb), .2);
}
