/* EVPL PRO.23 - Pacote profissional: aplicar sem tela de loading + UX refinada */
:root{
  --evpl-pro23-radius: 14px;
  --evpl-pro23-shadow: 0 12px 30px rgba(15,23,42,.12);
  --evpl-pro23-border: rgba(15,23,42,.12);
  --evpl-pro23-soft: rgba(15,23,42,.055);
}

body.evpl-applying-lite #loader,
body.evpl-applying-lite .loader,
body.evpl-applying-lite #skeleton,
body.evpl-applying-lite .skeleton,
body.evpl-applying-lite [data-loading="true"]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

body.evpl-pro23 #btnApply{
  isolation:isolate;
  min-width:112px;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
body.evpl-pro23 #btnApply:hover{ transform:translateY(-1px); }
body.evpl-pro23 #btnApply.evpl-pro23-working{
  cursor:progress;
  filter:saturate(1.05);
  box-shadow:0 0 0 4px rgba(59,130,246,.14), var(--evpl-pro23-shadow);
}
body.evpl-pro23 #btnApply.evpl-pro23-done{
  box-shadow:0 0 0 4px rgba(34,197,94,.16), var(--evpl-pro23-shadow);
}
body.evpl-pro23 #btnApply.evpl-pro23-working::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  transform:translateX(-110%);
  animation:evplPro23Sweep 1.1s linear infinite;
  z-index:-1;
}
@keyframes evplPro23Sweep{ to{ transform:translateX(110%); } }

#evplPro23Chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:6px;
  padding:3px 9px;
  border:1px solid var(--evpl-pro23-border);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#334155;
  font-size:11px;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 5px 16px rgba(15,23,42,.08);
}
#evplPro23Chip::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.13);
}
body.evpl-applying-lite #evplPro23Chip::before{
  background:#3b82f6;
  box-shadow:0 0 0 4px rgba(59,130,246,.16);
}

#evplPro23Live{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

body.evpl-pro23 .table-wrap{
  border-radius:var(--evpl-pro23-radius);
  border:1px solid var(--evpl-pro23-border);
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  background:#fff;
}
body.evpl-pro23 .table-wrap table thead th{
  position:sticky;
  top:0;
  z-index:5;
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(15,23,42,.08);
}
body.evpl-pro23 table td,
body.evpl-pro23 table th{
  vertical-align:middle;
}
body.evpl-pro23 table td.evpl-num,
body.evpl-pro23 table th.evpl-num{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
body.evpl-pro23 table td.evpl-zero{ color:#94a3b8; }
body.evpl-pro23 table td.evpl-neg{ color:#b91c1c; font-weight:700; }
body.evpl-pro23 table td[title]{ cursor:help; }

body.evpl-pro23 .ms332-menu{
  border-radius:16px!important;
  box-shadow:0 22px 55px rgba(15,23,42,.18)!important;
}
body.evpl-pro23 .ms332-actions .btn.apply{
  min-width:94px;
}
body.evpl-pro23 .ms332-actions .btn.apply::after{
  content:" sem tela";
  font-size:10px;
  opacity:.72;
}

body.evpl-pro23 button:focus-visible,
body.evpl-pro23 input:focus-visible,
body.evpl-pro23 select:focus-visible,
body.evpl-pro23 a:focus-visible{
  outline:3px solid rgba(37,99,235,.32)!important;
  outline-offset:2px!important;
}

body.evpl-pro23 .toast.show{
  border-radius:14px;
  box-shadow:var(--evpl-pro23-shadow);
}

@media (max-width: 820px){
  #evplPro23Chip{ display:flex; width:max-content; margin-top:4px; }
  body.evpl-pro23 #btnApply{ min-width:104px; }
}
@media (prefers-reduced-motion: reduce){
  body.evpl-pro23 #btnApply,
  body.evpl-pro23 #btnApply::before{
    animation:none!important;
    transition:none!important;
  }
}
