/* AHU-EGA UI POLISH STAGE 2 - interaction layer only */
.ui2-busy {
  position: relative;
  pointer-events: none !important;
  opacity: .78 !important;
  cursor: wait !important;
}
.ui2-busy::before,
.ui2-click-busy::before {
  content: "";
  display: inline-block;
  width: .9em;
  height: .9em;
  margin-right: .55em;
  vertical-align: -.08em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: ui2-spin .72s linear infinite;
}
.ui2-click-busy { opacity: .82; }
@keyframes ui2-spin { to { transform: rotate(360deg); } }

.ui2-live {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 100000;
  display: grid;
  gap: 8px;
  width: min(360px, calc(100vw - 32px));
  pointer-events: none;
}
.ui2-toast {
  padding: 12px 14px;
  border: 1px solid var(--ui-edge, rgba(148,163,184,.30));
  border-radius: 14px;
  background: var(--ui-surface, rgba(255,255,255,.97));
  color: var(--ui-ink, #0f172a);
  box-shadow: 0 14px 36px rgba(15,23,42,.16);
  font: 800 13px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  transform: translateY(8px);
  opacity: 0;
  transition: .18s ease;
}
.ui2-toast.show { transform: none; opacity: 1; }

.ui2-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(15,23,42,.48);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.ui2-modal-backdrop.open { display: flex; }
.ui2-modal {
  width: min(460px, 100%);
  border: 1px solid var(--ui-edge, rgba(148,163,184,.28));
  border-radius: 22px;
  background: var(--ui-surface, #fff);
  color: var(--ui-ink, #0f172a);
  box-shadow: 0 24px 70px rgba(15,23,42,.28);
  overflow: hidden;
}
.ui2-modal-head { padding: 20px 20px 8px; }
.ui2-modal-title { margin: 0; font: 950 19px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
.ui2-modal-body { padding: 8px 20px 18px; color: var(--ui-muted,#64748b); font: 650 14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
.ui2-modal-actions { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px 20px; }
.ui2-modal-actions button {
  appearance: none;
  border: 1px solid var(--ui-edge, rgba(148,163,184,.28));
  border-radius: 12px;
  padding: 10px 14px;
  font: 850 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  cursor: pointer;
  background: var(--ui-surface, #fff);
  color: var(--ui-ink,#0f172a);
}
.ui2-modal-actions .danger { border-color: transparent; background: #dc2626; color: #fff; }
.ui2-modal-actions .primary { border-color: transparent; background: var(--ui-primary,#2563eb); color: #fff; }
.ui2-modal-actions button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ui-primary,#2563eb) 24%, transparent); outline-offset: 2px; }

@media (max-width: 620px) {
  .ui2-live { right: 10px; bottom: 10px; width: calc(100vw - 20px); }
  .ui2-modal-actions { flex-direction: column-reverse; }
  .ui2-modal-actions button { width: 100%; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .ui2-busy::before,.ui2-click-busy::before { animation-duration: 1.4s; }
  .ui2-toast { transition: none; }
}
