/* Battallog · estilos dos componentes compartilhados (dropdown de autocomplete
   e toast). Usa as variáveis que cada página já define (--blue-900, --orange,
   --line, --bg, --slate, --ease), com reservas caso faltem. */

.bt-ac{position:relative}

.bt-ac-panel{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:15;
  background:#fff;
  border:1px solid var(--line, #e7edf6);
  border-radius:12px;
  box-shadow:0 1px 2px rgba(16,24,40,.05), 0 16px 40px -12px rgba(16,24,40,.2);
  max-height:330px; overflow-y:auto;
  padding:6px;
  animation:bt-ac-abrir .16s var(--ease, ease-out);
}
@keyframes bt-ac-abrir{
  from{opacity:0; transform:translateY(-4px)}
  to{opacity:1; transform:none}
}

.bt-ac-op{
  display:block; width:100%; text-align:left; cursor:pointer;
  font:inherit; border:0; background:none;
  padding:10px 12px; border-radius:8px;
  transition:background .12s var(--ease, ease-out);
}
.bt-ac-op .t{display:block; font-weight:700; color:var(--blue-900, #0a2a5e); line-height:1.35}
.bt-ac-op .t mark{background:none; color:var(--orange-600, #df620c)}
.bt-ac-op .m{display:block; font-size:.78rem; color:var(--slate, #4c5a70); margin-top:2px; line-height:1.4}
.bt-ac-op:hover{background:var(--bg, #f4f7fb)}
.bt-ac-op.ativo{background:#e7f0fd}
.bt-ac-op.ativo .t{color:var(--blue-800, #123772)}

.bt-ac-vazio{padding:14px 12px; font-size:.86rem; color:var(--slate, #4c5a70); line-height:1.5}
.bt-ac-vazio a{color:var(--blue-800, #123772); font-weight:700}

/* aviso rápido de sucesso (ex.: "Cliente salvo") */
.bt-toast{
  position:fixed; left:50%; bottom:28px; transform:translateX(-50%);
  z-index:40;
  background:var(--blue-900, #0a2a5e); color:#fff;
  font-weight:700; font-size:.92rem;
  padding:13px 22px; border-radius:12px;
  box-shadow:0 12px 32px -8px rgba(6,21,48,.4);
  animation:bt-toast-sobe .22s var(--ease, ease-out);
}
.bt-toast.some{opacity:0; transition:opacity .3s var(--ease, ease-out)}
@keyframes bt-toast-sobe{
  from{opacity:0; transform:translate(-50%, 10px)}
  to{opacity:1; transform:translate(-50%, 0)}
}

/* caixa de diálogo (BT.aviso / BT.confirmar) — substitui alert() e confirm() */
.bt-dialogo{
  border:0; padding:26px 26px 22px; border-radius:16px;
  max-width:min(440px, calc(100vw - 32px)); width:100%;
  background:var(--surface, #fff); color:var(--ink, #16202f);
  box-shadow:0 28px 70px -18px rgba(6,21,48,.5);
  font:inherit; animation:bt-dialogo-entra .18s var(--ease, ease-out);
}
.bt-dialogo::backdrop{background:rgba(6,18,40,.55)}
.bt-dialogo h2{
  font-family:var(--font-display, inherit); font-size:1.08rem; font-weight:800;
  color:var(--blue-900, #0a2a5e); margin:0 0 10px; line-height:1.3;
}
.bt-dialogo p{margin:0 0 8px; font-size:.92rem; line-height:1.6; color:var(--slate, #55637a)}
.bt-dialogo p.vazio{height:6px; margin:0}       /* linha em branco herdada do \n do alert */
.bt-dialogo.perigo h2{color:var(--bad, #c0392b)}
.bt-dialogo-acoes{display:flex; gap:10px; justify-content:flex-end; margin-top:18px; flex-wrap:wrap}
.bt-dialogo-acoes button{
  font:inherit; font-weight:800; font-size:.88rem; cursor:pointer;
  min-height:44px; padding:11px 20px; border-radius:11px; border:0;
}
.bt-dialogo-acoes .nao{
  background:none; color:var(--blue-900, #0a2a5e);
  border:1px solid var(--line, #d8e0ec);
}
.bt-dialogo-acoes .sim{
  color:#fff; background:linear-gradient(180deg,#164a94 0%, var(--blue-900, #0a2a5e) 100%);
}
.bt-dialogo.perigo .bt-dialogo-acoes .sim{
  background:linear-gradient(180deg,#d1493a 0%, var(--bad, #c0392b) 100%);
}
.bt-dialogo-acoes button:focus-visible{outline:3px solid var(--orange, #f47c20); outline-offset:2px}
@keyframes bt-dialogo-entra{
  from{opacity:0; transform:translateY(8px) scale(.98)}
  to{opacity:1; transform:none}
}

@media (prefers-reduced-motion:reduce){
  .bt-ac-panel, .bt-toast, .bt-dialogo{animation:none}
  .bt-toast.some{transition:none}
}
