/* CARTÃO DE PUBLICADOR */
.pcard-row{ display:flex; justify-content:space-between; align-items:center; padding:11px 20px; border-bottom:1px solid var(--line); cursor:pointer; }
.pcard-row:last-child{ border-bottom:none; }
.pcard-row:hover{ background:var(--paper); }
.pcard-name{ font-size:14px; font-weight:600; color:var(--treasures); }
.pcard-last{ font-size:12.5px; font-weight:600; color:#4B6B4F; }
.pcard-last.none{ color:var(--red-flag); }
.pcard-section{ padding:16px 20px; border-bottom:1px solid var(--line); }
.pcard-section:last-child{ border-bottom:none; }
.pcard-section-title{ font-family:var(--font-display); font-weight:700; font-size:15px; margin-bottom:12px; }
.pcard-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; font-size:13.5px; color:var(--ink); }
.pcard-grid .full{ grid-column:1 / -1; }
.pcard-label{ display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.02em; color:var(--text-muted); margin-bottom:2px; }
.pcard-year{ width:100%; border:1px solid var(--treasures); color:var(--treasures); border-radius:7px; padding:8px 10px; font-size:13.5px; font-family:var(--font-ui); font-weight:600; margin-bottom:10px; }
.pcard-table{ width:100%; border-collapse:collapse; font-size:13px; }
.pcard-table th{ font-size:11.5px; text-transform:uppercase; color:var(--text-muted); padding:6px 8px; border-bottom:1px solid var(--line); text-align:left; }
.pcard-table td{ padding:6px 8px; border-bottom:1px solid var(--line); }
.pcard-table .c{ text-align:center; }
.pcard-table tfoot td{ font-weight:700; border-bottom:none; }
.pcard-legend{ font-size:11.5px; color:var(--text-muted); margin:10px 0 0; }
.modal-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,0.35); z-index:300; align-items:flex-start; justify-content:center; padding:40px 16px; overflow-y:auto; }
.modal-overlay.show{ display:flex; }
.modal-box{ background:var(--paper-raised); border-radius:12px; width:100%; max-width:620px; box-shadow:0 12px 40px rgba(0,0,0,0.2); }
.modal-head{ display:flex; justify-content:space-between; align-items:center; padding:14px 20px; background:var(--treasures); color:#fff; border-radius:12px 12px 0 0; }
.modal-head h3{ margin:0; font-family:var(--font-display); font-size:18px; }
.modal-head .icon-btn{ color:#fff; border-color:rgba(255,255,255,0.5); }
@media (max-width:720px){ .pcard-grid{ grid-template-columns:1fr; } }

/* Ícone de cartão de publicador nos cabeçalhos */
.pcard-badge{
  width: 22px; height: 16px; vertical-align: -3px; margin-right: 6px;
  flex-shrink: 0;
}

/* ---------- Cartão moderno: hero no topo ---------- */
.pcard-hero{
  display: flex; align-items: center; gap: 16px;
  padding: 18px 20px;
  background: linear-gradient(135deg, var(--treasures, #1F3A6B) 0%, #2d4e8f 100%);
  color: #fff;
  border-radius: 10px 10px 0 0;
  margin: -16px -20px 16px;
}
.pcard-badge-lg{
  width: 56px; height: 42px; flex-shrink: 0;
  margin: 0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}
.pcard-hero-info{ flex: 1; min-width: 0; }
.pcard-hero-name{
  margin: 0; font-family: var(--font-display); font-weight: 700;
  font-size: 20px; line-height: 1.2; letter-spacing: -0.01em;
}
.pcard-hero-role{
  margin: 2px 0 8px; font-size: 13px; opacity: .9;
}
.pcard-status-chip{
  display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: 11.5px; font-weight: 700;
  background: rgba(255,255,255,.18); color: #fff;
}
.pcard-status-chip.sp-irregular{ background: #D97706; }
.pcard-status-chip.sp-inativo{ background: #991B1B; }
.pcard-status-chip.sp-removido{ background: #4B5563; }
.pcard-status-chip.sp-nao_batizado{ background: #6D28D9; }
.pcard-export{
  flex-shrink: 0;
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  padding: 7px 12px !important;
}
.pcard-export:hover{ background: rgba(255,255,255,.25) !important; }
.pcard-section-title{ color: var(--treasures, #1F3A6B); }

@media (max-width: 540px){
  .pcard-hero{ flex-wrap: wrap; }
  .pcard-badge-lg{ width: 44px; height: 33px; }
  .pcard-hero-name{ font-size: 17px; }
  .pcard-export{ margin-top: 4px; width: 100%; }
}

/* Impressão: só o cartão sai no PDF */
@media print{
  .pcard-hero{ background: #1F3A6B !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .pcard-export{ display: none !important; }
  .pcard-year{ display: none !important; }
}

/* ---------- Busca e consulta por ajudante de grupo ---------- */
.cards-search-wrap{ flex: 1 1 260px; justify-content: flex-end; }
.cards-search{
  width: 100%; max-width: 340px; height: 40px; padding: 0 14px 0 38px;
  border: 1.5px solid var(--line); border-radius: 12px; background: var(--paper-raised);
  font: inherit; font-size: 14px; color: var(--ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: 12px center; background-size: 17px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.cards-search:focus{ outline: none; border-color: var(--brand, #1D4ED8); box-shadow: 0 0 0 3px rgba(29,78,216,.15); }
.pcard-scope-note{
  margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; font-size: 13.5px; line-height: 1.5;
  background: #EFF4FF; border: 1px solid #C7D7FE; color: #1E3A8A;
}
.pcard-readonly-chip{
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
  font-size: 12px; font-weight: 700; background: #EFF4FF; color: #1E40AF; border: 1px solid #C7D7FE;
  white-space: nowrap;
}
@media (max-width: 720px){
  .cards-search-wrap{ flex-basis: 100%; }
  .cards-search{ max-width: none; }
}
