/* AutoSadra global request feedback overlay */
:root{
  --global-wait-bg:rgba(15,23,42,.56);
  --global-wait-card:#fff;
  --global-wait-text:#0f2748;
  --global-wait-muted:#64748b;
  --global-wait-accent:#0f4c81;
}

html.global-wait-active,
html.global-wait-active body{
  overflow:hidden !important;
}

.global-wait-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:20px;
  background:var(--global-wait-bg);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,visibility .16s ease;
}

.global-wait-overlay.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:all;
}

.global-wait-card{
  width:min(92vw,360px);
  min-height:176px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:26px 24px 22px;
  border:1px solid rgba(148,163,184,.34);
  border-radius:24px;
  background:var(--global-wait-card);
  color:var(--global-wait-text);
  box-shadow:0 28px 80px rgba(15,23,42,.28);
  text-align:center;
  direction:rtl;
  transform:translateY(7px) scale(.985);
  transition:transform .18s ease;
}

.global-wait-overlay.is-visible .global-wait-card{
  transform:translateY(0) scale(1);
}

.global-wait-spinner{
  position:relative;
  width:54px;
  height:54px;
  border-radius:50%;
  background:conic-gradient(from 30deg,transparent 0 18%,var(--global-wait-accent) 18% 72%,transparent 72% 100%);
  animation:globalWaitSpin .82s linear infinite;
}

.global-wait-spinner::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:inherit;
  background:var(--global-wait-card);
}

.global-wait-spinner::after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  top:2px;
  left:22px;
  border-radius:50%;
  background:var(--global-wait-accent);
  box-shadow:0 0 0 4px rgba(15,76,129,.12);
}

.global-wait-title{
  margin:0;
  font:800 17px/1.6 inherit;
  color:var(--global-wait-text);
}

.global-wait-message{
  margin:0;
  min-height:24px;
  font:600 13px/1.8 inherit;
  color:var(--global-wait-muted);
}

.global-wait-progress{
  width:min(230px,76%);
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:#e7edf5;
}

.global-wait-progress::after{
  content:"";
  display:block;
  width:38%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,transparent,var(--global-wait-accent),transparent);
  animation:globalWaitProgress 1.15s ease-in-out infinite;
}

.global-wait-trigger[aria-busy="true"]{
  pointer-events:none !important;
  cursor:wait !important;
  opacity:.72;
}

@keyframes globalWaitSpin{to{transform:rotate(1turn)}}
@keyframes globalWaitProgress{
  0%{transform:translateX(180%)}
  100%{transform:translateX(-360%)}
}

@media (max-width:600px){
  .global-wait-overlay{padding:14px}
  .global-wait-card{width:min(94vw,340px);min-height:164px;border-radius:20px;padding:23px 18px 20px}
  .global-wait-spinner{width:48px;height:48px}
  .global-wait-title{font-size:16px}
}

@media (prefers-reduced-motion:reduce){
  .global-wait-overlay,.global-wait-card{transition:none}
  .global-wait-spinner,.global-wait-progress::after{animation-duration:1.8s}
}

@media print{
  .global-wait-overlay{display:none !important}
}
