@font-face { font-family: "Poppins"; font-weight: 300; font-style: normal; font-display: swap; src: url("fontes/poppins-300.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 400; font-style: normal; font-display: swap; src: url("fontes/poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-style: normal; font-display: swap; src: url("fontes/poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-style: normal; font-display: swap; src: url("fontes/poppins-600.woff2") format("woff2"); }
@font-face { font-family: "MuseoModerno"; font-weight: 600; font-style: normal; font-display: swap; src: url("fontes/museomoderno-600.woff2") format("woff2"); }
@font-face { font-family: "MuseoModerno"; font-weight: 800; font-style: normal; font-display: swap; src: url("fontes/museomoderno-800.woff2") format("woff2"); }

/* OnMoov · Portal do Consultor
   Mesma linguagem visual do cadastro de clientes e do reembolso. */








:root {
  color-scheme: dark;
  --navy: #070D24;
  --navy-2: #0C1433;
  --ink: #F3F5FB;
  --muted: #B4BDDC;
  --dim: #7C86AD;
  --pink: #F0379B;
  --violet: #9A4FD0;
  --blue: #3B8BEA;
  --grad: linear-gradient(90deg, #F0379B 0%, #9A4FD0 50%, #3B8BEA 100%);
  --erro: #FF7AB8;
  --ok: #5FE0A8;
  --display: "MuseoModerno", "Poppins", sans-serif;
  --body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
  --raio: 28px;
  --raio-campo: 14px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--navy); }
body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--navy);
  overflow-x: hidden;
}
[hidden] { display: none !important; }
a { color: #9CC6FF; text-underline-offset: 3px; }
a:hover { color: #fff; }
::selection { background: rgba(154, 79, 208, 0.55); color: #fff; }

/* ---------- Ambiente: brilhos, grade e grão ---------- */
.ambiente { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.brilho { position: absolute; border-radius: 50%; filter: blur(130px); }
.b1 { width: 900px; height: 900px; left: -260px; top: -320px; background: #0a3fa8; opacity: 0.55; animation: deriva1 22s ease-in-out infinite alternate; }
.b2 { width: 760px; height: 760px; left: 28%; bottom: -380px; background: #6a1f9c; opacity: 0.5; animation: deriva2 26s ease-in-out infinite alternate; }
.b3 { width: 620px; height: 620px; right: -200px; top: 10%; background: #c0127a; opacity: 0.26; animation: deriva1 30s ease-in-out infinite alternate-reverse; }
.grade-fundo {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 96px 96px;
  -webkit-mask-image: radial-gradient(ellipse at 30% 40%, #000 0%, transparent 70%);
  mask-image: radial-gradient(ellipse at 30% 40%, #000 0%, transparent 70%);
}
.grao {
  position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background: url("imagens/grao.png") repeat; background-size: 256px 256px;
  opacity: 0.07; mix-blend-mode: overlay;
}
@keyframes deriva1 { to { transform: translate(80px, 60px) scale(1.08); } }
@keyframes deriva2 { to { transform: translate(-90px, -40px) scale(1.1); } }


/* ---------- Painel de vidro ---------- */
.painel {
  position: relative; overflow: hidden;
  border-radius: var(--raio);
  padding: 34px 40px 36px;
  background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03) 55%, rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 40px 90px rgba(0,0,0,.45);
}
.painel::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 10% 0%, rgba(240,55,155,.16), transparent 50%), radial-gradient(ellipse at 100% 100%, rgba(59,139,234,.18), transparent 55%);
}
.painel::after {
  content: ""; position: absolute; left: 40px; right: 40px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0;
  background: var(--grad); box-shadow: 0 0 22px rgba(240,55,155,.8), 0 0 44px rgba(59,139,234,.5);
}
.painel > * { position: relative; }

.painel-topo { margin-bottom: 26px; }
.painel-topo .kicker { margin-bottom: 14px; }
.barra { height: 4px; background: rgba(255,255,255,.1); border-radius: 99px; overflow: visible; }
.barra-preenchida {
  height: 100%; width: 20%; border-radius: 99px; background: var(--grad);
  box-shadow: 0 0 14px rgba(240,55,155,.75), 0 0 28px rgba(59,139,234,.45);
  transition: width 0.5s cubic-bezier(.2,.8,.2,1);
}

/* ---------- Etapas do formulário ---------- */
fieldset.etapa { border: 0; margin: 0; padding: 0; min-width: 0; animation: entra 0.45s cubic-bezier(.2,.8,.2,1); }
@keyframes entra { from { opacity: 0; transform: translateY(14px); } }
legend {
  padding: 0; margin-bottom: 6px;
  font: 800 clamp(1.7rem, 3vw, 2.15rem)/1.1 var(--display); letter-spacing: -0.01em; color: #fff;
}
legend:focus { outline: none; }
.legenda-ajuda { margin: 0 0 26px; color: var(--muted); font-weight: 300; }

.campo { margin-bottom: 18px; }
.grade { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.grade-3 { grid-template-columns: 0.7fr 1fr 1.3fr; }
.grade-cep { grid-template-columns: 0.75fr 2fr; }
.grade-cidade { grid-template-columns: 2fr 0.8fr; }

label, .rotulo { display: block; margin: 0 0 8px; font-weight: 500; font-size: 0.9rem; color: var(--ink); }
.opcional { font-weight: 300; color: var(--dim); font-size: 0.8rem; margin-left: 4px; }

input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="date"], input[type="datetime-local"], select, textarea {
  width: 100%; min-height: 52px; padding: 13px 16px;
  font: inherit; font-size: 1rem; color: #fff;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--raio-campo);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
textarea { resize: vertical; min-height: 96px; }
input:hover, select:hover, textarea:hover { border-color: rgba(255,255,255,.28); }
input:focus, select:focus, textarea:focus {
  outline: none; background: rgba(255,255,255,.08);
  border-color: rgba(154,79,208,.9);
  box-shadow: 0 0 0 3px rgba(154,79,208,.28), 0 0 26px rgba(240,55,155,.22);
}
input:disabled { color: var(--muted); background: rgba(255,255,255,.03); }
::placeholder { color: rgba(180,189,220,.5); }
select {
  appearance: none; cursor: pointer; padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B4BDDC' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}
select option { background: #101836; color: #fff; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff;
  -webkit-box-shadow: 0 0 0 1000px #18204a inset;
  caret-color: #fff;
}

.ajuda { margin: 7px 0 0; font-size: 0.8rem; color: var(--dim); }
.ajuda.ok { color: var(--ok); }
.ajuda-cep { margin: -10px 0 16px; }
.ajuda-cep:empty { display: none; }

[aria-invalid="true"] { border-color: var(--erro) !important; box-shadow: 0 0 0 3px rgba(255,122,184,.18) !important; }
.mensagem-erro { margin: 7px 0 0; font-size: 0.82rem; font-weight: 500; color: var(--erro); }

.opcao-inline { display: inline-flex; align-items: center; gap: 9px; margin: 10px 0 0; font-weight: 400; font-size: 0.88rem; color: var(--muted); cursor: pointer; }

/* Escolhas em vidro */
.escolhas, .chips { display: flex; flex-wrap: wrap; gap: 10px; }
.escolha, .chip {
  position: relative; display: inline-flex; align-items: center; gap: 10px; margin: 0;
  padding: 12px 18px; border-radius: 999px;
  font-weight: 500; font-size: 0.93rem; color: var(--ink); cursor: pointer;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
  -webkit-user-select: none; user-select: none;
}
.escolha input, .chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.escolha::before, .chip::before {
  content: ""; width: 12px; height: 12px; flex: none; border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.45); transition: all .2s ease;
}
.chip::before { border-radius: 4px; }
.escolha:hover, .chip:hover { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.09); }
.escolha:has(input:checked), .chip:has(input:checked) {
  border-color: rgba(240,55,155,.6); background: rgba(154,79,208,.18); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 24px rgba(154,79,208,.35);
}
.escolha:has(input:checked)::before, .chip:has(input:checked)::before {
  border-color: transparent; background: var(--grad); box-shadow: 0 0 12px rgba(240,55,155,.9);
}
.escolha:has(input:focus-visible), .chip:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(154,79,208,.45); }
.grupo-invalido .escolha, .grupo-invalido .chip { border-color: rgba(255,122,184,.7); }

.bloco-condicional { margin: -2px 0 18px; padding: 18px 18px 2px; border-radius: 18px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.09); }
.subtitulo-bloco { margin: 0 0 14px; font: 600 12px/1.3 var(--body); letter-spacing: 4px; text-transform: uppercase; color: var(--pink); }

/* Revisão */
.resumo { display: grid; gap: 12px; margin-bottom: 22px; }
.resumo-secao { padding: 16px 20px 10px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); }
.resumo-cabecalho { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.resumo-cabecalho h3 { margin: 0; font: 600 11.5px/1.3 var(--body); letter-spacing: 4px; text-transform: uppercase; color: var(--pink); }
.resumo-editar { font: 500 0.85rem var(--body); color: #9CC6FF; background: none; border: 0; padding: 4px 0; cursor: pointer; }
.resumo-editar:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.resumo dl { margin: 0; display: grid; grid-template-columns: minmax(130px, .8fr) 2fr; gap: 0 18px; font-size: 0.88rem; }
.resumo dt { padding: 5px 0; color: var(--dim); }
.resumo dd { margin: 0; padding: 5px 0; color: #fff; overflow-wrap: anywhere; white-space: pre-line; }

.aceite {
  display: flex; align-items: flex-start; gap: 14px; margin: 0; cursor: pointer;
  padding: 16px 18px; border-radius: 18px;
  font-weight: 400; font-size: 0.9rem; color: var(--muted);
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12);
}
.aceite input { width: 20px; height: 20px; margin-top: 2px; flex: none; accent-color: var(--violet); }
.captcha:empty { display: none; }
.captcha { margin: 4px 0 6px; }
.aviso-teste { margin: 6px 0 0; padding: 12px 16px; border-radius: 14px; font-size: 0.85rem; color: #FFD99A; background: rgba(255,190,80,.08); border: 1px solid rgba(255,190,80,.25); }
.erro-geral { margin: 10px 0 0; padding: 12px 16px; border-radius: 14px; font-size: 0.9rem; color: #FFC1DD; background: rgba(240,55,155,.1); border: 1px solid rgba(240,55,155,.35); }

/* Botões */
.acoes { display: flex; justify-content: flex-end; gap: 12px; margin-top: 28px; }
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 0 30px; border-radius: 999px;
  font: 600 1rem var(--body); letter-spacing: .2px; cursor: pointer;
  border: 1px solid transparent; transition: transform .15s ease, box-shadow .25s ease, filter .2s ease, background .2s ease;
}
.botao-primario {
  color: #fff; background: var(--grad); background-size: 140% 100%; background-position: 0 0;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset, 0 10px 30px rgba(154,79,208,.45), 0 0 34px rgba(240,55,155,.35);
}
.botao-primario:hover { background-position: 100% 0; box-shadow: 0 0 0 1px rgba(255,255,255,.3) inset, 0 14px 38px rgba(154,79,208,.55), 0 0 48px rgba(240,55,155,.5); transform: translateY(-1px); }
.botao-primario:active { transform: translateY(1px); }
.botao-primario:disabled { filter: saturate(.4) brightness(.8); cursor: wait; transform: none; }
.botao-primario .seta { transition: transform .2s ease; }
.botao-primario:hover .seta { transform: translateX(4px); }
.botao-secundario { margin-right: auto; color: var(--ink); background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.22); }
.botao-secundario:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); }
.botao:focus-visible { outline: 3px solid rgba(156,198,255,.7); outline-offset: 3px; }

/* Sucesso */
.sucesso { text-align: center; padding: 30px 40px 48px; }
.sucesso:focus { outline: none; }
.sucesso-arte { position: relative; width: 220px; height: 250px; margin: 0 auto 8px; }
.sucesso-arte .marca-dagua {
  position: absolute; left: 50%; top: 50%; width: 360px; height: 360px; margin: -184px 0 0 -180px; max-width: none;
  opacity: .38; mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(circle, #000 50%, transparent 70%); mask-image: radial-gradient(circle, #000 50%, transparent 70%);
  animation: flutua 9s ease-in-out infinite;
}
.sucesso-arte .halo { position: absolute; left: 50%; top: 55%; width: 300px; height: 300px; margin: -150px 0 0 -150px; border-radius: 50%; background: radial-gradient(circle, rgba(240,55,155,.42), rgba(154,79,208,.18) 45%, transparent 70%); filter: blur(6px); }
.sucesso-arte .moovy { position: relative; height: 240px; width: auto; filter: drop-shadow(0 24px 30px rgba(0,0,0,.5)); animation: chega .8s cubic-bezier(.2,1.4,.4,1) both; }
@keyframes chega { from { opacity: 0; transform: translateY(30px) scale(.85); } }
.sucesso .titulo { font-size: clamp(2.3rem, 4vw, 3.3rem); }
.sucesso .lead { margin: 16px auto 0; }
.protocolo-chip {
  display: inline-flex; align-items: center; gap: 12px; margin: 26px 0 0;
  padding: 12px 24px; border-radius: 999px; font-size: 0.95rem; color: var(--muted);
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.protocolo-chip i { width: 10px; height: 10px; border-radius: 50%; background: var(--grad); box-shadow: 0 0 14px rgba(240,55,155,.9); }
.protocolo-chip strong { color: #fff; letter-spacing: .06em; }
.assinatura { margin: 34px 0 0; font: 800 1.5rem/1 var(--display); letter-spacing: -.01em; }
.assinatura span { color: var(--pink); }
body.concluido .etapas { opacity: .35; }

/* Rodapé */
.rodape { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; margin-top: 22px; padding: 0 6px; font-size: 0.78rem; color: var(--dim); }

/* Isca anti-robô */
.isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }


/* ================= Reembolso de campo ================= */
.kicker { margin: 0 0 14px; font: 600 13px/1.3 var(--body); letter-spacing: 5px; text-transform: uppercase; color: var(--pink); }
.kicker-pequeno { margin: 0; font-size: 11px; letter-spacing: 4px; }
.titulo { margin: 0; font-family: var(--display); font-weight: 800; font-size: clamp(2.2rem, 7vw, 3.2rem); line-height: 1.04; letter-spacing: -0.02em; }
.gt { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: 0.08em; }
.lead { margin: 18px 0 26px; font: 300 1.05rem/1.6 var(--body); color: var(--muted); max-width: 46ch; }
.legenda-ajuda { margin: -4px 0 18px; }

.app { position: relative; z-index: 2; max-width: 860px; margin: 0 auto; padding: 22px 20px 32px; }
.topo { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.logo { width: 170px; height: auto; display: block; }
.usuario { display: flex; align-items: center; gap: 10px; font-size: 0.88rem; }
.usuario-nome { font-weight: 600; color: #fff; }
.usuario-perfil { padding: 3px 10px; border-radius: 99px; font-size: 0.75rem; color: var(--muted); background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); }
.funcoes { margin-left: auto; display: inline-flex; padding: 4px; gap: 4px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.funcao-btn { border: 0; background: transparent; padding: 7px 18px; border-radius: 999px; font: 500 0.88rem/1.25 var(--body); color: var(--muted); white-space: nowrap; cursor: pointer; text-align: center; transition: background .2s, color .2s, box-shadow .2s; }
.funcao-btn:hover { color: #fff; }
.funcao-btn[aria-pressed="true"] { color: #fff; background: rgba(154,79,208,.32); box-shadow: inset 0 0 0 1px rgba(240,55,155,.55), 0 0 22px rgba(154,79,208,.35); cursor: default; }
.funcao-btn small { display: block; font-size: 0.68rem; font-weight: 400; color: var(--dim); line-height: 1.2; }
.funcao-btn[aria-pressed="true"] small { color: var(--muted); }
.funcao-btn:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.topo:has(.funcoes:not([hidden])) .usuario { margin-left: 0; }
.link-botao { font: 500 0.88rem var(--body); color: #9CC6FF; background: none; border: 0; padding: 6px 2px; cursor: pointer; }
.link-botao:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.painel-estreito { max-width: 560px; margin: 0 auto; }
.aviso-teste { margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.teste-perfil { display: inline-flex; align-items: center; gap: 8px; }
.teste-perfil select { min-height: 36px; width: auto; padding: 4px 36px 4px 12px; font-size: 0.85rem; background-position: right 12px center; }
.campo-codigo { font: 600 1.6rem/1 var(--display) !important; letter-spacing: 0.4em; text-align: center; }

/* Abas */
.abas { display: flex; gap: 6px; padding: 5px; margin: 0 0 20px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); overflow-x: auto; }
.aba { flex: 1 0 auto; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 0; cursor: pointer; font: 500 0.92rem var(--body); color: var(--muted); background: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.aba:hover { color: #fff; }
.aba.ativa { color: #fff; background: rgba(154,79,208,.28); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 0 20px rgba(154,79,208,.35); }
.contador { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; font-size: 0.75rem; font-weight: 600; line-height: 22px; color: #fff; background: var(--grad); }

/* Semana */
.semana-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.seta-semana { width: 44px; height: 44px; flex: none; border-radius: 50%; cursor: pointer; font-size: 1.5rem; line-height: 1; color: #fff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); }
.seta-semana:disabled { opacity: .3; cursor: default; }
.semana-titulo { text-align: center; display: grid; gap: 2px; }
.semana-titulo strong { font: 800 1.35rem/1.15 var(--display); color: #fff; }
.semana-pagamento { font-size: 0.82rem; color: var(--dim); }

.numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.numero { padding: 14px 14px 12px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.numero span { display: block; font-size: 0.75rem; color: var(--dim); }
.numero strong { display: block; margin-top: 2px; font: 800 1.3rem/1.2 var(--display); color: #fff; }
.numero:first-child strong { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

.painel-acao { padding: 22px 22px 24px; margin-bottom: 26px; }
.painel-acao h3 { margin: 0 0 4px; font: 800 1.3rem/1.2 var(--display); color: #fff; }
.painel-acao p { margin: 0; color: var(--muted); font-size: 0.92rem; }
.painel-acao .acoes { margin-top: 18px; }

.secao-titulo { margin: 0 0 12px; font: 600 12px/1.3 var(--body); letter-spacing: 4px; text-transform: uppercase; color: var(--pink); }
.cabecalho-aba { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.lista { display: grid; gap: 12px; margin-bottom: 22px; }
.vazio { padding: 22px; border-radius: 18px; text-align: center; color: var(--dim); background: rgba(255,255,255,.03); border: 1px dashed rgba(255,255,255,.14); }

.dia { padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.11); }
.dia-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.dia-nome { font-weight: 600; color: #fff; }
.dia-linha { margin: 6px 0 0; font-size: 0.88rem; color: var(--muted); }
.dia-valor { font: 800 1.05rem var(--display); color: #fff; }
.dia .acoes { margin-top: 12px; justify-content: flex-start; }
.dia .botao { min-height: 42px; padding: 0 18px; font-size: 0.9rem; }

.status { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 99px; font-size: 0.74rem; font-weight: 600; letter-spacing: .2px; border: 1px solid transparent; }
.status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.st-andamento { color: #9CC6FF; background: rgba(59,139,234,.14); border-color: rgba(59,139,234,.35); }
.st-aguardando { color: #FFD99A; background: rgba(255,190,80,.1); border-color: rgba(255,190,80,.3); }
.st-devolvida { color: #FFC1DD; background: rgba(240,55,155,.12); border-color: rgba(240,55,155,.4); }
.st-aprovada { color: var(--ok); background: rgba(95,224,168,.1); border-color: rgba(95,224,168,.3); }
.st-paga { color: #0b2a1e; background: var(--ok); }

.visitas-mini { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.visitas-mini li { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 0.86rem; color: var(--muted); }
.visitas-mini li span:first-child { color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-excluir { font: 500 0.78rem var(--body); color: var(--erro); background: none; border: 0; cursor: pointer; padding: 4px; }

.aviso-devolvida { margin: 0 0 16px; padding: 12px 16px; border-radius: 14px; font-size: 0.88rem; color: #FFC1DD; background: rgba(240,55,155,.1); border: 1px solid rgba(240,55,155,.35); }
.dia .aviso-devolvida { margin: 10px 0 0; }

/* Formulários (folhas) */
.folha { margin-bottom: 20px; }
.folha-titulo { margin: 0 0 22px; font: 800 clamp(1.6rem, 5vw, 2rem)/1.1 var(--display); color: #fff; }
input[type="date"] { width: 100%; min-height: 52px; padding: 13px 16px; font: inherit; color: #fff; color-scheme: dark; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.16); border-radius: var(--raio-campo); }
.campo-data { max-width: 260px; }

.foto-campo { position: relative; display: grid; place-items: center; min-height: 170px; margin: 0; overflow: hidden; cursor: pointer; text-align: center; border-radius: 18px; background: rgba(255,255,255,.04); border: 1.5px dashed rgba(255,255,255,.25); transition: border-color .2s ease, background .2s ease; }
.foto-campo-baixo { min-height: 110px; }
.foto-campo:hover { border-color: rgba(240,55,155,.6); background: rgba(154,79,208,.1); }
.foto-campo input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.foto-campo:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(154,79,208,.45); }
.foto-vazia { padding: 20px; color: var(--muted); font-weight: 500; pointer-events: none; }
.foto-vazia small { color: var(--dim); font-weight: 300; }
.foto-campo.tem-foto { border-style: solid; border-color: rgba(154,79,208,.6); }
.foto-campo.tem-foto .foto-vazia { display: none; }
.foto-previa { display: block; width: 100%; max-height: 300px; object-fit: contain; pointer-events: none; }
.foto-campo.invalido { border-color: var(--erro); }

.local { margin: 0 0 6px; font-size: 0.82rem; color: var(--dim); }
.local.ok { color: var(--ok); }
.local.alerta { color: #FFD99A; }

.resumo-rota { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 6px 0 18px; }
.resumo-rota:empty { display: none; }
.resumo-rota div { padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.resumo-rota span { display: block; font-size: 0.75rem; color: var(--dim); }
.resumo-rota strong { font: 800 1.15rem var(--display); color: #fff; }

/* Cartão de aprovação */
.rota { padding: 18px 18px 20px; border-radius: 22px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.13); }
.rota-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.rota-topo h3 { margin: 0; font: 800 1.2rem/1.2 var(--display); color: #fff; }
.rota-topo p { margin: 2px 0 0; font-size: 0.86rem; color: var(--muted); }
.rota-valor { text-align: right; }
.rota-valor strong { display: block; font: 800 1.25rem var(--display); color: #fff; }
.rota-valor span { font-size: 0.78rem; color: var(--dim); }
.alertas { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; }
.alerta-tag { padding: 3px 10px; border-radius: 99px; font-size: 0.74rem; font-weight: 500; color: #FFD99A; background: rgba(255,190,80,.1); border: 1px solid rgba(255,190,80,.3); }
.paineis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0 0; }
.fig { margin: 0; }
.fig button { display: block; width: 100%; padding: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; overflow: hidden; cursor: zoom-in; background: rgba(0,0,0,.3); }
.fig img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fig figcaption { margin-top: 6px; font-size: 0.8rem; color: var(--muted); }
.fig figcaption strong { color: #fff; }
.visitas-lista { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.visita { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center; padding: 8px; border-radius: 14px; background: rgba(255,255,255,.035); }
.visita button { padding: 0; border: 0; border-radius: 10px; overflow: hidden; cursor: zoom-in; background: rgba(0,0,0,.3); }
.visita img { display: block; width: 72px; height: 72px; object-fit: cover; }
.visita-nome { display: block; font-weight: 600; color: #fff; font-size: 0.92rem; }
.visita-info { display: block; font-size: 0.8rem; color: var(--muted); }
.visita-info a { color: #9CC6FF; }
.decisao { margin-top: 16px; }
.decisao textarea { min-height: 70px; margin-bottom: 4px; }
.decisao .acoes { margin-top: 12px; }

/* Fechamento */
.pagar { padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.11); }
.pagar-topo { display: flex; justify-content: space-between; gap: 12px; font-weight: 600; color: #fff; }
.pagar ul { margin: 8px 0 0; padding-left: 18px; font-size: 0.86rem; color: var(--muted); }
.mensagem { width: 100%; min-height: 280px; padding: 14px 16px; font: 400 0.88rem/1.55 var(--body); color: #fff; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.16); border-radius: var(--raio-campo); white-space: pre-wrap; }

/* Visor e aviso */
.visor { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 56px 16px 24px; background: rgba(4,8,22,.92); }
.visor img { max-width: 100%; max-height: calc(100vh - 140px); border-radius: 14px; }
.visor p { margin: 10px 0 0; text-align: center; color: var(--muted); font-size: 0.88rem; }
.visor-fechar { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.toast { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 60; transform: translateX(-50%); max-width: calc(100% - 32px); padding: 12px 20px; border-radius: 999px; font-size: 0.9rem; font-weight: 500; color: #fff; background: rgba(20,28,64,.96); border: 1px solid rgba(154,79,208,.6); box-shadow: 0 10px 30px rgba(0,0,0,.45), 0 0 24px rgba(154,79,208,.35); }
.carregando { padding: 22px; text-align: center; color: var(--dim); }

.rodape { margin-top: 28px; }

@media (max-width: 620px) {
  body { font-size: 15px; }
  .app { padding: 16px 16px 28px; }
  .logo { width: 140px; }
  .usuario { width: 100%; justify-content: space-between; flex-wrap: wrap; row-gap: 6px; }
  .usuario-nome { min-width: 0; overflow-wrap: anywhere; }
  .funcoes { order: 3; margin-left: 0; width: 100%; }
  .funcao-btn { flex: 1; padding: 7px 6px; }
  .painel { padding: 24px 18px 28px; border-radius: 24px; }
  .painel::after { left: 24px; right: 24px; }
  .numeros { gap: 8px; }
  .numero { padding: 12px 10px 10px; }
  .numero strong { font-size: 1.05rem; }
  .resumo-rota { grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
  .resumo-rota div { padding: 10px; }
  .resumo-rota strong { font-size: 1rem; }
  .acoes { flex-direction: column-reverse; }
  .botao { width: 100%; }
  .botao-secundario { margin-right: 0; }
  .dia .acoes { flex-direction: row; flex-wrap: wrap; }
  .dia .botao { width: auto; flex: 1 1 auto; }
  .escolhas .escolha { flex: 1 1 auto; justify-content: center; }
  .rodape { flex-direction: column; text-align: center; align-items: center; }
  .aba { padding: 0 12px; font-size: 0.86rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
.abas.so-uma { display: none; }
.rota-valor { flex: none; }
.rota-valor strong { white-space: nowrap; }
.aviso-teste strong { white-space: nowrap; }

/* ================= Portal do Consultor ================= */
.numeros-4 { grid-template-columns: repeat(4, 1fr); }
.numero-alerta strong { color: var(--erro) !important; background: none !important; -webkit-text-fill-color: currentColor; }
.cabecalho-aba { margin-bottom: 12px; flex-wrap: wrap; }
.cabecalho-acoes { display: inline-flex; gap: 14px; flex-wrap: wrap; }
.segmento { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.seg-btn { min-height: 36px; padding: 0 16px; border-radius: 999px; border: 0; background: none; cursor: pointer; font: 500 0.86rem var(--body); color: var(--muted); }
.seg-btn.ativa { color: #fff; background: rgba(255,255,255,.12); }
.filtros-central { display: grid; grid-template-columns: 1fr 1.6fr; gap: 0 14px; }
input[type="search"]::-webkit-search-cancel-button { filter: invert(1); }

.chamado { display: grid; gap: 6px; width: 100%; text-align: left; cursor: pointer; padding: 16px 18px; border-radius: 18px; color: var(--ink); font: inherit; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.11); border-left: 3px solid var(--borda-prio, rgba(255,255,255,.25)); transition: border-color .2s ease, background .2s ease; }
.chamado:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.22); border-left-color: var(--borda-prio, rgba(255,255,255,.4)); }
.chamado:focus-visible { outline: 3px solid rgba(156,198,255,.7); outline-offset: 2px; }
.chamado.prio-urgente { --borda-prio: var(--erro); }
.chamado.prio-alta { --borda-prio: #FFC46B; }
.chamado.prio-normal { --borda-prio: var(--blue); }
.chamado-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.protocolo { font: 600 0.78rem var(--body); letter-spacing: .06em; color: var(--dim); }
.chamado-seller { font: 800 1.12rem/1.2 var(--display); color: #fff; }
.chamado-meta { font-size: 0.84rem; color: var(--muted); }
.chamado-rodape { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 0.8rem; color: var(--dim); }
.chamado-aviso { font-size: 0.84rem; font-weight: 500; color: #FFD99A; }

.st-recebido { color: var(--muted); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.2); }
.st-atendimento { color: #9CC6FF; background: rgba(59,139,234,.14); border-color: rgba(59,139,234,.35); }
.st-consultor { color: #FFD99A; background: rgba(255,190,80,.1); border-color: rgba(255,190,80,.3); }
.st-mp { color: #D7B4F5; background: rgba(154,79,208,.16); border-color: rgba(154,79,208,.4); }
.st-concluido { color: var(--ok); background: rgba(95,224,168,.1); border-color: rgba(95,224,168,.3); }
.sla { font-weight: 600; }
.sla-ok { color: var(--ok); }
.sla-atencao { color: #FFC46B; }
.sla-risco { color: var(--erro); }
.sla-pausado { color: var(--dim); font-weight: 500; }

.anexar { position: relative; display: flex; align-items: center; justify-content: center; min-height: 64px; margin: 0; padding: 12px; cursor: pointer; text-align: center; border-radius: 16px; color: var(--muted); font-weight: 500; font-size: 0.9rem; background: rgba(255,255,255,.04); border: 1.5px dashed rgba(255,255,255,.25); }
.anexar:hover { border-color: rgba(240,55,155,.6); background: rgba(154,79,208,.1); color: #fff; }
.anexar input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.anexar:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(154,79,208,.45); }
.anexar-baixo { min-height: 48px; }
.anexos-lista { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.anexos-lista:empty { display: none; }
.anexos-lista li { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px 6px 6px 8px; border-radius: 12px; font-size: 0.82rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.anexos-lista img { width: 34px; height: 34px; border-radius: 8px; object-fit: cover; flex: none; }
.anexos-lista .pdf { width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; flex: none; font-size: 0.66rem; font-weight: 600; color: #fff; background: rgba(240,55,155,.3); }
.anexos-lista .nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 180px; }
.anexos-lista button { width: 28px; height: 28px; flex: none; border-radius: 50%; border: 0; cursor: pointer; color: var(--erro); background: rgba(255,255,255,.06); font-size: 1rem; line-height: 1; }

.detalhe-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
.detalhe-topo .kicker { margin: 0; }
.dados-chamado { margin: -8px 0 22px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 18px; }
.dados-chamado div { min-width: 0; }
.dados-chamado dt { font-size: 0.75rem; color: var(--dim); }
.dados-chamado dd { margin: 2px 0 0; font-size: 0.92rem; color: #fff; overflow-wrap: anywhere; }
.dados-chamado .descricao { grid-column: 1 / -1; }
.dados-chamado .descricao dd { white-space: pre-line; color: var(--ink); }

.conversa { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 10px; }
.msg { max-width: 88%; justify-self: start; padding: 12px 14px; border-radius: 16px 16px 16px 4px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.msg.minha { justify-self: end; border-radius: 16px 16px 4px 16px; background: rgba(154,79,208,.2); border-color: rgba(240,55,155,.35); }
.msg-autor { display: block; margin-bottom: 4px; font-size: 0.75rem; font-weight: 600; color: var(--dim); }
.msg-texto { margin: 0; white-space: pre-line; overflow-wrap: anywhere; font-size: 0.92rem; }
.msg-anexos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.msg-anexos button { padding: 5px 10px; border-radius: 10px; cursor: pointer; font: 500 0.78rem var(--body); color: #9CC6FF; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.msg.sistema { justify-self: center; max-width: 100%; padding: 2px 8px; background: none; border: 0; font-size: 0.78rem; color: var(--dim); text-align: center; }
.conversa-vazia { color: var(--dim); font-size: 0.88rem; }

@media (max-width: 620px) {
  .numeros-4 { grid-template-columns: 1fr 1fr; }
  .filtros-central, .grade { grid-template-columns: 1fr; }
  .msg { max-width: 94%; }
  .segmento { width: 100%; }
  .seg-btn { flex: 1; }
}

/* ================= Central de chamados ================= */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.svg-ico { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ico { display: inline-flex; }
.app.largo { max-width: 1440px; }
.app.largo .abas { max-width: 860px; }
.cen { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 22px; align-items: start; }

.cen-menu { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 18px; padding: 18px 14px; border-radius: 24px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 50px rgba(0,0,0,.25); }
.cen-quem { display: flex; align-items: center; gap: 12px; padding: 4px 6px 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
.cen-quem strong { display: block; color: #fff; font-size: .95rem; }
.cen-quem div span { display: block; font-size: .74rem; color: var(--dim); }
.cen-avatar { width: 42px; height: 42px; flex: none; border-radius: 50%; display: grid; place-items: center; font: 700 .85rem var(--body); color: #fff; background: var(--grad); box-shadow: 0 0 18px rgba(240,55,155,.35); }
.cen-nav { display: grid; gap: 4px; }
.cen-nav-btn { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 0 12px; border-radius: 14px; border: 0; cursor: pointer; font: 500 .9rem var(--body); color: var(--muted); background: none; text-align: left; transition: background .2s, color .2s; }
.cen-nav-btn:hover { color: #fff; background: rgba(255,255,255,.05); }
.cen-nav-btn.ativa { color: #fff; background: rgba(154,79,208,.26); box-shadow: inset 0 0 0 1px rgba(240,55,155,.45), 0 0 22px rgba(154,79,208,.25); }
.cen-nav-btn:focus-visible { outline: 3px solid rgba(156,198,255,.7); outline-offset: 2px; }
.cen-nav-novo { margin-top: 6px; color: #fff; border: 1px dashed rgba(255,255,255,.22); }
.cen-badge { margin-left: auto; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 99px; display: inline-grid; place-items: center; font-size: .72rem; font-weight: 700; color: #fff; background: var(--pink); box-shadow: 0 0 14px rgba(240,55,155,.5); }
.cen-menu-pe { display: grid; gap: 10px; padding: 14px 6px 2px; border-top: 1px solid rgba(255,255,255,.1); }
.cen-atualizado { margin: 0; font-size: .74rem; color: var(--dim); }
.cen-chave { display: flex; align-items: center; gap: 8px; font-size: .8rem; color: var(--muted); cursor: pointer; }
.cen-chave input { width: 34px; height: 20px; appearance: none; border-radius: 99px; background: rgba(255,255,255,.14); position: relative; cursor: pointer; transition: background .2s; flex: none; }
.cen-chave input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform .2s; }
.cen-chave input:checked { background: var(--violet); }
.cen-chave input:checked::after { transform: translateX(14px); }
.cen-pe-btn { display: inline-flex; align-items: center; gap: 8px; justify-content: center; min-height: 38px; border-radius: 12px; cursor: pointer; font: 500 .82rem var(--body); color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); }
.cen-pe-btn:hover { border-color: rgba(255,255,255,.35); }

.cen-corpo { min-width: 0; }
.cen-cabeca { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.cen-cabeca .kicker { margin-bottom: 6px; font-size: 11px; letter-spacing: 4px; }
.cen-titulo { margin: 0; font: 800 clamp(1.6rem, 3vw, 2.2rem)/1.1 var(--display); color: #fff; }
.cen-sub { margin: 6px 0 0; color: var(--muted); font-size: .9rem; }
.cen-cabeca-acoes { display: flex; align-items: center; gap: 10px; }
.cen-periodo select { min-height: 44px; padding: 9px 40px 9px 14px; font-size: .88rem; border-radius: 12px; }
.cen-icone-btn { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; cursor: pointer; color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); }
.cen-icone-btn:hover { border-color: rgba(255,255,255,.35); }
.cen-icone-btn.girando .svg-ico { animation: girar .8s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }

.cen-filtros { margin-bottom: 18px; padding: 12px; border-radius: 18px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.1); }
.cen-filtros-linha { display: grid; grid-template-columns: minmax(200px, 1.6fr) repeat(6, minmax(0, 1fr)); gap: 8px; }
.cen-filtros select, .cen-filtros input[type="search"] { min-height: 42px; padding: 8px 34px 8px 12px; font-size: .84rem; border-radius: 12px; background-position: right 12px center; }
.cen-busca { position: relative; display: block; }
.cen-busca .ico { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--dim); pointer-events: none; }
.cen-filtros .cen-busca input { padding-left: 38px; padding-right: 12px; }
.cen-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cen-chip { padding: 5px 12px; border-radius: 99px; cursor: pointer; font: 500 .76rem var(--body); color: var(--muted); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14); transition: all .2s; }
.cen-chip:hover { color: #fff; border-color: rgba(255,255,255,.3); }
.cen-chip[aria-pressed="true"] { color: #fff; background: rgba(240,55,155,.22); border-color: rgba(240,55,155,.6); box-shadow: 0 0 14px rgba(240,55,155,.25); }
.cen-chip-limpar { color: #9CC6FF; border-style: dashed; }

.cen-faixa { margin: 0 0 12px; font-size: .78rem; color: var(--dim); letter-spacing: .2px; }
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.kpi { position: relative; padding: 16px 16px 14px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); overflow: hidden; }
.kpi-rot { display: block; font-size: .76rem; color: var(--dim); }
.kpi-valor { display: block; margin: 4px 0 2px; font: 800 1.75rem/1.1 var(--display); color: #fff; }
.kpi-sub { display: block; font-size: .74rem; color: var(--muted); }
.kpi-delta { font-weight: 600; }
.kpi-delta.bom { color: var(--ok); }
.kpi-delta.ruim { color: var(--erro); }
.kpi-delta.neutro { color: var(--dim); }
.kpi-destaque .kpi-valor { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kpi-alerta { border-color: rgba(255,122,184,.55); box-shadow: 0 0 24px rgba(240,55,155,.2); }
.kpi-alerta .kpi-valor { color: var(--erro); }
.kpi-atencao { border-color: rgba(255,196,107,.45); }
.kpi-atencao .kpi-valor { color: #FFC46B; }

.cen-grade { display: grid; gap: 12px; margin-bottom: 12px; }
.cen-grade-21 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.cen-grade-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cen-bloco { padding: 18px; border-radius: 20px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); margin-bottom: 12px; min-width: 0; }
.cen-grade .cen-bloco { margin-bottom: 0; }
.cen-bloco-topo { margin-bottom: 12px; }
.cen-bloco-topo h3 { margin: 0; font: 700 1rem/1.3 var(--body); color: #fff; }
.cen-bloco-topo p { margin: 2px 0 0; font-size: .76rem; color: var(--dim); }
.vazio-mini { margin: 6px 0; font-size: .84rem; color: var(--dim); }

.grafico { width: 100%; height: auto; display: block; }
.grafico-grade { stroke: rgba(255,255,255,.08); stroke-width: 1; }
.grafico-eixo { fill: var(--dim); font-size: 10px; font-family: var(--body); }
.linha-ab { fill: none; stroke: var(--pink); stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
.linha-co { fill: none; stroke: var(--ok); stroke-width: 2; stroke-dasharray: 5 4; stroke-linejoin: round; }
.ponto rect:hover { fill: rgba(255,255,255,.05); }
.legenda { display: flex; gap: 16px; margin-top: 8px; font-size: .78rem; color: var(--muted); }
.leg { display: inline-flex; align-items: center; gap: 6px; }
.leg::before { content: ""; width: 14px; height: 3px; border-radius: 2px; }
.leg-ab::before { background: var(--pink); }
.leg-co::before { background: var(--ok); }

.situacao-barra { display: flex; height: 14px; border-radius: 99px; overflow: hidden; background: rgba(255,255,255,.06); margin: 6px 0 14px; }
.situacao-barra span { height: 100%; }
.situacao-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.situacao-lista li { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 10px; font-size: .86rem; color: var(--muted); cursor: pointer; }
.situacao-lista li:hover { background: rgba(255,255,255,.05); color: #fff; }
.situacao-lista i { width: 10px; height: 10px; border-radius: 50%; }
.situacao-lista strong { color: #fff; }
.situacao-nota { margin: 10px 0 0; font-size: .76rem; color: var(--dim); }

.barras { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.barras li { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 28px; align-items: center; gap: 10px; font-size: .8rem; padding: 2px 4px; border-radius: 8px; }
.barras li.clicavel { cursor: pointer; }
.barras li.clicavel:hover { background: rgba(255,255,255,.05); }
.barras-rot { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.barras-trilho { height: 8px; border-radius: 99px; background: rgba(255,255,255,.06); overflow: hidden; }
.barras-trilho i { display: block; height: 100%; border-radius: 99px; background: var(--grad); }
.barras strong { text-align: right; color: #fff; font-size: .82rem; }

.equipes { display: grid; gap: 8px; }
.equipe { display: grid; gap: 8px; width: 100%; padding: 12px 14px; border-radius: 14px; cursor: pointer; text-align: left; font: inherit; color: var(--ink); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); }
.equipe:hover, .equipe.ativa { border-color: rgba(240,55,155,.55); background: rgba(154,79,208,.14); }
.equipe-nome { font-weight: 600; font-size: .88rem; }
.equipe-nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.equipe-nums strong { display: block; font: 800 1.05rem/1.2 var(--display); color: #fff; }
.equipe-nums small { font-size: .7rem; color: var(--dim); }

.tabela-wrap { overflow-x: auto; border-radius: 14px; }
.tabela { width: 100%; border-collapse: collapse; font-size: .84rem; }
.tabela th { position: sticky; top: 0; text-align: left; padding: 10px 10px; font-size: .72rem; font-weight: 600; color: var(--dim); text-transform: uppercase; letter-spacing: .6px; border-bottom: 1px solid rgba(255,255,255,.12); white-space: nowrap; background: rgba(12,20,51,.92); }
.tabela td { padding: 11px 10px; border-bottom: 1px solid rgba(255,255,255,.06); color: var(--ink); white-space: nowrap; }
.tabela tbody tr { cursor: pointer; transition: background .15s; }
.tabela tbody tr:hover, .tabela tbody tr:focus-visible { background: rgba(255,255,255,.05); outline: none; }
.tabela tbody tr.ativa { background: rgba(154,79,208,.18); }
.ordena { padding: 0; border: 0; background: none; cursor: pointer; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; }
.ordena:hover, .ordena.ativa { color: #fff; }
.tabela .num { text-align: right; font-variant-numeric: tabular-nums; }
.tabela .forte { font-weight: 600; color: #fff; }
.tabela .fraco { color: var(--dim); }
.tabela .ok { color: var(--ok); font-weight: 600; }
.tabela .atencao { color: #FFC46B; font-weight: 600; }
.tabela .risco { color: var(--erro); font-weight: 600; }
.tabela .pos { width: 28px; color: var(--dim); font-weight: 600; }
.tabela .nome { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.num-barra { position: relative; min-width: 110px; }
.num-barra i { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); height: 6px; max-width: calc(100% - 46px); border-radius: 99px; background: var(--grad); opacity: .75; }
.num-barra span { position: relative; float: right; font-weight: 600; color: #fff; }
.mini-avatar { width: 26px; height: 26px; flex: none; border-radius: 50%; display: inline-grid; place-items: center; font: 700 .64rem var(--body); color: #fff; background: linear-gradient(135deg, rgba(240,55,155,.7), rgba(59,139,234,.7)); }

.calor { display: grid; grid-template-columns: 110px repeat(7, minmax(0, 1fr)); gap: 4px; font-size: .74rem; }
.calor-dia { text-align: center; color: var(--dim); font-weight: 600; }
.calor-faixa { color: var(--muted); align-self: center; white-space: nowrap; }
.calor-cel { height: 30px; border-radius: 8px; display: grid; place-items: center; font-weight: 600; color: #fff; }

.quadro { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(218px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 8px; align-items: start; scroll-snap-type: x proximity; }
.coluna { display: flex; flex-direction: column; min-height: 320px; max-height: calc(100vh - 230px); border-radius: 20px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.1); scroll-snap-align: start; transition: border-color .15s, background .15s; }
.coluna.alvo { border-color: var(--cor-etapa); background: rgba(255,255,255,.07); box-shadow: 0 0 0 1px var(--cor-etapa) inset; }
.coluna-topo { display: flex; align-items: center; gap: 8px; padding: 14px 14px 10px; border-bottom: 1px solid rgba(255,255,255,.07); }
.coluna-topo::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--cor-etapa); box-shadow: 0 0 10px var(--cor-etapa); }
.coluna-nome { font-weight: 600; font-size: .88rem; color: #fff; }
.coluna-n { min-width: 24px; height: 22px; padding: 0 7px; border-radius: 99px; display: inline-grid; place-items: center; font-size: .74rem; font-weight: 700; color: #fff; background: rgba(255,255,255,.1); }
.coluna-dica { margin-left: auto; font-size: .7rem; color: var(--dim); }
.coluna-corpo { display: grid; gap: 10px; align-content: start; padding: 10px; overflow-y: auto; flex: 1; }
.coluna-vazia { margin: 8px 4px; font-size: .8rem; color: var(--dim); text-align: center; }

.kcard { display: grid; gap: 6px; padding: 12px 13px; border-radius: 16px; cursor: grab; background: rgba(16,24,58,.85); border: 1px solid rgba(255,255,255,.11); border-left: 3px solid var(--borda-prio, rgba(255,255,255,.25)); box-shadow: 0 6px 18px rgba(0,0,0,.25); transition: transform .15s, border-color .15s, box-shadow .15s; }
.kcard:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.24); border-left-color: var(--borda-prio); box-shadow: 0 10px 26px rgba(0,0,0,.35); }
.kcard:focus-visible { outline: 3px solid rgba(156,198,255,.7); outline-offset: 2px; }
.kcard.arrastando { opacity: .45; transform: rotate(1.5deg); }
.kcard.prio-urgente { --borda-prio: var(--erro); }
.kcard.prio-alta { --borda-prio: #FFC46B; }
.kcard.prio-normal { --borda-prio: var(--blue); }
.kcard-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.kcard-prot { font-size: .72rem; font-weight: 600; letter-spacing: .4px; color: var(--dim); }
.kcard-seller { margin: 0; font: 700 .98rem/1.25 var(--display); color: #fff; overflow-wrap: anywhere; }
.kcard-assunto { font-size: .76rem; color: var(--muted); }
.kcard-pessoa { display: flex; align-items: center; gap: 8px; font-size: .76rem; color: var(--muted); }
.kcard-pessoa .mini-avatar { width: 22px; height: 22px; font-size: .58rem; }
.kcard-rodape { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 6px; border-top: 1px solid rgba(255,255,255,.07); font-size: .72rem; color: var(--dim); }
.kcard-rodape .sla { display: inline-flex; align-items: center; gap: 4px; font-size: .72rem; }
.kcard-rodape .svg-ico { width: 13px; height: 13px; }
.kcard-info { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.kcard-anexo { display: inline-flex; align-items: center; gap: 2px; }
.pilula-prio { padding: 2px 8px; border-radius: 99px; font-size: .66rem; font-weight: 700; letter-spacing: .3px; text-transform: uppercase; }
.p-urgente { color: #2b0618; background: var(--erro); }
.p-alta { color: #2b1a00; background: #FFC46B; }
.p-normal { color: #9CC6FF; background: rgba(59,139,234,.16); border: 1px solid rgba(59,139,234,.35); }

.lista-barra { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.lista-total { font-size: .84rem; color: var(--muted); }
.botao-fino { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px; border-radius: 12px; cursor: pointer; font: 500 .8rem var(--body); color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); }
.botao-fino:hover { border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.08); }
.botao-fino .svg-ico { width: 15px; height: 15px; }
.tabela-lista td:nth-child(5), .tabela-lista td:nth-child(6) { white-space: normal; min-width: 130px; max-width: 210px; line-height: 1.3; }
.tabela-lista td:nth-child(2) { white-space: normal; min-width: 70px; }
.tabela-lista.com-sel td:nth-child(5) { white-space: nowrap; min-width: 0; max-width: none; }
.tabela-lista.com-sel td:nth-child(2) { white-space: nowrap; min-width: 0; }
.tabela-lista.com-sel td:nth-child(6), .tabela-lista.com-sel td:nth-child(7) { white-space: normal; min-width: 130px; max-width: 210px; line-height: 1.3; }
.tabela-lista.com-sel td:nth-child(3) { white-space: normal; min-width: 70px; }
.cen-filtros-btn { display: none; }
.cen-bloco .tabela-wrap, #cen-lista .tabela-wrap { background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.08); }
#cen-lista .tabela-wrap { max-height: calc(100vh - 260px); overflow: auto; }
.mais-linhas { margin: 14px auto 0; display: flex; }

.gaveta-fundo { position: fixed; inset: 0; z-index: 40; background: rgba(4,8,22,.55); backdrop-filter: blur(3px); opacity: 0; transition: opacity .2s; }
.gaveta-fundo.aberta { opacity: 1; }
.gaveta { position: fixed; top: 0; right: 0; bottom: 0; z-index: 41; width: min(560px, 100%); display: flex; flex-direction: column; background: linear-gradient(180deg, #121b44, #0b1230); border-left: 1px solid rgba(255,255,255,.14); box-shadow: -24px 0 60px rgba(0,0,0,.5); transform: translateX(104%); transition: transform .22s ease; }
.gaveta.aberta { transform: none; }
.gv-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 20px 22px 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
.gv-topo .kicker { margin: 0 0 4px; font-size: 11px; letter-spacing: 3px; }
.gv-titulo { margin: 0; font: 800 1.45rem/1.15 var(--display); color: #fff; overflow-wrap: anywhere; }
.gv-fechar { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 12px; cursor: pointer; color: var(--ink); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.gv-fechar:hover { border-color: rgba(255,255,255,.35); }
.gv-corpo { flex: 1; overflow-y: auto; padding: 16px 22px 24px; }
.gv-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; font-size: .8rem; }
.gv-rapidas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.gv-edicao { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; margin-bottom: 14px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); }
.gv-campo label { display: block; margin-bottom: 5px; font-size: .74rem; font-weight: 600; color: var(--dim); }
.gv-campo select, .gv-campo input { min-height: 42px; padding: 8px 34px 8px 12px; font-size: .86rem; border-radius: 12px; background-position: right 12px center; }
.gv-campo input { padding-right: 12px; }
.gv-dados { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 0 0 18px; }
.gv-dados div { min-width: 0; }
.gv-dados dt { font-size: .72rem; color: var(--dim); }
.gv-dados dd { margin: 1px 0 0; font-size: .84rem; color: var(--ink); overflow-wrap: anywhere; }
.gv-secao { margin: 0 0 10px; font-size: .74rem; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--pink); }
.gv-conversa { margin-bottom: 18px; }
.msg.nota { justify-self: stretch; max-width: 100%; border-radius: 14px; background: rgba(255,196,107,.08); border: 1px dashed rgba(255,196,107,.45); }
.msg.nota .msg-autor { color: #FFC46B; }
.gv-compor { padding: 14px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); display: grid; gap: 10px; }
.gv-compor.modo-nota { border-color: rgba(255,196,107,.45); background: rgba(255,196,107,.05); }
.gv-modo { display: flex; gap: 4px; padding: 4px; border-radius: 99px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.gv-modo button { flex: 1; min-height: 36px; border: 0; border-radius: 99px; cursor: pointer; font: 500 .8rem var(--body); color: var(--muted); background: none; }
.gv-modo button[aria-pressed="true"] { color: #fff; background: rgba(154,79,208,.32); box-shadow: inset 0 0 0 1px rgba(240,55,155,.5); }
.gv-compor.modo-nota .gv-modo button[aria-pressed="true"] { background: rgba(255,196,107,.22); box-shadow: inset 0 0 0 1px rgba(255,196,107,.6); }
.gv-prontas { min-height: 40px !important; padding: 7px 34px 7px 12px !important; font-size: .82rem !important; border-radius: 12px !important; background-position: right 12px center !important; }
.gv-compor textarea { min-height: 110px; font-size: .92rem; }
.gv-compor .anexar span { display: inline-flex; align-items: center; gap: 6px; }
.gv-compor .acoes { margin-top: 2px; }
body.com-gaveta { overflow: hidden; }
.toast-acao { margin-left: 8px; padding: 4px 12px; border-radius: 99px; cursor: pointer; font: 600 .84rem var(--body); color: #fff; background: rgba(240,55,155,.35); border: 1px solid rgba(240,55,155,.7); }

/* modo TV: quadro em tela cheia */
body.modo-tv .topo, body.modo-tv .abas, body.modo-tv .cen-menu, body.modo-tv .rodape, body.modo-tv .aviso-teste, body.modo-tv .cen-chips { display: none !important; }
body.modo-tv .app.largo { max-width: none; padding: 18px 24px; }
body.modo-tv .cen { grid-template-columns: minmax(0, 1fr); }
body.modo-tv .coluna { max-height: calc(100vh - 170px); }
body.modo-tv .kcard-seller { font-size: 1.08rem; }

@media (max-width: 1180px) {
  .cen-filtros-linha { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cen-busca { grid-column: 1 / -1; }
  .cen-grade-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cen-grade-3 > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 960px) {
  .cen { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .cen-menu { position: static; flex-direction: row; align-items: center; padding: 6px; gap: 6px; border-radius: 18px; overflow-x: auto; }
  .cen-quem, .cen-menu-pe .cen-atualizado, .cen-menu-pe .cen-chave { display: none; }
  .cen-nav { display: flex; gap: 4px; }
  .cen-nav-btn { width: auto; white-space: nowrap; min-height: 40px; }
  .cen-nav-novo { margin-top: 0; }
  .cen-menu-pe { padding: 0; border: 0; }
  .cen-pe-btn { display: none; }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cen-grade-21, .cen-grade-3 { grid-template-columns: minmax(0, 1fr); }
  .cen-grade-3 > :last-child { grid-column: auto; }
  .coluna { max-height: none; }
  .quadro { grid-auto-columns: minmax(260px, 82%); }
}
@media (max-width: 620px) {
  .cen-filtros-linha { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cen-filtros-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: 12px; cursor: pointer; font: 500 .84rem var(--body); color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); }
  .cen-filtros-btn[aria-expanded="true"] { border-color: rgba(240,55,155,.6); }
  .cen-filtros:not(.aberto) .cen-filtros-linha > select, .cen-filtros:not(.aberto) .cen-chips { display: none; }
  .cen-filtros:not(.aberto) { padding: 8px; }
  .kpi-valor { font-size: 1.45rem; }
  .gv-edicao, .gv-dados { grid-template-columns: minmax(0, 1fr); }
  .gv-corpo, .gv-topo { padding-left: 16px; padding-right: 16px; }
  .calor { grid-template-columns: 74px repeat(7, minmax(0, 1fr)); font-size: .66rem; }
  .calor-faixa { white-space: normal; line-height: 1.2; }
  .cen-cabeca-acoes { width: 100%; }
  .cen-periodo { flex: 1; }
  .cen-periodo select { width: 100%; }
}

/* ===================== Assistente de abertura ===================== */
.assistente { overflow: hidden; }
.as-topo .kicker { margin-bottom: 12px; }
.as-progresso { list-style: none; margin: 0 0 10px; padding: 0; display: flex; gap: 6px; }
.as-progresso li { flex: 1; display: flex; align-items: center; gap: 7px; min-width: 0; font-size: .74rem; color: var(--dim); }
.as-progresso li.clicavel { cursor: pointer; }
.as-progresso li.clicavel:hover .as-rotulo { color: #fff; }
.as-bolinha { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; font: 700 .72rem var(--body); color: var(--dim); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); transition: all .25s; }
.as-progresso li.atual { color: #fff; }
.as-progresso li.atual .as-bolinha { color: #fff; border-color: transparent; background: var(--grad); box-shadow: 0 0 18px rgba(240,55,155,.45); }
.as-progresso li.feito { color: var(--muted); }
.as-progresso li.feito .as-bolinha { color: var(--navy); background: var(--ok); border-color: var(--ok); }
.as-rotulo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.as-barra { height: 3px; margin: 0 0 24px; border-radius: 3px; background: rgba(255,255,255,.08); overflow: hidden; }
.as-barra i { display: block; height: 100%; background: var(--grad); border-radius: 3px; transition: width .4s cubic-bezier(.2,.8,.2,1); }
.as-corpo { animation: as-dir .32s cubic-bezier(.2,.8,.2,1); }
.as-corpo.entra-esq { animation-name: as-esq; }
@keyframes as-dir { from { opacity: 0; transform: translateX(26px); } to { opacity: 1; transform: none; } }
@keyframes as-esq { from { opacity: 0; transform: translateX(-26px); } to { opacity: 1; transform: none; } }
.as-titulo { margin-bottom: 6px; }
.as-sub { margin: 0 0 20px; color: var(--muted); font-size: .92rem; }
.as-assuntos { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.as-assunto { display: flex; align-items: center; gap: 14px; padding: 14px 16px; text-align: left; cursor: pointer; color: var(--ink); font: inherit; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); transition: transform .18s, border-color .18s, background .18s, box-shadow .18s; animation: as-sobe .38s cubic-bezier(.2,.8,.2,1) both; }
.as-assunto:hover, .as-assunto:focus-visible { transform: translateY(-2px); border-color: rgba(240,55,155,.6); background: rgba(240,55,155,.07); box-shadow: 0 10px 30px rgba(0,0,0,.25); outline: none; }
.as-assunto.escolhido { border-color: var(--pink); background: rgba(240,55,155,.1); }
@keyframes as-sobe { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.as-assunto-ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: linear-gradient(135deg, rgba(240,55,155,.22), rgba(59,139,234,.22)); border: 1px solid rgba(255,255,255,.14); }
.as-assunto-ico .svg-ico { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.as-assunto-txt { display: grid; gap: 2px; min-width: 0; }
.as-assunto-txt strong { font-weight: 600; font-size: .95rem; line-height: 1.25; }
.as-assunto-txt small { font-size: .76rem; color: var(--dim); line-height: 1.3; }
.as-assunto-cab { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: var(--muted); font-size: .88rem; }
.as-assunto-cab .as-assunto-ico { width: 36px; height: 36px; border-radius: 12px; }
.as-assunto-cab .as-assunto-ico .svg-ico { width: 18px; height: 18px; }
.as-assunto-cab strong { display: block; color: #fff; font-size: .98rem; }
.as-assunto-cab small { display: block; color: var(--dim); font-size: .8rem; }
.as-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.as-chip { min-height: 44px; padding: 0 16px; border-radius: 999px; cursor: pointer; color: var(--ink); font: 500 .88rem var(--body); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.18); transition: all .16s; }
.as-chip:hover { border-color: rgba(255,255,255,.4); }
.as-chip.escolhido { color: #fff; border-color: transparent; background: var(--grad); box-shadow: 0 6px 20px rgba(154,79,208,.4); }
.as-dica { padding: 16px 18px; border-radius: 18px; background: rgba(59,139,234,.09); border: 1px solid rgba(59,139,234,.32); }
.as-dica-rot { display: block; margin-bottom: 6px; font: 600 11px var(--body); letter-spacing: 3px; text-transform: uppercase; color: #9CC6FF; }
.as-dica strong:empty { display: none; }
.as-dica p { margin: 0 0 8px; font-size: .9rem; color: var(--ink); }
.as-rascunho { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; padding: 12px 14px; border-radius: 16px; font-size: .86rem; color: var(--muted); background: rgba(255,196,107,.08); border: 1px solid rgba(255,196,107,.3); }
.as-rascunho > span { flex: 1 1 220px; }
.as-origem { margin: -6px 0 14px; font-size: .82rem; color: var(--ok); }
.as-duplicado { display: grid; gap: 6px; justify-items: start; margin-top: 4px; padding: 14px 16px; border-radius: 16px; font-size: .86rem; background: rgba(255,196,107,.08); border: 1px solid rgba(255,196,107,.35); animation: as-sobe .3s ease both; }
.as-duplicado[hidden] { display: none; }
.as-duplicado strong { color: #FFD79A; }
.as-duplicado span { color: var(--ink); }
.as-duplicado small { color: var(--dim); }
.as-docs { margin-bottom: 18px; padding: 14px 16px; border-radius: 16px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1); }
.as-docs .rotulo { display: block; margin-bottom: 8px; }
.as-doc { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: .9rem; cursor: pointer; }
.as-doc input { width: 18px; height: 18px; accent-color: var(--pink); }
.as-anexar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.as-anexar .anexar span { display: inline-flex; align-items: center; gap: 6px; }
.as-anexar .anexar .svg-ico { width: 16px; height: 16px; }
.as-gravar { font: 500 .9rem var(--body); gap: 10px; }
.as-mic { width: 12px; height: 12px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 0 4px rgba(240,55,155,.2); }
.as-gravar.gravando { color: #fff; border-style: solid; border-color: var(--pink); background: rgba(240,55,155,.12); }
.as-gravar.gravando .as-mic { animation: as-pulsa 1s ease-in-out infinite; }
@keyframes as-pulsa { 50% { box-shadow: 0 0 0 9px rgba(240,55,155,0); transform: scale(.85); } }
.as-resumo { margin-bottom: 20px; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); }
.as-resumo .as-assunto-cab { margin-bottom: 10px; }
.as-dl { margin: 0; display: grid; gap: 8px; }
.as-dl > div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; font-size: .88rem; }
.as-dl dt { color: var(--dim); }
.as-dl dd { margin: 0; color: var(--ink); white-space: pre-wrap; word-break: break-word; }
.as-prio-op { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.as-prio-btn { position: relative; display: grid; gap: 3px; padding: 12px 14px; text-align: left; cursor: pointer; color: var(--ink); font: inherit; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14); transition: all .16s; }
.as-prio-btn strong { font-size: .92rem; }
.as-prio-btn small { font-size: .74rem; color: var(--dim); line-height: 1.3; }
.as-prio-btn.escolhido.p-urgente { border-color: #FF6B8B; background: rgba(255,107,139,.12); }
.as-prio-btn.escolhido.p-alta { border-color: #FFC46B; background: rgba(255,196,107,.1); }
.as-prio-btn.escolhido.p-normal { border-color: #3B8BEA; background: rgba(59,139,234,.12); }
.as-sugerida { position: absolute; top: -8px; right: 10px; padding: 1px 8px; border-radius: 999px; font: 600 .64rem var(--body); letter-spacing: .5px; text-transform: uppercase; color: var(--navy); background: var(--ok); }
.as-previsao { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 10px; padding: 12px 14px; border-radius: 14px; font-size: .88rem; color: var(--ink); background: rgba(95,224,168,.07); border: 1px solid rgba(95,224,168,.25); }
.as-previsao .svg-ico { flex: none; width: 18px; height: 18px; margin-top: 2px; fill: none; stroke: var(--ok); stroke-width: 1.8; }
.status-bo { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: .84rem; color: var(--muted); }
.status-bo::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--dim); }
.status-bo.bo-online::before { background: var(--ok); box-shadow: 0 0 0 4px rgba(95,224,168,.18); }
.status-bo.bo-reuniao::before { background: #FFC46B; }
.status-bo.bo-ausente::before { background: #FF6B8B; }
.status-bo.bo-fora::before { background: var(--dim); }
.as-acoes { margin-top: 22px; }
.as-sucesso { position: relative; display: grid; justify-items: center; text-align: center; padding: 10px 0 4px; }
.as-sucesso .as-acoes { justify-content: center; }
.as-sucesso .status-bo { justify-content: center; text-align: left; max-width: 460px; }
.as-check { width: 104px; height: 104px; margin-bottom: 10px; }
.as-check svg { width: 100%; height: 100%; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.as-check-circ { stroke: var(--ok); stroke-width: 5; stroke-dasharray: 315; stroke-dashoffset: 315; animation: as-traco .6s cubic-bezier(.65,0,.45,1) forwards; }
.as-check-ok { stroke: #fff; stroke-width: 7; stroke-dasharray: 80; stroke-dashoffset: 80; animation: as-traco .35s .5s cubic-bezier(.65,0,.45,1) forwards; }
@keyframes as-traco { to { stroke-dashoffset: 0; } }
.as-protocolo { margin: 0 0 8px; font: 800 clamp(2.2rem, 8vw, 3rem)/1 var(--display); letter-spacing: -.01em; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.as-sucesso .as-sub { max-width: 460px; }
.confete { position: absolute; inset: 0 0 auto; height: 0; pointer-events: none; }
.confete i { position: absolute; top: 0; width: 8px; height: 13px; border-radius: 2px; opacity: 0; animation: confete 1.6s cubic-bezier(.2,.6,.4,1) forwards; }
@keyframes confete { 0% { opacity: 1; transform: translateY(0) rotate(0); } 100% { opacity: 0; transform: translateY(320px) rotate(540deg); } }
.mini-chamado { font: 500 0.78rem var(--body); color: #9CC6FF; background: none; border: 0; cursor: pointer; padding: 4px; }
.mini-chamado:hover { color: #fff; }
.link-rodape { padding: 0; font-size: inherit; }
.sug-corpo .as-chips { margin-bottom: 14px; }
.sug-corpo .anexar { margin-bottom: 8px; }
.visor audio { width: min(460px, 90vw); }
@media (max-width: 640px) {
  .as-rotulo { display: none; }
  .as-progresso li.atual .as-rotulo { display: inline; }
  .as-progresso { justify-content: space-between; }
  .as-progresso li { flex: 0 0 auto; }
  .as-assuntos { grid-template-columns: 1fr; }
  .as-prio-op { grid-template-columns: 1fr; }
  .as-anexar { grid-template-columns: 1fr; }
  .as-dl > div { grid-template-columns: 1fr; gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .as-corpo, .as-assunto, .as-duplicado { animation: none; }
  .confete { display: none; }
  .as-check-circ, .as-check-ok { stroke-dashoffset: 0; }
}

/* ===================== Acompanhamento e avaliação ===================== */
.trilha { margin: 0 0 22px; padding: 16px 18px 14px; border-radius: 18px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.1); }
.trilha ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.trilha li { position: relative; display: grid; justify-items: center; gap: 8px; text-align: center; }
.trilha li::before { content: ""; position: absolute; top: 8px; left: -50%; width: 100%; height: 2px; background: rgba(255,255,255,.12); }
.trilha li:first-child::before { display: none; }
.trilha li.feito::before, .trilha li.atual::before { background: var(--grad); }
.trilha-ponto { position: relative; z-index: 1; width: 18px; height: 18px; border-radius: 50%; background: var(--navy-2); border: 2px solid rgba(255,255,255,.22); }
.trilha li.feito .trilha-ponto { background: var(--ok); border-color: var(--ok); }
.trilha li.atual .trilha-ponto { background: var(--pink); border-color: var(--pink); box-shadow: 0 0 0 5px rgba(240,55,155,.22); animation: as-pulsa-ponto 1.8s ease-in-out infinite; }
.trilha.com-voce li.atual .trilha-ponto { background: #FFC46B; border-color: #FFC46B; box-shadow: 0 0 0 5px rgba(255,196,107,.22); }
@keyframes as-pulsa-ponto { 50% { box-shadow: 0 0 0 9px rgba(240,55,155,0); } }
.trilha-txt { display: grid; gap: 1px; }
.trilha-txt strong { font-size: .82rem; font-weight: 600; color: var(--muted); }
.trilha li.atual .trilha-txt strong { color: #fff; }
.trilha-txt small { font-size: .72rem; color: var(--dim); }
.trilha-nota { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); font-size: .86rem; color: var(--ink); text-align: center; }
.trilha.com-voce .trilha-nota { color: #FFD79A; }
.avaliar { margin: 0 0 22px; padding: 20px; border-radius: 20px; background: linear-gradient(135deg, rgba(240,55,155,.1), rgba(59,139,234,.1)); border: 1px solid rgba(240,55,155,.35); animation: as-sobe .4s ease both; }
.avaliar .kicker { margin-bottom: 6px; }
.avaliar-titulo { margin: 0 0 4px; font: 800 1.3rem/1.2 var(--display); color: #fff; }
.avaliar .as-sub { margin-bottom: 14px; }
.avaliar-grade { display: grid; gap: 4px; margin-bottom: 8px; }
.avaliar-linha { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.avaliar-txt { display: grid; min-width: 0; flex: 1 1 220px; }
.avaliar-txt strong { font-size: .92rem; font-weight: 600; }
.avaliar-txt small { font-size: .78rem; color: var(--dim); }
.avaliar-estrelas { display: flex; gap: 2px; }
.estrela { width: 40px; height: 40px; padding: 0; border: 0; cursor: pointer; background: none; color: rgba(255,255,255,.22); transition: transform .12s, color .12s; }
.estrela::before { content: "★"; font-size: 28px; line-height: 40px; }
.estrela:hover { transform: scale(1.12); }
.estrela.on { color: #FFC46B; }
.avaliar-estrelas.pulsa .estrela.on { animation: estrela-pop .3s ease; }
@keyframes estrela-pop { 50% { transform: scale(1.25); } }
.avaliar-resolvido { border-bottom: 0; }
.avaliar-resolvido .as-chips { margin: 0; }
.avaliar textarea { margin: 6px 0 12px; }
.avaliar.avaliado { display: grid; justify-items: center; text-align: center; }
.as-check-p { width: 72px; height: 72px; }
.av-feita { margin: 0 0 20px; font-size: .88rem; color: var(--muted); }
.av-feita strong { color: #FFC46B; }
.reabrir { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 0 20px; font-size: .88rem; color: var(--muted); }
.chamado-avaliar { font-size: .84rem; font-weight: 600; color: #FFC46B; }
.chamado-nota { font-size: .8rem; color: var(--dim); }
.msg.msg-avaliacao { color: #FFC46B; }
.pilula-reaberto, .pilula-origem { display: inline-flex; align-items: center; min-height: 22px; padding: 0 9px; border-radius: 999px; font: 600 .7rem var(--body); }
.pilula-reaberto { color: #FFD79A; background: rgba(255,196,107,.14); border: 1px solid rgba(255,196,107,.4); }
.pilula-origem { color: #9CC6FF; background: rgba(59,139,234,.12); border: 1px solid rgba(59,139,234,.35); }
.gv-avaliacao { margin: 0 0 16px; padding: 14px 16px; border-radius: 16px; background: rgba(255,196,107,.07); border: 1px solid rgba(255,196,107,.3); }
.gv-av-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.gv-av-nota { font: 800 1.8rem/1 var(--display); color: #FFC46B; }
.gv-av-topo span { display: block; font-size: .86rem; font-weight: 600; }
.gv-av-topo small { display: block; font-size: .76rem; color: var(--dim); }
.gv-av-crit { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.gv-av-crit li { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: .78rem; color: var(--muted); }
.estrelas { display: inline-flex; gap: 1px; }
.estrelas i { font-style: normal; font-size: .82rem; color: rgba(255,255,255,.2); }
.estrelas i::before { content: "★"; }
.estrelas i.on { color: #FFC46B; }
.gv-av-coment { margin: 8px 0 0; font-size: .84rem; font-style: italic; color: var(--ink); }
.cen-status-bo { display: grid; gap: 6px; }
.cen-status-bo[hidden] { display: none; }
.cen-status-rot { font-size: .72rem; letter-spacing: .5px; color: var(--dim); }
.cen-status-op { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; padding: 3px; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.cen-status-op button { min-height: 30px; padding: 0 4px; border: 0; border-radius: 9px; cursor: pointer; font: 500 .74rem var(--body); color: var(--muted); background: none; }
.cen-status-op button.ativa { color: #fff; }
.cen-status-op .st-online.ativa { background: rgba(95,224,168,.22); box-shadow: inset 0 0 0 1px rgba(95,224,168,.6); }
.cen-status-op .st-reuniao.ativa { background: rgba(255,196,107,.2); box-shadow: inset 0 0 0 1px rgba(255,196,107,.6); }
.cen-status-op .st-ausente.ativa { background: rgba(255,107,139,.2); box-shadow: inset 0 0 0 1px rgba(255,107,139,.6); }
.cen-status-info { font-size: .74rem; color: var(--dim); }
.cen-ausencia { display: grid; gap: 6px; }
.cen-ausencia label { display: grid; gap: 3px; font-size: .74rem; color: var(--dim); }
.cen-ausencia input { min-height: 34px; padding: 0 10px; font-size: .82rem; border-radius: 10px; }
.so-leitura .kcard { cursor: pointer; }
@media (max-width: 640px) {
  .trilha { padding: 14px 10px 12px; }
  .estrela { width: 36px; height: 40px; }
  .gv-av-crit { grid-template-columns: 1fr; }
}

/* ===================== Ferramentas da backoffice ===================== */
input[type="datetime-local"]::-webkit-calendar-picker-indicator, input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .7; }
kbd { display: inline-block; min-width: 20px; padding: 1px 6px; border-radius: 6px; font: 600 .66rem var(--body); color: var(--muted); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); text-align: center; }
.cen-paleta-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border-radius: 14px; cursor: pointer; font: 500 .84rem var(--body); color: var(--muted); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.cen-paleta-btn:hover { color: #fff; border-color: rgba(255,255,255,.3); }
.cen-paleta-btn .svg-ico { width: 16px; height: 16px; }
.cen-proximo { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 14px; cursor: pointer; font: 600 .86rem var(--body); color: #fff; border: 0; background: var(--grad); background-size: 200% 100%; box-shadow: 0 8px 24px rgba(154,79,208,.4); transition: background-position .3s, transform .15s; }
.cen-proximo:hover { background-position: 100% 0; transform: translateY(-1px); }
.cen-proximo .svg-ico { width: 16px; height: 16px; }
.cen-proximo[hidden] { display: none; }

.etqs { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.etq { display: inline-flex; align-items: center; gap: 4px; min-height: 22px; padding: 0 8px; border-radius: 7px; font: 600 .68rem var(--body); letter-spacing: .2px; white-space: nowrap; border: 1px solid transparent; }
button.etq { cursor: pointer; }
.etq-rosa { color: #FFC2E1; background: rgba(240,55,155,.18); border-color: rgba(240,55,155,.4); }
.etq-roxo { color: #DCC2F5; background: rgba(154,79,208,.2); border-color: rgba(154,79,208,.45); }
.etq-azul { color: #B8D7FF; background: rgba(59,139,234,.18); border-color: rgba(59,139,234,.42); }
.etq-verde { color: #A9F0CF; background: rgba(95,224,168,.14); border-color: rgba(95,224,168,.4); }
.etq-amarelo { color: #FFE0A8; background: rgba(255,196,107,.15); border-color: rgba(255,196,107,.42); }
.etq-vermelho { color: #FFB3C3; background: rgba(255,107,139,.17); border-color: rgba(255,107,139,.45); }
.etq-cinza { color: var(--muted); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); }
.etq-off { opacity: .6; }
.etq-mais { color: var(--dim); background: rgba(255,255,255,.05); }
.etq-x { width: 20px; height: 20px; padding: 0; margin-left: 2px; border-radius: 6px; border: 0; cursor: pointer; font-size: .9rem; line-height: 1; color: inherit; background: rgba(255,255,255,.08); }
.etq-x:hover { background: rgba(255,255,255,.2); }
.etq-add { width: auto; min-height: 28px !important; padding: 2px 28px 2px 10px !important; font-size: .74rem !important; border-radius: 8px !important; border-style: dashed !important; }
.kcard .etqs { margin: 6px 0 2px; }
.tabela-lista .etqs { margin-top: 4px; }
.kcard-anexo.ok { color: var(--ok); }
.kcard-anexo.alerta { color: #FFC46B; }
.mini-resp { width: 20px; height: 20px; font-size: .56rem; }

.gv-trabalho { display: grid; gap: 10px; padding: 14px; margin-bottom: 14px; border-radius: 16px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.09); }
.gv-linha-t { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; align-items: center; }
.gv-rot { font-size: .74rem; font-weight: 600; color: var(--dim); }
.gv-lembrete, .gv-vinculo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.mini-op { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border-radius: 9px; cursor: pointer; font: 500 .74rem var(--body); color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); }
.mini-op:hover { border-color: rgba(255,255,255,.35); }
.mini-data { width: auto !important; min-height: 30px !important; padding: 2px 8px !important; font-size: .74rem !important; border-radius: 9px !important; }
.lembrete-atual { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 6px 0 10px; border-radius: 9px; font-size: .8rem; color: #FFE0A8; background: rgba(255,196,107,.12); border: 1px solid rgba(255,196,107,.35); }
.lembrete-atual.vencido { color: #FFB3C3; background: rgba(255,107,139,.14); border-color: rgba(255,107,139,.45); }
.lembrete-atual .svg-ico { width: 14px; height: 14px; }
.gv-check { padding-top: 10px; border-top: 1px solid rgba(255,255,255,.07); }
.gv-check-cab { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.gv-check-n { font-size: .74rem; color: var(--muted); }
.gv-check-barra { height: 4px; margin-bottom: 8px; border-radius: 4px; background: rgba(255,255,255,.08); overflow: hidden; }
.gv-check-barra i { display: block; height: 100%; background: var(--ok); transition: width .3s; }
.gv-check-lista { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 2px; }
.gv-check-lista li { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 4px; border-radius: 8px; }
.gv-check-lista li:hover { background: rgba(255,255,255,.04); }
.gv-check-lista label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .86rem; font-weight: 400; cursor: pointer; }
.gv-check-lista input { width: 17px; height: 17px; accent-color: var(--ok); }
.gv-check-lista li.ok span { color: var(--dim); text-decoration: line-through; }
.gv-check-add { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.gv-check-add input { flex: 1 1 200px; min-height: 36px; padding: 6px 12px; font-size: .84rem; border-radius: 10px; }
.gv-historico { margin: 0 0 16px; padding: 10px 14px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.09); }
.gv-historico summary { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: .84rem; font-weight: 600; list-style: none; }
.gv-historico summary::-webkit-details-marker { display: none; }
.gv-historico summary .svg-ico { width: 16px; height: 16px; color: var(--muted); }
.gv-hist-n { margin-left: auto; min-width: 22px; padding: 0 7px; border-radius: 99px; font-size: .72rem; text-align: center; background: rgba(255,255,255,.08); }
.gv-hist-n:empty { display: none; }
.gv-hist-lista { list-style: none; margin: 10px 0 8px; padding: 0; display: grid; gap: 4px; }
.gv-hist-lista .fraco { font-size: .8rem; color: var(--dim); }
.gv-hist-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 10px; align-items: center; width: 100%; padding: 8px 10px; border-radius: 10px; cursor: pointer; text-align: left; font: inherit; font-size: .8rem; color: var(--ink); background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); }
.gv-hist-item:hover { border-color: rgba(255,255,255,.25); }
.gv-hist-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }
.gv-hist-item small { color: var(--dim); white-space: nowrap; }
.gv-macros { margin-top: -2px; }
.gv-compor .acoes { flex-wrap: wrap; gap: 8px; }
.gv-compor .acoes .botao { min-height: 46px; padding: 0 20px; font-size: .9rem; }
.gv-compor .acoes .gv-salvar-proximo { margin-right: 0; }

/* diálogo curto */
.dlg-fundo { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 16px; background: rgba(4,8,22,.6); backdrop-filter: blur(4px); opacity: 0; transition: opacity .16s; }
.dlg-fundo.aberto { opacity: 1; }
.dlg { width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 24px; border-radius: 24px; background: linear-gradient(180deg, #151f4d, #0d1536); border: 1px solid rgba(255,255,255,.16); box-shadow: 0 30px 80px rgba(0,0,0,.55); transform: translateY(8px) scale(.98); transition: transform .16s; }
.dlg-fundo.aberto .dlg { transform: none; }
.dlg-titulo { margin: 0 0 4px; font: 800 1.35rem/1.2 var(--display); color: #fff; }
.dlg-sub { margin: 0 0 16px; font-size: .86rem; color: var(--muted); }
.dlg-texto { margin: 8px 0 14px; white-space: pre-line; color: var(--ink); }
.dlg-ops { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.dlg-op { min-height: 40px; padding: 0 14px; border-radius: 12px; cursor: pointer; font: 500 .86rem var(--body); color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); text-align: left; }
.dlg-op:hover { border-color: rgba(255,255,255,.36); }
.dlg-op.escolhido { color: #fff; border-color: var(--pink); background: rgba(240,55,155,.16); }
.dlg-op-grande { display: grid; gap: 2px; flex: 1 1 200px; padding: 12px 14px; }
.dlg-op-grande small { font-size: .74rem; color: var(--dim); }
.dlg .acoes { margin-top: 16px; }
.dlg-critico { border-color: rgba(255,107,139,.6); box-shadow: 0 0 0 1px rgba(255,107,139,.3), 0 30px 80px rgba(0,0,0,.55); }

/* Meu dia */
.hoje-topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; padding: 22px 24px; border-radius: 22px; background: linear-gradient(120deg, rgba(240,55,155,.16), rgba(59,139,234,.12)); border: 1px solid rgba(255,255,255,.14); }
.hoje-ola { margin: 0 0 4px; font: 800 1.5rem/1.15 var(--display); color: #fff; }
.hoje-frase { margin: 0; color: var(--muted); }
.hoje-comecar { flex: none; }
.hoje-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.hoje-num { display: grid; gap: 2px; padding: 14px 16px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); }
.hoje-num strong { font: 800 1.6rem/1 var(--display); color: #fff; }
.hoje-num span { font-size: .78rem; color: var(--dim); }
.hoje-num.alerta strong { color: var(--erro); }
.hoje-num.ok strong { color: var(--ok); }
.hoje-grupo { margin-bottom: 16px; }
.hoje-grupo header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.hoje-grupo h4 { margin: 0; font-size: .74rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.hoje-grupo.g0 h4 { color: var(--erro); }
.hoje-grupo.g1 h4 { color: #FFC46B; }
.hoje-grupo ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.hoje-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 12px; align-items: center; width: 100%; padding: 12px 14px; border-radius: 14px; cursor: pointer; text-align: left; font: inherit; color: var(--ink); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); transition: border-color .15s, transform .15s; }
.hoje-item:hover { border-color: rgba(240,55,155,.55); transform: translateX(2px); }
.hoje-item-txt { display: grid; min-width: 0; }
.hoje-item-txt strong { font-size: .92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hoje-item-txt small { font-size: .76rem; color: var(--dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hoje-quando { font-size: .76rem; color: var(--muted); white-space: nowrap; }
.g0 .hoje-quando { color: var(--erro); }
.hoje-vazio { display: grid; gap: 4px; justify-items: center; padding: 40px 16px; border-radius: 20px; text-align: center; background: rgba(95,224,168,.06); border: 1px dashed rgba(95,224,168,.35); }
.hoje-vazio strong { font: 800 1.3rem var(--display); color: var(--ok); }
.hoje-vazio span { color: var(--muted); font-size: .88rem; }

/* busca rápida */
.paleta-fundo { position: fixed; inset: 0; z-index: 70; display: flex; justify-content: center; align-items: flex-start; padding: 12vh 16px 16px; background: rgba(4,8,22,.55); backdrop-filter: blur(4px); opacity: 0; transition: opacity .14s; }
.paleta-fundo.aberta { opacity: 1; }
.paleta { width: min(640px, 100%); overflow: hidden; border-radius: 20px; background: #10183d; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 30px 90px rgba(0,0,0,.6); }
.paleta-busca { display: flex; align-items: center; gap: 10px; margin: 0; padding: 0 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
.paleta-busca .svg-ico { width: 18px; height: 18px; color: var(--muted); }
.paleta-busca input { border: 0 !important; background: none !important; box-shadow: none !important; min-height: 56px; padding: 0; font-size: 1.02rem; }
.paleta-lista { list-style: none; margin: 0; padding: 6px; max-height: 52vh; overflow: auto; }
.paleta-grupo { padding: 10px 10px 4px; font-size: .68rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--dim); }
.paleta-item { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; cursor: pointer; font-size: .9rem; }
.paleta-item.ativo { background: rgba(154,79,208,.28); box-shadow: inset 0 0 0 1px rgba(240,55,155,.45); }
.paleta-item .svg-ico { width: 18px; height: 18px; color: var(--muted); }
.paleta-prot { flex: none; min-width: 72px; font-weight: 700; color: var(--pink); }
.paleta-txt { flex: 1; display: grid; min-width: 0; }
.paleta-txt small { font-size: .76rem; color: var(--dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.paleta-vazio { padding: 18px; text-align: center; color: var(--dim); font-size: .88rem; }
.paleta-dica { display: flex; gap: 6px; align-items: center; margin: 0; padding: 10px 16px; font-size: .74rem; color: var(--dim); border-top: 1px solid rgba(255,255,255,.08); }
.paleta-dica kbd + kbd { margin-left: -2px; }

/* ações em massa */
.massa { display: none; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; padding: 10px 12px; border-radius: 14px; background: rgba(154,79,208,.16); border: 1px solid rgba(240,55,155,.4); }
.massa.ativa { display: flex; animation: as-sobe .2s ease both; }
.massa-n { margin-right: 6px; font-size: .86rem; }
.massa select { width: auto; min-height: 36px; padding: 4px 30px 4px 10px; font-size: .8rem; border-radius: 10px; }
.tabela-lista th.sel, .tabela-lista td.sel { width: 36px; padding-right: 0; }
.tabela-lista .sel input { width: 17px; height: 17px; accent-color: var(--pink); cursor: pointer; }
.tabela-lista tr.selecionada td { background: rgba(240,55,155,.08); }

/* mural */
.mural { display: grid; gap: 8px; margin-bottom: 14px; }
.mural-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 14px 16px; border-radius: 18px; background: rgba(59,139,234,.1); border: 1px solid rgba(59,139,234,.35); animation: as-sobe .35s ease both; transition: opacity .25s, transform .25s; }
.mural-card.nv-importante { background: rgba(255,196,107,.1); border-color: rgba(255,196,107,.45); }
.mural-card.nv-critico { background: rgba(255,107,139,.12); border-color: rgba(255,107,139,.55); }
.mural-card.saindo { opacity: 0; transform: translateX(30px); }
.mural-card.lido { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.1); }
.mural-ico { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(59,139,234,.22); color: #B8D7FF; }
.nv-importante .mural-ico { background: rgba(255,196,107,.2); color: #FFE0A8; }
.nv-critico .mural-ico { background: rgba(255,107,139,.22); color: #FFB3C3; }
.mural-ico .svg-ico { width: 20px; height: 20px; }
.mural-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mural-cab strong { color: #fff; font-size: .96rem; }
.mural-nivel { padding: 1px 8px; border-radius: 99px; font-size: .64rem; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: #2b1a00; background: #FFC46B; }
.nv-critico .mural-nivel { color: #2b0618; background: var(--erro); }
.mural-texto { margin: 4px 0 2px; font-size: .88rem; color: var(--ink); white-space: pre-line; }
.mural-texto.cortado { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mural-mais { padding: 0; font-size: .8rem; }
.mural-meta { display: block; font-size: .74rem; color: var(--dim); }
.mural-ok { align-self: center; min-height: 38px; padding: 0 16px; border-radius: 12px; cursor: pointer; font: 600 .84rem var(--body); color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); white-space: nowrap; }
.mural-ok:hover { background: rgba(255,255,255,.18); }
.nv-critico .mural-ok { background: rgba(255,107,139,.35); border-color: rgba(255,107,139,.7); }
.mural-pe { display: flex; justify-content: flex-end; align-items: center; gap: 12px; font-size: .8rem; color: var(--dim); }
.mural-ver { display: inline-flex; align-items: center; gap: 4px; font-size: .8rem; }
.mural-ver .svg-ico { width: 15px; height: 15px; }
.mural.so-pe { margin-bottom: 6px; }
.painel-lateral .mural-card { margin-bottom: 10px; }

/* gestão de avisos */
.av-barra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.av-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); margin-bottom: 12px; }
.av-barra .av-seg { margin-bottom: 0; }
.av-novo { gap: 6px; }
.av-novo .svg-ico { width: 18px; height: 18px; }
.av-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; }
.av-card { display: grid; gap: 8px; align-content: start; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-left: 4px solid #3B8BEA; }
.av-card.nv-importante { border-left-color: #FFC46B; }
.av-card.nv-critico { border-left-color: #FF6B8B; }
.av-card.st-encerrado { opacity: .7; }
.av-topo { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.av-sit, .av-nivel, .av-pub, .av-canal { display: inline-flex; align-items: center; min-height: 22px; padding: 0 9px; border-radius: 99px; font: 600 .68rem var(--body); }
.av-sit { color: var(--navy); background: var(--ok); }
.av-agendado { color: #2b1a00; background: #FFC46B; }
.av-encerrado { color: var(--muted); background: rgba(255,255,255,.1); }
.av-nivel, .av-pub, .av-canal { color: var(--muted); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.av-titulo { margin: 2px 0 0; font: 700 1.02rem/1.3 var(--body); color: #fff; }
.av-texto { margin: 0; font-size: .86rem; color: var(--ink); white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.av-meta { font-size: .74rem; color: var(--dim); }
.av-leitura { display: grid; gap: 5px; }
.av-leitura-txt { font-size: .82rem; color: var(--muted); }
.av-leitura-txt strong { color: #fff; }
.av-leitura-barra { height: 6px; border-radius: 6px; background: rgba(255,255,255,.08); overflow: hidden; }
.av-leitura-barra i { display: block; height: 100%; background: var(--grad); border-radius: 6px; }
.av-acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.av-encerrar { color: #FFB3C3; }
.av-faltam { list-style: none; margin: 4px 0 0; padding: 10px; display: grid; gap: 6px; border-radius: 12px; background: rgba(255,255,255,.03); }
.av-faltam li { display: flex; align-items: center; gap: 8px; font-size: .84rem; }
.av-faltam small { margin-left: auto; font-size: .72rem; color: var(--dim); }
.av-checks { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 4px; }
.av-checks .as-doc { padding: 4px 0; }
.as-doc.desligado { opacity: .5; cursor: default; }
.av-publico .as-chips { margin-bottom: 6px; }
.av-fixo { display: inline-flex; padding: 8px 14px; border-radius: 12px; font-size: .88rem; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.av-niveis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.av-niveis .nv-info.escolhido { border-color: #3B8BEA; background: rgba(59,139,234,.12); }
.av-niveis .nv-importante.escolhido { border-color: #FFC46B; background: rgba(255,196,107,.1); }
.av-niveis .nv-critico.escolhido { border-color: #FF6B8B; background: rgba(255,107,139,.12); }
.av-atalhos { margin: 6px 0 0; }
.av-previa { margin-bottom: 16px; }
.painel-lateral { width: min(620px, 100%); z-index: 45; }

/* configurações */
.cfg-abas { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 16px; padding: 4px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); }
.cfg-aba { position: relative; min-height: 38px; padding: 0 14px; border-radius: 12px; border: 0; cursor: pointer; font: 500 .84rem var(--body); color: var(--muted); background: none; }
.cfg-aba:hover { color: #fff; }
.cfg-aba.ativa { color: #fff; background: rgba(154,79,208,.3); box-shadow: inset 0 0 0 1px rgba(240,55,155,.45); }
.cfg-aba.suja::after { content: ""; position: absolute; top: 7px; right: 6px; width: 7px; height: 7px; border-radius: 50%; background: #FFC46B; }
.cfg-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.cfg-titulo { margin: 0 0 2px; font: 800 1.25rem var(--display); color: #fff; }
.cfg-sub { margin: 0; font-size: .86rem; color: var(--muted); max-width: 640px; }
.cfg-meta { display: block; margin-top: 4px; font-size: .74rem; color: var(--dim); }
.cfg-cab-acoes { display: flex; align-items: center; gap: 14px; }
.cfg-salvar:disabled { opacity: .45; cursor: default; filter: saturate(.3); }
.cfg-corpo { display: grid; gap: 8px; }
.cfg-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); }
.cfg-linha > input, .cfg-linha > select { flex: 1 1 180px; width: auto; min-height: 40px; padding: 6px 12px; font-size: .88rem; border-radius: 10px; }
.cfg-linha > select { flex: 0 1 170px; padding-right: 30px; }
.cfg-linha .etq { flex: none; }
.cfg-linha-acoes { display: flex; gap: 4px; margin-left: auto; }
.cfg-mini { width: 32px; height: 32px; padding: 0; border-radius: 9px; cursor: pointer; font-size: .95rem; color: var(--muted); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.cfg-mini:hover:not(:disabled) { color: #fff; border-color: rgba(255,255,255,.35); }
.cfg-mini:disabled { opacity: .3; cursor: default; }
.cfg-cartao { display: grid; gap: 8px; padding: 14px; border-radius: 16px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.1); }
.cfg-cartao-topo { display: flex; gap: 8px; align-items: center; }
.cfg-cartao-topo input { min-height: 40px; padding: 6px 12px; font-size: .9rem; font-weight: 600; border-radius: 10px; }
.cfg-cartao textarea { min-height: 70px; font-size: .88rem; padding: 10px 12px; border-radius: 10px; }
.cfg-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px; }
.cfg-rot { display: grid; gap: 4px; margin: 0; font-size: .72rem; font-weight: 600; color: var(--dim); }
.cfg-rot select { min-height: 38px; padding: 4px 30px 4px 10px; font-size: .84rem; border-radius: 10px; }
.cfg-etqs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cfg-etqs .cfg-rot { margin-right: 4px; }
.cfg-vars { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: .78rem; color: var(--dim); }
.cfg-bloco { padding: 16px; border-radius: 16px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.1); }
.cfg-bloco h4 { margin: 0 0 2px; font-size: .95rem; color: #fff; }
.cfg-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-top: 10px; }
.cfg-num { display: grid; gap: 6px; margin: 0; padding: 12px; border-radius: 14px; font-size: .8rem; font-weight: 500; color: var(--muted); background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); }
.cfg-num .pilula-prio { justify-self: start; }
.cfg-num input { min-height: 44px; font: 800 1.2rem var(--display); }
.cfg-num small { font-size: .72rem; color: var(--dim); }
.cfg-chave { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 14px 16px; border-radius: 14px; cursor: pointer; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.1); }
.cfg-chave-txt { display: grid; gap: 2px; }
.cfg-chave-txt strong { font-size: .92rem; color: #fff; }
.cfg-chave-txt small { font-size: .78rem; font-weight: 400; color: var(--dim); }
.cfg-chave input { flex: none; width: 44px; height: 26px; appearance: none; border-radius: 99px; background: rgba(255,255,255,.14); position: relative; cursor: pointer; transition: background .2s; }
.cfg-chave input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.cfg-chave input:checked { background: var(--ok); }
.cfg-chave input:checked::after { transform: translateX(18px); }
.cfg-assunto.inativo { opacity: .55; }
.cfg-assunto .as-assunto-ico { width: 38px; height: 38px; }
.cfg-assunto-txt { display: grid; flex: 1 1 220px; min-width: 0; }
.cfg-assunto-txt strong { font-size: .92rem; }
.cfg-assunto-txt small { font-size: .76rem; color: var(--dim); }
.sug-card .sug-texto { -webkit-line-clamp: 8; }
.sug-resp { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 8px; align-items: start; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.08); }
.sug-resp select { min-height: 40px; padding: 4px 30px 4px 10px; font-size: .84rem; border-radius: 10px; }
.sug-resp textarea { min-height: 40px; font-size: .86rem; padding: 8px 12px; border-radius: 10px; }
.sug-resp .as-doc { grid-column: 1 / 2; font-size: .8rem; }
.sug-resp .botao-fino { justify-self: end; grid-column: 2; }
.sug-nova { color: #2b0618; background: var(--pink); }
.sug-em-analise { color: #2b1a00; background: #FFC46B; }
.sug-planejada { color: #fff; background: var(--violet); }
.sug-recusada { color: var(--muted); background: rgba(255,255,255,.1); }

@media (max-width: 960px) {
  .cen-paleta-btn kbd { display: none; }
  .hoje-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .cen-paleta-btn span:not(.ico) { display: none; }
  .cen-proximo span:first-child { display: none; }
  .cen-proximo::before { content: "Próximo"; }
  .gv-linha-t { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .hoje-item { grid-template-columns: auto minmax(0, 1fr); }
  .hoje-item .etqs, .hoje-item .hoje-quando { grid-column: 2; }
  .hoje-topo { padding: 18px; }
  .hoje-comecar { width: 100%; }
  .av-lista { grid-template-columns: minmax(0, 1fr); }
  .av-niveis { grid-template-columns: minmax(0, 1fr); }
  .mural-card { grid-template-columns: auto minmax(0, 1fr); }
  .mural-ok { grid-column: 1 / -1; width: 100%; }
  .sug-resp { grid-template-columns: minmax(0, 1fr); }
  .cfg-cab-acoes { width: 100%; justify-content: space-between; }
  .cfg-cab-acoes .link-botao { white-space: nowrap; }
  .cfg-abas { flex-wrap: nowrap; overflow-x: auto; }
  .cfg-aba { flex: none; }
  .sug-resp .as-doc, .sug-resp .botao-fino { grid-column: auto; }
  .gv-hist-item { grid-template-columns: auto minmax(0, 1fr); }
  .gv-hist-item .selo, .gv-hist-item small { grid-column: 2; }
}

/* chave geral das automações */
.auto-mestre { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14); }
.auto-mestre.ligado { background: rgba(95,224,168,.08); border-color: rgba(95,224,168,.45); }
.auto-mestre-txt { display: grid; gap: 3px; }
.auto-mestre-txt strong { font: 800 1.1rem var(--display); color: #fff; }
.auto-mestre-txt small { font-size: .82rem; color: var(--muted); max-width: 560px; }
.auto-chave { flex: none; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 16px 4px 4px; border-radius: 999px; cursor: pointer; font: 600 .86rem var(--body); color: var(--muted); background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); transition: background .2s; }
.auto-chave-bola { width: 34px; height: 34px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.35); transition: transform .2s; }
.auto-chave.on { flex-direction: row-reverse; padding: 4px 4px 4px 16px; color: var(--navy); background: var(--ok); border-color: var(--ok); }
.auto-chave:disabled { opacity: .6; cursor: wait; }
.auto-teste { display: grid; grid-template-columns: auto minmax(0, 320px); align-items: center; gap: 6px 12px; padding: 12px 16px; border-radius: 14px; background: rgba(255,196,107,.06); border: 1px solid rgba(255,196,107,.28); }
.auto-teste input[type="email"] { min-height: 40px; padding: 6px 12px; font-size: .88rem; border-radius: 10px; }
.auto-teste input[type="email"]:disabled { opacity: .75; }
.auto-teste .ajuda { grid-column: 1 / -1; margin: 0; }
.auto-grupo { display: grid; gap: 8px; margin-top: 8px; }
.auto-grupo h4 { margin: 6px 0 0; font-size: .95rem; color: #fff; }
.auto-grupo .ajuda { margin: 0 0 4px; }
.auto-grupo.apagado .cfg-chave { opacity: .55; }
@media (max-width: 620px) {
  .auto-mestre { flex-direction: column; align-items: stretch; }
  .auto-chave { align-self: flex-start; }
  .auto-teste { grid-template-columns: minmax(0, 1fr); }
}

/* ===================== Personalizar ===================== */
.vis-oculto { display: none !important; }
/* menu só com ícones */
@media (min-width: 961px) {
  .menu-compacto .cen { grid-template-columns: 74px minmax(0, 1fr); }
  .menu-compacto .cen-menu { padding: 14px 8px; align-items: center; }
  .menu-compacto .cen-quem { padding: 0 0 12px; justify-content: center; }
  .menu-compacto .cen-quem > div, .menu-compacto .cen-nav-btn > span:not(.ico):not(.cen-badge), .menu-compacto .cen-pe-btn > span:not(.ico),
  .menu-compacto .cen-status-bo, .menu-compacto .cen-menu-pe .cen-chave, .menu-compacto .cen-atualizado { display: none !important; }
  .menu-compacto .cen-nav-btn { position: relative; justify-content: center; width: 50px; padding: 0; }
  .menu-compacto .cen-nav-btn .cen-badge { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; font-size: .62rem; }
  .menu-compacto .cen-pe-btn { width: 50px; padding: 0; }
  .menu-compacto .cen-menu-pe { padding: 12px 0 0; justify-items: center; }
}
/* filtros recolhidos */
.filtros-recolhidos .cen-filtros-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: 12px; cursor: pointer; font: 500 .84rem var(--body); color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); }
.filtros-recolhidos .cen-filtros-btn[aria-expanded="true"] { border-color: rgba(240,55,155,.6); }
.filtros-recolhidos .cen-filtros:not(.aberto) .cen-filtros-linha > select, .filtros-recolhidos .cen-filtros:not(.aberto) .cen-chips { display: none; }
.filtros-recolhidos .cen-filtros:not(.aberto) .cen-filtros-linha { grid-template-columns: minmax(0, 1fr); }
.filtros-recolhidos .cen-filtros:not(.aberto) { padding: 8px; }
/* cartões */
.cartao-compacto .kcard { gap: 4px; padding: 10px 12px; }
.cartao-compacto .kcard-pessoa, .cartao-compacto .kcard .etqs { display: none; }
.cartao-compacto .kcard-seller { font-size: .92rem; }
.cartao-compacto .kcard-assunto { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cartao-compacto .kcard-rodape { padding-top: 4px; }
.cartao-minimo .kcard { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 8px; padding: 8px 10px; border-radius: 12px; }
.cartao-minimo .kcard-topo { display: contents; }
.cartao-minimo .kcard-prot { grid-column: 1; grid-row: 2; font-size: .66rem; }
.cartao-minimo .kcard-topo .pilula-prio { grid-column: 2; grid-row: 1 / span 2; }
.cartao-minimo .kcard-seller { grid-column: 1; grid-row: 1; font-size: .86rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cartao-minimo .kcard-assunto, .cartao-minimo .kcard-pessoa, .cartao-minimo .kcard .etqs, .cartao-minimo .kcard-rodape { display: none; }
.cartao-minimo .coluna-corpo { gap: 6px; }
.kcard-vencido { border-color: rgba(255,107,139,.55); box-shadow: 0 0 0 1px rgba(255,107,139,.35), 0 6px 18px rgba(0,0,0,.25); }
/* coluna recolhida */
.coluna.recolhida { min-height: 320px; padding: 0; }
.quadro .coluna.recolhida { width: 54px; }
.coluna-abrir { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; height: 100%; min-height: 320px; padding: 14px 0; border: 0; border-radius: 20px; cursor: pointer; color: var(--muted); background: none; font: 600 .82rem var(--body); }
.coluna-abrir:hover { color: #fff; background: rgba(255,255,255,.04); }
.coluna-abrir::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--cor-etapa); box-shadow: 0 0 10px var(--cor-etapa); }
.coluna-vertical { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; letter-spacing: .5px; }
/* mural em uma linha */
.mural.mural-compacto { margin-bottom: 10px; }
.mural-linha { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 0 14px; border-radius: 12px; cursor: pointer; text-align: left; font: 500 .86rem var(--body); color: var(--ink); background: rgba(59,139,234,.08); border: 1px solid rgba(59,139,234,.3); }
.mural-linha.destaque { background: rgba(255,196,107,.08); border-color: rgba(255,196,107,.4); }
.mural-linha .svg-ico { width: 17px; height: 17px; color: #9CC6FF; flex: none; }
.mural-linha > span:nth-child(2) { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mural-linha-ver { font-size: .78rem; color: #9CC6FF; }
/* seções do painel do chamado */
.gv-copiar { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.gv-copiar .svg-ico { width: 13px; height: 13px; }
.gv-copiar .mini-op { gap: 5px; min-height: 28px; font-size: .72rem; }
.gv-sec { margin-bottom: 12px; border-radius: 16px; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.09); }
.gv-sec > summary { display: flex; align-items: baseline; gap: 10px; padding: 12px 14px; cursor: pointer; list-style: none; }
.gv-sec > summary::-webkit-details-marker { display: none; }
.gv-sec > summary::before { content: "›"; display: inline-block; width: 10px; color: var(--dim); transition: transform .15s; }
.gv-sec[open] > summary::before { transform: rotate(90deg); }
.gv-sec-titulo { font-size: .84rem; font-weight: 600; color: #fff; white-space: nowrap; }
.gv-sec-resumo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; color: var(--dim); }
.gv-sec[open] .gv-sec-resumo { display: none; }
.gv-sec > .gv-trabalho { margin: 0 10px 10px; }
.gv-sec > .gv-dados { margin: 0; padding: 0 14px 14px; }
/* painel Personalizar */
.vis-modelos { display: grid; gap: 8px; margin-bottom: 8px; }
.vis-modelo { position: relative; display: grid; gap: 3px; padding: 14px 16px; border-radius: 16px; cursor: pointer; text-align: left; font: inherit; color: var(--ink); background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14); }
.vis-modelo strong { font-size: .95rem; color: #fff; }
.vis-modelo small { font-size: .78rem; color: var(--dim); }
.vis-modelo.escolhido { border-color: var(--pink); background: rgba(240,55,155,.1); }
.vis-modelo .as-sugerida { top: 10px; right: 12px; }
.vis-grupo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; }
@media (max-width: 620px) { .vis-grupo { grid-template-columns: minmax(0, 1fr); } }
.vis-chave { padding: 10px 14px; }
.vis-chave .cfg-chave-txt strong { font-size: .86rem; }
.vis-linha { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 0; }
.vis-rot { font-size: .86rem; color: var(--ink); }
.vis-seg { display: inline-flex; gap: 3px; padding: 3px; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); }
.vis-seg button { min-height: 30px; padding: 0 12px; border: 0; border-radius: 9px; cursor: pointer; font: 500 .78rem var(--body); color: var(--muted); background: none; }
.vis-seg button.ativa { color: #fff; background: rgba(154,79,208,.4); }
