/* REPORTS TAB */
.report-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.report-card{ background:var(--paper-raised); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.report-card-header{ padding:16px 20px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }
.report-card-header h3{ font-family:var(--font-display); font-size:15.5px; margin:0; }
.report-card-header .rc-meta{ font-size:12px; color:var(--text-muted); }
.rc-row{
  display:grid; grid-template-columns: 1fr 160px; align-items:center; gap:10px;
  padding:11px 20px; border-bottom:1px solid var(--line); font-size:13.5px;
}
.rc-row:last-child{ border-bottom:none; }
.rc-row .rc-label{ color:var(--ink); }
.rc-row .rc-label .rc-sub{ display:block; font-size:11.5px; color:var(--text-muted); }

.event-row{ padding:13px 20px; border-bottom:1px solid var(--line); }
.event-row:last-child{ border-bottom:none; }
.event-tag{
  display:inline-block; font-size:10.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.02em; padding:3px 9px; border-radius:20px; margin-bottom:6px;
}
.event-tag.co-visit{ background:var(--treasures-bg); color:var(--treasures); }
.event-tag.assembly{ background:var(--ministry-bg); color:var(--ministry); }
.event-tag.convention{ background:var(--christlife-bg); color:var(--christlife); }
.event-tag.special{ background:var(--duties-bg); color:var(--duties); }
.event-title{ font-size:13.5px; font-weight:600; color:var(--ink); margin:0 0 2px; }
.event-date{ font-size:12px; color:var(--text-muted); }

.announcement-row{ padding:13px 20px; border-bottom:1px solid var(--line); font-size:13px; color:var(--ink); line-height:1.5; }
.announcement-row:last-child{ border-bottom:none; }
.announcement-date{ display:block; font-size:11px; color:var(--text-muted); font-weight:600; text-transform:uppercase; letter-spacing:0.02em; margin-bottom:3px; }

/* =========================================================
   CARTÕES DE ANÚNCIO E EVENTO — ações de editar/excluir
========================================================= */
.item-card{
  position: relative;
  display: flex; align-items: flex-start; gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  transition: background .18s ease;
  animation: item-in .25s cubic-bezier(.22,1,.36,1) both;
}
.item-card:last-child{ border-bottom: none; }
.item-card:hover{ background: var(--paper); }
@keyframes item-in{ from{ opacity: 0; transform: translateY(6px); } to{ opacity: 1; transform: none; } }

.item-card-main{ flex: 1; min-width: 0; }
.item-card-text{ margin: 4px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ink); }
.event-location{ display: block; margin-top: 2px; }

/* Grupo de botões: aparece suave no hover (desktop) e sempre visível no toque */
/* Ficam discretos em repouso e ganham destaque no hover/foco —
   nunca invisíveis, para o usuário saber que existem. */
.item-actions{
  display: flex; gap: 6px; flex-shrink: 0;
  opacity: .5;
  transition: opacity .18s ease;
}
.item-card:hover .item-actions,
.item-card:focus-within .item-actions{ opacity: 1; }

.item-action-btn{
  width: 34px; height: 34px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 9px;
  border: 1px solid var(--line);
  background: var(--paper-raised);
  color: var(--ink-soft);
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
}
.item-action-btn:hover{ transform: translateY(-1px); }
.item-action-btn:active{ transform: translateY(0) scale(.95); }
.item-action-btn.edit:hover{
  background: #EEF4FF; color: #1D4ED8; border-color: #BFD3F5;
}
.item-action-btn.del:hover{
  background: #FEE2E2; color: #DC2626; border-color: #FCA5A5;
}
.item-action-btn:focus-visible{
  outline: 2px solid var(--treasures, #1F3A6B); outline-offset: 2px; opacity: 1;
}

/* Em telas de toque (celular/tablet) os botões ficam sempre visíveis,
   porque não existe hover. */
@media (hover: none), (max-width: 900px){
  .item-actions{ opacity: 1; }
}

/* Celular: ações descem para baixo do conteúdo e ficam maiores (alvo de toque) */
@media (max-width: 560px){
  .item-card{ flex-direction: column; gap: 10px; }
  .item-actions{ width: 100%; }
  .item-action-btn{
    flex: 1; height: 40px; gap: 7px;
    font-size: 13px; font-weight: 600;
  }
  .item-action-btn.edit::after{ content: 'Editar'; }
  .item-action-btn.del::after{ content: 'Excluir'; }
}

/* ---------- Relatório para o superintendente de circuito ---------- */
.co-hint{ margin: -6px 0 18px; font-size: 12.5px; color: var(--text-muted); }
.co-card{ margin-bottom: 22px; }
.co-card .report-card-header{ gap: 12px; flex-wrap: wrap; }
.co-card .rc-meta{ display: block; margin-top: 2px; }
.co-actions{ display: flex; gap: 8px; flex-wrap: wrap; }
.co-box{ padding: 18px 20px; overflow-x: auto; }
.co-report{ color: #111; font-size: 13px; max-width: 860px; }
.co-head{ display: flex; justify-content: space-between; gap: 12px; font-size: 17px; border-bottom: 2px solid #111; padding-bottom: 4px; }
.co-period{ text-align: center; color: #C0161B; font-weight: 700; margin: 6px 0 10px; }
.co-report h3{ color: #1F3A6B; font-size: 15px; margin: 18px 0 6px; }
.co-report table{ width: 100%; border-collapse: collapse; }
.co-report th, .co-report td{ border: 1px solid #222; padding: 5px 8px; text-align: center; font-size: 12.5px; }
.co-grid th{ text-align: right; font-weight: 700; background: #fafafa; }
.co-report small{ color: #555; font-size: 11px; }
.co-sub{ margin: 12px 0 3px; border-bottom: 1px solid #ccc; padding-bottom: 2px; }
.co-names{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px 12px; font-size: 12.5px; }
.co-none{ margin: 2px 0; color: #666; font-size: 12.5px; }
.co-act th, .co-act td{ text-align: left; vertical-align: top; width: 50%; }
.co-table th{ background: #fafafa; }
.co-field tbody th{ text-align: left; }
.co-note{ font-size: 11px; color: #666; margin: 3px 0 0; }
.co-chart{ width: 100%; height: auto; border: 1px solid #222; display: block; }
.co-legend{ display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; font-size: 11.5px; margin-top: 4px; }
.co-legend i{ display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 4px; vertical-align: -1px; }
.co-printed{ text-align: right; font-size: 10.5px; color: #666; font-style: italic; margin-top: 10px; }
@media (max-width: 720px){ .co-names{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .co-report{ min-width: 560px; } }
@media print{
  .co-print .co-report{ max-width: none; font-size: 10pt; }
  .co-print .co-report th, .co-print .co-report td{ font-size: 9.5pt; padding: 3pt 5pt; }
  .co-print .co-report h3{ break-after: avoid; }
  .co-print table, .co-print .co-chart{ break-inside: avoid; }
  .co-print *{ -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
@media print{ .co-print .co-keep{ display: block; break-before: page; page-break-before: always; } .co-print .co-chart{ max-height: 70mm; } }

/* =========================================================
   RELATÓRIO DO SUPERINTENDENTE — LAYOUT NOVO (tela e PDF)
========================================================= */
.cop{ --navy:#0B2A63; --line:#E3E8EF; font-family: var(--font-ui, system-ui, sans-serif); color:#1C2430; }
.co-box .cop{ display:flex; flex-direction:column; gap:22px; align-items:center; }
.co-box{ background:#E9EDF3; overflow-x:auto; }
.cop-page{ position:relative; width:210mm; min-height:297mm; box-sizing:border-box; padding:13mm 13mm 18mm; background:#fff;
  box-shadow:0 6px 24px rgba(15,23,42,.14); border-radius:4px; }
.cop-cover{ margin:-13mm -13mm 7mm; padding:11mm 13mm 9mm; color:#fff; border-radius:4px 4px 0 0;
  background: radial-gradient(120% 140% at 100% 0%, #1786FC 0%, rgba(23,134,252,0) 55%), linear-gradient(135deg, #061B45 0%, #0B2A63 60%, #123C86 100%);
  display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.cop-brand{ display:flex; align-items:center; gap:12px; }
.cop-brand img{ width:46px; height:46px; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,.25); }
.cop-brand small{ display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; opacity:.75; }
.cop-brand b{ display:block; font-size:20px; line-height:1.15; letter-spacing:-.01em; }
.cop-cong{ text-align:right; }
.cop-cong b{ display:block; font-size:17px; margin-bottom:6px; }
.cop-chip{ display:inline-block; padding:4px 12px; border-radius:999px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); font-size:12px; font-weight:700; text-transform:capitalize; }

.cop-kpis{ display:grid; grid-template-columns:repeat(4, 1fr); gap:9px; margin-bottom:8mm; }
.cop-kpis-3{ grid-template-columns:repeat(3, 1fr); margin-bottom:6mm; }
.cop-kpi{ position:relative; padding:11px 12px 11px 15px; border:1px solid var(--line); border-radius:11px; background:linear-gradient(180deg,#fff,#F7F9FC); overflow:hidden; }
.cop-kpi::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--k); }
.cop-kpi b{ display:block; font-size:25px; line-height:1.1; color:var(--k); letter-spacing:-.02em; }
.cop-kpi span{ display:block; font-size:11.5px; font-weight:700; color:#1C2430; margin-top:2px; }
.cop-kpi small{ display:block; font-size:10px; color:#6B7685; margin-top:2px; }

.cop-row{ display:grid; grid-template-columns:1.05fr 1fr; gap:10px; margin-bottom:6mm; }
.cop-card{ border:1px solid var(--line); border-radius:12px; padding:11px 13px; background:#fff; }
.cop-card h3{ margin:0 0 6px; font-size:12.5px; color:var(--navy); text-transform:uppercase; letter-spacing:.06em; }
.cop-pie{ display:flex; flex-direction:column; align-items:center; }
.cop-pie .cop-svg{ max-width:260px; }
.cop-svg{ width:100%; height:auto; display:block; }
.cop-legend{ display:flex; flex-wrap:wrap; gap:6px 16px; justify-content:center; font-size:10.5px; color:#4A5565; margin-top:4px; }
.cop-legend i{ display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:-1px; }
.cop-legend-col{ gap:4px 14px; }
.cop-legend b{ color:#1C2430; margin-left:3px; }

.cop-kv{ width:100%; border-collapse:collapse; font-size:12px; }
.cop-kv th{ text-align:left; font-weight:500; color:#4A5565; padding:6px 0; border-bottom:1px dashed var(--line); }
.cop-kv td{ text-align:right; font-weight:800; font-size:14px; color:var(--navy); padding:6px 0; border-bottom:1px dashed var(--line); }
.cop-kv .cop-total th, .cop-kv .cop-total td{ border-bottom:0; border-top:2px solid var(--navy); color:var(--navy); font-weight:800; }

.cop-h2{ font-size:14px; color:var(--navy); margin:0 0 3mm; display:flex; align-items:center; gap:8px; letter-spacing:-.01em; }
.cop-h2::before{ content:''; width:5px; height:16px; border-radius:3px; background:linear-gradient(#1786FC,#0B2A63); }
.cop-h2-top{ margin-top:0; }
.cop-lists{ display:grid; grid-template-columns:repeat(3, 1fr); gap:9px; margin-bottom:6mm; }
.cop-lists-2{ grid-template-columns:repeat(2, 1fr); }
.cop-list{ border:1px solid var(--line); border-top:3px solid var(--k); border-radius:10px; padding:8px 11px 10px; background:#fff; }
.cop-list h4{ margin:0 0 5px; font-size:12px; display:flex; justify-content:space-between; align-items:center; }
.cop-list h4 span{ background:var(--k); color:#fff; border-radius:999px; padding:1px 9px; font-size:11px; }
.cop-list ul{ margin:0; padding:0; list-style:none; columns:1; font-size:11.5px; line-height:1.55; }
.cop-lists-2 .cop-list ul{ columns:2; }
.cop-list li{ break-inside:avoid; }
.cop-list em{ color:#6B7685; font-style:normal; font-size:10.5px; }
.cop-none{ margin:0; color:#8A94A3; font-size:11.5px; font-style:italic; }

.cop-table{ width:100%; border-collapse:separate; border-spacing:0; font-size:11.5px; margin-top:8px; }
.cop-table th, .cop-table td{ padding:6px 8px; text-align:center; border-bottom:1px solid var(--line); }
.cop-table thead th{ background:var(--navy); color:#fff; font-weight:700; font-size:11px; }
.cop-table thead tr:first-child th:first-child{ border-radius:8px 0 0 0; }
.cop-table thead tr:first-child th:last-child{ border-radius:0 8px 0 0; }
.cop-table .cop-subhead th{ background:#EAF0F9; color:var(--navy); }
.cop-table tbody th{ text-align:left; font-weight:700; }
.cop-table tbody tr:nth-child(even) td{ background:#F8FAFD; }
.cop-field tbody th{ vertical-align:middle; background:#fff !important; }
.cop-field tbody th i{ display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; }
.cop-field .cop-first td, .cop-field .cop-first th{ border-top:2px solid #CBD5E1; }
.cop-dim{ color:#A0AAB8; font-size:10px; }
.cop-cap{ margin:3px 0 0; text-align:center; font-size:10px; color:#6B7685; }
.cop-empty{ padding:26px; text-align:center; color:#8A94A3; font-style:italic; font-size:12px; background:#F8FAFD; border-radius:10px; }
.cop-card + .cop-h2{ margin-top:6mm; }
.cop-notes{ margin-top:6mm; padding:10px 13px; border-radius:10px; background:#F4F7FB; font-size:10.5px; color:#4A5565; }
.cop-notes h4{ margin:0 0 4px; font-size:11px; color:var(--navy); }
.cop-notes ul{ margin:0; padding-left:16px; line-height:1.55; }
.cop-foot{ position:absolute; left:13mm; right:13mm; bottom:8mm; display:flex; justify-content:space-between; font-size:9px; color:#8A94A3;
  border-top:1px solid var(--line); padding-top:4px; }

@media print{
  .co-print .cop{ display:block; }
  .co-print .cop-page{ width:auto; min-height:0; height:calc(100vh - 2px); padding:0; margin:0; box-shadow:none; border-radius:0; break-after:page; page-break-after:always; overflow:hidden; }
  .co-print .cop-page:last-child{ break-after:auto; page-break-after:auto; }
  .co-print .cop-cover{ margin:0 0 6mm; border-radius:10px; }
  .co-print .cop-foot{ left:0; right:0; bottom:0; }
  .co-print, .co-print *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
