& {
  .lbaic {
    &-popup {
      &-layout {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        padding: 16px;
        z-index: 11;
      }

      &-overlay {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: var(--lbaic-popup-overlay-bg);
        z-index: 1;
        border-top-left-radius: 12px;
        border-top-right-radius: 12px;
      }

      & {
        position: relative;
        width: 90%;
        max-width: var(--lbaic-popup-max-width, 320px);
        margin-block: auto;
        margin-inline: auto;
        padding-block: 24px;
        padding-inline: 14px;
        background-color: var(--lbaic-chat-bg);
        border-radius: 6px;
        box-shadow: var(--lbaic-popup-shadow);
        z-index: 2;
      }

      &-header {
        padding-inline: 10px;

        &-in {
          padding-block-end: 18px;
        }

        &-label {
          padding-block-end: 12px;
          font-size: var(--lbaic-popup-header-fs, var(--lbaic-fs-14));
          font-weight: var(--lbaic-fw-500);
          color: var(--lbaic-popup-color);
          text-align: center;
          line-height: var(--lbaic-lh-24);
        }

        &-desc {
          font-size: var(--lbaic-fs-14);
          font-weight: var(--lbaic-fw-500);
          color: var(--lbaic-popup-header-desc-color);
          line-height: var(--lbaic-lh-18);
        }
      }

      &-body {
        position: relative;
        padding-block: 20px;

        &-in {
          max-height: 72dvh;
          padding-block: 4px;
          padding-inline: 10px;
          overflow-x: hidden;
          overflow-y: auto;
          // Ensure scrolling works even with custom scroll libraries
          touch-action: pan-y pan-x;
          overscroll-behavior: contain;
        }
      }

      &-loading {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: block;
        background-color: var(--lbaic-white);
        z-index: 20;
      }

      &-footer {
        padding-inline: 10px;
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
      }
    }
  }
}