/* Business flow pages rebuilt from WeUI thirdparty demo patterns: page-hd, weui-cells, weui-panel, weui-msg, grid/list/footer. */

.wxc-biz-page {
  min-height: 100%;
  background: var(--weui-BG-0);
}

.wxc-biz-shell {
  max-width: 780px;
  margin: 0 auto;
  padding-bottom: calc(32px + env(safe-area-inset-bottom));
}

.page-hd.wxc-biz-hero,
.wxc-biz-hero {
  padding: 24px 16px 18px;
}

.wxc-biz-hero__card {
  background: linear-gradient(135deg, rgba(7,193,96,.14), rgba(7,193,96,.04));
  border-radius: 18px;
  padding: 22px 18px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.wxc-biz-hero.is-warm .wxc-biz-hero__card {
  background: linear-gradient(135deg, rgba(250,157,59,.18), rgba(250,157,59,.05));
}

.wxc-biz-hero.is-danger .wxc-biz-hero__card {
  background: linear-gradient(135deg, rgba(250,81,81,.16), rgba(250,81,81,.05));
}

.wxc-biz-hero__eyebrow {
  display: inline-block;
  font-size: 12px;
  color: var(--weui-BRAND);
  margin-bottom: 8px;
  font-weight: 600;
  letter-spacing: .08em;
}

.wxc-biz-hero.is-warm .wxc-biz-hero__eyebrow { color: var(--weui-ORANGE); }
.wxc-biz-hero.is-danger .wxc-biz-hero__eyebrow { color: var(--weui-RED); }

.wxc-biz-hero__title {
  margin: 0;
  font-size: 24px;
  line-height: 1.3;
  color: var(--weui-FG-0);
  font-weight: 700;
}

.wxc-biz-hero__desc {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--weui-FG-1);
}

.wxc-biz-grid {
  display: grid;
  gap: 12px;
  padding: 0 16px;
}

.wxc-biz-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wxc-biz-card,
.wxc-biz-empty,
.wxc-biz-progress-ring,
.wxc-biz-order-card,
.wxc-biz-benefit,
.wxc-biz-info-card {
  background: var(--weui-BG-2);
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}

.wxc-biz-section-title,
.weui-cells__title.wxc-biz-section-title {
  margin: 0;
  padding: 18px 16px 10px;
  font-size: 13px;
  color: var(--weui-FG-2);
  letter-spacing: .04em;
}

.wxc-biz-card-list {
  padding: 0 16px;
}

.wxc-biz-actions {
  padding: 12px 16px 0;
}

.wxc-biz-actions .weui-btn {
  border-radius: 12px;
}

.wxc-biz-actions .weui-btn + .weui-btn {
  margin-top: 10px;
}

.wxc-biz-note,
.wxc-biz-warning {
  margin: 12px 16px 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(87,107,149,.08);
  color: var(--weui-FG-1);
  font-size: 14px;
  line-height: 1.7;
}

.wxc-biz-warning {
  background: rgba(250,81,81,.08);
}

.wxc-biz-note ul,
.wxc-biz-warning ul {
  margin: 0;
  padding-left: 18px;
}

.wxc-biz-note li,
.wxc-biz-warning li {
  margin: 6px 0;
}

.wxc-biz-empty {
  margin: 0 16px;
  padding: 28px 18px;
  text-align: center;
}

.wxc-biz-empty__icon {
  font-size: 36px;
  line-height: 1;
  margin-bottom: 10px;
}

.wxc-biz-empty__title {
  margin: 0;
  font-size: 18px;
  color: var(--weui-FG-0);
}

.wxc-biz-empty__desc {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--weui-FG-1);
}

.wxc-biz-footer {
  padding: 22px 16px 12px;
}

.wxc-biz-footer .weui-footer__text,
.wxc-biz-footer .weui-footer__link {
  color: var(--weui-FG-2);
}

.wxc-biz-info-card {
  margin: 0 16px;
  padding: 16px;
}

.wxc-biz-kv {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 8px;
  font-size: 14px;
  line-height: 1.7;
}

.wxc-biz-kv + .wxc-biz-kv {
  margin-top: 8px;
}

.wxc-biz-kv dt {
  color: var(--weui-FG-2);
}

.wxc-biz-kv dd {
  margin: 0;
  color: var(--weui-FG-0);
  word-break: break-word;
}

.wxc-biz-progress {
  padding: 0 16px;
}

.wxc-biz-progress-ring {
  padding: 24px 16px;
  text-align: center;
}

.wxc-biz-progress-ring__chart {
  width: 130px;
  height: 130px;
  margin: 0 auto 12px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--weui-BRAND) calc(var(--percent, 0) * 1%), rgba(7,193,96,.12) 0);
}

.wxc-biz-progress-ring__inner {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: var(--weui-BG-2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.wxc-biz-progress-ring__num {
  font-size: 28px;
  font-weight: 700;
  color: var(--weui-FG-0);
}

.wxc-biz-progress-ring__label {
  font-size: 12px;
  color: var(--weui-FG-2);
}

.wxc-biz-benefit-list {
  padding: 12px 16px 0;
}

.wxc-biz-benefit {
  padding: 16px;
  margin-bottom: 12px;
}

.wxc-biz-benefit__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wxc-biz-benefit__name {
  font-size: 16px;
  color: var(--weui-FG-0);
  font-weight: 600;
}

.wxc-biz-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
}

.wxc-biz-badge.status-processing { background: var(--weui-BLUE); }
.wxc-biz-badge.status-active { background: var(--weui-BRAND); }
.wxc-biz-badge.status-done { background: #1f9d5c; }
.wxc-biz-badge.status-expired { background: var(--weui-ORANGE); }
.wxc-biz-badge.status-orange { background: var(--weui-ORANGE); }
.wxc-biz-badge.status-blue { background: var(--weui-BLUE); }
.wxc-biz-badge.status-green { background: var(--weui-BRAND); }

.wxc-biz-benefit__desc,
.wxc-biz-order-card__meta,
.wxc-biz-article {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.75;
  color: var(--weui-FG-1);
  word-break: break-word;
}

.wxc-biz-benefit__desc a,
.wxc-biz-article a,
.wxc-biz-order-card__meta a {
  color: var(--weui-LINK);
}

.wxc-biz-order-list {
  padding: 0 16px;
}

.wxc-biz-order-card {
  padding: 16px;
  margin-bottom: 12px;
}

.wxc-biz-order-card__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.wxc-biz-order-card__no {
  font-size: 16px;
  font-weight: 700;
  color: var(--weui-FG-0);
  word-break: break-all;
}

.wxc-biz-tabbar {
  display: flex;
  gap: 8px;
  overflow: auto;
  padding: 0 16px 12px;
}

.wxc-biz-tabbar__item {
  flex: 1;
  min-width: 70px;
  text-align: center;
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--weui-BG-2);
  color: var(--weui-FG-1);
  text-decoration: none;
  font-size: 14px;
}

.wxc-biz-tabbar__item.is-active {
  background: var(--weui-BRAND);
  color: #fff;
}

.wxc-biz-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.wxc-biz-photo-grid img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  background: var(--weui-BG-1);
}

.wxc-biz-legal-list {
  margin: 0 16px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--weui-BG-2);
}

.wxc-biz-legal-list .weui-cell {
  padding: 16px;
}

.wxc-biz-contact-card {
  margin: 0 16px 12px;
  padding: 16px;
}

.wxc-biz-contact-card__title {
  margin: 0 0 8px;
  font-size: 16px;
  color: var(--weui-FG-0);
  font-weight: 700;
}

.wxc-biz-contact-card__desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--weui-FG-1);
}

.wxc-biz-form-card {
  margin: 0 16px;
  padding: 16px;
  background: var(--weui-BG-2);
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}

.wxc-biz-form-card .weui-cells,
.wxc-biz-form-card .weui-cells_form,
.wxc-biz-form-card .weui-cells_checkbox,
.wxc-biz-form-card .weui-cells_radio {
  margin-top: 0;
}

.wxc-biz-form-card .weui-cells:before,
.wxc-biz-form-card .weui-cells:after {
  display: none;
}

.wxc-biz-form-card .weui-textarea-counter {
  color: var(--weui-FG-2);
}

.wxc-biz-subtle {
  color: var(--weui-FG-2);
  font-size: 13px;
}

@media (max-width: 480px) {
  .wxc-biz-grid--2 {
    grid-template-columns: 1fr;
  }

  .wxc-biz-kv {
    grid-template-columns: 74px 1fr;
  }
}
/* ===== 2026-04-20 order/progress: redemption re-entry card ===== */
.progress-extra-card {
  display: flex;
  align-items: center;
  padding: 16px;
  margin: 16px;
  background: #fff;
  border: 1px solid var(--weui-BG-3, #eee);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
}
.progress-extra-card:active {
  background: var(--weui-BG-2, #f7f7f7);
}
.progress-extra-card__body { flex: 1; }
.progress-extra-card__title {
  font-size: 15px;
  font-weight: 600;
  color: var(--weui-FG-0);
}
.progress-extra-card__desc {
  font-size: 12px;
  color: var(--weui-FG-2);
  margin-top: 4px;
}
.progress-extra-card__arrow {
  font-size: 20px;
  color: var(--weui-FG-3);
  margin-left: 12px;
}
