/* JMV Toasts: simples notificações front-end agradáveis */
.jmv-toast-container {
    position: fixed;
    top: 16px;
    right: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 99999;
    pointer-events: none;
}

.jmv-toast {
    pointer-events: auto;
    min-width: 260px;
    max-width: 360px;
    background: #fff;
    color: #222;
    border-radius: 10px;
    padding: 12px 14px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 0.95rem;
    border-left: 6px solid transparent;
    transform: translateX(12px);
    opacity: 0;
    transition: transform 260ms cubic-bezier(.22,.9,.32,1), opacity 260ms ease;
}

.jmv-toast.show {
    transform: translateX(0);
    opacity: 1;
}

.jmv-toast .jmv-toast-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: white;
    flex: 0 0 36px;
}

.jmv-toast .jmv-toast-body { flex: 1 1 auto; }
.jmv-toast .jmv-toast-close { margin-left: 8px; cursor: pointer; color: #666; font-size: 0.95rem; }

.jmv-toast--success { border-left-color: #28a745; }
.jmv-toast--success .jmv-toast-icon { background: #28a745; }
.jmv-toast--error { border-left-color: #d93025; }
.jmv-toast--error .jmv-toast-icon { background: #d93025; }
.jmv-toast--warning { border-left-color: #ff9800; }
.jmv-toast--warning .jmv-toast-icon { background: #ff9800; }
.jmv-toast--info { border-left-color: #1976d2; }
.jmv-toast--info .jmv-toast-icon { background: #1976d2; }

@media (max-width: 600px) {
    .jmv-toast-container { left: 8px; right: 8px; top: 12px; }
    .jmv-toast { max-width: 100%; min-width: 0; }
}
