/* ============================================================
   Extranet iContafisco — visual
   Cores da identidade: marinho, azul e dourado/areia do cartão
   ============================================================ */
:root, [data-theme="light"] {
  --fundo: #F4F6FA;
  --superficie: #FFFFFF;
  --superficie-2: #F7F9FC;
  --realce: #EEF2F8;
  --texto: #1B2A3F;
  --suave: #66758B;
  --linha: #E3E8F0;
  --linha-forte: #CBD4E1;

  --marinho: #12233A;
  --azul: #1F5E9C;
  --azul-forte: #174B7F;
  --azul-suave: #E7F0FA;
  --dourado: #F2B53F;
  --dourado-texto: #8A5A00;
  --dourado-suave: #FFF4D9;
  --areia: linear-gradient(115deg, #F0CF94 0%, #F9E3AE 45%, #FFF5C2 100%);
  --verde: #2E9E6A;
  --verde-suave: #E3F5EC;
  --roxo: #7B61C9;
  --roxo-suave: #EFEAFB;
  --perigo: #D2453B;
  --perigo-suave: #FDECEA;

  --botao: #1F5E9C;
  --botao-hover: #174B7F;
  --botao-texto: #FFFFFF;
  --marca: #1F5E9C;
  --sombra: 0 1px 2px rgba(18, 35, 58, .05), 0 6px 20px rgba(18, 35, 58, .06);
  --sombra-alta: 0 20px 60px rgba(18, 35, 58, .22);
  --raio: 10px;
  --raio-grande: 16px;
  color-scheme: light;
}

[data-theme="dark"] {
  --fundo: #0C1726;
  --superficie: #13223A;
  --superficie-2: #182B46;
  --realce: #1C3250;
  --texto: #E6ECF5;
  --suave: #93A3BA;
  --linha: #22374F;
  --linha-forte: #34506F;

  --azul: #6EA8E6;
  --azul-forte: #94C0F0;
  --azul-suave: #1B3556;
  --dourado: #F5B843;
  --dourado-texto: #F6C766;
  --dourado-suave: #3A2F16;
  --verde: #4CC38A;
  --verde-suave: #16372A;
  --roxo: #A894F2;
  --roxo-suave: #2A2549;
  --perigo: #F07067;
  --perigo-suave: #3D1F22;

  --botao: #6EA8E6;
  --botao-hover: #94C0F0;
  --botao-texto: #0C1726;
  --marca: #8DBDF0;
  --sombra: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25);
  --sombra-alta: 0 20px 60px rgba(0, 0, 0, .55);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { font-size: 100%; }
body {
  margin: 0;
  font-family: "Figtree", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--texto);
  background: var(--fundo);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--azul); text-decoration: none; }
a:hover { color: var(--azul-forte); text-decoration: underline; text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; border-radius: 4px; }
small { display: block; color: var(--suave); font-size: 0.8125rem; }
code { font-size: 1rem; background: var(--realce); padding: 0.15em 0.45em; border-radius: 6px; }
[hidden] { display: none !important; }

/* ---------- barra superior ---------- */
.topo {
  position: sticky; top: 0; z-index: 30;
  height: 60px; display: flex; align-items: center; gap: 1rem;
  padding: 0 1.25rem 0 1.25rem;
  background: var(--superficie);
  border-bottom: 1px solid var(--linha);
}
.topo::before { /* faixa areia do cartão */
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--areia);
}
.marca { display: flex; align-items: baseline; gap: 0.5rem; text-decoration: none; }
.marca:hover { text-decoration: none; }
.marca-nome { font-family: "Montserrat Alternates", "Figtree", sans-serif; font-style: italic; font-weight: 500; font-size: 1.375rem; color: var(--marca); letter-spacing: -0.01em; }
.marca-sub { font-size: 0.8125rem; color: var(--dourado-texto); font-weight: 600; }
.topo-direita { margin-left: auto; display: flex; align-items: center; gap: 0.75rem; }

.botao-tema {
  position: relative; display: inline-flex; align-items: center; justify-content: space-between;
  width: 64px; height: 32px; padding: 0 8px; border-radius: 999px; cursor: pointer;
  background: var(--realce); border: 1px solid var(--linha);
}
.botao-tema::before {
  content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--superficie); box-shadow: 0 1px 3px rgba(0,0,0,.18);
  transition: transform .2s ease;
}
[data-theme="dark"] .botao-tema::before { transform: translateX(32px); background: var(--azul-suave); }
.botao-tema svg { position: relative; width: 16px; height: 16px; fill: none; stroke: var(--suave); stroke-width: 1.8; stroke-linecap: round; }
[data-theme="light"] .ico-sol, :root:not([data-theme]) .ico-sol { stroke: var(--dourado-texto); }
[data-theme="dark"] .ico-lua { stroke: var(--dourado); fill: var(--dourado); }
.rotulo-tema-claro, .rotulo-tema-escuro { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.menu-usuario { position: relative; }
.menu-usuario summary { list-style: none; display: flex; align-items: center; gap: 0.6rem; cursor: pointer; padding: 0.3rem 0.5rem 0.3rem 0.3rem; border-radius: 999px; }
.menu-usuario summary::-webkit-details-marker { display: none; }
.menu-usuario summary:hover { background: var(--realce); }
.avatar {
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
  background: var(--marinho); color: var(--dourado); font-weight: 700; font-size: 0.8125rem;
}
[data-theme="dark"] .avatar { background: var(--dourado); color: var(--marinho); }
.quem { line-height: 1.2; }
.quem b { display: block; font-size: 0.875rem; font-weight: 600; }
.quem small { font-size: 0.75rem; }
.menu-suspenso {
  position: absolute; right: 0; top: calc(100% + 6px); min-width: 230px; padding: 0.4rem;
  background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra-alta);
}
.menu-suspenso a { display: flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.75rem; border-radius: 8px; color: var(--texto); }
.menu-suspenso a:hover { background: var(--realce); text-decoration: none; }
.menu-suspenso .sair { color: var(--perigo); border-top: 1px solid var(--linha); border-radius: 0 0 8px 8px; margin-top: 0.25rem; }
.menu-suspenso .icone { width: 18px; height: 18px; }

.abrir-menu { display: none; background: none; border: 0; padding: 6px; cursor: pointer; flex-direction: column; gap: 4px; }
.abrir-menu span { display: block; width: 20px; height: 2px; background: var(--texto); border-radius: 2px; }

/* ---------- estrutura ---------- */
.estrutura { display: grid; grid-template-columns: 236px minmax(0, 1fr); min-height: calc(100vh - 60px); }
.lateral { padding: 1rem 0.75rem; position: sticky; top: 60px; height: calc(100vh - 60px); display: flex; flex-direction: column; overflow-y: auto; }
.lateral nav { display: flex; flex-direction: column; gap: 2px; }
.lateral nav a {
  display: flex; align-items: center; gap: 0.7rem;
  padding: 0.55rem 0.75rem; border-radius: 8px; color: var(--texto); font-weight: 500;
}
.lateral nav a:hover { background: var(--realce); text-decoration: none; color: var(--texto); }
.lateral nav a.ativo { background: var(--azul-suave); color: var(--azul); font-weight: 600; }
.lateral nav a span { flex: 1; }
.icone { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.lateral nav a:not(.ativo) .icone { color: var(--suave); }
.grupo-menu { font-size: 0.75rem; color: var(--suave); font-weight: 600; padding: 1.25rem 0.75rem 0.4rem; }
.contador {
  min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-grid; place-items: center;
  background: var(--dourado); color: var(--marinho); font-size: 0.75rem; font-weight: 700;
}
.versao { margin-top: auto; font-size: 0.75rem; color: var(--suave); padding: 0.75rem; }

.conteudo {
  background: var(--superficie); margin: 0.75rem 0.75rem 0.75rem 0; padding: 2rem clamp(1rem, 3vw, 2.5rem) 3rem;
  border-radius: var(--raio-grande); box-shadow: var(--sombra); border: 1px solid var(--linha);
  min-width: 0;
}
.conteudo > * { max-width: 1100px; }
.conteudo.conteudo-largo > * { max-width: none; }
h1 { font-size: 1.75rem; font-weight: 700; line-height: 1.2; margin: 0 0 1.5rem; letter-spacing: -0.015em; }
h2 { font-size: 1.0625rem; font-weight: 700; margin: 0 0 0.85rem; }
h3 { font-size: 1rem; margin: 0; font-weight: 600; }

/* ---------- mensagens ---------- */
.flash { padding: 0.8rem 1rem; border-radius: var(--raio); margin-bottom: 1rem; display: flex; gap: 0.6rem; align-items: flex-start; }
.flash::before { content: ""; width: 4px; align-self: stretch; border-radius: 4px; flex: none; }
.flash.ok { background: var(--verde-suave); } .flash.ok::before { background: var(--verde); }
.flash.erro { background: var(--perigo-suave); } .flash.erro::before { background: var(--perigo); }
.flash.alerta { background: var(--dourado-suave); } .flash.alerta::before { background: var(--dourado); }
.vazio { color: var(--suave); padding: 1.25rem; background: var(--superficie-2); border: 1px dashed var(--linha-forte); border-radius: var(--raio); }
.descricao { color: var(--suave); max-width: 46rem; margin: 0 0 1.25rem; }
.dica { color: var(--suave); font-size: 0.8125rem; margin: -0.25rem 0 0.75rem; }
.nota { font-size: 0.8125rem; color: var(--suave); }

/* ---------- blocos e resumo ---------- */
.bloco { margin: 0 0 2.25rem; }
.bloco.destaque { background: var(--dourado-suave); border-radius: var(--raio-grande); padding: 1.25rem 1.25rem 0.5rem; }
.bloco.destaque h2 { color: var(--dourado-texto); }

.resumo { list-style: none; padding: 0; margin: 0 0 2.25rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 0.75rem; }
.resumo a {
  display: block; padding: 1rem 1.15rem; border-radius: var(--raio); color: var(--suave); text-decoration: none;
  background: var(--superficie-2); border: 1px solid var(--linha); height: 100%;
}
.resumo a:hover { border-color: var(--azul); text-decoration: none; color: var(--suave); }
.resumo strong { display: block; font-size: 1.875rem; font-weight: 700; color: var(--texto); font-variant-numeric: tabular-nums; line-height: 1.15; }
.resumo li:first-child strong { color: var(--azul); }

.compromissos { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.compromissos a {
  display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; align-items: center; padding: 0.7rem 1rem;
  border-radius: var(--raio); border: 1px solid var(--linha); color: var(--texto); background: var(--superficie);
}
.compromissos a:hover { border-color: var(--azul); text-decoration: none; }
.compromissos .quando { font-variant-numeric: tabular-nums; color: var(--suave); font-size: 0.875rem; }
.compromissos .quando b { display: block; color: var(--texto); }
.compromissos .oque { font-weight: 600; }
.compromissos .oque small { font-weight: 500; }

/* ---------- tabelas (estilo quadro) ---------- */
.tabela-rolagem { overflow-x: auto; }
.tabela { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; margin-bottom: 0.75rem; }
.tabela th { text-align: left; font-size: 0.8125rem; font-weight: 600; color: var(--suave); background: var(--superficie-2); padding: 0.65rem 0.9rem; border-bottom: 1px solid var(--linha); white-space: nowrap; }
.tabela td { padding: 0.75rem 0.9rem; border-bottom: 1px solid var(--linha); vertical-align: middle; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela tbody tr:hover td { background: var(--superficie-2); }
.tabela tr.inativo td { color: var(--suave); opacity: .7; }
.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.acoes { white-space: nowrap; text-align: right; }
.acoes form { display: inline; margin-left: 0.6rem; }
.acoes a { margin-left: 0.6rem; }
.arquivo { word-break: break-all; }

.competencia { margin-bottom: 2rem; }
.competencia h2 { color: var(--azul); display: flex; align-items: center; gap: 0.5rem; text-transform: capitalize; }
.competencia h2::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--azul); }
.competencia .tabela { border-left: 4px solid var(--azul); }
.competencia:nth-of-type(even) h2 { color: var(--dourado-texto); }
.competencia:nth-of-type(even) h2::before { background: var(--dourado); }
.competencia:nth-of-type(even) .tabela { border-left-color: var(--dourado); }

/* ---------- selos (status) ---------- */
.selo { display: inline-block; font-size: 0.75rem; font-weight: 600; padding: 0.2rem 0.65rem; border-radius: 999px; white-space: nowrap; color: #fff; }
.selo-aberto { background: var(--dourado); color: #12233A; }
.selo-em_andamento { background: #1F5E9C; }
.selo-respondido { background: #7B61C9; }
.selo-concluido { background: #2E9E6A; }
.selo-novo { background: var(--marinho); }
[data-theme="dark"] .selo-novo { background: var(--dourado); color: #12233A; }
.selo-inativo { background: var(--perigo); }
.selo-interna { background: #1F5E9C; }
.selo-externa { background: var(--dourado); color: #12233A; }

/* ---------- formulários ---------- */
.formulario { display: flex; flex-direction: column; gap: 1rem; }
.formulario.estreito { max-width: 26rem; }
.formulario.grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem 1.25rem; }
.formulario .largo { grid-column: 1 / -1; }
label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.8125rem; font-weight: 600; color: var(--suave); }
label.caixa { flex-direction: row; align-items: center; gap: 0.5rem; color: var(--texto); font-weight: 500; white-space: nowrap; }
input, select, textarea {
  font: inherit; font-size: 0.9375rem; color: var(--texto);
  font-weight: 400; padding: 0.6rem 0.75rem; border: 1px solid var(--linha-forte); border-radius: 8px; background: var(--superficie); width: 100%;
  transition: border-color .15s, box-shadow .15s;
}
input[type=checkbox], input[type=radio] { width: auto; accent-color: var(--azul); }
input[type=file] { padding: 0.45rem; background: var(--superficie-2); }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-suave); }
fieldset { border: 1px solid var(--linha); border-radius: var(--raio); padding: 0.75rem 1rem 1rem; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; min-width: 0; }
legend { font-size: 0.8125rem; font-weight: 700; color: var(--texto); padding: 0 0.35rem; }
.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.tres-colunas { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1rem; }

.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  font: inherit; font-weight: 600; font-size: 0.9375rem;
  background: var(--botao); color: var(--botao-texto); border: 1px solid transparent; border-radius: 8px;
  padding: 0.6rem 1.15rem; cursor: pointer; text-decoration: none; transition: background .15s;
}
.botao:hover { background: var(--botao-hover); color: var(--botao-texto); text-decoration: none; }
.botao:disabled { opacity: .45; cursor: not-allowed; }
.botao.secundario { background: var(--superficie); color: var(--texto); border-color: var(--linha-forte); }
.botao.secundario:hover { background: var(--realce); color: var(--texto); }
.botao.pequeno { font-size: 0.8125rem; padding: 0.3rem 0.8rem; }
.botao.icone { width: 38px; padding: 0.6rem 0; font-size: 1.15rem; line-height: 1; }
.botao.perigo-suave { background: var(--perigo-suave); color: var(--perigo); }
.botao.perigo-suave:hover { background: var(--perigo); color: #fff; }
.link, .link-perigo { background: none; border: 0; padding: 0; font: inherit; font-weight: 500; cursor: pointer; color: var(--azul); }
.link:hover, .link-perigo:hover { text-decoration: underline; text-underline-offset: 3px; }
.link-perigo { color: var(--perigo); }
.linha-botoes { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; }

.painel-envio { background: var(--superficie-2); border: 1px solid var(--linha); border-radius: var(--raio); margin-bottom: 1.5rem; }
.painel-envio summary { cursor: pointer; padding: 0.85rem 1.1rem; font-weight: 600; color: var(--azul); list-style: none; display: flex; align-items: center; gap: 0.5rem; }
.painel-envio summary::-webkit-details-marker { display: none; }
.painel-envio summary::before { content: "+"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: var(--botao); color: var(--botao-texto); font-weight: 700; }
.painel-envio[open] summary::before { content: "–"; }
.painel-envio[open] summary { border-bottom: 1px solid var(--linha); }
.painel-envio form { padding: 1.1rem; }

.filtros { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: center; margin-bottom: 1.5rem; }
.filtros select, .filtros input { width: auto; min-width: 11rem; }

/* abas e cadastros simples (Configurações) */
.abas { display: flex; gap: 0.25rem; border-bottom: 1px solid var(--linha); margin-bottom: 1.5rem; }
.abas a { padding: 0.6rem 1rem; color: var(--suave); font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.abas a:hover { color: var(--texto); text-decoration: none; }
.abas a.ativa { color: var(--azul); border-bottom-color: var(--azul); }
.linha-adicionar { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; margin-bottom: 1.25rem; max-width: 46rem; }
.linha-adicionar input[name=nome] { flex: 1; min-width: 14rem; }
.lista-cadastro { list-style: none; padding: 0; margin: 0; max-width: 46rem; border: 1px solid var(--linha); border-radius: var(--raio); }
.lista-cadastro li { display: flex; align-items: center; gap: 1rem; padding: 0.55rem 0.9rem; border-bottom: 1px solid var(--linha); }
.lista-cadastro li:last-child { border-bottom: 0; }
.lista-cadastro li.inativo { opacity: .55; }
.editar-inline { display: flex; align-items: center; gap: 0.75rem; flex: 1; }
.editar-inline input[name=nome] { border-color: transparent; background: transparent; padding: 0.4rem 0.5rem; }
.editar-inline input[name=nome]:hover { border-color: var(--linha); }
.editar-inline input[name=nome]:focus { border-color: var(--azul); background: var(--superficie); }
.lista-cadastro .info { color: var(--suave); font-size: 0.8125rem; white-space: nowrap; }
.dias-semana { flex-direction: row; flex-wrap: wrap; gap: 0.4rem; }
.chip input { position: absolute; opacity: 0; }
.chip span { display: inline-block; padding: 0.4rem 0.85rem; border-radius: 999px; border: 1px solid var(--linha-forte); color: var(--texto); font-weight: 600; cursor: pointer; }
.chip input:checked + span { background: var(--azul); border-color: var(--azul); color: #fff; }
[data-theme="dark"] .chip input:checked + span { color: var(--marinho); }
.chip input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 2px; }

/* ---------- avisos ---------- */
.aviso { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem 1.25rem; margin-bottom: 0.85rem; max-width: 48rem; }
.aviso.fixado { border-left: 4px solid var(--dourado); }
.aviso time { display: block; font-size: 0.8125rem; color: var(--suave); margin: 0.15rem 0 0.5rem; }
.aviso p { margin: 0; }
.aviso .acoes { text-align: left; margin-top: 0.75rem; }
.aviso .acoes form:first-child { margin-left: 0; }

/* ---------- solicitações ---------- */
.meta-chamado { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; color: var(--suave); margin: -0.75rem 0 1.5rem; font-size: 0.875rem; }
.conversa { list-style: none; padding: 0; margin: 0 0 2rem; max-width: 48rem; }
.msg { border-radius: 14px; padding: 0.85rem 1.1rem; margin-bottom: 0.75rem; border: 1px solid var(--linha); }
.msg-cliente { background: var(--superficie-2); margin-right: 3rem; border-top-left-radius: 4px; }
.msg-equipe { background: var(--azul-suave); border-color: transparent; margin-left: 3rem; border-top-right-radius: 4px; }
.msg header { font-size: 0.8125rem; color: var(--suave); }
.msg header strong { color: var(--texto); }
.msg time { margin-left: 0.4rem; }
.msg p { margin: 0.35rem 0 0; }
.anexo { display: inline-block; margin-top: 0.5rem; font-size: 0.875rem; }
.lista-simples { list-style: none; padding: 0; margin: 0; }
.lista-simples li { padding: 0.6rem 0; border-bottom: 1px solid var(--linha); display: flex; justify-content: space-between; gap: 1rem; align-items: center; }

.ficha { display: grid; grid-template-columns: max-content 1fr; gap: 0.45rem 1.5rem; margin: 0 0 1.5rem; }
.ficha dt { color: var(--suave); }
.ficha dd { margin: 0; }

.credencial { background: var(--verde-suave); border-radius: var(--raio); padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.credencial p { margin: 0 0 0.5rem; }
.credencial dl { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 1rem; margin: 0; }
.credencial dd { margin: 0; font-weight: 600; }

.versao-bloco { margin-bottom: 2rem; max-width: 48rem; }
.versao-bloco h2 { display: flex; flex-direction: column; }
.versao-bloco h2 small { font-weight: 500; }
.versao-bloco ul { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.35rem; }

/* ============================================================
   Agenda
   ============================================================ */
.agenda-barra { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.agenda-nav, .agenda-filtros { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
.agenda-periodo { font-size: 1.0625rem; margin: 0 0.5rem; }
.ir-para { width: auto; height: 40px; padding: 0 0.6rem; }
.agenda-nav .botao { height: 40px; padding-top: 0; padding-bottom: 0; }
.agenda-filtros select { height: 40px; padding-top: 0; padding-bottom: 0; }
.agenda-filtros select { width: auto; min-width: 10rem; }

.calendario {
  --altura-slot: 26px;
  display: grid;
  grid-template-columns: 58px repeat(var(--colunas), minmax(120px, 1fr));
  grid-template-rows: auto 1fr;
  border: 1px solid var(--linha); border-radius: var(--raio-grande); overflow: auto; max-height: calc(100vh - 230px);
  background: var(--superficie); user-select: none;
}
.cal-canto, .cal-dia-titulo { position: sticky; top: 0; z-index: 5; background: var(--superficie); border-bottom: 1px solid var(--linha); }
.cal-canto { left: 0; z-index: 6; }
.cal-dia-titulo { padding: 0.6rem 0.5rem; text-align: center; border-left: 1px solid var(--linha); }
.cal-dia-titulo span { display: block; font-size: 0.75rem; color: var(--suave); font-weight: 600; text-transform: capitalize; }
.cal-dia-titulo b { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; font-size: 1.125rem; }
.cal-dia-titulo.hoje b { background: var(--azul); color: var(--botao-texto); }
.cal-horas { position: sticky; left: 0; z-index: 4; background: var(--superficie); }
.cal-hora { height: var(--altura-slot); font-size: 0.6875rem; color: var(--suave); text-align: right; padding-right: 8px; transform: translateY(-0.5em); font-variant-numeric: tabular-nums; }
.cal-coluna { position: relative; border-left: 1px solid var(--linha); }
.cal-coluna.hoje { background: color-mix(in srgb, var(--azul-suave) 35%, transparent); }
.cal-coluna.passado { background: var(--superficie-2); }
.cal-slot { height: var(--altura-slot); border-top: 1px dashed color-mix(in srgb, var(--linha) 70%, transparent); }
.cal-slot.cheia { border-top: 1px solid var(--linha); }
[data-editavel="1"] .cal-coluna:not(.passado) .cal-slot { cursor: cell; }
[data-editavel="1"] .cal-coluna:not(.passado) .cal-slot:hover { background: var(--realce); }
.cal-slot.selecionado { background: var(--azul-suave) !important; box-shadow: inset 3px 0 0 var(--azul); }

.cal-evento {
  position: absolute; z-index: 2; overflow: hidden; text-align: left; cursor: pointer;
  font: inherit; font-size: 0.75rem; line-height: 1.25; color: var(--texto);
  padding: 4px 7px; border-radius: 7px; border: 0; border-left: 3px solid var(--azul);
  background: var(--azul-suave); box-shadow: 0 1px 2px rgba(18,35,58,.08);
}
.cal-evento b { display: block; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-evento span { display: block; color: var(--suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-evento.curto { display: flex; gap: 0.4rem; align-items: center; }
.cal-evento.externa { border-left-color: var(--dourado); background: var(--dourado-suave); }
.cal-evento:hover { filter: brightness(0.97); box-shadow: 0 3px 10px rgba(18,35,58,.15); }
[data-theme="dark"] .cal-evento:hover { filter: brightness(1.15); }
.cal-agora { position: absolute; left: 0; right: 0; height: 2px; background: var(--perigo); z-index: 3; pointer-events: none; }
.cal-agora::before { content: ""; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--perigo); }

/* diálogos */
.dialogo { border: 0; padding: 0; border-radius: var(--raio-grande); background: var(--superficie); color: var(--texto); box-shadow: var(--sombra-alta); width: min(440px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); }
.dialogo.largo { width: min(680px, calc(100vw - 2rem)); }
.dialogo::backdrop { background: rgba(12, 23, 38, .45); backdrop-filter: blur(2px); }
.dialogo[open] { animation: surgir .16s ease-out; }
@keyframes surgir { from { opacity: 0; transform: translateY(8px) scale(.99); } }
.dialogo-corpo { padding: 1.25rem 1.5rem 1.5rem; }
.dialogo-corpo > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; gap: 1rem; }
.dialogo-corpo > header h2 { margin: 0; font-size: 1.25rem; }
.dialogo h2[data-campo="titulo"] { font-size: 1.25rem; margin: 0.25rem 0 1rem; }
.fechar { background: none; border: 0; font-size: 1.6rem; line-height: 1; color: var(--suave); cursor: pointer; width: 34px; height: 34px; border-radius: 8px; margin-left: auto; }
.fechar:hover { background: var(--realce); color: var(--texto); }
.descricao-evento { white-space: pre-line; color: var(--suave); margin: 0 0 1rem; }

.segmentado { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 4px; border-radius: 12px; background: var(--realce); }
.segmentado label { cursor: pointer; }
.segmentado input { position: absolute; opacity: 0; }
.segmentado span { display: block; text-align: center; padding: 0.55rem; border-radius: 9px; color: var(--texto); font-weight: 700; font-size: 0.9375rem; }
.segmentado span small { display: inline; font-weight: 500; margin-left: 0.25rem; }
.segmentado input:checked + span { background: var(--superficie); box-shadow: 0 1px 3px rgba(18,35,58,.15); color: var(--azul); }
.segmentado input[value=externa]:checked + span { color: var(--dourado-texto); }
.segmentado input:focus-visible + span { outline: 2px solid var(--azul); }

.atalhos-duracao { display: flex; gap: 0.4rem; margin-top: -0.4rem; flex-wrap: wrap; }
.chip-botao { font: inherit; font-size: 0.8125rem; font-weight: 600; padding: 0.25rem 0.75rem; border-radius: 999px; border: 1px solid var(--linha-forte); background: var(--superficie); color: var(--texto); cursor: pointer; }
.chip-botao:hover { border-color: var(--azul); color: var(--azul); }

.pessoas { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.15rem 0.75rem; max-height: 220px; overflow-y: auto; }
.pessoas .grupo { grid-column: 1 / -1; font-size: 0.75rem; font-weight: 700; color: var(--suave); padding-top: 0.4rem; }
.pessoa { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-weight: 500; color: var(--texto); padding: 0.3rem 0.4rem; border-radius: 6px; cursor: pointer; }
.pessoa:hover { background: var(--realce); }
.pessoa span { flex: 1; min-width: 0; }
.pessoa span small { display: inline; }
.pessoa .ocupado:empty { display: none; }
.pessoa .ocupado { flex-basis: 100%; padding-left: 1.55rem; margin-top: -0.15rem; font-style: normal; font-size: 0.6875rem; font-weight: 700; color: var(--perigo); white-space: nowrap; }
.pessoa.indisponivel span { color: var(--suave); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--perigo) 60%, transparent); }
.busca-pessoas { padding: 0.45rem 0.7rem; }
.aviso-local { margin: -0.5rem 0 0; font-size: 0.8125rem; font-weight: 600; color: var(--perigo); }
.status-disponibilidade { font-size: 0.8125rem; font-weight: 600; color: var(--suave); margin-left: auto; }
.status-disponibilidade.bom { color: var(--verde); }
.status-disponibilidade.ruim { color: var(--perigo); }

/* ============================================================
   Login / instalação / atualização — inspirado no cartão
   ============================================================ */
.tela-entrada { min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; }
.entrada-tema { position: fixed; top: 1rem; right: 1rem; }
.entrada {
  display: grid; grid-template-columns: 1fr 1fr; width: min(880px, 100%);
  background: var(--superficie); border-radius: 20px; overflow: hidden; box-shadow: var(--sombra-alta); border: 1px solid var(--linha);
}
.entrada-marca { display: flex; flex-direction: column; min-height: 460px; }
.faixa-areia { background: var(--areia); padding: 2.5rem 2.25rem 1.75rem; flex: 1.1; display: flex; flex-direction: column; justify-content: flex-end; }
.entrada-nome { font-family: "Montserrat Alternates", "Figtree", sans-serif; font-style: italic; font-weight: 500; font-size: 2.4rem; line-height: 1.05; color: #1F5E9C; margin: 0; letter-spacing: -0.01em; }
.faixa-areia hr { border: 0; height: 3px; background: #1F5E9C; margin: 0.9rem 0 0.6rem; border-radius: 2px; }
.entrada-sub { font-family: "Montserrat Alternates", "Figtree", sans-serif; font-style: italic; font-size: 1.25rem; color: #1F5E9C; margin: 0; }
.faixa-marinho { background: #12233A; color: #F2B53F; padding: 1.75rem 2.25rem; flex: 1; display: flex; align-items: center; }
.faixa-marinho p { margin: 0; font-size: 1.0625rem; line-height: 1.5; max-width: 22rem; }
.caixa-entrada { padding: 2.5rem 2.25rem; display: flex; flex-direction: column; justify-content: center; }
.caixa-entrada h1 { font-size: 1.5rem; margin-bottom: 0.35rem; }
.caixa-entrada .nota-topo, .caixa-entrada > p { color: var(--suave); margin: 0 0 1.25rem; }
.caixa-entrada form { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1rem; }
.caixa-entrada .botao { width: 100%; padding: 0.7rem; }
.caixa-entrada .linha-botoes .botao { width: auto; }
.historico { margin-top: 1.5rem; font-size: 0.875rem; }
.historico summary { cursor: pointer; color: var(--suave); }

/* ---------- telas menores ---------- */
@media (max-width: 900px) {
  .abrir-menu { display: inline-flex; }
  .quem { display: none; }
  .estrutura { grid-template-columns: 1fr; }
  .lateral {
    position: fixed; top: 60px; left: 0; bottom: 0; width: 260px; z-index: 25; height: auto;
    background: var(--superficie); border-right: 1px solid var(--linha); box-shadow: var(--sombra-alta);
    transform: translateX(-105%); transition: transform .2s ease;
  }
  .menu-aberto .lateral { transform: none; }
  .conteudo { margin: 0.5rem; }
  .compromissos a { grid-template-columns: 1fr; gap: 0.25rem; }
  .msg-cliente { margin-right: 0; } .msg-equipe { margin-left: 0; }
  .entrada { grid-template-columns: 1fr; }
  .entrada-marca { min-height: 0; }
  .faixa-areia { padding: 1.75rem; } .faixa-marinho { padding: 1.25rem 1.75rem; }
  .entrada-nome { font-size: 1.9rem; }
  .tres-colunas, .duas-colunas { grid-template-columns: 1fr 1fr; }
  .tres-colunas label:first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .marca-sub { display: none; }
  .tabela { display: block; overflow-x: auto; }
  .tabela th, .tabela td { white-space: nowrap; }
  .duas-colunas { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { *, *::before { transition: none !important; animation: none !important; } }

/* ============================================================
   1.2.0 — sino, tarefas, solicitação com responsável e reunião
   ============================================================ */
.menu-sino { position: relative; }
.menu-sino summary { list-style: none; position: relative; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; color: var(--suave); }
.menu-sino summary::-webkit-details-marker { display: none; }
.menu-sino summary:hover, .menu-sino[open] summary { background: var(--realce); color: var(--texto); }
.menu-sino .icone { width: 22px; height: 22px; }
.sino-contador {
  position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
  background: var(--perigo); color: #fff; font-size: 0.6875rem; font-weight: 700; display: grid; place-items: center;
  box-shadow: 0 0 0 2px var(--superficie);
}
.painel-notificacoes { width: min(380px, calc(100vw - 2rem)); padding: 0; overflow: hidden; }
.painel-notificacoes header { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1rem; border-bottom: 1px solid var(--linha); }
.painel-notificacoes header .link { font-size: 0.8125rem; }
.painel-notificacoes .nota { padding: 1rem; margin: 0; }
.menu-suspenso a.notif { display: block; border-radius: 0; padding: 0.7rem 1rem 0.7rem 1.4rem; border-bottom: 1px solid var(--linha); position: relative; }
.notif b { display: block; font-size: 0.875rem; }
.notif span { display: block; font-size: 0.8125rem; color: var(--suave); line-height: 1.35; }
.notif time { display: block; font-size: 0.6875rem; color: var(--suave); margin-top: 0.2rem; }
.notif.nao-lida { background: color-mix(in srgb, var(--azul-suave) 60%, transparent); }
.notif.nao-lida::before { content: ""; position: absolute; left: 0.6rem; top: 1.05rem; width: 7px; height: 7px; border-radius: 50%; background: var(--azul); }
.menu-suspenso a.ver-todas { justify-content: center; color: var(--azul); font-weight: 600; border-radius: 0; }

.lista-notificacoes { list-style: none; margin: 0; padding: 0; max-width: 48rem; border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.lista-notificacoes li { border-bottom: 1px solid var(--linha); }
.lista-notificacoes li:last-child { border-bottom: 0; }
.lista-notificacoes a { display: grid; grid-template-columns: 1fr auto; gap: 0.1rem 1rem; padding: 0.85rem 1.1rem; color: var(--texto); }
.lista-notificacoes a:hover { background: var(--superficie-2); text-decoration: none; }
.lista-notificacoes span { grid-column: 1; color: var(--suave); font-size: 0.875rem; }
.lista-notificacoes time { grid-column: 2; grid-row: 1; font-size: 0.75rem; color: var(--suave); white-space: nowrap; }
.lista-notificacoes .nao-lida a { background: color-mix(in srgb, var(--azul-suave) 55%, transparent); box-shadow: inset 3px 0 0 var(--azul); }

.contador-aba { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; font-size: 0.75rem; background: var(--realce); color: var(--suave); margin-left: 0.3rem; }
.abas a.ativa .contador-aba { background: var(--azul); color: var(--botao-texto); }

.lista-tarefas { display: grid; gap: 0.5rem; max-width: 60rem; }
.tarefa { display: grid; grid-template-columns: 3.5rem 1fr auto; gap: 1rem; align-items: center; padding: 0.85rem 1rem; border: 1px solid var(--linha); border-radius: var(--raio); color: var(--texto); background: var(--superficie); }
.tarefa:hover { border-color: var(--azul); text-decoration: none; box-shadow: var(--sombra); }
.tarefa-num { font-weight: 700; color: var(--suave); font-variant-numeric: tabular-nums; }
.tarefa-corpo b { display: block; }
.tarefa-fim { text-align: right; }
.tarefa-fim small { margin-top: 0.25rem; }

/* solicitação: conteúdo + histórico ao lado */
.conteudo:has(.chamado-grade) > * { max-width: none; }
.chamado-grade { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2rem; align-items: start; }
.chamado-principal { min-width: 0; max-width: 52rem; }
.chamado-historico { position: sticky; top: 80px; background: var(--superficie-2); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem 1.1rem; max-height: calc(100vh - 110px); overflow-y: auto; }
.chamado-historico h2 { font-size: 0.9375rem; }

.linha-tempo { list-style: none; margin: 0; padding: 0; }
.linha-tempo li { position: relative; padding: 0 0 0.9rem 1.1rem; border-left: 2px solid var(--linha); margin-left: 4px; }
.linha-tempo li::before { content: ""; position: absolute; left: -6px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--superficie); border: 2px solid var(--linha-forte); }
.linha-tempo li:last-child { border-left-color: transparent; }
.linha-tempo time { display: block; font-size: 0.75rem; color: var(--suave); }
.linha-tempo p { margin: 0.1rem 0 0; font-size: 0.8125rem; line-height: 1.4; }
.linha-tempo .acao-aberta::before { border-color: var(--azul); }
.linha-tempo .acao-aceita::before, .linha-tempo .acao-reuniao_confirmada::before, .linha-tempo .acao-agenda_criada::before { border-color: var(--verde); background: var(--verde); }
.linha-tempo .acao-encaminhada::before, .linha-tempo .acao-reuniao_sugerida::before, .linha-tempo .acao-agenda_alterada::before, .linha-tempo .acao-agenda_remarcada::before { border-color: var(--dourado); background: var(--dourado); }
.linha-tempo .acao-agenda_cancelada::before, .linha-tempo .acao-agenda_saiu::before { border-color: var(--perigo); }
.linha-tempo.larga { max-width: 48rem; }
.linha-tempo.larga p { font-size: 0.875rem; }
.linha-tempo .dia { border-left: 0; padding: 0.5rem 0 0.6rem; margin: 0; font-weight: 700; font-size: 0.8125rem; color: var(--suave); text-transform: capitalize; }
.linha-tempo .dia::before { display: none; }

.cartao-responsavel { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.85rem 1.1rem; border: 1px solid var(--linha); border-radius: var(--raio); margin-bottom: 0.75rem; }
.cartao-responsavel small { font-weight: 600; }
.cartao-reuniao { border: 1px solid var(--linha); border-radius: var(--raio); padding: 0.9rem 1.1rem; margin-bottom: 1.25rem; border-left: 4px solid var(--dourado); background: var(--dourado-suave); }
.cartao-reuniao.estado-confirmada { border-left-color: var(--verde); background: var(--verde-suave); }
.cartao-reuniao.estado-cancelada { border-left-color: var(--perigo); background: var(--perigo-suave); }
.reuniao-topo { display: flex; gap: 0.85rem; align-items: center; }
.reuniao-topo > div { flex: 1; }
.reuniao-topo small { font-weight: 700; }
.reuniao-topo strong { display: block; font-size: 1.0625rem; text-transform: capitalize; }
.reuniao-topo span { color: var(--suave); font-size: 0.875rem; }
.reuniao-icone { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--superficie); color: var(--dourado-texto); flex: none; }
.estado-confirmada .reuniao-icone { color: var(--verde); }
.cartao-reuniao .nota { margin: 0.6rem 0 0; }

.painel-acao { border: 2px solid var(--azul); border-radius: var(--raio-grande); padding: 1.25rem 1.35rem; margin-bottom: 1.75rem; background: var(--superficie); box-shadow: 0 0 0 4px var(--azul-suave); }
.painel-acao h2 { color: var(--azul); }
.disponibilidade { background: var(--superficie-2); border-radius: var(--raio); padding: 0.85rem 1rem; }
.disponibilidade h3 { font-size: 0.875rem; margin-bottom: 0.4rem; }
.disponibilidade h3::first-letter { text-transform: uppercase; }
.disp-ok { color: var(--verde); font-weight: 700; margin: 0; }
.disp-conflito { color: var(--perigo); font-weight: 700; margin: 0.25rem 0; }
.disp-conflito.pequeno { font-size: 0.8125rem; }
.lista-conflitos { list-style: none; margin: 0.4rem 0 0; padding: 0; display: grid; gap: 0.35rem; }
.lista-conflitos li { background: var(--superficie); border: 1px solid var(--linha); border-left: 3px solid var(--perigo); border-radius: 8px; padding: 0.5rem 0.75rem; }
.decisao { gap: 0.5rem; }
.opcao { flex-direction: row; align-items: flex-start; gap: 0.6rem; font-weight: 500; color: var(--texto); padding: 0.55rem 0.7rem; border-radius: 8px; border: 1px solid transparent; cursor: pointer; }
.opcao:hover { background: var(--realce); }
.opcao:has(input:checked) { border-color: var(--azul); background: var(--azul-suave); }
.opcao:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.opcao input { margin-top: 0.25rem; }
.sub { margin: 0.1rem 0 0.4rem 1.9rem; display: flex; flex-direction: column; gap: 0.75rem; }
.sub.tres-colunas { display: grid; }
.resolver { display: flex; flex-direction: column; gap: 0.35rem; padding: 0.6rem; border: 1px dashed var(--linha-forte); border-radius: var(--raio); }
.resolver .sub { margin-left: 1.9rem; }
.formulario .largo, .grade-reuniao .largo, .tres-colunas .largo, .sub .largo { grid-column: 1 / -1; }

/* interruptor "Pedir uma reunião" */
.bloco-reuniao { border: 1px solid var(--linha); border-radius: var(--raio); padding: 0.85rem 1rem; background: var(--superficie); }
.interruptor { flex-direction: row; align-items: center; gap: 0.7rem; color: var(--texto); font-size: 0.9375rem; cursor: pointer; }
.interruptor input { position: absolute; opacity: 0; }
.interruptor .trilho { width: 40px; height: 22px; border-radius: 999px; background: var(--linha-forte); position: relative; transition: background .15s; flex: none; }
.interruptor .trilho::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.interruptor input:checked + .trilho { background: var(--azul); }
.interruptor input:checked + .trilho::after { transform: translateX(18px); }
.interruptor input:focus-visible + .trilho { outline: 2px solid var(--azul); outline-offset: 2px; }
.grade-reuniao { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem 1rem; margin-top: 0.85rem; }
.grade-reuniao .nota { margin: 0; }

@media (max-width: 1100px) {
  .chamado-grade { grid-template-columns: 1fr; }
  .chamado-historico { position: static; max-height: none; }
}
@media (max-width: 640px) {
  .tarefa { grid-template-columns: 1fr; gap: 0.35rem; }
  .tarefa-fim { text-align: left; }
}
.formulario > .botao, .formulario > .linha-botoes { align-self: flex-start; }

/* ============================================================
   1.3.0 — identidade com o logo: topo branco com logo,
   menu lateral marinho com destaques dourados
   ============================================================ */
:root, [data-theme="light"] {
  --fundo: #F2F4F8;
  --azul: #215F8F;            /* azul do logo */
  --azul-forte: #184A71;
  --azul-suave: #E6EFF7;
  --botao: #215F8F;
  --botao-hover: #184A71;
  --lateral: #12233A;
  --lateral-texto: #C7D3E1;
  --lateral-suave: #7F95AF;
  --lateral-hover: rgba(255, 255, 255, .06);
  --lateral-ativo: rgba(255, 255, 255, .10);
}
[data-theme="dark"] {
  --fundo: #0B1524;
  --azul: #6EA8E6;
  --azul-forte: #94C0F0;
  --azul-suave: #1B3556;
  --botao: #6EA8E6;
  --botao-hover: #94C0F0;
  --lateral: #0A1322;
  --lateral-texto: #B8C6D8;
  --lateral-suave: #6F86A2;
  --lateral-hover: rgba(255, 255, 255, .05);
  --lateral-ativo: rgba(110, 168, 230, .14);
}

/* logo: versão certa para cada tema */
.logo { display: block; height: auto; }
.logo-escuro { display: none; }
[data-theme="dark"] .logo-claro { display: none; }
[data-theme="dark"] .logo-escuro { display: block; }

.topo { height: 64px; box-shadow: 0 1px 0 var(--linha); border-bottom: 0; }
.topo .marca { align-items: center; gap: 0.75rem; }
.topo .logo-horizontal { height: 38px; width: auto; }

/* menu lateral marinho */
.estrutura { grid-template-columns: 240px minmax(0, 1fr); min-height: calc(100vh - 64px); }
.lateral { background: var(--lateral); top: 64px; height: calc(100vh - 64px); padding: 1.1rem 0.75rem 0.75rem; }
.lateral nav a { color: var(--lateral-texto); font-weight: 500; position: relative; }
.lateral nav a:not(.ativo) .icone { color: var(--lateral-suave); }
.lateral nav a:hover { background: var(--lateral-hover); color: #fff; }
.lateral nav a:hover .icone { color: #fff; }
.lateral nav a.ativo { background: var(--lateral-ativo); color: #fff; font-weight: 600; }
.lateral nav a.ativo::before { content: ""; position: absolute; left: -0.75rem; top: 8px; bottom: 8px; width: 4px; border-radius: 0 4px 4px 0; background: var(--dourado); }
.lateral nav a.ativo .icone { color: var(--dourado); }
.grupo-menu { color: var(--lateral-suave); letter-spacing: 0.02em; }
.lateral .versao { color: var(--lateral-suave); }
.lateral .versao:hover { color: #fff; }
.contador { box-shadow: 0 0 0 2px var(--lateral); }

.conteudo { margin: 1rem 1rem 1rem 1rem; border-radius: 18px; }
h1 { color: var(--texto); }
.conteudo > h1::after { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: var(--dourado); margin-top: 0.6rem; }

/* botões e realces com o azul do logo */
.resumo a, .resumo-item { position: relative; overflow: hidden; }
.resumo li:first-child a::before, .resumo li:first-child .resumo-item::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--dourado); }

/* faixa de aviso (escolha do restaurante) */
.faixa-aviso {
  display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; align-items: center; padding: 0.8rem 1.1rem; margin-bottom: 1.25rem;
  border-radius: var(--raio); background: var(--dourado-suave); border: 1px solid color-mix(in srgb, var(--dourado) 55%, transparent); color: var(--texto);
}
.faixa-aviso:hover { text-decoration: none; color: var(--texto); border-color: var(--dourado); }
.faixa-aviso span { color: var(--suave); font-size: 0.875rem; }

/* ---------- tela de entrada: só logo e nome ---------- */
.tela-entrada {
  background:
    radial-gradient(900px 420px at 50% -10%, rgba(242, 181, 63, .22), transparent 70%),
    radial-gradient(700px 500px at 100% 110%, rgba(33, 95, 143, .12), transparent 70%),
    var(--fundo);
}
.entrada-centro { width: min(380px, 100%); display: flex; flex-direction: column; align-items: stretch; text-align: center; }
.entrada-logo { display: flex; justify-content: center; margin-bottom: 0.5rem; }
.entrada-logo .logo-completo { width: min(300px, 80vw); }
.entrada-sicon { font-size: 1.125rem; font-weight: 700; letter-spacing: 0.02em; color: var(--texto); margin: 0.5rem 0 1.75rem; }
.entrada-sicon::before, .entrada-sicon::after { content: ""; display: inline-block; width: 28px; height: 2px; background: var(--dourado); vertical-align: middle; margin: 0 0.7rem; border-radius: 2px; }
.entrada-centro > .flash, .entrada-centro > form, .entrada-centro > h1, .entrada-centro > p:not(.entrada-sicon), .entrada-centro > ul, .entrada-centro > .linha-botoes, .entrada-centro > details { text-align: left; }
.form-entrada, .entrada-centro > form {
  display: flex; flex-direction: column; gap: 1rem; background: var(--superficie); border: 1px solid var(--linha);
  border-radius: 16px; padding: 1.5rem; box-shadow: var(--sombra);
}
.entrada-centro .botao { width: 100%; padding: 0.75rem; }
.entrada-centro .linha-botoes .botao { width: auto; }
.entrada-centro h1 { font-size: 1.25rem; }

/* ---------- almoço ---------- */
.escolha-almoco { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.cartao-escolha { cursor: pointer; }
.cartao-escolha input { position: absolute; opacity: 0; }
.cartao-escolha > span {
  display: flex; flex-direction: column; align-items: center; gap: 0.2rem; text-align: center; height: 100%;
  padding: 1.1rem 0.9rem; border-radius: 14px; border: 2px solid var(--linha); background: var(--superficie); color: var(--texto); transition: border-color .15s, background .15s;
}
.cartao-escolha .emoji { font-size: 1.8rem; line-height: 1; margin-bottom: 0.3rem; }
.cartao-escolha strong { font-size: 1rem; }
.cartao-escolha:hover > span { border-color: var(--linha-forte); }
.cartao-escolha input:checked + span { border-color: var(--azul); background: var(--azul-suave); }
.cartao-escolha input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 2px; }
.cartao-escolha input:disabled + span { opacity: .5; cursor: not-allowed; }
.form-almoco { display: flex; flex-direction: column; gap: 1rem; }
.cardapio-escolha { display: flex; flex-direction: column; gap: 0.75rem; }
.cardapio-escolha fieldset { gap: 0.2rem; }
.item-cardapio { flex-direction: row; align-items: center; gap: 0.6rem; font-weight: 500; color: var(--texto); padding: 0.45rem 0.55rem; border-radius: 8px; cursor: pointer; }
.item-cardapio:hover { background: var(--realce); }
.item-cardapio:has(input:checked) { background: var(--azul-suave); }
.item-cardapio span { flex: 1; }
.item-cardapio em { font-style: normal; color: var(--suave); font-size: 0.8125rem; }
.cartao-almoco { border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1.25rem; max-width: 46rem; }
.nome-rest { font-size: 1.25rem !important; }
.resumo-item { display: block; padding: 1rem 1.15rem; border-radius: var(--raio); background: var(--superficie-2); border: 1px solid var(--linha); color: var(--suave); height: 100%; }
.resumo-item small { font-weight: 600; }

.cartoes-restaurante { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.75rem; max-width: 60rem; }
.cartao-restaurante {
  font: inherit; text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 0.2rem;
  padding: 1rem 1.1rem; border-radius: 14px; border: 1px solid var(--linha); background: var(--superficie); color: var(--texto);
}
.cartao-restaurante:hover { border-color: var(--azul); box-shadow: var(--sombra); }
.cartao-restaurante strong { font-size: 1.0625rem; }
.cartao-restaurante .escolher { margin-top: 0.6rem; color: var(--azul); font-weight: 700; font-size: 0.875rem; }
.rest-icone { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--dourado-suave); font-size: 1.15rem; margin-bottom: 0.3rem; flex: none; }

.cardapio-semana { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0.6rem; margin-bottom: 1.5rem; }
.dia-cardapio { border: 1px solid var(--linha); border-radius: 12px; padding: 0.8rem 0.9rem; background: var(--superficie); min-width: 0; }
.dia-cardapio.hoje { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-suave); }
.dia-cardapio h3 { text-transform: capitalize; display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.4rem; }
.dia-cardapio h3 span { color: var(--suave); font-weight: 500; font-size: 0.8125rem; }
.dia-cardapio .cat { font-size: 0.6875rem; font-weight: 700; color: var(--dourado-texto); margin: 0.55rem 0 0.15rem; letter-spacing: 0.02em; }
.dia-cardapio ul { list-style: none; margin: 0; padding: 0; }
.dia-cardapio li { font-size: 0.875rem; padding: 0.15rem 0; display: flex; justify-content: space-between; gap: 0.3rem; align-items: flex-start; }
.dia-cardapio li em { font-style: normal; color: var(--suave); font-size: 0.75rem; }
.dia-cardapio li form { display: inline; }
.tag-semanal { font-style: normal; font-size: 0.625rem; font-weight: 700; color: var(--azul); background: var(--azul-suave); border-radius: 4px; padding: 0 0.3rem; vertical-align: middle; }
.remover { background: none; border: 0; color: var(--suave); cursor: pointer; font-size: 1rem; line-height: 1; padding: 0 0.2rem; border-radius: 4px; }
.remover:hover { color: var(--perigo); background: var(--perigo-suave); }

.duas-colunas-largas { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; align-items: start; }
.painel-envio.aberto-fixo { padding: 1.1rem 1.2rem; }
.painel-envio.aberto-fixo h2 { color: var(--azul); }
.estreito-max { max-width: 32rem; margin-top: 1.5rem; }
.passos { margin: 0 0 1rem; padding-left: 1.2rem; display: grid; gap: 0.4rem; font-size: 0.875rem; color: var(--suave); }
.passos b { color: var(--azul); }
.cabeca-restaurante { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem; margin: -0.5rem 0 1rem; }
.cabeca-restaurante .meta-chamado { margin: 0; }

.grade-restaurantes { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.cartao-gestao { border: 1px solid var(--linha); border-radius: 16px; padding: 1.1rem 1.2rem; background: var(--superficie); display: flex; flex-direction: column; gap: 0.9rem; }
.cartao-gestao.inativo { opacity: .6; }
.cartao-gestao header { display: flex; gap: 0.75rem; align-items: center; }
.cartao-gestao header > div { flex: 1; min-width: 0; }
.cartao-gestao h2 { margin: 0; font-size: 1.0625rem; }
.cartao-gestao h2 a { color: var(--texto); }
.numeros { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin: 0; }
.numeros div { background: var(--superficie-2); border-radius: 10px; padding: 0.5rem 0.7rem; }
.numeros dt { font-size: 0.75rem; color: var(--suave); font-weight: 600; text-transform: capitalize; }
.numeros dd { margin: 0; font-weight: 700; }
.alerta-txt { color: var(--dourado-texto); }
.cartao-gestao footer form { display: inline; }
.permissoes { border-top: 1px dashed var(--linha); padding-top: 0.75rem; }
.permissoes .interruptor small { display: block; font-weight: 400; }

@media (max-width: 900px) {
  .lateral { top: 64px; background: var(--lateral); }
  .topo .logo-horizontal { height: 30px; }
  .conteudo { margin: 0.5rem; }
}
@media (max-width: 560px) {
  .escolha-almoco { grid-template-columns: 1fr; }
}
/* menu lateral ocupa a altura toda mesmo em páginas longas */
@media (min-width: 901px) {
  .estrutura { background: linear-gradient(to right, var(--lateral) 240px, transparent 240px); }
}

/* 1.4.0 — menu lateral sempre visível e nunca sobreposto */
@media (min-width: 901px) {
  .lateral { position: sticky; z-index: 20; grid-column: 1; grid-row: 1; }
  .conteudo { grid-column: 2; grid-row: 1; min-width: 0; }
  .calendario { isolation: isolate; }     /* cabeçalhos fixos da agenda ficam dentro do calendário */
}
html, body { overflow-x: clip; }

/* ============================================================
   1.4.0 — tarefas, bandeiras, painel de prazos, relatórios
   ============================================================ */
:root, [data-theme="light"] { --bandeira-vermelha: #D93B30; --bandeira-amarela: #E3A01B; --bandeira-verde: #2E9E6A; }
[data-theme="dark"] { --bandeira-vermelha: #F2665C; --bandeira-amarela: #F5B843; --bandeira-verde: #4CC38A; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mt { margin-top: 1.75rem; }
.cor-verde { color: var(--verde) !important; } .cor-ambar { color: var(--dourado-texto) !important; } .cor-vermelho { color: var(--perigo) !important; }

.bandeira { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.8125rem; font-weight: 700; vertical-align: middle; }
.bandeira svg { width: 18px; height: 18px; fill: currentColor; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.bandeira-vermelha { color: var(--bandeira-vermelha); } .bandeira-amarela { color: var(--bandeira-amarela); } .bandeira-verde { color: var(--bandeira-verde); }
.tarefa-detalhe-topo .bandeira { padding: 0.25rem 0.7rem; border-radius: 999px; background: color-mix(in srgb, currentColor 12%, transparent); }

.barra-tarefas { display: flex; justify-content: flex-end; gap: 0.75rem; align-items: center; margin: -0.5rem 0 0.5rem; flex-wrap: wrap; }
.filtros.sem-margem { margin: 0; margin-right: auto; }
.contador-aba.alerta { background: var(--dourado); color: #12233A; }

.grupo-tarefas { margin-bottom: 1.5rem; }
.grupo-tarefas h2 { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9375rem; }
.grupo-tarefas h2 span { font-size: 0.75rem; color: var(--suave); background: var(--realce); border-radius: 999px; padding: 0 0.5rem; }
.grupo-vencida h2 { color: var(--perigo); }
.grupo-hoje h2 { color: var(--dourado-texto); }
.lista-tarefas2 { display: grid; gap: 0.45rem; max-width: 60rem; }

.tarefa-cartao {
  display: grid; grid-template-columns: auto 1fr auto; gap: 0.85rem; align-items: center;
  padding: 0.7rem 0.95rem; border: 1px solid var(--linha); border-radius: 12px; background: var(--superficie);
  border-left: 4px solid var(--linha-forte); transition: box-shadow .15s, border-color .15s;
}
.tarefa-cartao:hover { box-shadow: var(--sombra); }
.tarefa-cartao.com-bandeira-vermelha { border-left-color: var(--bandeira-vermelha); }
.tarefa-cartao.com-bandeira-amarela { border-left-color: var(--bandeira-amarela); }
.tarefa-cartao.com-bandeira-verde { border-left-color: var(--bandeira-verde); }
.tarefa-cartao.sit-concluida-prazo, .tarefa-cartao.sit-concluida-atraso, .tarefa-cartao.sit-concluida, .tarefa-cartao.sit-cancelada { opacity: .8; }
.tarefa-cartao.sit-concluida-prazo .tarefa-titulo b, .tarefa-cartao.sit-concluida-atraso .tarefa-titulo b { text-decoration: line-through; text-decoration-color: var(--linha-forte); }
.tarefa-corpo { min-width: 0; color: var(--texto); }
.tarefa-corpo:hover { text-decoration: none; color: var(--texto); }
.tarefa-corpo:hover b { color: var(--azul); }
.tarefa-titulo { display: flex; align-items: center; gap: 0.4rem; }
.tarefa-titulo b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tarefa-meta { display: flex; flex-wrap: wrap; gap: 0 0.75rem; font-size: 0.8125rem; color: var(--suave); }
.tarefa-situacao { display: flex; align-items: center; gap: 0.4rem; }
.check-concluir { margin: 0; }
.bolinha {
  width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--linha-forte); background: var(--superficie);
  display: grid; place-items: center; cursor: pointer; padding: 0; color: transparent; transition: all .15s;
}
.bolinha svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
button.bolinha:hover { border-color: var(--verde); color: var(--verde); background: var(--verde-suave); }
.bolinha.feita { background: var(--verde); border-color: var(--verde); color: #fff; cursor: default; }
.bolinha.vazia { cursor: default; border-style: dashed; }

.chip-sit { display: inline-block; font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 999px; white-space: nowrap; background: var(--realce); color: var(--suave); }
.chip-vencida { background: var(--perigo-suave); color: var(--perigo); }
.chip-hoje { background: var(--dourado-suave); color: var(--dourado-texto); }
.chip-amanha { background: var(--dourado-suave); color: var(--dourado-texto); }
.chip-no-prazo { background: var(--azul-suave); color: var(--azul); }
.chip-concluida-prazo { background: var(--verde-suave); color: var(--verde); }
.chip-concluida-atraso { background: var(--dourado-suave); color: var(--dourado-texto); }
.sorriso { flex: none; vertical-align: middle; }

/* detalhe */
.tarefa-detalhe { border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1.25rem 1.35rem; margin-bottom: 1.5rem; }
.tarefa-detalhe-topo { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; }
.tarefa-detalhe-titulo { font-size: 1.375rem; margin: 0.75rem 0 1rem; }
.tarefa-descricao { white-space: pre-line; background: var(--superficie-2); border-radius: var(--raio); padding: 0.85rem 1rem; }
.selo-prazo-ok { display: flex; gap: 0.9rem; align-items: center; background: var(--verde-suave); border-radius: 14px; padding: 0.75rem 1rem; margin-bottom: 1rem; }
.selo-prazo-ok b { display: block; color: var(--verde); font-size: 1.0625rem; }
.selo-prazo-ok span { color: var(--suave); font-size: 0.875rem; }
.botao-concluir { background: var(--verde); }
.botao-concluir:hover { background: #24835A; }
.botao-concluir svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.tarefa-detalhe .linha-botoes form { margin: 0; }

/* formulário de tarefa */
.segmentado.pequeno { max-width: 260px; }
.segmentado.pequeno span { padding: 0.35rem; font-size: 0.875rem; }
.prazo-resumo { align-self: end; margin: 0 0 0.6rem; font-weight: 600; color: var(--azul); }
.bandeiras-escolha { gap: 0.25rem; }
.bandeiras-escolha label { flex-direction: row; align-items: center; gap: 0.55rem; padding: 0.4rem 0.6rem; border-radius: 8px; color: var(--texto); font-weight: 500; cursor: pointer; }
.bandeiras-escolha label:hover { background: var(--realce); }
.bandeiras-escolha label:has(input:checked) { background: var(--azul-suave); }
.bandeiras-escolha small { display: inline; font-weight: 400; }

/* comemoração */
.dialogo.parabens { width: min(400px, calc(100vw - 2rem)); overflow: visible; }
.parabens .dialogo-corpo { text-align: center; padding: 2rem 1.75rem 1.75rem; position: relative; }
.parabens h2 { font-size: 1.5rem; margin: 0.9rem 0 0.4rem; color: var(--verde); }
.parabens p { color: var(--suave); margin: 0 0 1.25rem; }
.sorriso-grande { display: block; margin: 0 auto; animation: pulinho .7s cubic-bezier(.3, 1.6, .5, 1) both; filter: drop-shadow(0 8px 18px rgba(224, 169, 44, .35)); }
@keyframes pulinho { from { transform: scale(.3) rotate(-20deg); opacity: 0; } to { transform: none; opacity: 1; } }
.confete { position: absolute; left: 50%; top: 90px; width: 0; height: 0; pointer-events: none; }
.confete i { position: absolute; width: 8px; height: 12px; border-radius: 2px; background: var(--c); opacity: 0; animation: confete 1.3s ease-out var(--d) forwards; }
@keyframes confete { 0% { opacity: 1; transform: translate(0, 0) rotate(0); } 100% { opacity: 0; transform: translate(var(--x), calc(var(--y) + 220px)) rotate(var(--r)); } }

/* KPIs e barras */
.kpis { list-style: none; padding: 0; margin: 0 0 2rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.6rem; }
.kpis li { background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 12px; padding: 0.85rem 1rem; }
.kpis span { display: block; font-size: 0.8125rem; color: var(--suave); font-weight: 600; }
.kpis strong { display: block; font-size: 1.75rem; line-height: 1.2; font-variant-numeric: tabular-nums; }
.kpis small { font-size: 0.75rem; }
.kpis .kpi-destaque { background: var(--marinho); border-color: var(--marinho); }
.kpis .kpi-destaque span, .kpis .kpi-destaque small { color: #AFC1D6; }
.kpis .kpi-destaque strong { color: var(--dourado); }
.kpis.compacto { margin: 0; grid-template-columns: repeat(2, 1fr); }
.kpis.compacto strong { font-size: 1.5rem; }

.barra-pilha { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: var(--realce); min-width: 120px; }
.barra-pilha i, .legenda-barras i { display: block; height: 100%; }
.b-ok { background: var(--verde); } .b-atraso { background: var(--dourado); } .b-vencida { background: var(--perigo); } .b-aberta { background: color-mix(in srgb, var(--azul) 35%, var(--realce)); }
.legenda-barras { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; align-items: center; font-size: 0.75rem; color: var(--suave); margin: 0.6rem 0 0; }
.legenda-barras i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: -0.6rem; }
.tabela-desempenho .barra-celula { width: 40%; }

/* painel da tela inicial */
.painel-dash { border: 1px solid var(--linha); border-radius: 18px; padding: 1.25rem 1.35rem; margin-bottom: 2rem; background: linear-gradient(135deg, var(--superficie) 60%, color-mix(in srgb, var(--dourado-suave) 70%, var(--superficie))); }
.dash-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; }
.dash-topo h2 { margin: 0; }
.dash-topo .nota { margin: 0.15rem 0 0; }
.dash-grade { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; align-items: center; margin-bottom: 1.25rem; }
.dash-anel {
  --p: 0; width: 150px; height: 150px; border-radius: 50%; display: grid; place-items: center;
  background: conic-gradient(var(--verde) calc(var(--p) * 1%), var(--realce) 0);
}
.dash-anel > div { width: 116px; height: 116px; border-radius: 50%; background: var(--superficie); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.dash-anel strong { font-size: 1.9rem; line-height: 1; }
.dash-anel span { font-size: 0.6875rem; color: var(--suave); font-weight: 600; max-width: 80px; margin-top: 0.2rem; }
.dash-pessoas { display: grid; gap: 0.35rem; }
.dash-pessoa { display: grid; grid-template-columns: minmax(120px, 200px) 1fr 3.2rem; gap: 0.85rem; align-items: center; padding: 0.35rem 0.5rem; border-radius: 8px; color: var(--texto); }
.dash-pessoa:hover { background: var(--realce); text-decoration: none; color: var(--texto); }
.dp-nome { font-weight: 600; font-size: 0.875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; align-items: center; gap: 0.3rem; }
.dp-taxa { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.titulo-com-acao { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.titulo-com-acao h2 { margin: 0; }
.titulo-com-acao .botao { margin-left: auto; }

.campo-inline { flex-direction: row; align-items: center; gap: 0.4rem; }
.campo-inline input { width: auto; }
.tipo-hist { font-size: 0.75rem; font-weight: 700; color: var(--azul); background: var(--azul-suave); padding: 0.15rem 0.5rem; border-radius: 6px; white-space: nowrap; }
.so-impressao { display: none; }

@media (max-width: 700px) {
  .dash-grade { grid-template-columns: 1fr; justify-items: center; }
  .dash-pessoa { grid-template-columns: 1fr 3rem; }
  .dash-pessoa .barra-pilha { grid-column: 1 / -1; grid-row: 2; }
  .tarefa-cartao { grid-template-columns: auto 1fr; }
  .tarefa-situacao { grid-column: 2; }
}

/* impressão dos relatórios */
@media print {
  .topo, .lateral, .nao-imprimir, .faixa-aviso, .flash, dialog { display: none !important; }
  .estrutura { display: block; background: none !important; }
  .conteudo { margin: 0; border: 0; box-shadow: none; padding: 0; }
  .so-impressao { display: block; color: #555; }
  body { background: #fff; }
  .barra-pilha, .b-ok, .b-atraso, .b-vencida, .b-aberta, .kpis .kpi-destaque { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
/* escolher várias pessoas para a tarefa */
.para-quem legend small { display: inline; font-weight: 500; color: var(--suave); }
.chips-pessoas { display: flex; flex-wrap: wrap; gap: 0.4rem; max-height: 170px; overflow-y: auto; padding: 0.1rem; }
.chips-pessoas .chip span { font-weight: 600; font-size: 0.875rem; padding: 0.35rem 0.8rem; }
.chips-pessoas .chip span small { display: inline; font-weight: 500; opacity: .8; }
.chips-pessoas .chip input:checked + span small { color: inherit; }

/* ============================================================
   1.5.0 — Concord (conversas da equipe)
   ============================================================ */
.conteudo.conteudo-app { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.conteudo.conteudo-app > * { max-width: none; }
.conteudo.conteudo-app > h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.conteudo.conteudo-app > .flash { margin: 0.75rem 0.75rem 0; }
.concord {
  display: grid; grid-template-columns: 250px minmax(0, 1fr) 230px; grid-template-rows: minmax(0, 1fr); flex: none;
  height: calc(100vh - 64px - 2rem - 2px); height: calc(100dvh - 64px - 2rem - 2px); min-height: 480px;
}
html:has(.concord), body:has(.concord) { overflow: hidden; }   /* a página não rola: só as listas e as mensagens */
@media (max-width: 900px), (max-height: 560px) { html:has(.concord), body:has(.concord) { overflow: auto; } }
.concord.sem-membros { grid-template-columns: 250px minmax(0, 1fr) 0; }
.concord.sem-membros .cc-membros { display: none; }

/* lateral de canais */
.cc-lateral { background: var(--superficie-2); border-right: 1px solid var(--linha); display: flex; flex-direction: column; min-height: 0; }
.cc-marca { display: flex; align-items: center; gap: 0.65rem; padding: 0.9rem 1rem 0.7rem; }
.cc-marca b { display: block; font-size: 1.0625rem; letter-spacing: -0.01em; }
.cc-marca small { color: var(--suave); font-size: 0.75rem; }
.cc-logo { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: var(--marinho); color: var(--dourado); flex: none; }
.cc-logo svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
[data-theme="dark"] .cc-logo { background: var(--dourado); color: var(--marinho); }
.cc-busca { margin: 0 0.75rem 0.5rem; width: calc(100% - 1.5rem); padding: 0.45rem 0.7rem; font-size: 0.875rem; }
.cc-rolagem { flex: 1; overflow-y: auto; padding: 0 0.5rem 0.75rem; }
.cc-grupo { display: flex; justify-content: space-between; align-items: center; padding: 0.9rem 0.5rem 0.3rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--suave); }
.cc-mais { background: none; border: 0; color: var(--suave); font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0.1rem 0.35rem; border-radius: 6px; text-decoration: none; }
.cc-mais:hover { background: var(--realce); color: var(--texto); text-decoration: none; }
.cc-lista { display: flex; flex-direction: column; gap: 1px; }
.cc-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.55rem; border-radius: 8px; color: var(--suave); font-weight: 500; text-decoration: none; min-width: 0; }
.cc-item:hover { background: var(--realce); color: var(--texto); text-decoration: none; }
.cc-item.ativo { background: var(--azul-suave); color: var(--texto); font-weight: 600; }
.cc-item.nao-lido { color: var(--texto); font-weight: 700; }
.cc-item.arquivado { opacity: .6; }
.cc-item small { font-size: 0.6875rem; }
.cc-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-hash { color: var(--suave); font-weight: 700; font-size: 1.05rem; width: 16px; text-align: center; flex: none; }
.cc-badge { min-width: 20px; height: 18px; border-radius: 999px; background: var(--perigo); color: #fff; font-size: 0.6875rem; display: grid; place-items: center; padding: 0 5px; }
.cc-nada { font-size: 0.8125rem; color: var(--suave); padding: 0.3rem 0.55rem; margin: 0; }
.cc-supervisao-link { margin: 0.5rem 0.75rem 0.75rem; padding: 0.55rem 0.75rem; border-radius: 10px; background: var(--marinho); color: var(--dourado); font-weight: 600; font-size: 0.875rem; text-align: center; }
.cc-supervisao-link:hover { color: #fff; text-decoration: none; }

/* avatares e presença */
.cc-av { --cor: #215F8F; position: relative; width: 40px; height: 40px; border-radius: 50%; background: var(--cor); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 0.875rem; flex: none; }
.cc-av.mini { width: 30px; height: 30px; font-size: 0.6875rem; }
.cc-status { position: absolute; right: -2px; bottom: -2px; width: 11px; height: 11px; border-radius: 50%; background: var(--linha-forte); box-shadow: 0 0 0 2px var(--superficie-2); }
.cc-status.on { background: #2EB872; }

/* área principal */
.cc-principal { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: var(--superficie); }
.cc-topo { display: flex; align-items: center; gap: 0.75rem; padding: 0 1rem; height: 54px; border-bottom: 1px solid var(--linha); flex: none; }
.cc-titulo { display: flex; align-items: baseline; gap: 0.4rem; min-width: 0; flex: 1; }
.cc-titulo b { font-size: 1.0625rem; white-space: nowrap; }
.cc-desc { color: var(--suave); font-size: 0.8125rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-left: 1px solid var(--linha); padding-left: 0.6rem; margin-left: 0.3rem; }
.cc-desc:empty { display: none; }
.cc-acesso { font-size: 0.75rem; font-weight: 600; color: var(--suave); background: var(--realce); border-radius: 999px; padding: 0.15rem 0.6rem; white-space: nowrap; }
.cc-btn-membros, .cc-voltar { background: none; border: 0; color: var(--suave); cursor: pointer; width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; }
.cc-btn-membros:hover, .cc-voltar:hover { background: var(--realce); color: var(--texto); }
.cc-btn-membros svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.cc-voltar { display: none; font-size: 1.5rem; }
.cc-faixa-sup { background: var(--marinho); color: var(--dourado); font-size: 0.8125rem; font-weight: 600; padding: 0.5rem 1rem; flex: none; }

.cc-mensagens { flex: 1; overflow-y: auto; padding: 0.5rem 0 1rem; scroll-behavior: auto; }
.cc-vazio-inicial, .cc-inicio { padding: 2rem 1.25rem 1rem; color: var(--suave); }
.cc-vazio-inicial b, .cc-inicio b { display: block; font-size: 1.25rem; color: var(--texto); margin-bottom: 0.25rem; }
.cc-carregar { text-align: center; padding: 0.75rem; }
.cc-carregar button { font: inherit; font-size: 0.8125rem; background: var(--realce); border: 0; border-radius: 999px; padding: 0.35rem 0.9rem; cursor: pointer; color: var(--texto); }
.cc-dia { display: flex; align-items: center; gap: 0.75rem; margin: 1rem 1rem 0.35rem; color: var(--suave); font-size: 0.75rem; font-weight: 700; text-transform: capitalize; }
.cc-dia::before, .cc-dia::after { content: ""; flex: 1; height: 1px; background: var(--linha); }

.cc-msg { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0 0.8rem; padding: 0.45rem 1rem 0.2rem; }
.cc-msg.junto { padding-top: 0.05rem; }
.cc-msg:hover { background: color-mix(in srgb, var(--realce) 65%, transparent); }
.cc-msg .cc-av { margin-top: 2px; }
.cc-hora-lado { font-size: 0.625rem; color: var(--suave); text-align: right; padding-top: 0.25rem; visibility: hidden; font-variant-numeric: tabular-nums; }
.cc-msg:hover .cc-hora-lado { visibility: visible; }
.cc-cab { display: flex; align-items: baseline; gap: 0.45rem; flex-wrap: wrap; }
.cc-cab b { font-size: 0.9375rem; }
.cc-cargo { font-size: 0.6875rem; font-weight: 600; color: var(--suave); background: var(--realce); border-radius: 4px; padding: 0 0.35rem; }
.cc-cab time { font-size: 0.75rem; color: var(--suave); }
.cc-texto { font-size: 0.9375rem; line-height: 1.45; overflow-wrap: anywhere; }
.cc-texto.grande { font-size: 2rem; line-height: 1.2; }
.cc-texto code { font-size: 0.85em; padding: 0.1em 0.35em; }
.cc-mencao { background: var(--azul-suave); color: var(--azul); border-radius: 4px; padding: 0 0.15rem; font-weight: 600; }
.cc-mencao.eu { background: var(--dourado-suave); color: var(--dourado-texto); }
.cc-citacao { display: block; font-size: 0.8125rem; color: var(--suave); margin-bottom: 0.15rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-left: 3px solid var(--linha-forte); padding-left: 0.5rem; }
.cc-citacao:hover { color: var(--texto); text-decoration: none; }
.cc-imagem { display: inline-block; margin-top: 0.35rem; border-radius: 10px; overflow: hidden; border: 1px solid var(--linha); max-width: min(380px, 100%); }
.cc-imagem img { display: block; max-width: 100%; max-height: 300px; object-fit: contain; background: var(--superficie-2); }
.cc-baixar { display: block; font-size: 0.75rem; margin-top: 0.2rem; }
.cc-arquivo { display: inline-flex; align-items: center; gap: 0.65rem; margin-top: 0.35rem; padding: 0.6rem 0.85rem; border-radius: 10px; border: 1px solid var(--linha); background: var(--superficie-2); color: var(--texto); max-width: 380px; }
.cc-arquivo:hover { border-color: var(--azul); text-decoration: none; color: var(--texto); }
.cc-arquivo b { display: block; font-size: 0.875rem; color: var(--azul); word-break: break-all; }
.cc-arquivo small { font-size: 0.75rem; }
.cc-arq-icone { font-size: 1.6rem; }
.cc-reacoes { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.3rem; }
.cc-reacao { font: inherit; font-size: 0.875rem; display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.1rem 0.5rem; border-radius: 8px; border: 1px solid var(--linha); background: var(--superficie-2); cursor: pointer; color: var(--texto); }
.cc-reacao b { font-size: 0.75rem; }
.cc-reacao.minha { border-color: var(--azul); background: var(--azul-suave); }
.cc-reacao:hover { border-color: var(--linha-forte); }
.cc-acoes { position: absolute; top: -12px; right: 1rem; display: none; gap: 2px; background: var(--superficie); border: 1px solid var(--linha); border-radius: 8px; padding: 2px; box-shadow: var(--sombra); }
.cc-msg:hover .cc-acoes { display: flex; }
.cc-acoes button { width: 30px; height: 28px; border: 0; background: none; border-radius: 6px; cursor: pointer; font-size: 1rem; color: var(--texto); }
.cc-acoes button:hover { background: var(--realce); }
.cc-reacao-rapida { position: absolute; z-index: 40; display: flex; gap: 2px; background: var(--superficie); border: 1px solid var(--linha); border-radius: 12px; padding: 4px; box-shadow: var(--sombra-alta); }
.cc-reacao-rapida button { width: 36px; height: 36px; border: 0; background: none; border-radius: 8px; font-size: 1.25rem; cursor: pointer; }
.cc-reacao-rapida button:hover { background: var(--realce); transform: scale(1.12); }

/* escrever */
.cc-compor { position: relative; padding: 0 1rem 0.6rem; flex: none; }
.cc-respondendo, .cc-anexo-escolhido { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; font-size: 0.8125rem; color: var(--suave); background: var(--superficie-2); border: 1px solid var(--linha); border-bottom: 0; border-radius: 10px 10px 0 0; padding: 0.4rem 0.75rem; }
.cc-respondendo i { font-style: normal; }
.cc-respondendo button, .cc-anexo-escolhido button { background: none; border: 0; font-size: 1.1rem; color: var(--suave); cursor: pointer; }
.cc-caixa { display: flex; align-items: flex-end; gap: 0.35rem; background: var(--superficie-2); border: 1px solid var(--linha-forte); border-radius: 12px; padding: 0.35rem; }
.cc-caixa:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-suave); }
.cc-caixa textarea { flex: 1; border: 0; background: transparent; resize: none; padding: 0.45rem 0.4rem; max-height: 180px; box-shadow: none; line-height: 1.4; }
.cc-caixa textarea:focus { box-shadow: none; outline: none; }
.cc-icone-btn { width: 36px; height: 36px; display: grid; place-items: center; border: 0; background: none; border-radius: 8px; cursor: pointer; font-size: 1.15rem; color: var(--suave); flex: none; padding: 0; }
.cc-icone-btn:hover { background: var(--realce); color: var(--texto); }
.cc-icone-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cc-enviar { width: 38px; height: 36px; border: 0; border-radius: 9px; background: var(--botao); color: var(--botao-texto); display: grid; place-items: center; cursor: pointer; flex: none; }
.cc-enviar:hover { background: var(--botao-hover); }
.cc-enviar:disabled { opacity: .5; }
.cc-enviar svg { width: 18px; height: 18px; fill: currentColor; }
.cc-dica { font-size: 0.6875rem; color: var(--suave); margin: 0.35rem 0.25rem 0; }
.cc-somente-leitura { margin: 0 1rem 0.9rem; padding: 0.75rem 1rem; border-radius: 10px; background: var(--superficie-2); border: 1px dashed var(--linha-forte); color: var(--suave); font-size: 0.875rem; text-align: center; flex: none; }
.cc-emojis { position: absolute; right: 1rem; bottom: calc(100% - 0.25rem); width: 330px; max-width: calc(100% - 2rem); background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; box-shadow: var(--sombra-alta); z-index: 30; overflow: hidden; }
.cc-emojis nav { display: flex; gap: 2px; padding: 0.35rem; border-bottom: 1px solid var(--linha); background: var(--superficie-2); }
.cc-emojis nav button { flex: 1; border: 0; background: none; font-size: 1.1rem; padding: 0.3rem; border-radius: 8px; cursor: pointer; opacity: .55; }
.cc-emojis nav button.ativa, .cc-emojis nav button:hover { opacity: 1; background: var(--realce); }
.cc-emoji-grade { display: grid; grid-template-columns: repeat(8, 1fr); gap: 2px; padding: 0.4rem; max-height: 230px; overflow-y: auto; }
.cc-emoji-grade p { grid-column: 1 / -1; margin: 0.2rem 0.2rem 0.3rem; font-size: 0.6875rem; font-weight: 700; color: var(--suave); text-transform: uppercase; letter-spacing: 0.04em; }
.cc-emoji-grade button { border: 0; background: none; font-size: 1.35rem; padding: 0.25rem 0; border-radius: 8px; cursor: pointer; }
.cc-emoji-grade button:hover { background: var(--realce); transform: scale(1.15); }

/* participantes */
.cc-membros { background: var(--superficie-2); border-left: 1px solid var(--linha); overflow-y: auto; padding: 0.9rem 0.6rem; }
.cc-acesso-info { font-size: 0.75rem; color: var(--suave); margin: 0 0.4rem 0.5rem; }
.cc-membros-tit { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--suave); margin: 0.9rem 0.4rem 0.35rem; }
.cc-membro { display: flex; align-items: center; gap: 0.55rem; padding: 0.35rem 0.4rem; border-radius: 8px; }
.cc-membro:hover { background: var(--realce); }
.cc-membro.off { opacity: .55; }
.cc-membro > span:nth-child(2) { flex: 1; min-width: 0; }
.cc-membro b { display: block; font-size: 0.8125rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-membro small { font-size: 0.6875rem; }
.cc-dm-rapida { visibility: hidden; border: 0; background: none; cursor: pointer; font-size: 0.95rem; padding: 0.2rem; border-radius: 6px; }
.cc-membro:hover .cc-dm-rapida { visibility: visible; }
.cc-pessoas { display: flex; flex-direction: column; gap: 2px; max-height: 360px; overflow-y: auto; margin-top: 0.75rem; }
.cc-pessoa { display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0.6rem; border: 0; background: none; border-radius: 10px; cursor: pointer; text-align: left; font: inherit; color: var(--texto); }
.cc-pessoa:hover { background: var(--realce); }
.cc-pessoa b { display: block; font-size: 0.9375rem; }
.cc-pessoa small { font-size: 0.75rem; }
.tabela-concord td:last-child { min-width: 320px; }

@media (max-width: 1150px) {
  .concord { grid-template-columns: 230px minmax(0, 1fr) 0; }
  .concord { position: relative; }
  .concord .cc-membros { display: none; }
  .concord.mostrar-membros .cc-membros { display: block; position: absolute; right: 0; top: 54px; bottom: 0; width: 250px; z-index: 6; box-shadow: var(--sombra-alta); }
}
@media (max-width: 900px) {
  .concord { grid-template-columns: 1fr; height: calc(100vh - 64px - 1rem); }
  .concord .cc-principal { display: none; }
  .concord.com-conversa .cc-lateral { display: none; }
  .concord.com-conversa .cc-principal { display: flex; }
  .cc-voltar { display: grid; }
  .cc-desc, .cc-acesso { display: none; }
}
/* celular: conteúdo ocupa a largura toda (o menu lateral abre por cima) */
@media (max-width: 900px) {
  .estrutura { grid-template-columns: minmax(0, 1fr); background: none; }
  .conteudo { grid-column: 1; }
  .cc-dica { display: none; }
  .cc-cargo { display: none; }
}
.abas { overflow-x: auto; scrollbar-width: thin; }
.abas a { white-space: nowrap; }

/* ============================================================
   1.6.0 — Agendamentos (submenu), reserva de salas, lembretes e ícones
   ============================================================ */
/* ícones dentro de botões, abas e títulos */
.botao .icone { width: 18px; height: 18px; margin-left: -0.15rem; }
.botao.pequeno .icone { width: 15px; height: 15px; }
h1 { display: flex; align-items: center; gap: 0.65rem; flex-wrap: wrap; }
.conteudo > h1::after { flex-basis: 100%; max-width: 44px; margin-top: 0.1rem; }
.h1-icone { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--azul-suave); color: var(--azul); flex: none; }
.h1-icone .icone { width: 24px; height: 24px; stroke-width: 1.8; }
h2 .icone { width: 18px; height: 18px; vertical-align: -3px; color: var(--azul); }
.titulo-com-acao { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.titulo-com-acao h2 { margin: 0; }
.abas-icones a { display: inline-flex; align-items: center; gap: 0.45rem; }
.abas-icones .icone { width: 18px; height: 18px; }
.dica .icone { width: 14px; height: 14px; vertical-align: -2px; }
.ficha dt .icone { width: 15px; height: 15px; vertical-align: -2px; margin-right: 0.2rem; }
legend .icone { width: 16px; height: 16px; vertical-align: -3px; }
legend small { display: inline; font-weight: 500; color: var(--suave); }
.vazio-icone { display: flex; gap: 1rem; align-items: center; }
.vazio-icone > .icone { width: 42px; height: 42px; color: var(--azul); flex: none; padding: 9px; border-radius: 12px; background: var(--azul-suave); box-sizing: content-box; }
.vazio-icone b { color: var(--texto); }
.vazio-icone p { margin: 0.2rem 0 0; }

/* submenu Agendamentos */
.menu-grupo { display: flex; flex-direction: column; gap: 2px; }
.lateral nav a.menu-pai .seta { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; margin-left: auto; transition: transform .15s; opacity: .7; }
.menu-grupo.aberto .menu-pai .seta { transform: rotate(90deg); }
.lateral nav a.menu-pai.no-grupo { color: #fff; }
.lateral nav a.menu-pai.no-grupo .icone { color: var(--dourado); }
.submenu { display: none; flex-direction: column; gap: 2px; margin: 0 0 0.25rem 1.15rem; padding-left: 0.6rem; border-left: 1px solid rgba(255, 255, 255, .12); }
.menu-grupo.aberto .submenu, .menu-grupo:hover .submenu, .menu-grupo:focus-within .submenu { display: flex; }
.lateral nav .submenu a { padding: 0.42rem 0.65rem; font-size: 0.875rem; }
.lateral nav .submenu a .icone { width: 17px; height: 17px; }
.lateral nav .submenu a.ativo::before { left: -0.68rem; }

/* reserva: cartões das salas */
.salas-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.6rem; margin-bottom: 1.25rem; }
.sala-cartao { display: flex; gap: 0.75rem; align-items: center; padding: 0.75rem 0.9rem; border: 1px solid var(--linha); border-radius: 14px; background: var(--superficie); color: var(--texto); transition: border-color .15s, box-shadow .15s; }
.sala-cartao:hover { border-color: var(--azul); text-decoration: none; color: var(--texto); }
.sala-cartao.ativa { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-suave); }
.sala-icone { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--dourado-suave); color: var(--dourado-texto); flex: none; }
.sala-icone .icone { width: 22px; height: 22px; }
.sala-icone.pequeno { width: 30px; height: 30px; border-radius: 9px; display: inline-grid; vertical-align: middle; }
.sala-icone.pequeno .icone { width: 17px; height: 17px; }
.sala-cartao.ativa .sala-icone { background: var(--azul); color: #fff; }
.sala-info b { display: block; }
.sala-info small { display: block; font-size: 0.75rem; }
.sala-info .livre { color: var(--verde); font-weight: 700; }
.sala-info .ocupada { color: var(--perigo); font-weight: 700; }

.reserva-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.25rem; align-items: start; }
.leg-livre, .leg-ocupado { font-weight: 700; padding: 0 0.35rem; border-radius: 4px; }
.leg-livre { background: var(--verde-suave); color: var(--verde); }
.leg-ocupado { background: var(--realce); color: var(--texto); }
.cal-reserva .cal-coluna:not(.passado) .cal-slot { cursor: not-allowed; }
.cal-reserva .cal-slot.livre { cursor: cell !important; background: color-mix(in srgb, var(--verde-suave) 45%, transparent); }
.cal-reserva .cal-slot.livre:hover { background: var(--verde-suave) !important; box-shadow: inset 3px 0 0 var(--verde); }
.cal-reserva .cal-slot.selecionado { background: var(--azul-suave) !important; box-shadow: inset 3px 0 0 var(--azul); }
.cal-reserva .cal-dia-titulo small { display: block; font-size: 0.6875rem; font-weight: 700; margin-top: 0.15rem; }
.cal-reserva .cal-dia-titulo small.tem-livre { color: var(--verde); }
.cal-reserva .cal-dia-titulo small.sem-livre { color: var(--perigo); }
.cal-evento.ocupacao { --cor: #215F8F; background: color-mix(in srgb, var(--cor) 14%, var(--superficie)); border-left-color: var(--cor); }
.cal-evento.ocupacao .por { font-weight: 600; color: var(--cor); }
.cal-evento.ocupacao.minha { box-shadow: 0 0 0 2px var(--dourado) inset, 0 1px 2px rgba(18,35,58,.08); }
.cal-evento.reserva { border-left-style: dashed; }

.painel-lateral { border: 1px solid var(--linha); border-radius: 14px; padding: 0.9rem 1rem; margin-bottom: 0.9rem; background: var(--superficie); }
.painel-lateral h2 { font-size: 0.9375rem; display: flex; align-items: center; gap: 0.45rem; }
.livres-dia { display: flex; flex-wrap: wrap; gap: 0.3rem; align-items: center; padding: 0.35rem 0; border-bottom: 1px dashed var(--linha); }
.livres-dia:last-child { border-bottom: 0; }
.livres-rotulo { width: 100%; font-size: 0.75rem; font-weight: 700; color: var(--suave); text-transform: capitalize; }
.chip-livre { font: inherit; font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.55rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--verde) 40%, transparent); background: var(--verde-suave); color: var(--verde); cursor: pointer; font-variant-numeric: tabular-nums; }
.chip-livre:hover { background: var(--verde); color: #fff; }
.chip-livre.lotado { border-color: transparent; background: var(--perigo-suave); color: var(--perigo); cursor: default; }
.lista-reservas { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.lista-reservas li { display: flex; gap: 0.6rem; align-items: flex-start; }
.lista-reservas b { display: block; font-size: 0.875rem; }
.lista-reservas small { display: block; font-size: 0.75rem; }
.av-mini { --cor: #215F8F; width: 30px; height: 30px; border-radius: 50%; background: var(--cor); color: #fff; font-size: 0.6875rem; font-weight: 700; display: grid; place-items: center; flex: none; }
.chip.fixo span { background: var(--azul); border-color: var(--azul); color: #fff; opacity: .85; }
.chip.indisponivel span { text-decoration: line-through; opacity: .55; }
.ocupado-chip { font-style: normal; font-size: 0.6875rem; font-weight: 700; color: var(--perigo); }

/* lembretes */
.lembretes-dia { margin-bottom: 1.5rem; max-width: 52rem; }
.lembretes-dia h2 { display: flex; align-items: baseline; gap: 0.6rem; }
.lembretes-dia h2 small { font-weight: 500; }
.lembretes-dia.hoje .dia-rotulo { color: var(--azul); }
.lista-lembretes { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.lembrete { display: grid; grid-template-columns: 4.2rem auto 1fr auto; gap: 0.85rem; align-items: center; padding: 0.75rem 0.95rem; border: 1px solid var(--linha); border-radius: 14px; background: var(--superficie); border-left: 4px solid var(--azul); }
.lembrete.origem-reserva { border-left-color: var(--dourado); }
.lembrete.origem-solicitacao { border-left-color: var(--roxo); }
.lembrete-hora b { display: block; font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.lembrete-hora small { font-size: 0.75rem; }
.lembrete-icone { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--azul-suave); color: var(--azul); }
.origem-reserva .lembrete-icone { background: var(--dourado-suave); color: var(--dourado-texto); }
.origem-solicitacao .lembrete-icone { background: var(--roxo-suave); color: var(--roxo); }
.lembrete-icone .icone { width: 20px; height: 20px; }
.lembrete-corpo b { display: block; }
.lembrete-meta { display: flex; flex-wrap: wrap; gap: 0.2rem 0.9rem; font-size: 0.8125rem; color: var(--suave); }
.lembrete-meta span, .lembrete-corpo small { display: inline-flex; align-items: center; gap: 0.25rem; }
.lembrete-meta .icone, .lembrete-corpo small .icone { width: 14px; height: 14px; }

@media (max-width: 1100px) { .reserva-layout { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .lembrete { grid-template-columns: auto 1fr; }
  .lembrete-icone { display: none; }
  .lembrete > .botao { grid-column: 1 / -1; justify-self: start; }
}
/* traço dourado abaixo do título (largura total, desenho de 44px) */
.conteudo > h1::after { flex: 0 0 100%; max-width: none !important; width: auto; height: 4px; background: linear-gradient(to right, var(--dourado) 44px, transparent 44px) !important; border-radius: 4px; margin-top: 0.15rem; }

/* ============================================================
   1.7.0 — Romaneio (entregas do motoboy)
   ============================================================ */
.form-entrega { max-width: 60rem; gap: 1.1rem; }
.cartao-form { border: 1px solid var(--linha); border-radius: 16px; padding: 1.1rem 1.2rem; display: flex; flex-direction: column; gap: 0.9rem; background: var(--superficie); }
.cartao-form h2 { margin: 0; display: flex; align-items: center; gap: 0.45rem; font-size: 1rem; }
.grade-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.9rem; }
.grade-end { display: grid; grid-template-columns: 9rem 1fr 1fr 6rem; gap: 0.75rem 0.9rem; }
.grade-end .col-2 { grid-column: span 2; }
.grade-end small { font-weight: 500; }
.endereco-resumo { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 0.9rem; border-radius: 12px; background: var(--azul-suave); }
.endereco-resumo > span:nth-child(2) { flex: 1; font-weight: 600; }
.end-icone { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--superficie); color: var(--azul); flex: none; }
.end-icone .icone { width: 18px; height: 18px; }
.linha-opcoes { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; }
.linha-opcoes .volumes { flex-direction: row; align-items: center; gap: 0.5rem; }
.linha-opcoes .volumes input { width: 5rem; }

.aviso-whatsapp { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-radius: 16px; margin-bottom: 1.25rem; background: #E7F8EE; border: 1px solid #A8E2C0; max-width: 60rem; }
[data-theme="dark"] .aviso-whatsapp { background: #123526; border-color: #1F6B45; }
.aviso-whatsapp > div { flex: 1; }
.aviso-whatsapp p { margin: 0.15rem 0 0; color: var(--suave); font-size: 0.875rem; }
.wa-icone { width: 46px; height: 46px; border-radius: 50%; background: #25D366; color: #fff; display: grid; place-items: center; flex: none; }
.wa-icone svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 1.6; }
.botao.botao-whatsapp { background: #1FA855; color: #fff; }
.botao.botao-whatsapp:hover { background: #178A45; color: #fff; }

.entrega-detalhe { border: 1px solid var(--linha); border-radius: 18px; padding: 1.25rem 1.35rem; max-width: 60rem; border-left: 5px solid var(--dourado); }
.entrega-detalhe.status-entregue { border-left-color: var(--verde); }
.entrega-detalhe.status-nao_entregue, .entrega-detalhe.status-cancelada { border-left-color: var(--perigo); }
.entrega-detalhe.status-coletado { border-left-color: var(--azul); }
.entrega-detalhe h2 { margin: 0.5rem 0 0.15rem; font-size: 1.35rem; }
.num-entrega { font-weight: 800; color: var(--suave); margin-right: 0.3rem; }
.entrega-detalhe .ficha { margin-top: 1rem; }
.entrega-detalhe .linha-botoes form { margin: 0; }

.lista-entregas { display: grid; gap: 0.5rem; max-width: 62rem; }
.entrega-linha { display: grid; grid-template-columns: 3.4rem 1fr auto; gap: 0.9rem; align-items: center; padding: 0.75rem 0.95rem; border: 1px solid var(--linha); border-radius: 14px; background: var(--superficie); color: var(--texto); border-left: 4px solid var(--dourado); }
.entrega-linha:hover { box-shadow: var(--sombra); text-decoration: none; color: var(--texto); }
.entrega-linha.status-entregue { border-left-color: var(--verde); opacity: .85; }
.entrega-linha.status-coletado { border-left-color: var(--azul); }
.entrega-linha.status-nao_entregue, .entrega-linha.status-cancelada { border-left-color: var(--perigo); opacity: .75; }
.entrega-linha.urgente { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--perigo) 45%, transparent); }
.entrega-ordem { font-weight: 800; font-size: 1.15rem; text-align: center; color: var(--azul); line-height: 1.1; }
.entrega-ordem small { display: block; font-size: 0.6875rem; font-weight: 600; text-transform: capitalize; color: var(--suave); }
.entrega-corpo b { display: block; }
.entrega-corpo small { display: block; font-size: 0.8125rem; }
.entrega-fim { text-align: right; }

/* tela do motoboy (celular primeiro) */
.moto-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin-bottom: 1rem; }
.moto-dia { display: flex; align-items: center; gap: 0.6rem; }
.moto-dia > div { text-align: center; min-width: 6.5rem; }
.moto-dia b { display: block; font-size: 1.15rem; text-transform: capitalize; }
.moto-placar { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.moto-placar span { background: var(--realce); border-radius: 999px; padding: 0.3rem 0.8rem; font-size: 0.875rem; }
.moto-placar .ok { background: var(--verde-suave); color: var(--verde); }
.moto-placar .ruim { background: var(--perigo-suave); color: var(--perigo); }
.moto-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.85rem; max-width: 46rem; }
.moto-card { border: 1px solid var(--linha); border-radius: 18px; padding: 1rem 1.1rem; background: var(--superficie); border-left: 6px solid var(--dourado); }
.moto-card.status-coletado { border-left-color: var(--azul); }
.moto-card.status-entregue { border-left-color: var(--verde); opacity: .7; }
.moto-card.status-nao_entregue { border-left-color: var(--perigo); opacity: .7; }
.moto-card.urgente { box-shadow: 0 0 0 2px color-mix(in srgb, var(--perigo) 40%, transparent); }
.moto-cab { display: flex; align-items: center; gap: 0.75rem; }
.moto-num { width: 36px; height: 36px; border-radius: 50%; background: var(--marinho); color: var(--dourado); display: grid; place-items: center; font-weight: 800; flex: none; }
.status-entregue .moto-num { background: var(--verde); color: #fff; }
.moto-titulo { flex: 1; min-width: 0; }
.moto-titulo b { display: block; font-size: 1.05rem; }
.moto-titulo small { font-size: 0.8125rem; }
.moto-end { font-size: 1rem; font-weight: 600; margin: 0.75rem 0 0.6rem; }
.moto-atalhos { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.6rem; }
.moto-info { display: grid; grid-template-columns: 1.6rem 1fr; gap: 0.3rem 0.4rem; margin: 0 0 0.75rem; font-size: 0.9375rem; }
.moto-info dd { margin: 0; }
.moto-acoes { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: flex-start; border-top: 1px dashed var(--linha); padding-top: 0.75rem; }
.moto-acoes form { margin: 0; }
.botao.grande { padding: 0.8rem 1.2rem; font-size: 1rem; }
.botao.botao-ok { background: var(--verde); color: #fff; }
.botao.botao-ok:hover { background: #24835A; }
.moto-form { flex: 1 1 100%; }
.moto-form summary { list-style: none; display: inline-flex; cursor: pointer; }
.moto-form summary::-webkit-details-marker { display: none; }
.moto-form[open] summary { margin-bottom: 0.6rem; }
.moto-form .formulario { background: var(--superficie-2); border-radius: 12px; padding: 0.85rem; }
.moto-ordem { margin-left: auto !important; display: flex; gap: 0.3rem; }

@media (max-width: 760px) {
  .grade-4 { grid-template-columns: 1fr 1fr; }
  .grade-end { grid-template-columns: 1fr 1fr; }
  .entrega-linha { grid-template-columns: 2.6rem 1fr; }
  .entrega-fim { grid-column: 2; text-align: left; }
  .aviso-whatsapp { flex-wrap: wrap; }
  .moto-ordem { margin-left: 0 !important; }
}
.moto-ordem .botao, .agenda-nav .botao.icone, .moto-dia .botao.icone, .filtros .botao.icone { height: 38px; min-width: 38px; padding: 0; line-height: 1; }

/* ============================================================
   1.8.0 — Telegram, conversa com o motoboy e app instalável
   ============================================================ */
.tg-icone { width: 44px; height: 44px; border-radius: 50%; background: #229ED9; color: #fff; display: grid; place-items: center; flex: none; }
.tg-icone svg { width: 24px; height: 24px; margin-left: -2px; }
.tg-icone.pequeno { width: 22px; height: 22px; display: inline-grid; vertical-align: middle; }
.tg-icone.pequeno svg { width: 13px; height: 13px; }
.aviso-telegram { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-radius: 16px; margin-bottom: 1.25rem; background: var(--dourado-suave); border: 1px solid color-mix(in srgb, var(--dourado) 50%, transparent); max-width: 60rem; }
.aviso-telegram.ok { background: #E6F4FB; border-color: #A9D8EF; }
[data-theme="dark"] .aviso-telegram.ok { background: #10314A; border-color: #1F5F86; }
.aviso-telegram p { margin: 0.15rem 0 0; color: var(--suave); font-size: 0.875rem; }
.status-bot { display: flex; gap: 0.9rem; align-items: center; padding: 0.85rem 1rem; border-radius: 14px; background: var(--superficie-2); border: 1px solid var(--linha); margin-bottom: 1.25rem; max-width: 46rem; }
.status-bot.ok { background: #E6F4FB; border-color: #A9D8EF; }
[data-theme="dark"] .status-bot.ok { background: #10314A; border-color: #1F5F86; }
.status-bot b { display: block; }
.status-bot small { font-size: 0.8125rem; color: var(--suave); }
.status-bot:not(.ok) .tg-icone { filter: grayscale(1); opacity: .6; }

.moto-conexoes { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin-bottom: 1rem; }
.cartao-telegram { display: flex; align-items: center; gap: 0.85rem; padding: 0.85rem 1rem; border-radius: 16px; background: #229ED9; color: #fff; flex: 1 1 100%; max-width: 46rem; box-shadow: 0 6px 18px rgba(34, 158, 217, .3); }
.cartao-telegram:hover { color: #fff; text-decoration: none; background: #1B8BC1; }
.cartao-telegram .tg-icone { background: #fff; color: #229ED9; }
.cartao-telegram b { display: block; font-size: 1.05rem; }
.cartao-telegram small { color: #E3F3FB; font-size: 0.8125rem; }
.chip-conectado { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.8125rem; font-weight: 700; color: #1B8BC1; background: #E6F4FB; border-radius: 999px; padding: 0.3rem 0.75rem 0.3rem 0.35rem; }
[data-theme="dark"] .chip-conectado { background: #10314A; color: #7CC8EE; }
.dica-ios { font-size: 0.875rem; background: var(--azul-suave); border-radius: 12px; padding: 0.6rem 0.85rem; margin-bottom: 1rem; max-width: 46rem; }

/* conversa recepção ↔ motoboy */
.conversa-motoboy { display: grid; grid-template-columns: 270px minmax(0, 1fr); border: 1px solid var(--linha); border-radius: 16px; overflow: hidden; height: calc(100vh - 320px); min-height: 420px; max-width: 70rem; }
.conversa-motoboy.so-thread { grid-template-columns: 1fr; height: 460px; max-width: 46rem; }
.conv-lista { background: var(--superficie-2); border-right: 1px solid var(--linha); overflow-y: auto; padding: 0.5rem; }
.conv-item { width: 100%; display: flex; gap: 0.6rem; align-items: flex-start; text-align: left; padding: 0.6rem; border: 0; background: none; border-radius: 10px; cursor: pointer; font: inherit; color: var(--texto); }
.conv-item:hover { background: var(--realce); }
.conv-item.ativo { background: var(--azul-suave); }
.conv-item > span:nth-child(2) { flex: 1; min-width: 0; }
.conv-item b { display: block; }
.conv-item small { display: block; font-size: 0.75rem; }
.conv-ultima { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--texto) !important; opacity: .75; }
.conv-principal { display: flex; flex-direction: column; min-height: 0; background: var(--superficie); }
.conv-topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.7rem 1rem; border-bottom: 1px solid var(--linha); }
.conv-topo .nota { margin: 0; }
.conv-msgs { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 0.45rem; background: color-mix(in srgb, var(--superficie-2) 60%, var(--superficie)); }
.conv-msg { display: flex; }
.conv-msg.minha { justify-content: flex-end; }
.conv-balao { max-width: 75%; padding: 0.5rem 0.75rem; border-radius: 14px; background: var(--superficie); border: 1px solid var(--linha); box-shadow: 0 1px 1px rgba(18, 35, 58, .04); }
.conv-msg.minha .conv-balao { background: var(--azul-suave); border-color: transparent; border-bottom-right-radius: 4px; }
.conv-msg.outra .conv-balao { border-bottom-left-radius: 4px; }
.conv-balao b { display: block; font-size: 0.75rem; color: var(--dourado-texto); }
.conv-balao p { margin: 0.1rem 0; overflow-wrap: anywhere; }
.conv-balao img { display: block; max-width: 240px; max-height: 240px; border-radius: 10px; margin-top: 0.3rem; }
.conv-balao time { display: block; text-align: right; font-size: 0.6875rem; color: var(--suave); }
.conv-ref { display: inline-block; font-size: 0.75rem; font-weight: 600; background: var(--dourado-suave); color: var(--dourado-texto); border-radius: 6px; padding: 0 0.35rem; margin-bottom: 0.15rem; }
.conv-form { display: flex; gap: 0.5rem; padding: 0.65rem; border-top: 1px solid var(--linha); flex-wrap: wrap; }
.conv-form select { flex: 0 0 auto; width: auto; max-width: 16rem; }
.conv-form textarea { flex: 1; min-width: 12rem; resize: none; }
.conv-dica { margin: 0; padding: 0 1rem 0.65rem; }
.moto-conversa { margin-top: 2rem; }
@media (max-width: 760px) {
  .conversa-motoboy { grid-template-columns: 1fr; height: auto; }
  .conv-lista { max-height: 180px; border-right: 0; border-bottom: 1px solid var(--linha); }
  .conv-msgs { height: 55vh; }
}
.cartao-telegram small b { display: inline; font-size: inherit; }

/* ============================================================
   1.9.0 — CRM e Follow-up
   ============================================================ */
.crm-barra { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.crm-resumo { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.crm-resumo li { background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 12px; padding: 0.45rem 0.85rem; }
.crm-resumo li.alerta { background: var(--dourado-suave); border-color: color-mix(in srgb, var(--dourado) 50%, transparent); }
.crm-resumo small { display: block; font-size: 0.6875rem; font-weight: 700; color: var(--suave); text-transform: uppercase; letter-spacing: 0.03em; }
.crm-resumo b { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.alternar-visao { display: inline-flex; background: var(--realce); border-radius: 10px; padding: 3px; }
.alternar-visao a { padding: 0.4rem 0.8rem; border-radius: 8px; color: var(--suave); font-weight: 600; font-size: 0.875rem; }
.alternar-visao a.ativa { background: var(--superficie); color: var(--texto); box-shadow: 0 1px 3px rgba(18,35,58,.12); }
.alternar-visao a:hover { text-decoration: none; color: var(--texto); }

/* kanban */
.conteudo:has(.kanban) > * { max-width: none; }
.kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(205px, 1fr); gap: 0.75rem; overflow-x: auto; padding-bottom: 0.75rem; align-items: start; min-height: 60vh; }
.kb-coluna { background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 14px; display: flex; flex-direction: column; max-height: calc(100vh - 290px); min-height: 200px; border-top: 4px solid var(--cor-etapa); }
.kb-cab { padding: 0.7rem 0.85rem 0.55rem; border-bottom: 1px solid var(--linha); }
.kb-cab > div { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; }
.kb-cab b { font-size: 0.9375rem; }
.kb-cab small { font-weight: 700; color: var(--suave); }
.kb-cab > span { font-size: 0.75rem; color: var(--suave); font-variant-numeric: tabular-nums; }
.kb-lista { padding: 0.55rem; display: flex; flex-direction: column; gap: 0.5rem; overflow-y: auto; flex: 1; min-height: 80px; border-radius: 0 0 14px 14px; transition: background .15s; }
.kb-lista.sobre { background: var(--azul-suave); }
.kb-vazio { text-align: center; color: var(--suave); font-size: 0.8125rem; padding: 1rem 0.5rem; border: 2px dashed var(--linha-forte); border-radius: 10px; margin: 0; }
.kb-cartao { background: var(--superficie); border: 1px solid var(--linha); border-radius: 11px; padding: 0.65rem 0.75rem; display: flex; flex-direction: column; gap: 0.2rem; box-shadow: 0 1px 2px rgba(18,35,58,.06); cursor: grab; border-left: 3px solid transparent; transition: box-shadow .15s, transform .15s; }
.kb-cartao[draggable="false"] { cursor: default; }
.kb-cartao:hover { box-shadow: 0 6px 16px rgba(18,35,58,.12); }
.kb-cartao.arrastando { opacity: .45; transform: rotate(1.5deg); }
.kb-cartao.temp-quente { border-left-color: #E8590C; }
.kb-cartao.temp-fria { border-left-color: #74A9D8; }
.kb-cartao.parado { background: linear-gradient(to right, color-mix(in srgb, var(--dourado-suave) 70%, var(--superficie)), var(--superficie)); }
.kb-titulo { font-weight: 700; color: var(--texto); line-height: 1.25; }
.kb-titulo:hover { color: var(--azul); }
.kb-org { font-size: 0.8125rem; color: var(--suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-valor { font-weight: 800; font-variant-numeric: tabular-nums; }
.kb-valor small { font-weight: 500; color: var(--suave); font-size: 0.75rem; }
.kb-rodape { display: flex; justify-content: space-between; align-items: center; gap: 0.4rem; margin-top: 0.25rem; }
.kb-prox { font-size: 0.75rem; font-weight: 700; padding: 0.1rem 0.45rem; border-radius: 6px; background: var(--azul-suave); color: var(--azul); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kb-prox.hoje { background: var(--verde-suave); color: var(--verde); }
.kb-prox.atrasada { background: var(--perigo-suave); color: var(--perigo); }
.kb-prox.sem { background: var(--dourado-suave); color: var(--dourado-texto); }
.kb-meta { display: inline-flex; align-items: center; gap: 0.3rem; flex: none; font-size: 0.875rem; }
.kb-meta .av-mini { width: 24px; height: 24px; font-size: 0.625rem; }
.kb-dias { font-size: 0.6875rem; font-weight: 800; color: var(--dourado-texto); }
.kb-destinos { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1rem 1.5rem 1.25rem 260px; background: linear-gradient(to top, rgba(12,23,38,.35), transparent); pointer-events: none; }
.kb-destino { pointer-events: auto; border-radius: 16px; padding: 1.1rem; text-align: center; font-weight: 800; font-size: 1.1rem; border: 3px dashed; backdrop-filter: blur(4px); transition: transform .15s; }
.kb-destino.ganho { background: rgba(46,158,106,.18); border-color: var(--verde); color: var(--verde); }
.kb-destino.perdido { background: rgba(210,69,59,.15); border-color: var(--perigo); color: var(--perigo); }
.kb-destino.sobre { transform: scale(1.03); background: var(--superficie); }

/* formulários do CRM */
.cartao-form legend { font-size: 0.9375rem; }
.grade-campos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem 0.9rem; }
.grade-campos .col-2 { grid-column: span 2; }
.rotulo-campo { display: block; font-size: 0.8125rem; font-weight: 600; color: var(--suave); margin-bottom: 0.35rem; }
.segmentado.tres { grid-template-columns: repeat(3, 1fr); }
.segmentado input:disabled + span { opacity: .4; }
.tipos-atividade { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.tipos-atividade .chip span { font-size: 0.8125rem; padding: 0.3rem 0.7rem; }
.destaque-proximo { border-color: color-mix(in srgb, var(--azul) 40%, var(--linha)); background: color-mix(in srgb, var(--azul-suave) 35%, var(--superficie)); }
.crm-acesso { flex: 1 1 100%; }
.crm-acesso select { max-width: 32rem; }

/* negócio */
.festa-ganho { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-radius: 16px; margin-bottom: 1rem; background: linear-gradient(120deg, #E3F5EC, #FFF4D9); border: 1px solid #A8E2C0; }
[data-theme="dark"] .festa-ganho { background: linear-gradient(120deg, #16372A, #3A2F16); border-color: #1F6B45; }
.festa-ganho .trofeu { font-size: 2.6rem; animation: pulo .8s ease-out 2; }
@keyframes pulo { 50% { transform: translateY(-8px) scale(1.1); } }
.festa-ganho p { margin: 0.15rem 0 0; }
.negocio-topo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; margin: -0.75rem 0 1rem; }
.negocio-valor { font-size: 1.6rem; font-weight: 800; margin: 0.2rem 0 0; font-variant-numeric: tabular-nums; }
.negocio-valor small { font-size: 0.9rem; font-weight: 500; color: var(--suave); }
.negocio-valor span { font-size: 0.95rem; font-weight: 600; color: var(--suave); }
.negocio-acoes { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.negocio-acoes form { margin: 0; }
.botao.botao-ganho { background: var(--verde); color: #fff; }
.botao.botao-ganho:hover { background: #24835A; color: #fff; }
.botao.botao-perdido { background: var(--perigo-suave); color: var(--perigo); }
.botao.botao-perdido:hover { background: var(--perigo); color: #fff; }
.selo-grande { font-weight: 800; padding: 0.45rem 0.9rem; border-radius: 10px; }
.selo-grande.ganho { background: var(--verde-suave); color: var(--verde); }
.selo-grande.perdido { background: var(--perigo-suave); color: var(--perigo); }
.etapas-trilha { display: flex; margin-bottom: 1.25rem; overflow-x: auto; }
.etapas-trilha form { flex: 1; min-width: 120px; margin: 0; }
.etapas-trilha button { width: 100%; font: inherit; border: 0; cursor: pointer; padding: 0.55rem 0.5rem 0.55rem 1.4rem; background: var(--realce); color: var(--suave); text-align: left;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%); margin-right: -10px; }
.etapas-trilha form:first-child button { clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%); padding-left: 0.8rem; border-radius: 10px 0 0 10px; }
.etapas-trilha button b { display: block; font-size: 0.8125rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.etapas-trilha button small { font-size: 0.6875rem; }
.etapas-trilha .feita button { background: color-mix(in srgb, var(--cor-etapa) 30%, var(--superficie)); color: var(--texto); }
.etapas-trilha .atual button { background: var(--cor-etapa); color: #fff; }
.etapas-trilha button:not(:disabled):hover { filter: brightness(.95); }
.etapas-trilha button:disabled { cursor: default; }
.negocio-grade { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.negocio-lado .painel-lateral p { margin: 0 0 0.5rem; }
.negocio-lado .painel-lateral p small { display: block; }
.ficha.compacta { grid-template-columns: max-content 1fr; gap: 0.3rem 0.8rem; font-size: 0.875rem; margin: 0; }
.contato-acoes { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.35rem; }
.largo-total { width: 100%; }
.lista-atividades { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.5rem; }
.lista-atividades.grande { max-width: 60rem; }
.atividade { display: grid; grid-template-columns: 2.4rem 1fr auto; gap: 0.75rem; align-items: start; padding: 0.75rem 0.9rem; border: 1px solid var(--linha); border-radius: 13px; background: var(--superficie); border-left: 4px solid var(--azul); }
.atividade.hoje { border-left-color: var(--verde); }
.atividade.atrasada { border-left-color: var(--perigo); background: color-mix(in srgb, var(--perigo-suave) 40%, var(--superficie)); }
.atividade.feita { border-left-color: var(--linha-forte); opacity: .8; }
.at-icone { font-size: 1.35rem; line-height: 1; width: 2.4rem; height: 2.4rem; border-radius: 10px; display: grid; place-items: center; background: var(--realce); }
.at-corpo b { display: block; }
.at-corpo small { font-size: 0.8125rem; }
.at-corpo p { margin: 0.3rem 0 0; font-size: 0.875rem; }
.at-corpo .resultado { color: var(--suave); font-style: italic; }
.at-acoes { display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: flex-start; justify-content: flex-end; }
.at-acoes form { margin: 0; }
.adiar select { width: auto; padding: 0.3rem 0.5rem; font-size: 0.8125rem; }
.concluir { grid-column: 1 / -1; }
.atividade .concluir { grid-column: auto; }
.concluir summary { list-style: none; cursor: pointer; }
.concluir summary::-webkit-details-marker { display: none; }
.concluir[open] { grid-column: 1 / -1; }
.concluir .formulario { margin-top: 0.6rem; background: var(--superficie-2); border-radius: 12px; padding: 0.85rem; }
.dia-sep { font-size: 0.8125rem; font-weight: 800; color: var(--suave); padding: 0.75rem 0 0.1rem; text-transform: capitalize; }
.nota-rapida { display: flex; gap: 0.5rem; align-items: flex-end; margin-bottom: 1rem; }
.nota-rapida textarea { flex: 1; }
.nota-texto { background: var(--dourado-suave); border-radius: 8px; padding: 0.35rem 0.55rem; }

/* painel */
.kpi-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; margin-bottom: 1.25rem; }
.kpi { border: 1px solid var(--linha); border-radius: 14px; padding: 0.85rem 1rem; background: var(--superficie); display: flex; flex-direction: column; gap: 0.15rem; }
.kpi small { font-size: 0.75rem; font-weight: 700; color: var(--suave); text-transform: uppercase; letter-spacing: 0.03em; }
.kpi b { font-size: 1.55rem; font-variant-numeric: tabular-nums; line-height: 1.15; }
.kpi span { font-size: 0.8125rem; color: var(--suave); }
.kpi.principal { background: var(--marinho); color: #fff; border-color: var(--marinho); }
.kpi.principal small, .kpi.principal span { color: #C7D3E1; }
.kpi.principal b { color: var(--dourado); }
.kpi.alerta { background: var(--dourado-suave); border-color: color-mix(in srgb, var(--dourado) 50%, transparent); }
.kpi .meta { height: 8px; background: rgba(255,255,255,.18); border-radius: 999px; overflow: hidden; margin-top: 0.35rem; }
.kpi .meta i { display: block; height: 100%; background: var(--dourado); border-radius: 999px; }
.dash-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.dash-card { border: 1px solid var(--linha); border-radius: 16px; padding: 1rem 1.1rem; background: var(--superficie); min-width: 0; }
.dash-card.largo { grid-column: 1 / -1; }
.dash-card h2 { font-size: 1rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem; }
.dash-card h2 small { font-weight: 500; color: var(--suave); font-size: 0.75rem; }
.funil { display: grid; gap: 0.4rem; }
.funil-linha { display: grid; grid-template-columns: 9.5rem 1fr 6.5rem; gap: 0.6rem; align-items: center; color: var(--texto); }
.funil-linha:hover { text-decoration: none; }
.funil-nome { font-size: 0.8125rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.funil-nome small { display: inline; margin-left: 0.3rem; }
.funil-barra { background: var(--realce); border-radius: 8px; height: 28px; overflow: hidden; }
.funil-barra i { display: flex; align-items: center; height: 100%; color: #fff; font-style: normal; font-weight: 800; font-size: 0.8125rem; padding-left: 0.5rem; border-radius: 8px; min-width: 26px; }
.funil-valor { text-align: right; font-weight: 700; font-size: 0.875rem; font-variant-numeric: tabular-nums; }
.colunas { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0.35rem; align-items: end; height: 210px; }
.col { display: flex; flex-direction: column; align-items: center; height: 100%; justify-content: flex-end; gap: 0.15rem; min-width: 0; }
.col-valor { font-size: 0.625rem; color: var(--suave); white-space: nowrap; }
.col-barra { width: 100%; max-width: 30px; flex: 1; display: flex; align-items: flex-end; }
.col-barra i { display: block; width: 100%; background: linear-gradient(to top, var(--azul), color-mix(in srgb, var(--azul) 60%, #fff)); border-radius: 6px 6px 2px 2px; min-height: 2px; }
.col-mes { font-size: 0.625rem; color: var(--suave); }
.col-gp { font-size: 0.625rem; }
.barra-h { display: grid; grid-template-columns: minmax(0, 11rem) 1fr auto auto; gap: 0.6rem; align-items: center; margin-bottom: 0.45rem; font-size: 0.8125rem; }
.barra-h > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.barra-h-trilho { background: var(--realce); border-radius: 6px; height: 12px; overflow: hidden; }
.barra-h-trilho i { display: block; height: 100%; background: var(--perigo); border-radius: 6px; }
.barra-h.verde .barra-h-trilho i { background: var(--verde); }
.barra-h small { color: var(--suave); }
.tabela.compacta td, .tabela.compacta th { padding: 0.45rem 0.6rem; font-size: 0.8125rem; }
.linha-alerta td { color: var(--perigo); }
.cor-verde { color: var(--verde); }
.cor-vermelho { color: var(--perigo); }
.mt { margin-top: 1.25rem; }
.etapas-config input[type=color] { width: 40px; height: 34px; padding: 2px; }

@media (max-width: 1100px) {
  .kpi-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dash-grade, .negocio-grade { grid-template-columns: 1fr; }
  .grade-campos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kb-destinos { padding-left: 1.5rem; }
}
@media (max-width: 640px) {
  .grade-campos { grid-template-columns: 1fr; }
  .grade-campos .col-2 { grid-column: auto; }
  .atividade { grid-template-columns: 2.4rem 1fr; }
  .at-acoes { grid-column: 1 / -1; justify-content: flex-start; }
  .funil-linha { grid-template-columns: 6rem 1fr 5rem; }
  .colunas { gap: 0.15rem; }
  .col-valor { display: none; }
}
.kb-marca { border: 2px dashed var(--azul); border-radius: 11px; background: var(--azul-suave); flex: none; }
.kb-cartao.arrastando { opacity: .35; }
.kb-valor small, .negocio-valor small, .kpi span small { display: inline; }
.dash-grade { align-items: start; }
.kpi span b { font-size: inherit; line-height: inherit; }

/* ============================================================
   2.0.0 — Reuniões online, convidados externos e lembrete 15 min
   ============================================================ */
.bloco-online { border-color: color-mix(in srgb, var(--azul) 45%, var(--linha)); background: color-mix(in srgb, var(--azul-suave) 40%, var(--superficie)); }
.linha-link { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.linha-link input { flex: 1; min-width: 14rem; }
.cartao-integracao .integracao-ok { display: flex; align-items: center; gap: 0.85rem; padding: 0.8rem 1rem; border-radius: 12px; background: var(--verde-suave); max-width: 40rem; }
.integracao-ok > div { flex: 1; }
.integracao-ok b, .integracao-ok small { display: block; }
.prov-icone { font-size: 1.6rem; }
.botao-prov.prov-google { border-color: #34A853; }
.botao-prov.prov-microsoft { border-color: #6264A7; }
.botao.desativado { opacity: .55; cursor: not-allowed; }
.alerta-navegador { margin-top: 1rem; padding: 0.85rem 1rem; border-radius: 12px; background: var(--superficie-2); border: 1px solid var(--linha); max-width: 40rem; }
.alerta-navegador p { margin: 0 0 0.6rem; }
.copiar-campo { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; margin-bottom: 0.75rem; }
.copiar-campo code { padding: 0.45rem 0.7rem; background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 8px; overflow-wrap: anywhere; }
/* página da reunião */
.reuniao-cartao { border: 1px solid var(--linha); border-radius: 18px; padding: 1.25rem 1.4rem; margin-bottom: 1.25rem; max-width: 52rem; background: linear-gradient(135deg, var(--superficie), var(--azul-suave)); }
.reuniao-cartao.estado-agora { border-color: var(--verde); box-shadow: 0 0 0 3px var(--verde-suave); }
.reuniao-cartao.estado-cancelada { opacity: .6; }
.reuniao-quando { display: flex; gap: 1rem; align-items: center; }
.reuniao-icone-grande { font-size: 2.6rem; }
.reuniao-quando b { display: block; font-size: 1.15rem; }
.reuniao-quando small { display: block; color: var(--suave); }
.reuniao-contagem { display: inline-block; margin-top: 0.35rem; font-weight: 800; color: var(--azul); font-variant-numeric: tabular-nums; }
.reuniao-entrar { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-top: 1rem; }
.botao.botao-entrar { background: #1FA855; color: #fff; }
.botao.botao-entrar:hover { background: #178A45; color: #fff; }
.link-texto { margin: 0.5rem 0 0; overflow-wrap: anywhere; }
.duas-colunas-largas { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; max-width: 52rem; }
.lista-simples { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
.lista-simples li { display: flex; justify-content: space-between; gap: 0.5rem; font-size: 0.9rem; }
/* aviso flutuante de reunião */
.avisos-reuniao { position: fixed; right: 1rem; bottom: 1rem; z-index: 90; display: flex; flex-direction: column; gap: 0.6rem; max-width: min(380px, calc(100vw - 2rem)); }
.aviso-reuniao { position: relative; display: flex; gap: 0.75rem; padding: 0.9rem 2.2rem 0.9rem 0.95rem; border-radius: 16px; background: var(--marinho); color: #fff; box-shadow: 0 14px 34px rgba(12,23,38,.35); animation: entra-aviso .35s ease-out; }
@keyframes entra-aviso { from { transform: translateY(20px); opacity: 0; } }
.aviso-reuniao .ar-icone { font-size: 1.8rem; line-height: 1; }
.aviso-reuniao b { display: block; color: var(--dourado); }
.aviso-reuniao span { display: block; font-weight: 600; }
.aviso-reuniao small { display: block; color: #C7D3E1; }
.ar-botoes { display: flex; gap: 0.4rem; margin-top: 0.55rem; flex-wrap: wrap; }
.ar-botoes .botao.secundario { background: rgba(255,255,255,.12); color: #fff; border-color: transparent; }
.ar-fechar { position: absolute; top: 0.4rem; right: 0.5rem; background: none; border: 0; color: #C7D3E1; font-size: 1.3rem; cursor: pointer; }
.ar-permitir { position: absolute; left: 0; right: 0; bottom: -2rem; background: none; border: 0; color: var(--azul); font: inherit; font-size: 0.75rem; cursor: pointer; text-align: right; }
@media (max-width: 760px) { .duas-colunas-largas { grid-template-columns: 1fr; } }

/* ============================================================
   2.0.1 — CRM / Follow-Up na página inicial e gráfico em linha
   ============================================================ */
.crm-inicio { margin-bottom: 2rem; }
.crm-inicio-topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 0.9rem; }
.crm-inicio-topo h2 { margin: 0; display: flex; align-items: center; gap: 0.5rem; font-size: 1.3rem; }
.crm-inicio-topo h2 .icone { width: 22px; height: 22px; color: var(--azul); }
.crm-cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.85rem; }
.crm-cartao { --fundo: #215F8F; --texto: #fff; display: flex; flex-direction: column; align-items: center; text-align: center; border-radius: 14px; overflow: hidden;
  background: var(--fundo); color: var(--texto); box-shadow: 0 6px 16px rgba(18,35,58,.14); transition: transform .15s, box-shadow .15s; min-height: 170px; }
.crm-cartao:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(18,35,58,.2); text-decoration: none; color: var(--texto); }
.crm-cartao .cc-nome { font-size: 1.05rem; font-weight: 600; padding: 1rem 0.6rem 0.2rem; line-height: 1.25; min-height: 3.4rem; display: flex; align-items: center; }
.crm-cartao .cc-num { font-size: 2.4rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.crm-cartao .cc-valor { font-size: 0.8125rem; opacity: .85; padding-bottom: 0.75rem; }
.crm-cartao .cc-ver { margin-top: auto; width: 100%; padding: 0.55rem; font-weight: 800; background: rgba(0,0,0,.1); }
.crm-cartao .cc-ver b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: currentColor; margin-left: 0.25rem; }
.crm-cartao .cc-ver b { color: var(--fundo); background: var(--texto); font-size: 0.75rem; }
.crm-cartao.total { --fundo: var(--superficie); --texto: var(--texto); border: 1px solid var(--linha); }
.crm-cartao.total .cc-ver { background: var(--realce); }
.crm-cartao.total .cc-ver b { color: var(--superficie); background: var(--texto); }
.crm-buscador { margin-top: 1rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 0.75rem 1rem; align-items: end; padding: 1rem 1.15rem 1.15rem;
  background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; box-shadow: 0 2px 6px rgba(18,35,58,.05); }
.crm-buscador h3 { grid-column: 1 / -1; margin: 0; font-size: 1.15rem; }
.crm-buscador-botoes { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.crm-buscador .botao { white-space: nowrap; }
.bt-buscar { background: #3FA9D6; color: #fff; } .bt-buscar:hover { background: #2D93BF; color: #fff; }
.bt-limpar { background: var(--perigo); color: #fff; } .bt-limpar:hover { background: #B6372E; color: #fff; text-decoration: none; }
.bt-exportar { background: var(--verde); color: #fff; } .bt-exportar:hover { background: #24835A; color: #fff; text-decoration: none; }
.crm-grafico, .dash-linha { background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; padding: 1rem 1.1rem; }
.dash-linha { margin-bottom: 1rem; }
.crm-grafico-topo { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.4rem; }
.crm-grafico-topo h2 { margin: 0; }
.alternar-visao.pequeno a { padding: 0.25rem 0.65rem; font-size: 0.8125rem; }
.grafico-linhas { width: 100%; height: auto; display: block; }
.gl-grade { stroke: var(--linha); stroke-width: 1; }
.gl-eixo { fill: var(--suave); font-size: 13px; font-family: inherit; }
.gl-linha { fill: none; stroke-width: 3.2; stroke-linejoin: round; stroke-linecap: round; }
.gl-area { opacity: .08; }
.gl-ponto { stroke: var(--superficie); stroke-width: 2.5; cursor: pointer; transition: r .15s; }
.gl-ponto:hover { r: 8; }
.gl-legenda { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; justify-content: center; margin-top: 0.4rem; font-size: 0.875rem; }
.gl-legenda i { display: inline-block; width: 22px; height: 4px; border-radius: 4px; vertical-align: middle; margin-right: 0.4rem; }
@media (max-width: 900px) { .crm-buscador { grid-template-columns: 1fr 1fr; } .crm-buscador-botoes { grid-column: 1 / -1; } }
@media (max-width: 560px) { .crm-buscador { grid-template-columns: 1fr; } .crm-cartoes { grid-template-columns: 1fr 1fr; } }
.crm-cartoes { grid-template-columns: repeat(auto-fit, minmax(122px, 1fr)); gap: 0.7rem; }
.crm-cartao .cc-nome { font-size: 0.95rem; padding: 0.85rem 0.5rem 0.15rem; overflow-wrap: anywhere; justify-content: center; }
.crm-cartao .cc-num { font-size: 2.15rem; }
.crm-cartao .cc-valor { font-size: 0.75rem; padding-left: 0.3rem; padding-right: 0.3rem; }
.crm-cartao.total .cc-ver b { color: #fff; background: var(--azul); }
.crm-cartao .cc-nome { align-self: stretch; text-align: center; hyphens: auto; }
.crm-cartao .cc-nome { display: block; min-height: 3.6rem; padding: 0.9rem 0.45rem 0.1rem; line-height: 1.2; }
.crm-cartao .cc-nome { white-space: normal; overflow: visible; text-overflow: clip; flex: none; }
.crm-buscador h3 small { font-weight: 500; font-size: 0.8125rem; margin-left: 0.4rem; }
.filtro-ativo { background: var(--azul-suave); border-radius: 10px; padding: 0.5rem 0.85rem; font-size: 0.875rem; margin: 0 0 0.9rem; }
.crm-inicio + .crm-barra { margin-top: 0.5rem; }

/* 2.0.3 — submenus abrem e fecham com clique (não mais ao passar o mouse) */
.menu-grupo:hover .submenu, .menu-grupo:focus-within .submenu { display: none; }
.menu-grupo.aberto .submenu { display: flex; }
.lateral nav .menu-pai { display: flex; align-items: center; gap: 0.75rem; width: 100%; padding: 0.6rem 0.8rem; border: 0; border-radius: 10px; background: none; font: inherit;
  font-weight: 500; color: var(--lateral-texto); text-align: left; cursor: pointer; position: relative; }
.lateral nav .menu-pai span { flex: 1; }
.lateral nav .menu-pai .icone { color: var(--lateral-suave); }
.lateral nav .menu-pai:hover { background: var(--lateral-hover); color: #fff; }
.lateral nav .menu-pai:hover .icone { color: #fff; }
.lateral nav .menu-pai:focus-visible { outline: 2px solid var(--dourado); outline-offset: 2px; }
.lateral nav .menu-pai .seta { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; margin-left: auto; transition: transform .2s; opacity: .7; }
.menu-grupo.aberto .menu-pai .seta { transform: rotate(90deg); }
.lateral nav .menu-pai.no-grupo { color: #fff; }
.lateral nav .menu-pai.no-grupo .icone { color: var(--dourado); }
.menu-grupo .submenu { animation: abre-submenu .18s ease-out; }
@keyframes abre-submenu { from { opacity: 0; transform: translateY(-4px); } }


/* 2.0.4 — Configurações → Acesso por IP */
.ip-status .ip-icone { font-size: 1.6rem; line-height: 1; }
.ip-status code, #ip-lista { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
#ip-lista { line-height: 1.6; }

/* ============================================================
   2.1.0 — Romaneio com WhatsApp, permissões, empresas, atas, chamados TI,
   sugestões, compras, administração, atualizações e dashboard do CRM
   ============================================================ */
.mb { margin-bottom: 1.25rem; }
.ok-txt { color: var(--verde); font-weight: 600; }
.alerta-txt { color: var(--perigo); font-weight: 600; }
.texto-longo { white-space: normal; line-height: 1.6; }
.centro { text-align: center; }
form.inline { display: inline; }
.chip-filtro { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.85rem; border-radius: 999px; border: 1px solid var(--linha-forte); background: var(--superficie);
  color: var(--texto); font: inherit; font-size: 0.875rem; font-weight: 600; cursor: pointer; text-decoration: none; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; }
.chip-filtro:hover { border-color: var(--azul); color: var(--azul); text-decoration: none; }
.chip-filtro.ativo { background: var(--c, var(--azul)); border-color: var(--c, var(--azul)); color: #fff; }
.chip-filtro b { font-weight: 800; opacity: .8; }
.chip-filtro .av-mini { width: 22px; height: 22px; font-size: 0.6rem; }

/* WhatsApp */
.botao-whatsapp { background: #1FA855; border-color: #1FA855; color: #fff; display: inline-flex; align-items: center; gap: 0.45rem; }
.botao-whatsapp:hover { background: #178A45; color: #fff; text-decoration: none; }
.botao.secundario.botao-whatsapp { background: var(--superficie); color: #178A45; border-color: #9BD9B3; }
.botao.secundario.botao-whatsapp:hover { background: #E7F7EE; }
[data-theme="dark"] .botao.secundario.botao-whatsapp { color: #5FD592; border-color: #24603F; }
[data-theme="dark"] .botao.secundario.botao-whatsapp:hover { background: #16372A; }
.botao-whatsapp .icone { width: 18px; height: 18px; }
.chamar-motoboy { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: -0.5rem 0 1.25rem; }
.aviso-whatsapp { display: flex; gap: 0.9rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: var(--raio-grande); background: var(--dourado-suave); border: 1px solid color-mix(in srgb, var(--dourado) 45%, transparent); margin-bottom: 1.25rem; max-width: 52rem; }
.aviso-whatsapp.ok { background: #E7F7EE; border-color: #9BD9B3; }
[data-theme="dark"] .aviso-whatsapp.ok { background: #16372A; border-color: #24603F; }
.aviso-whatsapp p { margin: 0.2rem 0 0.7rem; color: var(--suave); }
.aw-icone { font-size: 1.6rem; line-height: 1; color: #1FA855; }
.aw-icone .icone { width: 30px; height: 30px; }
.lista-aprovar { display: grid; gap: 1rem; }
.cartao-aprovar { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1rem 1.15rem; box-shadow: var(--sombra); border-left: 4px solid var(--roxo); }
.cartao-aprovar.urgente { border-left-color: var(--perigo); }
.cartao-aprovar header small { display: block; color: var(--suave); margin-top: 0.15rem; }
.cartao-aprovar p { margin: 0.6rem 0; }
.aprovar-acoes { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-end; margin-top: 0.5rem; }
.aprovar-form { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: flex-end; }
.aprovar-form label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.8125rem; color: var(--suave); }
.aprovar-form input, .aprovar-form select { min-width: 10rem; }
details.recusar > summary { list-style: none; }
details.recusar > summary::-webkit-details-marker { display: none; }
details.recusar[open] > summary { display: none; }

/* Usuários: permissões por área */
.permissoes-grupo { border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 0.75rem 1rem 1rem; }
.permissoes-grupo legend { font-weight: 700; padding: 0 0.4rem; }
.permissoes-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 0.75rem; }
.permissoes-grade section { background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 12px; padding: 0.75rem 0.85rem; display: flex; flex-direction: column; gap: 0.6rem; }
.permissoes-grade h3 { margin: 0; font-size: 0.875rem; }
.permissoes-grade .interruptor small, .permissoes-grade label small { display: block; font-weight: 400; color: var(--suave); }

/* Empresas */
.campo-com-botao { display: flex; gap: 0.5rem; align-items: center; }
.campo-com-botao input { flex: 1; min-width: 0; }
.receita-info { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; padding: 0.7rem 0.9rem; border-radius: 10px; background: var(--azul-suave); font-size: 0.875rem; }
.receita-info span { color: var(--suave); }
.receita-info b { color: var(--texto); }
.resultado-import { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1rem 1.15rem; margin-bottom: 1.25rem; box-shadow: var(--sombra); }
.resultado-import ul:not(.kpis) { margin: 0.5rem 0 0; color: var(--perigo); }

/* Agenda: mover compromisso */
.cal-evento.movel { cursor: grab; }
.cal-evento.movendo { opacity: .35; }
body.arrastando-evento, body.arrastando-evento * { cursor: grabbing !important; user-select: none; }
.cal-fantasma { position: absolute; left: 3px; right: 3px; border-radius: 8px; background: color-mix(in srgb, var(--azul) 18%, transparent); border: 2px dashed var(--azul);
  padding: 0.2rem 0.4rem; font-size: 0.75rem; pointer-events: none; z-index: 5; display: flex; flex-direction: column; overflow: hidden; color: var(--texto); }
.cal-fantasma span { color: var(--azul); font-weight: 700; }
.form-mover { background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 12px; padding: 0.85rem; margin: 0 0 1rem; display: flex; flex-direction: column; gap: 0.6rem; }
.form-mover label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.8125rem; color: var(--suave); }

/* Atas de reunião */
.form-ata, .form-ti, .form-compra { max-width: 60rem; }
.lista-participantes { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 0.35rem 1rem; max-height: 18rem; overflow-y: auto; padding: 0.25rem; }
.part-linha { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; padding: 0.35rem 0.5rem; border-radius: 8px; }
.part-linha.marcado { background: var(--azul-suave); }
.part-linha small { color: var(--suave); }
.part-linha .presente { font-size: 0.8125rem; color: var(--suave); visibility: hidden; }
.part-linha.marcado .presente { visibility: visible; }
.acoes-ata { display: flex; flex-direction: column; gap: 0.5rem; }
.acao-linha { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.2fr) 10rem auto; gap: 0.5rem; align-items: center; }
.agendar-ata .interruptor small { display: block; color: var(--suave); font-weight: 400; }
.lista-atas { display: flex; flex-direction: column; gap: 0.6rem; }
.ata-linha { display: grid; grid-template-columns: 4.2rem 1fr auto; gap: 1rem; align-items: center; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 0.75rem 1rem; color: var(--texto); box-shadow: var(--sombra); }
.ata-linha:hover { border-color: var(--azul); text-decoration: none; }
.ata-data { display: flex; flex-direction: column; align-items: center; background: var(--azul-suave); border-radius: 12px; padding: 0.35rem 0; line-height: 1.15; }
.ata-data b { font-size: 1.15rem; color: var(--azul); }
.ata-data small { font-size: 0.6875rem; color: var(--suave); text-transform: uppercase; }
.ata-corpo b { display: block; }
.ata-corpo small, .ata-fim small { color: var(--suave); display: block; }
.ata-fim { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 0.2rem; }
.ata-doc { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 2rem 2.25rem; max-width: 56rem; box-shadow: var(--sombra); }
.ata-cab { display: flex; gap: 1.5rem; align-items: flex-start; border-bottom: 3px solid var(--dourado); padding-bottom: 1rem; margin-bottom: 1.25rem; }
.ata-cab h2 { margin: 0.4rem 0 0.2rem; font-size: 1.5rem; }
.ata-logo .logo { height: 38px; width: auto; }
.ata-doc section { margin-bottom: 1.25rem; }
.ata-doc h3 { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: .06em; color: var(--azul); margin: 0 0 0.4rem; }
.ata-decisoes li { margin-bottom: 0.25rem; }
.ata-decisoes li::marker { content: '✔  '; color: var(--verde); }
.ata-rodape { border-top: 1px solid var(--linha); padding-top: 0.75rem; margin-top: 1.5rem; }
.ata-links { margin: -0.5rem 0 1.25rem; }
@media print {
  .lateral, .topo, .abas, .nao-imprimir, .flash, .filtros, .avisos-reuniao, h1 { display: none !important; }
  .conteudo { padding: 0 !important; margin: 0 !important; max-width: none !important; }
  .ata-doc { border: 0; box-shadow: none; padding: 0; max-width: none; }
  body { background: #fff; }
}

/* Chamados TI */
.ti-cab h2 { margin: 0.4rem 0 0.2rem; }
.ti-etapas { display: flex; list-style: none; padding: 0; margin: 1rem 0 1.5rem; gap: 0; counter-reset: e; max-width: 46rem; }
.ti-etapas li { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; font-size: 0.8125rem; font-weight: 600; color: var(--suave); position: relative; }
.ti-etapas li::before { content: ''; position: absolute; top: 15px; left: -50%; right: 50%; height: 3px; background: var(--linha); z-index: 0; }
.ti-etapas li:first-child::before { display: none; }
.ti-etapas li span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--superficie-2); border: 2px solid var(--linha-forte); z-index: 1; font-weight: 800; }
.ti-etapas li.feita { color: var(--texto); }
.ti-etapas li.feita span { background: var(--verde); border-color: var(--verde); color: #fff; }
.ti-etapas li.feita::before { background: var(--verde); }
.ti-etapas li.atual span { box-shadow: 0 0 0 5px var(--verde-suave); }
.ti-grade { display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 1.5rem; align-items: start; }
.ti-grade h3 { font-size: 1rem; margin: 1.25rem 0 0.5rem; }
.ti-grade section > h3:first-child { margin-top: 0; }
.ti-solucao { background: var(--verde-suave); border-radius: 12px; padding: 0.85rem 1rem; margin: 1rem 0; }
.ti-solucao p { margin: 0.3rem 0 0; }
.ti-avaliar { background: var(--dourado-suave); border-radius: 12px; padding: 0.85rem 1rem; margin: 1rem 0; display: flex; flex-direction: column; gap: 0.5rem; }
.estrelas, .estrelas-escolha label { color: #E8A317; }
.estrelas-escolha { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 0.15rem; }
.estrelas-escolha input { position: absolute; opacity: 0; }
.estrelas-escolha label { font-size: 1.8rem; cursor: pointer; color: var(--linha-forte); transition: color .1s; }
.estrelas-escolha input:checked ~ label, .estrelas-escolha label:hover, .estrelas-escolha label:hover ~ label { color: #E8A317; }
.ti-linha-tempo { list-style: none; padding: 0 0 0 1.1rem; margin: 0 0 1rem; border-left: 2px solid var(--linha); }
.ti-linha-tempo li { position: relative; padding: 0 0 0.9rem 0.4rem; }
.ti-linha-tempo li::before { content: ''; position: absolute; left: -1.55rem; top: 0.35rem; width: 11px; height: 11px; border-radius: 50%; background: var(--azul); border: 2px solid var(--superficie); }
.ti-linha-tempo li.tipo-status::before { background: var(--verde); }
.ti-linha-tempo li.tipo-avaliacao::before { background: #E8A317; }
.ti-linha-tempo time { color: var(--suave); font-size: 0.8125rem; margin-left: 0.4rem; }
.ti-linha-tempo p { margin: 0.2rem 0 0; white-space: pre-line; }
.ti-comentar { background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 12px; padding: 0.75rem; gap: 0.5rem; }
.ti-lado { display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 5rem; }
.ti-lado .cartao-form { padding: 1rem; }
.ti-lado h3 { margin: 0 0 0.75rem; }
.ti-ficha { grid-template-columns: max-content 1fr; font-size: 0.875rem; }
.ti-prio { display: inline-block; font-size: 0.75rem; font-weight: 800; padding: 0.1rem 0.5rem; border-radius: 6px; background: var(--realce); color: var(--suave); }
.ti-prio.prio-alta { background: var(--dourado-suave); color: var(--dourado-texto); }
.ti-prio.prio-critica { background: var(--perigo); color: #fff; }
.ti-cartao.prio-critica { border-left-color: var(--perigo); }
.ti-cartao.prio-alta { border-left-color: var(--dourado); }
.ti-cartao.atrasado { background: linear-gradient(to right, var(--perigo-suave), var(--superficie) 70%); }
.ti-categorias { display: flex; flex-wrap: wrap; gap: 0.4rem; border: 0; padding: 0; margin: 0; }
.ti-categorias legend { font-weight: 600; color: var(--suave); font-size: 0.875rem; margin-bottom: 0.4rem; }
.kanban-ti { grid-auto-columns: minmax(230px, 1fr); min-height: 50vh; }
.ti-relatorio-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.ti-relatorio-grade h3 { margin: 0 0 0.75rem; font-size: 1rem; }
.barras { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.barras li { display: grid; grid-template-columns: minmax(0, 9rem) 1fr 2.2rem; gap: 0.6rem; align-items: center; font-size: 0.875rem; }
.barras li small { grid-column: 2 / -1; color: var(--suave); margin-top: -0.4rem; font-size: 0.75rem; }
.barra-rot { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.barra-trilho { height: 10px; background: var(--realce); border-radius: 99px; overflow: hidden; }
.barra-trilho i { display: block; height: 100%; background: var(--azul); border-radius: 99px; }
.barras b { text-align: right; font-variant-numeric: tabular-nums; }

/* Sugestões */
.sug-intro { display: flex; gap: 1rem; align-items: center; background: linear-gradient(120deg, var(--dourado-suave), var(--azul-suave)); border-radius: var(--raio-grande); padding: 1.1rem 1.25rem; margin-bottom: 1.25rem; max-width: 46rem; }
.sug-intro p { margin: 0.25rem 0 0; color: var(--suave); }
.sug-icone { width: 54px; height: 54px; flex: none; border-radius: 16px; background: var(--dourado); display: grid; place-items: center; color: var(--marinho); }
.sug-icone .icone { width: 30px; height: 30px; }
.sug-filtros { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1rem; }
.sug-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; }
.sug-cartao { display: flex; flex-direction: column; gap: 0.4rem; background: var(--superficie); border: 1px solid var(--linha); border-top: 4px solid var(--c); border-radius: var(--raio-grande); padding: 1rem; color: var(--texto); box-shadow: var(--sombra); transition: transform .15s, box-shadow .15s; }
.sug-cartao:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(18,35,58,.12); text-decoration: none; }
.sug-cartao p { margin: 0; color: var(--suave); font-size: 0.9375rem; flex: 1; }
.sug-rodape { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; }
.sug-rodape small { color: var(--suave); }
.sug-detalhe { max-width: 50rem; }
.sug-detalhe h2 { margin: 0.5rem 0 1rem; }
.sug-beneficio { background: var(--azul-suave); border-radius: 12px; padding: 0.85rem 1rem; margin: 1rem 0; }
.sug-beneficio p { margin: 0.3rem 0 0; }
.sug-status-escolha { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.sug-status-escolha .chip input:checked + span { background: var(--c); border-color: var(--c); }

/* Compras */
.itens-compra { display: flex; flex-direction: column; gap: 0.75rem; }
.item-linha { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 0.5rem 0.75rem; align-items: end; padding: 0.85rem; border: 1px solid var(--linha); border-radius: 12px; background: var(--superficie-2); }
.item-linha .col-2 { grid-column: span 2; }
.item-linha label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.8125rem; color: var(--suave); }
.item-linha [data-remover] { grid-row: 1; grid-column: 5; align-self: start; }
.decisao { border-left: 4px solid var(--azul); margin: 1.25rem 0; }
.decisao h3 { margin: 0 0 0.6rem; }
.item-compra { align-items: end; border-bottom: 1px dashed var(--linha); padding-bottom: 0.6rem; }
.item-compra > b { grid-column: 1 / -1; }
.compra-detalhe section { margin-bottom: 1.25rem; }
.tabela tfoot td { border-top: 2px solid var(--linha-forte); }

/* Administração do sistema */
.admin-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0.9rem; margin: 1.25rem 0; }
.admin-cartao { display: flex; flex-direction: column; gap: 0.3rem; padding: 1rem 1.1rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); color: var(--texto); box-shadow: var(--sombra); transition: border-color .15s, transform .15s; }
.admin-cartao:hover { border-color: var(--azul); transform: translateY(-2px); text-decoration: none; }
.admin-cartao .icone { width: 26px; height: 26px; color: var(--azul); }
.admin-cartao span { color: var(--suave); font-size: 0.875rem; }
.admin-cartao.alerta { border-color: var(--dourado); background: var(--dourado-suave); }
.admin-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); gap: 1.25rem; }
.admin-duas h2 { margin-top: 0; font-size: 1.1rem; display: flex; gap: 0.5rem; align-items: center; }
.zona-perigo { border: 1px solid color-mix(in srgb, var(--perigo) 40%, transparent); background: color-mix(in srgb, var(--perigo-suave) 55%, var(--superficie)); }
.matriz-permissoes th small { display: block; font-size: 0.6875rem; font-weight: 600; color: var(--suave); white-space: nowrap; }
.matriz-permissoes th { text-align: center; }
.matriz-permissoes th:first-child { text-align: left; }
.matriz-permissoes input[type=checkbox] { width: 18px; height: 18px; }
.matriz-permissoes select { min-width: 8rem; padding: 0.3rem; }
.limpeza-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: 0.6rem; }
.limpeza-item { display: grid; grid-template-columns: auto 1fr auto; gap: 0.7rem; align-items: start; padding: 0.75rem 0.85rem; border: 1px solid var(--linha); border-radius: 12px; background: var(--superficie); cursor: pointer; flex-direction: row; }
.limpeza-item:has(input:checked) { border-color: var(--perigo); background: var(--perigo-suave); }
.limpeza-item small { display: block; color: var(--suave); font-weight: 400; }
.limpeza-item em { font-style: normal; font-weight: 800; color: var(--suave); font-variant-numeric: tabular-nums; }

/* Atualizações */
.atu-linha { display: flex; flex-direction: column; gap: 1.5rem; max-width: 62rem; }
.atu-cartao { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1.35rem 1.5rem; box-shadow: var(--sombra); }
.atu-cartao.atual { border-color: color-mix(in srgb, var(--dourado) 60%, transparent); box-shadow: 0 0 0 4px var(--dourado-suave), var(--sombra); }
.atu-cartao header, .dialogo-novidades header { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.atu-cartao h2, .dialogo-novidades h2 { margin: 0; font-size: 1.2rem; }
.atu-cartao header small, .dialogo-novidades header small { color: var(--suave); }
.atu-versao { flex: none; padding: 0.35rem 0.7rem; border-radius: 10px; background: var(--marinho); color: var(--dourado); font-weight: 800; font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
.atu-imagens { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0.85rem; margin-bottom: 1rem; }
.atu-imagens.uma { grid-template-columns: minmax(0, 40rem); }
.atu-imagens figure { margin: 0; }
.atu-imagens figcaption { font-size: 0.8125rem; color: var(--suave); margin-top: 0.35rem; }
.atu-img { display: block; width: 100%; padding: 0; border: 1px solid var(--linha); border-radius: 12px; overflow: hidden; background: var(--superficie-2); cursor: zoom-in; aspect-ratio: 16 / 10; }
.atu-img img { width: 100%; height: 100%; object-fit: cover; object-position: top left; display: block; transition: transform .3s; }
.atu-img:hover img { transform: scale(1.03); }
.atu-itens { margin: 0; padding-left: 1.2rem; display: flex; flex-direction: column; gap: 0.35rem; }
.atu-itens li::marker { color: var(--dourado); }
.dialogo-imagem { width: min(1200px, calc(100vw - 2rem)); }
.dialogo-imagem img { width: 100%; border-radius: 10px; display: block; }
.dialogo-imagem .fechar { float: right; }
.dialogo-novidades { width: min(640px, calc(100vw - 2rem)); }
.novidades-img { width: 100%; border-radius: 12px; border: 1px solid var(--linha); margin-bottom: 1rem; max-height: 300px; object-fit: cover; object-position: top left; }
.dialogo-novidades footer { margin-top: 1.25rem; }

/* Dashboard do CRM */
.dash { --dash-fundo: var(--superficie); }
.dash-barra { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; align-items: center; margin-bottom: 0.75rem; }
.dash-filtros { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.dash-pessoas { margin-bottom: 1.25rem; }
.dash-pessoas select { width: auto; border-radius: 999px; padding: 0.35rem 0.8rem; font-size: 0.875rem; }
.dash-acoes { display: flex; gap: 0.75rem; align-items: center; }
.dash-medida { display: inline-flex; border: 1px solid var(--linha-forte); border-radius: 999px; overflow: hidden; }
.dash-medida button { border: 0; background: var(--superficie); color: var(--texto); font: inherit; font-size: 0.875rem; font-weight: 600; padding: 0.4rem 0.9rem; cursor: pointer; }
.dash-medida button.ativo { background: var(--marinho); color: var(--dourado); }
.dash-slides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.dash-kpis { grid-column: 1 / -1; }
.dash-titulo-slide { margin: 0 0 0.75rem; font-size: 1.1rem; }
.dash-titulo-slide span { color: var(--suave); font-weight: 500; }
.dash-kpi-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.85rem; }
.dash-kpi { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1rem 1.1rem; box-shadow: var(--sombra); display: flex; flex-direction: column; gap: 0.2rem;
  animation: dash-sobe .45s ease-out both; animation-delay: calc(var(--i) * 45ms); }
.dash-kpi span { font-size: 0.8125rem; color: var(--suave); font-weight: 600; }
.dash-kpi strong { font-size: 1.65rem; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: var(--texto); }
.dash-kpi small { color: var(--suave); font-size: 0.78rem; }
.dash-kpi.destaque { background: linear-gradient(135deg, var(--marinho), #1F3E63); border-color: transparent; }
.dash-kpi.destaque span, .dash-kpi.destaque small { color: #B9C7DA; }
.dash-kpi.destaque strong { color: var(--dourado); }
.dash-kpi.verde strong { color: var(--verde); }
.dash-kpi.azul strong { color: var(--azul); }
.dash-kpi.dourado strong { color: var(--dourado-texto); }
.dash-meta { display: block; height: 6px; border-radius: 99px; background: rgba(255,255,255,.15); overflow: hidden; margin-top: 0.4rem; }
.dash-meta b { display: block; height: 100%; background: var(--dourado); border-radius: 99px; animation: dash-cresce 1s ease-out both; }
.dash-cartao { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1.1rem 1.2rem; box-shadow: var(--sombra); display: flex; flex-direction: column; min-width: 0; }
.dash-cartao[data-grafico="evolucao"], .dash-cartao[data-grafico="funil"] { grid-column: 1 / -1; }
.dash-cab { display: flex; justify-content: space-between; gap: 0.75rem; align-items: flex-start; flex-wrap: wrap; }
.dash-cab h2 { margin: 0; font-size: 1.05rem; }
.dash-cab p { margin: 0.15rem 0 0; color: var(--suave); font-size: 0.8125rem; }
.dash-tipos { display: inline-flex; background: var(--realce); border-radius: 10px; padding: 3px; gap: 2px; }
.dash-tipos button { display: inline-flex; align-items: center; gap: 0.3rem; border: 0; background: transparent; color: var(--suave); font: inherit; font-size: 0.78rem; font-weight: 700; padding: 0.3rem 0.6rem; border-radius: 8px; cursor: pointer; }
.dash-tipos button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dash-tipos button.ativo { background: var(--superficie); color: var(--azul); box-shadow: 0 1px 3px rgba(18,35,58,.15); }
.dash-grafico { margin-top: 0.75rem; min-height: 200px; }
.g-svg { width: 100%; height: auto; display: block; overflow: visible; font-family: inherit; }
.g-grade { stroke: var(--linha); stroke-width: 1; }
.g-eixo { fill: var(--suave); font-size: 12px; }
.g-valor { fill: var(--texto); font-size: 12px; font-weight: 700; }
.g-barra { transform-box: fill-box; transform-origin: bottom; animation: dash-coluna .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: var(--d); cursor: pointer; }
.g-barra:hover, .g-funil:hover { filter: brightness(1.08); }
.g-linha { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: dash-traco 1.1s ease-out forwards; animation-delay: var(--d); }
.g-area { opacity: .08; }
.g-ponto { stroke: var(--superficie); stroke-width: 2; cursor: pointer; animation: dash-aparece .4s ease-out both; animation-delay: .7s; }
.g-funil { transform-box: fill-box; transform-origin: center; animation: dash-funil .55s cubic-bezier(.2,.8,.2,1) both; animation-delay: var(--d); cursor: pointer; }
.g-funil-valor { fill: #fff; font-size: 15px; font-weight: 800; paint-order: stroke; stroke: rgba(0,0,0,.18); stroke-width: 2px; }
.g-funil-rot { fill: var(--texto); font-size: 13px; font-weight: 600; }
.g-funil-pct { fill: var(--suave); font-size: 12px; font-weight: 700; }
.dash-legenda { display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; margin-top: 0.5rem; font-size: 0.8125rem; color: var(--suave); }
.dash-legenda i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 0.35rem; vertical-align: -1px; }
.dash-legenda b { color: var(--texto); margin-left: 0.2rem; }
.dash-vazio { display: grid; place-items: center; min-height: 200px; color: var(--suave); text-align: center; border: 2px dashed var(--linha); border-radius: 12px; padding: 1rem; }
.dash-dica { position: fixed; z-index: 50; pointer-events: none; background: var(--marinho); color: #fff; font-size: 0.8125rem; font-weight: 600; padding: 0.35rem 0.6rem; border-radius: 8px; box-shadow: var(--sombra-alta); }
.dash-nav-apresentacao { display: none; }
@keyframes dash-sobe { from { opacity: 0; transform: translateY(10px); } }
@keyframes dash-cresce { from { width: 0; } }
@keyframes dash-coluna { from { transform: scaleY(0); } }
@keyframes dash-traco { to { stroke-dashoffset: 0; } }
@keyframes dash-aparece { from { opacity: 0; } }
@keyframes dash-funil { from { opacity: 0; transform: scaleX(.3); } }
/* modo apresentação: tela cheia, um slide por vez */
.dash.apresentando { position: fixed; inset: 0; z-index: 1000; background: radial-gradient(ellipse at top, #1F3E63, #0C1726 70%); padding: 2.5rem 3rem 5.5rem; overflow: auto; color: #E6ECF5;
  --superficie: #13223A; --superficie-2: #182B46; --texto: #E6ECF5; --suave: #A8B6CA; --linha: #2A4363; --linha-forte: #3A5878; --realce: #1C3250; --azul: #6EA8E6; }
.dash.apresentando .dash-barra, .dash.apresentando .dash-pessoas { display: none; }
.dash.apresentando .dash-slides { display: block; max-width: 1200px; margin: 0 auto; }
.dash.apresentando .dash-slide { display: none; }
.dash.apresentando .dash-slide.visivel { display: flex; animation: dash-sobe .45s ease-out; }
.dash.apresentando .dash-kpis.visivel { display: block; }
.dash.apresentando .dash-cartao { background: transparent; border: 0; box-shadow: none; padding: 0; }
.dash.apresentando .dash-cab h2, .dash.apresentando .dash-titulo-slide { font-size: 2rem; color: #fff; }
.dash.apresentando .dash-cab p { font-size: 1.05rem; }
.dash.apresentando .dash-kpi-grade { gap: 1.25rem; }
.dash.apresentando .dash-kpi { padding: 1.5rem; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
.dash.apresentando .dash-kpi strong { font-size: 2.4rem; }
.dash.apresentando .g-eixo { font-size: 13px; }
.dash.apresentando .dash-nav-apresentacao { display: flex; position: fixed; left: 50%; bottom: 1.25rem; transform: translateX(-50%); gap: 0.5rem; align-items: center; background: rgba(12,23,38,.85); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 0.4rem 0.6rem; backdrop-filter: blur(6px); }
.dash-nav-apresentacao button { border: 0; background: rgba(255,255,255,.08); color: #fff; font: inherit; font-weight: 700; padding: 0.4rem 0.85rem; border-radius: 999px; cursor: pointer; }
.dash-nav-apresentacao button:hover, .dash-nav-apresentacao button.ativo { background: var(--dourado); color: var(--marinho); }
.dash-nav-apresentacao [data-pos] { color: #CFD9E7; font-size: 0.875rem; padding: 0 0.5rem; white-space: nowrap; }
body.em-apresentacao { overflow: hidden; }

/* telas menores */
@media (max-width: 900px) {
  .ti-grade { grid-template-columns: 1fr; }
  .ti-lado { position: static; }
  .dash-slides { grid-template-columns: 1fr; }
  .dash-kpi-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .item-linha { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }
  .item-linha .col-2 { grid-column: 1 / span 2; }
  .item-linha [data-remover] { grid-column: 3; }
}
@media (max-width: 640px) {
  .acao-linha { grid-template-columns: 1fr 1fr auto; }
  .acao-linha input[name="acao_desc[]"] { grid-column: 1 / -1; }
  .ata-linha { grid-template-columns: 3.6rem 1fr; }
  .ata-fim { grid-column: 1 / -1; align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .ata-doc { padding: 1.25rem; }
  .ata-cab { flex-direction: column; gap: 0.75rem; }
  .dash-kpi strong { font-size: 1.3rem; }
  .dash.apresentando { padding: 1.25rem 1rem 5rem; }
  .dash.apresentando .dash-kpi-grade { grid-template-columns: 1fr 1fr; }
  .dash-acoes { width: 100%; justify-content: space-between; }
  .aprovar-form input, .aprovar-form select { min-width: 0; width: 100%; }
  .aprovar-form label { flex: 1 1 100%; }
  .campo-com-botao { flex-wrap: wrap; }
  .barras li { grid-template-columns: minmax(0, 7rem) 1fr 2rem; }
  .estrelas-escolha label { font-size: 2.1rem; }
}
@media (max-width: 640px) {
  .item-linha { grid-template-columns: 1fr 1fr; position: relative; padding-top: 2.6rem; }
  .item-linha label:first-child, .item-linha .col-2 { grid-column: 1 / -1; }
  .item-linha [data-remover] { position: absolute; top: 0.45rem; right: 0.45rem; grid-column: auto; grid-row: auto; }
  .item-compra { grid-template-columns: 1fr; }
}

/* 2.2.0 — Gestão de Processos */
.proc-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; }
.proc-cartao { display: flex; flex-direction: column; gap: 0.35rem; padding: 1.25rem; background: var(--superficie); border: 1px solid var(--linha); border-top: 5px solid var(--c); border-radius: var(--raio-grande); color: var(--texto); box-shadow: var(--sombra); transition: transform .15s, box-shadow .15s; }
.proc-cartao:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(18,35,58,.14); text-decoration: none; }
.proc-cartao b { font-size: 1.15rem; }
.proc-cartao small { color: var(--suave); }
.proc-cartao em { font-style: normal; font-size: 0.8125rem; color: var(--dourado-texto); background: var(--dourado-suave); border-radius: 8px; padding: 0.3rem 0.5rem; margin-top: 0.3rem; }
.proc-cartao.sem-link { opacity: .8; }
.proc-icone { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: color-mix(in srgb, var(--c) 14%, var(--superficie)); color: var(--c); margin-bottom: 0.3rem; }
.proc-icone .icone { width: 26px; height: 26px; }
.proc-icone.mini { width: 34px; height: 34px; border-radius: 10px; margin: 0; flex: none; }
.proc-icone.mini .icone { width: 20px; height: 20px; }
.proc-barra { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.6rem; align-items: center; margin: -0.5rem 0 0.75rem; }
.proc-titulo-lado { display: flex; gap: 0.6rem; align-items: center; }
.proc-senha { display: inline-flex; align-items: center; gap: 0.35rem; background: var(--dourado-suave); border-radius: 999px; padding: 0.3rem 0.8rem; font-size: 0.875rem; }
.proc-senha code { font-weight: 700; letter-spacing: .03em; }
.proc-quadro { background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-grande); overflow: hidden; box-shadow: var(--sombra); height: calc(100vh - 230px); min-height: 520px; }
.proc-quadro:fullscreen { border-radius: 0; height: 100vh; }
.proc-quadro iframe { width: 100%; height: 100%; border: 0; display: block; background: #fff; }
.proc-ajuda { margin-top: 0.75rem; font-size: 0.875rem; color: var(--suave); }
.proc-ajuda summary { cursor: pointer; }
.proc-ajuda > div { padding: 0.5rem 0 0; max-width: 52rem; }
.proc-codigo { background: var(--marinho); color: #E6ECF5; padding: 0.85rem 1rem; border-radius: 10px; font-size: 0.8125rem; overflow-x: auto; }
.proc-admin-lista { display: flex; flex-direction: column; gap: 1rem; max-width: 64rem; }
.proc-admin { border-left: 4px solid var(--c); }
.proc-admin.inativo { opacity: .65; }
.proc-admin header { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.75rem; flex-wrap: wrap; }
.proc-admin-acoes { margin-left: auto; display: flex; gap: 0.75rem; }
.proc-form-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.proc-form-grade .col-2 { grid-column: span 2; }
.proc-form-grade input[type=color] { height: 42px; padding: 0.2rem; }
@media (max-width: 700px) {
  .proc-form-grade { grid-template-columns: 1fr; }
  .proc-form-grade .col-2 { grid-column: auto; }
  .proc-quadro { height: calc(100vh - 260px); min-height: 420px; }
}

/* 2.2.1 — Gestão de Processos: entrada automática */
.proc-auto { display: inline-flex; align-items: center; gap: 0.3rem; background: var(--verde-suave); color: var(--verde); font-weight: 700; font-size: 0.8125rem; border-radius: 999px; padding: 0.3rem 0.75rem; }
.proc-autologin { margin-top: 0.85rem; border-top: 1px dashed var(--linha); padding-top: 0.75rem; }
.proc-autologin summary { cursor: pointer; font-weight: 700; color: var(--azul); }
.proc-autologin .proc-codigo { max-height: 22rem; white-space: pre; }
.proc-aviso-senha { margin-top: 0.75rem; background: var(--dourado-suave); padding: 0.6rem 0.8rem; border-radius: 10px; }

/* ===== 2.2.2 — Gestor financeiro, perfis prontos e selecionar todos ===== */
.perm-atalhos { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.5rem 0.75rem; margin: 0.25rem 0 1rem; padding: 0.75rem; border: 1px dashed var(--linha-forte); border-radius: 10px; background: var(--superficie-2); }
.perm-atalhos label { display: flex; flex-direction: column; gap: 0.25rem; font-weight: 600; font-size: 0.875rem; min-width: 14rem; }
.perm-atalhos .nota { flex: 1 1 16rem; }
.matriz-permissoes .matriz-todos th { background: var(--superficie-2); font-size: 0.75rem; font-weight: 600; color: var(--suave); padding-top: 0.35rem; padding-bottom: 0.35rem; }
.matriz-permissoes .matriz-todos select { min-width: 6rem; font-size: 0.75rem; }
.matriz-permissoes select[data-perfil-linha] { min-width: 9rem; }
.matriz-permissoes tr.perm-mudou td:first-child { box-shadow: inset 3px 0 0 var(--dourado); }
@media (max-width: 640px) { .perm-atalhos label { min-width: 100%; } .perm-atalhos .botao { flex: 1; } }

/* ===== 2.2.3 — Gestão de Processos liberada por pessoa e por sistema ===== */
.proc-acessos .nota { margin: 0 0 0.5rem; }
.proc-quem { margin-top: 0.75rem; border-top: 1px dashed var(--linha); padding-top: 0.6rem; }
.proc-quem summary { cursor: pointer; font-size: 0.875rem; color: var(--suave); }
.proc-quem summary b { color: var(--texto); }
.proc-quem form { margin-top: 0.6rem; }
.proc-quem-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 0.35rem 1rem; margin: 0.25rem 0 0.75rem; }
.proc-quem-lista .caixa { display: flex; gap: 0.5rem; align-items: flex-start; }
.proc-quem-lista small { display: block; color: var(--suave); font-size: 0.75rem; }
.matriz-permissoes th.col-proc, .matriz-permissoes td.col-proc { background: color-mix(in srgb, var(--azul) 6%, transparent); }

/* ===== 2.2.5 — mini logo SiCon (substitui o selo antigo) ===== */
.marca-sicon {
  display: inline-flex; align-items: center; gap: 0.32rem;
  background: var(--marinho); color: var(--dourado);
  border-radius: 999px; padding: 0.22rem 0.62rem 0.22rem 0.4rem;
  box-shadow: inset 0 0 0 1px rgba(242, 181, 63, 0.35), 0 2px 6px rgba(18, 35, 58, 0.18);
  line-height: 1; white-space: nowrap;
}
.marca-sicon svg { width: 17px; height: 17px; flex: none; }
.sicon-txt { font-family: "Figtree", "Segoe UI", system-ui, sans-serif; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.01em; color: #F4F1EA; }
.sicon-txt b { font-weight: 800; color: var(--dourado); }
[data-theme="dark"] .marca-sicon { background: #0B1626; box-shadow: inset 0 0 0 1px rgba(245, 184, 67, 0.55); }
@media (max-width: 900px) { .marca-sicon { padding: 0.18rem 0.5rem 0.18rem 0.32rem; } .marca-sicon svg { width: 15px; height: 15px; } .sicon-txt { font-size: 0.8125rem; } }
@media (max-width: 380px) { .marca-sicon .sicon-txt { display: none; } .marca-sicon { padding: 0.2rem; } }

/* ===== 2.2.6 — mini logo SiCon com o anel da marca, centralizado com o logo ===== */
.topo .marca { display: inline-flex; align-items: center; }
.marca-sicon {
  align-self: center; gap: 0.36rem; padding: 0.26rem 0.7rem 0.26rem 0.4rem;
  background: #F4F7FB; color: #12233A;
  box-shadow: inset 0 0 0 1px #D3DEEA, 0 2px 6px rgba(18, 35, 58, 0.10);
}
.marca-sicon .sicon-marca { width: 20px; height: 20px; display: block; flex: none; }
.marca-sicon svg { display: none; }
.sicon-txt { display: block; line-height: 1; padding-top: 1px; color: #12233A; font-weight: 600; }
.sicon-txt b { color: #4F7FA8; font-weight: 800; }
[data-theme="dark"] .marca-sicon { background: #F4F7FB; box-shadow: inset 0 0 0 1px #F4F7FB, 0 2px 8px rgba(0, 0, 0, 0.35); }
@media (max-width: 900px) { .marca-sicon .sicon-marca { width: 17px; height: 17px; } }

/* ===== 2.3.0 — Ata de Reunião: pauta dinâmica, participantes e gravações do Plaud ===== */
.ata-pauta-topo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.ata-progresso { display: flex; align-items: center; gap: 0.6rem; font-size: 0.8125rem; color: var(--suave); font-weight: 600; }
.ata-progresso i { display: block; width: 140px; height: 8px; border-radius: 99px; background: var(--linha); overflow: hidden; }
.ata-progresso b { display: block; height: 100%; width: 0; background: var(--verde); border-radius: 99px; transition: width 0.3s; }
.ata-pauta { display: flex; flex-direction: column; gap: 0.75rem; margin: 0.75rem 0; }
.pauta-item { border: 1px solid var(--linha); border-left: 4px solid var(--azul); border-radius: 12px; padding: 0.75rem 0.85rem; background: var(--superficie); transition: border-color 0.2s, background 0.2s; }
.pauta-item[data-sit="discutido"] { border-left-color: var(--verde); background: color-mix(in srgb, var(--verde) 5%, var(--superficie)); }
.pauta-item[data-sit="adiado"] { border-left-color: var(--dourado); }
.pauta-cab { display: flex; align-items: center; gap: 0.5rem; }
.pauta-cab input { flex: 1; font-weight: 600; }
.pauta-cab select { width: auto; min-width: 9rem; }
.pauta-num { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--azul-suave); color: var(--azul-forte); font-weight: 700; font-size: 0.8125rem; }
.pauta-item[data-sit="discutido"] .pauta-num { background: var(--verde-suave); color: var(--verde); }
.pauta-acoes { display: inline-flex; gap: 0.25rem; }
.pauta-corpo { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.6rem; }
.pauta-extra { display: flex; gap: 0.75rem; margin-top: 0.5rem; }
.pauta-extra label { font-size: 0.8125rem; }
.pauta-extra input[type=number] { max-width: 7rem; }
.part-ferramentas { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-bottom: 0.6rem; }
.part-ferramentas input[type=search] { max-width: 16rem; }
.part-setores { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.part-setores .part-chip { border: 1px solid var(--linha-forte); background: var(--superficie); border-radius: 99px; padding: 0.2rem 0.65rem; font-size: 0.8125rem; cursor: pointer; color: var(--texto); }
.part-setores .part-chip:hover { background: var(--azul-suave); }
.part-contador { margin-left: auto; font-size: 0.8125rem; font-weight: 700; color: var(--azul-forte); }
.part-linha[hidden] { display: none !important; }
.ata-gravacao-form details { margin-top: 0.6rem; }
.ata-itens { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.6rem; counter-reset: item; }
.ata-item { border: 1px solid var(--linha); border-left: 4px solid var(--azul); border-radius: 10px; padding: 0.6rem 0.8rem; counter-increment: item; break-inside: avoid; }
.ata-item.sit-discutido { border-left-color: var(--verde); }
.ata-item.sit-adiado { border-left-color: var(--dourado); }
.ata-item header { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.ata-item header b::before { content: counter(item) ". "; color: var(--suave); }
.ata-item header small { color: var(--suave); }
.ata-sit-discutido { background: var(--verde-suave); color: var(--verde); }
.ata-sit-pendente { background: var(--azul-suave); color: var(--azul-forte); }
.ata-sit-adiado { background: var(--dourado-suave); color: var(--dourado-texto); }
.ata-item-bloco { margin-top: 0.45rem; }
.ata-item-bloco > span { display: block; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; color: var(--suave); }
.ata-item-bloco > p { margin: 0.15rem 0 0; }
.ata-item-bloco.discutido > span { color: var(--verde); }
.ata-transcricao input[type=search] { margin: 0.5rem 0; max-width: 22rem; }
.ata-trans-texto { max-height: 420px; overflow: auto; border: 1px solid var(--linha); border-radius: 10px; padding: 0.6rem 0.8rem; background: var(--superficie-2); font-size: 0.875rem; }
.ata-trans-texto p { margin: 0 0 0.35rem; }
.ata-trans-texto b { color: var(--azul-forte); }
.lista-gravacoes { display: flex; flex-direction: column; gap: 0.6rem; }
.gravacao-cartao { display: flex; justify-content: space-between; gap: 1rem; align-items: center; border: 1px solid var(--linha); border-left: 4px solid var(--roxo); border-radius: 12px; padding: 0.75rem 0.9rem; background: var(--superficie); }
.gravacao-cartao.vinculada { border-left-color: var(--verde); opacity: 0.85; }
.gravacao-cartao small { display: block; color: var(--suave); margin-top: 0.15rem; }
.gravacao-resumo { margin: 0.35rem 0 0; font-size: 0.875rem; color: var(--texto); }
.gravacao-cartao .linha-botoes form { display: inline; }
@media (max-width: 700px) {
  .pauta-corpo { grid-template-columns: 1fr; }
  .pauta-cab { flex-wrap: wrap; }
  .pauta-cab input { flex-basis: calc(100% - 40px); }
  .gravacao-cartao { flex-direction: column; align-items: stretch; }
  .part-contador { margin-left: 0; }
}
@media print { .ata-transcricao { display: none; } }
.ata-doc h3 small.nota { text-transform: none; letter-spacing: 0; font-weight: 500; margin-left: 0.5rem; display: inline; }

/* ===== 2.4.0 — Administração do Sistema: último item do menu, um botão por área (só master) ===== */
.adm-botoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0.6rem; margin: 0 0 1.25rem; }
.adm-botao { display: flex; align-items: center; gap: 0.55rem; padding: 0.75rem 0.9rem; border: 1px solid var(--linha); border-radius: 12px; background: var(--superficie); color: var(--texto); font-weight: 600; text-decoration: none; transition: border-color 0.15s, background 0.15s, transform 0.15s; }
.adm-botao svg { width: 20px; height: 20px; flex: none; color: var(--azul); }
.adm-botao:hover { border-color: var(--azul); background: var(--azul-suave); transform: translateY(-1px); }
.adm-botao.ativa { background: var(--azul); border-color: var(--azul); color: #fff; }
.adm-botao.ativa svg { color: #fff; }
.menu-master { margin-top: 0.75rem; padding-top: 0.6rem; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.menu-master > .menu-pai svg:first-child { color: var(--dourado); }
.adm-master .lista-simples li { align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.adm-master .linha-adicionar { margin: 0; }
.adm-master .linha-adicionar input[type=password] { max-width: 11rem; }
@media (max-width: 600px) { .adm-botoes { grid-template-columns: 1fr 1fr; } .adm-botao { padding: 0.6rem 0.7rem; font-size: 0.875rem; } }

/* ===== 2.4.1 — menu em lista ou em ícones (estilo monday) ===== */
:root { --lateral-leve: #F1F4F9; --lateral-leve-borda: #DFE5EE; }
[data-theme="dark"] { --lateral-leve: #16243A; --lateral-leve-borda: #24375A; }
.menu-modos { display: flex; align-items: center; gap: 3px; margin-left: 1rem; padding: 3px; border-radius: 999px; background: var(--superficie-2); box-shadow: inset 0 0 0 1px var(--linha); flex: none; }
.menu-modos button { width: 34px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 999px; background: transparent; color: var(--suave); cursor: pointer; transition: background 0.15s, color 0.15s; }
.menu-modos button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.menu-modos button svg circle { fill: currentColor; stroke: none; }
.menu-modos button:hover { background: var(--azul-suave); color: var(--azul); }
.menu-modos button.ativo { background: var(--dourado); color: #12233A; }
[data-theme="dark"] .menu-modos { background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.10); }
[data-theme="dark"] .menu-modos button:hover { background: rgba(255, 255, 255, 0.10); color: #fff; }
.menu-dica { position: fixed; z-index: 200; transform: translateY(-50%); background: #1F2A3C; color: #fff; font-size: 0.8125rem; font-weight: 600; padding: 0.35rem 0.65rem; border-radius: 8px; white-space: nowrap; pointer-events: none; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2); }
.menu-dica::before { content: ""; position: absolute; left: -5px; top: 50%; transform: translateY(-50%); border: 5px solid transparent; border-left: 0; border-right-color: #1F2A3C; }
@media (max-width: 900px) { .menu-modos { display: none; } }

@media (min-width: 901px) {
  html.menu-icones .estrutura { grid-template-columns: 108px minmax(0, 1fr); background: linear-gradient(to right, var(--lateral-leve) 108px, transparent 108px); }
  html.menu-icones .lateral { background: var(--lateral-leve); border-right: 1px solid var(--lateral-leve-borda); padding: 1rem 0.5rem 0.75rem 1rem; align-items: center; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--suave) 40%, transparent) transparent; scrollbar-gutter: stable; }
  html.menu-icones .lateral::-webkit-scrollbar { width: 6px; }
  html.menu-icones .lateral::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--suave) 40%, transparent); border-radius: 6px; }
  html.menu-icones .lateral::-webkit-scrollbar-track { background: transparent; }
  html.menu-icones .lateral nav { align-items: center; gap: 10px; width: 100%; padding: 4px 0; }
  html.menu-icones .lateral nav > a, html.menu-icones .lateral nav .menu-pai { width: 56px; height: 52px; padding: 0; justify-content: center; border-radius: 14px; position: relative; background: none; }
  html.menu-icones .lateral nav > a span, html.menu-icones .lateral nav .menu-pai span, html.menu-icones .lateral nav .menu-pai .seta { display: none; }
  html.menu-icones .lateral nav > a .icone, html.menu-icones .lateral nav .menu-pai .icone {
    width: 42px; height: 42px; padding: 10px; border-radius: 12px; background: var(--cor, var(--azul)); color: #fff !important;
    box-shadow: 0 4px 10px color-mix(in srgb, var(--cor, #579BFC) 35%, transparent); transition: transform 0.15s, box-shadow 0.15s;
  }
  html.menu-icones .lateral nav > a:hover .icone, html.menu-icones .lateral nav .menu-pai:hover .icone, html.menu-icones .menu-grupo.voando .menu-pai .icone { transform: translateY(-2px) scale(1.06); box-shadow: 0 8px 16px color-mix(in srgb, var(--cor, #579BFC) 45%, transparent); }
  html.menu-icones .lateral nav > a:hover, html.menu-icones .lateral nav .menu-pai:hover { background: none; }
  html.menu-icones .lateral nav > a.ativo { background: none; }
  html.menu-icones .lateral nav > a.ativo .icone, html.menu-icones .lateral nav .menu-pai.no-grupo .icone { box-shadow: 0 0 0 3px var(--lateral-leve), 0 0 0 5px var(--cor, var(--azul)); }
  html.menu-icones .lateral nav > a.ativo::before { display: none; }
  html.menu-icones .lateral nav .contador { position: absolute; top: -2px; right: 0; min-width: 18px; height: 18px; font-size: 0.6875rem; line-height: 18px; padding: 0 4px; box-shadow: 0 0 0 2px var(--lateral-leve); }
  html.menu-icones .grupo-menu { font-size: 0; padding: 0; width: 36px; height: 1px; background: var(--lateral-leve-borda); margin: 0.5rem 0; }
  html.menu-icones .menu-master { border-top: 0; margin-top: 0; padding-top: 0; }
  html.menu-icones .lateral .versao { font-size: 0.6875rem; text-align: center; color: var(--suave); }
  html.menu-icones .menu-grupo { align-items: center; width: 100%; }
  html.menu-icones .menu-grupo .submenu, html.menu-icones .menu-grupo.aberto .submenu { display: none; }
  html.menu-icones .menu-grupo.voando .submenu {
    display: flex; position: fixed; left: 112px; z-index: 150; margin: 0; padding: 0.5rem; min-width: 220px; border: 1px solid var(--linha); border-left: 0;
    background: var(--superficie); border-radius: 0 14px 14px 0; box-shadow: 10px 12px 28px rgba(18, 35, 58, 0.18);
  }
  html.menu-icones .menu-grupo.voando .submenu::before { content: attr(data-titulo); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--suave); padding: 0.25rem 0.6rem 0.4rem; }
  html.menu-icones .lateral nav .submenu a { color: var(--texto); border-radius: 8px; }
  html.menu-icones .lateral nav .submenu a .icone { color: var(--suave); }
  html.menu-icones .lateral nav .submenu a:hover { background: var(--azul-suave); color: var(--azul-forte); }
  html.menu-icones .lateral nav .submenu a.ativo { background: var(--azul-suave); color: var(--azul-forte); }
  html.menu-icones .lateral nav .submenu a.ativo::before { display: none; }
}

/* ===== 2.5.0 — Setores, grupos de acesso, foto do perfil, e-mail e legenda de acessos ===== */
.avatar { flex: none; overflow: hidden; }
.avatar.com-foto { background: var(--realce); }
.avatar.com-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.avatar.grande { width: 52px; height: 52px; font-size: 1.05rem; }
.avatar.gigante { width: 92px; height: 92px; font-size: 1.6rem; box-shadow: 0 0 0 4px var(--superficie), 0 0 0 5px var(--linha); }
.lateral nav .submenu a[data-cor] .icone, html.menu-icones .lateral nav .submenu a[data-cor] .icone { color: var(--cor); }

/* ícone de setor (quadradinho colorido) */
.setor-icone { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; flex: none;
  background: color-mix(in srgb, var(--cor, #579BFC) 14%, transparent); color: var(--cor, #579BFC); }
.setor-icone .icone { width: 22px; height: 22px; stroke-width: 1.8; }
.setor-icone.grande { width: 64px; height: 64px; border-radius: 18px; }
.setor-icone.grande .icone { width: 34px; height: 34px; }

/* página Setores */
.setores-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; }
.setor-cartao { display: flex; gap: .9rem; align-items: flex-start; padding: 1.1rem; border-radius: var(--raio-grande); background: var(--superficie);
  border: 1px solid var(--linha); box-shadow: var(--sombra); color: inherit; text-decoration: none; position: relative; overflow: hidden; transition: transform .15s, box-shadow .15s; }
.setor-cartao::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--cor); }
.setor-cartao:hover { transform: translateY(-2px); box-shadow: var(--sombra-alta); }
.setor-cartao b { display: block; font-size: 1rem; margin-bottom: .15rem; }
.setor-cartao small { display: block; color: var(--suave); font-size: .8125rem; line-height: 1.35; }
.setor-cartao em { display: block; font-style: normal; margin-top: .5rem; font-size: .75rem; font-weight: 600; color: var(--cor); }
.setor-topo { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.25rem; }
.setor-topo h1 { margin: 0; }
.setor-topo p { margin: .2rem 0 0; color: var(--suave); }
.setor-equipe { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .75rem; }
.pessoa-cartao { display: flex; gap: .75rem; align-items: center; padding: .8rem .9rem; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--superficie); }
.pessoa-cartao b { display: block; font-size: .9375rem; }
.pessoa-cartao small { display: block; color: var(--suave); font-size: .8rem; }
.pessoa-contatos { display: flex; gap: .3rem; margin-top: .35rem; }
.pessoa-contatos a { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: var(--realce); color: var(--azul); }
.pessoa-contatos a:hover { background: var(--azul-suave); }
.pessoa-contatos .icone { width: 16px; height: 16px; }

/* cadastro de usuário em passos */
.form-usuario { max-width: 60rem; }
.cad-passo { border: 1px solid var(--linha); border-radius: var(--raio-grande); padding: 1.1rem 1.2rem; margin: 0 0 1rem; background: var(--superficie); }
.cad-passo > legend, .cad-passo > summary { font-weight: 700; font-size: 1rem; display: flex; align-items: center; gap: .55rem; padding: 0 .3rem; }
details.cad-passo > summary { cursor: pointer; list-style: none; padding: 0; }
details.cad-passo > summary::-webkit-details-marker { display: none; }
details.cad-passo > summary::after { content: "▾"; margin-left: auto; color: var(--suave); transition: transform .2s; }
details.cad-passo[open] > summary { margin-bottom: .9rem; }
details.cad-passo[open] > summary::after { transform: rotate(180deg); }
.passo-n { width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--azul); color: #fff; font-size: .8125rem; font-weight: 700; flex: none; }
.cad-pessoa { display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; align-items: start; }
.cad-foto { display: flex; flex-direction: column; align-items: center; gap: .5rem; text-align: center; }
.cad-foto label { cursor: pointer; font-size: .8125rem; color: var(--azul); font-weight: 600; }
.cad-foto small { color: var(--suave); font-size: .75rem; }
.cad-setores { display: flex; flex-wrap: wrap; gap: .5rem; }
.cad-setor { --cor: #579BFC; position: relative; }
.cad-setor input { position: absolute; opacity: 0; pointer-events: none; }
.cad-setor span { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .75rem .4rem .4rem; border: 1px solid var(--linha); border-radius: 999px; cursor: pointer; font-size: .875rem; background: var(--superficie); transition: border-color .15s, background .15s; }
.cad-setor i { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--cor) 15%, transparent); color: var(--cor); font-style: normal; }
.cad-setor i .icone { width: 16px; height: 16px; }
.cad-setor span:hover { border-color: var(--cor); }
.cad-setor input:checked + span { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 10%, var(--superficie)); font-weight: 600; box-shadow: 0 0 0 1px var(--cor) inset; }
.cad-setor input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 2px; }
.cad-grupos { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .6rem; }
.cad-grupo { --cor: #579BFC; position: relative; }
.cad-grupo input { position: absolute; opacity: 0; pointer-events: none; }
.cad-grupo > span { display: grid; grid-template-columns: 34px 1fr; column-gap: .6rem; align-content: start; height: 100%; padding: .7rem .8rem; border: 1px solid var(--linha); border-radius: var(--raio); cursor: pointer; background: var(--superficie); transition: border-color .15s, background .15s; }
.cad-grupo > span:hover { border-color: var(--cor); }
.cad-grupo i { grid-row: span 2; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-style: normal;
  background: color-mix(in srgb, var(--cor) 14%, transparent); color: var(--cor); }
.cad-grupo i .icone { width: 19px; height: 19px; }
.cad-grupo b { display: block; font-size: .875rem; line-height: 1.25; }
.cad-grupo small { display: block; font-size: .75rem; color: var(--suave); line-height: 1.3; margin-top: .15rem; }
.cad-grupo input:checked + span { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 9%, var(--superficie)); box-shadow: 0 0 0 1px var(--cor) inset; }
.cad-grupo input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 2px; }
.cad-status { margin: .75rem 0 0; font-size: .875rem; font-weight: 600; color: var(--suave); }
.cad-status.ok { color: var(--verde); }
.cad-status.personalizado { color: var(--roxo); }
@media (max-width: 640px) { .cad-pessoa { grid-template-columns: 1fr; } .cad-grupos { grid-template-columns: 1fr; } }

/* Administração → Grupos de acesso */
.grupos-lista { display: grid; gap: .6rem; }
.grupo-cartao { border: 1px solid var(--linha); border-radius: var(--raio-grande); background: var(--superficie); overflow: hidden; }
.grupo-cartao.inativo { opacity: .6; }
.grupo-cartao > summary { display: flex; align-items: center; gap: .85rem; padding: .85rem 1.1rem; cursor: pointer; list-style: none; }
.grupo-cartao > summary::-webkit-details-marker { display: none; }
.grupo-cartao[open] > summary { border-bottom: 1px solid var(--linha); background: var(--superficie-2); }
.grupo-info { flex: 1; min-width: 0; }
.grupo-info b { display: block; }
.grupo-info small { display: block; color: var(--suave); font-size: .8125rem; }
.grupo-pessoas { text-align: right; font-size: .8125rem; color: var(--suave); white-space: nowrap; }
.grupo-pessoas b { color: var(--texto); font-size: 1rem; }
.grupo-pessoas small { display: block; color: var(--roxo); }
.grupo-corpo { padding: 1rem 1.1rem 1.1rem; }
.grupo-perms { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .35rem .9rem; margin: .9rem 0; }
@media (max-width: 640px) { .grupo-pessoas { display: none; } }

/* Configurações → Setores */
.lista-setores li { gap: .75rem; }
.setor-editar { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; flex: 1; }
.setor-editar input[name=nome] { flex: 1 1 12rem; }
.setor-editar input[name=descricao] { flex: 2 1 14rem; }
.setor-editar input[type=color] { width: 2.6rem; height: 2.2rem; padding: .15rem; }

/* Lista de usuários: setor, grupo e ícones de acesso */
.pessoa-linha { display: flex; align-items: center; gap: .65rem; }
.col-setor { min-width: 14rem; }
.setor-nome { --cor: var(--suave); display: inline-flex; align-items: center; gap: .35rem; font-weight: 500; }
.setor-nome .icone { width: 16px; height: 16px; color: var(--cor); }
.grupo-selo { --cor: #579BFC; display: inline-flex; align-items: center; gap: .3rem; margin: .3rem 0 0; padding: .1rem .55rem .1rem .35rem; border-radius: 999px; font-size: .75rem; font-weight: 600;
  background: color-mix(in srgb, var(--cor) 12%, transparent); color: color-mix(in srgb, var(--cor) 75%, var(--texto)); width: fit-content; }
.col-setor .grupo-selo { display: flex; }
.grupo-selo .icone { width: 13px; height: 13px; }
.acessos-linha { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .4rem; }
.acesso-chip { --cor: #579BFC; position: relative; width: 26px; height: 26px; border-radius: 8px; display: inline-grid; place-items: center; flex: none;
  background: color-mix(in srgb, var(--cor) 14%, transparent); color: var(--cor); cursor: help; }
.acesso-chip .icone { width: 15px; height: 15px; stroke-width: 1.9; }
.acesso-chip[data-dica]:hover::after, .acesso-chip[data-dica]:focus-visible::after {
  content: attr(data-dica); position: absolute; bottom: calc(100% + 7px); left: 50%; transform: translateX(-50%); z-index: 30;
  background: var(--marinho); color: #fff; font-size: .75rem; font-weight: 500; line-height: 1.3; padding: .35rem .6rem; border-radius: 7px;
  white-space: normal; width: max-content; max-width: 260px; box-shadow: var(--sombra-alta); pointer-events: none; }
.acesso-chip[data-dica]:hover::before, .acesso-chip[data-dica]:focus-visible::before {
  content: ""; position: absolute; bottom: calc(100% + 2px); left: 50%; transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--marinho); border-bottom: 0; z-index: 30; }
.acesso-chip:focus-visible { outline: 2px solid var(--azul); outline-offset: 1px; }
.tabela-usuarios td { vertical-align: top; }
.legenda-barra { display: flex; justify-content: flex-end; margin: 0 0 .5rem; }
.legenda-acessos { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .6rem 1rem; padding: 1rem 1.1rem; margin: 0 0 1rem;
  border: 1px solid var(--linha); border-radius: var(--raio-grande); background: var(--superficie-2); }
.legenda-acessos > div { display: flex; gap: .6rem; align-items: flex-start; }
.legenda-acessos b { display: block; font-size: .8125rem; }
.legenda-acessos small { display: block; font-size: .75rem; color: var(--suave); line-height: 1.3; }
.legenda-acessos[hidden] { display: none; }

/* Minha conta: foto */
.conta-foto { display: flex; align-items: center; gap: 1.1rem; margin: 0 0 1.25rem; }
.conta-foto > div { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; }
.conta-foto label.botao { cursor: pointer; }

/* Entrada: link "Esqueci minha senha" */
.entrada-link { text-align: center; margin: 1rem 0 0; font-size: .875rem; }
.entrada-link a { color: var(--azul); }
details.cad-passo > summary::before, .grupo-cartao > summary::before, .grupo-corpo summary::before { display: none; }
.lateral nav .submenu a[data-cor] .icone, html.menu-icones .lateral nav .submenu a[data-cor] .icone { color: color-mix(in srgb, var(--cor) 72%, #fff); }
html.menu-icones .menu-grupo.voando .submenu a[data-cor] .icone { color: var(--cor); }
@media (max-width: 640px) { details.cad-passo > summary small, details.cad-passo > summary .nota { display: none; } }

/* ===== 2.6.0 — Bem-Estar, foto com ajuste, fotos no Concord ===== */
.cc-av.foto { background: var(--realce); }
.cc-av.foto img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }

/* agenda: ícone especial dos eventos do Bem-Estar */
.cal-evento.bem { border-left-color: var(--cor-bem, #00C875); background: color-mix(in srgb, var(--cor-bem, #00C875) 14%, var(--superficie)); padding-right: 24px; }
.cal-bem-selo { position: absolute; top: 3px; right: 4px; font-style: normal; font-size: .8125rem; line-height: 1; width: 19px; height: 19px; display: grid; place-items: center;
  border-radius: 50%; background: var(--superficie); box-shadow: 0 0 0 1.5px var(--cor-bem, #00C875); }
.cal-evento.bem.curto .cal-bem-selo { top: 1px; width: 16px; height: 16px; font-size: .6875rem; }

/* navegação do Bem-Estar */
.bem-abas { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 1.25rem; }
.bem-abas a { --cor: #579BFC; display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem .45rem .5rem; border-radius: 999px; border: 1px solid var(--linha);
  background: var(--superficie); color: var(--texto); text-decoration: none; font-size: .875rem; font-weight: 600; transition: border-color .15s, background .15s; }
.bem-abas a .icone { width: 26px; height: 26px; padding: 4px; border-radius: 50%; color: var(--cor); background: color-mix(in srgb, var(--cor) 14%, transparent); }
.bem-abas a:hover { border-color: var(--cor); }
.bem-abas a.ativa { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 10%, var(--superficie)); box-shadow: 0 0 0 1px var(--cor) inset; }

.bem-icone { --cor: #00C875; width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; flex: none;
  color: var(--cor); background: color-mix(in srgb, var(--cor) 14%, transparent); }
.bem-icone .icone { width: 30px; height: 30px; stroke-width: 1.7; }
.bem-icone.grande { width: 76px; height: 76px; border-radius: 22px; }
.bem-icone.grande .icone { width: 42px; height: 42px; }
.bem-icone.pequeno { width: 34px; height: 34px; border-radius: 10px; }
.bem-icone.pequeno .icone { width: 18px; height: 18px; }
[style*="--cor"] > .bem-icone, [style*="--cor"] .bem-icone { --cor: inherit; }

/* início: cartões grandes */
.bem-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1rem; }
.bem-cartao { --cor: #00C875; position: relative; display: flex; flex-direction: column; gap: .35rem; padding: 1.3rem 1.25rem 1.15rem; border-radius: 20px; text-decoration: none; color: inherit;
  background: linear-gradient(160deg, color-mix(in srgb, var(--cor) 9%, var(--superficie)) 0%, var(--superficie) 60%); border: 1px solid color-mix(in srgb, var(--cor) 25%, var(--linha));
  box-shadow: var(--sombra); transition: transform .15s, box-shadow .15s; }
.bem-cartao:hover { transform: translateY(-3px); box-shadow: var(--sombra-alta); }
.bem-cartao .bem-icone { margin-bottom: .45rem; }
.bem-cartao b { font-size: 1.125rem; }
.bem-cartao small { color: var(--suave); font-size: .8125rem; line-height: 1.35; }
.bem-status { margin-top: auto; padding-top: .7rem; font-size: .8125rem; font-weight: 700; color: color-mix(in srgb, var(--cor) 70%, var(--texto)); }

/* linha do tempo */
.bem-linha-tempo { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.bem-linha-tempo li { --cor: #579BFC; display: flex; align-items: center; gap: .75rem; padding: .55rem .7rem; border-radius: 12px; background: var(--superficie-2); border-left: 4px solid var(--cor); }
.bem-linha-tempo li > span:not([class]) { flex: 1; min-width: 0; }
.bem-linha-tempo b { display: block; font-size: .9375rem; }
.bem-linha-tempo small { display: block; color: var(--suave); font-size: .8125rem; }
.bem-data { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 52px; flex: none; padding: .3rem 0; border-radius: 12px;
  background: var(--superficie); border: 1px solid var(--linha); line-height: 1.05; text-transform: uppercase; }
.bem-data small { font-size: .625rem; font-weight: 700; color: var(--suave); letter-spacing: .04em; }
.bem-data b { font-size: 1.375rem; color: var(--texto); }

/* topo de cada área */
.bem-topo { --cor: #00C875; display: flex; align-items: center; gap: 1.1rem; padding: 1.2rem 1.3rem; border-radius: 20px; margin: 0 0 1rem;
  background: linear-gradient(120deg, color-mix(in srgb, var(--cor) 13%, var(--superficie)), var(--superficie)); border: 1px solid color-mix(in srgb, var(--cor) 25%, var(--linha)); }
.bem-topo > div:not(.bem-minha) { flex: 1; min-width: 0; }
.bem-topo h2 { margin: 0; font-size: 1.375rem; }
.bem-topo p { margin: .25rem 0 0; color: var(--suave); }
.bem-minha { text-align: center; padding: .6rem 1rem; border-radius: 14px; background: var(--superficie); border: 1px solid var(--cor); }
.bem-minha small { display: block; font-size: .75rem; color: var(--suave); }
.bem-minha b { display: block; font-size: 1.6rem; color: var(--cor); line-height: 1.1; }

/* massagem: horários */
.massagem-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: .6rem; margin-top: .75rem; }
.massagem-slot { margin: 0; }
.massagem-slot > button { width: 100%; font: inherit; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .7rem .4rem;
  border-radius: 14px; border: 1px solid var(--linha); background: var(--superficie); color: var(--texto); transition: border-color .15s, transform .1s; }
.massagem-slot > button:hover:not(:disabled) { border-color: #00C875; transform: translateY(-1px); }
.massagem-slot b { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.massagem-slot small { font-size: .75rem; color: var(--verde); font-weight: 600; }
.massagem-slot .vagas { display: flex; gap: 4px; }
.massagem-slot .vagas i { width: 11px; height: 11px; border-radius: 50%; border: 2px solid #00C875; }
.massagem-slot .vagas i.ocupada { background: #00C875; }
.massagem-slot.cheio > button { background: var(--superficie-2); cursor: not-allowed; }
.massagem-slot.cheio small { color: var(--suave); }
.massagem-slot.passou > button { opacity: .45; cursor: not-allowed; }
.massagem-slot.meu > button { border: 2px solid #00C875; background: color-mix(in srgb, #00C875 12%, var(--superficie)); cursor: default; }
.massagem-slot.meu small { color: #037F4C; }
.massagem-quem { display: flex; flex-direction: column; gap: .2rem; margin-top: .3rem; font-size: .75rem; }
.massagem-quem span { display: flex; align-items: center; gap: .3rem; }
.massagem-quem .avatar { width: 20px; height: 20px; font-size: .5625rem; }
.massagem-quem button { margin-left: auto; padding: 0 .2rem; }

/* psicólogo */
.bem-profissionais { display: flex; gap: .5rem; flex-wrap: wrap; }
.bem-profissionais a { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .8rem .35rem .35rem; border-radius: 999px; border: 1px solid var(--linha); text-decoration: none; color: inherit; font-weight: 600; }
.bem-profissionais a.ativo { border-color: #579BFC; box-shadow: 0 0 0 1px #579BFC inset; }
.psico-dias { display: grid; gap: .6rem; }
.psico-dia { display: flex; gap: .8rem; align-items: center; }
.psico-horas { display: flex; flex-wrap: wrap; gap: .4rem; }
.psico-horas form { margin: 0; }
.psico-horas .chip-botao { padding: .4rem .9rem; font-size: .875rem; font-variant-numeric: tabular-nums; }
.psico-horas .chip-botao:hover { border-color: #579BFC; color: #579BFC; }

/* eventos */
.bem-eventos { display: grid; gap: .8rem; }
.bem-evento { --cor: #A25DDC; display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 16px; background: var(--superficie); border: 1px solid var(--linha); border-left: 5px solid var(--cor); box-shadow: var(--sombra); }
.bem-evento .bem-data { width: 60px; }
.bem-evento .bem-data b { color: var(--cor); }
.bem-evento-corpo { flex: 1; min-width: 0; }
.bem-evento h3 { margin: 0 0 .25rem; font-size: 1.0625rem; }
.bem-meta { margin: 0; color: var(--suave); font-size: .8125rem; display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; }
.bem-meta .icone { width: 15px; height: 15px; }
.bem-selo { display: inline-block; padding: .05rem .5rem; border-radius: 999px; background: var(--realce); color: var(--texto); font-size: .75rem; font-weight: 600; }
.bem-desc { margin: .5rem 0 0; font-size: .9rem; }
.bem-programa { margin: .5rem 0 0; padding-left: 1.1rem; font-size: .875rem; }
.bem-evento .linha-botoes { margin-top: .6rem; font-size: .875rem; }
.bem-pessoas { max-height: 220px; overflow: auto; }
.bem-form .cad-setor input[type=checkbox] { position: absolute; opacity: 0; }
.bem-form .cad-setor input:checked + span { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 10%, var(--superficie)); font-weight: 600; box-shadow: 0 0 0 1px var(--cor) inset; }
@media (max-width: 640px) { .bem-topo { flex-wrap: wrap; } .bem-abas a span { display: none; } .bem-abas a { padding: .35rem; } .psico-dia { align-items: flex-start; } }

/* ajuste da foto */
.recorte-dlg { width: min(440px, calc(100vw - 32px)); }
.recorte-area { position: relative; width: 100%; aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: #111; cursor: grab; touch-action: none; user-select: none; margin: .5rem 0 .75rem; }
.recorte-area.arrastando { cursor: grabbing; }
.recorte-area canvas { width: 100%; height: 100%; display: block; }
.recorte-mascara { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at center, transparent 0 69.5%, rgba(0,0,0,.55) 70%); }
.recorte-mascara::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(255,255,255,.85); }
.recorte-zoom { display: flex; align-items: center; gap: .6rem; font-weight: 700; color: var(--suave); }
.recorte-zoom input { flex: 1; }
.bem-cartao:hover, .bem-cartao:hover * { text-decoration: none; }
.recorte-zoom { flex-direction: row !important; }
.recorte-zoom input { width: auto; }
@media (max-width: 640px) {
  .bem-topo { padding: 1rem; gap: .75rem; }
  .bem-topo .bem-icone.grande { width: 52px; height: 52px; border-radius: 16px; }
  .bem-topo .bem-icone.grande .icone { width: 28px; height: 28px; }
  .bem-topo > div:not(.bem-minha) { flex: 1 1 calc(100% - 70px); }
  .bem-topo h2 { font-size: 1.15rem; }
  .bem-minha { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
  .bem-minha b { font-size: 1.3rem; }
}

/* ===== 2.6.1 — galeria de ícones dos eventos do Bem-Estar ===== */
.bem-icones-escolha { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: .45rem; }
.bem-icones-escolha legend { margin-bottom: .4rem; }
.bem-icones-escolha label { position: relative; margin: 0; cursor: pointer; }
.bem-icones-escolha input { position: absolute; opacity: 0; pointer-events: none; }
.bem-icones-escolha label > span { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .6rem .3rem .5rem; border-radius: 14px;
  border: 1px solid var(--linha); background: var(--superficie); color: var(--cor, var(--azul)); transition: border-color .15s, background .15s, transform .1s; }
.bem-icones-escolha label > span .icone { width: 28px; height: 28px; stroke-width: 1.7; }
.bem-icones-escolha small { color: var(--suave); font-size: .6875rem; line-height: 1.15; text-align: center; }
.bem-icones-escolha label:hover > span { border-color: var(--cor, var(--azul)); transform: translateY(-1px); }
.bem-icones-escolha input:checked + span { border-color: var(--cor, var(--azul)); background: color-mix(in srgb, var(--cor, var(--azul)) 12%, var(--superficie)); box-shadow: 0 0 0 1px var(--cor, var(--azul)) inset; }
.bem-icones-escolha input:checked + span small { color: var(--texto); font-weight: 600; }
.bem-icones-escolha input:focus-visible + span { outline: 2px solid var(--azul); outline-offset: 2px; }
.bem-evento > .bem-icone { width: 48px; height: 48px; border-radius: 14px; }
.bem-evento > .bem-icone .icone { width: 26px; height: 26px; }
@media (max-width: 640px) { .bem-icones-escolha { grid-template-columns: repeat(4, 1fr); } .bem-evento > .bem-icone { display: none; } }

/* ===== 2.7.0 — Recrutamento (RH) e IA ===== */
.rec-abas { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0 0 1rem; }
.rec-abas a { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem 1rem; border-radius: 12px; border: 1px solid var(--linha); background: var(--superficie); color: var(--texto); text-decoration: none; font-weight: 600; font-size: .9rem; }
.rec-abas a .icone { width: 18px; height: 18px; color: #FF642E; }
.rec-abas a.ativa { background: #FF642E; border-color: #FF642E; color: #fff; box-shadow: 0 6px 16px rgba(255,100,46,.25); }
.rec-abas a.ativa .icone { color: #fff; }
.rec-abas .rec-publica { margin-left: auto; }
.rec-filtros { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; }
.rec-filtros select, .rec-filtros input[type=search] { flex: 1 1 180px; min-width: 0; }
.rec-cores { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; margin-bottom: .5rem; }
.rec-cores a { --cor: var(--suave); display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--linha); background: var(--superficie); text-decoration: none; color: var(--texto); font-size: .8125rem; font-weight: 600; }
.rec-cores a i { width: 10px; height: 10px; border-radius: 50%; background: var(--cor); }
.rec-cores a b { padding: 0 .4rem; border-radius: 999px; background: var(--realce); font-size: .75rem; }
.rec-cores a.ativa { border-color: var(--cor); box-shadow: 0 0 0 1px var(--cor) inset; background: color-mix(in srgb, var(--cor) 9%, var(--superficie)); }
.rec-cores .rec-desc { margin-left: auto; }
.rec-cores .rec-desc .icone { width: 15px; height: 15px; }
.rec-ia-fila { display: inline-flex; align-items: center; gap: .35rem; font-size: .8125rem; font-weight: 600; color: var(--roxo); padding: .35rem .7rem; border-radius: 999px; background: var(--roxo-suave); }
.rec-ia-fila .icone { width: 15px; height: 15px; animation: rec-pulsa 1.2s ease-in-out infinite; }
@keyframes rec-pulsa { 50% { opacity: .35; } }

.rec-kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 1fr); gap: .75rem; overflow-x: auto; padding-bottom: .75rem; align-items: start; }
.rec-coluna { --cor: #579BFC; background: var(--superficie-2); border: 1px solid var(--linha); border-radius: 16px; min-height: 240px; display: flex; flex-direction: column; transition: background .15s, border-color .15s; }
.rec-coluna.sobre { background: color-mix(in srgb, var(--cor) 9%, var(--superficie-2)); border-color: var(--cor); }
.rec-coluna > header { display: flex; align-items: center; gap: .5rem; padding: .7rem .8rem; border-bottom: 3px solid var(--cor); }
.rec-col-ic { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; color: var(--cor); background: color-mix(in srgb, var(--cor) 15%, transparent); }
.rec-col-ic .icone { width: 16px; height: 16px; }
.rec-coluna > header b { flex: 1; font-size: .9rem; }
.rec-qtd { font-size: .75rem; font-weight: 700; padding: .05rem .5rem; border-radius: 999px; background: var(--superficie); border: 1px solid var(--linha); }
.rec-cartoes { display: flex; flex-direction: column; gap: .5rem; padding: .6rem; flex: 1; }
.rec-cartao { --cc: #9AA5B5; background: var(--superficie); border: 1px solid var(--linha); border-left: 4px solid var(--cc); border-radius: 12px; padding: .6rem .65rem .5rem; cursor: grab; box-shadow: 0 1px 2px rgba(18,35,58,.05); transition: box-shadow .15s, transform .1s; }
.rec-cartao:hover { box-shadow: var(--sombra); }
.rec-cartao.arrastando { opacity: .45; transform: rotate(1.5deg); }
.rec-cartao-link { display: flex; align-items: center; gap: .55rem; text-decoration: none; color: inherit; }
.rec-av { --cor: var(--cc, #9AA5B5); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; flex: none; font-size: .75rem; font-weight: 800; color: #fff; background: var(--cor); }
.rec-cartao-txt { flex: 1; min-width: 0; }
.rec-cartao-txt b { display: block; font-size: .875rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rec-cartao-txt small { display: block; color: var(--suave); font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rec-estrela { color: #F2B53F; font-style: normal; }
.rec-nota { font-size: .875rem; font-weight: 800; color: var(--cc); padding: .15rem .45rem; border-radius: 8px; background: color-mix(in srgb, var(--cc) 13%, transparent); font-variant-numeric: tabular-nums; }
.rec-barra { height: 5px; border-radius: 999px; background: var(--realce); margin: .5rem 0 .4rem; overflow: hidden; }
.rec-barra i { display: block; height: 100%; background: var(--cc); border-radius: inherit; }
.rec-cartao-rodape { display: flex; align-items: center; gap: .4rem; font-size: .6875rem; color: var(--suave); }
.rec-disc { --cor: #579BFC; font-size: .6875rem; font-weight: 800; padding: .05rem .4rem; border-radius: 6px; color: var(--cor); background: color-mix(in srgb, var(--cor) 14%, transparent); }
.rec-expira { color: #E2445C; font-weight: 700; }
.rec-acoes-mini { margin-left: auto; display: flex; gap: .2rem; opacity: .35; transition: opacity .15s; }
.rec-cartao:hover .rec-acoes-mini, .rec-cartao:focus-within .rec-acoes-mini { opacity: 1; }
.rec-acoes-mini button { width: 24px; height: 24px; border-radius: 7px; border: 1px solid var(--linha); background: var(--superficie); cursor: pointer; font: inherit; font-weight: 700; line-height: 1; color: var(--texto); }
.rec-acoes-mini button:hover { border-color: var(--azul); color: var(--azul); }
.rec-acoes-mini [data-descartar]:hover { border-color: var(--perigo); color: var(--perigo); }
@media (hover: none) { .rec-acoes-mini { opacity: 1; } }
.rec-lista-desc { display: grid; gap: .4rem; }
.rec-linha { display: flex; align-items: center; gap: .7rem; padding: .6rem .8rem; border-radius: 12px; border: 1px solid var(--linha); background: var(--superficie); text-decoration: none; color: inherit; }
.rec-linha > span:nth-child(2) { flex: 1; } .rec-linha small { display: block; color: var(--suave); font-size: .8125rem; }
.rec-nota-mini { font-weight: 800; color: var(--suave); }

.rec-compartilhar { padding: 1.2rem 1.3rem; border-radius: 18px; margin-bottom: 1rem; background: linear-gradient(120deg, #FFF2EC, var(--superficie)); border: 1px solid #FFD3C2; display: grid; gap: .7rem; }
.rec-compartilhar h2 { margin: 0; display: flex; align-items: center; gap: .5rem; font-size: 1.2rem; }
.rec-compartilhar h2 .icone { color: #FF642E; }
.rec-texto-pronto { width: 100%; font: inherit; font-size: .875rem; padding: .6rem .75rem; border-radius: 10px; border: 1px solid var(--linha); background: var(--superficie); resize: vertical; }
.rec-redes { display: flex; gap: .5rem; flex-wrap: wrap; }
.rede { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1rem; border-radius: 11px; font: inherit; font-weight: 700; font-size: .875rem; text-decoration: none; color: #fff; border: 0; cursor: pointer; }
.rede.linkedin { background: #0A66C2; } .rede.whatsapp { background: #25D366; } .rede.facebook { background: #1877F2; } .rede.copiar { background: var(--marinho); }
.rede:hover { filter: brightness(1.08); }

.rec-vaga-form h2 { margin-top: 0; }
.rec-col2 { grid-column: span 2; }
.rec-regua-linha { display: flex; gap: .5rem; align-items: center; margin-bottom: .4rem; }
.rec-regua-linha > input { flex: 1; }
.rec-peso { display: flex !important; flex-direction: row !important; align-items: center; gap: .3rem; font-size: .75rem; color: var(--suave); }
.rec-peso input { width: 4.5rem; }
.rec-disc-escolha { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .5rem; }
.rec-disc-escolha label { position: relative; cursor: pointer; }
.rec-disc-escolha input { position: absolute; opacity: 0; }
.rec-disc-escolha span { display: grid; grid-template-columns: auto 1fr; column-gap: .55rem; padding: .7rem .8rem; border-radius: 12px; border: 1px solid var(--linha); background: var(--superficie); height: 100%; }
.rec-disc-escolha span b { grid-row: span 2; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: var(--cor); font-size: 1rem; }
.rec-disc-escolha span small { grid-column: 2; color: var(--suave); font-size: .75rem; line-height: 1.3; }
.rec-disc-escolha input:checked + span { border-color: var(--cor); box-shadow: 0 0 0 1px var(--cor) inset; background: color-mix(in srgb, var(--cor) 8%, var(--superficie)); }
.rec-perg { padding: .8rem; border: 1px solid var(--linha); border-radius: 12px; margin-bottom: .6rem; display: grid; gap: .35rem; background: var(--superficie-2); }
.rec-alt { display: flex !important; flex-direction: row !important; align-items: center; gap: .5rem; }
.rec-alt input[type=radio] { width: 18px; height: 18px; flex: none; accent-color: var(--verde); }
.rec-alt input:not([type=radio]) { flex: 1; }

.rec-vagas { display: grid; gap: .6rem; }
.rec-vaga { --cor: #579BFC; display: flex; align-items: center; gap: .9rem; padding: .9rem 1rem; border-radius: 16px; border: 1px solid var(--linha); background: var(--superficie); box-shadow: var(--sombra); flex-wrap: wrap; }
.rec-vaga.st-encerrada, .rec-vaga.st-pausada { opacity: .7; }
.rec-vaga-info { flex: 1; min-width: 200px; }
.rec-vaga-info b { display: block; font-size: 1rem; }
.rec-vaga-info small { color: var(--suave); }
.rec-vaga-cores { display: flex; gap: .3rem; margin-top: .35rem; }
.rec-vaga-cores span { --cor: #999; min-width: 30px; text-align: center; font-size: .75rem; font-weight: 800; padding: .05rem .45rem; border-radius: 999px; color: var(--cor); background: color-mix(in srgb, var(--cor) 14%, transparent); }
.rec-vaga-acoes { display: flex; gap: .35rem; flex-wrap: wrap; }

.rec-voltar { display: inline-block; margin-bottom: .75rem; text-decoration: none; font-weight: 600; color: var(--suave); }
.rec-ficha-topo { --cc: #9AA5B5; display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; padding: 1.2rem 1.3rem; border-radius: 20px; margin-bottom: 1rem;
  background: linear-gradient(120deg, color-mix(in srgb, var(--cc) 10%, var(--superficie)), var(--superficie)); border: 1px solid color-mix(in srgb, var(--cc) 30%, var(--linha)); }
.rec-anel { --p: 0; width: 104px; height: 104px; border-radius: 50%; flex: none; display: grid; place-content: center; text-align: center;
  background: radial-gradient(closest-side, var(--superficie) 79%, transparent 80% 100%), conic-gradient(var(--cc) calc(var(--p) * 1%), var(--realce) 0); }
.rec-anel b { font-size: 1.6rem; line-height: 1; color: var(--cc); }
.rec-anel small { font-size: .625rem; color: var(--suave); font-weight: 700; max-width: 80px; }
.rec-ficha-nome { flex: 1; min-width: 220px; }
.rec-ficha-nome h2 { margin: 0; font-size: 1.5rem; }
.rec-ficha-nome p { margin: .2rem 0 0; color: var(--suave); }
.rec-descartado { color: var(--perigo) !important; font-weight: 600; }
.rec-ficha-notas { display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .6rem; }
.rec-ficha-notas span { font-size: .8125rem; padding: .3rem .7rem; border-radius: 999px; background: var(--superficie); border: 1px solid var(--linha); color: var(--suave); }
.rec-ficha-notas b { color: var(--texto); }
.rec-ficha-acoes { display: flex; gap: .4rem; flex-wrap: wrap; align-items: flex-end; width: 100%; }
.rec-ficha-acoes .botao .icone { width: 17px; height: 17px; }
.rec-etapa-sel { display: flex; flex-direction: column; font-size: .75rem; font-weight: 600; color: var(--suave); }
.rec-ficha { display: grid; grid-template-columns: 1.35fr 1fr; gap: 1rem; align-items: start; }
.rec-ficha h3 { display: flex; align-items: center; gap: .45rem; margin-top: 0; }
.rec-ficha h3 .icone { color: #FF642E; }
.rec-resumo { font-size: 1rem; line-height: 1.55; padding: .8rem 1rem; border-radius: 12px; background: var(--superficie-2); margin-top: 0; }
.rec-criterios { display: grid; gap: .55rem; }
.rec-criterios > div { display: grid; grid-template-columns: 1fr 140px; gap: .8rem; align-items: center; }
.rec-criterios small { display: block; color: var(--suave); font-size: .75rem; }
.rec-crit-nota { --cc: #999; position: relative; height: 22px; border-radius: 999px; background: var(--realce); overflow: hidden; }
.rec-crit-nota i { display: block; height: 100%; background: var(--cc); border-radius: inherit; }
.rec-crit-nota b { position: absolute; inset: 0; display: grid; place-items: center; font-size: .75rem; color: var(--texto); }
.rec-ficha h4 { margin: 0 0 .3rem; font-size: .9rem; }
.rec-ficha ul { margin: 0; padding-left: 1.1rem; font-size: .875rem; }
.rec-quest { margin: 0; padding-left: 1.2rem; display: grid; gap: .45rem; font-size: .875rem; }
.rec-quest small { display: block; }
.rec-quest .certo small { color: var(--verde); } .rec-quest .errado small { color: var(--perigo); }
.rec-msg { font-style: italic; color: var(--suave); border-left: 3px solid var(--linha); padding-left: .8rem; }
.rec-disc-barra { --cor: #579BFC; display: grid; grid-template-columns: 130px 1fr 40px; gap: .6rem; align-items: center; margin-bottom: .35rem; font-size: .8125rem; }
.rec-disc-barra b { color: var(--cor); }
.rec-barra-g { height: 10px; border-radius: 999px; background: var(--realce); overflow: hidden; }
.rec-barra-g i { display: block; height: 100%; background: var(--cor); border-radius: inherit; }
.rec-hist { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .5rem; }
.rec-hist li { padding: .5rem .7rem; border-radius: 10px; background: var(--superficie-2); font-size: .8125rem; }
.rec-hist li span { display: block; margin-top: .15rem; }
.rec-hist li.t-nota { background: var(--dourado-suave); }
@media (max-width: 900px) { .rec-ficha { grid-template-columns: 1fr; } .rec-col2 { grid-column: auto; } .rec-criterios > div { grid-template-columns: 1fr; } .rec-abas .rec-publica { margin-left: 0; } }

.setor-atalhos { margin-left: auto; display: flex; gap: .4rem; flex-wrap: wrap; }
.setor-atalhos .icone { width: 17px; height: 17px; }
.ia-estado { display: flex; gap: .8rem; align-items: center; padding: .9rem 1.1rem; border-radius: 14px; background: var(--dourado-suave); border: 1px solid #F3D68E; max-width: 52rem; }
.ia-estado.ok { background: var(--verde-suave); border-color: #A8E2C5; }
.ia-estado .icone { width: 28px; height: 28px; }
.ia-estado small { display: block; color: var(--suave); }
.ia-passos { max-width: 52rem; }
.ia-passos ol { margin: 0; padding-left: 1.3rem; display: grid; gap: .55rem; }

/* ===== 2.7.2 — Botão Voltar e atalhos grandes nos setores ===== */
.voltar-pagina { display: inline-flex; align-items: center; gap: .3rem; margin: 0 0 .6rem; padding: .35rem .8rem .35rem .55rem; border-radius: 999px;
  border: 1px solid var(--linha); background: var(--superficie); color: var(--suave); text-decoration: none; font-size: .8125rem; font-weight: 600; transition: color .15s, border-color .15s, transform .1s; }
.voltar-pagina .icone { width: 16px; height: 16px; transform: rotate(180deg); }
.voltar-pagina:hover { color: var(--azul); border-color: var(--azul); transform: translateX(-2px); }
.voltar-pagina + h1 { margin-top: 0; }

.setor-topo { flex-wrap: wrap; }
.setor-numeros { margin-left: auto; display: flex; gap: .5rem; flex-wrap: wrap; }
.setor-numeros a { min-width: 92px; padding: .55rem .8rem; border-radius: 14px; background: var(--superficie); border: 1px solid var(--linha); text-decoration: none; color: var(--texto); text-align: center; transition: border-color .15s; }
.setor-numeros a:hover { border-color: var(--cor, var(--azul)); }
.setor-numeros b { display: block; font-size: 1.5rem; line-height: 1.1; color: var(--cor, var(--azul)); font-variant-numeric: tabular-nums; }
.setor-numeros small { display: block; font-size: .6875rem; color: var(--suave); font-weight: 600; }
.setor-numeros a.alerta b { color: var(--perigo); }
.setor-titulo-acoes { font-size: 1.125rem; margin: 1.25rem 0 .6rem; }
.setor-acoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .75rem; }
.setor-acao { --cor: #579BFC; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem; padding: 1.1rem .8rem 1rem; border-radius: 18px;
  background: var(--superficie); border: 1px solid var(--linha); text-decoration: none; color: var(--texto); box-shadow: var(--sombra); transition: transform .15s, box-shadow .15s, border-color .15s; }
.setor-acao:hover { transform: translateY(-3px); box-shadow: var(--sombra-alta); border-color: var(--cor); }
.setor-acao:active { transform: translateY(-1px); }
.setor-acao-ic { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; margin-bottom: .3rem; color: #fff; background: var(--cor);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--cor) 35%, transparent); }
.setor-acao-ic .icone { width: 32px; height: 32px; stroke-width: 1.8; color: #fff; }
.setor-acao b { font-size: .9375rem; line-height: 1.2; }
.setor-acao small { color: var(--suave); font-size: .75rem; line-height: 1.3; }
.setores-grade .setor-icone { width: 56px; height: 56px; border-radius: 16px; }
.setores-grade .setor-icone .icone { width: 30px; height: 30px; }
@media (max-width: 640px) {
  .setor-acoes { grid-template-columns: repeat(2, 1fr); gap: .55rem; }
  .setor-acao { padding: .9rem .5rem .8rem; }
  .setor-acao-ic { width: 54px; height: 54px; border-radius: 17px; }
  .setor-acao-ic .icone { width: 28px; height: 28px; }
  .setor-numeros { margin-left: 0; width: 100%; }
  .setor-numeros a { flex: 1; min-width: 0; }
}

/* ===== 2.7.3 — Buscar no banco de talentos ===== */
.rec-banco-aviso { display: flex; align-items: center; gap: .7rem; padding: .8rem 1rem; border-radius: 14px; text-decoration: none; color: var(--texto);
  background: linear-gradient(120deg, #EEF5FF, var(--superficie)); border: 1px solid #C9DCF8; transition: border-color .15s, transform .1s; }
.rec-banco-aviso:hover { border-color: var(--azul); transform: translateY(-1px); }
.rec-banco-aviso .icone { width: 26px; height: 26px; color: var(--azul); flex: none; }
.rec-banco-aviso.compacto { margin-bottom: .6rem; padding: .55rem .85rem; font-size: .875rem; }
.rec-banco-aviso.compacto .icone { width: 20px; height: 20px; }
.rec-busca-topo { display: grid; gap: .6rem; margin-bottom: 1rem; }
.rec-busca-topo h2 { margin: 0; }
.rec-busca-barra { position: sticky; top: 0; z-index: 3; display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding: .6rem .8rem; margin-bottom: .6rem;
  border-radius: 12px; background: var(--superficie); border: 1px solid var(--linha); box-shadow: var(--sombra); }
.rec-busca-lista { display: grid; gap: .5rem; }
.rec-busca-item { --cc: #9AA5B5; display: flex !important; flex-direction: row !important; align-items: flex-start; gap: .75rem; padding: .75rem .9rem; border-radius: 14px; cursor: pointer;
  background: var(--superficie); border: 1px solid var(--linha); border-left: 4px solid var(--cc); transition: border-color .15s, background .15s; }
.rec-busca-item:hover { border-color: var(--azul); }
.rec-busca-item:has(input:checked) { background: var(--azul-suave); border-color: var(--azul); }
.rec-busca-item > input { width: 20px; height: 20px; margin-top: .45rem; flex: none; accent-color: var(--azul); }
.rec-busca-item .rec-av { --cor: var(--cc); }
.rec-busca-txt { flex: 1; min-width: 0; display: grid; gap: .15rem; }
.rec-busca-txt small { color: var(--suave); font-size: .8125rem; }
.rec-busca-txt em { font-size: .8125rem; color: var(--texto); font-style: normal; background: var(--superficie-2); padding: .35rem .55rem; border-radius: 8px; }
.rec-busca-tags { display: flex; gap: .35rem; flex-wrap: wrap; align-items: center; margin-top: .2rem; font-size: .75rem; }
.rec-busca-tags i { --cor: var(--suave); font-style: normal; font-weight: 700; padding: .05rem .5rem; border-radius: 999px; color: var(--cor); background: color-mix(in srgb, var(--cor) 12%, transparent); }
.rec-busca-tags i.ok { --cor: #00A862; }
.rec-busca-item .rec-nota { align-self: center; }

/* ===== 2.7.4 — Botões dos setores (gestor), ferramentas, banco de talentos, foto do candidato ===== */
.setor-config { margin-left: .6rem; font-size: .8125rem; font-weight: 600; color: var(--azul); text-decoration: none; display: inline-flex; align-items: center; gap: .25rem; vertical-align: middle; }
.setor-config .icone { width: 15px; height: 15px; }
.cad-setor span.marcado { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 12%, var(--superficie)); box-shadow: 0 0 0 1px var(--cor) inset; font-weight: 700; }
a.cad-setor { text-decoration: none; color: inherit; }
.setor-cfg-topo { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: .5rem; }
.setor-cfg-topo > div { flex: 1; min-width: 200px; }
.setor-cfg-topo h2 { margin: 0; }
.setor-cfg-grupo { margin: 1.1rem 0 .5rem; font-size: .9375rem; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; }
.setor-cfg-grupo small { text-transform: none; letter-spacing: 0; font-weight: 400; }
.setor-cfg-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem; }
.setor-cfg-item { --cor: #579BFC; position: relative; display: flex !important; flex-direction: row !important; align-items: center; gap: .65rem; padding: .6rem .7rem; border-radius: 14px;
  border: 1px solid var(--linha); background: var(--superficie); cursor: pointer; opacity: .55; transition: opacity .15s, border-color .15s, background .15s; }
.setor-cfg-item:has(input[type=checkbox]:checked) { opacity: 1; border-color: var(--cor); background: color-mix(in srgb, var(--cor) 7%, var(--superficie)); }
.setor-cfg-item > input[type=checkbox] { width: 20px; height: 20px; flex: none; accent-color: var(--cor); }
.setor-cfg-item .setor-acao-ic, .setor-extra .setor-acao-ic, .ferr-item .setor-acao-ic { width: 42px; height: 42px; border-radius: 13px; margin: 0; flex: none; box-shadow: none; }
.setor-cfg-item .setor-acao-ic .icone, .setor-extra .setor-acao-ic .icone, .ferr-item .setor-acao-ic .icone { width: 22px; height: 22px; }
.setor-cfg-txt { flex: 1; min-width: 0; }
.setor-cfg-txt b { display: block; font-size: .875rem; }
.setor-cfg-txt small { display: block; font-size: .75rem; color: var(--suave); line-height: 1.3; }
.setor-cfg-ordem { display: flex; align-items: center; gap: .1rem; font-size: .75rem; color: var(--suave); }
.setor-cfg-ordem input { width: 3.4rem; padding: .25rem .3rem; text-align: center; }
.setor-extra { display: grid; grid-template-columns: 42px 1fr 1.2fr 1.6fr 1fr 44px; gap: .45rem; align-items: center; }
.setor-extra input[type=color] { height: 2.4rem; padding: .15rem; }
.ferr-form { display: grid; gap: .6rem; }
.ferr-setores { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.ferr-setores .cad-setor span { padding: .25rem .6rem .25rem .3rem; font-size: .8125rem; }
.ferr-setores .cad-setor i { width: 22px; height: 22px; }
.ferr-setores .cad-setor input:checked + span { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 10%, var(--superficie)); font-weight: 600; box-shadow: 0 0 0 1px var(--cor) inset; }
.ferr-setores .cad-setor input { position: absolute; opacity: 0; }
.ferr-item { border: 1px solid var(--linha); border-radius: 14px; margin-bottom: .5rem; background: var(--superficie); }
.ferr-item > summary { display: flex; align-items: center; gap: .7rem; padding: .55rem .8rem; cursor: pointer; list-style: none; }
.ferr-item > summary::-webkit-details-marker { display: none; }
.ferr-item > summary b { flex: 1; }
.ferr-item > summary small { color: var(--suave); }
.ferr-item[open] > summary { border-bottom: 1px solid var(--linha); }
.ferr-item .ferr-form { padding: .8rem; }
@media (max-width: 900px) { .setor-extra { grid-template-columns: 42px 1fr; } .setor-extra > input, .setor-extra > select { grid-column: 2; } }

.rec-no-banco { font-style: normal; }
.rec-acoes-mini [data-banco] { filter: grayscale(1); opacity: .6; }
.rec-acoes-mini [data-banco].ligado { filter: none; opacity: 1; border-color: #F2B53F; background: #FFF6DC; }
.rec-btn-banco { background: #F2B53F; color: #3D2B00; }
.rec-btn-banco:hover { background: #E7A92C; }
.rec-toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 99; padding: .7rem 1.1rem; border-radius: 12px; background: var(--marinho); color: #fff; font-weight: 600; box-shadow: var(--sombra-alta); animation: rec-sobe .2s ease-out; }
@keyframes rec-sobe { from { opacity: 0; transform: translate(-50%, 10px); } }
.rec-busca-para { display: flex; gap: .4rem; flex-wrap: wrap; }
.rec-av.com-foto { background: var(--realce); overflow: hidden; padding: 0; }
.rec-av.com-foto img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; }
.rec-ficha-foto { width: 104px; height: 104px; border-radius: 50%; overflow: hidden; flex: none; box-shadow: 0 0 0 4px var(--superficie), 0 0 0 6px var(--cc); }
.rec-ficha-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ===== 2.7.5 — Menu lateral por setor ===== */
.lateral nav a.menu-setor { margin: .2rem 0 .45rem; padding: .55rem .6rem; border-radius: 14px; background: color-mix(in srgb, var(--cor) 22%, transparent); border: 1px solid color-mix(in srgb, var(--cor) 45%, transparent); gap: .65rem; }
.lateral nav a.menu-setor:hover, .lateral nav a.menu-setor.ativo { background: color-mix(in srgb, var(--cor) 34%, transparent); }
.menu-setor-ic { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; flex: none; background: var(--cor); box-shadow: 0 4px 12px color-mix(in srgb, var(--cor) 40%, transparent); }
.lateral nav a.menu-setor .menu-setor-ic .icone { width: 22px; height: 22px; color: #fff !important; margin: 0; }
.lateral nav a.menu-setor > span:last-child { display: flex; flex-direction: column; line-height: 1.15; font-weight: 700; color: #fff; }
.lateral nav a.menu-setor small { font-size: .625rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.lateral nav a.menu-atalho .icone { color: color-mix(in srgb, var(--cor) 70%, #fff); }
.menu-externo { margin-left: auto; opacity: .55; font-size: .75rem; }
html.menu-icones .lateral nav a.menu-setor { padding: .45rem; justify-content: center; }
html.menu-icones .lateral nav a.menu-setor > span:last-child, html.menu-icones .menu-externo { display: none; }
.menu-setor-chave { max-width: 60rem; margin-bottom: 1rem; padding: .8rem 1rem; border-radius: 14px; background: var(--superficie); border: 1px solid var(--linha); }
.setor-acoes-menores { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.setor-acoes-menores .setor-acao { padding: .85rem .6rem .8rem; }
.setor-acoes-menores .setor-acao-ic { width: 52px; height: 52px; border-radius: 16px; }
.setor-acoes-menores .setor-acao-ic .icone { width: 26px; height: 26px; }
.lateral nav a.menu-setor .menu-setor-ic { flex: 0 0 38px; }
.lateral nav a.menu-setor > span:last-child { flex: 1; }
@media (min-width: 901px) {
  html.menu-icones .lateral nav > a.menu-setor { background: none; border: 0; padding: 0; height: 60px; }
  html.menu-icones .lateral nav > a.menu-setor .menu-setor-ic { display: grid; width: 56px; height: 56px; flex: 0 0 56px; border-radius: 16px; box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 35%, transparent), 0 6px 14px color-mix(in srgb, var(--cor) 40%, transparent); }
  html.menu-icones .lateral nav > a.menu-setor .menu-setor-ic .icone { width: 28px; height: 28px; background: none !important; box-shadow: none !important; padding: 0 !important; }
}

/* ===== 2.7.6 — Modo espectador ===== */
.espectador-seletor { display: flex; align-items: center; gap: .35rem; margin-left: .75rem; padding: .25rem .35rem .25rem .5rem; border-radius: 12px; border: 1px dashed var(--linha); background: var(--superficie); }
.espectador-seletor.ativo { border: 1px solid #A25DDC; background: color-mix(in srgb, #A25DDC 10%, var(--superficie)); }
.espectador-olho { display: grid; place-items: center; color: #A25DDC; }
.espectador-olho .icone { width: 20px; height: 20px; }
.espectador-seletor select { max-width: 210px; padding: .3rem .5rem; font-size: .8125rem; border-radius: 9px; }
.espectador-faixa { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; padding: .55rem 1rem; background: linear-gradient(90deg, #6C2BD9, #A25DDC); color: #fff; font-size: .875rem; position: sticky; top: 0; z-index: 30; }
.espectador-faixa .icone { width: 20px; height: 20px; flex: none; }
.espectador-faixa > span { flex: 1; min-width: 220px; }
.espectador-faixa .botao { background: #fff; color: #5B21B6; }
@media (max-width: 900px) { .espectador-seletor { margin-left: auto; } .espectador-seletor select { max-width: 130px; } }

/* ===== 2.7.7 — Menu lateral: itens com submenu alinhados aos demais (mesmo recuo, espaço e ícone) ===== */
html:not(.menu-icones) .lateral nav .menu-pai { padding: 0.55rem 0.75rem; gap: 0.7rem; border-radius: 8px; line-height: inherit; }
html:not(.menu-icones) .lateral nav .menu-pai > .icone:first-child { width: 20px; height: 20px; stroke-width: 1.7; }
.lateral nav .menu-pai .seta { margin-right: -2px; }
.smtp-provedores { display: flex; flex-wrap: wrap; gap: .4rem; margin: .25rem 0 .75rem; }
/* 2.7.7 — Avisos em destaque no topo do Início (janela compacta) */
.avisos-topo { display: flex; align-items: flex-start; gap: .7rem; max-width: 56rem; margin: 0 0 1.25rem; padding: .6rem .85rem; border-radius: 14px; background: linear-gradient(90deg, color-mix(in srgb, #FDAB3D 16%, var(--superficie)), color-mix(in srgb, #FF7575 10%, var(--superficie))); border: 1px solid color-mix(in srgb, #FDAB3D 40%, transparent); box-shadow: 0 3px 10px color-mix(in srgb, #FDAB3D 14%, transparent); }
.avisos-topo-ic { flex: none; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: linear-gradient(135deg, #FDAB3D, #FF7575); box-shadow: 0 3px 8px color-mix(in srgb, #FF7575 35%, transparent); animation: aviso-pulso 2.6s ease-in-out infinite; }
.avisos-topo-ic .icone { width: 17px; height: 17px; color: #fff; }
@keyframes aviso-pulso { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@media (prefers-reduced-motion: reduce) { .avisos-topo-ic { animation: none; } }
.avisos-topo ul { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; display: flex; flex-direction: column; }
.avisos-topo li + li { border-top: 1px dashed color-mix(in srgb, #FDAB3D 35%, transparent); }
.avisos-topo li a { display: flex; align-items: center; gap: .45rem; padding: .3rem 0; min-height: 30px; color: var(--texto); text-decoration: none; font-size: .875rem; }
.avisos-topo li a:hover b { text-decoration: underline; }
.avisos-topo li b { flex: none; max-width: 45%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avisos-topo-txt { flex: 1; min-width: 0; color: var(--suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avisos-topo time { flex: none; font-size: .75rem; color: var(--suave); }
.avisos-topo-todos { flex: none; align-self: center; font-size: .8125rem; font-weight: 600; white-space: nowrap; }
.aviso-selo { flex: none; padding: .05rem .45rem; border-radius: 99px; font-size: .625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.aviso-selo.novo { background: #00C875; color: #fff; }
.aviso-selo.fixo { padding: 0; font-size: .8rem; }
@media (max-width: 640px) { .avisos-topo-txt { display: none; } .avisos-topo li b { max-width: none; flex: 1; } .avisos-topo-todos { display: none; } }

/* ===== 2.7.8 — Ícones coloridos em todo o menu lateral (cada função com a sua cor, igual aos botões do setor) ===== */
html:not(.menu-icones) .lateral nav a:not(.menu-setor) .icone,
html:not(.menu-icones) .lateral nav .menu-pai > .icone:first-child { color: color-mix(in srgb, var(--cor, #8FA3BF) 72%, #fff) !important; transition: color .15s, transform .15s; }
html:not(.menu-icones) .lateral nav a:not(.menu-setor):hover .icone,
html:not(.menu-icones) .lateral nav .menu-pai:hover > .icone:first-child { color: color-mix(in srgb, var(--cor, #8FA3BF) 88%, #fff) !important; transform: scale(1.08); }
html:not(.menu-icones) .lateral nav a.ativo:not(.menu-setor) .icone,
html:not(.menu-icones) .lateral nav .menu-pai.no-grupo > .icone:first-child { color: var(--cor, var(--dourado)) !important; filter: drop-shadow(0 0 6px color-mix(in srgb, var(--cor, #F2B53F) 45%, transparent)); }
html:not(.menu-icones) .lateral nav .submenu a .icone { color: color-mix(in srgb, var(--cor, #8FA3BF) 60%, #fff) !important; }
@media (prefers-reduced-motion: reduce) { html:not(.menu-icones) .lateral nav .icone { transition: none; transform: none !important; } }

/* ===== 2.8.0 — sem duplicidade nos botões dos setores ===== */
.setor-cfg-coberto { display: inline-block; margin-top: .2rem; padding: .05rem .45rem; border-radius: 99px; background: color-mix(in srgb, #FDAB3D 18%, transparent); color: #B26A00; font-weight: 600; }
[data-theme="dark"] .setor-cfg-coberto { color: #FDCB7A; }

/* ===== 2.8.1 — selecionar todos, aplicar em vários setores, pessoa em vários setores ===== */
.setor-cfg-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .75rem 0; }
.setor-cfg-grupo { display: flex; align-items: baseline; gap: .75rem; }
.setor-cfg-grupo-acoes { font-size: .8125rem; font-weight: 500; color: var(--suave); }
.setor-cfg-grupo-acoes .link { font-size: .8125rem; padding: 0; }
.setor-aplicar { border: 1px dashed var(--linha); border-radius: 14px; padding: .9rem 1rem 1rem; background: var(--superficie); }
.setor-aplicar legend { display: flex; align-items: center; gap: .4rem; font-weight: 700; padding: 0 .35rem; }
.setor-aplicar-modo { display: grid; gap: .4rem; margin-top: .85rem; }
.setor-aplicar-modo label { display: flex; align-items: baseline; gap: .45rem; flex-wrap: wrap; }
.setor-aplicar-modo small { color: var(--suave); }
.cad-setor-extra input:checked + span { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 12%, var(--superficie)); }
.cad-outros-setores { margin-top: .75rem; }
.cad-outros-setores summary { cursor: pointer; font-weight: 600; color: var(--azul); }
.cad-outros-setores .cad-setores { margin-top: .5rem; }
.lateral nav a.menu-setor + a.menu-setor { margin-top: -.15rem; }
.formulario .setor-aplicar-modo label { display: flex; flex-direction: row; align-items: center; gap: .5rem; flex-wrap: wrap; margin: 0; padding: .55rem .75rem; border: 1px solid var(--linha); border-radius: 10px; font-weight: 400; cursor: pointer; }
.formulario .setor-aplicar-modo label:has(input:checked) { border-color: var(--azul); background: var(--azul-suave); }
.formulario .setor-aplicar-modo input { width: auto; margin: 0; flex: none; }
.formulario .setor-aplicar-modo small { flex-basis: 100%; padding-left: 1.6rem; margin-top: -.2rem; }

/* ===== 2.9.0 — Romaneio: protocolo, agenda dos motoboys, malotes e idas e vindas ===== */
.protocolo-gerado { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; margin-bottom: 1rem; padding: .9rem 1.1rem; border-radius: 14px; background: linear-gradient(135deg, color-mix(in srgb, #FF642E 14%, var(--superficie)), var(--superficie)); border: 1px solid color-mix(in srgb, #FF642E 40%, transparent); }
.protocolo-gerado span { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--suave); }
.protocolo-gerado b { font-size: 1.6rem; letter-spacing: .04em; color: #D9480F; font-variant-numeric: tabular-nums; }
[data-theme="dark"] .protocolo-gerado b { color: #FF9F6E; }
.protocolo-gerado small { color: var(--suave); }
.protocolo-mini { font-weight: 600; font-size: .72rem; color: var(--suave); padding: .05rem .4rem; border-radius: 6px; background: var(--realce); margin-left: .25rem; }
.aprovar-agendar { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .6rem; align-items: end; }
.aprovar-agendar .col-cheia { grid-column: 1 / -1; }
.aprovar-agendar > button { grid-column: 1 / -1; justify-self: start; }
.agenda-motoboys { margin: 0 0 1.25rem; padding: .9rem 1rem; border-radius: 14px; border: 1px solid var(--linha); background: var(--superficie); }
.agenda-motoboys h3 { display: flex; align-items: center; gap: .4rem; margin: 0 0 .6rem; font-size: 1rem; }
.agenda-moto-tab th small { display: block; font-weight: 500; color: var(--suave); }
.agenda-moto-tab td { text-align: center; border-radius: 8px; }
.agenda-moto-tab td b { display: block; }
.agenda-moto-tab td small { font-size: .7rem; }
.agenda-moto-tab th.fds { opacity: .6; }
.oc-livre { background: color-mix(in srgb, #00C875 14%, transparent); color: #037F4C; }
.oc-leve { background: color-mix(in srgb, #FFCB00 18%, transparent); }
.oc-medio { background: color-mix(in srgb, #FDAB3D 24%, transparent); }
.oc-cheio { background: color-mix(in srgb, #E2445C 20%, transparent); color: #B0263C; }
[data-theme="dark"] .oc-livre { color: #5BE3A4; } [data-theme="dark"] .oc-cheio { color: #FF8A9B; }
.malotes-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem; margin-top: 1rem; }
.malote-card { border: 1px solid var(--linha); border-radius: 16px; background: var(--superficie); padding: .9rem 1rem; border-top: 4px solid #FDAB3D; }
.malote-card.status-em_rota { border-top-color: #579BFC; }
.malote-card.status-retornou { border-top-color: #00C875; }
.malote-card header { display: flex; align-items: center; gap: .6rem; }
.malote-card header > div { flex: 1; min-width: 0; }
.malote-card header small { display: block; color: var(--suave); }
.malote-ic { width: 38px; height: 38px; flex: none; border-radius: 11px; display: grid; place-items: center; background: linear-gradient(135deg, #FF9F1A, #FF642E); color: #fff; }
.malote-ic .icone { width: 21px; height: 21px; color: #fff; }
.malote-linha-tempo { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin: .8rem 0 .4rem; font-size: .8125rem; color: var(--suave); }
.malote-linha-tempo .feito { color: var(--texto); }
.malote-linha-tempo .trilho { flex: 1; min-width: 60px; height: 6px; border-radius: 99px; background: var(--realce); overflow: hidden; }
.malote-linha-tempo .trilho i { display: block; height: 100%; background: linear-gradient(90deg, #579BFC, #00C875); }
.malote-tempo { font-weight: 700; color: var(--texto); }
.malote-entregas ol { list-style: none; margin: .4rem 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.malote-entregas li { display: flex; align-items: center; gap: .5rem; padding: .45rem .55rem; border-radius: 10px; background: var(--superficie-2); }
.malote-entregas li a { flex: 1; min-width: 0; color: var(--texto); text-decoration: none; }
.malote-entregas li a small { display: block; color: var(--suave); }
.malote-entregas .linha-botoes { flex-wrap: wrap; }
.malote-obs { flex: 1; min-width: 180px; }
.malote-resumo { margin: .2rem 0 .5rem; }
.lista-soltas { list-style: none; margin: 0 0 .75rem; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.lista-soltas label { display: flex; align-items: baseline; gap: .5rem; padding: .5rem .65rem; border: 1px solid var(--linha); border-radius: 10px; cursor: pointer; }
.lista-soltas small { color: var(--suave); }
.idas-resumo { display: grid; gap: 1rem; margin: 1rem 0; }
.idas-card { border: 1px solid var(--linha); border-radius: 14px; padding: .8rem 1rem; background: var(--superficie); }
.idas-card h3 { margin: 0 0 .5rem; }
.moto-malote { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin: 0 0 .9rem; padding: .8rem .9rem; border-radius: 14px; border: 1px solid color-mix(in srgb, #FF642E 40%, transparent); background: color-mix(in srgb, #FF642E 8%, var(--superficie)); }
.moto-malote > div { flex: 1; min-width: 180px; }
.moto-malote small { display: block; color: var(--suave); }
.moto-malote form { width: 100%; } .moto-malote form .botao { width: 100%; }
@media (min-width: 700px) { .moto-malote form { width: auto; } }
/* 2.9.0 — outros setores da pessoa: ícones pequenos e discretos abaixo do setor principal */
.lateral nav .menu-setor-outros { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; margin: -.25rem 0 .45rem .7rem; }
.lateral nav .menu-setor-outros > span { font-size: .625rem; text-transform: uppercase; letter-spacing: .06em; color: var(--lateral-suave); margin-right: .1rem; }
.lateral nav .menu-setor-outros a { width: 26px; height: 26px; padding: 0; display: grid; place-items: center; border-radius: 8px; background: color-mix(in srgb, var(--cor) 16%, transparent); border: 1px solid color-mix(in srgb, var(--cor) 30%, transparent); opacity: .8; transition: opacity .15s, transform .15s; }
.lateral nav .menu-setor-outros a:hover, .lateral nav .menu-setor-outros a.ativo { opacity: 1; transform: translateY(-1px); background: color-mix(in srgb, var(--cor) 30%, transparent); }
.lateral nav .menu-setor-outros a .icone { width: 15px; height: 15px; color: color-mix(in srgb, var(--cor) 75%, #fff) !important; transform: none !important; filter: none !important; }
.lateral nav .menu-setor-outros a::before { display: none !important; }
html.menu-icones .lateral nav .menu-setor-outros { flex-direction: column; margin: -.2rem 0 .3rem; }
html.menu-icones .lateral nav .menu-setor-outros > span { display: none; }
html.menu-icones .lateral nav .menu-setor-outros a { width: 30px; height: 30px; }
html.menu-icones .lateral nav .menu-setor-outros a .icone { width: 16px; height: 16px; padding: 0; background: none; box-shadow: none; }

/* ===== 2.9.1 — funções que ficam dentro de uma ferramenta ===== */
.setor-cfg-dentro { display: inline-block; margin-top: .25rem; padding: .1rem .5rem; border-radius: 8px; background: color-mix(in srgb, var(--cor, #579BFC) 12%, transparent); color: var(--texto) !important; font-size: .72rem; line-height: 1.35; }

/* ===== 3.0.0 — Gestão de CND ===== */
.cnd-topo { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.cnd-robo { display: flex; align-items: center; gap: .6rem; padding: .5rem .85rem; border-radius: 12px; border: 1px solid var(--linha); background: var(--superficie); }
.cnd-robo small { display: block; color: var(--suave); font-size: .75rem; }
.cnd-robo-luz { width: 12px; height: 12px; border-radius: 50%; background: #C4C4C4; flex: none; }
.cnd-robo.on .cnd-robo-luz { background: #00C875; box-shadow: 0 0 0 4px color-mix(in srgb, #00C875 25%, transparent); animation: cnd-pulso 2s infinite; }
.cnd-robo.off .cnd-robo-luz { background: #E2445C; }
@keyframes cnd-pulso { 50% { box-shadow: 0 0 0 7px color-mix(in srgb, #00C875 10%, transparent); } }
@media (prefers-reduced-motion: reduce) { .cnd-robo.on .cnd-robo-luz { animation: none; } }
.cnd-alerta { padding: .5rem .85rem; border-radius: 12px; background: color-mix(in srgb, #FDAB3D 16%, var(--superficie)); border: 1px solid color-mix(in srgb, #FDAB3D 45%, transparent); font-size: .875rem; }
.cnd-fila-chip { padding: .45rem .8rem; border-radius: 99px; background: color-mix(in srgb, #579BFC 14%, var(--superficie)); font-weight: 600; font-size: .875rem; }
.cnd-kpis li.ok strong { color: #00A35C; } .cnd-kpis li.vence strong { color: #D98300; } .cnd-kpis li.ruim strong { color: #D83A52; } .cnd-kpis li.vazio strong { color: var(--suave); }
.cnd-kpis li a { color: inherit; text-decoration: none; display: block; }
.cnd-lote { margin: 1rem 0 1.25rem; padding: 1rem 1.1rem; border-radius: 16px; background: linear-gradient(135deg, color-mix(in srgb, #1F9E8F 10%, var(--superficie)), var(--superficie)); border: 1px solid color-mix(in srgb, #1F9E8F 35%, transparent); }
.cnd-lote h2 { display: flex; align-items: center; gap: .45rem; margin: 0 0 .7rem; font-size: 1.05rem; }
.cnd-lote-form { display: grid; gap: .7rem; }
.cnd-pasta { display: grid; gap: .25rem; font-weight: 600; } .cnd-pasta small { font-weight: 400; color: var(--suave); }
.cnd-pasta input { font-family: ui-monospace, Consolas, monospace; }
.cnd-tipos, .cnd-dias { display: flex; flex-wrap: wrap; gap: .4rem .9rem; }
.cnd-tipos label, .cnd-dias label, .cnd-check { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: .35rem; font-weight: 500; }
.cnd-tipos input, .cnd-dias input, .cnd-check input { width: auto !important; margin: 0; }
.cnd-barra-sel { position: sticky; top: 64px; z-index: 5; display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; margin-bottom: .6rem; border-radius: 12px; background: var(--marinho); color: #fff; }
.cnd-tabela td small { display: block; color: var(--suave); }
.cnd-tabela .c { text-align: center; }
.cnd-cel { display: inline-flex; flex-direction: column; align-items: center; min-width: 70px; padding: .3rem .5rem; border-radius: 9px; font-size: .8125rem; text-decoration: none; line-height: 1.2; }
.cnd-cel small { font-size: .625rem; font-weight: 700; opacity: .75; }
.cnd-cel.est-ok { background: color-mix(in srgb, #00C875 16%, transparent); color: #037F4C; }
.cnd-cel.est-vence { background: color-mix(in srgb, #FDAB3D 22%, transparent); color: #9A5B00; }
.cnd-cel.est-ruim { background: color-mix(in srgb, #E2445C 16%, transparent); color: #B0263C; }
.cnd-cel.est-espera { background: color-mix(in srgb, #579BFC 16%, transparent); color: #1F5E9C; }
.cnd-cel.est-vazio, .cnd-cel.est-neutro { color: var(--suave); background: var(--realce); }
[data-theme="dark"] .cnd-cel.est-ok { color: #5BE3A4; } [data-theme="dark"] .cnd-cel.est-vence { color: #FDCB7A; } [data-theme="dark"] .cnd-cel.est-ruim { color: #FF8A9B; } [data-theme="dark"] .cnd-cel.est-espera { color: #8CB8FF; }
.cnd-fila { display: grid; gap: .75rem; }
.cnd-tarefa { border: 1px solid var(--linha); border-radius: 14px; padding: .8rem 1rem; background: var(--superficie); border-left: 5px solid #579BFC; }
.cnd-tarefa.st-concluida { border-left-color: #00C875; } .cnd-tarefa.st-erro { border-left-color: #E2445C; } .cnd-tarefa.st-cancelada { border-left-color: #A0A0A0; opacity: .8; } .cnd-tarefa.st-executando { border-left-color: #FDAB3D; }
.cnd-tarefa header { display: flex; align-items: center; gap: .6rem; }
.cnd-tarefa header > div { flex: 1; min-width: 0; } .cnd-tarefa header small { display: block; color: var(--suave); }
.cnd-tarefa-ic { font-size: 1.4rem; }
.cnd-barra { height: 8px; border-radius: 99px; background: var(--realce); overflow: hidden; margin: .6rem 0 .2rem; }
.cnd-barra i { display: block; height: 100%; background: linear-gradient(90deg, #FDAB3D, #00C875); transition: width .4s; }
.cnd-log { max-height: 280px; overflow: auto; background: #0F1C30; color: #CFE3FF; padding: .7rem .8rem; border-radius: 10px; font-size: .75rem; white-space: pre-wrap; }
.cnd-token { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .5rem 0 .75rem; padding: .7rem .8rem; border-radius: 12px; background: color-mix(in srgb, #00C875 12%, var(--superficie)); border: 1px dashed #00C875; }
.cnd-token b { flex-basis: 100%; } .cnd-token code { font-size: .8125rem; word-break: break-all; }
.cnd-passos { padding-left: 1.2rem; display: grid; gap: .45rem; }
.cnd-agenda { border: 1px solid var(--linha); border-radius: 12px; padding: .75rem .9rem; display: grid; gap: .6rem; }
.cnd-receitas { width: 100%; font-family: ui-monospace, Consolas, monospace; font-size: .8rem; }
details.cartao-form > summary { cursor: pointer; }
/* 3.0.1 — agendamentos do robô */
.cnd-agendas { display: grid; gap: .6rem; }
.cnd-ag { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; padding: .75rem .9rem; border: 1px solid var(--linha); border-radius: 14px; background: var(--superficie); border-left: 5px solid #1F9E8F; }
.cnd-ag.off { opacity: .6; border-left-color: #A0A0A0; }
.cnd-ag-ic { font-size: 1.5rem; }
.cnd-ag-txt { flex: 1; min-width: 220px; } .cnd-ag-txt small { display: block; color: var(--suave); }
.cnd-ag-acoes { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.cnd-ag-acoes .interruptor { margin: 0; }
.cnd-freq { display: grid; gap: .45rem; padding: .7rem .85rem; border: 1px solid var(--linha); border-radius: 12px; }
.cnd-dia-mes { max-width: 200px; }

/* ===== 3.1.0 — Administração → Robôs ===== */
.robos-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: .9rem; }
.robo-card { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; border-radius: 16px; border: 1px solid var(--linha); background: var(--superficie); color: var(--texto); text-decoration: none; transition: transform .15s, box-shadow .15s; }
a.robo-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(18,35,58,.1); text-decoration: none; color: var(--texto); }
.robo-ic { width: 46px; height: 46px; flex: none; border-radius: 13px; display: grid; place-items: center; background: var(--cor); color: #fff; box-shadow: 0 4px 12px color-mix(in srgb, var(--cor) 35%, transparent); }
.robo-ic .icone { width: 24px; height: 24px; color: #fff; }
.robo-txt { flex: 1; min-width: 0; } .robo-txt small { display: block; color: var(--suave); margin-top: .15rem; }
.robo-st.on { color: #00A35C !important; } .robo-st.off { color: #D83A52 !important; } .robo-st.pausa { color: #D98300 !important; }
.robo-ir { font-weight: 600; color: var(--azul); white-space: nowrap; }
.robo-novo { border-style: dashed; opacity: .75; }
.robo-titulo { display: flex; align-items: center; gap: .6rem; margin: .5rem 0 1rem; }
.robo-titulo .robo-ic { width: 38px; height: 38px; border-radius: 11px; }

/* 3.1.0 — Gestão de CND no estilo SIEG */
.cnd-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0 0 18px}
.cnd-auto-item{display:flex;gap:10px;align-items:flex-start;background:var(--superficie);border:1px solid var(--linha);border-radius:12px;padding:10px 12px}
.cnd-auto-item>div{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.86rem}
.cnd-auto-item small{color:var(--suave);font-size:.74rem;text-transform:uppercase;letter-spacing:.03em}
.cnd-auto-item span{color:var(--suave);font-size:.8rem;overflow:hidden;text-overflow:ellipsis}
.cnd-auto-item form{margin:0}
.cnd-auto-item .link{background:none;border:0;padding:0;color:var(--azul);cursor:pointer;font:inherit;font-weight:600;text-align:left}
.cnd-auto-ic{flex:0 0 32px;height:32px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--cor) 16%,transparent);color:var(--cor)}
.cnd-auto-ic svg{width:18px;height:18px}
.cnd-cab{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.cnd-cab h2{margin:0 0 4px}.cnd-cab p{margin:0;color:var(--suave);max-width:640px}
.cnd-periodo{display:flex;flex-direction:column;font-size:.78rem;color:var(--suave);border-left:3px solid #579BFC;padding-left:10px}
.cnd-periodo b{color:inherit}
.cnd-abas{display:flex;gap:2px;border-bottom:1px solid var(--linha);margin:8px 0 14px;overflow-x:auto}
.cnd-abas a{padding:9px 14px;white-space:nowrap;color:var(--suave);text-decoration:none;border-bottom:3px solid transparent;font-weight:600;font-size:.9rem}
.cnd-abas a.ativa{color:var(--azul);border-bottom-color:var(--azul)}
.cnd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:14px}
.cnd-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;border:1px solid var(--linha);background:var(--superficie);text-decoration:none;color:inherit;border-left:4px solid #579BFC}
.cnd-card.ok{border-left-color:#00C875}.cnd-card.ruim{border-left-color:#E2445C}.cnd-card.outros{border-left-color:#FDAB3D}
.cnd-card small{font-size:.8rem;color:var(--suave);font-weight:600}
.cnd-card b{font-size:1.7rem;line-height:1.1}
.cnd-quebra{font-size:.68rem;color:var(--suave);line-height:1.35}
.cnd-barra-ferr{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.cnd-busca{display:flex;gap:8px;flex-wrap:wrap;flex:1 1 320px}
.cnd-busca input{flex:1 1 220px}
.cnd-barra-ferr .linha-botoes{display:flex;gap:8px;flex-wrap:wrap}.cnd-barra-ferr .linha-botoes form{margin:0}
.cnd-empresas{display:flex;flex-direction:column;gap:6px}
.cnd-emp{border:1px solid var(--linha);border-radius:10px;background:var(--superficie)}
.cnd-emp>summary{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;flex-wrap:wrap;list-style:none}
.cnd-emp>summary::-webkit-details-marker{display:none}
.cnd-emp-nome{display:flex;flex-direction:column;min-width:0}.cnd-emp-nome small{color:var(--suave)}
.cnd-tags{display:flex;gap:6px;flex-wrap:wrap}
.cnd-tag{font-size:.76rem;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid}
.cnd-tag.regular{color:var(--verde);border-color:#00C875;background:#00C8751a}
.cnd-tag.irregular{color:var(--perigo);border-color:#E2445C;background:#E2445C14}
.cnd-tag.outros{color:#a86400;border-color:#FDAB3D;background:#FDAB3D1f}
.cnd-emp-det{border-top:1px solid var(--linha);padding:6px 14px 10px;margin:0}
.cnd-det-linha{display:grid;grid-template-columns:150px 150px 1fr auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--linha);font-size:.86rem}
.cnd-det-linha:last-child{border-bottom:0}
.cnd-det-tipo{font-weight:600}.cnd-det-info{color:var(--suave)}
.cnd-det-acoes{display:flex;gap:6px;justify-content:flex-end}
.cnd-tab-tipo td small{display:block;color:var(--suave);font-size:.76rem}
.cnd-tab-tipo th.c,.cnd-tab-tipo td.c{text-align:center}
.cnd-barra-sel{display:flex;gap:8px;align-items:center;padding:8px 12px;margin-bottom:8px;border-radius:10px;background:color-mix(in srgb,#579BFC 12%,transparent)}
.cnd-barra-sel[hidden]{display:none}
@media (max-width:700px){.cnd-det-linha{grid-template-columns:1fr 1fr}.cnd-det-info{grid-column:1/-1}.cnd-det-acoes{grid-column:1/-1;justify-content:flex-start}}
.cnd-barra-sel{color:var(--texto);font-size:.88rem}
.cnd-busca{flex-wrap:nowrap;align-items:center}
.cnd-busca input[type=search]{width:auto;min-width:0;margin:0}
.cnd-busca select{width:auto;flex:0 0 220px;margin:0}
@media (max-width:700px){.cnd-busca{flex-wrap:wrap}.cnd-busca select{flex:1 1 100%}}

.robos-grade{grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}
.robo-card .robo-txt{flex:1;min-width:0}
@media (max-width:520px){.robos-grade{grid-template-columns:1fr}}

/* 3.1.2 — Gestão de CND: ícones de linha leves (sem emoji) e fila mais informativa */
.cnd-tarefa-ic,.cnd-ag-ic{flex:0 0 40px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:0;background:color-mix(in srgb,var(--cor) 14%,transparent);color:var(--cor)}
.cnd-tarefa-ic .icone,.cnd-ag-ic .icone{width:20px;height:20px;stroke-width:1.6}
.cnd-num{font-weight:500;color:var(--suave);font-size:.85em;margin-left:.25rem}
.cnd-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin:.3rem 0 0;padding:0;font-size:.8rem;color:var(--suave)}
.cnd-meta li{display:inline-flex;align-items:center;gap:.3rem;min-width:0}
.cnd-meta .icone{width:14px;height:14px;stroke-width:1.6;opacity:.85}
.cnd-msg{display:flex;gap:.5rem;align-items:flex-start;margin:.6rem 0 .2rem;padding:.55rem .75rem;border-radius:10px;font-size:.86rem;background:color-mix(in srgb,#579BFC 9%,transparent);color:var(--texto);word-break:break-word}
.cnd-msg .icone{width:17px;height:17px;margin-top:.1rem;color:#579BFC}
.cnd-msg.msg-erro{background:color-mix(in srgb,#E2445C 9%,transparent)}.cnd-msg.msg-erro .icone{color:#E2445C}
.cnd-msg.msg-concluida{background:color-mix(in srgb,#00C875 10%,transparent)}.cnd-msg.msg-concluida .icone{color:#00A35C}
.cnd-tag{display:inline-flex;align-items:center;gap:.25rem}
.cnd-tag .icone{width:13px;height:13px;stroke-width:2}
.cnd-auto-item .link{display:inline-flex;align-items:center;gap:.3rem}
.cnd-auto-item .icone{width:15px;height:15px}
.cnd-auto-ic .icone{width:18px;height:18px;stroke-width:1.6}
.cnd-auto-item span{display:flex;align-items:center;gap:.3rem}
.cnd-periodo b{display:inline-flex;align-items:center;gap:.3rem}.cnd-periodo .icone{width:14px;height:14px}
.cnd-alerta .icone,.cnd-fila-chip .icone{width:16px;height:16px;vertical-align:-3px}
.cnd-ag-txt small .icone{width:13px;height:13px;vertical-align:-2px}
.botao.pequeno .icone{width:15px;height:15px;stroke-width:1.7}
.cnd-tab-tipo .botao.pequeno{padding:.35rem .5rem;line-height:0}
.robo-luz{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:.35rem;vertical-align:1px;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%,transparent)}
.robo-st{display:inline-flex;align-items:center}

/* 3.1.7 — botão Buscar na Gestão de CND e ajuda do agendamento */
.cnd-btn-buscar{flex:0 0 auto;white-space:nowrap;margin:0}
.cnd-ag-ajuda{margin:.2rem 0 .6rem;font-size:.82rem}
@media (max-width:700px){.cnd-btn-buscar{flex:1 1 auto}}
/* 3.1.8 — Gestão de CND: filtro por letra e páginas */
.cnd-letras{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px}
.cnd-letras a,.cnd-letras span{min-width:30px;height:30px;padding:0 8px;display:inline-grid;place-items:center;border-radius:8px;font-size:.84rem;font-weight:600;text-decoration:none}
.cnd-letras a{color:var(--texto);border:1px solid var(--linha);background:var(--superficie)}
.cnd-letras a:hover{border-color:var(--azul);color:var(--azul)}
.cnd-letras a.ativa{background:var(--azul);border-color:var(--azul);color:#fff}
.cnd-letras span{color:var(--suave);opacity:.4}
.cnd-paginas{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:14px 0 4px}
.cnd-paginas a,.cnd-paginas span{min-width:36px;height:36px;padding:0 10px;display:inline-grid;place-items:center;border-radius:9px;font-weight:600;font-size:.88rem;text-decoration:none}
.cnd-paginas a{border:1px solid var(--linha);background:var(--superficie);color:var(--texto)}
.cnd-paginas a.ativa{background:var(--azul);border-color:var(--azul);color:#fff}
.cnd-paginas span{color:var(--suave)}
#cnd-lista{scroll-margin-top:90px}
/* 3.1.8 — abas de tipo da Gestão de CND como botões leves */
.cnd-abas{display:flex;flex-wrap:wrap;gap:6px;border-bottom:0;margin:10px 0 16px;padding:5px;background:color-mix(in srgb,var(--suave) 9%,transparent);border-radius:14px;overflow:visible}
.cnd-abas a{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:10px;border:1px solid transparent;border-bottom:1px solid transparent;color:var(--texto);font-weight:600;font-size:.88rem;text-decoration:none;transition:background .15s,box-shadow .15s,color .15s}
.cnd-abas a:hover{background:var(--superficie);color:var(--cor)}
.cnd-abas a.ativa{background:var(--superficie);border-color:color-mix(in srgb,var(--cor) 45%,transparent);color:var(--cor);box-shadow:0 2px 8px rgba(18,35,58,.08)}
.cnd-abas a .icone{width:16px;height:16px;color:var(--cor)}
.cnd-aba-ponto{width:9px;height:9px;border-radius:50%;background:var(--cor);flex:none}
.cnd-abas em{font-style:normal;font-size:.74rem;font-weight:700;min-width:22px;padding:1px 7px;border-radius:999px;text-align:center;background:color-mix(in srgb,var(--cor) 14%,transparent);color:var(--cor)}
.cnd-aba-irr{font-size:.7rem;font-weight:700;min-width:18px;padding:1px 6px;border-radius:999px;background:#E2445C;color:#fff;text-align:center}
@media (max-width:700px){.cnd-abas{flex-wrap:nowrap;overflow-x:auto}.cnd-abas a{white-space:nowrap}}
/* 3.1.9 — motivo de não emissão e "Emitir manual" */
.cnd-motivo{display:inline-flex;align-items:flex-start;gap:.3rem;color:#c0283f;font-weight:500}
.cnd-motivo .icone{width:14px;height:14px;margin-top:.15rem;flex:none}
.cnd-det-info small{display:block;color:var(--suave);font-size:.78rem;margin-top:.1rem}
.cnd-tab-tipo td small.cnd-motivo{display:block;max-width:260px;font-size:.76rem}
.cnd-manual{color:var(--azul)}
.cnd-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;background:var(--texto);color:var(--superficie);padding:.65rem 1rem;border-radius:10px;font-size:.88rem;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.cnd-site-st{display:inline-flex;align-items:center;gap:.25rem;font-weight:500;margin-left:.3rem}
.cnd-site-st .icone{width:13px;height:13px}.cnd-site-st.ok{color:#00A35C}.cnd-site-st.ruim{color:#c0283f}
/* 3.2.0 — botões da CND em colunas fixas (sempre alinhados) e anexo manual */
.cnd-acoes{display:grid;grid-template-columns:repeat(4,112px);gap:6px;justify-content:end;align-items:center}
.cnd-acoes .cnd-slot{width:100%;min-height:32px;justify-content:center;margin:0;white-space:nowrap}
.cnd-acoes span.cnd-slot{display:block}
.cnd-acoes.curto{grid-template-columns:repeat(4,34px);gap:5px;justify-content:center}
.cnd-acoes.curto .cnd-slot{padding:.35rem 0;line-height:0}
.cnd-det-linha{grid-template-columns:150px 150px 1fr auto}
.cnd-acoes-leg{display:block;font-weight:400;font-size:.68rem;color:var(--suave)}
.cnd-manual-ok{display:inline-flex;align-items:center;gap:.3rem;color:#00A35C;font-weight:600}
.cnd-manual-ok .icone{width:14px;height:14px}
.cnd-tab-tipo td small.cnd-manual-ok{display:block;font-size:.76rem;font-weight:500}
.cnd-dialogo{border:0;border-radius:16px;padding:0;max-width:520px;width:calc(100% - 32px);background:var(--superficie);color:var(--texto);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.cnd-dialogo::backdrop{background:rgba(18,35,58,.45)}
.cnd-dialogo form{padding:18px 20px}
.cnd-dialogo h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .4rem}
.cnd-dialogo code{font-size:.8rem;word-break:break-all}
.cnd-dialogo .linha-campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:900px){.cnd-det-linha{grid-template-columns:1fr 1fr}.cnd-det-info{grid-column:1/-1}.cnd-det-linha .cnd-acoes{grid-column:1/-1;justify-content:start;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}}
.cnd-auto-robo p{margin:0 0 .4rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.cnd-auto-robo p .icone{width:15px;height:15px;vertical-align:-2px}
.cnd-auto-robo .nota{display:block;margin-top:.35rem}
/* 3.2.0 — ajuste de larguras: texto do meio com espaço, botões iguais */
.cnd-det-linha{grid-template-columns:118px 150px minmax(200px,1fr) auto;gap:12px}
.cnd-acoes{grid-template-columns:repeat(4,96px)}
.cnd-acoes .cnd-slot{padding-left:.4rem;padding-right:.4rem;gap:.3rem}
.cnd-motivo,.cnd-manual-ok{display:block}
.cnd-motivo .icone,.cnd-manual-ok .icone{display:inline-block;vertical-align:-2px;margin-right:.2rem}
@media (max-width:1100px){.cnd-det-linha{grid-template-columns:118px 150px 1fr}.cnd-det-linha .cnd-acoes{grid-column:1/-1;justify-content:end}}
@media (max-width:600px){.cnd-det-linha{grid-template-columns:1fr 1fr}.cnd-det-linha .cnd-acoes{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}}
@media (max-width:600px){.cnd-det-linha .cnd-acoes span.cnd-slot{display:none}}
/* 3.2.1 — menos poluição visual no painel da CND (sem título/descrição e sem barra de letras) */
.cnd-cab{justify-content:flex-end;margin-bottom:6px}
/* 3.2.1 — faixa de automação compacta */
.cnd-auto{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:0 0 12px}
.cnd-auto-item{align-items:center;gap:10px;padding:8px 10px;border-radius:12px}
.cnd-auto-item>div{flex:1;gap:0;min-width:0}
.cnd-auto-item>div small{font-size:.68rem;letter-spacing:.04em;line-height:1.2}
.cnd-auto-item>div b{font-size:.9rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}
.cnd-auto-ic{flex:0 0 32px;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--cor) 15%,transparent);color:var(--cor)}
.cnd-auto-ic .icone{width:17px;height:17px;stroke:currentColor;color:var(--cor)}
.cnd-auto-item form{margin:0;flex:none}
.cnd-auto-btn{flex:none;display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .55rem;border-radius:8px;border:1px solid var(--linha);background:var(--superficie);color:var(--azul);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.cnd-auto-btn:hover{border-color:var(--azul);background:color-mix(in srgb,var(--azul) 7%,transparent)}
.cnd-auto-btn .icone{width:13px;height:13px}
.cnd-auto-item .robo-luz{width:7px;height:7px;margin-right:.4rem}
.cnd-auto-btn{width:30px;height:30px;padding:0;justify-content:center;border-radius:8px}
.cnd-auto-btn .icone{width:15px;height:15px}
/* 3.2.1 — abas de tipo: 6 botões iguais, tons sóbrios */
.cnd-abas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0;background:none;border-radius:0;margin:8px 0 14px}
.cnd-abas a{justify-content:center;gap:8px;padding:9px 10px;border-radius:10px;border:1px solid var(--linha);background:var(--superficie);color:var(--texto);font-weight:600;font-size:.86rem;box-shadow:none;min-width:0}
.cnd-abas a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cnd-abas a:hover{border-color:var(--azul);color:var(--azul);background:var(--superficie)}
.cnd-abas a.ativa{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:0 2px 6px rgba(18,35,58,.12)}
.cnd-abas em{background:color-mix(in srgb,var(--suave) 14%,transparent);color:var(--suave);font-size:.72rem;padding:1px 7px}
.cnd-abas a.ativa em{background:rgba(255,255,255,.18);color:#fff}
.cnd-aba-irr{background:none;border:1px solid color-mix(in srgb,#B4232F 45%,transparent);color:#B4232F;font-size:.68rem;font-weight:700;padding:0 6px;border-radius:999px}
.cnd-abas a.ativa .cnd-aba-irr{border-color:rgba(255,255,255,.55);color:#fff}
@media (max-width:1100px){.cnd-abas{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.cnd-abas{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 3.2.1 — empresa em pop-up e botões que não recarregam a página */
.cnd-emp-cab{display:flex;width:100%;gap:10px;justify-content:space-between;align-items:center;padding:10px 14px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-wrap:wrap}
.cnd-emp-cab:hover{background:color-mix(in srgb,var(--azul) 5%,transparent)}
.cnd-emp-cab:focus-visible{outline:2px solid var(--azul);outline-offset:-2px}
.cnd-emp-dlg{max-width:1040px}
.cnd-dlg-topo{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--linha);position:sticky;top:0;background:var(--superficie);z-index:1}
.cnd-dlg-topo [data-titulo]{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;flex:1;min-width:0}
.cnd-dlg-x{flex:none;width:34px;height:34px;border-radius:9px;border:1px solid var(--linha);background:var(--superficie);color:var(--texto);font-size:1.3rem;line-height:1;cursor:pointer}
.cnd-dlg-x:hover{border-color:var(--azul);color:var(--azul)}
.cnd-emp-dlg .cnd-emp-det{border-top:0;padding:6px 18px 14px;margin:0}
.cnd-emp-dlg{max-height:calc(100vh - 40px);overflow:auto}
.cnd-enviando{opacity:.6;cursor:progress}
.cnd-feito{opacity:.85}
.cnd-toast.erro{background:#B4232F;color:#fff}
/* 3.2.1 — status "Não emitida" */
.cnd-cel.est-nao{color:#5b6472;background:transparent;border:1px dashed #9aa3af;font-weight:600}
.cnd-tag.nao{color:#4b5563;border-color:#9aa3af;background:color-mix(in srgb,#9aa3af 12%,transparent)}
.cnd-tab-tipo td small.cnd-orgao{display:block;color:var(--suave);font-size:.76rem}
/* 3.2.1 — botões das certidões: grupo compacto, sóbrio, encostado à direita */
.cnd-acoes,.cnd-acoes.curto{display:inline-flex;grid-template-columns:none;gap:0;justify-content:flex-end;align-items:stretch;border:1px solid var(--linha);border-radius:9px;overflow:hidden;background:var(--superficie);justify-self:end;width:auto}
.cnd-acoes:empty{display:none}
.cnd-bt{display:inline-flex;align-items:center;gap:.3rem;height:30px;padding:0 .6rem;border:0;border-left:1px solid var(--linha);background:none;color:var(--texto);font:inherit;font-size:.78rem;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.cnd-bt:first-child{border-left:0}
.cnd-bt .icone{width:14px;height:14px;color:var(--suave)}
.cnd-bt:hover{background:color-mix(in srgb,var(--azul) 7%,transparent);color:var(--azul)}
.cnd-bt:hover .icone{color:var(--azul)}
.cnd-bt.cnd-feito,.cnd-bt.cnd-feito .icone{color:#0f7a4b}
.cnd-acoes.curto .cnd-bt{width:30px;padding:0;justify-content:center}
.cnd-det-linha .cnd-acoes{grid-column:auto}
.cnd-det-linha{grid-template-columns:118px 150px minmax(220px,1fr) auto}
@media (max-width:1100px){.cnd-det-linha{grid-template-columns:118px 150px 1fr}.cnd-det-linha .cnd-acoes{grid-column:1/-1;justify-self:end}}
@media (max-width:600px){.cnd-det-linha{grid-template-columns:1fr 1fr}.cnd-det-linha .cnd-acoes{justify-self:stretch;display:flex}.cnd-det-linha .cnd-bt{flex:1;justify-content:center}}
.cnd-th-acoes,.cnd-td-acoes{text-align:right;white-space:nowrap}

/* 3.3.0 — Importar do Sis e arquivos da ata */
.sis-form{display:flex;flex-direction:column;gap:1rem}
.sis-topo{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between;padding:.8rem 1rem;border:1px solid var(--linha);border-radius:12px;background:var(--superficie)}
.sis-numeros{display:flex;flex-wrap:wrap;gap:.4rem}
.sis-numeros span{font-size:.8125rem;padding:.25rem .65rem;border:1px solid var(--linha);border-radius:999px;color:var(--suave)}
.sis-numeros b{color:var(--texto)}
.sis-pessoas td{vertical-align:top}
.sis-pessoas td small{display:block;color:var(--suave);font-size:.75rem;margin-top:.15rem}
.sis-pessoas select{font-size:.8125rem;padding:.3rem .45rem;max-width:15rem}
.sis-pessoas select:disabled{opacity:.45}
.sis-pessoas tr.sis-pular td:first-child b{text-decoration:line-through;color:var(--suave)}
.sis-pessoas tr.sis-feito{opacity:.7}
.sis-par{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.35rem 0;border-bottom:1px solid var(--linha)}
.sis-par:last-child{border-bottom:0}
.sis-par span small{color:var(--suave);margin-left:.3rem}
.sis-par select{font-size:.8125rem;padding:.3rem .45rem;max-width:16rem}
.sis-opcoes{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:flex-end}
.sis-opcoes label:not(.caixa){max-width:14rem}
.sis-futuros ul{margin:.4rem 0 0 1.1rem;font-size:.8125rem;columns:2;column-gap:2rem}
.sis-futuros small{color:var(--suave)}
.sis-relatorio summary{cursor:pointer}
.sis-lista{margin:.5rem 0 0 1.1rem;display:flex;flex-direction:column;gap:.3rem;font-size:.875rem}
.sis-passos{margin-left:1.1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.875rem}
.ata-arq-lista{list-style:none;padding:0;margin:0 0 .6rem;display:flex;flex-direction:column;gap:.35rem}
.ata-arq-lista a{display:inline-flex;align-items:center;gap:.35rem;font-weight:500}
.ata-arq-lista a svg{width:15px;height:15px}
.ata-arq-enviar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.8125rem}
@media (max-width:700px){.sis-futuros ul{columns:1}.sis-par{flex-direction:column;align-items:stretch}.sis-par select{max-width:none}}

/* 3.4.0 — cor de cada sala (Configurações → Locais) */
.sala-cartao { --cor-sala: var(--dourado); }
.sala-cartao .sala-icone, .sala-icone[style*="--cor-sala"] { background: color-mix(in srgb, var(--cor-sala) 16%, var(--superficie)); color: var(--cor-sala); }
.sala-cartao:hover { border-color: var(--cor-sala); }
.sala-cartao.ativa { border-color: var(--cor-sala); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor-sala) 18%, transparent); }
.sala-cartao.ativa .sala-icone { background: var(--cor-sala); color: #fff; }
.cor-local { width: 34px; height: 30px; padding: 2px; border-radius: 8px; border: 1px solid var(--linha); background: var(--superficie); cursor: pointer; flex: none; }
.sis-sub{margin-left:1.6rem}
.sis-radios{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:center;font-size:.875rem}
.sis-radios > span{flex-basis:100%;color:var(--suave)}

/* ===== 3.4.0 — cabeçalho compacto (Voltar · título · abas numa linha) ===== */
.pagina-compacta .cab-compacto { display: flex; align-items: center; gap: .4rem 1rem; flex-wrap: wrap; margin: 0 0 .7rem; border-bottom: 1px solid var(--linha); }
.pagina-compacta .cab-compacto .voltar-pagina { margin: 0; padding: .3rem; width: 32px; height: 32px; justify-content: center; }
.pagina-compacta .cab-compacto .voltar-pagina span { display: none; }
.pagina-compacta .cab-compacto > h1 { font-size: 1.2rem; margin: 0; gap: .5rem; flex-wrap: nowrap; }
.pagina-compacta .cab-compacto > h1::after { display: none !important; }
.pagina-compacta .cab-compacto .h1-icone { width: 32px; height: 32px; border-radius: 9px; }
.pagina-compacta .cab-compacto .h1-icone .icone { width: 18px; height: 18px; }
.pagina-compacta .cab-compacto .abas { border-bottom: 0; margin: 0 0 0 auto; }
.pagina-compacta .cab-compacto .abas a { padding: .55rem .8rem; font-size: .875rem; margin-bottom: -1px; }
.pagina-compacta .cab-compacto .abas .icone { width: 16px; height: 16px; }
@media (max-width: 700px) { .pagina-compacta .cab-compacto .abas { margin-left: 0; width: 100%; } }

/* ===== 3.4.0 — Agenda nova ===== */
.ag-barra { display: flex; flex-direction: column; gap: .45rem; margin-bottom: .55rem; }
.ag-linha { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .8rem; }
.ag-linha > .ag-celular { margin-left: auto; }
.ag-linha > [data-novo]:first-child, .ag-linha > .ag-vistas + [data-novo] { margin-left: auto; }
.ag-nav, .ag-filtros { display: flex; align-items: center; gap: .35rem; flex-wrap: wrap; }
.ag-linha2 .ag-legenda { flex: 1; margin: 0; min-width: 0; }
.ag-bt { height: 32px; padding: 0 .7rem; border-radius: 8px; border: 1px solid var(--linha); background: var(--superficie); color: var(--texto); font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; text-decoration: none; }
.ag-bt:hover { border-color: var(--azul); color: var(--azul); text-decoration: none; }
.ag-bt .icone { width: 15px; height: 15px; }
.ag-bt.ag-ic { width: 32px; padding: 0; justify-content: center; font-size: 1.1rem; }
.ag-bt.ag-primario { background: var(--azul); border-color: var(--azul); color: var(--botao-texto, #fff); }
.ag-bt.ag-primario:hover { filter: brightness(1.08); color: var(--botao-texto, #fff); }
.ag-bt.ag-perigo { color: var(--perigo); }
.ag-bt.ag-perigo:hover { border-color: var(--perigo); }
.ag-periodo { position: relative; display: inline-flex; align-items: center; cursor: pointer; margin-left: .25rem; }
.ag-periodo b { font-size: 1rem; font-weight: 700; white-space: nowrap; }
.ag-periodo b::after { content: "▾"; font-size: .7rem; color: var(--suave); margin-left: .3rem; }
.ag-periodo input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.ag-vistas { display: inline-flex; border: 1px solid var(--linha); border-radius: 8px; overflow: hidden; background: var(--superficie); }
.ag-vistas button { height: 30px; padding: 0 .75rem; border: 0; background: none; font: inherit; font-size: .8125rem; font-weight: 600; color: var(--suave); cursor: pointer; }
.ag-vistas button + button { border-left: 1px solid var(--linha); }
.ag-vistas button.ativa { background: var(--azul-suave); color: var(--azul); }
.ag-sel, select.ag-sel { height: 32px; padding: 0 1.6rem 0 .55rem; font-size: .8125rem; border-radius: 8px; width: auto; max-width: 10.5rem; }
.ag-chip-mais { border: 0; background: none; font: inherit; font-size: .6875rem; font-weight: 700; color: var(--azul); text-align: left; padding: 0 6px; cursor: pointer; }
.ag-pessoas { position: relative; }
.ag-pessoas.ativo > .ag-bt { border-color: var(--azul); color: var(--azul); background: var(--azul-suave); }
.ag-menu { position: absolute; left: 0; top: calc(100% + 4px); z-index: 40; width: 300px; max-width: calc(100vw - 24px); max-height: min(420px, 70vh); display: flex; flex-direction: column; gap: .35rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: 12px; box-shadow: 0 12px 30px rgba(18,35,58,.18); padding: .55rem; }
.ag-menu[hidden] { display: none; }
.ag-menu input[type=search] { height: 34px; font-size: .8125rem; margin: 0; }
.ag-menu-atalhos { display: flex; align-items: center; gap: .8rem; padding: 0 .2rem; font-size: .75rem; }
.ag-menu-atalhos [data-pessoas-qtd] { flex: 1; color: var(--suave); }
.ag-menu-lista { overflow: auto; margin: 0 -.2rem; padding: 0 .2rem; }
.ag-menu-grupo { display: block; font-size: .6875rem; font-weight: 700; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; padding: .55rem .35rem .2rem; }
.ag-menu-lista label.ag-pessoa { display: flex; flex-direction: row; align-items: center; gap: .5rem; padding: .3rem .4rem; margin: 0; border-radius: 8px; font-size: .8125rem; font-weight: 500; color: var(--texto); cursor: pointer; white-space: nowrap; }
.ag-menu-lista label.ag-pessoa[hidden] { display: none; }
.ag-menu-lista label.ag-pessoa:hover { background: var(--realce); }
.ag-pessoa input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ag-pessoa .avatar.mini { width: 26px; height: 26px; font-size: .625rem; flex: none; }
.ag-pessoa-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ag-pessoa-nome small { color: var(--suave); font-weight: 400; }
.ag-pessoa-ok { width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid var(--linha); flex: none; display: grid; place-items: center; }
.ag-pessoa input:checked ~ .ag-pessoa-ok { background: var(--azul); border-color: var(--azul); }
.ag-pessoa input:checked ~ .ag-pessoa-ok::after { content: ""; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) translate(-1px, -1px); }
.ag-pessoa:has(input:checked) { background: var(--azul-suave); }
.ag-pessoa input:focus-visible ~ .ag-pessoa-ok { outline: 2px solid var(--azul); outline-offset: 2px; }
.avatar.mini { width: 22px; height: 22px; font-size: .5625rem; }

.ag-legenda { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; min-height: 26px; }
.ag-leg { display: inline-flex; align-items: center; gap: .35rem; height: 24px; padding: 0 .55rem; border-radius: 999px; border: 1px solid var(--linha); background: var(--superficie); font: inherit; font-size: .75rem; color: var(--texto); cursor: pointer; }
.ag-leg i { width: 9px; height: 9px; border-radius: 3px; background: var(--c); }
.ag-leg small { color: var(--suave); }
.ag-leg.off { opacity: .45; text-decoration: line-through; }
.ag-leg-esp { flex: 1; }
.ag-leg.ag-fds { cursor: pointer; flex-direction: row; margin: 0; font-weight: 400; }
.ag-leg.ag-fds input { margin: 0; width: 13px !important; height: 13px; min-height: 0; padding: 0; flex: none; accent-color: var(--azul); }

.ag { position: relative; }
.ag.carregando::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--azul), transparent); background-size: 50% 100%; animation: ag-car 1s linear infinite; z-index: 30; }
@keyframes ag-car { from { background-position: -50% 0; } to { background-position: 150% 0; } }
.ag-vazio { text-align: center; color: var(--suave); font-size: .875rem; margin: .8rem 0 0; }

/* grade (dia e semana) */
.ag-grade { border: 1px solid var(--linha); border-radius: 14px; background: var(--superficie); overflow: hidden; user-select: none; }
.ag-cab, .ag-faixa { display: grid; grid-template-columns: 54px repeat(var(--cols), minmax(0, 1fr)); border-bottom: 1px solid var(--linha); }
.ag-dia-cab { border: 0; border-left: 1px solid var(--linha); background: none; font: inherit; color: var(--texto); padding: .35rem .2rem; display: flex; align-items: center; justify-content: center; gap: .4rem; cursor: pointer; }
.ag-dia-cab span { font-size: .75rem; color: var(--suave); font-weight: 600; text-transform: capitalize; }
.ag-dia-cab b { display: inline-grid; place-items: center; min-width: 28px; height: 28px; border-radius: 50%; font-size: 1rem; }
.ag-dia-cab:hover b { background: var(--realce); }
.ag-dia-cab.hoje b { background: var(--azul); color: var(--botao-texto, #fff); }
.ag-dia-cab.hoje span { color: var(--azul); }
.ag-dia-cab.passado { opacity: .7; }
.ag-dia-cab.pessoa { cursor: default; justify-content: flex-start; padding: .4rem .5rem; gap: .45rem; overflow: hidden; }
.ag-dia-cab.pessoa em { font-style: normal; font-weight: 600; color: var(--texto); font-size: .8125rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ag-dia-cab .ag-av { display: inline-grid; font-size: .625rem; color: var(--azul); }
.ag-faixa { background: var(--superficie-2); }
.ag-faixa-rot { font-size: .6875rem; color: var(--suave); display: grid; place-items: center; }
.ag-faixa-dia { border-left: 1px solid var(--linha); padding: 3px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ag-chip { display: flex; gap: .35rem; align-items: baseline; width: 100%; min-width: 0; border: 0; border-radius: 5px; padding: 2px 6px; font: inherit; font-size: .6875rem; text-align: left; cursor: pointer; color: var(--texto);
  background: color-mix(in srgb, var(--c) 16%, var(--superficie)); box-shadow: inset 3px 0 0 var(--c); }
.ag-chip b { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-chip span { color: var(--suave); white-space: nowrap; flex: none; }
.ag-chip.t-ausencia, .ag-ev.t-ausencia, .ag-chip.t-particular, .ag-ev.t-particular { background-image: repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--c) 12%, transparent) 6px 12px); }
.ag-corpo { display: grid; grid-template-columns: 54px repeat(var(--cols), minmax(0, 1fr)); overflow-y: auto; overflow-x: hidden; position: relative; }
.ag-horas { position: relative; }
.ag-hora { height: var(--hora); position: relative; }
.ag-hora span { position: absolute; top: -7px; right: 8px; font-size: .6875rem; color: var(--suave); font-variant-numeric: tabular-nums; }
.ag-hora:first-child span { top: 2px; }
.ag-col { position: relative; border-left: 1px solid var(--linha);
  background-image: linear-gradient(to bottom, var(--linha) 1px, transparent 1px), linear-gradient(to bottom, transparent calc(var(--hora) / 2), color-mix(in srgb, var(--linha) 55%, transparent) calc(var(--hora) / 2), color-mix(in srgb, var(--linha) 55%, transparent) calc(var(--hora) / 2 + 1px), transparent calc(var(--hora) / 2 + 1px));
  background-size: 100% var(--hora); }
.ag-col.passado, .ag-col.fds { background-color: var(--superficie-2); }
.ag-col.hoje { background-color: color-mix(in srgb, var(--azul-suave) 30%, transparent); }
[data-editavel="1"] .ag-col:not(.passado) { cursor: cell; }
.ag-ev { position: absolute; overflow: hidden; border-radius: 7px; padding: 3px 7px 3px 8px; font-size: .75rem; line-height: 1.25; color: var(--texto); cursor: pointer; text-align: left;
  background: color-mix(in srgb, var(--c) 15%, var(--superficie)); box-shadow: inset 3px 0 0 var(--c), 0 0 0 1px color-mix(in srgb, var(--superficie) 85%, transparent); transition: box-shadow .12s, filter .12s; }
.ag-ev:hover, .ag-ev:focus-visible { z-index: 20 !important; box-shadow: inset 3px 0 0 var(--c), 0 4px 14px rgba(18,35,58,.18); outline: none; }
.ag-ev b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 650; }
.ag-ev.alto b { -webkit-line-clamp: 3; }
.ag-ev-hora { display: block; color: var(--suave); font-size: .6875rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-ev.curto { display: flex; gap: .35rem; align-items: center; padding-top: 1px; padding-bottom: 1px; }
.ag-ev.curto b { -webkit-line-clamp: 1; white-space: nowrap; display: block; text-overflow: ellipsis; flex: 1 1 auto; min-width: 0; }
.ag-ev.curto .ag-ev-hora { flex: none; }
.ag-ev.acabou { opacity: .62; }
.ag-ev.movel { cursor: grab; }
.ag-ev.movendo { opacity: .3; }
.ag-ev-selo { position: absolute; top: 3px; right: 4px; font-style: normal; font-size: .75rem; }
.ag-ev-pessoas { display: flex; gap: 2px; margin-top: 3px; }
.ag-puxar { position: absolute; left: 0; right: 0; bottom: 0; height: 7px; cursor: ns-resize; }
.ag-ev:hover .ag-puxar::after { content: ""; position: absolute; left: 50%; bottom: 2px; width: 18px; margin-left: -9px; height: 3px; border-radius: 2px; background: color-mix(in srgb, var(--c) 60%, transparent); }
.ag-agora { position: absolute; left: 0; right: 0; height: 2px; background: var(--perigo); z-index: 25; pointer-events: none; }
.ag-agora::before { content: ""; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--perigo); }
.ag-selecao { position: absolute; left: 2px; right: 2px; border-radius: 7px; background: color-mix(in srgb, var(--azul) 16%, transparent); border: 2px solid var(--azul); font-size: .6875rem; font-weight: 700; color: var(--azul); padding: 2px 6px; pointer-events: none; z-index: 22; }
.ag-fantasma { position: absolute; left: 2px; right: 2px; border-radius: 7px; background: color-mix(in srgb, var(--c) 20%, transparent); border: 2px dashed var(--c); font-size: .6875rem; padding: 2px 6px; pointer-events: none; z-index: 24; overflow: hidden; }
.ag-fantasma b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-fantasma span { color: var(--c); font-weight: 700; }
body.ag-arrastando, body.ag-arrastando * { cursor: grabbing !important; }

/* avatares pequenos */
.ag-av { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; overflow: hidden; flex: none; background: var(--azul-suave); color: var(--azul); font-size: .625rem; font-weight: 700; }
.ag-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ag-av.xs { width: 18px; height: 18px; font-size: .5rem; box-shadow: 0 0 0 1.5px var(--superficie); }
.ag-av.xs + .ag-av.xs { margin-left: -5px; }
.ag-av.mais { background: var(--superficie-2); color: var(--suave); }
.ag-av.p { width: 24px; height: 24px; }
.ag-av.s { width: 24px; height: 24px; }

/* mês */
.ag-mes { border: 1px solid var(--linha); border-radius: 14px; background: var(--superficie); overflow: auto; display: flex; flex-direction: column; }
.ag-mes-cab, .ag-mes-semana { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); }
.ag-mes-cab { border-bottom: 1px solid var(--linha); position: sticky; top: 0; background: var(--superficie); z-index: 2; }
.ag-mes-cab span { font-size: .75rem; font-weight: 600; color: var(--suave); text-align: center; padding: .4rem; text-transform: capitalize; }
.ag-mes-semana { flex: 1 0 auto; min-height: 112px; }
.ag-mes-semana + .ag-mes-semana { border-top: 1px solid var(--linha); }
.ag-mes-dia { border-left: 1px solid var(--linha); padding: 3px 4px 5px; display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow: hidden; }
.ag-mes-dia.passado:not(.fora) { background: color-mix(in srgb, var(--superficie-2) 60%, transparent); }
.ag-mes-dia:first-child { border-left: 0; }
.ag-mes-dia.fora { background: var(--superficie-2); }
.ag-mes-dia.fora .ag-mes-num { color: var(--suave); }
.ag-mes-num { align-self: flex-start; border: 0; background: none; font: inherit; font-size: .8125rem; font-weight: 700; min-width: 24px; height: 24px; border-radius: 50%; cursor: pointer; color: var(--texto); }
.ag-mes-num:hover { background: var(--realce); }
.ag-mes-dia.hoje .ag-mes-num { background: var(--azul); color: var(--botao-texto, #fff); }
.ag-mes-ev { display: flex; align-items: center; gap: .3rem; border: 0; background: none; font: inherit; font-size: .6875rem; text-align: left; padding: 1px 4px; border-radius: 5px; cursor: pointer; color: var(--texto); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ag-mes-ev:hover { background: color-mix(in srgb, var(--c) 14%, transparent); }
.ag-mes-ev i { width: 7px; height: 7px; border-radius: 50%; background: var(--c); flex: none; }
.ag-mes-ev span { color: var(--suave); flex: none; font-variant-numeric: tabular-nums; }
.ag-mes-mais { border: 0; background: none; font: inherit; font-size: .6875rem; font-weight: 700; color: var(--azul); text-align: left; padding: 0 4px; cursor: pointer; }

/* lista */
.ag-lista { border: 1px solid var(--linha); border-radius: 14px; background: var(--superficie); overflow: auto; padding: .3rem .8rem .8rem; }
.ag-lista-dia { display: flex; align-items: center; gap: .6rem; margin: .8rem 0 .3rem; font-size: .875rem; position: sticky; top: 0; background: var(--superficie); padding: .3rem 0; z-index: 1; }
.ag-lista-dia b { font-size: 1.4rem; min-width: 2rem; text-align: center; }
.ag-lista-dia span { text-transform: capitalize; font-weight: 700; }
.ag-lista-dia small { display: block; font-weight: 400; color: var(--suave); text-transform: none; font-size: .75rem; }
.ag-lista-dia.hoje b, .ag-lista-dia.hoje span { color: var(--azul); }
.ag-lista-ev { display: grid; grid-template-columns: 58px 1fr auto; gap: .7rem; align-items: center; width: 100%; border: 0; background: none; font: inherit; color: var(--texto); text-align: left; padding: .45rem .5rem; border-radius: 9px; cursor: pointer; box-shadow: inset 3px 0 0 var(--c); margin-bottom: 2px; }
.ag-lista-ev:hover { background: color-mix(in srgb, var(--c) 9%, transparent); }
.ag-lista-ev.acabou { opacity: .6; }
.ag-lista-hora { font-size: .8125rem; font-weight: 700; font-variant-numeric: tabular-nums; padding-left: .3rem; }
.ag-lista-hora small { display: block; font-weight: 400; color: var(--suave); }
.ag-lista-txt b { display: block; font-weight: 650; font-size: .875rem; }
.ag-lista-txt small { color: var(--suave); font-size: .75rem; }
.ag-lista-pessoas { display: flex; align-items: center; }

/* pop-up */
.ag-pop { position: fixed; z-index: 60; width: 340px; max-width: calc(100vw - 20px); max-height: calc(100vh - 20px); overflow: auto; background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; box-shadow: 0 18px 44px rgba(18,35,58,.24); padding: .8rem .95rem .9rem; }
.ag-pop[hidden] { display: none; }
.ag-pop.folha { left: 8px !important; right: 8px; bottom: 8px; top: auto !important; width: auto; max-height: 75vh; }
.ag-pop-topo { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.ag-pop-tipo { display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; font-weight: 600; color: var(--c); }
.ag-pop-tipo i { width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
.ag-pop-x { border: 0; background: none; font-size: 1.3rem; line-height: 1; cursor: pointer; color: var(--suave); width: 28px; height: 28px; border-radius: 7px; }
.ag-pop-x:hover { background: var(--realce); color: var(--texto); }
.ag-pop h3 { margin: .3rem 0 .15rem; font-size: 1.05rem; line-height: 1.3; }
.ag-pop-quando { margin: 0 0 .5rem; font-size: .8125rem; color: var(--suave); }
.ag-pop-quando b { color: var(--texto); }
.ag-pop-ficha { display: grid; grid-template-columns: auto 1fr; gap: .2rem .7rem; margin: 0 0 .5rem; font-size: .8125rem; }
.ag-pop-ficha dt { color: var(--suave); }
.ag-pop-ficha dd { margin: 0; }
.ag-pin { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c); margin-right: .35rem; }
.ag-pop-bloco { margin: .45rem 0; }
.ag-pop-bloco > span { display: block; font-size: .6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--suave); margin-bottom: .25rem; }
.ag-pop-pessoas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .25rem .5rem; max-height: 160px; overflow: auto; }
.ag-pop-pessoas li { display: flex; align-items: center; gap: .4rem; font-size: .8125rem; min-width: 0; }
.ag-pop-pessoas li span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-pop-desc { margin: 0; font-size: .8125rem; white-space: pre-line; max-height: 7.5em; overflow: hidden; }
.ag-pop-desc.toda { max-height: none; }
.ag-pop-acoes { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .7rem; padding-top: .6rem; border-top: 1px solid var(--linha); }

.ag-aviso { position: fixed; left: 50%; bottom: 18px; transform: translate(-50%, 140%); z-index: 90; max-width: min(560px, calc(100vw - 24px)); padding: .6rem .9rem; border-radius: 10px; font-size: .875rem; background: var(--marinho); color: #fff; box-shadow: 0 10px 30px rgba(18,35,58,.3); transition: transform .2s; }
.ag-aviso.ver { transform: translate(-50%, 0); }
.ag-aviso.erro { background: var(--perigo); }

@media (max-width: 900px) {
  .ag-filtros { width: 100%; }
  .ag-filtros .ag-sel { flex: 1; max-width: none; }
  .ag-linha > [data-novo] span, .ag-celular span { display: none; }
}
@media (max-width: 700px) {
  .ag-cab, .ag-faixa, .ag-corpo { grid-template-columns: 40px repeat(var(--cols), minmax(0, 1fr)); }
  .ag-dia-cab { flex-direction: column; gap: 0; }
  .ag-hora span { right: 4px; font-size: .625rem; }
  .ag-ev { font-size: .6875rem; padding: 2px 4px 2px 6px; }
  .ag-lista-ev { grid-template-columns: 48px 1fr; }
  .ag-lista-pessoas { display: none; }
  .ag-mes-ev span { display: none; }
}
@media print { .ag-barra, .ag-legenda, .ag-pop { display: none !important; } .ag-corpo { max-height: none !important; overflow: visible; } }

/* ===== 3.4.0 — Atas: arquivo por ano/mês, busca e dois formatos ===== */
.cab-acoes { display: flex; gap: .4rem; margin-left: auto; align-items: center; }
.pagina-compacta .cab-compacto { padding-bottom: .55rem; }
.atas-busca { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .7rem; }
.atas-campo { display: inline-flex; flex-direction: row; align-items: center; gap: .35rem; height: 32px; padding: 0 .55rem; border: 1px solid var(--linha); border-radius: 8px; background: var(--superficie); font-size: .8125rem; color: var(--suave); margin: 0; }
.atas-campo input { border: 0; padding: 0; height: 30px; background: none; font-size: .8125rem; width: auto; min-height: 0; box-shadow: none; margin: 0; }
.atas-campo > span { font-weight: 600; }
.atas-busca select.ag-sel { max-width: 14rem; }
.atas-campo input:focus { outline: none; }
.atas-campo:focus-within { border-color: var(--azul); }
.atas-campo .icone { width: 15px; height: 15px; }
.atas-texto { flex: 1 1 280px; }
.atas-texto input { flex: 1; min-width: 0; }
.atas-atalhos { display: inline-flex; gap: .7rem; font-size: .8125rem; margin-left: .3rem; }
.atas-atalhos a.ativo { font-weight: 700; }
.atas-arquivo { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 1.1rem; align-items: start; }
.atas-mes-sel { display: none; }
.atas-anos { position: sticky; top: 76px; border: 1px solid var(--linha); border-radius: 12px; background: var(--superficie); padding: .45rem; display: flex; flex-direction: column; gap: 2px; max-height: calc(100vh - 100px); overflow: auto; }
.atas-anos a, .atas-anos summary { display: flex; justify-content: space-between; align-items: center; padding: .32rem .5rem; border-radius: 7px; font-size: .8125rem; color: var(--texto); text-decoration: none; cursor: pointer; }
.atas-anos summary { list-style: none; font-size: .875rem; }
.atas-anos summary::-webkit-details-marker { display: none; }
.atas-anos summary::before { content: "›"; color: var(--suave); margin-right: .35rem; transition: transform .15s; display: inline-block; }
.atas-anos details[open] summary::before { transform: rotate(90deg); }
.atas-anos summary b { flex: 1; }
.atas-anos details a { padding-left: 1.45rem; }
.atas-anos small { color: var(--suave); font-size: .75rem; font-variant-numeric: tabular-nums; }
.atas-anos a:hover, .atas-anos summary:hover { background: var(--realce); }
.atas-anos a.ativo { background: var(--azul-suave); color: var(--azul); font-weight: 700; }
.atas-tudo { font-weight: 600; }
.atas-resumo { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; font-size: .8125rem; color: var(--suave); margin-bottom: .35rem; }
.atas-resumo b { color: var(--texto); }
.atas-resumo-dir { display: inline-flex; align-items: center; gap: .8rem; }
.atas-ordem { font-size: .8125rem; }
.atas-mes { font-size: .9375rem; margin: 1rem 0 .45rem; display: flex; align-items: baseline; gap: .4rem; }
.atas-mes span { color: var(--suave); font-weight: 500; }
.atas-mes:first-of-type { margin-top: .3rem; }
.atas-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .55rem; }
.ata-ficha { display: flex; gap: .75rem; padding: .7rem .8rem; border: 1px solid var(--linha); border-radius: 12px; background: var(--superficie); color: var(--texto); text-decoration: none; transition: border-color .12s, box-shadow .12s; min-width: 0; }
.ata-ficha:hover { border-color: var(--azul); box-shadow: 0 4px 14px rgba(18,35,58,.08); text-decoration: none; color: var(--texto); }
.ata-ficha.rascunho { border-style: dashed; }
.ata-ficha-data { flex: none; width: 46px; height: 52px; border-radius: 10px; background: var(--azul-suave); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; }
.ata-ficha-data b { font-size: 1.2rem; color: var(--azul); }
.ata-ficha-data small { font-size: .6875rem; color: var(--suave); text-transform: uppercase; }
.ata-ficha-corpo { display: flex; flex-direction: column; gap: .15rem; min-width: 0; flex: 1; }
.ata-ficha-corpo > b { font-size: .875rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ata-ficha-corpo > small { color: var(--suave); font-size: .75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ata-ficha-pe { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-top: .3rem; flex-wrap: wrap; }
.ata-ficha-pessoas { display: flex; align-items: center; }
.ata-ficha-pessoas .avatar.mini { width: 22px; height: 22px; font-size: .5625rem; box-shadow: 0 0 0 2px var(--superficie); }
.ata-ficha-pessoas .avatar.mini + .avatar.mini { margin-left: -6px; }
.avatar.mini.mais { background: var(--superficie-2); color: var(--suave); }
.ata-ficha-selos { display: flex; flex-wrap: wrap; gap: .45rem; font-size: .75rem; color: var(--suave); align-items: center; }
.ata-ficha-selos .selo { font-size: .6875rem; padding: .05rem .45rem; }
/* formato lista */
.atas-conteudo.modo-lista .atas-grade { grid-template-columns: 1fr; gap: 0; border: 1px solid var(--linha); border-radius: 12px; overflow: hidden; background: var(--superficie); }
.atas-conteudo.modo-lista .ata-ficha { border: 0; border-radius: 0; border-bottom: 1px solid var(--linha); padding: .45rem .75rem; align-items: center; }
.atas-conteudo.modo-lista .ata-ficha:last-child { border-bottom: 0; }
.atas-conteudo.modo-lista .ata-ficha:hover { box-shadow: none; background: var(--realce); }
.atas-conteudo.modo-lista .ata-ficha-data { width: 40px; height: 40px; }
.atas-conteudo.modo-lista .ata-ficha-data b { font-size: 1rem; }
.atas-conteudo.modo-lista .ata-ficha-corpo { flex-direction: row; align-items: center; gap: .9rem; }
.atas-conteudo.modo-lista .ata-ficha-corpo > b { -webkit-line-clamp: 1; flex: 1 1 40%; min-width: 0; }
.atas-conteudo.modo-lista .ata-ficha-corpo > small { flex: 0 1 26%; }
.atas-conteudo.modo-lista .ata-ficha-pe { margin: 0; flex: 0 0 auto; flex-wrap: nowrap; }
.atas-conteudo .ag-vistas button.ativa { background: var(--azul-suave); color: var(--azul); }
@media (max-width: 900px) {
  .atas-arquivo { grid-template-columns: 1fr; }
  .atas-anos { display: none; }
  .atas-mes-sel { display: block; max-width: none !important; width: 100%; }
  .atas-conteudo.modo-lista .ata-ficha-corpo { flex-direction: column; align-items: flex-start; gap: .1rem; }
}

/* 3.4.0 — agenda no celular (Minha conta) */
.cal-botoes { margin: .3rem 0 .6rem; }
.cal-endereco { display: flex; gap: .4rem; align-items: center; margin-bottom: .5rem; }
.cal-endereco input { flex: 1; min-width: 0; font-size: .8125rem; height: 32px; color: var(--suave); }
.cal-ajuda { font-size: .875rem; margin-bottom: .5rem; }
.cal-ajuda summary { cursor: pointer; color: var(--azul); font-weight: 600; }
.cal-ajuda ul { margin: .5rem 0 .4rem 1.1rem; display: flex; flex-direction: column; gap: .4rem; }

/* 3.4.3 — fotos na agenda: o avatar não estica (a regra global .pessoa span {flex:1} pegava o cabeçalho da coluna) */
#ag .ag-av, #ag-pop .ag-av, .ag-menu .ag-av { flex: none !important; width: 26px; height: 26px; min-width: 26px; max-width: 26px; border-radius: 50%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; }
#ag .ag-dia-cab.pessoa .ag-av { width: 30px; height: 30px; min-width: 30px; max-width: 30px; }
#ag .ag-av img, #ag-pop .ag-av img, .ag-menu .ag-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
#ag .ag-dia-cab.pessoa em { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 3.5.0 — Concord: grupos por setor, gestão pelo master e aplicativo para o PC */
.cc-gerenciar { font-size: 0.75rem; font-weight: 600; color: var(--azul); border: 1px solid var(--linha); border-radius: 999px; padding: 0.15rem 0.65rem; white-space: nowrap; text-decoration: none; }
.cc-gerenciar:hover { background: var(--realce); }
.cc-gerenciar[hidden] { display: none; }
.cc-cfg-tit { margin: 0.9rem 0 0.35rem; font-size: 0.8rem; font-weight: 600; color: var(--suave); }
.cc-cfg-tit small { font-weight: 400; }
.cc-cfg-busca { max-width: 320px; margin-bottom: 0.4rem; }
.cc-cfg-pessoas { max-height: 220px; overflow-y: auto; padding: 0.2rem 0; }
.cc-cfg-pessoas .chip small { color: var(--suave); font-weight: 400; }
.cc-cfg-pessoas .chip[hidden] { display: none; }
.cc-app-cartao { display: flex; gap: 1.1rem; align-items: flex-start; background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; padding: 1.1rem 1.2rem; margin-bottom: 1rem; }
.cc-app-cartao img { border-radius: 14px; flex: none; }
.cc-app-cartao h2 { margin: 0 0 0.3rem; font-size: 1.1rem; }
.cc-app-cartao p { margin: 0 0 0.8rem; color: var(--suave); max-width: 62ch; }
.cc-app-cartao .botao svg { width: 16px; height: 16px; vertical-align: -3px; margin-right: 4px; }
.cc-app-passos { background: var(--superficie); border: 1px solid var(--linha); border-radius: 14px; padding: 0.9rem 1.2rem; margin-bottom: 1.2rem; }
.cc-app-passos h3 { margin: 0 0 0.4rem; font-size: 0.95rem; }
.cc-app-passos ol { margin: 0; padding-left: 1.2rem; color: var(--suave); }
.cc-app-passos li { margin: 0.25rem 0; }
@media (max-width: 600px) { .cc-app-cartao { flex-direction: column; } }
.cc-app-passos > summary { cursor: pointer; }
.cc-app-passos code { background: var(--realce); padding: 0 0.3rem; border-radius: 4px; font-size: 0.85em; }

/* 3.6.0 — Concord: anexo expirado (30 dias) */
.cc-expirado { opacity: .6; cursor: default; }
.cc-anexo-temporario { font-size: .72rem; color: var(--suave); }

/* 3.7.0 — menções (@nome e @everyone) */
.cm-lista { position: fixed; z-index: 9999; background: var(--cm-sup, #fff); color: var(--cm-texto, #16202C); border: 1px solid var(--cm-linha, #DFE5EC); border-radius: 12px; box-shadow: 0 10px 30px rgb(18 35 58 / .18); padding: 4px; max-height: 280px; overflow-y: auto; font: 13px/1.3 "Segoe UI", system-ui, sans-serif; }
.cm-item { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 8px; border: 0; background: none; border-radius: 8px; cursor: pointer; text-align: left; color: inherit; font: inherit; }
.cm-item.ativo, .cm-item:hover { background: var(--cm-realce, #EDF1F6); }
.cm-item b { display: block; font-weight: 600; }
.cm-item small { display: block; font-size: 11.5px; opacity: .7; }
.cm-av { width: 26px; height: 26px; border-radius: 50%; background: #215F8F; color: #fff; display: grid; place-items: center; font-size: 11px; font-weight: 600; flex: none; overflow: hidden; }
.cm-av img { width: 100%; height: 100%; object-fit: cover; }
.cm-todos { background: #E5484D; font-size: 14px; }
.cm-lista { --cm-sup: var(--superficie); --cm-texto: var(--texto); --cm-linha: var(--linha); --cm-realce: var(--realce); }
.cc-mencao.todos { background: color-mix(in srgb, #E5484D 16%, transparent); color: #C93A3F; border-radius: 4px; padding: 0 3px; font-weight: 600; }

/* 3.8.1 — Concord: confirmação de leitura e botão "ir para a última mensagem" */
.cc-ck { display: inline-flex; margin-top: 2px; color: var(--suave); }
.cc-ck svg { width: 16px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cc-ck.lida { color: #3B9EEA; }
.cc-descer { position: absolute; right: 18px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--linha); background: var(--superficie); color: var(--suave); box-shadow: 0 2px 10px rgba(0,0,0,.14); display: grid; place-items: center; cursor: pointer; z-index: 5; padding: 0; }
.cc-descer[hidden] { display: none; }
.cc-descer svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cc-descer b { position: absolute; top: -6px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #3B9EEA; color: #fff; font-size: 10.5px; line-height: 18px; text-align: center; }
