/* The page-wide "working on it" overlay (x-page-loader). Brand colours are
   written out rather than read from a stylesheet's variables, because the
   storefront, the dashboards and the console each define their own. */
.tq-loader{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;
  background:rgba(244,247,251,.62);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  opacity:0;transition:opacity .18s ease}
.tq-loader[hidden]{display:none}
.tq-loader.on{opacity:1}
.tq-loader-card{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:150px;max-width:min(80vw,320px);
  padding:22px 26px;border-radius:16px;background:#fff;border:1px solid #e3eaf2;
  box-shadow:0 18px 44px rgba(12,59,104,.18);text-align:center}
.tq-loader-ring{width:44px;height:44px;border-radius:50%;
  border:4px solid #e6eef7;border-top-color:#ee7a2b;border-right-color:#1c7ac4;
  animation:tq-loader-spin .8s linear infinite}
.tq-loader-text{font:600 13.5px/1.4 "Segoe UI",-apple-system,Roboto,Arial,sans-serif;color:#0c3b68}
@keyframes tq-loader-spin{to{transform:rotate(360deg)}}
/* Asked for less motion: a slow pulse instead of a spin — still says "busy". */
@media (prefers-reduced-motion: reduce){
  .tq-loader-ring{animation:tq-loader-pulse 1.6s ease-in-out infinite}
  @keyframes tq-loader-pulse{50%{opacity:.35}}
}
