/* Administração: escopo isolado para conservar os demais fluxos. */
#modal-admin { --admin-surface:#fff; --admin-muted:#526174; --admin-text:#182433; --admin-tint:#f4f6fa; --admin-border:#dce2e9; }
body.dark-mode #modal-admin { --admin-surface:#22272e; --admin-muted:#b9c4d2; --admin-text:#f1f4f8; --admin-tint:#191f27; --admin-border:#3c4858; }
#modal-admin .admin-wide { width:min(1200px,96vw); max-width:1200px; padding:24px; background:var(--admin-surface); color:var(--admin-text); }
#modal-admin .modal-close { float:right; margin:0 0 12px 16px; min-width:44px; min-height:44px; }
#modal-admin h3 { font-size:21px; padding-right:42px; }
#modal-admin h4 { color:var(--admin-text); }
#modal-admin .abas-admin { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:20px 0 24px; padding:8px; border:1px solid var(--admin-border); background:var(--admin-tint); border-radius:12px; }
#modal-admin .abas-admin button { width:100%; margin:0; min-height:44px; padding:10px 12px; border:1px solid transparent; background:transparent; color:var(--admin-muted); font-size:13px; white-space:normal; }
#modal-admin .abas-admin button.ativo { color:#fff; background:#6941b9; box-shadow:0 2px 6px #0002; }
#modal-admin .abas-admin button:hover { border-color:#8d6acb; }
#modal-admin .box-cupom,#modal-admin .tutorial-admin { background:var(--admin-tint)!important; color:var(--admin-text); border:1px solid var(--admin-border)!important; border-radius:12px!important; padding:20px!important; margin:0 0 16px!important; }
#modal-admin .box-cupom p,#modal-admin .box-cupom label,#modal-admin .box-cupom small,#modal-admin .admin-descricao { color:var(--admin-muted)!important; line-height:1.6; }
#modal-admin input,#modal-admin select { background:var(--admin-surface); color:var(--admin-text); border:1px solid var(--admin-border); min-height:44px; max-width:100%; box-sizing:border-box; }
#modal-admin input[type=checkbox] { min-height:20px; width:20px; }
#modal-admin #admin-2fa-setup { background:var(--admin-surface)!important; border-color:var(--admin-border)!important; }
#modal-admin .admin-metricas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#modal-admin .admin-metricas>div { padding:16px; background:var(--admin-surface); border:1px solid var(--admin-border); border-radius:10px; }
#modal-admin .admin-metricas span { display:block; font-size:13px; color:var(--admin-muted); }
#modal-admin .admin-metricas strong { display:block; margin-top:6px; font-size:30px; color:#7952cb; }
body.dark-mode #modal-admin .admin-metricas strong { color:#bc9bef; }
#modal-admin .admin-descricao { font-size:13px; margin:12px 0 20px; }
#modal-admin .admin-filtros-visitas { grid-template-columns:repeat(2,minmax(0,1fr))!important; padding:16px; border:1px solid var(--admin-border); border-radius:10px; }
#modal-admin table { color:var(--admin-text); }
#modal-admin th { background:var(--admin-tint); color:var(--admin-text); }
#modal-admin td,#modal-admin th { border-color:var(--admin-border); padding:12px; }
#modal-admin .tutorial-admin button { margin-bottom:12px; }
#modal-admin #conteudo-aba-atendimento>button { width:auto; padding:12px 20px; }
#conteudo-aba-cupons .grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:20px 0; }
#conteudo-aba-cupons .grid-2 label { display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:600; }
#conteudo-aba-cupons .grid-2 input { width:100%; margin:0; }
#conteudo-aba-cupons .grid-2 small { font-size:12px; font-weight:400; }
.plano-resgate-cupom { padding:16px; margin:16px 0; border:1px solid #6f42c1; border-radius:12px; }
.plano-resgate-cupom label { display:block; font-weight:600; }
.plano-resgate-cupom input { display:block; width:100%; box-sizing:border-box; margin-top:8px; text-transform:uppercase; }
.plano-resgate-cupom p:empty { display:none; }
@media(max-width:640px) {
  #conteudo-aba-cupons .grid-2 { grid-template-columns:minmax(0,1fr); gap:16px; }
  #modal-admin .admin-wide { width:100%; padding:16px; }
  #modal-admin .abas-admin { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  #modal-admin .box-cupom,#modal-admin .tutorial-admin { padding:14px!important; }
  #modal-admin .admin-filtros-visitas { grid-template-columns:minmax(0,1fr)!important; }
  #modal-admin #admin-2fa-setup>div { grid-template-columns:minmax(0,1fr)!important; }
  #modal-admin .admin-metricas>div { padding:12px; }
}
#modal-admin .contatos-toolbar{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:18px}#modal-admin .contatos-toolbar h3{margin:0 0 8px}#modal-admin .contatos-toolbar p{font-size:13px;line-height:1.6;color:var(--admin-muted);margin:0}#modal-admin .contatos-toolbar button{width:auto;flex-shrink:0}#modal-admin .contatos-lista{display:grid;gap:12px;margin-top:18px}#modal-admin .contato-vencido{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-tint)}#modal-admin .contato-vencido>div{min-width:0;display:grid;gap:7px;overflow-wrap:anywhere}#modal-admin .contato-vencido small{color:var(--admin-muted);line-height:1.5}#modal-admin .contato-vencido button{width:auto;flex-shrink:0}
.contato-email-dialog{width:min(700px,calc(100vw - 28px));max-height:90dvh;box-sizing:border-box;border-radius:16px;padding:24px;background:#fff;color:#19212e;border:1px solid #cbd5e1;border-top:3px solid #e7bd17}.dark-mode .contato-email-dialog{background:#15202c;color:#edf2f7;border-color:#37485b;border-top-color:#e7bd17}.contato-email-dialog::backdrop{background:#000a}.contato-email-dialog header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.contato-email-dialog h2{font-size:21px;margin-top:0;overflow-wrap:anywhere}.contato-email-dialog header button{width:auto;flex-shrink:0}.contato-email-dialog>p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.contato-email-dialog label{display:grid;gap:8px;margin:18px 0;font-size:13px;font-weight:600}.contato-email-dialog input,.contato-email-dialog textarea{box-sizing:border-box;width:100%;font:14px/1.6 Arial,sans-serif;padding:12px;border:1px solid #6b7b8b;border-radius:8px}.contato-email-dialog textarea{resize:vertical}.contato-email-dialog summary{cursor:pointer;padding:12px;background:#78899a20;border-radius:8px}.contato-email-preview{margin-top:12px;background:white;color:#202a35;border:1px solid #ccd5df;border-radius:12px;overflow:hidden}.contato-email-preview>strong{display:block;padding:20px;background:#111a23;color:#f2ce17}.contato-email-preview>p{padding:20px;white-space:pre-wrap;font:15px/1.65 Arial,sans-serif}.contato-email-dialog [role=status]{line-height:1.6;overflow-wrap:anywhere}
@media(max-width:600px){#modal-admin .contatos-toolbar,#modal-admin .contato-vencido{align-items:stretch;flex-direction:column}#modal-admin .contato-vencido button{width:100%}.contato-email-dialog{padding:18px}.contato-email-dialog textarea,.contato-email-dialog input{font-size:16px}}

/* Contraste explícito nos dois temas e identificação persistente do envio. */
#modal-admin .contato-vencido button,#modal-admin .contatos-toolbar button,.contato-email-dialog button{background:#6540ad!important;color:#fff!important;border:1px solid #7651bd!important;border-radius:9px;padding:11px 16px;font-weight:600;min-height:42px}.contato-email-dialog header button{background:#34445a!important;border-color:#52657b!important;color:#fff!important}.contato-email-dialog button:disabled{opacity:.65;cursor:default}#modal-admin .contato-envio-tag{display:inline-block;justify-self:start;border:1px solid #7b879755;background:#7b87971a;color:var(--admin-text);font-size:11px;font-weight:700;padding:5px 9px;border-radius:20px}#modal-admin .contato-envio-tag.aceito{background:#18834f22;color:#137647;border-color:#18834f55}body.dark-mode #modal-admin .contato-envio-tag.aceito{color:#7ee1a7}#modal-admin .contato-envio-tag.incerto,#modal-admin .contato-envio-tag.enviando{color:#9a6900;background:#dba81422}body.dark-mode #modal-admin .contato-envio-tag.incerto,body.dark-mode #modal-admin .contato-envio-tag.enviando{color:#f1d46c}
