/* Indicador transversal RAWA: feedback discreto de operacoes reais. */
.rawa-busy-indicator {
  position: fixed; right: 24px; bottom: max(24px, env(safe-area-inset-bottom, 0px));
  z-index: 9000; display: inline-flex; align-items: center; gap: 10px;
  max-width: min(350px, calc(100vw - 30px)); padding: 11px 15px;
  border: 1px solid #d9e5f4; border-radius: 14px;
  background: rgba(255,255,255,.98); color: #254d80;
  box-shadow: 0 12px 38px rgba(12,37,72,.15);
  font: 650 12px/1.4 Inter, "Segoe UI", Arial, sans-serif;
  pointer-events: none;
}
.rawa-busy-indicator[hidden] { display: none !important; }
.rawa-busy-gear { display: inline-flex; width: 22px; height: 22px; flex: 0 0 22px; color: #2775dc; animation: rawa-gear-turn 2.2s linear infinite; }
.rawa-busy-gear svg { display: block; width: 100%; height: 100%; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.rawa-busy-text { white-space: normal; overflow-wrap: anywhere; }
@keyframes rawa-gear-turn { to { transform: rotate(360deg); } }
.page-loading .spinner {
  width: 32px; height: 32px; border: 0; border-radius: 0;
  background: none; box-shadow: none; animation: rawa-gear-turn 2.2s linear infinite;
}
.page-loading .spinner svg { width: 100%; height: 100%; color: #2775dc; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
@media(max-width:650px) {
  .rawa-busy-indicator { right: 15px; bottom: max(16px, env(safe-area-inset-bottom, 0px)); padding: 10px 13px; }
}
@media(prefers-reduced-motion:reduce) {
  .rawa-busy-gear,.page-loading .spinner { animation: none !important; }
}
