/*
 * EEVJuris — notificações globais v2.2.7
 *
 * Padrão visual para todos os toasts Filament da plataforma:
 * cartão branco, faixa lateral semântica, ícone circular, título destacado,
 * corpo secundário e fechamento discreto.
 *
 * Este arquivo é carregado por último para substituir os estilos legados
 * compactos/pastéis sem alterar a lógica das Notification::make().
 */
:root {
    --eev-toast-success: #49c94f;
    --eev-toast-info: #3b82f6;
    --eev-toast-warning: #e5a21a;
    --eev-toast-danger: #e25555;
    --eev-toast-neutral: #7b8794;
    --eev-toast-title: #171717;
    --eev-toast-body: #8a8a8a;
    --eev-toast-border: #e8e8e8;
}

/* Container dos toasts: permanece no canto e aceita cartões maiores. */
body.eev-adminlte-app .fi-no {
    z-index: 210000 !important;
    gap: 0.875rem !important;
}

/* Cartão base — todos os toasts não-inline, sem exceção de status. */
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) {
    position: relative !important;
    width: min(410px, calc(100vw - 32px)) !important;
    max-width: 410px !important;
    min-height: 86px !important;
    padding: 17px 42px 17px 20px !important;
    gap: 14px !important;
    align-items: center !important;
    overflow: hidden !important;
    background: #ffffff !important;
    color: var(--eev-toast-title) !important;
    border: 1px solid var(--eev-toast-border) !important;
    border-left: 4px solid var(--eev-toast-neutral) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.16), 0 2px 8px rgba(15, 23, 42, 0.06) !important;
}

/* Faixa semântica lateral. */
body.eev-adminlte-app .fi-no-notification.fi-status-success:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification.fi-color-success:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-success) {
    border-left-color: var(--eev-toast-success) !important;
}

body.eev-adminlte-app .fi-no-notification.fi-status-info:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification.fi-color-info:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-info) {
    border-left-color: var(--eev-toast-info) !important;
}

body.eev-adminlte-app .fi-no-notification.fi-status-warning:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification.fi-color-warning:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-warning) {
    border-left-color: var(--eev-toast-warning) !important;
}

body.eev-adminlte-app .fi-no-notification.fi-status-danger:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification.fi-color-danger:not(.fi-inline),
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-danger) {
    border-left-color: var(--eev-toast-danger) !important;
}

/* Ícone circular — o próprio SVG Filament recebe fundo e padding. */
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-icon {
    box-sizing: border-box !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    padding: 8px !important;
    border-radius: 999px !important;
    background: var(--eev-toast-neutral) !important;
    color: #ffffff !important;
    stroke: currentColor !important;
}

body.eev-adminlte-app .fi-no-notification.fi-status-success:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification.fi-color-success:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-success) .fi-no-notification-icon {
    background: var(--eev-toast-success) !important;
    color: #ffffff !important;
}

body.eev-adminlte-app .fi-no-notification.fi-status-info:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification.fi-color-info:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-info) .fi-no-notification-icon {
    background: var(--eev-toast-info) !important;
    color: #ffffff !important;
}

body.eev-adminlte-app .fi-no-notification.fi-status-warning:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification.fi-color-warning:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-warning) .fi-no-notification-icon {
    background: var(--eev-toast-warning) !important;
    color: #ffffff !important;
}

body.eev-adminlte-app .fi-no-notification.fi-status-danger:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification.fi-color-danger:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline):has(.fi-color-danger) .fi-no-notification-icon {
    background: var(--eev-toast-danger) !important;
    color: #ffffff !important;
}

/* Conteúdo tipográfico. */
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-main {
    min-width: 0 !important;
    margin-top: 0 !important;
    gap: 8px !important;
    align-self: center !important;
}

body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-text {
    gap: 3px !important;
}

body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-title,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) h3.fi-no-notification-title {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    color: var(--eev-toast-title) !important;
}

body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-body,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-body p,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-date {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    color: var(--eev-toast-body) !important;
}

/* Sobrescreve regras antigas que forçavam todo descendente à cor escura. */
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-icon,
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-icon * {
    color: #ffffff !important;
    stroke: currentColor !important;
}

/* Fechamento discreto no canto superior direito. */
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-close-btn {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    padding: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #b7b7b7 !important;
    opacity: 0.8 !important;
}

body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-close-btn:hover {
    background: #f5f5f5 !important;
    color: #777777 !important;
    opacity: 1 !important;
}

body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-close-btn svg {
    width: 14px !important;
    height: 14px !important;
    color: inherit !important;
    stroke: currentColor !important;
}

/* Ações dentro de toasts permanecem legíveis e proporcionais. */
body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-actions {
    margin-top: 2px !important;
    gap: 8px !important;
}

body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-actions .fi-btn {
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
}

/* Dark mode: mantém contraste sem voltar ao estilo pastel antigo. */
.dark body.eev-adminlte-app .fi-no-notification:not(.fi-inline),
body.eev-adminlte-app.dark .fi-no-notification:not(.fi-inline) {
    background: #202124 !important;
    border-top-color: #34363a !important;
    border-right-color: #34363a !important;
    border-bottom-color: #34363a !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35) !important;
}

.dark body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-title,
body.eev-adminlte-app.dark .fi-no-notification:not(.fi-inline) .fi-no-notification-title {
    color: #f5f5f5 !important;
}

.dark body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-body,
.dark body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-date,
body.eev-adminlte-app.dark .fi-no-notification:not(.fi-inline) .fi-no-notification-body,
body.eev-adminlte-app.dark .fi-no-notification:not(.fi-inline) .fi-no-notification-date {
    color: #b6b6b6 !important;
}

@media (max-width: 640px) {
    body.eev-adminlte-app .fi-no {
        inset: 0.75rem !important;
    }

    body.eev-adminlte-app .fi-no-notification:not(.fi-inline) {
        width: calc(100vw - 24px) !important;
        max-width: none !important;
        min-height: 78px !important;
        padding: 14px 38px 14px 16px !important;
        gap: 12px !important;
    }

    body.eev-adminlte-app .fi-no-notification:not(.fi-inline) .fi-no-notification-icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        flex-basis: 34px !important;
        padding: 7px !important;
    }
}
