.topbar-user-actions { display: flex; align-items: center; gap: .55rem; }
.notification-bell { position: relative; display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; color: #52657a; border: 1px solid transparent; border-radius: .75rem; text-decoration: none; }
.notification-bell:hover, .notification-bell:focus-visible { color: #087fb4; background: #eef8fc; border-color: #d7ecf5; }
.notification-badge { position: absolute; top: -.2rem; right: -.25rem; min-width: 1.2rem; height: 1.2rem; padding: 0 .28rem; display: grid; place-items: center; border: 2px solid #fff; border-radius: 999px; background: #dc3545; color: #fff; font-size: .62rem; font-weight: 800; line-height: 1; }
.notification-menu-entry { display: none; }
.notifications-page .page-heading { margin-bottom: 0; }
.notifications-page h1.module-title {
  margin: 0 0 .25rem;
  font-size: 2rem !important;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.03em;
}
.notification-layout { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 1rem; align-items: start; }
.notification-list-card, .notification-settings-card { overflow: hidden; border-color: #dfe7ef; border-radius: 1rem; box-shadow: 0 .35rem 1rem rgba(20, 48, 76, .05); }
.notification-list-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.notification-scope { display: flex; align-items: center; gap: .4rem; }
.notification-archive { color: #28749a; font-weight: 600; }
.notification-global { color: #65788c; font-weight: 600; }
.notification-item { display: flex; gap: .9rem; padding: 1rem 1.15rem; border-left: .25rem solid transparent; }
.notification-item.is-unread { background: #f3f9ff; border-left-color: #168ac0; }
.notification-icon { flex: 0 0 2.45rem; width: 2.45rem; height: 2.45rem; display: grid; place-items: center; border-radius: .75rem; background: #eaf6fb; color: #168ac0; }
.notification-icon-scadenze_scadute { background: #fff0f1; color: #dc3545; }
.notification-icon-comunicazione { background: #fff6df; color: #b87b00; }
.notification-icon-assistenza { background: #edf4ff; color: #1769c2; }
.notification-copy { min-width: 0; display: flex; flex-direction: column; gap: .18rem; color: #24364a; }
.notification-copy small { color: #75879a; }
.notification-unread-dot { width: .5rem; height: .5rem; border-radius: 50%; background: #168ac0; }
.notification-empty-state { min-height: 12rem; padding: 2.5rem 1.5rem; display: flex; align-items: center; justify-content: center; gap: .9rem; color: #65788c; text-align: left; }
.notification-empty-icon { flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: .85rem; background: #eaf6fb; color: #168ac0; font-size: 1.2rem; }
.notification-empty-state > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; }
.notification-empty-state strong { color: #24364a; }
@media (max-width: 991.98px) {
  .notification-layout { grid-template-columns: 1fr; }
  .notification-bell { display: none; }
  .notification-menu-entry { display: list-item; }
}
@media (max-width: 575.98px) {
  .notifications-page h1.module-title { font-size: 1.7rem !important; }
  .notification-item { padding: .85rem; }
  .notification-settings-card { order: -1; }
  .notification-empty-state { min-height: 9rem; padding: 1.5rem 1rem; }
  .notification-list-header { align-items: stretch; flex-direction: column; }
  .notification-scope { display: grid; grid-template-columns: 1fr 1fr; }
  .notification-scope .btn { white-space: nowrap; }
}
