@layer components {
  [data-controller="notifications-dropdown"] {
    .notifications-bell__badge {
      position: absolute;
      top: -0.2rem;
      right: -0.2rem;
      min-width: 1.125rem;
      height: 1.125rem;
      padding: 0 0.25rem;
      font-size: 0.625rem;
      font-weight: 600;
      line-height: 1.125rem;
      text-align: center;
      color: var(--color-white);
      background: var(--color-error);
      border-radius: 999px;
    }

    .notifications-dropdown__list {
      max-height: 20rem;
      overflow-y: auto;
      .notifications-dropdown__item {
        display: flex;
        gap: var(--space-2);
        font-size: var(--text-sm);
        padding: var(--space-2);
        border-radius: var(--radius-md);
        text-decoration: none;
        color: var(--color-gray-700);
        margin: var(--space-2);
        .notifications-dropdown__item-icon {
          flex: 0 1 1.25rem;
          width: 1.25rem;
          height: 1.25rem;
          transform: translateY(.375rem);
        }
        .notifications-dropdown__item-content {
          flex: 1;
          p {
            margin: 0;
            color: var(--color-gray-900);
          }
          time {
            font-weight: var(--font-normal);
            color: var(--color-text-light);
          }
        }
        .notifications-dropdown__item-dot {
          width: .375rem;
          height: .375rem;
          border-radius: 50%;
        }

        &.is-unread {
          .notifications-dropdown__item-dot {
            background: var(--color-primary-600);
          }
        }
        &:hover {
          background: var(--color-gray-100);
        }
      }
      .notifications-dropdown__empty {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: var(--space-6);
        gap: var(--space-2);
        svg path {
          stroke: var(--color-gray-400);
        }
        p {
          text-align: center;
          color: var(--color-gray-700);;
        }
      }
    }

    .dropdown__footer {
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }
}
