/* Toast notifications — brand-styled, top-right (desktop) / bottom (mobile). */
.toast-stack { position: fixed; top: 1.2rem; right: 1.2rem; z-index: 2000; display: flex; flex-direction: column; gap: .6rem; max-width: 360px; pointer-events: none; }
.aic-toast {
    pointer-events: auto;
    background: #FCFAF5; color: #14110F; border: 1px solid #E7DFD1; border-left: 3px solid #C9A86A;
    box-shadow: 0 10px 30px rgba(20,17,15,.18);
    padding: .85rem 1rem; display: flex; align-items: flex-start; gap: .7rem;
    transform: translateX(120%); opacity: 0; transition: transform .38s cubic-bezier(.21,.9,.31,1), opacity .38s ease;
    font-size: .92rem;
}
.aic-toast.show { transform: translateX(0); opacity: 1; }
.aic-toast .toast-icon { font-size: 1.1rem; line-height: 1.4; }
.aic-toast .toast-msg { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.aic-toast .toast-close { background: none; border: none; cursor: pointer; color: #8C8276; font-size: 1rem; line-height: 1; padding: 0 .1rem; }
.aic-toast.success { border-left-color: #2E7D52; }
.aic-toast.success .toast-icon { color: #2E7D52; }
.aic-toast.error { border-left-color: #C0392B; }
.aic-toast.error .toast-icon { color: #C0392B; }
.aic-toast.warning { border-left-color: #C9A86A; }
.aic-toast.warning .toast-icon { color: #A9844A; }
.aic-toast.info { border-left-color: #14110F; }
.aic-toast.info .toast-icon { color: #14110F; }

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