.scan-upload-container {
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;

  .upload-area {
    margin-bottom: 24px;

    :global {
      .ant-upload {
        width: 128px;
        height: 128px;
        border: 1px dashed #d9d9d9;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: border-color 0.3s;

        &:hover {
          border-color: #1890ff;
        }

        .anticon {
          font-size: 32px;
          color: #999;
        }
      }
    }
  }

  .preview-area {
    width: 100%;
    min-height: calc(100vh - 350px);
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f5f5f5;
    border-radius: 8px;
    overflow: hidden;

    .preview-image {
      max-width: 100%;
      max-height: calc(100vh - 350px);
      object-fit: contain;
    }

    .cropper-wrapper {
      width: 100%;
      height: calc(100vh - 350px);
    }
  }

  .toolbar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px 16px;
    background: #1f1f1f;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  }
}
