 :root{--green:#085C24;--green2:#0d7a33;--light:#f7faf7;--text:#17211a;--muted:#6b7280;--border:#e5e7eb;--danger:#dc2626;--blue:#1d4ed8;--white:#fff;--shadow:0 8px 30px rgba(8,92,36,.12)}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:linear-gradient(180deg,#fbfdfb,#f3f8f4);color:var(--text)}.hidden{display:none!important}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#052d12,#085C24,#13a149);padding:20px}.login-card{width:100%;max-width:430px;background:#fff;padding:30px;border-radius:24px;box-shadow:var(--shadow)}.login-logo{width:105px;height:105px;object-fit:contain;display:block;margin:auto}.login-card h1{text-align:center;color:var(--green);margin:8px 0 0}.login-card p{text-align:center;color:var(--muted)}label{display:block;font-size:13px;font-weight:700;margin:8px 0;color:#374151}input,select,textarea{width:100%;padding:11px;border:1.5px solid var(--border);border-radius:10px;font:inherit;background:#fff}textarea{min-height:76px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff}.btn-outline{background:#fff;color:var(--green);border:1.5px solid var(--green)}.btn-danger{background:#fee2e2;color:var(--danger)}.error-box{display:none;background:#fee2e2;color:var(--danger);padding:10px;border-radius:10px;margin-top:12px}.app{display:flex;min-height:100vh}.sidebar{width:270px;background:#fff;border-right:1px solid var(--border);padding:18px;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.brand img{width:58px}.brand strong{display:block;color:var(--green);font-size:20px}.brand span{font-size:12px;color:var(--muted)}#menu{display:flex;flex-direction:column;gap:6px}#menu button{background:transparent;border:0;text-align:left;padding:12px;border-radius:12px;cursor:pointer;font-weight:700;color:#374151}#menu button:hover,#menu button.active{background:#e8fff2;color:var(--green)}.main{margin-left:270px;width:calc(100% - 270px);padding:24px}.topbar{background:#fff;border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.topbar h2{color:var(--green);margin:0}.topbar span{font-size:13px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page{display:none}.page.active{display:block}.page-title h1{color:var(--green);margin:0;font-size:30px}.page-title p{color:var(--muted);margin-top:4px;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:20px}.stat-card{background:#fff;border-radius:18px;padding:20px;box-shadow:var(--shadow);border-top:5px solid var(--green)}.stat-card.green{border-top-color:#16a34a}.stat-card.red{border-top-color:#ef4444}.stat-card span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.stat-card strong{display:block;margin-top:8px;font-size:24px;color:var(--green)}.card{background:#fff;border-radius:18px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card-title{font-weight:800;color:var(--green);margin-bottom:16px;font-size:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.filters input,.filters select{max-width:320px}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}table{width:100%;border-collapse:collapse;font-size:14px}th{background:var(--green);color:#fff;text-align:left;padding:11px;white-space:nowrap}td{padding:11px;border-bottom:1px solid var(--border);vertical-align:middle}tr:hover td{background:#f0fff6}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.badge.green{background:#dcfce7;color:#166534}.badge.red{background:#fee2e2;color:#991b1b}.row-actions{display:flex;gap:6px}.row-actions button{padding:6px 9px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer}.simple-list{display:flex;flex-direction:column;gap:8px}.simple-item{padding:12px;border:1px solid var(--border);border-radius:12px;background:#fbfffc}.large-textarea{min-height:160px;margin-top:14px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-name{text-align:center;font-weight:800;color:var(--green);font-size:12px}.calendar-cell{min-height:85px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:8px}.calendar-cell.empty{background:#f7faf7;border-style:dashed}.calendar-number{font-weight:900;color:var(--green);margin-bottom:5px}.calendar-event{font-size:11px;background:#e8fff2;color:var(--green);border-radius:999px;padding:4px 7px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.perm-card{border:1px solid var(--border);border-radius:12px;padding:10px}.toast{position:fixed;right:24px;bottom:24px;background:var(--green);color:white;padding:14px 18px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);transition:.25s;z-index:9999}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:var(--danger)}.mobile-header,.mobile-backdrop{display:none}@media(max-width:1100px){.mobile-header{display:flex;position:sticky;top:0;z-index:1200;background:var(--green);color:#fff;padding:10px 14px;align-items:center;justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:10px}.mobile-brand img{width:42px;background:#fff;border-radius:10px}.mobile-brand strong{display:block}.mobile-brand span{font-size:11px}.hamburger{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:9px 12px;font-size:20px}.sidebar{width:min(88vw,330px);z-index:1300;transform:translateX(-110%);transition:.25s;box-shadow:12px 0 35px rgba(0,0,0,.22)}.sidebar.mobile-open{transform:translateX(0)}.mobile-backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1250}.main{margin-left:0;width:100%;padding:14px}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{width:100%}.grid-2,.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){input,select,textarea{font-size:16px}.main{padding:10px}.stats-grid{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:1fr}.calendar-grid{grid-template-columns:1fr}.calendar-day-name,.calendar-cell.empty{display:none}table{min-width:760px}.toast{left:10px;right:10px;text-align:center}}@media print{.sidebar,.mobile-header,.topbar,.actions,.filters,button{display:none!important}.main{margin-left:0!important;width:100%!important;padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important}th{background:#085C24!important;color:white!important}}


/* V8.3 — Relatórios financeiros mensais, anuais e personalizados */
.report-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.report-summary-item {
  background: #f8fff9;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
}

.report-summary-item span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.report-summary-item strong {
  display: block;
  margin-top: 6px;
  color: var(--green);
  font-size: 20px;
}

.report-section-title {
  color: var(--green);
  margin-top: 22px;
  margin-bottom: 8px;
}

@media print {
  #relatorio-financeiro-content .card {
    border: none !important;
  }
}


/* V8.4 — atualização instantânea e fila de sincronização */
.sync-queue-status {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px !important;
  color: #6b7280 !important;
}

.sync-queue-status.pending {
  color: #92400e !important;
  font-weight: 800;
}

.sync-queue-status.ok {
  color: #166534 !important;
  font-weight: 800;
}

.sync-queue-status.error {
  color: #991b1b !important;
  font-weight: 800;
}

.saving-chip {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 8px;
  background: #fff7ed;
  color: #92400e;
  font-size: 11px;
  font-weight: 800;
  margin-left: 6px;
}

.saved-chip {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 8px;
  background: #dcfce7;
  color: #166534;
  font-size: 11px;
  font-weight: 800;
  margin-left: 6px;
}


/* V9.1 — status sync rápido */
.sync-queue-status.pending::after {
  content: " · enviando em segundo plano";
}


/* V9.3 — Relatórios bonitos, membros e QR válido */
.report-brand-preview {
  display: flex;
  align-items: center;
  gap: 12px;
}

.member-status-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 800;
}

.member-status-badge.active {
  background: #dcfce7;
  color: #166534;
}

.member-status-badge.inactive {
  background: #fee2e2;
  color: #991b1b;
}


/* V9.4 — QR com link para ficha do patrimônio e relatórios pastorais */
.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.detail-item {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: #fbfffc;
}

.detail-item span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 900;
  color: var(--muted);
  margin-bottom: 4px;
}

.detail-item strong {
  color: var(--green);
  font-size: 15px;
}

.pastoral-report-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px,1fr));
  gap: 12px;
  margin: 16px 0;
}

.pastoral-report-summary .summary-card {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  background: #f8fff9;
}

.pastoral-report-summary .summary-card span {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.pastoral-report-summary .summary-card strong {
  display:block;
  color:var(--green);
  font-size:22px;
  margin-top:5px;
}

/* V9.5 — e-mails */
.email-result-ok{color:#166534;font-weight:900}.email-result-error{color:#991b1b;font-weight:900}

/* V9.6 — diagnóstico real de e-mail */
.email-status-note{
  margin-top:12px;
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
  background:#fbfffc;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

/* V9.7 — e-mail real */
.email-status-note strong { color: var(--green); }

/* V9.8 — diagnóstico de destinatários */
.email-diagnostic-list {
  margin: 8px 0 0;
  padding-left: 18px;
}
.email-diagnostic-list li {
  margin: 3px 0;
}

/* V9.9 — aniversário robusto */
.birthday-diagnostic-list{margin:8px 0 0;padding-left:18px}.birthday-diagnostic-list li{margin:3px 0}


/* V9.12 — QR Code com ficha pública sem login */
.public-patrimonio-screen {
  min-height: 100vh;
  padding: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 20% 10%, rgba(8,92,36,.12), transparent 24rem),
    linear-gradient(180deg, #fbfdfb, #f3f8f4);
}

.public-patrimonio-card {
  width: min(100%, 760px);
  background: white;
  border-radius: 24px;
  box-shadow: var(--shadow);
  padding: 28px;
  border-top: 7px solid var(--green);
}

.public-logo {
  width: 92px;
  height: 92px;
  object-fit: contain;
  display: block;
  margin: 0 auto 10px;
}

.public-patrimonio-card h1 {
  color: var(--green);
  text-align: center;
  margin: 0;
}

.public-subtitle {
  text-align: center;
  color: var(--muted);
  margin-top: 5px;
  margin-bottom: 20px;
}

.public-info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.public-info-item {
  border: 1px solid var(--border);
  background: #fbfffc;
  border-radius: 14px;
  padding: 14px;
}

.public-info-item span {
  display: block;
  font-size: 11px;
  color: var(--muted);
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.public-info-item strong {
  color: var(--green);
  word-break: break-word;
}

.public-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 18px;
}

.public-note {
  text-align: center;
  color: var(--muted);
  font-size: 12px;
  margin-top: 18px;
}

@media (max-width: 680px) {
  .public-patrimonio-screen {
    padding: 12px;
    align-items: flex-start;
  }

  .public-patrimonio-card {
    padding: 18px;
    border-radius: 18px;
  }

  .public-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media print {
  .public-actions,
  .public-note {
    display: none !important;
  }

  .public-patrimonio-screen {
    padding: 0;
    background: white;
  }

  .public-patrimonio-card {
    box-shadow: none;
    border: none;
  }
}

/* V9.13 — Painel Pastoral melhorado */
.status-pill {
  display: inline-block;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 900;
  background: #eef2ff;
  color: #3730a3;
}
.status-pill.finalizado {
  background: #dcfce7;
  color: #166534;
}
.status-pill.prioritario {
  background: #fee2e2;
  color: #991b1b;
}
.status-pill.andamento {
  background: #fff7ed;
  color: #92400e;
}
.pastoral-history-item {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: #fbfffc;
  margin: 8px 0;
}
.pastoral-report-count-table td:last-child,
.pastoral-report-count-table th:last-child {
  text-align: right;
}


/* V9.14 — Escalas modelo oficial Congregação Batista em Condado */
.scale-preview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.scale-preview-card {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: #fbfffc;
}
.scale-preview-card strong {
  color: var(--green);
}
