:root{--bg:#f4f6fb;--dark:#111827;--gold:#c9992e;--red:#b8292f;--card:#fff}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#1f2937}a{text-decoration:none}aside{position:fixed;left:0;top:0;bottom:0;width:260px;background:#090909;color:#fff;padding:24px 18px;z-index:10}main{margin-left:260px;padding:28px}.brand{text-align:center;margin-bottom:25px}.brand img{width:110px;border-radius:8px}.brand strong{display:block;font-size:22px}.brand span{color:#d1d5db}nav a{display:block;color:#fff;padding:13px 14px;border-radius:10px;margin:5px 0}nav a:hover{background:#1f2937}.hamb{display:none;position:fixed;top:12px;left:12px;z-index:20;border:0;background:#111;color:#fff;padding:10px 12px;border-radius:8px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:var(--card);border-radius:16px;padding:20px;box-shadow:0 10px 30px #0001}.card h2,.card h3{margin-top:0}.stat{font-size:32px;font-weight:bold;color:var(--red)}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form label{font-weight:bold;font-size:14px}.form input,.form textarea,.form select{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;margin-top:6px}.full{grid-column:1/-1}.btn{border:0;background:var(--red);color:white;padding:12px 16px;border-radius:10px;cursor:pointer;font-weight:bold;display:inline-block}.btn.secondary{background:#111827}.btn.gold{background:var(--gold)}.btn.danger{background:#7f1d1d}table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid #eee;text-align:left}th{background:#111827;color:#fff}.actions a{margin-right:8px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#111,#333)}.login .card{width:380px}.login img{width:130px;display:block;margin:0 auto 15px}.alert{background:#fff3cd;padding:12px;border-radius:10px;margin-bottom:15px}.certificate-page{background:#ddd;padding:14px;min-height:100vh}.cert{width:297mm;height:210mm;background:white;margin:auto;position:relative;padding:18mm 22mm;text-align:center;overflow:hidden}.watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.075}.watermark img{max-width:125mm;max-height:125mm}.cert-content{position:relative;z-index:2}.church{font-family:Georgia,serif;font-style:italic;color:#b8292f;font-size:34pt;margin:0}.cert-title{font-family:Georgia,serif;font-style:italic;color:#d79b22;font-size:25pt;margin:3mm 0 15mm;text-shadow:1px 1px #0003}.cert-text{font-family:Georgia,serif;font-size:18pt;line-height:1.5;text-align:justify}.cert-name{font-weight:bold;border-bottom:1.4pt solid #222;padding:0 5mm}.cert-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14mm}.cert-logos{display:flex;gap:7mm;align-items:center}.cert-logos img{max-width:32mm;max-height:25mm;object-fit:contain}.cert-number{text-align:left;font-size:9pt;margin-top:4mm}.date-sign{font-family:Georgia,serif;font-size:15pt;text-align:center}.signature{font-family:Georgia,serif;font-size:14pt;border-top:1.4pt solid #333;padding-top:3mm;width:80mm}.printbar{text-align:center;margin-bottom:12px}@page{size:A4 landscape;margin:0}@media print{html,body{width:297mm;height:210mm;margin:0;padding:0;background:white}.printbar{display:none}.certificate-page{padding:0;margin:0;background:white;min-height:0}.cert{width:297mm;height:210mm;margin:0;padding:18mm 22mm;box-shadow:none;page-break-after:avoid;break-after:avoid;overflow:hidden}}@media(max-width:800px){aside{transform:translateX(-100%);transition:.2s}.open aside{transform:none}main{margin-left:0;padding:60px 15px}.hamb{display:block}.grid,.form{grid-template-columns:1fr}table{font-size:13px}.cert{transform:scale(.33);transform-origin:top left;margin:0}.certificate-page{overflow:auto}}
.cert{border:0}.cert-border{position:absolute;inset:8mm;border:2.5mm double #b8292f;z-index:1}.cert-border-2{position:absolute;inset:13mm;border:1mm solid #c9992e;z-index:1}.corner{position:absolute;width:20mm;height:20mm;border-color:#c9992e;z-index:1}.c1{left:13mm;top:13mm;border-left:1.6mm solid;border-top:1.6mm solid}.c2{right:13mm;top:13mm;border-right:1.6mm solid;border-top:1.6mm solid}.c3{left:13mm;bottom:13mm;border-left:1.6mm solid;border-bottom:1.6mm solid}.c4{right:13mm;bottom:13mm;border-right:1.6mm solid;border-bottom:1.6mm solid}.cert-content{padding:4mm 8mm}.cert-text{font-size:17pt;text-align:center;margin:0 auto;max-width:235mm}.cert-title{margin-bottom:11mm}@media print{.cert-border{inset:8mm}.cert-border-2{inset:13mm}.corner{display:block}}


/* ===== Ajuste visual V10.1 - Borda decorativa do certificado ===== */
.cert{
  border: 0 !important;
}
.cert:before{
  content:"";
  position:absolute;
  inset:7mm;
  border:2.2mm double #b8292f;
  z-index:1;
  pointer-events:none;
}
.cert:after{
  content:"";
  position:absolute;
  inset:13mm;
  border:0.8mm solid #d4af37;
  z-index:1;
  pointer-events:none;
}
.cert-border{
  position:absolute;
  inset:18mm;
  border:0.35mm solid rgba(184,41,47,.55);
  z-index:1;
  pointer-events:none;
}
.cert-border-2{
  position:absolute;
  inset:21mm;
  border:0.25mm dashed rgba(212,175,55,.75);
  z-index:1;
  pointer-events:none;
}
.corner{
  position:absolute;
  width:28mm;
  height:28mm;
  z-index:2;
  pointer-events:none;
}
.c1{left:11mm;top:11mm;border-left:2mm solid #d4af37;border-top:2mm solid #d4af37;border-top-left-radius:8mm;}
.c2{right:11mm;top:11mm;border-right:2mm solid #d4af37;border-top:2mm solid #d4af37;border-top-right-radius:8mm;}
.c3{left:11mm;bottom:11mm;border-left:2mm solid #d4af37;border-bottom:2mm solid #d4af37;border-bottom-left-radius:8mm;}
.c4{right:11mm;bottom:11mm;border-right:2mm solid #d4af37;border-bottom:2mm solid #d4af37;border-bottom-right-radius:8mm;}
.cert-content{
  padding:6mm 10mm;
}
.church{font-size:32pt;}
.cert-title{margin-bottom:10mm;}
.cert-text{
  max-width:230mm;
  margin:0 auto;
  text-align:center;
  font-size:17pt;
  line-height:1.55;
}
.cert-footer{margin-top:11mm;}
@media print{
  .cert:before{inset:7mm;}
  .cert:after{inset:13mm;}
  .cert-border{inset:18mm;}
  .cert-border-2{inset:21mm;}
}

/* ===== BORDA FINAL CERTIFICADO - aplicar sem alterar PHP ===== */
.certificate-page .cert{
  border: 10px double #b8292f !important;
  outline: 4px solid #d4af37 !important;
  outline-offset: -18px !important;
  box-shadow: inset 0 0 0 2px rgba(184,41,47,.45), inset 0 0 0 28px rgba(212,175,55,.07) !important;
  padding: 22mm 26mm !important;
}
.certificate-page .cert:before,
.certificate-page .cert:after{
  display:none !important;
}
.certificate-page .cert-border{
  position:absolute !important;
  inset: 12mm !important;
  border: 1.2mm solid #d4af37 !important;
  z-index: 1 !important;
  pointer-events:none !important;
}
.certificate-page .cert-border-2{
  position:absolute !important;
  inset: 17mm !important;
  border: .35mm dashed rgba(184,41,47,.65) !important;
  z-index: 1 !important;
  pointer-events:none !important;
}
.certificate-page .corner{
  position:absolute !important;
  width: 24mm !important;
  height: 24mm !important;
  z-index: 3 !important;
  pointer-events:none !important;
}
.certificate-page .c1{left:14mm !important;top:14mm !important;border-left:2mm solid #d4af37 !important;border-top:2mm solid #d4af37 !important;border-top-left-radius:8mm !important;}
.certificate-page .c2{right:14mm !important;top:14mm !important;border-right:2mm solid #d4af37 !important;border-top:2mm solid #d4af37 !important;border-top-right-radius:8mm !important;}
.certificate-page .c3{left:14mm !important;bottom:14mm !important;border-left:2mm solid #d4af37 !important;border-bottom:2mm solid #d4af37 !important;border-bottom-left-radius:8mm !important;}
.certificate-page .c4{right:14mm !important;bottom:14mm !important;border-right:2mm solid #d4af37 !important;border-bottom:2mm solid #d4af37 !important;border-bottom-right-radius:8mm !important;}
.certificate-page .cert-content{
  position:relative !important;
  z-index:2 !important;
  padding: 4mm 7mm !important;
}
@media print{
  .certificate-page .cert{
    border: 10px double #b8292f !important;
    outline: 4px solid #d4af37 !important;
    outline-offset: -18px !important;
    box-shadow: inset 0 0 0 2px rgba(184,41,47,.45), inset 0 0 0 28px rgba(212,175,55,.07) !important;
    padding: 22mm 26mm !important;
  }
}
