.van-object-select {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 96px);
  max-height: calc(100vh - 96px);
  overflow: hidden;
  background: var(--van-gray-2);

  > .van-action-sheet__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    gap: 0;
    padding: 0;
    overflow: hidden;
  }

  &__nav {
    flex: none;
    align-self: stretch;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    --van-nav-bar-background-color: var(--van-gray-2);

    &.van-nav-bar,
    .van-nav-bar__content {
      box-sizing: border-box;
      width: 100%;
      min-width: 0;
      max-width: 100%;
      overflow: hidden;
    }

    .van-nav-bar__right--slot {
      display: flex;
      gap: 12px;
      padding-right: var(--van-padding-md);
    }

    .van-nav-bar__left--slot {
      left: var(--van-padding-md);
    }
  }
  &__search { flex: none; padding: 8px var(--van-padding-md); --van-search-padding: 0; --van-search-background-color: var(--van-gray-2); --van-search-content-background-color: var(--van-white); .van-search__field { padding-left: 0; } }
  &__keyword { color: var(--van-primary-color); }
  &__view-tabs { flex: none; padding-left: 8px; background: transparent; --van-tabs-line-height: 44px; --van-tab-font-size: var(--van-font-size-md); --van-tabs-nav-background-color: transparent; --van-tabs-bottom-bar-width: 40px; .van-tabs__nav { background: transparent; } }
  &__body { flex: 1; min-height: 0; padding: 12px var(--van-padding-md); overflow-y: auto; }
  &__tree-card { overflow: hidden; background: var(--van-white); border-radius: 8px; }
  &__tree-card--search { margin-top: 0; }
  &__search-state { display: flex; align-items: center; justify-content: center; min-height: 160px; }
  &__type-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    --van-filter-tag-background-color: var(--van-gray-4);

    .van-filter-tag { width: 80px; }
  }
  &__specialty { margin-bottom: 12px; .van-blue-mark-header { padding: 0 4px 8px; } }
  &__footer { position: relative; flex: none; background: var(--van-white); box-shadow: 0 -2px 5px rgb(27 33 41 / 10%); .van-bottom-action-bar { box-shadow: none; } }
  &__selected-panel { position: absolute; right: 0; bottom: 60px; left: 0; display: flex; flex-direction: column; max-height: min(340px, calc(100vh - 156px)); overflow: hidden; background: var(--van-white); box-shadow: 0 -2px 5px rgb(27 33 41 / 10%); }
  &__selected-header { display: flex; flex: none; align-items: center; justify-content: space-between; padding: 12px var(--van-padding-md) 4px; }
  &__clear, &__collapse { display: inline-flex; align-items: center; padding: 0; font: inherit; font-size: var(--van-font-size-md); line-height: var(--van-line-height-lg); background: transparent; border: 0; }
  &__clear { color: var(--van-primary-color); }
  &__collapse, &__remove { color: var(--van-gray-6); .van-icon { color: var(--van-gray-6); } }
  &__collapse { gap: 2px; }
  &__selected-list { display: flex; flex: 0 1 auto; flex-direction: column; gap: 6px; min-height: 0; padding: var(--van-padding-xs) var(--van-padding-md); overflow-y: auto; overscroll-behavior: contain; }
  &__selected-item { flex: none; min-height: 44px; padding: 11px var(--van-padding-md); background: var(--van-gray-1); border-radius: 8px; }
  &__remove { display: inline-flex; align-self: flex-start; align-items: center; justify-content: center; width: 22px; height: 22px; padding: 0; background: transparent; border: 0; }
}
