.notificatore-contenitore {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 400px;
    width: calc(100% - 4rem);
}

.notifica-toast {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    border-radius: var(--radius-lg);
    box-shadow: var(--elevation-3);
    border: 1px solid rgba(0, 0, 0, 0.1);
    color: var(--md-sys-color-on-surface);
    background-color: var(--md-sys-color-surface-container-lowest);
}

.notifica-toast.successo {
    background-color: var(--sys-color-success-bg);
    color: var(--sys-color-success-text);
    border-color: rgba(30, 70, 32, 0.2);
}
.notifica-toast.errore {
    background-color: var(--sys-color-critical-bg);
    color: var(--sys-color-critical-text);
    border-color: rgba(127, 29, 29, 0.2);
}
.notifica-toast.info {
    background-color: var(--sys-color-info-bg);
    color: var(--sys-color-info-text);
    border-color: rgba(13, 71, 161, 0.2);
}
.notifica-toast.attenzione {
    background-color: var(--sys-color-warning-bg);
    color: var(--sys-color-warning-text);
    border-color: rgba(111, 76, 10, 0.2);
}

.notifica-icona {
    font-size: 1.5rem;
    margin-top: 2px;
}

.notifica-toast.successo .notifica-icona { color: #2E7D32; }
.notifica-toast.errore .notifica-icona { color: #B71C1C; }
.notifica-toast.info .notifica-icona { color: #0D47A1; }
.notifica-toast.attenzione .notifica-icona { color: #F57F17; }

.notifica-messaggio {
    flex-grow: 1;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.5;
}

.notifica-chiudi {
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    padding: 0;
    margin-left: auto;
}
.notifica-chiudi:hover {
    opacity: 1;
}

.notifica-toast.an-entrata {
    animation: entrataToast var(--motion-duration-medium) var(--motion-easing-expressive) forwards;
}

.notifica-toast.an-uscita {
    animation: uscitaToast var(--motion-duration-medium) var(--motion-easing-expressive) forwards;
}

@keyframes entrataToast {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes uscitaToast {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}