/* Casthink, conta Movida RAC. Identidade Movida sobre estrutura Casthink. */
:root{
  --laranja:#EE6D3C;          /* cor oficial da marca, nao alterar */
  --laranja-escuro:#C9541F;
  /* O laranja da marca sobre fundo claro da 4,40:1 no branco e 3,95:1 no creme
     das etiquetas: abaixo dos 4,5:1 que texto pequeno precisa. Ele continua
     sendo a cor de fundo e de degrade, onde contraste de texto nao se aplica,
     e o tom abaixo e o mesmo laranja escurecido o bastante para ser lido. */
  --laranja-texto:#AE4416;
  --laranja-profundo:#8F3711;   /* passar o mouse no botão da casca nova (U5): branco mede 7,7 para 1 */
  --creme:#FDF0EA;
  --pessego:#FADCCC;

  --tela:#F6F4F3;
  --papel:#FFFFFF;
  --tinta:#17171B;
  --tinta-2:#4A4A55;
  /* Era #797984: 4,30:1 no branco e 3,92:1 no fundo do sistema, e ela e a cor
     dos textos MENORES da tela, que e onde contraste falta mais. */
  --tinta-3:#63636E;
  --linha:#E9E6E3;
  --linha-forte:#DCD8D4;

  --ok-fundo:#E7F3EA;   --ok-tinta:#1C6B3B;
  --aviso-fundo:#FDF0EA;--aviso-tinta:#9A4416;
  --erro-fundo:#FBE7E4; --erro-tinta:#8E2A1C;
  --calmo-fundo:#EAEEF8;--calmo-tinta:#2B4380;
  --neutro-fundo:#EFEDEC;--neutro-tinta:#5A5A64;

  --r-g:18px; --r-m:13px; --r-p:9px;
  --sombra:0 1px 2px rgba(23,23,27,.04), 0 6px 18px -8px rgba(23,23,27,.10);
  --sombra-alta:0 2px 4px rgba(23,23,27,.05), 0 18px 40px -18px rgba(23,23,27,.22);
  --fonte:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  /* Cores de apoio e transparências (U1): toda cor do sistema mora aqui, nenhuma fora do :root. */
  --branco:#FFFFFF;
  --branco-a00:rgba(255,255,255,0);
  --branco-a14:rgba(255,255,255,.14);
  --branco-a16:rgba(255,255,255,.16);
  --branco-a18:rgba(255,255,255,.18);
  --branco-a22:rgba(255,255,255,.22);
  --branco-a30:rgba(255,255,255,.3);
  --branco-a45:rgba(255,255,255,.45);
  --branco-a75:rgba(255,255,255,.75);
  --branco-a80:rgba(255,255,255,.8);
  --branco-a90:rgba(255,255,255,.9);
  --branco-a92:rgba(255,255,255,.92);
  --branco-a96:rgba(255,255,255,.96);
  --cinza-claro:#CCCCCC;
  --creme-claro:#FFFBF8;
  --creme-medio:#FFF7F2;
  --erro-borda:#F2CFC8;
  --laranja-a15:rgba(238,109,60,.15);
  --laranja-a16:rgba(238,109,60,.16);
  --laranja-escuro-a28:rgba(201,84,31,.28);
  --laranja-escuro-a60:rgba(201,84,31,.6);
  --laranja-escuro-a70:rgba(201,84,31,.7);
  --laranja-medio:#DF5F2E;
  --linha-escura:#C9C4BF;
  --linha-media:#D8D2CE;
  --ok-borda:#C6E4D0;
  --ok-forte:#2E9155;
  --papel-quente:#FCFAF9;
  --perigo-tinta:#8D2B16;
  --preto-a00:rgba(0,0,0,0);
  --preto-a14:rgba(0,0,0,.14);
  --preto-a28:rgba(0,0,0,.28);
  --preto-a34:rgba(0,0,0,.34);
  --preto-a35:rgba(0,0,0,.35);
  --tela-a00:rgba(246,244,243,0);
  --tinta-a05:rgba(23,23,27,.05);
  --tinta-a42:rgba(23,23,27,.42);
  --tinta-a45:rgba(23,23,27,.45);
  --tinta-quente:#5C5450;
  --vermelho:#C0392B;

  /* Tons de situação e de origem do dado (U1, a partir do protótipo). Tinta sobre o fundo do mesmo par: AA medido em U5. */
  --info-fundo:#EAF0FE; --info-tinta:#1D4ED8; --info-borda:#D3E0FC;
  --origem-manual-fundo:#FBF3E6; --origem-manual-tinta:#7C4A0B; --origem-manual-borda:#F0DFC3;
  --origem-auto-fundo:#E9F6EE;   --origem-auto-tinta:#12603A;   --origem-auto-borda:#CBE8D6;
  --origem-conf-fundo:#FDF6E9;   --origem-conf-tinta:#7A4F07;   --origem-conf-borda:#F2E2C0;
  --origem-cli-fundo:#FDF0EA;    --origem-cli-tinta:#8A3E00;    --origem-cli-borda:#FADCCC;
  --origem-blo-fundo:#F1EFEC;    --origem-blo-tinta:#5E5852;    --origem-blo-borda:#E2DED8;
  --bloqueado-listra-1:#FBFAF9; --bloqueado-listra-2:#F4F1ED; --bloqueado-numero:#706A63;

  /* Identidade v6 do Portal (U7; D257): parte das cores da Movida, mais clara e com o pêssego no lugar do neutro. Só sob .portal. */
  --v6-fundo:#F3F2EF; --v6-tinta:#14161C; --v6-tinta-2:#474C59; --v6-tinta-3:#646A78; --v6-cinza-ponto:#8A90A0;
  --v6-linha:rgba(20,22,28,.07); --v6-linha-2:rgba(20,22,28,.12); --v6-hover:rgba(20,22,28,.04); --v6-suave:rgba(20,22,28,.05);
  --v6-vidro:rgba(255,255,255,.86); --v6-vidro-2:rgba(255,255,255,.92);
  --v6-brilho-1:rgba(238,109,60,.14); --v6-brilho-2:rgba(245,162,93,.13);
  --v6-sombra-1:rgba(16,24,40,.04); --v6-sombra-2:rgba(16,24,40,.16);
  --v6-laranja-50:#FFF4EE; --v6-laranja-50-a40:rgba(255,244,238,.4); --v6-laranja-100:#FDE3D6;
  --v6-pessego:#F4A988; --v6-ambar:#F5A25D; --v6-rosado:#E3C3AE; --v6-repouso:#F6E7DD;
  --v6-botao:#C2501F; --v6-botao-sombra:rgba(174,68,22,.5);
  --v6-borda-ia-1:rgba(238,109,60,.55); --v6-borda-ia-2:rgba(245,162,93,.4); --v6-borda-ia-3:rgba(244,169,136,.35);
  --fonte-v6:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --fonte-numero:"Space Grotesk","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--fonte);background:var(--tela);color:var(--tinta);
  line-height:1.55;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
h1,h2,h3{margin:0;letter-spacing:-.018em;line-height:1.25}
p{margin:0}
a{color:var(--laranja-texto);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

/* ============ Entrada ============ */
.entrada{min-height:100vh;display:flex;flex-direction:column;background:var(--tela)}
.entrada-painel{
  background:linear-gradient(158deg,var(--laranja) 0%,var(--laranja-escuro) 100%);
  padding:56px 24px 60px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;color:var(--branco);
}
.entrada-painel .marca{width:150px;height:auto;display:block}
.entrada-painel p{max-width:420px;font-size:.95rem;color:var(--branco-a92)}
.entrada-corpo{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:0 16px;margin-top:-36px}
.cartao-entrada{
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-g);
  padding:28px 26px 26px;width:100%;max-width:400px;box-shadow:var(--sombra-alta);
}
.cartao-entrada h1{font-size:1.18rem;margin-bottom:3px}
.cartao-entrada .ajuda{color:var(--tinta-3);font-size:.88rem;margin-bottom:22px}
.rodape-entrada{text-align:center;color:var(--tinta-3);font-size:.78rem;padding:22px 16px 30px;margin-top:auto}

/* ============ Formulario ============ */
label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.005em;margin-bottom:6px;color:var(--tinta-2)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{
  width:100%;padding:11px 13px;font-size:.95rem;font-family:inherit;color:var(--tinta);
  background:var(--papel);border:1px solid var(--linha-forte);border-radius:var(--r-p);transition:border-color .15s,box-shadow .15s;
}
input:hover,select:hover{border-color:var(--linha-escura)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--laranja);box-shadow:0 0 0 3px var(--laranja-a16)}
.campo{margin-bottom:16px}
.botao{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border:0;border-radius:var(--r-p);cursor:pointer;
  background:var(--laranja);color:var(--branco);font:600 .95rem/1 var(--fonte);
  box-shadow:0 1px 2px var(--laranja-escuro-a28);transition:background .15s,transform .05s;
}
.botao:hover{background:var(--laranja-escuro)}
.botao:active{transform:translateY(1px)}
.botao.largo{width:100%}
.botao.claro{background:var(--papel);color:var(--tinta);border:1px solid var(--linha-forte);box-shadow:none}
.botao.claro:hover{background:var(--creme);border-color:var(--pessego)}

.aviso{border-radius:var(--r-m);padding:12px 14px;font-size:.88rem;margin-bottom:18px;background:var(--erro-fundo);color:var(--erro-tinta);border:1px solid var(--erro-borda)}
.aviso.bom{background:var(--ok-fundo);color:var(--ok-tinta);border-color:var(--ok-borda)}
.aviso strong{display:block;margin-bottom:2px}

/* ============ Estrutura ============ */
.app{display:flex;min-height:100vh}
.lateral{
  width:250px;flex:0 0 250px;padding:24px 16px 20px;display:flex;flex-direction:column;gap:26px;
  background:linear-gradient(170deg,var(--laranja) 0%,var(--laranja-medio) 55%,var(--laranja-escuro) 100%);
  color:var(--branco);position:sticky;top:0;height:100vh;
}
.lateral .marca{width:120px;height:auto;display:block;margin:0 0 7px 8px}
.lateral .produto{margin-left:8px;font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;color:var(--branco-a75)}
.lateral nav{display:flex;flex-direction:column;gap:2px}
.lateral nav a{
  display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;
  color:var(--branco-a90);font-size:.93rem;font-weight:500;transition:background .14s,color .14s;
}
.lateral nav a svg{width:17px;height:17px;flex:0 0 17px;opacity:.85}
.lateral nav a:hover{background:var(--branco-a14);color:var(--branco);text-decoration:none}
.lateral nav a[aria-current=page]{background:var(--branco-a96);color:var(--laranja-texto);font-weight:650;box-shadow:0 2px 10px -4px var(--preto-a28)}
.lateral nav a[aria-current=page] svg{opacity:1}
.quem{margin-top:auto;padding:14px 12px;border-radius:13px;background:var(--preto-a14);font-size:.82rem;line-height:1.4}
.quem strong{display:block;font-size:.9rem;font-weight:650}
.quem span{color:var(--branco-a80)}
.quem a{color:var(--branco);font-size:.8rem;display:inline-block;margin-top:9px;border-bottom:1px solid var(--branco-a45)}
.quem a:hover{text-decoration:none;border-color:var(--branco)}

.conteudo{flex:1;min-width:0;padding:30px 34px 72px;max-width:1240px}
.cabeca{margin-bottom:26px}
.cabeca h1{font-size:1.62rem}
.cabeca .sub{color:var(--tinta-3);font-size:.95rem;margin-top:5px;max-width:70ch}

/* ============ Faixa de identidade do sistema ============ */
.identidade{
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-g);
  padding:24px 26px;margin-bottom:20px;box-shadow:var(--sombra);position:relative;overflow:hidden;
}
.identidade::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--laranja)}
.identidade h1{font-size:1.5rem;margin-bottom:8px}
.identidade p{color:var(--tinta-2);max-width:78ch;font-size:.96rem}
.identidade .resolve{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--linha)}
.identidade .resolve div{flex:1 1 200px;min-width:180px}
.identidade .resolve strong{display:block;font-size:.86rem;margin-bottom:2px}
.identidade .resolve span{font-size:.85rem;color:var(--tinta-3)}

/* ============ Bloco do assistente ============ */
.assistente{
  border-radius:var(--r-g);padding:22px 24px;margin-bottom:24px;
  background:linear-gradient(135deg,var(--creme) 0%,var(--creme-medio) 60%,var(--papel) 100%);
  border:1px solid var(--pessego);box-shadow:var(--sombra);
}
.assistente h2{font-size:1.12rem;display:flex;align-items:center;gap:9px}
.assistente h2 svg{width:19px;height:19px;color:var(--laranja-texto)}
.assistente p.chamada{color:var(--tinta-2);font-size:.93rem;margin-top:5px;max-width:74ch}
.assistente form{display:flex;gap:9px;margin-top:15px;flex-wrap:wrap}
.assistente input[type=text]{flex:1 1 320px;background:var(--papel)}
.sugestoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.sugestao{
  background:var(--papel);border:1px solid var(--pessego);color:var(--tinta-2);
  padding:6px 12px;border-radius:999px;font-size:.82rem;cursor:pointer;font-family:inherit;transition:background .14s;
}
.sugestao:hover{background:var(--creme)}
.assistente .desligado{
  margin-top:14px;background:var(--branco-a75);border:1px dashed var(--pessego);
  border-radius:var(--r-m);padding:13px 15px;font-size:.88rem;color:var(--aviso-tinta);
}
.assistente .desligado strong{display:block;margin-bottom:2px}

/* ============ Cartoes de numero ============ */
.blocos{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:14px;margin-bottom:24px}
.bloco{background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-m);padding:17px 18px;box-shadow:var(--sombra)}
.bloco .rotulo{font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;color:var(--tinta-3);font-weight:600}
.bloco .numero{font-size:2rem;font-weight:700;letter-spacing:-.03em;margin-top:6px;line-height:1.05}
.bloco .numero small{font-size:.8rem;font-weight:500;color:var(--tinta-3);letter-spacing:0;margin-left:5px}
.bloco .numero .pendente-txt{font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.3;display:block}
.bloco .vazio{font-size:.87rem;color:var(--tinta-3);margin-top:7px}

/* ============ Secoes ============ */
.secao{background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-g);padding:22px 24px;margin-bottom:20px;box-shadow:var(--sombra)}
.secao > h2{font-size:1.02rem;margin-bottom:4px}
.secao > .nota-secao{font-size:.86rem;color:var(--tinta-3);margin-bottom:16px}
.secao > h2:last-child{margin-bottom:0}

/* ============ Tabelas ============ */
.tabela-rolagem{overflow-x:auto;margin:0 -24px;padding:0 24px;-webkit-overflow-scrolling:touch}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem;min-width:560px}
thead th{
  text-align:left;padding:0 12px 9px;font-size:.71rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--tinta-3);font-weight:650;border-bottom:1px solid var(--linha);white-space:nowrap;
}
tbody td{padding:12px;border-bottom:1px solid var(--linha);vertical-align:top;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--papel-quente)}
td.livre,th.livre{white-space:normal;min-width:180px}

.etq{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;line-height:1.5}
.etq-vigente,.etq-ativa,.etq-confirmada,.etq-cumprida{background:var(--ok-fundo);color:var(--ok-tinta)}
/* Etiqueta sem juízo de valor: diz o que é, não se está bom ou ruim. */
/* Usava var(--laranja-claro), que nunca foi declarado: a etiqueta vivia do
   valor de reserva escrito ali do lado. Cor que so existe no fallback nao
   aparece em nenhuma conferencia, e muda quando alguem edita um dos dois. */
.etq-neutra{background:var(--creme);color:var(--laranja-texto)}
.etq-sem_instrumento,.etq-substituida{background:var(--aviso-fundo);color:var(--aviso-tinta)}
.etq-encerrado,.etq-devolvida,.etq-perdoada,.etq-prescrita{background:var(--neutro-fundo);color:var(--neutro-tinta)}
.etq-rascunho,.etq-minuta_em_preparo,.etq-enviado,.etq-em_assinatura,.etq-solicitada,.etq-prevista{background:var(--calmo-fundo);color:var(--calmo-tinta)}
.etq-recusado,.etq-vencida{background:var(--erro-fundo);color:var(--erro-tinta)}

.pendente-txt{color:var(--aviso-tinta);font-weight:650}
.origem{display:block;font-size:.76rem;color:var(--tinta-3);font-weight:400;margin-top:2px;white-space:normal}
.nota{font-size:.85rem;color:var(--tinta-3);margin-top:12px}
a.item{font-weight:650;color:var(--tinta)}
a.item:hover{color:var(--laranja-texto);text-decoration:none}

.vazio-tela{background:var(--papel);border:1px dashed var(--linha-forte);border-radius:var(--r-g);padding:44px 28px;text-align:center;color:var(--tinta-3)}
.vazio-tela strong{display:block;color:var(--tinta);margin-bottom:6px;font-size:1.02rem}

.voltar{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;font-size:.87rem;color:var(--tinta-3)}
.voltar:hover{color:var(--laranja-texto);text-decoration:none}
.par{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:16px 22px}
.par span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--tinta-3);font-weight:600;margin-bottom:2px}
.par strong{font-weight:600;font-size:.96rem}
.linha-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}

/* ============ Barra do topo e menu sanduiche ============ */
.barra-topo{display:none}
.fechar-menu{display:none}
.veu{display:none}

@media (max-width:860px){
  .barra-topo{
    display:flex;align-items:center;gap:12px;
    position:sticky;top:0;z-index:40;
    background:var(--papel);border-bottom:1px solid var(--linha);
    padding:10px 14px;box-shadow:0 1px 3px var(--tinta-a05);
  }
  .barra-topo .marca{width:92px;height:auto;display:block}
  .barra-topo-titulo{
    margin-left:auto;font-size:.82rem;color:var(--tinta-3);font-weight:600;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%;
  }

  .hamburguer{
    width:42px;height:42px;flex:0 0 42px;border:1px solid var(--linha);border-radius:11px;
    background:var(--papel);display:flex;flex-direction:column;justify-content:center;
    align-items:center;gap:4px;cursor:pointer;padding:0;
  }
  .hamburguer:active{background:var(--creme)}
  .hamburguer span{display:block;width:18px;height:2px;border-radius:2px;background:var(--tinta);transition:transform .2s,opacity .2s}
  body.menu-aberto .hamburguer span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.menu-aberto .hamburguer span:nth-child(2){opacity:0}
  body.menu-aberto .hamburguer span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  .veu{
    display:block;position:fixed;inset:0;z-index:48;
    background:var(--tinta-a45);backdrop-filter:blur(1px);
  }
  .veu[hidden]{display:none}

  .app{flex-direction:column}

  /* A lateral vira gaveta. Fora da tela por padrao, entra por cima do conteudo. */
  .lateral{
    position:fixed;top:0;left:0;bottom:0;z-index:50;
    width:min(82vw,290px);flex:none;height:100dvh;
    padding:20px 16px 20px;
    transform:translateX(-100%);transition:transform .22s ease;
    overflow-y:auto;box-shadow:none;
  }
  body.menu-aberto .lateral{transform:translateX(0);box-shadow:0 0 44px var(--preto-a34)}

  .fechar-menu{
    display:block;position:absolute;top:12px;right:12px;
    width:36px;height:36px;border:0;border-radius:10px;
    background:var(--branco-a18);color:var(--branco);font-size:1.5rem;line-height:1;cursor:pointer;
  }
  .fechar-menu:active{background:var(--branco-a30)}
  .lateral .marca{width:112px}
  .lateral nav a{padding:12px 13px;font-size:.96rem}

  .conteudo{padding:20px 16px 56px;max-width:100%}
  .cabeca h1,.identidade h1{font-size:1.3rem}
  .identidade,.assistente,.secao{padding:18px 16px}
  .tabela-rolagem{margin:0 -16px;padding:0 16px}
  .identidade .resolve{gap:16px}
  .blocos{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .linha-topo{align-items:flex-start}
  .linha-topo .acoes{width:100%}
  .linha-topo .acoes .botao{flex:1 1 auto;justify-content:center}
  .grade2{grid-template-columns:1fr}
}

/* Enquanto a gaveta esta aberta, a pagina atras nao rola junto. */
body.menu-aberto{overflow:hidden}

/* O atalho de teclado: fora da tela ate receber foco, e ai um botao de verdade
   no canto, acima de tudo. */
/* O registro de perguntas mora fechado dentro da tela de configuracao. */
.log-detalhe{margin-top:16px}
.log-detalhe>summary{
  cursor:pointer;list-style:none;padding:11px 15px;border:1px solid var(--linha-forte);
  border-radius:var(--r-m);background:var(--tela);font-weight:650;font-size:.9rem;color:var(--tinta-2);
}
.log-detalhe>summary::-webkit-details-marker{display:none}
.log-detalhe>summary::before{content:"\25B8";display:inline-block;margin-right:9px;transition:transform .15s ease}
.log-detalhe[open]>summary::before{transform:rotate(90deg)}
.log-detalhe>summary:hover{border-color:var(--laranja)}

.pular{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--papel);color:var(--tinta);border:2px solid var(--laranja);
  border-radius:var(--r-p);padding:10px 16px;font-weight:650;font-size:.92rem;
}
.pular:focus{left:12px;top:12px;text-decoration:none}
.conteudo:focus{outline:none}

/* ============ Importacao e conferencia ============ */
.solta{
  border:2px dashed var(--pessego);border-radius:var(--r-g);background:linear-gradient(135deg,var(--creme),var(--creme-claro));
  padding:34px 24px;text-align:center;transition:border-color .15s,background .15s;
}
.solta.sobre{border-color:var(--laranja);background:var(--creme)}
.solta svg{width:34px;height:34px;color:var(--laranja);margin-bottom:10px}
.solta strong{display:block;font-size:1.02rem;margin-bottom:4px}
.solta p{color:var(--tinta-3);font-size:.89rem;max-width:52ch;margin:0 auto 16px}
.solta input[type=file]{display:none}
.solta .escolhido{margin-top:12px;font-size:.88rem;color:var(--tinta-2)}

.medidor{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.medidor .barra{flex:1;height:7px;border-radius:99px;background:var(--linha);overflow:hidden;max-width:260px}
.medidor .barra i{display:block;height:100%;border-radius:99px;background:var(--laranja)}
.medidor .barra.alta i{background:var(--ok-forte)}
.medidor .barra.baixa i{background:var(--vermelho)}
.medidor .valor{font-weight:700;font-size:1.05rem}

.sinais{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.sinal{font-size:.78rem;padding:4px 10px;border-radius:999px;background:var(--ok-fundo);color:var(--ok-tinta)}
.sinal.falta{background:var(--neutro-fundo);color:var(--neutro-tinta)}
.sinal.alerta{background:var(--erro-fundo);color:var(--erro-tinta)}

.campo-lido{border:1px solid var(--linha);border-radius:var(--r-m);padding:14px 15px;margin-bottom:12px;background:var(--papel)}
.campo-lido .cabeca-campo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px}
.campo-lido label{margin:0}
.conf{font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.conf-alta{background:var(--ok-fundo);color:var(--ok-tinta)}
.conf-media{background:var(--aviso-fundo);color:var(--aviso-tinta)}
.conf-baixa{background:var(--erro-fundo);color:var(--erro-tinta)}
.conf-vazio{background:var(--neutro-fundo);color:var(--neutro-tinta)}
.campo-lido .fonte{font-size:.78rem;color:var(--tinta-3);margin-top:6px;display:block}
.campo-lido .vinculo{margin-top:8px;font-size:.82rem;background:var(--creme);border-radius:9px;padding:8px 11px;color:var(--aviso-tinta)}
.campo-lido .vinculo.bom{background:var(--ok-fundo);color:var(--ok-tinta)}
.grade2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;align-items:center}
.caixa-check{display:flex;align-items:flex-start;gap:9px;font-size:.9rem;color:var(--tinta-2);margin:10px 0}
.caixa-check input{width:auto;margin-top:3px}

/* ============ Conversa com o assistente ============ */
.conversa{display:flex;flex-direction:column;gap:16px;margin-bottom:22px}
.fala{display:flex;gap:11px;align-items:flex-start;animation:entra .22s ease}
@keyframes entra{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.fala .avatar{
  width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:700;letter-spacing:.02em;
}
.fala.eu{justify-content:flex-end}
.fala.eu .balao{
  background:var(--laranja);color:var(--branco);border-radius:15px 15px 4px 15px;padding:10px 15px;max-width:min(78%,620px);
}
.fala.ele .avatar{background:linear-gradient(140deg,var(--laranja),var(--laranja-escuro));color:var(--branco)}
.fala.ele .balao{
  background:var(--papel);border:1px solid var(--linha);border-radius:15px 15px 15px 4px;
  padding:14px 17px;max-width:min(88%,760px);box-shadow:var(--sombra);
}
.fala .balao p{margin:0 0 9px;line-height:1.6}
.fala .balao p:last-child{margin:0}
.fala .balao ul{margin:8px 0 0;padding-left:20px}
.fala .balao li{margin-bottom:5px}
.fala .balao strong{font-weight:650}

.pensando{display:flex;gap:5px;align-items:center;padding:4px 0}
.pensando i{width:7px;height:7px;border-radius:50%;background:var(--laranja);opacity:.35;animation:pulsa 1.2s infinite}
.pensando i:nth-child(2){animation-delay:.18s}
.pensando i:nth-child(3){animation-delay:.36s}
@keyframes pulsa{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.pensando span{font-size:.85rem;color:var(--tinta-3);margin-left:5px}

.detalhe{margin-top:13px;border-top:1px solid var(--linha);padding-top:10px}
.detalhe summary{
  cursor:pointer;font-size:.8rem;color:var(--tinta-3);list-style:none;display:inline-flex;align-items:center;gap:6px;
}
.detalhe summary::-webkit-details-marker{display:none}
.detalhe summary::before{content:"›";display:inline-block;transition:transform .15s;font-size:1rem;line-height:1}
.detalhe[open] summary::before{transform:rotate(90deg)}
.detalhe summary:hover{color:var(--laranja-texto)}
.detalhe pre{
  background:var(--tela);border:1px solid var(--linha);border-radius:var(--r-p);
  padding:11px 13px;overflow-x:auto;font-size:.78rem;margin:10px 0 0;line-height:1.5;
}
.detalhe .mini{font-size:.78rem;margin-top:9px;width:100%;min-width:0}
.detalhe .mini th,.detalhe .mini td{padding:6px 9px;font-size:.78rem}

.marca-analise{
  display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:650;
  background:var(--creme);color:var(--laranja-texto);padding:3px 9px;border-radius:999px;margin-bottom:9px;
}
.barra-pergunta{position:sticky;bottom:0;background:linear-gradient(180deg,var(--tela-a00) 0%,var(--tela) 26%);padding:14px 0 0}
.barra-pergunta form{display:flex;gap:9px}
.barra-pergunta input[type=text]{flex:1;background:var(--papel);box-shadow:var(--sombra)}
.barra-pergunta .botao{flex:0 0 auto}

/* ============ Bolinha de chat flutuante ============ */
.bolha{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;
  background:linear-gradient(140deg,var(--laranja),var(--laranja-escuro));color:var(--branco);
  box-shadow:0 6px 22px -6px var(--laranja-escuro-a60),0 2px 6px var(--preto-a14);
  display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s;
}
.bolha:hover{transform:translateY(-2px);box-shadow:0 10px 28px -8px var(--laranja-escuro-a70)}
.bolha svg{width:25px;height:25px}
.bolha .ponto{
  position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;
  background:var(--ok-forte);border:2.5px solid var(--tela);
}
body.painel-chat-aberto .bolha{display:none}

.painel-chat{
  position:fixed;right:20px;bottom:20px;z-index:61;
  width:min(420px,calc(100vw - 32px));height:min(620px,calc(100dvh - 40px));
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-g);
  box-shadow:0 24px 60px -18px var(--tinta-a42);
  display:none;flex-direction:column;overflow:hidden;
}
body.painel-chat-aberto .painel-chat{display:flex;animation:sobe .2s ease}
@keyframes sobe{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.painel-chat header{
  background:linear-gradient(140deg,var(--laranja),var(--laranja-escuro));color:var(--branco);
  padding:13px 15px;display:flex;align-items:center;gap:10px;flex:0 0 auto;
}
.painel-chat header strong{font-size:.95rem;font-weight:650;line-height:1.2}
.painel-chat header span{display:block;font-size:.76rem;opacity:.9;font-weight:400}
.painel-chat header .acoes-chat{margin-left:auto;display:flex;gap:4px}
.painel-chat header button{
  background:var(--branco-a18);border:0;color:var(--branco);width:30px;height:30px;border-radius:8px;
  cursor:pointer;font-size:1.05rem;line-height:1;display:flex;align-items:center;justify-content:center;
}
.painel-chat header button:hover{background:var(--branco-a30)}
.painel-chat header button svg{width:15px;height:15px}

.painel-chat .corpo{flex:1;overflow-y:auto;padding:16px 15px;background:var(--tela)}
.painel-chat .conversa{gap:13px;margin:0}
.painel-chat .fala .balao{font-size:.9rem;padding:11px 13px;max-width:92%}
.painel-chat .fala.eu .balao{max-width:86%}
.painel-chat .avatar{width:26px;height:26px;flex:0 0 26px;font-size:.64rem}
.painel-chat .sugestoes{margin-top:12px}
.painel-chat .sugestao{font-size:.78rem;padding:5px 10px}
.painel-chat .pe{flex:0 0 auto;border-top:1px solid var(--linha);padding:11px 13px;background:var(--papel)}
.painel-chat .pe form{display:flex;gap:7px}
.painel-chat .pe input{font-size:.9rem;padding:9px 11px}
.painel-chat .pe .botao{padding:9px 13px;font-size:.88rem}
.painel-chat .pe .rodape-chat{font-size:.72rem;color:var(--tinta-3);margin:7px 0 0;text-align:center}
.painel-chat .pe .rodape-chat a{color:var(--tinta-3);text-decoration:underline}

@media (max-width:640px){
  .bolha{right:16px;bottom:16px;width:52px;height:52px}
  .painel-chat{right:0;left:0;bottom:0;width:100%;height:88dvh;border-radius:var(--r-g) var(--r-g) 0 0}
}

/* ---------------------------------------------------------- formulários de edição */
.formulario{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px 16px;margin-top:4px}
.campo-form{display:flex;flex-direction:column;gap:5px;font-size:.82rem}
.campo-form.largo{grid-column:1/-1}
.campo-form>span{font-weight:600;color:var(--tinta-3);letter-spacing:.01em}
.campo-form input:not([type=checkbox]):not([type=radio]),.campo-form select,.campo-form textarea{
  font:inherit;font-size:.92rem;color:var(--tinta);background:var(--papel);
  border:1px solid var(--linha-forte);border-radius:var(--r-p);padding:9px 11px;width:100%;
  transition:border-color .15s ease,box-shadow .15s ease}
.campo-form input:not([type=checkbox]):focus,.campo-form select:focus,.campo-form textarea:focus{
  outline:none;border-color:var(--laranja);box-shadow:0 0 0 3px var(--laranja-a15)}
.campo-form em{font-style:normal;font-size:.75rem;color:var(--tinta-3);line-height:1.35}
.acoes-form{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:2px}
.acoes-form .origem{margin:0}

.perigo{grid-column:1/-1;margin-top:22px;border:1px solid var(--linha-forte);border-radius:var(--r-m);background:var(--tela)}
.perigo>summary{cursor:pointer;padding:12px 16px;font-size:.86rem;font-weight:600;color:var(--erro-tinta);list-style:none}
.perigo>summary::-webkit-details-marker{display:none}
.perigo>summary::before{content:"\25B8";display:inline-block;margin-right:8px;transition:transform .15s ease}
.perigo[open]>summary::before{transform:rotate(90deg)}
.perigo-corpo{padding:0 16px 16px}
.perigo-corpo>p{margin:0 0 12px;font-size:.84rem;color:var(--tinta-3);line-height:1.5}
.botao.perigoso{background:var(--erro-tinta);border:1px solid var(--erro-tinta);color:var(--branco)}
.botao.perigoso:hover{background:var(--perigo-tinta);border-color:var(--perigo-tinta)}
.botao.discreto{background:transparent;color:var(--tinta-3);border:1px solid var(--linha-forte)}
.botao.discreto:hover{color:var(--tinta);border-color:var(--tinta-3)}
.linha-acoes{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.linha-acoes form{display:inline}
.editor{border:1px solid var(--linha-forte);border-radius:var(--r-m);padding:16px;margin-top:12px;background:var(--tela)}
.editor h3{margin:0 0 10px;font-size:.92rem}
.ligacao{background:none;border:0;padding:0;font:inherit;font-size:.82rem;color:var(--laranja-texto);cursor:pointer;text-decoration:underline}
.ligacao:hover{color:var(--tinta)}
details.desfazer{display:inline-block;margin-left:6px}
details.desfazer>summary{cursor:pointer;font-size:.78rem;color:var(--tinta-3);list-style:none}
details.desfazer>summary::-webkit-details-marker{display:none}
details.desfazer>summary:hover{color:var(--erro-tinta)}
details.desfazer form{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}
details.desfazer input[type=text]{font:inherit;font-size:.82rem;padding:6px 9px;border:1px solid var(--linha-forte);border-radius:var(--r-p);min-width:150px}
details.desfazer .botao{padding:6px 12px;font-size:.8rem}

.formulario .caixa-check{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px}
.formulario .caixa-check input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--laranja)}
.formulario .caixa-check>div{display:flex;flex-direction:column;gap:2px}
.formulario .caixa-check span{font-size:.88rem;color:var(--tinta)}
.formulario .caixa-check em{font-style:normal;font-size:.75rem;color:var(--tinta-3);line-height:1.35}
.detalhe .premissa{margin:0 0 8px;font-size:.82rem;color:var(--tinta-2);background:var(--creme);
  border-left:3px solid var(--pessego);border-radius:0 var(--r-p) var(--r-p) 0;padding:7px 10px}

/* ------------------------------------------------- voto e acao do assistente */
.voto{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.78rem;color:var(--tinta-3)}
.voto button{font:inherit;font-size:.78rem;padding:3px 11px;border:1px solid var(--linha-forte);
  background:var(--papel);color:var(--tinta-2);border-radius:999px;cursor:pointer;transition:all .15s}
.voto button:hover{border-color:var(--laranja);color:var(--laranja-texto)}
.acao-ia{margin-top:12px;padding:12px 14px;background:var(--creme);border:1px solid var(--pessego);
  border-radius:var(--r-m)}
.acao-ia p{margin:0 0 10px;font-size:.88rem;color:var(--tinta-2)}
.acao-ia .acao-botoes{display:flex;gap:8px;flex-wrap:wrap}
.acao-ia .botao{padding:8px 15px;font-size:.85rem}

/* ------------------------------------------------------------ log de conversas */
.log-filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}
.log-filtros .campo-form{flex:0 1 165px;margin:0}
.log-linha{border:1px solid var(--linha);border-radius:var(--r-m);padding:13px 15px;margin-bottom:10px;background:var(--papel)}
.log-linha>header{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;font-size:.76rem;color:var(--tinta-3);margin-bottom:7px}
.log-linha>header strong{color:var(--tinta);font-size:.82rem}
.log-pergunta{margin:0 0 6px;font-weight:600;font-size:.92rem;color:var(--tinta)}
.log-resposta{margin:0;font-size:.86rem;color:var(--tinta-2);line-height:1.55;white-space:pre-wrap}
.log-linha details{margin-top:9px}
.log-linha details summary{cursor:pointer;font-size:.76rem;color:var(--tinta-3);list-style:none}
.log-linha details summary::-webkit-details-marker{display:none}
.log-linha details pre{margin:7px 0 0;padding:9px 11px;background:var(--tela);border-radius:var(--r-p);
  font-size:.74rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}
.etq-ruim{background:var(--erro-fundo);color:var(--erro-tinta)}
.etq-boa{background:var(--ok-fundo);color:var(--ok-tinta)}
.paginas{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.paginas a,.paginas span{padding:5px 10px;border-radius:var(--r-p);font-size:.8rem;border:1px solid var(--linha-forte)}
.paginas span{background:var(--laranja);color:var(--branco);border-color:var(--laranja)}

/* Troca de módulo, na barra lateral. Só aparece para quem abre mais de um, e é
   por isso que ela não tem estado vazio: sem outro módulo, o bloco não existe. */
.troca-modulo { margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--branco-a22); }
.troca-modulo span { display: block; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
  opacity: .75; margin: 0 0 6px 18px; }
.troca-modulo a { display: block; padding: 8px 18px; color: var(--branco); text-decoration: none; opacity: .9;
  font-size: .92rem; border-radius: 8px; }
.troca-modulo a:hover, .troca-modulo a:focus-visible { background: var(--branco-a16); opacity: 1; }

/* Uma linha por ação de acesso: o papel de alguém num módulo, ou a retirada dele. */
.linha-acesso { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 12px; }
.linha-acesso strong { min-width: 190px; }
/* A mascara tem largura fixa para os campos de justificativa comecarem todos na
   mesma coluna. Sem isto, "nome guardado" e "***" empurravam cada linha para um
   x diferente e a lista saia serrilhada, o que so aparece olhando a tela. */
.linha-acesso code { min-width: 150px; color: var(--tinta-2, var(--tinta-quente)); }
@media (max-width: 640px) { .linha-acesso code { min-width: 0; } }
.linha-acesso select, .linha-acesso input[type=text] { padding: 9px 11px; border: 1px solid var(--linha-media);
  border-radius: 8px; font: inherit; background: var(--branco); }
.linha-acesso input[type=text] { flex: 1 1 240px; }
@media (max-width: 640px) { .linha-acesso { flex-direction: column; align-items: stretch; }
  .linha-acesso strong { min-width: 0; }
  /* Em coluna, o flex-basis de 240px passa a valer como ALTURA, e cada campo de
     justificativa virava um bloco de 240px com o texto boiando no meio. A tela
     de dados de recebimento chegava a 7.600px de altura e parecia defeito de
     carregamento. So aparece olhando a tela num aparelho estreito. */
  .linha-acesso input[type=text] { flex: 0 0 auto; } }

/* Cartões de contagem do painel. Cada um é um número grande com o que ele conta
   embaixo, e o cartão inteiro é o link: contar e não deixar clicar obriga a
   pessoa a procurar a tela sozinha. Sem estas regras o bloco virava uma linha de
   texto corrida, o que apareceu numa captura de tela e não em nenhum teste. */
.cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0 18px}
.cartao{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--linha);
  border-radius:12px;background:var(--branco);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.cartao:hover,.cartao:focus-visible{border-color:var(--laranja,var(--laranja));box-shadow:0 6px 18px -12px var(--preto-a35);text-decoration:none}
.cartao .numero{font-size:1.9rem;font-weight:680;line-height:1.05;color:var(--laranja-escuro,var(--laranja-escuro));font-variant-numeric:tabular-nums}
.cartao .rotulo{font-size:.82rem;color:var(--tinta-2,var(--tinta-quente));line-height:1.35}
@media (max-width:480px){.cartoes{grid-template-columns:1fr 1fr}.cartao{padding:13px 14px}.cartao .numero{font-size:1.5rem}}


/* Aviso de que a tabela continua para o lado.
   Abaixo de 900px a coluna de situacao e a de acao saem da tela, e o corte era
   invisivel: a tabela parecia simplesmente terminar ali. O degrade na borda
   direita aparece so quando ha rolagem, porque background-attachment: local faz
   a primeira camada rolar junto e cobrir a segunda quando se chega ao fim. */
.tabela-rolagem {
  background-image:
    linear-gradient(to right, var(--papel, var(--branco)), var(--branco-a00)),
    linear-gradient(to left, var(--papel, var(--branco)), var(--branco-a00)),
    linear-gradient(to right, var(--preto-a14), var(--preto-a00)),
    linear-gradient(to left, var(--preto-a14), var(--preto-a00));
  background-position: 0 0, 100% 0, 0 0, 100% 0;
  background-repeat: no-repeat;
  background-size: 28px 100%, 28px 100%, 14px 100%, 14px 100%;
  background-attachment: local, local, scroll, scroll;
}

/* Relatório de campanha. A recomendação tem cor própria, e as três precisam
   ser distinguíveis também sem cor: o rótulo vai escrito por extenso. */
.etq-renovar{background:var(--ok-fundo);color:var(--ok-tinta)}
.etq-considerar{background:var(--aviso-fundo);color:var(--aviso-tinta)}
.etq-declinar{background:var(--erro-fundo);color:var(--erro-tinta)}
.ficha-perfil{border:1px solid var(--linha-forte);border-radius:var(--r-m);padding:16px 18px;margin:0 0 18px;break-inside:avoid}
.ficha-perfil h3{margin:0 0 4px;font-size:1.05rem}
.ficha-perfil .blocos{margin:12px 0}
.resumo-perfil{border-left:3px solid var(--laranja);padding:8px 12px;margin:12px 0;font-size:.92rem;line-height:1.55}
.selo{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  background:var(--aviso-fundo);color:var(--aviso-tinta);border-radius:6px;padding:2px 7px;margin-left:6px}
.rodape-fontes{font-size:.78rem;color:var(--tinta-3);border-top:1px solid var(--linha-forte);padding-top:10px;margin-top:18px}
@media print{
  .lateral,.hamburguer,.fechar-menu,.so-tela,form,details.detalhe,details.perigo,details.como-funciona{display:none!important}
  .ficha-perfil{border-color:var(--cinza-claro)}
  body{background:var(--branco)}
}
/* Texto dentro do valor de um par não herda o estilo do rótulo do par. Sem
   isto, toda pendência escrita no valor saía em caixa alta e miúda, como rótulo. */
.par strong span{display:inline;text-transform:none;letter-spacing:normal;font-size:inherit;margin:0;font-weight:inherit;color:inherit}
.par strong .pendente-txt{color:var(--aviso-tinta);font-weight:650}
.par strong .selo{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-left:6px}
.ficha-perfil .par{margin-bottom:12px}
@media (max-width:520px){.ficha-perfil .numero{font-size:1.5rem}}

/* ===================== Componentes do Portal (U1; docs/desenho-ux/01-componentes.md) ===================== */
/* Faixa de indicadores. Ausência de dado é ausência: o número vira "sem dado", nunca zero. */
.faixa-indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}
.indicador{background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-m);box-shadow:var(--sombra);padding:16px 17px;min-width:0}
.indicador .rotulo{display:flex;align-items:center;gap:4px;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3)}
.indicador .numero{display:block;margin-top:6px;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:var(--tinta);font-variant-numeric:tabular-nums}
.indicador .nota{display:block;margin-top:4px;font-size:.78rem;color:var(--tinta-3)}
.indicador.bloqueado{background:repeating-linear-gradient(135deg,var(--bloqueado-listra-1),var(--bloqueado-listra-1) 10px,var(--bloqueado-listra-2) 10px,var(--bloqueado-listra-2) 20px);border-style:dashed}
.indicador.bloqueado .numero{color:var(--bloqueado-numero)}
.indicador .destrava{display:inline-block;margin-top:8px;font-size:.74rem;font-weight:800;color:var(--laranja-texto)}

/* Selo de situação em cinco tons. */
.situacao{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap}
.situacao::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.situacao.ok{background:var(--ok-fundo);color:var(--ok-tinta)}
.situacao.alerta{background:var(--aviso-fundo);color:var(--aviso-tinta)}
.situacao.risco{background:var(--erro-fundo);color:var(--erro-tinta)}
.situacao.info{background:var(--info-fundo);color:var(--info-tinta)}
.situacao.neutro{background:var(--neutro-fundo);color:var(--neutro-tinta)}

/* Selo de origem do dado. Só onde a origem declarada é verdade no código. */
.origem-dado{display:inline-flex;align-items:center;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:6px;border:1px solid}
.origem-dado.manual{background:var(--origem-manual-fundo);color:var(--origem-manual-tinta);border-color:var(--origem-manual-borda)}
.origem-dado.automatico{background:var(--origem-auto-fundo);color:var(--origem-auto-tinta);border-color:var(--origem-auto-borda)}
.origem-dado.conferencia{background:var(--origem-conf-fundo);color:var(--origem-conf-tinta);border-color:var(--origem-conf-borda)}
.origem-dado.ia{background:var(--info-fundo);color:var(--info-tinta);border-color:var(--info-borda)}
.origem-dado.cliente{background:var(--origem-cli-fundo);color:var(--origem-cli-tinta);border-color:var(--origem-cli-borda)}
.origem-dado.bloqueado{background:var(--origem-blo-fundo);color:var(--origem-blo-tinta);border-color:var(--origem-blo-borda)}

/* Explicação curta de campo: abre sem JavaScript (details). */
.explica{display:inline-block;position:relative;vertical-align:middle;margin-left:4px;text-transform:none;letter-spacing:normal}
.explica > summary{list-style:none;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--creme);color:var(--laranja-texto);border:1px solid var(--pessego);font-size:.62rem;font-weight:900;cursor:pointer}
.explica > summary::-webkit-details-marker{display:none}
.explica[open] > summary{background:var(--laranja-texto);color:var(--branco)}
.explica .explicacao{position:absolute;z-index:20;left:-8px;top:22px;width:min(280px,80vw);background:var(--tinta);color:var(--branco);font-size:.78rem;font-weight:500;line-height:1.45;padding:10px 12px;border-radius:10px;box-shadow:var(--sombra-alta)}
.explica .explicacao strong{display:block;margin-bottom:2px}

/* Cabeçalho de seção em caixa alta, com linha até a margem. */
.titulo-secao{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:26px 0 12px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3)}
.titulo-secao::after{content:"";flex:1;min-width:20px;height:1px;background:var(--linha)}
.titulo-secao:first-child{margin-top:0}

/* Barra de filtros em cartão. */
.barra-filtros{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-m);box-shadow:var(--sombra);padding:14px 16px;margin-bottom:18px}
.barra-filtros .campo-form{flex:1;min-width:150px}
.barra-filtros .acoes-filtro{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Abas com contagem: links, funcionam sem JavaScript. */
.abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.abas a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linha);background:var(--papel);border-radius:10px;padding:8px 14px;font-size:.86rem;font-weight:700;color:var(--tinta-2);text-decoration:none}
.abas a:hover{border-color:var(--pessego);color:var(--laranja-texto)}
.abas a[aria-current="page"]{background:var(--laranja-texto);border-color:var(--laranja-texto);color:var(--branco)}
.abas .contagem{background:var(--neutro-fundo);color:var(--neutro-tinta);border-radius:999px;padding:1px 7px;font-size:.72rem}
.abas a[aria-current="page"] .contagem{background:var(--preto-a28);color:var(--branco)}

/* Tabela com cabeçalho fixo e rolagem própria. */
.tabela-fixa{max-height:600px;overflow:auto}
.tabela-fixa thead th{position:sticky;top:0;z-index:2;background:var(--papel-quente)}

/* Painel "Como esta tela funciona": abre sem JavaScript. */
.como-funciona{margin-bottom:18px}
.como-funciona > summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.84rem;font-weight:700;color:var(--tinta-2);border:1px solid var(--linha-forte);background:var(--papel);border-radius:var(--r-p);padding:7px 12px;list-style:none}
.como-funciona > summary::-webkit-details-marker{display:none}
.como-funciona[open] > summary{border-color:var(--pessego);color:var(--laranja-texto)}
.como-funciona .doc{margin-top:10px;background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-m);padding:18px 20px;box-shadow:var(--sombra);font-size:.88rem}
.como-funciona .doc h3{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-3);margin:14px 0 6px}
.como-funciona .doc h3:first-child{margin-top:0}
.como-funciona .passos{margin:0;padding-left:20px}

/* Estado vazio com frase que diz o que fazer. */
.vazio-tela .o-que-fazer{display:block;margin-top:6px;font-size:.86rem}


/* ===================== Casca nova do Portal (U2; D247, D248, D250) =====================
   Tudo sob .portal, que a casca só põe com a chave do papel ligada. A barra fica no laranja de texto, onde branco mede 5,77 para 1;
   o laranja da marca fica na faixa do logotipo. */
.portal .lateral{background:var(--laranja-texto);gap:18px}
.portal .lateral > div:first-of-type{background:var(--laranja);margin:-24px -16px 0;padding:24px 16px 18px}
.portal .areas{display:flex;flex-direction:column;gap:14px}
.portal .areas a{display:block;padding:8px 12px;border-radius:10px;color:var(--branco);font-size:.92rem;text-decoration:none}
.portal .areas a:hover{background:var(--branco-a14)}
.portal .areas a[aria-current=page]{background:var(--branco);color:var(--laranja-texto);font-weight:700}
.portal .rotulo-area{display:block;padding:0 12px 4px;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--branco)}
.portal .modulo-atual{display:block;padding:8px 12px 4px;font-weight:700;color:var(--branco)}
.portal .subitens{display:flex;flex-direction:column;gap:2px;margin-left:12px;padding-left:8px;border-left:1px solid var(--branco-a30)}
.portal .subitens a{font-size:.88rem;padding:6px 10px}
.portal .item-inicio{font-weight:700}
.portal .quem a{display:inline-block;margin-right:10px}
.trilha-navegacao{font-size:.8rem;color:var(--tinta-3);margin-bottom:10px}
.indicador.atalho{text-decoration:none;color:inherit}
.indicador.atalho:hover{border-color:var(--pessego);box-shadow:var(--sombra-alta)}
.indicador.atalho .numero{font-size:1.15rem;letter-spacing:-.01em}
.indicador.atalho .nota{color:var(--laranja-texto);font-weight:700}
.portal .area{display:flex;flex-direction:column;gap:2px}

/* Formulário que abre no lugar (U3): a linha da tabela fica baixa até alguém pedir para mudar. */
.mudar > summary{display:inline-flex;cursor:pointer;list-style:none;font-size:.84rem;font-weight:700;color:var(--laranja-texto);border:1px solid var(--linha-forte);background:var(--papel);border-radius:var(--r-p);padding:6px 12px}
.mudar > summary::-webkit-details-marker{display:none}
.mudar[open] > summary{margin-bottom:10px;border-color:var(--pessego)}
/* Portal U3 (D250, D253): sob a casca nova, a etiqueta antiga ganha a forma do selo de situação, sem mudar a marcação da tela */
.portal .etq{gap:6px;font-size:.72rem;font-weight:800}
.portal .etq::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.portal .etq-neutra{background:var(--neutro-fundo);color:var(--neutro-tinta)}
/* Portal U4 (D254): busca no topo da casca nova, página de busca e atalho do assistente. Elementos novos: não mudam tela existente */
.busca-topo{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.busca-topo label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.busca-topo input{flex:1;min-width:0;max-width:420px;border:1px solid var(--linha);border-radius:10px;padding:8px 12px;font:inherit;background:var(--papel);color:var(--tinta-2)}
.barra-busca{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 18px}
.barra-busca label{font-weight:700;color:var(--tinta-2)}
.barra-busca input{flex:1;min-width:200px;max-width:520px;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;font:inherit;background:var(--papel);color:var(--tinta-2)}
.resultados-busca{list-style:none;margin:0;padding:0}
.resultados-busca li{padding:9px 0;border-bottom:1px solid var(--linha);display:flex;flex-wrap:wrap;gap:6px 8px;align-items:baseline}
.resultados-busca li .nota-secao{margin:0}
.tipo-resultado{font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:var(--neutro-fundo);color:var(--neutro-tinta)}
a.bolha{text-decoration:none}
@media print{.busca-topo,.atalho-assistente{display:none!important}}
.grupo-busca h2{margin-bottom:6px}
.estado-busca{margin:0}
/* Portal U5 (D255): acessibilidade da casca nova, medida pelo axe na banca (docs/medicao-portal). Tudo sob .portal (D250). */
.portal .lateral{overflow-y:auto;overscroll-behavior:contain}
.portal .lateral .produto{display:none}
.portal .botao:not(.claro):not(.perigoso):not(.discreto){background:var(--laranja-texto)}
.portal .botao:not(.claro):not(.perigoso):not(.discreto):hover{background:var(--laranja-profundo)}
.portal .conteudo p a:not(.botao),.portal .conteudo li a:not(.botao),.portal .conteudo .aviso a:not(.botao){text-decoration:underline;text-underline-offset:2px}
.portal a:focus-visible,.portal button:focus-visible,.portal summary:focus-visible,.portal [tabindex]:focus-visible{outline:3px solid var(--laranja-texto);outline-offset:2px}
.portal .lateral a:focus-visible,.portal .lateral button:focus-visible{outline-color:var(--laranja-texto)}
.portal .tabela-rolagem:focus-visible{outline-offset:-3px}
@media (prefers-reduced-motion:reduce){.portal *,.portal *::before,.portal *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ===================== Identidade v6 do Portal (U7; D257) =====================
   Direção aprovada pelo Vinícius em 13/11/2026 (canvas v6.3, opção A): barra clara flutuante, grupos separados por fio, busca de
   comando no topo, números em Space Grotesk, laranja só para ação e atenção, pêssego no lugar do neutro. Tudo sob .portal (D250):
   com a chave desligada, a tela sai exatamente como antes. Fontes servidas do próprio site, sem pedido a terceiros. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fontes/inter-variavel.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("../fontes/space-grotesk-500.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;font-display:swap;src:url("../fontes/space-grotesk-600.woff2") format("woff2")}
body.portal{font-family:var(--fonte-v6);color:var(--v6-tinta);font-feature-settings:"cv11","ss01","ss03";
  background:radial-gradient(900px 420px at 88% -120px,var(--v6-brilho-1),transparent 70%),radial-gradient(700px 380px at 40% -160px,var(--v6-brilho-2),transparent 70%),var(--v6-fundo)}
.portal h1,.portal h2,.portal h3{letter-spacing:-.02em}

/* barra lateral flutuante */
.portal .lateral{width:256px;flex:0 0 256px;margin:12px 0 12px 12px;top:12px;height:calc(100vh - 24px);padding:18px 12px 14px;gap:6px;color:var(--v6-tinta);
  background:var(--v6-vidro);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--v6-linha);border-radius:20px;
  box-shadow:0 1px 2px var(--v6-sombra-1),0 12px 32px -18px var(--v6-sombra-2)}
.portal .lateral > div:first-of-type{background:none;margin:0;padding:4px 10px 12px}
.portal .lateral .marca{width:104px;margin:0}
.portal .areas{gap:0}
.portal .area{position:relative;padding:12px 0 10px;gap:1px}
.portal .area::before{content:"";position:absolute;left:10px;right:10px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--v6-linha-2) 18%,var(--v6-linha-2) 82%,transparent)}
.portal .rotulo-area{display:flex;align-items:center;gap:8px;padding:2px 10px 8px;font-size:.64rem;font-weight:600;letter-spacing:.14em;color:var(--v6-tinta-3)}
.ponto-area{width:6px;height:6px;border-radius:50%;flex:none;background:var(--v6-cinza-ponto)}
.ponto-inteligencia{background:var(--v6-pessego)}
.ponto-operacao{background:var(--laranja)}
.ponto-controle{background:var(--ok-forte)}
.portal .areas a,.portal .modulo-atual{position:relative;display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;color:var(--v6-tinta-2);font-size:.86rem;font-weight:500;letter-spacing:-.005em}
.portal .areas a svg,.portal .modulo-atual svg{width:18px;height:18px;flex:none;color:var(--v6-tinta-3)}
.portal .areas a:hover{background:var(--v6-hover);color:var(--v6-tinta);text-decoration:none}
.portal .areas a[aria-current=page]{background:linear-gradient(90deg,var(--v6-laranja-50),var(--v6-laranja-50-a40));color:var(--laranja-texto);font-weight:600}
.portal .areas a[aria-current=page]::before{content:"";position:absolute;left:-4px;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--laranja)}
.portal .areas a[aria-current=page] svg,.portal .modulo-atual svg{color:var(--laranja)}
.portal .modulo-atual{color:var(--v6-tinta);font-weight:600}
.portal .subitens{margin:0 0 4px 19px;padding-left:10px;border-left:1px solid var(--v6-linha-2);gap:1px}
.portal .subitens a{font-size:.83rem;padding:6px 10px}
.portal .item-inicio{font-weight:500;margin-bottom:8px}
.portal .quem{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:10px;border-radius:12px;background:var(--v6-suave);color:var(--v6-tinta);font-size:.8rem}
.portal .quem > div{flex:1 1 calc(100% - 42px);min-width:0}
.portal .quem > a:first-of-type{margin-left:42px}
.portal .quem strong{font-size:.84rem;font-weight:600;letter-spacing:-.01em}
.portal .quem span{color:var(--v6-tinta-3)}
.portal .quem a{color:var(--v6-tinta-2);border-bottom-color:var(--v6-linha-2);margin-top:2px}
.portal .quem a:hover{color:var(--laranja-texto);border-color:var(--laranja-texto)}
.avatar{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;font:600 .7rem/1 var(--fonte-v6);color:var(--branco);background:linear-gradient(135deg,var(--v6-ambar),var(--laranja-texto))}
.portal .quem .avatar{color:var(--branco)}
.assinatura{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 0;padding:12px 8px 0;border-top:1px solid var(--v6-linha);font-size:.66rem;color:var(--v6-tinta-3)}
.marca-casthink{font-family:var(--fonte-numero);font-weight:600;font-size:.82rem;letter-spacing:-.02em;color:var(--v6-tinta)}
.marca-casthink::after{content:"";display:inline-block;width:5px;height:5px;margin-left:3px;vertical-align:1px;background:var(--v6-tinta)}

/* topo: trilha e busca de comando */
.portal .conteudo{padding:18px 32px 64px;max-width:1280px}
.topo-portal{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-bottom:24px}
.portal .trilha-navegacao{margin:0;font-size:.8rem;color:var(--v6-tinta-3)}
.portal .busca-topo{flex:0 1 520px;margin:0 0 0 auto;min-height:44px;padding:0 6px 0 14px;gap:10px;border-radius:12px;background:var(--v6-vidro-2);border:1px solid var(--v6-linha);
  box-shadow:0 1px 2px var(--v6-sombra-1),0 6px 20px -12px var(--v6-sombra-2);transition:border-color .15s,box-shadow .15s}
.portal .busca-topo:focus-within{border-color:var(--laranja);box-shadow:0 0 0 3px var(--laranja-a16)}
.portal .busca-topo svg{width:17px;height:17px;flex:none;color:var(--laranja-texto)}
.portal .busca-topo input{border:0;background:transparent;max-width:none;padding:10px 0;color:var(--v6-tinta);box-shadow:none}
.portal .busca-topo input:focus{box-shadow:none}
.portal .busca-topo .botao{padding:7px 12px;font-size:.78rem;border-radius:8px}
.atalho-teclado{font:500 .68rem/1 var(--fonte-v6);color:var(--v6-tinta-3);border:1px solid var(--v6-linha-2);border-bottom-width:2px;border-radius:6px;padding:4px 6px;background:var(--papel)}

/* cabeçalho, cartões, números */
.portal .cabeca{margin-bottom:24px}
.portal .cabeca h1{font-size:2rem;font-weight:600;letter-spacing:-.035em;line-height:1.12}
.portal .cabeca .sub{color:var(--v6-tinta-2);margin-top:8px}
.portal .secao,.portal .bloco,.portal .indicador,.portal .identidade,.portal .cartao,.portal .como-funciona .doc{border-color:var(--v6-linha);border-radius:18px;box-shadow:0 1px 2px var(--v6-sombra-1),0 10px 28px -20px var(--v6-sombra-2)}
.portal .bloco .rotulo,.portal .indicador .rotulo,.portal .par span{font-size:.76rem;font-weight:500;letter-spacing:.01em;text-transform:none;color:var(--v6-tinta-3)}
.portal .bloco .numero,.portal .indicador .numero,.portal .cartao .numero{font-family:var(--fonte-numero);font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.portal .indicador.atalho .numero{font-family:var(--fonte-v6);font-weight:600;font-size:1.08rem;letter-spacing:-.015em}
.portal .indicador.atalho:hover{border-color:var(--v6-laranja-100);transform:translateY(-1px)}
.portal .identidade::before{background:linear-gradient(180deg,var(--laranja),var(--v6-ambar))}
.portal .titulo-secao{font-weight:600;letter-spacing:.12em}
.portal .titulo-secao::after{background:var(--v6-linha-2)}

/* assistente: borda em degradê, sugestões em pêssego */
.portal .assistente{border:1px solid transparent;border-radius:20px;
  background:linear-gradient(var(--papel),var(--papel)) padding-box,linear-gradient(120deg,var(--v6-borda-ia-1),var(--v6-borda-ia-2) 35%,var(--v6-borda-ia-3) 75%,var(--v6-repouso)) border-box;
  box-shadow:0 18px 40px -26px var(--v6-botao-sombra)}
.portal .assistente h2 svg{color:var(--laranja)}
.portal .sugestao{background:var(--v6-laranja-50);border-color:var(--v6-laranja-100);color:var(--laranja-texto);font-weight:500}
.portal .sugestao:hover{background:var(--v6-laranja-100)}
.portal .bolha{border-radius:18px;background:conic-gradient(from 200deg,var(--laranja),var(--v6-ambar),var(--v6-rosado),var(--laranja-texto),var(--laranja))}

/* tabelas, abas, campos e botões */
.portal thead th{font-size:.74rem;font-weight:500;letter-spacing:.01em;text-transform:none;color:var(--v6-tinta-3);border-bottom-color:var(--v6-linha-2)}
.portal tbody td{border-bottom-color:var(--v6-linha)}
.portal tbody tr:hover td{background:var(--v6-laranja-50-a40)}
.portal .abas a{border-color:var(--v6-linha);font-weight:500;color:var(--v6-tinta-2)}
.portal .abas a[aria-current="page"]{background:var(--v6-laranja-50);border-color:var(--v6-laranja-100);color:var(--laranja-texto);font-weight:600}
.portal .abas a[aria-current="page"] .contagem{background:var(--laranja-texto);color:var(--branco)}
.portal input[type=text],.portal input[type=email],.portal input[type=password],.portal input[type=number],.portal input[type=date],.portal select,.portal textarea{border-color:var(--v6-linha-2);border-radius:10px}
.portal .botao{border-radius:10px;font-family:var(--fonte-v6);letter-spacing:-.005em}
.portal .botao:not(.claro):not(.perigoso):not(.discreto){background:var(--v6-botao);box-shadow:inset 0 1px 0 var(--branco-a18),0 6px 14px -8px var(--v6-botao-sombra)}
.portal .botao.claro{border-color:var(--v6-linha-2)}
.portal .botao.claro:hover{background:var(--v6-laranja-50);border-color:var(--v6-laranja-100)}
.portal .vazio-tela{border-color:var(--v6-linha-2);border-radius:18px}

/* celular: a barra volta a ser gaveta encostada na borda */
@media (max-width:860px){
  .portal .lateral{margin:0;top:0;height:100dvh;border-radius:0 20px 20px 0;background:var(--v6-vidro-2)}
  .portal .barra-topo{background:var(--v6-vidro-2);border-bottom-color:var(--v6-linha)}
  .portal .conteudo{padding:16px 16px 72px}
  .portal .busca-topo{flex:1 1 100%;margin:0}
  .portal .cabeca h1{font-size:1.6rem}
  .atalho-teclado{display:none}
}

/* Sumário executivo no Início (U7b; D257): os números vêm de cada módulo, a página só desenha. */
.saudacao .data-hoje{font-size:.8rem;font-weight:500;color:var(--v6-tinta-3);margin-bottom:8px}
.cartao-v6,.destaques{background:var(--papel);border:1px solid var(--v6-linha);border-radius:18px;box-shadow:0 1px 2px var(--v6-sombra-1),0 10px 28px -20px var(--v6-sombra-2);padding:18px 20px 20px;margin-bottom:20px}
.destaques{border:1px solid transparent;border-radius:20px;background:linear-gradient(var(--papel),var(--papel)) padding-box,linear-gradient(120deg,var(--v6-borda-ia-1),var(--v6-borda-ia-2) 35%,var(--v6-borda-ia-3) 75%,var(--v6-repouso)) border-box;box-shadow:0 18px 40px -26px var(--v6-botao-sombra)}
.cabeca-cartao{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.cabeca-cartao h2{font-size:1rem;font-weight:600;letter-spacing:-.01em}
.nota-cartao{font-size:.8rem;color:var(--v6-tinta-3)}
.fluxo-operacao{padding-bottom:22px}
.pedem{padding-bottom:12px}
.selo-vivo{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:500;color:var(--ok-tinta);background:var(--ok-fundo);border-radius:999px;padding:4px 9px}
.selo-vivo::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok-forte)}
.contagem-pedem{margin-left:auto;font-size:.74rem;font-weight:600;color:var(--laranja-texto);background:var(--v6-laranja-50);border-radius:999px;padding:4px 9px}
.destaques-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.destaque{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;border:1px solid var(--v6-linha);background:var(--papel-quente);color:var(--v6-tinta);transition:transform .15s,box-shadow .15s}
.destaque:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 24px -16px var(--v6-sombra-2)}
.topo-destaque{display:flex}
.selo-modulo{font-size:.72rem;font-weight:600;border-radius:999px;padding:4px 9px;background:var(--v6-laranja-50);color:var(--laranja-texto)}
.destaque-critico .selo-modulo{background:var(--erro-fundo);color:var(--erro-tinta)}
.destaque-neutro .selo-modulo{background:var(--neutro-fundo);color:var(--neutro-tinta)}
.destaque-atencao .selo-modulo{background:var(--v6-laranja-50);color:var(--laranja-texto)}
.corpo-destaque{display:flex;align-items:flex-end;gap:12px}
.numero-destaque{font-family:var(--fonte-numero);font-weight:500;font-size:2.4rem;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.texto-destaque{display:flex;flex-direction:column;gap:2px;min-width:0}
.texto-destaque strong{font-size:.9rem;font-weight:600;line-height:1.3}
.texto-destaque span{font-size:.78rem;color:var(--v6-tinta-3)}
.numeros-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px}
.cartao-numero{display:flex;flex-direction:column;gap:10px;padding:18px;background:var(--papel);border:1px solid var(--v6-linha);border-radius:18px;box-shadow:0 1px 2px var(--v6-sombra-1),0 10px 28px -20px var(--v6-sombra-2);color:var(--v6-tinta)}
.cartao-numero:hover{text-decoration:none;border-color:var(--v6-laranja-100)}
.topo-numero{display:flex;align-items:baseline;gap:8px}
.topo-numero .rotulo{font-size:.8rem;font-weight:500;color:var(--v6-tinta-2)}
.topo-numero .rotulo{flex:1}
.modulo-numero{white-space:nowrap;margin-left:auto;font-size:.72rem;color:var(--v6-tinta-3)}
.cartao-numero .numero{font-family:var(--fonte-numero);font-weight:500;font-size:2.2rem;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.composicao{display:flex;flex-direction:column;gap:8px}
.barra-composicao{display:flex;gap:2px;height:8px}
.parte-composicao{border-radius:4px;min-width:4px}
.legenda-composicao{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.74rem;color:var(--v6-tinta-2)}
.item-legenda{display:inline-flex;align-items:center;gap:6px}
.amostra{width:8px;height:8px;border-radius:2px;flex:none}
.tom-serie-0{background:var(--v6-pessego)}
.tom-serie-1{background:var(--v6-rosado)}
.tom-serie-2{background:var(--v6-repouso)}
.tom-atencao{background:var(--laranja)}
.etapas-fluxo{list-style:none;margin:0;padding:8px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;position:relative}
.etapas-fluxo::before{content:"";position:absolute;left:8%;right:8%;top:32px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--v6-pessego),var(--laranja) 60%,var(--ok-forte))}
.etapa{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.no-etapa{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--papel);border:2px solid var(--v6-pessego);font-family:var(--fonte-numero);font-weight:500;font-size:1.05rem}
.etapa.maior .no-etapa{border-color:var(--laranja);box-shadow:0 0 0 6px var(--laranja-a16)}
.etapa strong{font-size:.86rem;font-weight:600}
.nota-etapa{font-size:.74rem;color:var(--v6-tinta-3);margin-top:-4px}
.volume-etapa{width:70%;height:4px;border-radius:4px;background:var(--v6-suave);overflow:hidden}
.volume-cheio{display:block;height:4px;border-radius:4px;background:var(--v6-pessego)}
.etapa.maior .volume-cheio{background:var(--laranja)}
.lista-pedem{list-style:none;margin:0 -8px;padding:0}
.item-pedem{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--v6-tinta)}
.portal .conteudo li a.item-pedem{text-decoration:none}
.item-pedem:hover{background:var(--v6-laranja-50-a40);text-decoration:none}
.item-pedem:hover strong{text-decoration:underline;text-underline-offset:2px}
.marca-tom{width:8px;height:8px;border-radius:50%;flex:none;background:var(--v6-pessego)}
.marca-critico{background:var(--vermelho)}
.marca-atencao{background:var(--laranja)}
.marca-neutro{background:var(--v6-rosado)}
.texto-pedem{display:flex;flex-direction:column;min-width:0}
.texto-pedem strong{font-size:.88rem;font-weight:600}
.texto-pedem span{font-size:.76rem;color:var(--v6-tinta-3)}
.modulos-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.modulos-resumo .indicador.atalho{display:flex;flex-direction:column;gap:6px}
.modulos-resumo .rotulo{gap:8px}
.numeros-modulo{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.numeros-modulo:empty{display:none}
.linha-numero{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--v6-tinta-2);padding-bottom:6px;border-bottom:1px dashed var(--v6-linha-2)}
.valor-numero{font-family:var(--fonte-numero);font-weight:600;color:var(--v6-tinta);font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .etapas-fluxo{grid-template-columns:repeat(3,minmax(0,1fr))}
  .etapas-fluxo::before{display:none}
  .numero-destaque{font-size:2rem}
}
