:root {
  --fundo: #f3f5f8; --cartao: #ffffff; --texto: #23272e; --suave: #68727f; --linha: #e9edf2; --campo: #f6f8fa; --borda: #d9e0e8;
  --marca: #2b3038; --marca-texto: #ffffff; --link: #245f9e;
  --ceu-1: #5f93cf; --ceu-2: #9fc1e6; --ceu-3: #d3e3f3;
  --ok: #23824a; --ok-fundo: #e2f5e6; --ok-vivo: #7fcf8a;
  --alerta: #a9520a; --alerta-fundo: #fdefd8; --erro: #b3293a; --erro-fundo: #fde8ea;
  --raio: 22px; --sombra: 0 1px 2px rgba(24, 44, 74, .03), 0 12px 30px -20px rgba(24, 44, 74, .14);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 16px/1.45 Urbanist, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: var(--link); }
h1 { font-size: 22px; font-weight: 600; margin: 0 0 12px; letter-spacing: -.01em; }
h2 { font-size: 17px; font-weight: 600; margin: 0 0 14px; letter-spacing: -.005em; }
input, select, button { font: inherit; }
input:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #14365f; outline-offset: 2px; }

/* Faixa azul do topo: marca, navegação em pílulas, título grande e fichas */
.hero { position: relative; overflow: hidden; color: #fff; padding: 16px 20px 104px; background: linear-gradient(115deg, var(--ceu-1) 0%, var(--ceu-2) 55%, var(--ceu-3) 100%); }
.hero > div { position: relative; max-width: 1120px; margin: 0 auto; }
.leque { position: absolute; left: 50%; transform: translateX(-38%); bottom: -6px; width: 440px; max-width: 60%; opacity: .7; pointer-events: none; }
.topo { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; }
.marca { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.marca img { display: block; height: 40px; width: auto; }
.usuario { display: flex; gap: 8px; align-items: center; margin-left: auto; }
.usuario form { margin: 0; }

/* Menu lateral fixo à esquerda, em tom claro e translúcido; recolhe para só os ícones (no celular vira a barra do rodapé) */
.lateral { position: fixed; z-index: 10; top: 0; bottom: 0; left: 0; width: 232px; display: flex; flex-direction: column; gap: 24px; padding: 18px 12px; overflow-x: hidden; overflow-y: auto;
  background: linear-gradient(180deg, rgba(234, 241, 249, .92) 0%, rgba(243, 245, 248, .92) 100%); border-right: 1px solid rgba(36, 95, 158, .08);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transition: width .2s ease, padding .2s ease; }
.lateral-topo { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 44px; }
.lateral .marca { padding: 0 6px; min-width: 0; }
.lateral .marca img { height: 30px; width: auto; max-width: 100%; }
.lateral .marca .so-icone { display: none; height: 30px; width: 30px; }
.recolher { flex: none; display: grid; place-items: center; width: 36px; height: 36px; min-height: 0; padding: 0; border: 0; border-radius: 10px; background: transparent; color: #7a8897; }
.recolher:hover { background: rgba(95, 147, 207, .12); color: #1b3350; }
.recolher svg { width: 20px; height: 20px; transition: transform .2s ease; }
.lateral nav { display: flex; flex-direction: column; gap: 2px; }
.lateral nav a { display: flex; gap: 12px; align-items: center; min-height: 42px; padding: 9px 12px; border-radius: 12px; color: #4a5664; text-decoration: none; font-size: 14.5px; font-weight: 500; white-space: nowrap; transition: background .15s, color .15s; }
.lateral nav a:hover { background: rgba(95, 147, 207, .1); color: #1b3350; }
.lateral nav a svg { width: 18px; height: 18px; flex: none; stroke-width: 1.5; color: #7a8897; }
.lateral nav a.ativo { background: rgba(255, 255, 255, .85); color: #1b3350; box-shadow: 0 1px 2px rgba(24, 44, 74, .05), 0 4px 14px -8px rgba(24, 44, 74, .25); }
.lateral nav a.ativo svg { color: var(--ceu-1); }
@media (min-width: 721px) {
  body.logado { padding-left: 232px; transition: padding-left .2s ease; }
  .topo > .marca { display: none; }
  body.menu-recolhido { padding-left: 72px; }
  .menu-recolhido .lateral { width: 72px; padding: 18px 10px; }
  .menu-recolhido .lateral-topo { flex-direction: column; gap: 10px; }
  .menu-recolhido .lateral .marca { padding: 0; }
  .menu-recolhido .lateral .marca img:not(.so-icone) { display: none; }
  .menu-recolhido .lateral .marca .so-icone { display: block; }
  .menu-recolhido .recolher svg { transform: scaleX(-1); }
  .menu-recolhido .lateral nav a { justify-content: center; padding: 9px 0; }
  .menu-recolhido .lateral nav a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}

/* Nome do usuário no topo: abre as opções da conta */
.menu-conta { position: relative; }
.menu-conta summary { list-style: none; cursor: pointer; }
.menu-conta summary::-webkit-details-marker { display: none; }
.menu-conta summary svg { width: 16px; height: 16px; color: var(--suave); transition: transform .15s; }
.menu-conta[open] summary svg { transform: rotate(180deg); }
.opcoes-conta { position: absolute; z-index: 20; right: 0; top: calc(100% + 8px); min-width: 250px; display: flex; flex-direction: column; padding: 8px; border-radius: 16px; background: #fff; color: var(--texto); box-shadow: 0 16px 40px -12px rgba(24, 44, 74, .35), 0 0 0 1px var(--linha); }
.opcoes-conta small { padding: 6px 12px 8px; color: var(--suave); font-size: 13px; overflow-wrap: anywhere; border-bottom: 1px solid var(--linha); margin-bottom: 4px; }
.opcoes-conta a { padding: 10px 12px; border-radius: 10px; color: var(--texto); text-decoration: none; font-size: 15px; font-weight: 500; }
.opcoes-conta a:hover { background: var(--fundo); }
.cartao.medio { max-width: 760px; }
.ficha { display: inline-flex; gap: 6px; align-items: center; min-height: 40px; padding: 6px 14px; border-radius: 999px; background: #fff; color: var(--texto); font-size: 14px; font-weight: 500; text-decoration: none; box-shadow: var(--sombra); }
.ficha small { color: var(--suave); font-size: 13px; font-weight: 500; }
.ficha .avatar { display: grid; place-items: center; width: 28px; height: 28px; margin-left: -8px; border-radius: 50%; background: var(--marca); color: #fff; font-size: 13px; }
button.pilula { min-height: 40px; padding: 6px 16px; border: 0; font-size: 14px; box-shadow: var(--sombra); }
.hero-titulo { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: flex-end; justify-content: space-between; margin-top: 40px !important; }
.hero-titulo .sobre { margin: 0 0 4px; font-size: 14px; font-weight: 500; opacity: .92; }
.hero-titulo h1 { margin: 0; font-family: Nunito, Urbanist, system-ui, sans-serif; font-size: clamp(28px, 4.4vw, 44px); font-weight: 600; letter-spacing: -.01em; line-height: 1.1; color: #fff; overflow-wrap: anywhere; }
.fichas { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.recepcoes { display: flex; gap: 4px; flex-wrap: wrap; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, .38); border: 1px solid rgba(255, 255, 255, .7); }
.recepcoes button { min-height: 40px; padding: 6px 16px; border: 0; background: transparent; color: #1b3350; font-size: 14px; font-weight: 500; }
.recepcoes button.ativo { background: #fff; color: var(--texto); box-shadow: var(--sombra); }

main { position: relative; max-width: 1160px; margin: -72px auto 0; padding: 0 20px 48px; }
.colunas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 16px; align-items: start; }
@media (min-width: 960px) { .colunas { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .colunas.desigual { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); } }

/* Abas internas de uma tela (Administração): pílulas que rolam de lado no celular */
.abas { display: flex; width: fit-content; max-width: 100%; gap: 6px; margin-bottom: 16px; padding: 5px; border-radius: 999px; background: var(--cartao); box-shadow: var(--sombra); overflow-x: auto; scrollbar-width: none; }
.abas a { flex: none; min-height: 40px; display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; color: var(--suave); text-decoration: none; font-size: 14.5px; font-weight: 500; white-space: nowrap; }
.abas a:hover { background: var(--campo); color: var(--texto); }
.abas a.ativo { background: var(--marca); color: var(--marca-texto); }
.cartao { background: var(--cartao); border-radius: var(--raio); padding: 24px; margin-bottom: 16px; box-shadow: var(--sombra); }
.cartao > h2:first-child, .cartao > h1:first-child { display: flex; gap: 10px; align-items: center; }
.cartao > h2:first-child::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--ceu-1); }
.dica { color: var(--suave); font-size: 14px; margin: 4px 0 12px; }

label { display: block; font-size: 13px; font-weight: 500; color: #4f5965; margin-bottom: 14px; }
input:not([type=checkbox]):not([type=radio]):not([type=file]), select { display: block; width: 100%; margin-top: 6px; padding: 10px 14px; border: 1px solid var(--borda); border-radius: 14px; background: var(--campo); color: var(--texto); font-weight: 400; min-height: 46px; }
input:not([type=checkbox]):not([type=radio]):not([type=file]):focus, select:focus { background: #fff; border-color: var(--marca); }
/* iPhone: campo de data e hora tem largura própria e passava da margem do cartão */
input[type=date], input[type=time] { -webkit-appearance: none; appearance: none; min-width: 0; max-width: 100%; }
input[type=date]::-webkit-date-and-time-value, input[type=time]::-webkit-date-and-time-value { text-align: left; min-height: 1.4em; }
textarea { display: block; width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid var(--borda); border-radius: 14px; background: var(--campo); color: var(--texto); font: inherit; font-weight: 400; resize: vertical; }
textarea:focus { background: #fff; border-color: var(--marca); }
.anotacao { white-space: pre-wrap; }
[data-so-visita][hidden], [data-so-perda][hidden] { display: none; }
input::placeholder, textarea::placeholder { color: #8b95a1; font-weight: 400; }
input[type=checkbox], input[type=radio] { accent-color: var(--marca); }
input[type=file] { max-width: 100%; margin-bottom: 12px; }
input[type=file]::file-selector-button { font: inherit; font-weight: 600; margin-right: 12px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--borda); background: #fff; cursor: pointer; }
button { cursor: pointer; padding: 10px 22px; border-radius: 999px; border: 1px solid var(--borda); background: #fff; color: var(--texto); min-height: 46px; font-size: 15px; font-weight: 500; }
button.primario { background: var(--marca); color: var(--marca-texto); border-color: var(--marca); }
button:disabled { opacity: .5; cursor: not-allowed; }
button.link { border: 0; background: none; padding: 4px; min-height: 0; border-radius: 6px; color: var(--link); text-decoration: underline; font-weight: 500; }
a.botao { display: inline-flex; align-items: center; justify-content: center; padding: 10px 24px; border-radius: 999px; min-height: 46px; font-size: 15px; font-weight: 500; text-decoration: none; }
a.botao.primario { background: var(--marca); color: var(--marca-texto); }
.grade { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 16px; }
@media (min-width: 620px) { .grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .grade .largo { grid-column: 1 / -1; } }
.caixa { display: flex; gap: 8px; align-items: center; font-size: 15px; font-weight: 400; color: var(--texto); }
.emlinha.com-pdvs { flex-wrap: wrap; min-width: 420px; }
.selecao { flex-basis: 100%; border: 1px solid var(--borda); border-radius: 12px; background: var(--campo); color: var(--texto); font-size: 14px; font-weight: 400; }
.selecao summary { padding: 8px 12px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 10px; }
.selecao summary::-webkit-details-marker { display: none; }
.selecao summary::after { content: "▾"; }
.selecao[open] summary::after { content: "▴"; }
.selecao > div { display: grid; gap: 6px; padding: 4px 12px 10px; }
.selecao .caixa { font-size: 14px; margin: 0; }
.selecao .caixa input { width: 18px !important; height: 18px; min-height: 18px !important; padding: 0 !important; border-radius: 4px !important; flex: none; }
.rotulo { font-size: 13px; font-weight: 500; color: #4f5965; display: grid; gap: 6px; margin-bottom: 14px; }
.pdvs { display: flex; flex-wrap: wrap; gap: 4px 14px; flex-basis: 100%; }
.pdvs .caixa { font-size: 14px; margin: 0; }
.emlinha .pdvs input { width: 18px !important; height: 18px; min-height: 18px !important; padding: 0 !important; border-radius: 4px !important; }
.caixa input, .presenca input[type=checkbox] { width: 24px; height: 24px; flex: none; }
.captcha { margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--linha); border-radius: 20px; }
.captcha svg { display: block; max-width: 100%; margin-bottom: 8px; border-radius: 12px; background: var(--campo); }
fieldset.opcoes { border: 1px solid var(--linha); border-radius: 20px; padding: 12px 16px; margin: 0 0 16px; }
fieldset.opcoes legend { font-size: 13px; font-weight: 500; color: #4f5965; padding: 0 6px; }
fieldset.opcoes label { display: flex; gap: 10px; align-items: center; font-weight: 400; font-size: 16px; color: var(--texto); margin: 0; min-height: 44px; cursor: pointer; }
fieldset.opcoes input { width: 22px; height: 22px; flex: none; margin: 0; }

.aviso { background: #fff; border-left: 4px solid var(--ceu-1); padding: 14px 18px; border-radius: 20px; margin: 0 0 16px; box-shadow: var(--sombra); }
.aviso.erro { background: var(--erro-fundo); border-color: var(--erro); }
.cartao .aviso { background: #eaf1f9; box-shadow: none; }
.cartao .aviso.erro { background: var(--erro-fundo); }
.resultado { border-radius: var(--raio); padding: 24px; margin-bottom: 16px; border: 1px solid var(--ok); background: var(--ok-fundo); box-shadow: var(--sombra); }
.resultado.alerta, .resultado.conflito { border-color: var(--alerta); background: var(--alerta-fundo); }
.resultado.erro { border-color: var(--erro); background: var(--erro-fundo); }
.resultado h2 { font-size: 19px; }
.resultado dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0 0 12px; }
.resultado dt { color: #4f5965; font-size: 14px; }
.resultado dd { margin: 0; font-weight: 600; }
.resultado .dica { color: #4f5965; }
@media (max-width: 520px) { .resultado dl { grid-template-columns: 1fr; gap: 0; } .resultado dd { margin-bottom: 8px; } }
.selo { display: inline-block; padding: 6px 14px; border-radius: 999px; font-weight: 600; font-size: 13px; margin: 0 0 8px; }
.selo.ok { background: var(--ok); color: #fff; }
.selo.alerta { background: var(--alerta); color: #fff; }
.selo.mini { font-size: 12px; padding: 3px 10px; margin: 0; font-weight: 500; }
.selo.mini.ok { background: var(--ok-fundo); color: #17603a; }
.selo.mini.alerta { background: var(--alerta-fundo); color: #8a4308; }
.selo.mini.neutro { background: #e6eef8; color: #24507f; }

.rolagem { overflow-x: auto; margin-bottom: 16px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
th { color: var(--suave); font-weight: 500; font-size: 13px; padding-top: 4px; }
tbody tr:last-child td { border-bottom: 0; }
td a { font-weight: 500; }
tr.inativo td { opacity: .5; }
.emlinha { display: flex; gap: 6px; align-items: center; }
.emlinha input { min-height: 38px !important; padding: 6px 12px !important; margin: 0 !important; width: 140px !important; border-radius: 12px !important; }
.emlinha select { min-height: 38px; padding: 6px 12px; margin: 0; width: 170px; border-radius: 12px; }
.emlinha.folgado { flex-wrap: wrap; }
.emlinha.folgado select { flex: 1 1 240px; max-width: 460px; width: auto; min-height: 46px; }
.emlinha.folgado input { min-height: 46px !important; width: 190px !important; border-radius: 14px !important; }
.emlinha.folgado + .painel { margin-top: 20px; }
.emlinha.folgado label { display: flex; gap: 8px; align-items: center; margin: 0; }

/* Números do evento: percentual grande com barra de traços e quatro contadores */
.painel { display: grid; gap: 20px 40px; margin: 8px 0 20px; }
@media (min-width: 760px) { .painel { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: end; } }
.destaque span { color: var(--suave); font-size: 14px; }
.destaque strong { display: block; font-size: 46px; font-weight: 400; line-height: 1.15; letter-spacing: -.01em; }
.tracos { height: 30px; margin-top: 10px; background: linear-gradient(90deg, var(--ok-vivo) var(--p, 0%), #dfe4ea var(--p, 0%)); -webkit-mask: repeating-linear-gradient(90deg, #000 0 2px, transparent 2px 6px); mask: repeating-linear-gradient(90deg, #000 0 2px, transparent 2px 6px); }
.destaque .legenda { display: flex; justify-content: space-between; margin-top: 4px; font-size: 13px; }
.numeros { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 24px; }
.numeros div { font-size: 14px; color: var(--suave); }
.numeros strong { display: block; font-size: 28px; font-weight: 500; line-height: 1.2; color: var(--texto); }
.numeros .falha strong { color: var(--erro); }

.presenca { list-style: none; margin: 12px 0 0; padding: 0; }
.presenca li { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--linha); }
.presenca li:last-child { border-bottom: 0; }
.presenca label { display: flex; gap: 12px; align-items: center; margin: 0; font-size: 15px; font-weight: 500; color: var(--texto); flex: 1 1 240px; min-height: 44px; cursor: pointer; }
.presenca label span { display: flex; flex-direction: column; }
.presenca small { color: var(--suave); }
.presenca .estado { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.presenca .motivo { flex-basis: 100%; color: var(--erro); }
.presenca li[hidden] { display: none; }
/* Correção de nome, e-mail e telefone:"Editar" abre os campos na linha do convidado */
.presenca details[open] { flex-basis: 100%; }
.presenca summary { display: inline-block; padding: 4px; border-radius: 6px; color: var(--link); text-decoration: underline; cursor: pointer; }
.presenca summary::-webkit-details-marker { display: none; }
.presenca summary:focus-visible { outline: 3px solid #14365f; outline-offset: 2px; }
.presenca details form { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; margin-top: 8px; padding: 16px; background: var(--campo); border-radius: 20px; }
.presenca details label { display: block; flex: 1 1 200px; min-height: 0; font-size: 13px; color: #4f5965; cursor: default; }
.presenca details label.largo { flex-basis: 100%; }
.presenca details input { background: #fff !important; }
code { background: var(--fundo); padding: 2px 6px; border-radius: 6px; }
.fila { list-style: none; margin: 0; padding: 0; }
.fila li { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; padding: 10px 10px 10px 16px; border: 1px solid var(--linha); border-radius: 16px; margin-bottom: 8px; }
.fila li.alerta { background: var(--alerta-fundo); border-color: transparent; }
.fila .quem { display: flex; flex-direction: column; gap: 1px; flex: 1 1 200px; }
.fila .quem strong { font-size: 15px; font-weight: 500; }
.fila small { color: var(--suave); font-size: 13px; }
.fila a.botao { min-height: 40px; padding: 6px 18px; font-size: 14px; }
.fila a.botao.primario { background: #e6eef8; color: #1b3350; }
.fila a.botao.primario:hover { background: #d8e5f5; }
.fila .selo { align-self: flex-start; margin-top: 4px; }
.fila form { display: flex; gap: 8px; flex: 1 1 280px; flex-wrap: wrap; }
.fila form select { flex: 1 1 160px; margin: 0; width: auto; }

/* Entrar e primeiro acesso: cartão central sobre o fundo azul */
body.visitante { min-height: 100vh; background: linear-gradient(135deg, var(--ceu-1) 0%, var(--ceu-2) 55%, var(--ceu-3) 100%) fixed; }
body.visitante main { margin-top: 0; padding-top: 7vh; }
body.visitante .marca { display: flex; justify-content: center; margin-bottom: 20px; }
body.visitante .marca img { height: 68px; max-width: 100%; }
.cartao.estreito { max-width: 440px; margin: 0 auto; padding: 28px; }
body.visitante .aviso { max-width: 440px; margin-left: auto; margin-right: auto; }
.cartao.estreito button.primario { width: 100%; }

/* Celular: navegação vira barra flutuante no rodapé */
@media (max-width: 720px) {
  .hero { padding: 12px 16px 96px; }
  .hero-titulo { margin-top: 24px !important; }
  .leque { opacity: .4; transform: translateX(-5%); }
  .recepcoes { border-radius: 26px; width: 100%; }
  .recepcoes button { flex: 1 1 auto; }
  main { padding: 0 12px 110px; }
  .cartao, .resultado { padding: 20px; border-radius: 20px; }
  .lateral { display: contents; }
  .lateral-topo { display: none; }
  .lateral nav { flex-direction: row; gap: 8px; position: fixed; z-index: 10; left: 50%; bottom: 14px; transform: translateX(-50%); padding: 6px; border-radius: 999px; background: #fff; box-shadow: 0 10px 30px -8px rgba(24, 44, 74, .4), 0 0 0 1px var(--linha); }
  .lateral nav a.ativo { background: var(--marca); color: #fff; box-shadow: none; }
  .lateral nav a.ativo svg { color: #fff; }
  .lateral nav a { border-radius: 999px; min-height: 48px; min-width: 48px; justify-content: center; padding: 8px 14px; white-space: nowrap; }
  .lateral nav a:not(.ativo) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  /* Administrador tem seis seções: aperta a barra para caber em telas estreitas */
  .lateral nav:has(a:nth-child(5)) { gap: 2px; }
  .lateral nav:has(a:nth-child(5)) a { min-width: 44px; padding: 8px 12px; }
  .lateral nav:has(a:nth-child(6)) a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .ficha .nome { max-width: 38vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* Térreo: contador de visitantes que não fizeram cadastro, bloco pequeno embaixo do cadastro */
.cartao.contador { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; padding: 14px 16px 14px 24px; border-radius: 18px; }
.contador > div:first-child { flex: 1 1 200px; }
.contador h2 { margin: 0; font-size: 15px; font-weight: 500; }
.contador .dica { margin: 0; font-size: 13px; }
.contador > strong { font-size: 26px; font-weight: 400; line-height: 1; min-width: 2ch; text-align: center; }
.contador .emlinha { gap: 10px; }
.contador .emlinha .primario { min-width: 64px; min-height: 44px; padding: 8px 16px; }
.emlinha.folgado + .fila { margin-top: 20px; }
