/* ============================================================
   Maia Conduta · Tema operacional
   Gramática visual inspirada no OneUI: navegação sólida, superfícies
   de trabalho claras e hierarquia tipográfica. Camada não destrutiva.
   ============================================================ */

:root {
  --bg: #f4f6f9;
  --bg-2: #ffffff;
  --glass: #ffffff;
  --glass-2: #f7f8fa;
  --borda: #e2e6ec;
  --borda-2: #cfd6df;
  --texto: #1d2632;
  --texto-2: #5d6877;
  --texto-3: #7b8797;
  --acento: #c8102e;
  --acento-claro: #e21b3c;
  --acento-suave: #fff0f3;
  --ok: #1e8a5d;
  --ok-suave: #e9f7f0;
  --alerta: #a96b08;
  --alerta-suave: #fff7e6;
  --info: #286fb4;
  --info-suave: #edf5fc;
  --roxo: #7250b5;
  --roxo-suave: #f2edfc;
  --raio: 6px;
  --raio-sm: 4px;
  --fonte-titulo: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fonte-corpo: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --transicao: 150ms ease;
}

body {
  background: var(--bg);
  color: var(--texto);
  letter-spacing: -0.006em;
}
body::before { display: none; }
body.logado { padding-left: 256px; }

.sidebar {
  top: 0;
  left: 0;
  bottom: 0;
  width: 256px;
  padding: 24px 14px 16px;
  border: 0;
  border-right: 1px solid #243040;
  border-radius: 0;
  background: #1d2733;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.sidebar::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background: var(--acento);
}
.sb-marca {
  padding: 0 12px 20px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.11);
}
.sb-marca-nome {
  font-family: var(--fonte-titulo);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .025em;
}
.sb-marca-nome strong { color: #fff; }
.sb-slogan {
  margin-top: 5px;
  color: #9eabb9;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
}
.sb-filtro { padding: 0 4px; }
.sb-filtro select {
  width: 100%;
  color: #dfe6ee;
  background-color: #273342;
  border-color: #3a485a;
  border-radius: 4px;
}
.sb-nav { gap: 3px; }
.sb-nav a {
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 4px;
  color: #b9c3cf;
  font-size: 13px;
}
.sb-nav a::before { display: none; }
.sb-nav a:hover {
  color: #fff;
  background: #293646;
}
.sb-nav a.ativo {
  color: #fff;
  background: #344355;
  box-shadow: inset 3px 0 0 var(--acento);
}
.sb-nav a.ativo svg { color: #fff; }
.sb-rotulo {
  padding: 0 12px;
  margin: 22px 0 7px;
  color: #8391a0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
}
.sb-rodape {
  padding: 14px 4px 0;
  border-top-color: rgba(255,255,255,.12);
}
.sb-quem { padding: 0 8px; }
.sb-quem-nome { color: #f7f9fb; font-size: 12px; }
.sb-quem-un { color: #9eabb9; }
.sb-acoes { gap: 5px; }
.sb-acoes a {
  padding: 7px 6px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 4px;
  color: #aeb9c7;
}
.sb-acoes a:hover { color: #fff; background: #293646; }
.sb-toggle {
  top: 12px;
  left: 12px;
  width: 40px;
  height: 40px;
  border-color: #d6dce4;
  border-radius: 4px;
  background: #fff;
  color: #303b48;
  box-shadow: 0 2px 8px rgba(17,24,39,.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.conteudo {
  max-width: 1440px;
  padding: 32px 32px 56px;
}
.conteudo--larga { max-width: none; }
.pagina-cab {
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--borda);
}
h1 {
  color: #1f2935;
  font-size: clamp(27px, 2vw, 34px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.035em;
}
h2, h3 { color: #252f3b; }
.pagina-sub { color: var(--texto-2); }
.conteudo h1 { margin-bottom: 9px; }
.conteudo h1 + .pagina-sub { margin-top: 0; margin-bottom: 0; }

.card,
.modal-conteudo,
.aprov-lista-card,
.kb-col,
.kb-card,
.formulario-drawer {
  border-color: var(--borda);
  background: #fff;
  box-shadow: 0 1px 3px rgba(24,39,75,.06);
}
.card { border-radius: var(--raio); }
.card:hover { border-color: #cbd3dd; }
.flash {
  border-radius: var(--raio-sm);
  box-shadow: none;
}
.tabela-wrap {
  border: 1px solid var(--borda);
  border-radius: var(--raio);
  background: #fff;
  box-shadow: 0 1px 3px rgba(24,39,75,.05);
}
table { background: #fff; }
th {
  color: #657283;
  background: #f7f8fa;
  border-bottom-color: var(--borda);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .075em;
}
td { color: #303b48; border-bottom-color: #edf0f3; }
tr:hover td { background: #fafbfd; }

input, select, textarea {
  color: #273240;
  border-color: #cfd7e0;
  border-radius: 4px;
  background: #fff;
  box-shadow: inset 0 1px 1px rgba(20,30,45,.03);
}
input::placeholder, textarea::placeholder { color: #97a3b2; }
input:focus, select:focus, textarea:focus {
  border-color: var(--acento);
  box-shadow: 0 0 0 3px rgba(200,16,46,.1);
}
.btn {
  min-height: 38px;
  border-radius: 4px;
  font-weight: 600;
  box-shadow: none;
}
.btn-principal {
  background: var(--acento);
  border-color: var(--acento);
}
.btn-principal:hover { background: #ad0c26; border-color: #ad0c26; }
.btn-secundario {
  color: #354252;
  border-color: #c8d0da;
  background: #fff;
}
.btn-secundario:hover { color: #1f2935; background: #f6f8fa; }
.btn-perigo { border-radius: 4px; }

.badge,
.aprov-estado .badge,
.kb-cab .badge,
.kb-origem .badge {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.badge::before {
  width: 4px;
  height: 4px;
  border-radius: 0;
}
.pagina-cab .badge { color: var(--texto-2); }

.kanban {
  gap: 14px;
  padding: 0 0 20px;
}
.kb-col {
  min-width: 252px;
  padding: 14px;
  border-top-width: 3px;
  border-radius: 6px;
  box-shadow: none;
}
.kb-cab {
  min-height: 44px;
  padding: 1px 0 12px;
}
.kb-card {
  padding: 14px;
  border-radius: 4px;
  box-shadow: none;
}
.kb-card:hover {
  border-color: #bbc6d2;
  background: #fff;
}
.kb-nome { color: #26313d; }
.kb-meta { color: #697687; }
.kb-qtd { color: #657283; }
.kb-unidade { border-left-color: #d9dee5; }

.aprov-cab {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--borda);
}
.aprov-cab>.btn {
  color: #586575;
  text-decoration: none;
}
.aprov-cab>.btn:hover { color: var(--acento); }
.aprov-estado + .aprov-estado { border-left-color: var(--borda); }
.aprov-decisao {
  border-color: var(--borda);
  border-left-color: var(--acento);
  background: #fff;
  box-shadow: 0 1px 3px rgba(24,39,75,.05);
}
.aprov-rotulo { color: var(--acento); }
.aprov-detalhes>div { border-bottom-color: #e8edf2; }
.aprov-detalhes dt, .aprov-estado-rotulo { color: #778596; }
.aprov-detalhes dd { color: #293441; }
.aprov-preview img, .aprov-preview video { background: #f1f3f6; }
.aprov-preview iframe { border-color: var(--borda); }
.aprov-item { border-bottom-color: #e6ebf0; }
.aprov-item:hover { background: #fafbfd; }
.aprov-item-pendente {
  background: linear-gradient(90deg, #fff9ec, #fff 62%);
  box-shadow: inset 3px 0 0 var(--alerta);
}
.aprov-item h2 a { color: #24303d; }
.aprov-item-meta { color: #647183; }
.aprov-item-origem { color: #7d8997; }

.formulario-drawer,
.formularios-aba,
.formulario-stat,
.formulario-resposta-linha {
  border-color: var(--borda);
  background: #fff;
}
.formularios-aba.ativo { color: var(--acento); border-bottom-color: var(--acento); }
.formulario-stat strong { color: #26313d; }

@media (max-width: 900px) {
  body.logado { padding-left: 0; }
  .sidebar {
    top: 0;
    left: 0;
    bottom: 0;
    border-radius: 0;
  }
  .conteudo { padding: 76px 20px 40px; }
}
@media (max-width: 640px) {
  .conteudo { padding: 72px 16px 36px; }
  .pagina-cab { margin-bottom: 22px; padding-bottom: 16px; }
  h1 { font-size: clamp(26px, 8vw, 32px); }
  .card { border-radius: 5px; }
  .tab-leads tr:not(:first-child),
  .tab-acessos tr:not(:first-child),
  .tab-agenda tr:not(:first-child) {
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid var(--borda);
    border-radius: 5px;
    background: #fff;
  }
}