/* assets/area-cliente.css | vitena · Área do cliente (versão 2.4)
   Celular primeiro. Cores sólidas da marca, sem degradê. Instrument Sans com -0.01em. */

:root {
  --ac-fundo: #F8F5F9; --ac-sup: #FFFFFF; --ac-sup-2: #FBF9FC; --ac-tinta: #1A1930; --ac-tinta-2: #4A4863; --ac-tinta-3: #64617A;
  --ac-linha: #E9E3EE; --ac-linha-2: #DDD5E4; --ac-acento: #4B4A9E; --ac-acento-txt: #4B4A9E; --ac-acento-sobre: #FFFFFF;
  --ac-acento-fraco: #EEEDF8; --ac-rosa: #F5EAF4; --ac-lilas: #C084D8; --ac-ok: #256B4D; --ac-ok-fraco: #E7F3EC;
  --ac-erro: #B3261E; --ac-erro-fraco: #FBEAE8; --ac-atencao: #9A5B00; --ac-atencao-fraco: #FDF1DD;
  --ac-r: 16px; --ac-r-sm: 11px; --ac-sombra: 0 1px 2px rgba(26,25,48,.04), 0 10px 30px -18px rgba(26,25,48,.22);
  --ac-barra-h: 64px; --ac-lado-w: 264px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --ac-fundo: #121019; --ac-sup: #1C1A27; --ac-sup-2: #221F2E; --ac-tinta: #F1EFF6; --ac-tinta-2: #C9C6D8; --ac-tinta-3: #9A96AD;
    --ac-linha: #2E2B3B; --ac-linha-2: #3A3649; --ac-acento: #4B4A9E; --ac-acento-txt: #C084D8; --ac-acento-fraco: #2A2546;
    --ac-rosa: #2A2140; --ac-ok: #6CC79A; --ac-ok-fraco: #183326; --ac-erro: #F08A80; --ac-erro-fraco: #3A1C1A;
    --ac-atencao: #F0B45A; --ac-atencao-fraco: #3A2C14; --ac-sombra: 0 1px 2px rgba(0,0,0,.4);
    color-scheme: dark;
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.pt-sem-rolagem { overflow: hidden; }
body.pt-corpo {
  margin: 0; background: var(--ac-fundo); color: var(--ac-tinta);
  font-family: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: calc(15px * var(--vt-fs, 1)); line-height: 1.5; letter-spacing: -0.01em; -webkit-font-smoothing: antialiased;
}
a { color: var(--ac-acento-txt); }
h1, h2, h3, h4 { letter-spacing: -0.015em; line-height: 1.25; }
img { max-width: 100%; }
[hidden] { display: none !important; }
.pt-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
:focus-visible { outline: 2px solid var(--ac-lilas); outline-offset: 2px; }

/* marca clara/escura */
.pt-marca-escura { display: none; }
@media (prefers-color-scheme: dark) { .pt-marca-clara { display: none; } .pt-marca-escura { display: inline-block; } }

/* ── botões e campos ─────────────────────────────────────────────────── */
.pt-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; padding: 0 20px;
  border-radius: 999px; border: 1px solid var(--ac-linha-2); background: var(--ac-sup); color: var(--ac-tinta);
  font: inherit; font-size: calc(15px * var(--vt-fs, 1)); font-weight: 600; letter-spacing: -0.01em; text-decoration: none; cursor: pointer;
  transition: border-color .15s, background .15s, transform .1s; -webkit-tap-highlight-color: transparent;
}
.pt-btn:hover { border-color: var(--ac-acento); color: var(--ac-acento-txt); }
.pt-btn:active { transform: scale(.98); }
.pt-btn:disabled { opacity: .6; cursor: default; }
.pt-btn-ok { background: var(--ac-acento); border-color: var(--ac-acento); color: var(--ac-acento-sobre); }
.pt-btn-ok:hover { color: var(--ac-acento-sobre); background: #403F8C; border-color: #403F8C; }
.pt-btn-sm { min-height: 38px; padding: 0 14px; font-size: calc(13.5px * var(--vt-fs, 1)); }
.pt-btn-perigo { color: var(--ac-erro); }
.pt-btn-perigo:hover { border-color: var(--ac-erro); color: var(--ac-erro); }
.pt-botoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.pt-botoes .pt-btn { flex: 1 1 140px; }
.pt-botoes-p .pt-btn { flex: 0 0 auto; }

.pt-campo { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; min-width: 0; }
.pt-campo label { font-size: calc(13.5px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-2); }
.pt-campo label .pt-meta { font-weight: 400; }
input[type=text], input[type=email], input[type=password], input[type=date], input[type=time], input:not([type]), select, textarea {
  width: 100%; min-height: 46px; padding: 11px 14px; border-radius: var(--ac-r-sm); border: 1px solid var(--ac-linha-2);
  background: var(--ac-sup); color: var(--ac-tinta); font: inherit; font-size: calc(16px * var(--vt-fs, 1)); letter-spacing: -0.01em;
}
textarea { min-height: 84px; resize: vertical; line-height: 1.45; }
select { appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2375728A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--ac-acento); box-shadow: 0 0 0 3px var(--ac-acento-fraco); }
input[readonly] { background: var(--ac-sup-2); color: var(--ac-tinta-2); }
input.mudou { border-color: var(--ac-lilas); background: var(--ac-rosa); }
input[aria-invalid=true], textarea[aria-invalid=true] { border-color: var(--ac-erro); }
.pt-campos-2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 14px; }
@media (min-width: 640px) { .pt-campos-2 { grid-template-columns: 1fr 1fr; } .pt-campos-2 .largo { grid-column: 1 / -1; } }
.pt-erro { margin: 6px 0 0; color: var(--ac-erro); font-size: calc(13.5px * var(--vt-fs, 1)); font-weight: 600; }
.pt-senha { position: relative; }
.pt-senha input { padding-right: 76px; }
.pt-olho { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: var(--ac-acento-txt); font: inherit; font-size: calc(13px * var(--vt-fs, 1)); font-weight: 600; padding: 8px 10px; cursor: pointer; }

/* avisos */
.pt-aviso { display: block; margin: 0 0 14px; padding: 12px 15px; border-radius: var(--ac-r-sm); font-size: calc(14.5px * var(--vt-fs, 1)); line-height: 1.45; text-decoration: none; border: 1px solid transparent; }
.pt-aviso-ok { background: var(--ac-ok-fraco); color: var(--ac-ok); border-color: color-mix(in srgb, var(--ac-ok) 22%, transparent); }
.pt-aviso-erro { background: var(--ac-erro-fraco); color: var(--ac-erro); border-color: color-mix(in srgb, var(--ac-erro) 22%, transparent); }
.pt-aviso-dica { background: var(--ac-rosa); color: var(--ac-acento-txt); font-weight: 600; }
.pt-flutuante { position: fixed; left: 16px; right: 16px; bottom: calc(var(--ac-barra-h) + 16px + env(safe-area-inset-bottom)); z-index: 90; max-width: 520px; margin: 0 auto; box-shadow: var(--ac-sombra); }

/* ── telas de entrada ────────────────────────────────────────────────── */
.pt-corpo-entrada { min-height: 100vh; display: flex; }
.pt-lateral { display: none; }
.pt-entrada { flex: 1; display: flex; align-items: center; justify-content: center; padding: 32px 16px calc(32px + env(safe-area-inset-bottom)); }
.pt-entrada-cx { width: 100%; max-width: 400px; }
.pt-entrada-cx .pt-marca { height: 30px; width: auto; margin-bottom: 26px; }
.pt-entrada-cx h1 { font-size: calc(27px * var(--vt-fs, 1)); margin: 0 0 6px; }
.pt-sub { margin: 0 0 22px; color: var(--ac-tinta-2); }
.pt-entrada-cx form > .pt-btn { width: 100%; margin-top: 4px; }
.pt-esqueci { margin-top: 18px; border-top: 1px solid var(--ac-linha); padding-top: 14px; }
.pt-esqueci summary { cursor: pointer; color: var(--ac-acento-txt); font-weight: 600; font-size: calc(14.5px * var(--vt-fs, 1)); list-style: none; padding: 4px 0; }
.pt-esqueci summary::-webkit-details-marker { display: none; }
.pt-esqueci[open] summary { margin-bottom: 10px; }
.pt-esqueci .pt-sub { margin-bottom: 14px; font-size: calc(14px * var(--vt-fs, 1)); }
.pt-esqueci form .pt-btn { width: 100%; }
.pt-ou { display: flex; align-items: center; gap: 12px; margin: 20px 0 0; color: var(--ac-tinta-3); font-size: calc(13px * var(--vt-fs, 1)); }
.pt-ou::before, .pt-ou::after { content: ""; flex: 1; height: 1px; background: var(--ac-linha); }
.pt-ou + .pt-esqueci { border-top: 0; padding-top: 6px; margin-top: 6px; }
.pt-rodape-entrada { margin: 34px 0 0; text-align: left; font-size: calc(12.5px * var(--vt-fs, 1)); color: var(--ac-tinta-3); }
@media (min-width: 960px) {
  .pt-lateral { display: flex; flex-direction: column; justify-content: space-between; width: 42%; max-width: 560px; padding: 48px; background: #4B4A9E; color: #fff; }
  .pt-lateral-marca { width: 150px; }
  .pt-lateral-frase { font-size: calc(30px * var(--vt-fs, 1)); line-height: 1.2; font-weight: 600; letter-spacing: -0.02em; max-width: 400px; margin: 0; }
  .pt-lateral-rodape { font-size: calc(13px * var(--vt-fs, 1)); opacity: .9; }
  .pt-entrada-cx .pt-marca { display: none; }
}

/* ── estrutura do portal ─────────────────────────────────────────────── */
.ac-app { min-height: 100vh; }
.ac-lado { display: none; }
.ac-corpo { min-width: 0; padding: 0 16px calc(var(--ac-barra-h) + 28px + env(safe-area-inset-bottom)); }
.ac-topo { display: flex; align-items: center; gap: 12px; padding: calc(14px + env(safe-area-inset-top)) 0 14px; }
.ac-topo-marca { display: none; }
.ac-topo-tit { flex: 1; min-width: 0; }
.ac-kicker { display: block; font-size: calc(12px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-3); text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-topo h1 { margin: 2px 0 0; font-size: calc(25px * var(--vt-fs, 1)); }
.pt-avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
  background: var(--ac-rosa); color: var(--ac-acento-txt); font-weight: 700; font-size: calc(14px * var(--vt-fs, 1)); letter-spacing: 0; text-decoration: none; }
.ac-main, .ac-corpo > .ac-topo, .ac-corpo > .pt-rodape { max-width: 960px; margin-inline: auto; width: 100%; }
@media (min-width: 900px) { .ac-corpo > .ac-subabas { max-width: 960px; margin-inline: auto; width: 100%; } }
/* mesmo eixo para o título, o conteúdo e o rodapé */
.ac-num { display: inline-flex; align-items: center; justify-content: center; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px;
  background: var(--ac-acento); color: #fff; font-style: normal; font-size: calc(11px * var(--vt-fs, 1)); font-weight: 700; letter-spacing: 0; line-height: 1; }

/* sub-abas do grupo */
.ac-subabas { display: flex; gap: 6px; overflow-x: auto; margin: 0 -16px 16px; padding: 2px 16px 4px; scrollbar-width: none; scroll-snap-type: x proximity; }
.ac-subabas::-webkit-scrollbar { display: none; }
.ac-subabas a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 15px; border-radius: 999px;
  background: var(--ac-sup); border: 1px solid var(--ac-linha); color: var(--ac-tinta-2); font-size: calc(14px * var(--vt-fs, 1)); font-weight: 600; text-decoration: none; white-space: nowrap; scroll-snap-align: start; }
.ac-subabas a.on { background: var(--ac-tinta); border-color: var(--ac-tinta); color: var(--ac-fundo); }
.ac-subabas a.on .ac-num { background: var(--ac-lilas); color: #1A1930; }

/* barra de baixo (celular) */
.ac-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; justify-content: space-around; align-items: stretch;
  height: calc(var(--ac-barra-h) + env(safe-area-inset-bottom)); padding: 0 6px env(safe-area-inset-bottom); background: var(--ac-sup); border-top: 1px solid var(--ac-linha); }
.ac-barra-i { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  border: 0; background: none; padding: 6px 2px; color: var(--ac-tinta-3); font: inherit; font-size: calc(11.5px * var(--vt-fs, 1)); font-weight: 600; text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ac-barra-i span { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-barra-i.on { color: var(--ac-acento-txt); }
.ac-barra-i.on svg { stroke-width: 2.1; }
.ac-barra-i .ac-num { position: absolute; top: 6px; left: calc(50% + 6px); min-width: 17px; height: 17px; font-size: calc(10px * var(--vt-fs, 1)); padding: 0 4px; }
.ac-barra-i .ac-num:empty { min-width: 9px; width: 9px; height: 9px; padding: 0; top: 9px; }
.ac-mais { position: fixed; inset: 0; z-index: 59; background: rgba(18,16,25,.32); }
.ac-mais-cx { position: absolute; left: 10px; right: 10px; bottom: calc(var(--ac-barra-h) + 10px + env(safe-area-inset-bottom)); padding: 8px; border-radius: 20px; background: var(--ac-sup); box-shadow: 0 18px 50px -12px rgba(18,16,25,.4); }
.ac-mais-cx a { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 14px; border-radius: 13px; color: var(--ac-tinta); text-decoration: none; font-weight: 600; }
.ac-mais-cx a span { flex: 1; }
.ac-mais-cx a.on { background: var(--ac-acento-fraco); color: var(--ac-acento-txt); }
.ac-mais-sair { color: var(--ac-erro) !important; }

@media (min-width: 900px) {
  .ac-app { display: grid; grid-template-columns: var(--ac-lado-w) minmax(0, 1fr); }
  .ac-barra, .ac-mais, .ac-topo-av { display: none !important; }
  .ac-lado { display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 22px 14px 18px; background: var(--ac-sup); border-right: 1px solid var(--ac-linha); scrollbar-width: thin; }
  .ac-lado-marca { padding: 4px 10px 18px; }
  .ac-lado-marca .pt-marca { height: 26px; width: auto; }
  .ac-lado-cli { display: flex; align-items: center; gap: 10px; padding: 12px 10px; margin-bottom: 14px; border-radius: 14px; background: var(--ac-fundo); }
  .ac-lado-cli span:last-child { min-width: 0; display: flex; flex-direction: column; }
  .ac-lado-cli strong { font-size: calc(14px * var(--vt-fs, 1)); line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ac-lado-cli small { font-size: calc(12.5px * var(--vt-fs, 1)); color: var(--ac-tinta-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ac-nav { display: flex; flex-direction: column; gap: 2px; flex: 1; }
  .ac-nav-gt { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 12px; border-radius: 12px; color: var(--ac-tinta-2); text-decoration: none; font-weight: 600; font-size: calc(14.5px * var(--vt-fs, 1)); }
  .ac-nav-gt span { flex: 1; }
  .ac-nav-gt:hover { background: var(--ac-fundo); color: var(--ac-tinta); }
  .ac-nav-g.on > .ac-nav-gt { color: var(--ac-tinta); }
  .ac-nav-g.on > .ac-nav-gt svg { color: var(--ac-acento-txt); }
  .ac-nav-gt[aria-current] { background: var(--ac-acento-fraco); color: var(--ac-acento-txt) !important; }
  .ac-nav-subs { display: none; flex-direction: column; gap: 1px; margin: 2px 0 8px 21px; padding-left: 12px; border-left: 1px solid var(--ac-linha); }
  .ac-nav-g.on .ac-nav-subs { display: flex; }
  .ac-nav-subs a { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 10px; border-radius: 10px; color: var(--ac-tinta-2); text-decoration: none; font-size: calc(14px * var(--vt-fs, 1)); }
  .ac-nav-subs a span { flex: 1; }
  .ac-nav-subs a:hover { background: var(--ac-fundo); color: var(--ac-tinta); }
  .ac-nav-subs a.on { background: var(--ac-acento-fraco); color: var(--ac-acento-txt); font-weight: 600; }
  .ac-lado-sair { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 12px; margin-top: 12px; border-radius: 12px; color: var(--ac-tinta-3); text-decoration: none; font-weight: 600; font-size: calc(14px * var(--vt-fs, 1)); }
  .ac-lado-sair:hover { background: var(--ac-erro-fraco); color: var(--ac-erro); }
  .ac-corpo { padding: 0 40px 56px; }
  .ac-topo { padding: 30px 0 16px; }
  .ac-topo h1 { font-size: calc(30px * var(--vt-fs, 1)); }
  .ac-subabas { margin: 0 0 22px; padding: 0; overflow: visible; flex-wrap: wrap; }
}
@media (min-width: 1280px) { .ac-corpo { padding: 0 64px 64px; } }

/* barra "instalar como app" */
.pt-app { display: flex; align-items: center; gap: 12px; margin: 0 -16px; padding: calc(10px + env(safe-area-inset-top)) 16px 10px; background: var(--ac-rosa); border-bottom: 1px solid var(--ac-linha); }
@media (min-width: 900px) { .pt-app { margin: 0 -40px; padding: 10px 40px; } }
@media (min-width: 1280px) { .pt-app { margin: 0 -64px; padding: 10px 64px; } }
/* o conteúdo do aviso segue o eixo do conteúdo da página (960px no centro) */
@media (min-width: 900px) { .pt-app { padding-inline: max(40px, calc((100% - 960px) / 2 + 40px)); } }
@media (min-width: 1280px) { .pt-app { padding-inline: max(64px, calc((100% - 960px) / 2 + 64px)); } }
.pt-app-ic img { width: 38px; height: 38px; border-radius: 10px; display: block; }
.pt-app-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.pt-app-txt strong { font-size: calc(14px * var(--vt-fs, 1)); }
.pt-app-txt span { font-size: calc(12.5px * var(--vt-fs, 1)); color: var(--ac-tinta-2); }
.pt-app-bt { flex: 0 0 auto; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 0; background: var(--ac-acento); color: #fff; font: inherit; font-size: calc(13.5px * var(--vt-fs, 1)); font-weight: 600; cursor: pointer; }
.pt-app-x { flex: 0 0 auto; width: 32px; height: 32px; border: 0; border-radius: 50%; background: none; color: var(--ac-tinta-3); font-size: calc(22px * var(--vt-fs, 1)); line-height: 1; cursor: pointer; }
.pt-app + .ac-topo { padding-top: 14px; }

/* ── conteúdo ────────────────────────────────────────────────────────── */
.pt-intro { margin: 0 0 16px; color: var(--ac-tinta-2); }
.pt-meta { margin: 0; color: var(--ac-tinta-3); font-size: calc(13.5px * var(--vt-fs, 1)); }
.ac-nota { margin: 14px 0 0; }
.pt-dia { margin: 26px 0 10px; font-size: calc(12.5px * var(--vt-fs, 1)); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ac-tinta-3); }
.pt-card { background: var(--ac-sup); border: 1px solid var(--ac-linha); border-radius: var(--ac-r); padding: 18px; margin: 0 0 14px; box-shadow: var(--ac-sombra); }
.pt-card > h2, .pt-card h2 { font-size: calc(19px * var(--vt-fs, 1)); margin: 0 0 6px; }
.pt-card > .pt-meta + form, .pt-card > p + form { margin-top: 14px; }
.ac-bloco { margin: 26px 0 0; }
.ac-bloco-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.ac-bloco-cab h2 { margin: 0; font-size: calc(18px * var(--vt-fs, 1)); }
.ac-bloco-cab a:not(.pt-btn) { font-size: calc(14px * var(--vt-fs, 1)); font-weight: 600; text-decoration: none; }
.pt-card .ac-bloco-cab { margin-bottom: 12px; }

.pt-vazio { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 38px 20px; border: 1px dashed var(--ac-linha-2); border-radius: var(--ac-r); background: var(--ac-sup); color: var(--ac-tinta-2); margin: 0 0 14px; }
.pt-vazio strong { color: var(--ac-tinta); font-size: calc(16px * var(--vt-fs, 1)); }
.pt-vazio span:not(.pt-vazio-ic) { max-width: 420px; font-size: calc(14px * var(--vt-fs, 1)); }
.pt-vazio-ic { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--ac-rosa); color: var(--ac-acento-txt); margin-bottom: 6px; }
.pt-vazio-txt { color: var(--ac-tinta-3); font-style: italic; }

/* resumo do início */
.ac-resumo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 900px) { .ac-resumo { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 900px) { .ac-resumo:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ac-resumo:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ac-resumo-c { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 16px; border-radius: var(--ac-r); background: var(--ac-sup); border: 1px solid var(--ac-linha); text-decoration: none; color: var(--ac-tinta); box-shadow: var(--ac-sombra); min-width: 0; }
.ac-resumo-c:hover { border-color: var(--ac-acento); }
.ac-resumo-ic { display: inline-flex; width: 38px; height: 38px; border-radius: 11px; align-items: center; justify-content: center; background: var(--ac-acento-fraco); color: var(--ac-acento-txt); margin-bottom: 8px; }
.ac-resumo-c b { font-size: calc(28px * var(--vt-fs, 1)); line-height: 1.1; letter-spacing: -0.02em; }
.ac-resumo-c > span:not(.ac-resumo-ic) { font-size: calc(13.5px * var(--vt-fs, 1)); color: var(--ac-tinta-2); line-height: 1.35; }
.ac-resumo-c em { display: inline-flex; align-items: center; gap: 4px; margin-top: 10px; font-style: normal; font-size: calc(13px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-acento-txt); }
.ac-resumo-c.alerta { background: var(--ac-rosa); border-color: color-mix(in srgb, var(--ac-lilas) 45%, transparent); }
.ac-atalhos { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
@media (min-width: 640px) { .ac-atalhos { grid-template-columns: 1fr 1fr; } }
.ac-atalhos a { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 14px; background: var(--ac-sup); border: 1px solid var(--ac-linha); text-decoration: none; color: var(--ac-tinta); min-width: 0; }
.ac-atalhos a:hover { border-color: var(--ac-acento); }
.ac-atalhos a > span:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ac-atalhos strong { font-size: calc(14.5px * var(--vt-fs, 1)); }
.ac-atalhos small { font-size: calc(13px * var(--vt-fs, 1)); color: var(--ac-tinta-3); }
.ac-atalhos a > svg { color: var(--ac-tinta-3); flex: 0 0 auto; }
.ac-atalho-ic { display: inline-flex; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; align-items: center; justify-content: center; background: var(--ac-fundo); color: var(--ac-acento-txt); }

/* linhas (agenda, relatório, listas) */
.pt-linha { display: flex; flex-wrap: wrap; align-items: center; column-gap: 14px; row-gap: 6px; padding: 13px 14px; background: var(--ac-sup); border: 1px solid var(--ac-linha); border-radius: 14px; margin: 0 0 8px; min-width: 0; }
.pt-hora { flex: 0 0 auto; min-width: 44px; font-weight: 700; font-size: calc(14px * var(--vt-fs, 1)); color: var(--ac-acento-txt); font-variant-numeric: tabular-nums; }
.pt-linha-txt { flex: 1 1 160px; min-width: 0; display: flex; flex-direction: column; line-height: 1.35; }
.pt-linha-txt strong { font-size: calc(15px * var(--vt-fs, 1)); overflow-wrap: break-word; }
.pt-linha-txt span { font-size: calc(13px * var(--vt-fs, 1)); color: var(--ac-tinta-3); overflow-wrap: break-word; }
.pt-linha > .pt-selo, .pt-linha > .pt-valor, .pt-linha > form { margin-left: auto; }
.pt-valor { font-weight: 700; white-space: nowrap; }

/* selos */
.pt-selo { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; max-width: 100%; padding: 4px 10px; border-radius: 999px; font-size: calc(12px * var(--vt-fs, 1)); font-weight: 650; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  background: var(--ac-fundo); color: var(--ac-tinta-2); }
.pt-selo-aprovacao { background: var(--ac-rosa); color: var(--ac-acento-txt); }
.pt-selo-concluido { background: var(--ac-ok-fraco); color: var(--ac-ok); }
.pt-selo[class*="pt-selo-n-"] { background: var(--n-bg); color: var(--n-tx); }
.pt-selo[class*="pt-selo-n-"]::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--n-dot); flex: 0 0 auto; }
.pt-selo-n-default { --n-bg: #EFEFED; --n-tx: #37352F; --n-dot: #91918E; }
.pt-selo-n-gray { --n-bg: #EBEBEA; --n-tx: #4A4946; --n-dot: #91918E; }
.pt-selo-n-brown { --n-bg: #F4EEEE; --n-tx: #64473A; --n-dot: #A27763; }
.pt-selo-n-orange { --n-bg: #FBECDD; --n-tx: #8A4A10; --n-dot: #D9730D; }
.pt-selo-n-yellow { --n-bg: #FBF3DB; --n-tx: #7A5A0B; --n-dot: #CB912F; }
.pt-selo-n-green { --n-bg: #EDF3EC; --n-tx: #2B593F; --n-dot: #448361; }
.pt-selo-n-blue { --n-bg: #E7F3F8; --n-tx: #1F4E6B; --n-dot: #337EA9; }
.pt-selo-n-purple { --n-bg: #F2EAF8; --n-tx: #4E3270; --n-dot: #9065B0; }
.pt-selo-n-pink { --n-bg: #FAEEF5; --n-tx: #6E2752; --n-dot: #C14C8A; }
.pt-selo-n-red { --n-bg: #FDEBEC; --n-tx: #8A2B26; --n-dot: #D44C47; }
@media (prefers-color-scheme: dark) { .pt-selo[class*="pt-selo-n-"] { --n-bg: color-mix(in srgb, var(--n-dot) 22%, transparent); --n-tx: #F1EFF6; } }

/* conteúdo para avaliar */
.ac-linha-acoes { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; }
.ac-linha-acoes .pt-intro { margin: 0; }
.pt-lote { flex: 1 1 100%; }
.pt-lote-abrir { width: 100%; }
@media (min-width: 640px) { .pt-lote { flex: 0 0 auto; } .pt-lote-abrir { width: auto; } }
.pt-lote-conf { padding: 16px; border-radius: var(--ac-r); background: var(--ac-rosa); border: 1px solid color-mix(in srgb, var(--ac-lilas) 40%, transparent); }
.pt-lote-conf p { margin: 0; }
.pt-lote-conf p span { display: block; margin-top: 4px; font-size: calc(14px * var(--vt-fs, 1)); color: var(--ac-tinta-2); }
@media (max-width: 480px) { .pt-lote-conf .pt-botoes .pt-btn { flex: 1 1 100%; } }
@media (min-width: 640px) { .pt-lote:has(.pt-lote-conf:not([hidden])) { flex: 1 1 100%; } }
.pt-post { padding: 0; overflow: hidden; }
.pt-post-txt { padding: 16px 18px 18px; }
.pt-post h2 { font-size: calc(18px * var(--vt-fs, 1)); margin: 0 0 4px; }
.pt-artes { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; background: var(--ac-fundo); scrollbar-width: none; }
.pt-artes::-webkit-scrollbar { display: none; }
.pt-artes a, .pt-artes video { flex: 0 0 100%; scroll-snap-align: center; display: block; }
.pt-artes.multi a { flex-basis: 88%; }
.pt-artes img, .pt-artes video { width: 100%; height: auto; max-height: 560px; object-fit: contain; display: block; background: var(--ac-fundo); }
.pt-videos { margin-top: 6px; }
.pt-contador { display: block; text-align: center; font-size: calc(12px * var(--vt-fs, 1)); font-weight: 700; color: var(--ac-tinta-3); padding: 8px 0 0; }
.pt-sem-arte { padding: 22px 18px; background: var(--ac-rosa); color: var(--ac-acento-txt); font-size: calc(14px * var(--vt-fs, 1)); font-weight: 600; }
.pt-legenda { margin: 12px 0 0; padding: 14px; border-radius: 12px; background: var(--ac-fundo); font-size: calc(14.5px * var(--vt-fs, 1)); line-height: 1.55; overflow-wrap: anywhere; }
.pt-legenda.pt-recolhida { max-height: 170px; max-height: 7lh; overflow: hidden; } /* corta numa linha inteira */
.pt-mais { margin-top: 6px; border: 0; background: none; color: var(--ac-acento-txt); font: inherit; font-weight: 600; font-size: calc(14px * var(--vt-fs, 1)); padding: 6px 0; cursor: pointer; }
.pt-anexo { display: inline-flex; align-items: center; gap: 6px; margin: 10px 8px 0 0; font-size: calc(14px * var(--vt-fs, 1)); font-weight: 600; text-decoration: none; }
.pt-resposta { margin-top: 14px; }
@media (min-width: 760px) {
  .pt-post { display: grid; grid-template-columns: minmax(0, 46%) minmax(0, 1fr); }
  .pt-post-midia { border-right: 1px solid var(--ac-linha); background: var(--ac-fundo); }
  .pt-artes img { max-height: 620px; }
  .pt-post-txt { padding: 20px 22px; }
}

/* arquivos */
.pt-envio { margin-bottom: 18px; }
.pt-envio input[type=text] { margin: 10px 0 12px; }
.pt-envio .pt-btn-ok { width: 100%; }
@media (min-width: 640px) { .pt-envio .pt-btn-ok { width: auto; } }
.pt-escolher { position: relative; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px; border: 1.5px dashed var(--ac-linha-2); border-radius: 14px; cursor: pointer; margin-top: 12px; }
.pt-escolher:hover, .pt-escolher:focus-within { border-color: var(--ac-acento); }
.pt-escolher > span { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border-radius: 999px; background: var(--ac-acento-fraco); color: var(--ac-acento-txt); font-weight: 600; font-size: calc(14px * var(--vt-fs, 1)); }
.pt-escolher small { flex: 1; min-width: 0; font-size: calc(13.5px * var(--vt-fs, 1)); color: var(--ac-tinta-3); overflow-wrap: anywhere; }
.pt-arquivos { display: flex; flex-direction: column; gap: 8px; }
.pt-arquivo { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: var(--ac-sup); border: 1px solid var(--ac-linha); text-decoration: none; color: var(--ac-tinta); min-width: 0; }
.pt-arquivo:hover { border-color: var(--ac-acento); }
.pt-arquivo-tipo { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: var(--ac-acento-fraco); color: var(--ac-acento-txt); font-size: calc(10.5px * var(--vt-fs, 1)); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.pt-galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 760px) { .pt-galeria { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-galeria .pt-arquivo { flex-direction: column; align-items: stretch; padding: 8px; gap: 8px; }
.pt-galeria .pt-arquivo-prev, .pt-galeria .pt-arquivo-tipo { width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 10px; }
.pt-arquivo-prev { display: flex; align-items: center; justify-content: center; background: var(--ac-fundo); overflow: hidden; }
.pt-arquivo-prev img { width: 100%; height: 100%; object-fit: contain; }
.pt-galeria .pt-linha-txt { padding: 0 4px 4px; }

/* relatório */
.pt-mes { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; flex-wrap: wrap; }
.pt-mes h2 { margin: 0; font-size: calc(20px * var(--vt-fs, 1)); }
.pt-mes select { width: auto; min-width: 180px; min-height: 42px; padding-top: 8px; padding-bottom: 8px; font-size: calc(15px * var(--vt-fs, 1)); }
.pt-numeros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
@media (min-width: 760px) { .pt-numeros { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pt-numeros > div { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 14px; background: var(--ac-sup); border: 1px solid var(--ac-linha); min-width: 0; }
.pt-numeros b { font-size: calc(23px * var(--vt-fs, 1)); letter-spacing: -0.02em; color: var(--ac-acento-txt); line-height: 1.15; overflow-wrap: anywhere; }
.pt-numeros span { font-size: calc(13px * var(--vt-fs, 1)); color: var(--ac-tinta-3); line-height: 1.3; }
.pt-card .pt-numeros > div { background: var(--ac-fundo); border-color: transparent; }
.pt-ig { margin: 6px 0 14px; padding: 18px; border-radius: var(--ac-r); background: var(--ac-sup); border: 1px solid var(--ac-linha); }
.pt-ig-cab { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }
.pt-ig-cab h3 { margin: 0; font-size: calc(17px * var(--vt-fs, 1)); }
.pt-ig-cab span:not(.pt-ig-ic) { font-size: calc(13px * var(--vt-fs, 1)); color: var(--ac-tinta-3); }
.pt-ig-ic { display: inline-flex; width: 40px; height: 40px; border-radius: 12px; align-items: center; justify-content: center; background: var(--ac-rosa); color: var(--ac-acento-txt); }
.pt-ig-num > div { background: var(--ac-fundo); border-color: transparent; }
.pt-ig-sub { margin: 16px 0 8px; font-size: calc(13px * var(--vt-fs, 1)); text-transform: uppercase; letter-spacing: .05em; color: var(--ac-tinta-3); }
.pt-ig-posts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
@media (min-width: 760px) { .pt-ig-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pt-ig-post { display: flex; gap: 12px; align-items: center; padding: 8px; border-radius: 14px; background: var(--ac-fundo); text-decoration: none; color: var(--ac-tinta); min-width: 0; }
@media (min-width: 760px) { .pt-ig-post { flex-direction: column; align-items: stretch; } }
.pt-ig-img { position: relative; flex: 0 0 72px; height: 72px; border-radius: 10px; overflow: hidden; background: var(--ac-rosa); }
@media (min-width: 760px) { .pt-ig-img { flex-basis: auto; height: auto; aspect-ratio: 1; } }
.pt-ig-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pt-ig-img i { position: absolute; left: 6px; bottom: 6px; padding: 2px 7px; border-radius: 999px; background: rgba(26,25,48,.72); color: #fff; font-size: calc(10.5px * var(--vt-fs, 1)); font-style: normal; font-weight: 600; }
.pt-ig-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; padding: 0 4px; }
.pt-ig-txt strong { font-size: calc(13.5px * var(--vt-fs, 1)); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pt-ig-txt span { font-size: calc(12.5px * var(--vt-fs, 1)); color: var(--ac-tinta-3); }
.pt-ig-rodape { margin: 12px 0 0; font-size: calc(12px * var(--vt-fs, 1)); color: var(--ac-tinta-3); }

/* cadastro */
.pt-dados { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; }
@media (min-width: 640px) { .pt-dados:not(.pt-dados-1) { grid-template-columns: 1fr 1fr; column-gap: 24px; } }
.pt-dados > div { padding: 11px 0; border-bottom: 1px solid var(--ac-linha); min-width: 0; }
.pt-dados dt { font-size: calc(12.5px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-3); margin: 0 0 2px; }
.pt-dados dd { margin: 0; font-size: calc(15px * var(--vt-fs, 1)); overflow-wrap: anywhere; }
.pt-form-linha { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; margin: 10px 0 6px; }
.pt-form-linha .pt-campo { flex: 1 1 220px; margin: 0; }

/* faturas */
.pt-faturas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
@media (min-width: 760px) { .pt-faturas { grid-template-columns: 1fr 1fr; } }
.pt-fatura { padding: 16px; border-radius: var(--ac-r); background: var(--ac-sup); border: 1px solid var(--ac-linha); min-width: 0; }
.pt-fatura.vencida { border-color: color-mix(in srgb, var(--ac-erro) 40%, transparent); }
.pt-fatura-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pt-fatura-val { font-size: calc(22px * var(--vt-fs, 1)); font-weight: 700; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.pt-fatura-desc { margin: 6px 0 2px; font-size: calc(14px * var(--vt-fs, 1)); color: var(--ac-tinta-2); overflow-wrap: anywhere; }
.pt-fatura .pt-botoes { margin-top: 12px; gap: 8px; }

/* notas fiscais: tabela no computador, cartões no celular */
.pt-tabela-cx { margin-top: 12px; border-radius: var(--ac-r); border: 1px solid var(--ac-linha); background: var(--ac-sup); overflow: hidden; }
.pt-tabela { width: 100%; border-collapse: collapse; font-size: calc(14px * var(--vt-fs, 1)); }
.pt-tabela th { text-align: left; font-size: calc(12px * var(--vt-fs, 1)); text-transform: uppercase; letter-spacing: .05em; color: var(--ac-tinta-3); font-weight: 700; padding: 12px 14px; background: var(--ac-sup-2); border-bottom: 1px solid var(--ac-linha); }
.pt-tabela td { padding: 12px 14px; border-bottom: 1px solid var(--ac-linha); vertical-align: middle; }
.pt-tabela tr:last-child td { border-bottom: 0; }
.pt-tabela .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pt-td-desc { color: var(--ac-tinta-2); max-width: 340px; }
.pt-td-acao { text-align: right; white-space: nowrap; }
@media (max-width: 759px) {
  .pt-tabela-cx { border: 0; background: none; overflow: visible; }
  .pt-tabela, .pt-tabela tbody, .pt-tabela tr, .pt-tabela td { display: block; width: 100%; }
  .pt-tabela thead { display: none; }
  .pt-tabela tr { padding: 12px 14px; margin: 0 0 10px; border-radius: 14px; border: 1px solid var(--ac-linha); background: var(--ac-sup); }
  .pt-tabela td { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 5px 0; border: 0; text-align: right; max-width: none; }
  .pt-tabela td::before { content: attr(data-r); flex: 0 0 auto; font-size: calc(12.5px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-3); text-align: left; }
  .pt-tabela td.pt-td-desc { display: block; text-align: left; padding-top: 2px; }
  .pt-tabela td.pt-td-desc::before { display: block; margin-bottom: 2px; }
  .pt-tabela td.pt-td-acao { justify-content: flex-end; padding-top: 10px; }
  .pt-tabela td.pt-td-acao .pt-btn { width: 100%; }
}

/* plano */
.pt-plano h2 { font-size: calc(23px * var(--vt-fs, 1)); margin: 4px 0 14px; }
.pt-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
@media (min-width: 640px) { .pt-checks { grid-template-columns: 1fr 1fr; } }
.pt-checks li { display: flex; align-items: flex-start; gap: 9px; font-size: calc(14.5px * var(--vt-fs, 1)); }
.pt-checks svg { flex: 0 0 auto; margin-top: 2px; color: var(--ac-ok); }
.pt-plano .pt-linha { background: var(--ac-fundo); border-color: transparent; }

/* pedidos */
.pt-seg { display: flex; gap: 4px; padding: 4px; margin: 14px 0 16px; border-radius: 14px; background: var(--ac-fundo); overflow-x: auto; scrollbar-width: none; }
.pt-seg a { flex: 1 0 auto; text-align: center; padding: 9px 12px; border-radius: 10px; font-size: calc(14px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-2); text-decoration: none; white-space: nowrap; }
.pt-seg a.on { background: var(--ac-sup); color: var(--ac-acento-txt); box-shadow: 0 1px 3px rgba(26,25,48,.12); }
.pt-pedido .pt-btn-ok { width: 100%; }
@media (min-width: 640px) { .pt-pedido .pt-btn-ok { width: auto; } }
.pt-ped { padding: 0; }
.pt-ped summary { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; }
.pt-ped summary::-webkit-details-marker { display: none; }
.pt-ped[open] summary { border-bottom: 1px solid var(--ac-linha); }
.pt-ped > :not(summary) { margin-left: 16px; margin-right: 16px; }
.pt-ped > .pt-meta:first-of-type { margin-top: 12px; }
.pt-difs { width: calc(100% - 32px); border-collapse: collapse; margin-top: 12px; font-size: calc(14px * var(--vt-fs, 1)); }
.pt-difs th { text-align: left; font-weight: 600; color: var(--ac-tinta-3); padding: 6px 12px 6px 0; vertical-align: top; width: 38%; font-size: calc(13px * var(--vt-fs, 1)); }
.pt-difs td { padding: 6px 0; overflow-wrap: anywhere; }
.pt-difs s { color: var(--ac-tinta-3); }
.pt-difs small { display: block; font-size: calc(12px * var(--vt-fs, 1)); color: var(--ac-ok); font-weight: 600; }
.pt-difs tr.nao small { color: var(--ac-tinta-3); }
.pt-conversa { list-style: none; padding: 0; margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.pt-conversa li { max-width: 88%; padding: 10px 13px; border-radius: 14px; background: var(--ac-fundo); }
.pt-conversa li.vitena { background: var(--ac-rosa); align-self: flex-start; border-bottom-left-radius: 4px; }
.pt-conversa li.cliente { align-self: flex-end; border-bottom-right-radius: 4px; }
.pt-conversa p { margin: 3px 0 0; font-size: calc(14.5px * var(--vt-fs, 1)); overflow-wrap: anywhere; }
.pt-conversa .pt-btn { margin-top: 8px; }
.pt-conv-quem { font-size: calc(12px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-3); }
.pt-ped-resp { margin-top: 12px; margin-bottom: 16px; }

/* sistemas */
.pt-sistemas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 760px) { .pt-sistemas { grid-template-columns: 1fr 1fr; } }
.pt-sis { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.pt-sis-cab { display: flex; align-items: center; gap: 12px; }
.pt-sis-cab h2 { margin: 0; font-size: calc(17px * var(--vt-fs, 1)); }
.pt-sis-cab small { display: block; font-size: calc(12.5px * var(--vt-fs, 1)); color: var(--ac-tinta-3); overflow-wrap: anywhere; }
.pt-sis-ic { display: inline-flex; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 13px; align-items: center; justify-content: center; background: var(--ac-acento-fraco); color: var(--ac-acento-txt); }
.pt-cred { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; border-radius: 12px; background: var(--ac-fundo); min-width: 0; }
.pt-cred > span { flex: 0 0 52px; font-size: calc(12.5px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-3); }
.pt-cred code { flex: 1; min-width: 0; font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size: calc(14px * var(--vt-fs, 1)); overflow-wrap: anywhere; letter-spacing: 0; }
.pt-ic-bt { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 10px; border: 0; background: var(--ac-sup); color: var(--ac-tinta-2); cursor: pointer; }
.pt-ic-bt:hover { color: var(--ac-acento-txt); }
.pt-ic-bt.ok { background: var(--ac-ok-fraco); color: var(--ac-ok); }
.pt-sis .pt-btn-ok { margin-top: 4px; }

/* formulários enviados pela vitena */
.pt-form-item { display: flex; align-items: center; gap: 12px; padding: 14px; margin: 0 0 8px; border-radius: 14px; background: var(--ac-sup); border: 1px solid var(--ac-linha); text-decoration: none; color: var(--ac-tinta); min-width: 0; }
.pt-form-item:hover { border-color: var(--ac-acento); }
.pt-form-ic { display: inline-flex; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; align-items: center; justify-content: center; background: var(--ac-rosa); color: var(--ac-acento-txt); }
.pt-form-feito .pt-form-ic { background: var(--ac-ok-fraco); color: var(--ac-ok); }
.pt-voltar { display: inline-flex; align-items: center; gap: 4px; margin: 0 0 12px; font-weight: 600; font-size: calc(14px * var(--vt-fs, 1)); text-decoration: none; }
.pt-form h2 { font-size: calc(21px * var(--vt-fs, 1)); }
.pt-form-desc { margin: 0 0 12px; color: var(--ac-tinta-2); }
.pt-form-recado { margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; background: var(--ac-rosa); font-size: calc(14.5px * var(--vt-fs, 1)); }
.pt-form-recado span { display: block; font-size: calc(12px * var(--vt-fs, 1)); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ac-acento-txt); margin-bottom: 3px; }
.pt-form-campos { margin-top: 16px; }
.pt-q { border: 0; margin: 0 0 18px; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.pt-q > label, .pt-q > legend { font-weight: 600; font-size: calc(15px * var(--vt-fs, 1)); padding: 0; display: flex; gap: 9px; align-items: baseline; }
.pt-q-n { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--ac-acento-fraco); color: var(--ac-acento-txt); font-size: calc(12px * var(--vt-fs, 1)); font-weight: 700; }
.pt-obrig { color: var(--ac-erro); }
.pt-q-erro > label, .pt-q-erro > legend { color: var(--ac-erro); }
.pt-q-erro input, .pt-q-erro textarea, .pt-q-erro select, .pt-q-erro .pt-opcao, .pt-q-erro .pt-escala label span { border-color: var(--ac-erro); }
.pt-opcoes { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.pt-opcao { position: relative; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border: 1px solid var(--ac-linha-2); border-radius: 12px; cursor: pointer; background: var(--ac-sup); }
.pt-opcao input { width: 20px; height: 20px; accent-color: var(--ac-acento); flex: 0 0 auto; margin: 0; }
.pt-opcao:has(input:checked) { border-color: var(--ac-acento); background: var(--ac-acento-fraco); }
.pt-escala { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.pt-escala label { flex: 1 0 44px; position: relative; }
.pt-escala input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.pt-escala span { display: flex; align-items: center; justify-content: center; height: 46px; border-radius: 12px; border: 1px solid var(--ac-linha-2); font-weight: 700; background: var(--ac-sup); }
.pt-escala input:checked + span { background: var(--ac-acento); border-color: var(--ac-acento); color: #fff; }
.pt-escala input:focus-visible + span { outline: 2px solid var(--ac-lilas); outline-offset: 2px; }
.pt-escala-rot { display: flex; justify-content: space-between; font-size: calc(12.5px * var(--vt-fs, 1)); color: var(--ac-tinta-3); }
.pt-form-campos > .pt-btn-ok { width: 100%; margin-top: 6px; }
@media (min-width: 640px) { .pt-form-campos > .pt-btn-ok { width: auto; } }
.pt-form-respostas { margin: 14px 0 0; }
.pt-form-respostas dt { font-size: calc(13px * var(--vt-fs, 1)); font-weight: 600; color: var(--ac-tinta-3); margin-top: 12px; }
.pt-form-respostas dd { margin: 3px 0 0; padding-bottom: 12px; border-bottom: 1px solid var(--ac-linha); overflow-wrap: anywhere; }

/* janelas (aviso, Pix, instalar app, aparelho confiável) */
.pt-modal { position: fixed; inset: 0; z-index: 100; display: flex; align-items: flex-end; justify-content: center; background: rgba(18,16,25,.45); padding: 0; }
.pt-modal-cx { position: relative; width: 100%; max-width: 520px; max-height: 88vh; overflow-y: auto; padding: 24px 20px calc(20px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; background: var(--ac-sup); box-shadow: 0 -10px 40px -10px rgba(18,16,25,.35); animation: pt-sobe .22s ease-out; }
@media (min-width: 640px) { .pt-modal { align-items: center; padding: 20px; } .pt-modal-cx { border-radius: 22px; padding: 28px; } }
@keyframes pt-sobe { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pt-modal-cx { animation: none; } }
.pt-modal-cx h2 { margin: 6px 0 8px; font-size: calc(21px * var(--vt-fs, 1)); }
.pt-modal-tag { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: calc(11.5px * var(--vt-fs, 1)); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: var(--ac-acento-fraco); color: var(--ac-acento-txt); }
.pt-aviso-novidade .pt-modal-tag { background: var(--ac-rosa); }
.pt-aviso-importante .pt-modal-tag { background: var(--ac-atencao-fraco); color: var(--ac-atencao); }
.pt-modal-txt { margin: 0 0 6px; color: var(--ac-tinta-2); font-size: calc(15px * var(--vt-fs, 1)); line-height: 1.55; overflow-wrap: anywhere; }
.pt-modal-x { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--ac-fundo); color: var(--ac-tinta-2); font-size: calc(22px * var(--vt-fs, 1)); line-height: 1; cursor: pointer; }
.pt-passos { margin: 14px 0 10px; padding: 0; list-style: none; counter-reset: p; display: flex; flex-direction: column; gap: 10px; }
.pt-passos li { counter-increment: p; position: relative; padding: 2px 0 2px 38px; font-size: calc(15px * var(--vt-fs, 1)); line-height: 1.5; }
.pt-passos li::before { content: counter(p); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--ac-acento); color: #fff; font-size: calc(13px * var(--vt-fs, 1)); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pt-passos svg { vertical-align: -4px; color: var(--ac-acento-txt); }
#pt-pix-qr { display: block; width: 190px; height: 190px; margin: 10px auto; border-radius: 12px; background: #fff; padding: 6px; }
#pt-pix-cod { font-family: ui-monospace, Menlo, monospace; font-size: calc(12.5px * var(--vt-fs, 1)); letter-spacing: 0; min-height: 70px; }

/* rodapé */
.pt-rodape { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--ac-linha); font-size: calc(12.5px * var(--vt-fs, 1)); color: var(--ac-tinta-3); }

/* impressão (notas, plano, dados) */
@media print {
  .ac-lado, .ac-barra, .ac-mais, .pt-app, .ac-subabas, .pt-botoes, .pt-modal, .pt-rodape, .ac-topo-av { display: none !important; }
  body.pt-corpo { background: #fff; color: #000; }
  .ac-corpo { padding: 0; }
  .pt-card, .pt-linha, .pt-tabela-cx { box-shadow: none; border-color: #ddd; }
}

/* revisão 2.4.1: acabamento */
.ac-subabas { scroll-padding-inline: 16px; }
.ac-subabas a { scroll-snap-align: start; }
.ac-bloco-cab { flex-wrap: wrap; row-gap: 8px; }
.ac-bloco-cab h2 { flex: 1 1 auto; min-width: 0; }
.ac-bloco-cab .pt-btn { flex: 0 0 auto; white-space: nowrap; }
.pt-arquivos + .pt-card, .pt-arquivos + form, .pt-arquivos + section { margin-top: 14px; }
.pt-card > h2 + .pt-meta { margin: 4px 0 16px; }
.pt-arquivo-tipo { font-size: calc(10px * var(--vt-fs, 1)); letter-spacing: .02em; }
@media (min-width: 760px) {
  .pt-numeros:has(> div:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-numeros:has(> div:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.pt-card form + .pt-meta, .pt-card .pt-btn + .pt-meta, .pt-botoes + .pt-meta { margin-top: 10px; }

/* vitena_revisao_242: no celular, o selo fica sempre embaixo do título, no mesmo eixo */
@media (max-width: 560px) {
  .pt-linha:has(> .pt-hora + .pt-linha-txt + .pt-selo) { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .pt-linha:has(> .pt-hora + .pt-linha-txt + .pt-selo) > .pt-hora { grid-row: span 2; padding-top: 1px; }
  .pt-linha:has(> .pt-hora + .pt-linha-txt + .pt-selo) > .pt-selo { grid-column: 2; justify-self: start; margin-left: 0; }
}

/* 2.7.7: sem faixa rolando para o lado no celular: subabas e seletores quebram linha */
.ac-subabas { flex-wrap: wrap; overflow: visible; margin: 0 0 16px; padding: 2px 0 4px; }
.pt-seg { flex-wrap: wrap; overflow: visible; }
/* 2.8.0: links dentro das notas de rodapé com área de toque no celular */
@media (max-width: 768px){ .ac-nota a, .pt-meta a{ display:inline-block; padding:8px 0; margin:-8px 0; } }
