/* Sino de notificações da navbar — ver templates/notificacoes/_sino.html */
.nav-notificacoes { margin: 0 1rem 0 .5rem; }
.btn-sino {
  position: relative; background: transparent; border: 0; color: #fff;
  font-size: 1.25rem; line-height: 1; padding: .45rem .55rem; border-radius: 8px;
}
.btn-sino:hover, .btn-sino:focus-visible, .nav-notificacoes.show .btn-sino { background: rgba(255,255,255,.15); outline: none; }
.btn-sino.tem-novas i { animation: sino-balanco 1s ease-in-out 2; transform-origin: top center; }
@keyframes sino-balanco { 0%,100%{transform:rotate(0)} 20%{transform:rotate(14deg)} 40%{transform:rotate(-12deg)} 60%{transform:rotate(8deg)} 80%{transform:rotate(-4deg)} }
.sino-contador {
  position: absolute; top: 1px; right: -2px; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; background: #FFD700; color: #5a0000; font-size: .68rem; font-weight: 800;
  line-height: 18px; text-align: center; box-shadow: 0 0 0 2px #8B0000;
}
.sino-painel { width: 370px; max-width: calc(100vw - 24px); padding: 0; border: 0; border-top: 3px solid #FFD700; overflow: hidden; }
.sino-cabecalho { display: flex; justify-content: space-between; align-items: center; padding: .7rem .9rem; border-bottom: 1px solid #eee; }
.sino-marcar-todas { background: none; border: 0; padding: 0; color: #8B0000; font-size: .8rem; }
.sino-marcar-todas:disabled { color: #aaa; }
.sino-marcar-todas:not(:disabled):hover { text-decoration: underline; }
.sino-lista { max-height: 420px; overflow-y: auto; }
.sino-item { display: flex; gap: .7rem; padding: .7rem .9rem; color: #222; text-decoration: none; border-bottom: 1px solid #f2f2f2; }
.sino-item:hover { background: #f8f5f0; color: #222; }
.sino-item.nao-lida { background: #fff8e1; }
.sino-item.nao-lida:hover { background: #fff1c7; }
.sino-item-icone { flex: none; width: 34px; height: 34px; border-radius: 50%; background: #8B0000; color: #fff; display: flex; align-items: center; justify-content: center; font-size: .95rem; }
.sino-item.lida .sino-item-icone { background: #bbb; }
.sino-item-texto { min-width: 0; flex: 1; }
.sino-item-titulo { font-weight: 600; font-size: .88rem; display: flex; align-items: center; gap: .4rem; }
.sino-item.nao-lida .sino-item-titulo::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #c00; flex: none; }
.sino-item-msg { font-size: .82rem; color: #555; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sino-item-quando { font-size: .72rem; color: #999; margin-top: .15rem; }
.sino-vazio { padding: 1.6rem .9rem; text-align: center; color: #888; font-size: .9rem; }
.sino-ver-todas { display: block; text-align: center; padding: .6rem; font-size: .85rem; color: #8B0000; text-decoration: none; background: #fafafa; border-top: 1px solid #eee; }
.sino-ver-todas:hover { background: #f1f1f1; color: #5a0000; }
/* Duas cópias do sino: uma junto ao ☰ (telas pequenas) e outra no fim do menu (lg+) */
.nav-notificacoes-mobile { margin: 0 .25rem 0 auto; }
.nav-notificacoes-desktop { display: none; }
@media (min-width: 992px) {
  .nav-notificacoes-mobile { display: none; }
  .nav-notificacoes-desktop { display: block; }
  .sino-painel { top: calc(100% + 6px); }
}
@media (max-width: 991.98px) {
  /* Painel ocupa a largura da tela, logo abaixo da navbar */
  .nav-notificacoes-mobile .sino-painel {
    position: fixed !important; top: 62px; left: 8px; right: 8px;
    width: auto; max-width: none; margin: 0;
  }
  .sino-lista { max-height: 60vh; }
}

/* ── Menu do usuário logado (navbar) ── */
.nav-usuario-avatar {
  width: 30px; height: 30px; border-radius: 50%; flex: none;
  background: #FFD700; color: #5a0000; font-weight: 800; font-size: .78rem;
  display: inline-flex; align-items: center; justify-content: center;
}
.nav-usuario-nome { color: #fff; font-weight: 600; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-usuario-menu { min-width: 240px; border-top: 3px solid #FFD700; }
.nav-usuario-papel { background: #8B0000; color: #fff; font-weight: 600; }
