.presencas-painel{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#F9FBF8}
.presencas-indicadores{display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:8px;margin:12px 0}
.presencas-indicadores .card{min-height:82px;padding:14px}
.presencas-indicadores .card b{font-size:22px}
.presencas-acoes{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.presencas-tabela table{min-width:1080px}
.presencas-qrs-modal{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:center}
.presencas-qrs-modal>div{border:1px solid var(--line);border-radius:18px;padding:16px;min-width:0}
.presencas-qrs-modal img{display:block;width:min(240px,100%);height:auto;margin:10px auto;background:white;padding:8px;border:1px solid var(--line);border-radius:12px}
.presencas-qrs-modal p{overflow-wrap:anywhere}

.presenca-publica-body{min-height:100vh;background:radial-gradient(circle at top right,color-mix(in srgb,var(--p) 12%,transparent),transparent 38%),var(--bg)}
.presenca-publica{max-width:680px;margin:0 auto;padding:24px 16px 60px}
.presenca-publica-header{text-align:center;padding:20px 10px 24px}
.presenca-publica-header .logo{overflow:hidden}
.presenca-publica-header .logo img{width:100%;height:100%;object-fit:contain;background:white}
.presenca-publica-header h1{font-size:38px;margin-bottom:6px}
.presenca-publica-header>p:last-child{margin:0;color:var(--muted);font-weight:700}
.presenca-publica-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:900;color:var(--p);margin:0 0 6px}
.presenca-publica-card{background:white;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--sh-lift)}
.presenca-publica-card h2{font-size:30px}
.presenca-publica-card .field{margin-top:14px}
.presenca-consentimento{border:1px solid var(--line);border-radius:16px;padding:14px;margin:16px 0;display:flex;gap:18px;flex-wrap:wrap}
.presenca-consentimento legend{padding:0 6px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.presenca-consentimento label{display:flex;align-items:center;gap:7px;font-weight:800}
.presenca-consentimento input{width:auto;box-shadow:none;accent-color:var(--p)}
.presenca-publica-card .btn{width:100%}
.presenca-privacidade{font-size:11px;line-height:1.5;color:var(--muted);margin:14px 0 0}
.presenca-erro{min-height:20px;color:var(--error);font-size:12px;font-weight:800}
.presenca-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.presenca-sucesso{text-align:center;padding:18px 4px}
.presenca-sucesso-icone{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#EAF7EC;color:var(--success);font-size:34px;font-weight:900}
.presenca-sucesso p{color:var(--muted);margin:0 0 18px}

@media(max-width:980px){.presencas-indicadores{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
  .presencas-indicadores{grid-template-columns:repeat(2,1fr)}
  .presencas-acoes .btn{flex:1 1 145px}
  .presencas-qrs-modal{grid-template-columns:1fr}
  .presenca-publica{padding:14px 12px 40px}
  .presenca-publica-header h1{font-size:32px}
  .presenca-publica-card{padding:20px;border-radius:22px}
}

@media print{
  @page presenca-a4{size:A4 portrait;margin:7mm}
  body:has(.presenca-print-page){margin:0;padding:0}
  .presenca-print-page{page:presenca-a4;width:196mm;height:283mm;margin:0 auto;background:white;color:#111;font-family:Arial,sans-serif;overflow:hidden;display:flex;flex-direction:column;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .presenca-print-header{text-align:center;border-bottom:1.2pt solid #0F5A4A;padding:0 2mm 2.5mm}
  .presenca-print-header h1{font:700 13pt Arial,sans-serif;color:#0A3F35;margin:0 0 1.2mm}
  .presenca-print-header h2{font:700 11pt Arial,sans-serif;color:#222;margin:0 0 1.5mm}
  .presenca-print-header p{font-size:7.2pt;margin:1.3mm 0 .5mm}
  .presenca-print-header small{display:block;font-size:6.3pt;line-height:1.25;color:#444}
  .presenca-print-meta{display:flex;justify-content:center;gap:12mm;font-size:7.2pt;margin-bottom:1mm}
  .presenca-print-table{display:table!important;width:100%!important;min-width:0!important;border-collapse:collapse;table-layout:fixed;margin-top:2mm}
  .presenca-print-table thead{display:table-header-group!important}
  .presenca-print-table tbody{display:table-row-group!important}
  .presenca-print-table tr{display:table-row!important;margin:0!important;padding:0!important;border:0!important}
  .presenca-print-table th,.presenca-print-table td{display:table-cell!important;border:.6pt solid #444!important;padding:.8mm!important;text-align:left;font-size:6pt;line-height:1.15;vertical-align:middle}
  .presenca-print-table th{background:#EAF2EE!important;text-align:center;font-size:5.7pt;text-transform:none;letter-spacing:0;color:#111}
  .presenca-print-table td:before{display:none!important;content:none!important}
  .presenca-print-table tbody tr{height:10.2mm}
  .presenca-print-densa .presenca-print-table tbody tr{height:7mm}
  .presenca-print-table td:first-child{text-align:center}
  .presenca-print-table .c-num{width:4%}.presenca-print-table .c-nome{width:22%}.presenca-print-table .c-tel{width:17%}.presenca-print-table .c-cidade{width:13%}.presenca-print-table .c-brinde{width:11%}.presenca-print-table .c-contato{width:15%}.presenca-print-table .c-assinatura{width:18%}
  .presenca-print-observacoes{font-size:6.4pt;margin-top:1.5mm}
  .presenca-print-observacoes>div{height:8mm;border:1px solid #777;margin-top:.7mm;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3.6mm,#ddd 3.7mm,#ddd 3.9mm)}
  .presenca-print-responsavel{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5mm;margin-top:3mm;font-size:6pt;text-align:center}
  .presenca-print-responsavel>div span{display:block;height:6mm;border-bottom:1px solid #333;padding-top:2mm}
  .presenca-print-responsavel>div b{display:block;margin-top:.8mm;font-weight:700}
  .presenca-print-qrs{display:grid;grid-template-columns:1fr 1fr;gap:12mm;margin-top:auto;text-align:center;position:relative;padding:2mm 18mm 4mm}
  .presenca-print-qrs>div{display:grid;grid-template-columns:25mm 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;column-gap:3mm}
  .presenca-print-qrs img{grid-row:1/3;width:25mm;height:25mm;border:1px solid #aaa;padding:1mm;background:white}
  .presenca-print-qrs b{font-size:7pt;align-self:end}.presenca-print-qrs small{font-size:6pt;line-height:1.25;align-self:start}
  .presenca-print-qrs>p{position:absolute;left:0;right:0;bottom:0;margin:0;font-size:6.2pt;font-weight:700}
  .presenca-print-page footer{border-top:1px solid #bbb;padding-top:1.5mm;font-size:5.5pt;line-height:1.25;color:#333;text-align:center}
}
