/* Centered desktop workbench: preserve the approved compact layout without a full-width canvas. */
@media (min-width: 1100px) {
  .pc-header {
    height: 60px;
    padding-inline: max(28px, calc((100vw - 1320px) / 2));
    border-bottom-color: #e7ebf1;
    box-shadow: 0 2px 10px rgba(29, 52, 82, .035);
  }

  .pc-brand { gap: 10px; }
  .pc-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    font-size: 17px;
    box-shadow: 0 5px 12px rgba(23, 98, 212, .18);
  }
  .pc-brand-copy strong { font-size: 17px; letter-spacing: .025em; }
  .pc-brand-copy small { display: none; }

  .pc-header-tip {
    min-height: 24px;
    margin-left: 18px;
    padding: 0 0 0 20px;
    border: 0;
    border-left: 1px solid #d9e0e8;
    color: #344054;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
  }

  .pc-header-safe-icon {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: contain;
  }

  .pc-shop-context-badge {
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #1768d9;
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
  }

  .pc-user-entry {
    margin-left: 18px;
    padding-left: 20px;
    border-left: 1px solid #d9e0e8;
  }

  .pc-user-trigger {
    min-width: 122px;
    height: 40px;
    padding: 3px 8px 3px 4px;
    gap: 8px;
    border-color: #e5eaf1;
    border-radius: 10px;
    box-shadow: none;
  }

  .pc-user-trigger:hover,
  .pc-user-trigger[aria-expanded="true"] {
    border-color: #cbd9ec;
    box-shadow: 0 5px 14px rgba(26, 72, 132, .08);
  }

  .pc-user-avatar.is-wechat {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: #172033;
    background: #f2f5f8;
    font-size: 19px;
  }

  .pc-user-trigger-copy { gap: 1px; }
  .pc-user-trigger-copy strong { font-size: 12px; line-height: 1.25; }
  .pc-user-trigger-copy small { font-size: 9px; line-height: 1.2; }
  .pc-user-chevron { font-size: 12px; transform: translateY(-1px); }

  .pc-workspace {
    width: min(1320px, calc(100% - 56px));
    max-width: 1320px;
    margin: 24px auto 0;
  }

  .pc-workspace-head {
    display: flex;
    min-height: 64px;
    margin: 0 0 14px;
    padding: 10px 16px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid #e0e8f2;
    border-radius: 13px;
    background: rgba(255, 255, 255, .72);
  }

  .pc-workspace-heading {
    display: flex;
    min-width: 245px;
    align-items: baseline;
    gap: 14px;
  }

  .pc-workspace-head h2 { font-size: 19px; line-height: 1.2; }
  .pc-workspace-head p { display: block; margin: 0; font-size: 12px; white-space: nowrap; }
  .pc-workspace-head > span { display: none; }

  .pc-workflow-steps {
    width: min(650px, 58%);
    margin: 0;
    gap: 7px;
  }

  .pc-workflow-steps li {
    position: static;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: transparent;
    font-size: 13px;
  }

  .pc-workflow-steps li + li::before { content: none; }
  .pc-workflow-steps li span { width: 22px; height: 22px; font-size: 11px; }
  .pc-workflow-steps li.is-active { border-color: #d8e7ff; background: #edf4ff; }

  #app {
    width: 100%;
    min-height: 560px;
    margin: 0;
    overflow: visible;
    border: 1px solid #d8e2ee;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(29, 54, 86, .08);
  }

  #app > uni-app,
  #app uni-page-body { min-height: 558px; }
  #app .w90.pa-20 { padding: 18px !important; }

  #app .pc-upload-strip,
  #app .upl-file {
    display: block !important;
    width: 100%;
    min-height: 108px;
    margin: 0 0 14px !important;
    padding: 18px 150px 18px 26px !important;
    border-color: #a9c2e8 !important;
    border-radius: 13px !important;
    background: #f8fbff !important;
  }

  #app .pc-upload-strip > uni-view,
  #app .pc-upload-strip > div {
    width: 100%;
    min-height: 70px;
    grid-template-columns: 66px minmax(0, 1fr);
  }

  #app .pc-upload-strip > uni-view > .flex.flex-jc.mt-40:first-child,
  #app .pc-upload-strip > div > .flex.flex-jc.mt-40:first-child {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  #app .pc-upload-strip .image-size-80 { width: 52px !important; height: 52px !important; }

  #app .pc-upload-strip > uni-view > .font-size28,
  #app .pc-upload-strip > div > .font-size28 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end;
    justify-content: flex-start !important;
    margin: 0 !important;
    font-size: 16px !important;
  }

  #app .pc-upload-strip > uni-view > .font-size25,
  #app .pc-upload-strip > div > .font-size25 {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding-top: 6px;
    font-size: 12px !important;
  }

  .pc-upload-action { right: 28px; min-width: 94px; height: 40px; font-size: 13px; }

  #app .w100.flex.flex-jc.mt-30.mb-30 { margin: 14px 0 0 !important; }

  #app .pc-task-toolbar,
  #app .w100.flex.flex-sb.flex-ac.pc-task-toolbar {
    min-height: 60px;
    padding: 10px 12px !important;
    border-radius: 12px;
  }

  .pc-file-table-head { min-height: 44px; padding-inline: 24px; border-radius: 11px 11px 0 0; font-size: 12px; }

  #app .pc-file-list,
  #app .w100.flex.flex-fw.flex-sb.pc-file-list {
    min-height: 214px;
    padding-bottom: 80px !important;
    border-radius: 0 0 11px 11px;
  }

  #app .pc-file-list > .pc-file-row,
  #app .w100.flex.flex-fw.flex-sb > .w45.pc-file-row {
    min-height: 88px;
    padding: 14px 18px 14px 24px !important;
  }

  .pc-checkout-bar {
    position: sticky;
    bottom: 0;
    min-height: 74px;
    margin-top: -74px;
    padding: 12px 14px 12px 22px;
    border-radius: 12px;
    box-shadow: 0 -8px 28px rgba(26, 49, 79, .08);
  }

  .pc-checkout-pay { height: 46px; font-size: 14px; }
  .pc-footer { padding-top: 22px; }
}

.pc-setup-required-toast {
  position: fixed;
  z-index: 10020;
  top: 22px;
  left: 50%;
  display: flex;
  min-width: 360px;
  max-width: min(560px, calc(100vw - 32px));
  padding: 13px 16px;
  align-items: flex-start;
  gap: 11px;
  border: 1px solid #f4d7a5;
  border-radius: 12px;
  background: #fffaf0;
  color: #7a4b05;
  box-shadow: 0 14px 36px rgba(88, 56, 8, .16);
  opacity: 0;
  transform: translate(-50%, -12px);
  transition: opacity .2s ease, transform .2s ease;
  pointer-events: none;
}

.pc-setup-required-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.pc-setup-required-toast > i {
  flex: 0 0 auto;
  margin-top: 1px;
  color: #e99a18;
  font-size: 20px;
  line-height: 1;
}

.pc-setup-required-toast > div { display: grid; gap: 3px; }
.pc-setup-required-toast strong { color: #6b4207; font-size: 14px; line-height: 1.35; }
.pc-setup-required-toast span {
  overflow: hidden;
  color: #9a681b;
  font-size: 12px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#app .pc-file-row.is-setup-required {
  position: relative;
  z-index: 1;
  background: #fffaf0 !important;
  box-shadow: inset 4px 0 0 #f2a52b, 0 0 0 2px rgba(242, 165, 43, .18);
}

@media (max-width: 640px) {
  .pc-setup-required-toast {
    top: 12px;
    min-width: 0;
    width: calc(100vw - 24px);
  }
}
