.notification-center {
  position: absolute;
  top: 64px;
  right: 0;
  width: 400px;
  max-width: 400px;
  background: var(--notification-bg);
  color: var(--notification-text);
  border: 1px solid var(--notification-border);
  border-radius: 6px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), 0 3px 6px rgba(0, 0, 0, 0.06);
  z-index: 1000;
  display: none;
  overflow-x: hidden;

  &.visible {
    display: block;
  }

  .notification-header {
    padding: 4px 16px;
    border-bottom: 1px solid var(--notification-header-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--notification-header-bg);

    h3 {
      margin: 0;
      font-size: 14px;
      color: var(--notification-header-text);
    }

    .notification-controls {
      display: flex;
      align-items: center;
      gap: 8px;
      // Styles for the eye icon and switch (custom classes)
      .notification-toggle {
        align-items: center; // Ensure vertical alignment
      }

      .notification-toggle-icon {
        font-size: 14px;
        color: var(--notification-toggle-icon);
        vertical-align: middle;
      }

      .ant-switch {
        &.ant-switch-small {
          min-width: 28px;
          height: 16px;
          line-height: 16px;

          .ant-switch-handle {
            width: 12px;
            height: 12px;
          }

          &.ant-switch-checked {
            background-color: var(--notification-switch-bg);

            .ant-switch-handle {
              left: calc(100% - 14px);
            }
          }
        }
      }

      // Styles for the "Mark All Read" button (restore original link button style)
      .ant-btn-link {
        padding: 0;
        color: var(--notification-btn-link);

        &:hover {
          color: var(--notification-btn-link-hover);
        }

        &:disabled {
          color: var(--notification-btn-link-disabled);
          cursor: not-allowed;
        }

        &.active {
          color: var(--notification-btn-link-active);
        }
      }
    }
  }

  .notification-read {
    background: var(--notification-read-bg);
    color: var(--notification-read-text);
  }

  .notification-unread {
    background: var(--notification-unread-bg);
    color: var(--notification-unread-text);
  }

  .notification-item {
    padding: 12px 16px;
    border-bottom: 1px solid var(--notification-header-border);
    display: block;
    overflow: visible;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;

    &:hover {
      background: var(--notification-item-hover-bg);
    }

    .notification-content {
      width: 100%;
    }

    .notification-title {
      margin: 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      box-sizing: border-box;

      .ro-number {
        margin: 0;
        color: var(--notification-ro-number);
        flex-shrink: 0;
        white-space: nowrap;
      }

      .relative-time {
        margin: 0;
        font-size: 12px;
        color: var(--notification-relative-time);
        white-space: nowrap;
        flex-shrink: 0;
        margin-left: auto;
      }
    }

    .notification-body {
      margin-top: 4px;

      .ant-typography {
        color: inherit;
      }

      ul {
        margin: 0;
        padding: 0;
      }

      li {
        margin-bottom: 2px;
      }
    }
  }

  .ant-badge {
    width: 100%;
  }

  .ant-alert {
    margin: 8px;
    background: var(--alert-bg);
    color: var(--alert-text);
    border: 1px solid var(--alert-border);

    .ant-alert-message {
      color: var(--alert-message);
    }
  }
}

.notification-center--dark {
  color-scheme: dark;
}

.notification-center--light {
  color-scheme: light;
}
