/* Central compacta de alertas no topo: a leitura é individual por conta. */
.mj-sino-alertas {
    display: inline-flex;
    align-items: center;
}

.mj-sino-alertas__gatilho {
    position: relative;
    display: inline-flex;
}

.mj-sino-alertas__gatilho .fi-icon-btn {
    min-inline-size: 2.75rem;
    min-block-size: 2.75rem;
}

/* O próprio Filament já fornece um contêiner flutuante. O conteúdo do sino
   é a única superfície visual, evitando o efeito de dois painéis encaixados. */
.mj-sino-alertas__dropdown > .fi-dropdown-panel {
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.mj-sino-alertas__contador {
    position: absolute;
    top: .15rem;
    right: .1rem;
    z-index: 1;
    display: grid;
    min-inline-size: 1.1rem;
    block-size: 1.1rem;
    padding-inline: .18rem;
    place-items: center;
    border: 2px solid var(--body-bg, white);
    border-radius: 999px;
    background: #d9465f;
    color: white;
    font-size: .62rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.mj-sino-alertas__painel {
    width: min(25rem, calc(100vw - 1rem));
    overflow: hidden;
    border: 1px solid rgb(15 23 42 / 10%);
    border-radius: 1rem;
    background: rgb(255 255 255 / 98%);
    box-shadow: 0 1.25rem 3rem -1.35rem rgb(15 23 42 / 38%);
}

.mj-sino-alertas__cabecalho {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    padding: 1rem 1rem .8rem;
    border-bottom: 1px solid rgb(15 23 42 / 8%);
}

.mj-sino-alertas__cabecalho h2,
.mj-sino-alertas__cabecalho p,
.mj-sino-alertas__vazio p {
    margin: 0;
}

.mj-sino-alertas__cabecalho h2 {
    color: #0f2d28;
    font-size: .95rem;
    font-weight: 750;
    line-height: 1.2;
}

.mj-sino-alertas__sobretitulo {
    margin-bottom: .16rem !important;
    color: #13917f;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mj-sino-alertas__ler-todos {
    flex: none;
    border-radius: .55rem;
    color: #107567;
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.2;
    text-align: right;
}

.mj-sino-alertas__ler-todos:hover,
.mj-sino-alertas__ler-todos:focus-visible {
    color: #075a4e;
    text-decoration: underline;
}

.mj-sino-alertas__lista {
    max-block-size: min(31rem, calc(100vh - 10rem));
    overflow-y: auto;
}

.mj-sino-alertas__item {
    position: relative;
    display: flex;
    gap: .7rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid rgb(15 23 42 / 7%);
    background: rgb(19 145 127 / 3%);
    transition: background-color 160ms ease;
}

.mj-sino-alertas__item:hover { background: rgb(19 145 127 / 7%); }
.mj-sino-alertas__item--lido { background: transparent; }
.mj-sino-alertas__item--lido strong { font-weight: 650; }

.mj-sino-alertas__nivel {
    flex: none;
    inline-size: .48rem;
    block-size: .48rem;
    margin-top: .42rem;
    border-radius: 999px;
    background: #0ea5e9;
}

.mj-sino-alertas__nivel--aviso { background: #f59e0b; }
.mj-sino-alertas__nivel--critico { background: #e11d48; }

.mj-sino-alertas__conteudo {
    display: grid;
    min-inline-size: 0;
    flex: 1;
    gap: .27rem;
    color: inherit;
    text-align: left;
}

.mj-sino-alertas__conteudo:focus-visible,
.mj-sino-alertas__ler-todos:focus-visible,
.mj-sino-alertas__ver-todos:focus-visible {
    outline: 3px solid rgb(19 145 127 / 35%);
    outline-offset: 3px;
}

.mj-sino-alertas__linha-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .6rem;
    color: #64748b;
    font-size: .68rem;
    line-height: 1.25;
}

.mj-sino-alertas__linha-meta time {
    flex: none;
    color: #94a3b8;
    white-space: nowrap;
}

.mj-sino-alertas__conteudo strong,
.mj-sino-alertas__mensagem {
    overflow: hidden;
    color: #18342f;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mj-sino-alertas__conteudo strong {
    font-size: .81rem;
    line-height: 1.3;
}

.mj-sino-alertas__mensagem {
    color: #526560;
    font-size: .73rem;
    line-height: 1.4;
}

.mj-sino-alertas__ocorrencias {
    width: fit-content;
    padding: .12rem .38rem;
    border-radius: 999px;
    background: rgb(15 118 110 / 10%);
    color: #0f766e;
    font-size: .64rem;
    font-weight: 750;
}

.mj-sino-alertas__vazio {
    display: grid;
    justify-items: center;
    gap: .55rem;
    padding: 2.2rem 1rem;
    color: #64748b;
    font-size: .8rem;
    text-align: center;
}

.mj-sino-alertas__vazio .fi-icon {
    inline-size: 1.75rem;
    block-size: 1.75rem;
    color: #13917f;
}

.mj-sino-alertas__ver-todos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    padding: .8rem 1rem;
    color: #107567;
    font-size: .77rem;
    font-weight: 750;
}

.mj-sino-alertas__ver-todos:hover { background: rgb(19 145 127 / 6%); }
.mj-sino-alertas__ver-todos .fi-icon { inline-size: .9rem; block-size: .9rem; }

.dark .mj-sino-alertas__contador { border-color: #111c19; }
.dark .mj-sino-alertas__painel { border-color: rgb(255 255 255 / 10%); background: rgb(17 24 23 / 98%); }
.dark .mj-sino-alertas__cabecalho,
.dark .mj-sino-alertas__item { border-color: rgb(255 255 255 / 8%); }
.dark .mj-sino-alertas__cabecalho h2,
.dark .mj-sino-alertas__conteudo strong { color: #ecfdf5; }
.dark .mj-sino-alertas__item { background: rgb(94 234 212 / 3%); }
.dark .mj-sino-alertas__item--lido { background: transparent; }
.dark .mj-sino-alertas__item:hover { background: rgb(94 234 212 / 7%); }
.dark .mj-sino-alertas__mensagem { color: #a7c2bb; }

@media (prefers-reduced-motion: reduce) {
    .mj-sino-alertas__item { transition: none; }
}
