/* ===========================================================
   Sistema Interno — ICM Itamaraju
   Identidade: vinho #BB1626 · navy #192A3D · Exo + Lato
   =========================================================== */
:root{
  --vinho:#BB1626; --vinho-esc:#821A24; --navy:#192A3D; --texto:#3A4F66;
  --cinza:#F5F7FA; --cinza2:#F2F5F7; --borda:#E1E8ED; --rose:#FEF2F3;
  --sombra:0 2px 12px rgba(25,42,61,.08); --sombra2:0 10px 34px rgba(25,42,61,.16);
  --raio:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Lato',system-ui,'Segoe UI',sans-serif;color:var(--texto);background:var(--cinza);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,.tit{font-family:'Exo','Lato',sans-serif;color:var(--navy);line-height:1.2}
button,input,select,textarea{font-family:inherit;font-size:1rem}
button{cursor:pointer}
a{color:var(--vinho)}

/* ---------------- LOGIN ---------------- */
.login-bg{min-height:100vh;display:grid;place-items:center;padding:20px;
  background:linear-gradient(140deg,#fff 0%,var(--cinza2) 60%,#f0e3e4 100%)}
.login-card{width:100%;max-width:410px;background:#fff;border:1px solid var(--borda);
  border-radius:20px;box-shadow:var(--sombra2);padding:34px 28px 28px;text-align:center}
.login-card .logo{max-width:230px;width:78%;height:auto;margin:0 auto 6px;display:block}
.login-card .sub{font-size:.82rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--vinho);margin-bottom:2px}
.login-card h1{font-size:1.28rem;margin-bottom:4px}
.login-card .aviso-int{font-size:.84rem;color:#8794a8;margin-bottom:20px}
.login-card .campo{text-align:left;margin-bottom:12px}
.login-card label{display:block;font-weight:800;color:var(--navy);font-size:.86rem;margin-bottom:5px}
.login-card input{width:100%;border:1.5px solid var(--borda);border-radius:11px;padding:12px 13px;color:var(--navy)}
.login-card input:focus{outline:none;border-color:var(--vinho)}
.btn{display:block;width:100%;border:none;border-radius:11px;padding:13px;font-weight:800;text-align:center}
.btn-primario{background:var(--vinho);color:#fff}
.btn-primario:active{background:var(--vinho-esc)}
.btn-google{background:#fff;color:var(--navy);border:1.5px solid var(--borda);display:flex;align-items:center;justify-content:center;gap:9px}
.ou{display:flex;align-items:center;gap:10px;margin:16px 0;color:#a3aebd;font-size:.8rem;font-weight:700}
.ou::before,.ou::after{content:"";flex:1;height:1px;background:var(--borda)}
.login-rodape{margin-top:18px;font-size:.76rem;color:#9aa5b5;line-height:1.5}
.erro{background:var(--rose);color:var(--vinho-esc);border-radius:9px;padding:9px;font-size:.84rem;font-weight:700;margin-bottom:12px;display:none}
.erro.on{display:block}

/* ---------------- SHELL DO SISTEMA ---------------- */
.topo{background:var(--navy);color:#fff;padding:0 18px;position:sticky;top:0;z-index:30;box-shadow:var(--sombra)}
.topo .wrap{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px;height:60px}
.topo .marca{font-family:'Exo',sans-serif;font-weight:800;font-size:1.05rem;color:#fff;letter-spacing:.3px}
.topo .marca span{color:#ffb3ba;font-weight:600;font-size:.8rem;display:block;letter-spacing:.4px}
.topo .sp{flex:1}
.topo .user{font-size:.84rem;color:#c8d3e2}
.topo .sair{background:rgba(255,255,255,.12);border:none;color:#fff;border-radius:9px;padding:8px 12px;font-weight:700;font-size:.82rem}

.layout{max-width:1180px;margin:0 auto;padding:18px 14px 60px;display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:900px){.layout{grid-template-columns:238px 1fr;align-items:start}}

/* Menu de módulos */
.menu{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:8px;box-shadow:var(--sombra)}
.menu .cab{font-size:.7rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#9aa5b5;padding:8px 10px 6px}
.menu a{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:10px;text-decoration:none;color:var(--navy);font-weight:700;font-size:.92rem}
.menu a.on{background:var(--rose);color:var(--vinho)}
.menu a.off{color:#b2bcc9;cursor:default}
.menu a.off small{margin-left:auto;font-size:.66rem;background:var(--cinza2);padding:2px 6px;border-radius:99px;font-weight:800}

/* Painéis */
.painel{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra);overflow:hidden}
.painel + .painel{margin-top:16px}
.painel-cab{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--borda);flex-wrap:wrap}
.painel-cab h2{font-size:1.06rem;flex:1}
.painel-corpo{padding:16px}
.btn-sm{border:none;border-radius:9px;padding:9px 13px;font-weight:800;font-size:.86rem}
.b-vinho{background:var(--vinho);color:#fff}
.b-claro{background:var(--cinza2);color:var(--navy);border:1px solid var(--borda)}

/* Filtros + tabela do acervo */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.filtros input,.filtros select{border:1.5px solid var(--borda);border-radius:10px;padding:9px 11px;color:var(--navy);background:#fff}
.filtros input{flex:1;min-width:150px}
.tabela{width:100%;border-collapse:collapse;font-size:.9rem}
.tabela th{background:var(--cinza2);color:var(--navy);text-align:left;padding:9px 10px;font-size:.74rem;text-transform:uppercase;letter-spacing:.5px}
.tabela td{border-bottom:1px solid var(--borda);padding:10px;vertical-align:middle}
.tabela tr:hover td{background:#fbfcfd}
.num{font-weight:800;color:var(--vinho);white-space:nowrap}
.tag{display:inline-block;font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--rose);color:var(--vinho);white-space:nowrap}
.tag.n{background:#eaf0f6;color:var(--navy)}
.acoes{display:flex;gap:6px;justify-content:flex-end}
.ic{border:none;background:var(--cinza2);border-radius:8px;width:34px;height:34px;font-size:.95rem}
.ic.del{background:var(--rose)}
.vazio{padding:34px 16px;text-align:center;color:#93a0b2}

/* Formulário */
.grade{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.grade{grid-template-columns:1fr 1fr}}
.campo{display:flex;flex-direction:column}
.campo.full{grid-column:1/-1}
.campo label{font-weight:800;color:var(--navy);font-size:.86rem;margin-bottom:5px}
.campo input,.campo select,.campo textarea{border:1.5px solid var(--borda);border-radius:10px;padding:11px 12px;color:var(--navy);background:#fff}
.campo textarea{min-height:96px;resize:vertical;line-height:1.5}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--vinho)}
.campo .dica{font-size:.76rem;color:#96a2b3;margin-top:4px}
.campo .req{color:var(--vinho)}
.linha-btn{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
/* Blocos repetíveis (ex.: vários seminários na mesma circular) */
.bloco{border:1px solid var(--borda);border-radius:12px;padding:12px;margin-bottom:12px;background:#fcfdfe}
.bloco-cab{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.bloco-tit{font-family:'Exo',sans-serif;font-weight:800;color:var(--vinho);font-size:.9rem;
  text-transform:uppercase;letter-spacing:.5px;flex:1}

/* Frases-padrão (boilerplate que se repete nas circulares) */
.extras{background:var(--cinza2);border:1px solid var(--borda);border-radius:12px;padding:12px;margin-top:14px}
.extras-tit{font-family:'Exo',sans-serif;font-weight:800;color:var(--navy);font-size:.78rem;
  text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.extra{display:flex;align-items:flex-start;gap:10px;padding:7px 0;cursor:pointer}
.extra + .extra{border-top:1px solid var(--borda)}
.extra input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.extra b{display:block;color:var(--navy);font-size:.88rem;font-weight:800}
.extra small{display:block;color:#8794a8;font-size:.78rem;line-height:1.35;margin-top:1px}

.chk{display:flex;align-items:center;gap:9px;background:var(--cinza2);border:1px solid var(--borda);border-radius:10px;padding:11px 12px}
.chk input{width:19px;height:19px}
.chk label{font-weight:700;font-size:.86rem;color:var(--navy);margin:0}

/* ---------------- DOCUMENTO (a circular) ----------------
   Fiel ao modelo real da Área: A4 exato, uma página só,
   rodapé de tijolo com o logo branco.                      */
.doc-wrap{background:#e9edf2;padding:18px;overflow:auto}
.doc{
  background:#fff;width:210mm;height:297mm;margin:0 auto;position:relative;overflow:hidden;
  padding:12mm 18mm 42mm;box-shadow:var(--sombra2);
  font-family:Arial,'Lato',sans-serif;color:#000;font-size:11.5pt;line-height:1.5;
}
.doc .topo-logos{display:flex;align-items:center;justify-content:center;gap:10mm;margin-bottom:4mm}
.doc .topo-logos img{height:16.25mm;width:auto;object-fit:contain}
.doc .cidade-data{text-align:right;font-size:11.5pt;margin-bottom:5mm}
.doc .num-linha{
  display:flex;justify-content:space-between;align-items:baseline;
  font-weight:700;font-size:13pt;border-bottom:1.2pt solid #000;padding-bottom:1.5mm;margin-bottom:8mm;
}
.doc .assunto{text-align:center;font-weight:700;font-size:13pt;text-decoration:underline;margin-bottom:7mm;line-height:1.3}
.doc .dest{font-weight:700;margin-bottom:1.5mm;padding-left:6mm}
.doc .corpo{padding-left:6mm}
.doc .corpo p{margin-bottom:3mm}
.doc .corpo p.item{padding-left:9mm;text-indent:-4.5mm;margin-bottom:1.2mm}
.doc .corpo .espaco{height:3.5mm}
.doc .fecho{margin-top:7mm;padding-left:6mm}
.doc .assinatura{font-weight:700;padding-left:6mm}

/* Rodapé de tijolo, colado no pé da folha */
.doc .rodape{position:absolute;left:0;right:0;bottom:0;color:#fff;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.doc .rodape .faixa{
  background-image:url("../tijolo.png");background-size:cover;background-position:center;
  display:flex;align-items:center;gap:6mm;padding:3.5mm 10mm;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
.doc .rodape .faixa::before{content:"";position:absolute;inset:0;background:rgba(150,20,26,.55);z-index:0}
.doc .rodape .faixa > *{position:relative;z-index:1}
.doc .rodape .end{flex:1;font-size:7.4pt;line-height:1.35}
.doc .rodape .im{height:10mm;width:auto;object-fit:contain}
.doc .rodape .web{flex:1;font-size:7.4pt;line-height:1.35;text-align:right}
.doc .rodape .aviso{
  background:rgba(130,16,22,.92);padding:1.8mm 8mm 2.2mm;
  font-size:6.2pt;line-height:1.3;text-align:center;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
/* Avisa (só na tela) se o texto passou do tamanho da folha */
.doc.estourou{outline:3px solid var(--vinho)}
.alerta-pagina{background:var(--rose);border-left:4px solid var(--vinho);color:var(--vinho-esc);
  padding:10px 13px;font-size:.86rem;font-weight:700;margin:0 18px 12px;border-radius:8px;display:none}
.alerta-pagina.on{display:block}

/* Prévia do texto do WhatsApp */
.previa-zap{background:var(--cinza2);border:1px solid var(--borda);border-radius:12px;padding:14px;
  white-space:pre-wrap;font-size:.9rem;color:var(--navy);max-height:420px;overflow:auto}

.aba{display:flex;gap:6px;padding:10px 16px 0;border-bottom:1px solid var(--borda);background:#fff}
.aba button{border:none;background:none;padding:10px 14px;font-weight:800;color:#93a0b2;border-bottom:3px solid transparent;font-size:.9rem}
.aba button.on{color:var(--vinho);border-bottom-color:var(--vinho)}

.tela{display:none}.tela.on{display:block}

/* ---------------- Folha da Correção Ortográfica ---------------- */
.sheet-bg{position:fixed;inset:0;background:rgba(25,42,61,.55);z-index:70;display:none;
  align-items:center;justify-content:center;padding:16px}
.sheet-bg.on{display:flex}
.sheet{background:#fff;width:100%;max-width:660px;border-radius:18px;padding:10px 20px 20px;
  max-height:88vh;overflow:auto;box-shadow:var(--sombra2);animation:sobe .18s ease}
@keyframes sobe{from{transform:translateY(14px);opacity:.5}to{transform:none;opacity:1}}
.sheet .grip{width:42px;height:4px;background:var(--borda);border-radius:99px;margin:6px auto 12px}
.sheet h3{font-size:1.15rem;margin-bottom:3px}
.sheet .row{display:flex;gap:10px;margin-top:16px}
.sheet .row .btn{flex:1}
.btn-sec{background:#fff;color:var(--navy);border:1.5px solid var(--borda)}

.corr-lista{margin-top:14px}
.corr-item{border:1px solid var(--borda);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#fcfdfe}
.corr-antes,.corr-depois{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;line-height:1.4}
.corr-antes{color:#9aa5b5}
.corr-antes span:last-child{text-decoration:line-through}
.corr-depois{color:var(--navy);font-weight:700;margin-top:4px}
.corr-tag{flex:0 0 auto;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  background:var(--cinza2);color:#93a0b2;padding:2px 7px;border-radius:99px;margin-top:2px}
.corr-tag.ok{background:#e8f6ee;color:#2e7d52}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;
  padding:12px 20px;border-radius:99px;font-weight:700;font-size:.9rem;z-index:90;opacity:0;pointer-events:none;
  transition:.2s;box-shadow:var(--sombra2)}
.toast.on{opacity:1}

/* ---------------- IMPRESSÃO (gera o PDF) ---------------- */
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff;width:210mm}
  body *{visibility:hidden}
  #doc, #doc *{visibility:visible}
  #doc{
    position:absolute;left:0;top:0;margin:0;
    width:210mm;height:297mm;box-shadow:none;overflow:hidden;
  }
  .doc-wrap{padding:0;background:#fff;overflow:visible}
  .doc.estourou{outline:none}
  /* faz o navegador imprimir o tijolo e o vinho do rodapé */
  *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}
}

/* ================= MÓDULO EVENTOS ================= */
/* miniaturas das fotos no editor */
.fotos-grid{display:flex;flex-wrap:wrap;gap:10px}
.foto-item{position:relative;width:120px;height:90px;border-radius:10px;overflow:hidden;border:1px solid var(--borda)}
.foto-item img{width:100%;height:100%;object-fit:cover;display:block}
.foto-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:50%;
  background:rgba(25,42,61,.82);color:#fff;font-size:.8rem;line-height:1;cursor:pointer}

/* relatório de evento — várias páginas (diferente da circular, que é 1 folha) */
.doc.doc-evento{height:auto;min-height:297mm;overflow:visible;padding:14mm 18mm 20mm}
.doc .ev-regiao{text-align:center;font-weight:800;color:#000;font-size:12pt;margin-top:2mm}
.doc .ev-coord{text-align:center;font-size:10.5pt;color:#333;margin-bottom:6mm}
.doc .ev-data{text-align:center;font-size:11pt;margin:-4mm 0 8mm}
.doc .ev-titulo{text-align:center;font-weight:700;font-size:13pt;color:var(--vinho);margin-bottom:9mm}
.doc .ev-ativ{margin-bottom:6mm}
.doc .ev-ativ-tit{font-size:12pt;margin-bottom:1.5mm}
.doc .ev-ativ-meta{color:#444;font-size:10.5pt;margin-bottom:2mm}
.doc .ev-ativ p{text-align:justify;margin-bottom:2.5mm}
.doc .ev-h{font-weight:800;font-size:11.5pt;color:#000;border-bottom:1.2pt solid var(--vinho);
  padding-bottom:1mm;margin:8mm 0 4mm}
.doc .ev-just p{text-align:justify}
.doc table.ev-part{border-collapse:collapse;margin:2mm 0 4mm;min-width:70mm}
.doc table.ev-part caption{caption-side:top;text-align:left;font-weight:800;font-size:11.5pt;
  border-bottom:1.2pt solid var(--vinho);padding-bottom:1mm;margin-bottom:3mm;color:#000}
.doc table.ev-part td{border:0.6pt solid #ccc;padding:2mm 6mm 2mm 3mm}
.doc .ev-fotos{display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin-top:2mm}
.doc .ev-fotos img{width:100%;height:60mm;object-fit:cover;border-radius:2mm;border:0.5pt solid #ddd}
.doc .ev-album{font-size:10pt;margin-top:4mm;word-break:break-all}
.doc .ev-fecho{text-align:center;font-weight:800;color:var(--vinho);font-size:12pt;margin-top:10mm;letter-spacing:.5px}

/* ================= MÓDULO MUTIRÃO ================= */
/* resumo do acervo */
.resumo-mut{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.resumo-cartao{flex:1;min-width:120px;background:var(--rose);border:1px solid #f2d6d9;border-radius:12px;padding:12px 14px}
.rc-num{font-family:'Exo',sans-serif;font-weight:800;font-size:1.35rem;color:var(--vinho);line-height:1.1}
.rc-rot{font-size:.78rem;color:var(--vinho-esc);font-weight:700;margin-top:2px}

/* linhas de despesa no editor */
.despesa-linha{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.despesa-linha input{border:1.5px solid var(--borda);border-radius:10px;padding:10px 12px;font-size:.95rem;color:var(--navy)}
.despesa-linha input:first-child{flex:1}
.despesa-linha .despesa-valor{width:120px;text-align:right}
.despesa-total{align-self:center;font-weight:800;color:var(--navy);margin-left:auto}

/* relatório do mutirão */
.doc .ev-vol{font-weight:700;margin:4mm 0}
.doc table.ev-desp{width:100%;max-width:120mm}
.doc table.ev-desp td{border:0.6pt solid #ccc;padding:2mm 4mm}
.doc table.ev-desp .td-valor{text-align:right;white-space:nowrap;width:35mm}

/* ================= BARRA DE FORMATAÇÃO (eventos) ================= */
.barra-fmt{gap:5px}
.fmt-b, .fmt-i, .fmt-u, .fmt-l{width:36px;padding:8px 0;text-align:center;line-height:1}
.fmt-b{font-weight:900}
.fmt-i{font-style:italic;font-weight:700}
.fmt-u{text-decoration:underline;font-weight:700}
/* sublinhado no relatório */
.doc u{text-decoration:underline}
