        :root{
            --toast-gap: .5rem;
            --toast-radius: 0;
            --toast-z: 1080;
            --toast-shadow: 10px 10px 25px 2px rgba(0,0,0,.25);

    --toast-shadow-1:0 18px 35px rgba(0,0,0,.28);
    --toast-shadow-2:0 6px 12px rgba(0,0,0,.18);

            --toast-bg: #fff;
            --toast-fg: #111;
            --toast-success: #16a34a;
            --toast-info: #2563eb;
            --toast-warn: #d97706;
            --toast-error: #dc2626;
        }
        .toast-stack{
            position: fixed;
            z-index: var(--toast-z);
            display:flex; flex-direction:column; gap:var(--toast-gap);
            pointer-events:none;
        }
        .toast-stack.top-right   { top: 1rem; right: 1rem; align-items:flex-end; }
        .toast-stack.top-left    { top: 1rem; left:  1rem; align-items:flex-start; }
        .toast-stack.bottom-right{ bottom:1rem; right:1rem; align-items:flex-end; }
        .toast-stack.bottom-left { bottom:1rem; left: 1rem; align-items:flex-start; }

        .toast{
            pointer-events:auto;
            background:var(--toast-bg);
            color:var(--toast-fg);
            border-radius:var(--toast-radius);
            /*box-shadow:var(--toast-shadow);*/
            box-shadow:var(--toast-shadow-1), var(--toast-shadow-2);
            min-width: 260px; max-width: 420px;
            overflow:hidden;
            opacity:0; transform:translateY(-6px) scale(.98);
            transition:opacity .12s ease, transform .12s ease;
        }
        .toast.show{ opacity:1; transform:translateY(0) scale(1); }
        .toast__bar{
            height: 3px; width:100%; background:var(--toast-bg);
        }
        .toast__bar>i{
            display:block; height:100%; width:100%;
            transform-origin:left;
            background: currentColor;
            animation-timing-function: linear;
        }
        .toast__body{
            display:flex; gap:.75rem; padding:.75rem .85rem .85rem .85rem;
        }
        .toast__icon{
            flex:0 0 auto;margin-top:4px;
            font-size:1.05rem;line-height:1;opacity:.95; /* FA-иконка наследует currentColor */
        }
        .toast__content{ flex:1 1 auto; }
        .toast__title{ font-weight:600; margin:0 0 .125rem 0; font-size:.95rem; }
        .toast__msg{ margin:0; font-size:.92rem; opacity:.95; white-space:pre-wrap; }
        .toast__close{
            appearance:none; border:0; background:transparent; color:inherit;
            font-size:1.1rem; line-height:1; opacity:.65; cursor:pointer;
        }
        .toast--success { color: var(--toast-success); }
        .toast--info    { color: var(--toast-info); }
        .toast--warn    { color: var(--toast-warn); }
        .toast--error   { color: var(--toast-error); }
