/* Shared toast notifications (public + admin) */
.lfp-toast-wrap {
    position: fixed; top: 18px; right: 18px; z-index: 1085;
    display: flex; flex-direction: column; gap: 10px; max-width: min(360px, calc(100vw - 24px));
}
.lfp-toast {
    display: flex; align-items: flex-start; gap: 10px;
    background: #fff; color: #1f2933; border-radius: 12px; padding: 12px 14px;
    box-shadow: 0 12px 32px rgba(11, 37, 69, .18); border-left: 4px solid #0B2545;
    transform: translateX(120%); opacity: 0; transition: transform .35s ease, opacity .35s ease;
}
.lfp-toast.show { transform: translateX(0); opacity: 1; }
.lfp-toast .ico { font-size: 1.2rem; line-height: 1.4; }
.lfp-toast .msg { flex: 1; font-size: .9rem; line-height: 1.35; word-break: break-word; }
.lfp-toast .x { background: none; border: 0; color: #9aa5b1; font-size: 1rem; line-height: 1; cursor: pointer; padding: 0; }
.lfp-toast.t-success { border-left-color: #2e7d32; } .lfp-toast.t-success .ico { color: #2e7d32; }
.lfp-toast.t-error { border-left-color: #c62828; } .lfp-toast.t-error .ico { color: #c62828; }
.lfp-toast.t-warning { border-left-color: #C9A24B; } .lfp-toast.t-warning .ico { color: #b8923f; }
.lfp-toast.t-info { border-left-color: #0B2545; } .lfp-toast.t-info .ico { color: #0B2545; }

@media (max-width: 575.98px) {
    .lfp-toast-wrap { top: auto; bottom: 14px; right: 12px; left: 12px; max-width: none; }
    .lfp-toast { transform: translateY(140%); }
    .lfp-toast.show { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .lfp-toast { transition: opacity .2s ease; transform: none; }
}
