/* Overlays. A modal dims to say "finish this first"; a non-blocking panel never dims. */
.orka-scrim { position: fixed; inset: 0; background: var(--scrim); animation: orka-fade var(--transition-base); }
@keyframes orka-fade { from { opacity: 0; } }

.orka-dialog-layer { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: var(--space-5); }
.orka-dialog {
  position: relative; width: min(480px, 100%); padding: var(--space-5);
  border-radius: var(--radius-lg); background: var(--bg-surface);
  border: 1px solid var(--border-subtle); box-shadow: var(--shadow-xl); color: var(--text-primary);
  transform-origin: var(--orka-origin, 50% 50%);
  animation: orka-pop var(--dur-slow) var(--ease-orka);
}
@keyframes orka-pop { from { opacity: 0; transform: scale(0.96) translateY(6px); } }
.orka-dialog--wide { width: min(720px, 100%); }
.orka-dialog__title { font-size: var(--type-h4-size); font-weight: var(--fw-bold); letter-spacing: var(--type-h4-tracking); }
.orka-dialog__body { margin-top: var(--space-2); font-size: var(--fs-base); line-height: var(--type-body-leading); color: var(--text-secondary); }
.orka-dialog__actions { display: flex; gap: var(--space-2); justify-content: flex-end; margin-top: var(--space-5); }

.orka-toast-layer { position: fixed; z-index: 80; display: flex; flex-direction: column; gap: var(--space-2); pointer-events: none; padding: var(--space-5); }
.orka-toast-layer--bottom-center { inset: auto 0 0 0; align-items: center; }
.orka-toast-layer--top-right { inset: 0 0 auto auto; align-items: flex-end; }
.orka-toast {
  pointer-events: auto; display: flex; align-items: center; gap: var(--space-2-5);
  min-width: 280px; max-width: 420px; padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md); background: var(--bg-inverse); color: var(--bg-on-inverse);
  box-shadow: var(--shadow-xl); font-size: var(--fs-sm);
  animation: orka-toast-in var(--dur-slow) var(--ease-orka);
}
@keyframes orka-toast-in { from { opacity: 0; transform: translateY(10px) scale(0.97); } }
.orka-toast--leaving { animation: orka-toast-out var(--dur-fast) var(--ease-in) forwards; }
@keyframes orka-toast-out { to { opacity: 0; transform: translateY(10px) scale(0.97); } }
.orka-toast__icon { flex: none; display: flex; }
.orka-toast__icon svg { width: var(--icon-md); height: var(--icon-md); }
.orka-toast--success .orka-toast__icon { color: #4BD49E; }
.orka-toast--warning .orka-toast__icon { color: #E4B25C; }
.orka-toast--error .orka-toast__icon { color: #F08C84; }
.orka-toast__text { flex: 1; display: flex; flex-direction: column; }
.orka-toast__title { font-weight: var(--fw-semibold); }
.orka-toast__desc { font-size: var(--fs-2xs); opacity: var(--opacity-87); }
.orka-toast .orka-btn--ghost { color: var(--bg-on-inverse); }
.orka-toast .orka-btn--ghost:hover { background: rgb(255 255 255 / var(--opacity-12)); color: var(--bg-on-inverse); }

.orka-tooltip-anchor { position: relative; display: inline-flex; }
.orka-tooltip {
  position: absolute; z-index: 90; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%);
  white-space: nowrap; pointer-events: none; padding: 5px var(--space-2-5);
  border-radius: var(--radius-xs); background: var(--bg-inverse); color: var(--bg-on-inverse);
  font-size: var(--fs-2xs); font-weight: var(--fw-medium); box-shadow: var(--shadow-md);
  transform-origin: 50% 100%; animation: orka-tip var(--dur-fast) var(--ease-orka);
}
.orka-tooltip--bottom { top: calc(100% + 6px); bottom: auto; transform-origin: 50% 0%; }
@keyframes orka-tip { from { opacity: 0; transform: translateX(-50%) scale(0.94); } }

.orka-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
