.ft-notifications {position: fixed;right: max(24px, env(safe-area-inset-right));bottom: calc(24px + env(safe-area-inset-bottom));width: 380px;max-width: calc(100vw - 32px);max-height: calc(100dvh - 48px - env(safe-area-inset-bottom));overflow-y: auto;overscroll-behavior: contain;z-index: 1080;pointer-events: none;}
.ft-notifications__stack {display: flex;flex-direction: column;gap: 10px;padding: 3px;}
.ft-notification {position: relative;display: flex;align-items: flex-start;gap: 12px;flex-shrink: 0;padding: 16px 12px 19px 16px;pointer-events: auto;animation: ft-notification-in .22s ease-out;}



.ft-notification__icon {display: grid;place-items: center;flex: 0 0 38px;height: 38px;}
.ft-notification__body {flex: 1;min-width: 0;}
.ft-notification__close[hidden] {display: none;}
.ft-notification__actions {display: flex;flex-wrap: wrap;gap: 8px;margin-top: 8px;}
.ft-notification__action {padding: 6px 0;cursor: pointer;}
.ft-notification__action:disabled {opacity: .6;cursor: wait;}
.ft-notification__title {margin: 0;overflow-wrap: anywhere;}
.ft-notification__message {margin: 3px 0 0;white-space: pre-line;overflow-wrap: anywhere;}
.ft-notification__close {display: grid;place-items: center;flex: 0 0 32px;height: 32px;padding: 0;cursor: pointer;}
.ft-notification__progress {position: absolute;bottom: 0;left: 0;right: 0;height: 3px;overflow: hidden;}
.ft-notification__progress-fill {display: block;height: 100%;transform-origin: left;}
.ft-notifications__announcement {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;}
@keyframes ft-notification-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 520px) {
.ft-notifications {right: max(12px, env(safe-area-inset-right));left: max(12px, env(safe-area-inset-left));bottom: calc(12px + env(safe-area-inset-bottom));width: auto;max-width: none;max-height: calc(100dvh - 80px - env(safe-area-inset-bottom));}
}
@media (prefers-reduced-motion: reduce) {
.ft-notification {animation: none;} }
@media print { .ft-notifications, .ft-notifications__announcement { display: none; } }
