.toast-root {
                position: fixed;
                left: 50%;
                bottom: 18px;
                transform: translateX(-50%);
                display: flex;
                flex-direction: column;
                gap: 10px;
                z-index: 99999;
                pointer-events: none;
                max-width: min(92vw, 540px);
            }
            .toast {
                display: grid;
                grid-template-columns: 28px 1fr auto;
                gap: 12px;
                background: #0b1220;
                color: #eef3ff;
                border: 1px solid rgba(255, 255, 255, 0.08);
                padding: 12px 14px;
                border-radius: 12px;
                box-shadow: 0 10px 30px rgba(10, 10, 20, 0.35);
                pointer-events: auto;
                overflow: hidden;
            }
            .toast .ico {
                align-self: start;
                margin-top: 2px;
            }
            .toast .ttl {
                font-weight: 700;
                line-height: 1.25;
                font-size: 14px;
                margin-bottom: 4px;
            }
            .toast .msg {
                opacity: 0.95;
                line-height: 1.45;
                font-size: 13px;
            }
            .toast .actions {
                display: flex;
                gap: 8px;
                align-self: center;
            }
            .toast .btn {
                background: #0ea5e9;
                color: #fff;
                border: 0;
                border-radius: 999px;
                padding: 8px 12px;
                font-size: 12px;
                font-weight: 700;
                cursor: pointer;
            }
            .toast .btn.alt {
                background: transparent;
                color: #8fb5ff;
                border: 1px solid rgba(143, 181, 255, 0.35);
            }
            .toast .close {
                background: transparent;
                border: 0;
                color: #98a2b3;
                cursor: pointer;
                padding: 4px;
                margin-left: 6px;
            }
            .toast.success {
                border-left: 4px solid #22c55e;
            }
            .toast.info {
                border-left: 4px solid #0ea5e9;
            }
            .toast.warn {
                border-left: 4px solid #f59e0b;
            }
            .toast .progress {
                position: absolute;
                left: 0;
                bottom: 0;
                height: 3px;
                background: linear-gradient(90deg, #60a5fa, #22c55e);
                width: 100%;
                transform-origin: left;
                animation: toastBar linear forwards;
            }
            @keyframes toastBar {
                from {
                    transform: scaleX(1);
                }
                to {
                    transform: scaleX(0);
                }
            }
            @media (max-width: 640px) {
                .toast {
                    grid-template-columns: 24px 1fr auto;
                    padding: 12px;
                }
                .toast .btn {
                    padding: 7px 10px;
                }
            }

.toast .msg {
                word-break: break-word;
                overflow-wrap: anywhere;
            }

            .toast-root {
                bottom: max(12px, env(safe-area-inset-bottom, 12px));
            }

            @media (max-width: 540px) {
                .toast-root {
                    left: 0;
                    right: 0;
                    transform: none;
                    padding: 0 12px;
                    bottom: calc(max(12px, env(safe-area-inset-bottom, 12px)) + var(--fab-offset, 72px));
                    max-width: none;
                }
                .toast {
                    grid-template-columns: 1fr; /* 1 kolom */
                    position: relative;
                    padding: 14px 14px 12px 14px;
                    border-radius: 16px;
                }
                .toast .ico {
                    position: absolute;
                    left: 14px;
                    top: 14px;
                    margin: 0;
                    transform: translateY(1px);
                }
                .toast .cnt {
                    padding-left: 34px;
                }
                .toast .ttl {
                    font-size: 15px;
                    margin-bottom: 6px;
                }
                .toast .msg {
                    font-size: 13px;
                    opacity: 0.96;
                }
                .toast .actions {
                    margin-top: 12px;
                    gap: 10px;
                    width: 100%;
                    display: grid;
                    grid-template-columns: 1fr 1fr;
                }
                .toast .btn {
                    width: 100%;
                    min-width: 0;
                    padding: 10px 0;
                }
                .toast .close {
                    position: absolute;
                    right: 6px;
                    top: 6px;
                }
            }