// PisellShellFrame 壳层布局：顶部标题/工具/统计、中间滚动+插槽、底部批量条/状态区
.pisell-shell-frame {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;

  &-header {
    flex-shrink: 0;
  }

  &-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;

    .pisell-shell-frame-title-main {
      font-size: 16px;
      font-weight: 600;
    }

    .pisell-shell-frame-title-sub {
      font-size: 12px;
      color: rgba(0, 0, 0, 0.45);
      margin-left: 8px;
    }

    .pisell-shell-frame-title-extra {
      flex-shrink: 0;
    }
  }

  &-toolbar {
    margin-bottom: 8px;
  }

  /**
   * RecordBoard 非表格主区（平面图 / 日历 / 资源墙）：与顶栏日程带衔接，去掉工具栏与内容区间距。
   * `--floor-map-view` 仍可在仅平面图场景单独挂类；规则与 body-subview 一致。
   */
  &--body-subview &-toolbar,
  &--floor-map-view &-toolbar {
    margin-bottom: 0;
  }

  /**
   * 工具栏正下方的「附加条」：默认与 toolbar 留 8px 缝隙，让插入的轻量摘要
   * 与 toolbar 视觉上分开但不破坏顶栏整体节奏。空内容时塌陷不占位。
   */
  &-below-toolbar {
    margin-bottom: 8px;

    &:empty {
      display: none;
      margin-bottom: 0;
    }
  }

  &-statistic {
    margin-bottom: 8px;

    &-collapse-header {
      cursor: pointer;
      user-select: none;
      display: flex;
      align-items: center;
      gap: 4px;
      font-size: 12px;
      color: rgba(0, 0, 0, 0.45);
    }
  }

  &-body {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  &-scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
  }

  &-footer {
    flex-shrink: 0;
  }

  &-batch-bar {
    margin-top: 8px;
    /* 无内容时不占位，避免多余 margin */

    &:empty {
      margin-top: 0;
      display: none;
    }
  }

  &-status {
    margin-top: 8px;
  }
}
