/* Royal Space — Menu de contexto próprio e aviso (toast) */
.rs-ctx {
  position: fixed; z-index: 1000; min-width: 250px; max-width: calc(100vw - 16px);
  padding: 8px; border-radius: 18px; background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 24px 60px -18px rgba(4, 24, 90, .45), 0 0 0 1px rgba(4, 24, 90, .08);
  font-family: 'Montserrat', system-ui, sans-serif;
  opacity: 0; scale: .96; translate: 0 -4px;
  transition: opacity .16s cubic-bezier(.22, 1, .36, 1), scale .2s cubic-bezier(.22, 1, .36, 1), translate .2s cubic-bezier(.22, 1, .36, 1);
}
.rs-ctx.is-open { opacity: 1; scale: 1; translate: 0 0; }
.rs-ctx-head { display: flex; align-items: center; gap: 10px; padding: 8px 10px 10px; font-weight: 800; font-size: .82rem; color: var(--blue-900, #04185a); letter-spacing: .02em; }
.rs-ctx-head img { width: 22px; height: 22px; border-radius: 6px; }
.rs-ctx-item {
  display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 12px;
  font: inherit; font-size: .88rem; font-weight: 600; color: var(--ink, #0e1330); text-align: left;
  background: none; border: 0; cursor: pointer; text-decoration: none;
}
.rs-ctx-item svg { width: 18px; height: 18px; color: var(--blue, #023cc8); flex: none; }
.rs-ctx-item:hover, .rs-ctx-item:focus-visible { background: var(--blue, #023cc8); color: #fff; outline: none; }
.rs-ctx-item:hover svg, .rs-ctx-item:focus-visible svg { color: var(--yellow, #f5b501); }
.rs-ctx-sep { height: 1px; margin: 6px 8px; background: var(--line, #e4e7f1); }

.rs-toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 1001; translate: -50% 20px;
  padding: 12px 20px; border-radius: 999px; background: var(--blue-900, #04185a); color: #fff;
  font: 600 .88rem 'Montserrat', system-ui, sans-serif; box-shadow: 0 16px 40px -14px rgba(4, 24, 90, .6);
  opacity: 0; pointer-events: none;
  transition: opacity .25s cubic-bezier(.22, 1, .36, 1), translate .35s cubic-bezier(.22, 1, .36, 1);
}
.rs-toast.is-visible { opacity: 1; translate: -50% 0; }

@media (prefers-reduced-motion: reduce) {
  .rs-ctx, .rs-toast { transition: none; scale: 1; translate: 0 0; }
  .rs-toast { translate: -50% 0; }
}
