/* Modal próprio para Efetuar Venda — substitui alert/confirm nativos */
.efv-modal-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(8px);
  animation:efvOverlayIn .16s ease both;
}
.efv-modal{
  width:min(440px,100%);
  border:1px solid var(--border2);
  border-radius:28px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,#fff 4%),var(--surface));
  box-shadow:0 24px 72px rgba(15,23,42,.26),0 6px 20px rgba(15,23,42,.12);
  overflow:hidden;
  animation:efvModalIn .2s cubic-bezier(.2,.8,.2,1) both;
}
.efv-modal-head{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:22px 24px 16px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent);
}
.efv-modal-icon{
  width:44px;
  height:44px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex:none;
  font-size:21px;
  background:var(--accent-dim);
  border:1px solid var(--accent-border);
  color:var(--accent);
}
.efv-modal-icon.success{
  background:var(--green-dim);
  border-color:var(--green-border);
  color:var(--green);
}
.efv-modal-icon.warn{
  background:rgba(245,158,11,.10);
  border-color:rgba(245,158,11,.24);
  color:#d97706;
}
.efv-modal-title{
  font-size:18px;
  font-weight:900;
  line-height:1.18;
  letter-spacing:-.04em;
  color:var(--text);
}
.efv-modal-sub{
  margin-top:5px;
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
}
.efv-modal-body{
  display:grid;
  gap:10px;
  padding:16px 24px 4px;
}
.efv-modal-warning{
  padding:11px 13px;
  border-radius:16px;
  background:rgba(245,158,11,.08);
  border:1px solid rgba(245,158,11,.22);
  color:#b45309;
  font-size:12px;
  font-weight:750;
  line-height:1.5;
}
.efv-modal-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.efv-modal-mini{
  padding:10px 11px;
  border-radius:16px;
  background:var(--surface2);
  border:1px solid var(--border);
}
.efv-modal-mini-label{
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--faint);
}
.efv-modal-mini-val{
  margin-top:3px;
  font-size:14px;
  font-weight:900;
  color:var(--text);
}
.efv-modal-mini-val.accent{color:var(--accent)}
.efv-modal-footer{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:18px 24px 22px;
}
.efv-modal-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 18px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.01em;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.efv-modal-btn.cancel{
  background:var(--surface2);
  color:var(--muted);
  border:1px solid var(--border);
}
.efv-modal-btn.cancel:hover{
  color:var(--text);
  border-color:var(--border2);
  transform:translateY(-1px);
}
.efv-modal-btn.confirm{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  border:1px solid rgba(34,197,94,.28);
  box-shadow:0 8px 22px rgba(34,197,94,.20);
}
.efv-modal-btn.confirm:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(34,197,94,.26);
}
.efv-modal-btn.primary{
  background:linear-gradient(135deg,var(--accent),var(--accent-hover));
  color:#fff;
  border:1px solid var(--accent-border);
  box-shadow:0 8px 22px var(--accent-glow);
}
.efv-modal-btn.primary:hover{transform:translateY(-1px)}
@keyframes efvOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes efvModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:560px){
  .efv-modal-footer{flex-direction:column-reverse}
  .efv-modal-btn{width:100%}
  .efv-modal-summary{grid-template-columns:1fr}
}
