/* ============================================================
   FRETE+PRO 3.1.4 - NOTIFICAÇÕES / AJUSTE VISUAL
   ============================================================ */
.fretes-notificacoes-root { position: relative; }

.frete-notificacoes-botao {
  position: fixed;
  bottom: 22px;
  right: 22px;
  z-index: 1800;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: #111827;
  color: #fff;
  font-size: 25px;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(15,23,42,.22);
}

.frete-notificacoes-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  border-radius: 999px;
  background: #dc2626;
  color: #fff;
  font-size: 11px;
  line-height: 21px;
  font-weight: 800;
}

.frete-notificacoes-painel {
  position: fixed;
  bottom: 86px;
  right: 22px;
  z-index: 1790;
  width: min(420px, calc(100vw - 28px));
  max-height: min(650px, calc(100vh - 110px));
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  color: #111827;
  box-shadow: 0 24px 70px rgba(15,23,42,.28);
}

.frete-notificacoes-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid #e5e7eb;
}
.frete-notificacoes-cabecalho strong { display:block; color:#111827 !important; font-size:16px; }
.frete-notificacoes-cabecalho small { display:block; color:#6b7280 !important; margin-top:2px; }
.frete-notificacoes-cabecalho button { border:0; background:transparent; color:#4d5a47; font-size:26px; cursor:pointer; }

.frete-notificacoes-acoes { padding: 9px 14px; border-bottom:1px solid #eef2f7; text-align:right; }
.frete-notificacoes-acoes button { border:0; background:transparent; color:#53673f; font-size:12px; font-weight:700; cursor:pointer; }

.frete-notificacoes-lista { max-height: 540px; overflow:auto; }
.frete-notificacao-vazia { padding: 30px 18px; text-align:center; color:#6b7280; }
.frete-notificacao-item { display:grid; grid-template-columns:42px 1fr auto; gap:11px; padding:14px 15px; border-bottom:1px solid #eef2f7; align-items:start; }
.frete-notificacao-item.nao-lida { background:#f8fbff; }
.frete-notificacao-item.lida { opacity:.74; }
.frete-notificacao-icone { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:#eff6ff; }
.frete-notificacao-icone.alerta { background:#fff7ed; }
.frete-notificacao-icone.sucesso { background:#ecfdf5; }
.frete-notificacao-conteudo strong { color:#111827 !important; font-size:13px; }
.frete-notificacao-conteudo p { color:#4d5a47 !important; font-size:12px; line-height:1.45; margin:4px 0; }
.frete-notificacao-conteudo small { color:#9ca3af !important; font-size:11px; }
.frete-notificacao-botoes { display:flex; gap:4px; }
.frete-notificacao-botoes button { border:1px solid #dbe3ee; background:#fff; color:#4d5a47; border-radius:8px; padding:5px 7px; font-size:11px; cursor:pointer; }

.frete-toast-container { position:fixed; top:78px; right:22px; z-index:1900; width:min(540px, calc(100vw - 32px)); display:flex; flex-direction:column; gap:10px; pointer-events:none; }
.frete-toast { display:grid; grid-template-columns:48px 1fr 32px; gap:10px; align-items:start; padding:20px; border-radius:18px; background:#fff; color:#111827; border:1px solid #e5e7eb; box-shadow:0 18px 48px rgba(15,23,42,.22); transform:translateY(-8px); opacity:0; transition:.22s ease; pointer-events:auto; }
.frete-toast.visivel { transform:translateY(0); opacity:1; }
.frete-toast.info { border-left:4px solid #53673f; }
.frete-toast.alerta { border-left:4px solid #f59e0b; }
.frete-toast.sucesso { border-left:4px solid #10b981; }
.frete-toast-icone { font-size:30px; }
.frete-toast-texto strong { color:#111827 !important; font-size:17px; line-height:1.35; }
.frete-toast-texto p { color:#4d5a47 !important; font-size:14px; line-height:1.55; margin:7px 0 10px; }
.frete-toast-texto button { border:0; background:transparent; color:#53673f; font-size:13px; font-weight:800; padding:0; cursor:pointer; }
.frete-toast-fechar { border:0; background:transparent; color:#6b7280; font-size:24px; cursor:pointer; }

@media (max-width: 720px) {
  .frete-notificacoes-botao {
    top: calc(env(safe-area-inset-top, 0px) + 12px);
    bottom: auto;
    right: 12px;
    width: 50px;
    height: 50px;
  }

  .frete-notificacoes-painel {
    top: calc(env(safe-area-inset-top, 0px) + 72px);
    bottom: auto;
    right: 10px;
    width: calc(100vw - 20px);
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - 92px);
  }

  .frete-toast-container {
    top: calc(env(safe-area-inset-top, 0px) + 72px);
    right: 10px;
    width: calc(100vw - 20px);
  }
}

/* FRETE+PRO 4.3.3.197: alertas de contratação em destaque */
.frete-ativar-som-alertas{position:fixed;right:20px;bottom:82px;z-index:4200;background:#14532d;color:#fff;border:2px solid #a7f3d0;border-radius:14px;padding:12px 16px;font-size:14px;font-weight:800;box-shadow:0 8px 30px #0004;cursor:pointer;max-width:min(340px,calc(100vw - 35px))}
.frete-ativar-som-alertas[hidden]{display:none!important}
.frete-toast.prioritario{border-left:7px solid #15803d;box-shadow:0 14px 55px rgba(18,100,50,.35);padding:24px}
.frete-toast.prioritario .frete-toast-texto strong{font-size:19px}
@media(max-width:700px){.frete-ativar-som-alertas{right:12px;bottom:65px;font-size:12px}}
