/* ==========================================================
   Felugró értesítések ("blobok") + megerősítő ablak (js/core/ui.js)
   A weboldal és az admin oldal is használja.
   ========================================================== */

.toasts {
  position: fixed; z-index: 3000;
  right: 20px; bottom: 20px;
  display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
  pointer-events: none;
  max-width: min(420px, calc(100vw - 32px));
}
.toast-blob {
  pointer-events: auto;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 8px 10px 14px;
  border-radius: 16px;
  background: rgba(24, 24, 30, .96);
  border: 1px solid var(--line-2);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  color: var(--text); font-size: 14px; font-weight: 500; line-height: 1.4;
  animation: toast-in .28s var(--ease) both;
}
.toast-blob.is-out { animation: toast-out .2s ease both; }
.toast-blob span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.toast-blob svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.toast-blob button {
  width: 26px; height: 26px; flex-shrink: 0; border-radius: 50%;
  display: grid; place-items: center;
  color: var(--text-3); font-size: 18px; line-height: 1; background: none; border: 0; cursor: pointer;
}
.toast-blob button:hover { color: var(--text); background: rgba(255, 255, 255, .08); }
.toast-blob.is-ok svg { color: var(--ok); }
.toast-blob.is-info svg { color: var(--text-2); }
.toast-blob.is-error { border-color: rgba(229, 72, 77, .45); }
.toast-blob.is-error svg { color: var(--accent-2); }
.toast-spin {
  width: 16px; height: 16px; margin: 2px; flex-shrink: 0; border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .2); border-top-color: var(--accent);
  animation: spin .8s linear infinite;
}
@keyframes toast-in { from { opacity: 0; transform: translateY(12px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes toast-out { to { opacity: 0; transform: translateX(16px); } }

/* telefonon / keskeny ablakban: alul középen, az alsó menüsor fölött */
@media (max-width: 959px) {
  .toasts { left: 16px; right: 16px; bottom: calc(var(--tabbar-h, 0px) + 12px + env(safe-area-inset-bottom)); align-items: stretch; max-width: none; }
}

/* ---------- megerősítő ablak ---------- */
.ui-confirm { position: fixed; inset: 0; z-index: 3100; display: grid; place-items: center; padding: 16px; }
.ui-confirm-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); animation: fade-in .2s both; }
.ui-confirm-card {
  position: relative; width: min(400px, 100%);
  padding: 22px; border-radius: var(--r-xl);
  background: var(--surface); border: 1px solid var(--line-2); box-shadow: var(--shadow);
  animation: rise .22s var(--ease) both;
}
.ui-confirm-card h2 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.ui-confirm-card p { color: var(--text-2); line-height: 1.5; white-space: pre-line; }
.ui-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.btn-danger { background: var(--accent); color: #fff; }
.btn-danger:hover { background: var(--accent-2); }
@keyframes fade-in { from { opacity: 0; } }
