:root{
  /* Paleta oficial do projeto */
  --yellow:#FFE400; --red:#E8171A; --blue:#1a3a8f; --blue-dark:#0f1f4e;
  --green:#16a34a; --orange:#d97706;

  /* Tokens semanticos */
  --azul:#1a3a8f; --azul-d:#0f1f4e; --tinta:#16213e;
  --cinza:#5b6885; --linha:#e3e8f0; --fundo:#f4f6fb; --card:#ffffff;
  --positivo:#16a34a; --negativo:#E8171A; --aviso:#d97706; --destaque:#FFE400;

  /* Sobrescreve variaveis nativas do Bootstrap 5 */
  --bs-primary:#1a3a8f; --bs-primary-rgb:26,58,143;
  --bs-success:#16a34a; --bs-danger:#E8171A; --bs-warning:#d97706;
  --bs-link-color:#1a3a8f; --bs-border-color:#e3e8f0;
}
*{box-sizing:border-box}
body{background:var(--fundo);color:var(--tinta);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}

/* ---- auth ---- */
.auth-body{display:flex;align-items:center;justify-content:center;min-height:100vh;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue))}
.auth-card{background:#fff;border-radius:16px;padding:2.5rem;width:100%;max-width:380px;
  box-shadow:0 20px 60px rgba(15,31,78,.30)}

/* ---- shell ---- */
.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.15rem;color:#fff}
.sidebar{width:248px;min-height:100vh;background:var(--blue-dark);border-right:1px solid var(--blue-dark);padding:1.25rem 1rem;position:sticky;top:0}
.sidebar .nav-link{color:#cdd6ee;border-radius:8px;padding:.55rem .8rem;margin-bottom:2px;font-size:.92rem;display:flex;gap:.6rem;align-items:center;border-left:3px solid transparent}
.sidebar .nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar .nav-link.active{background:rgba(255,255,255,.10);color:#fff;border-left-color:var(--yellow)}
.content{min-height:100vh}
.topbar{display:flex;align-items:center;gap:1rem;background:var(--blue-dark);color:#fff;border-bottom:3px solid var(--yellow);padding:.8rem 1.5rem}
.topbar a{color:#fff}
.topbar .text-muted{color:#aab6d6 !important}

/* ---- cards / kpis ---- */
.card{border:1px solid var(--linha);border-radius:12px;box-shadow:0 1px 2px rgba(15,31,78,.04)}
.card-title{color:var(--blue-dark);font-weight:700}
.kpi{background:#fff;border:1px solid var(--linha);border-top:4px solid var(--blue);border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.25rem;height:100%}
.kpi-label{font-size:.72rem;color:var(--cinza);text-transform:uppercase;letter-spacing:.03em}
.kpi-val{font-size:1.4rem;font-weight:800;color:var(--blue-dark)}
/* variacoes de cor por tipo de metrica */
.kpi.kpi--vol{border-top-color:var(--orange)}
.kpi.kpi--pos{border-top-color:var(--green)}
.kpi.kpi--mrg{border-top-color:var(--yellow)}
.kpi.kpi--inv{border-top-color:var(--blue-dark)}
.kpi.kpi--alerta{border-top-color:var(--red)}
.kpi.kpi--resumo{border-top-color:var(--yellow);background:#fffdf0}

.filtros .form-label{color:var(--cinza)}
.form-control:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(26,58,143,.15)}

/* ---- botoes ---- */
.btn-primary{--bs-btn-bg:var(--blue);--bs-btn-border-color:var(--blue);--bs-btn-hover-bg:var(--blue-dark);--bs-btn-hover-border-color:var(--blue-dark);--bs-btn-active-bg:var(--blue-dark)}
.btn-success{--bs-btn-bg:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:#12823b}
.btn-outline-primary{--bs-btn-color:var(--blue);--bs-btn-border-color:var(--blue);--bs-btn-hover-bg:var(--blue);--bs-btn-hover-border-color:var(--blue)}
.btn-outline-success{--bs-btn-color:var(--green);--bs-btn-border-color:var(--green);--bs-btn-hover-bg:var(--green)}

/* ---- tabelas ---- */
.table>thead{background:var(--blue-dark);color:#fff}
.table>thead th{border-color:var(--blue-dark);font-weight:600}
.table-hover>tbody>tr:hover>*{background:rgba(26,58,143,.06)}
.table .total-row,.table tfoot tr{background:rgba(255,228,0,.18);font-weight:700;color:var(--blue-dark)}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
  background:var(--blue) !important;border-color:var(--blue) !important;color:#fff !important}

/* ---- variacao (badges) ---- */
.text-success{color:var(--green) !important}
.text-danger{color:var(--red) !important}
.badge.bg-success{background:rgba(22,163,74,.12) !important;color:var(--green) !important}
.badge.bg-danger{background:rgba(232,23,26,.12) !important;color:var(--red) !important}
.badge.bg-warning{background:rgba(217,119,6,.12) !important;color:var(--orange) !important}

a{color:var(--blue)} a:hover{color:var(--blue-dark)}
@media (max-width:992px){.sidebar{position:fixed;z-index:1050;transform:translateX(-100%)}}

/* Multi-selecao (dropdown com checkboxes) — filtros de familia */
.ms-dd .dropdown-toggle{ background:#fff; }
.ms-dd .dropdown-menu{ box-shadow:0 6px 20px rgba(15,31,78,.12); }
.ms-dd .form-check{ margin-bottom:.15rem; }
.ms-dd .ms-limpar{ color:var(--blue,#1a3a8f); }
