/* Shared membership redemption flow; theme overrides only the visual tokens. */
.membership-redeem{--redeem-ink:var(--uc-ink,#342445);--redeem-muted:#746079;--redeem-accent:#1e6b5d;--redeem-paper:#fffaf4;--redeem-line:#e4d7cd;--redeem-soft:#e4ece0;max-width:1120px;margin:auto;color:var(--redeem-ink)}.membership-redeem [hidden]{display:none!important}.membership-redeem button,.membership-redeem input,.membership-redeem textarea{font:inherit}.membership-redeem :focus-visible{outline:3px solid var(--redeem-accent);outline-offset:3px}.redeem-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:30px 0 24px}.redeem-steps li{display:flex;align-items:center;gap:10px;padding:13px 12px;border-bottom:2px solid var(--redeem-line);font-size:12px;color:var(--redeem-muted);line-height:1.5}.redeem-steps li>span{font-size:11px;letter-spacing:1px}.redeem-steps li.is-active{border-color:var(--redeem-accent);color:var(--redeem-accent);font-weight:600}.redeem-steps li.is-done{border-color:#a9c0a4;color:var(--redeem-accent)}.redeem-panel{background:var(--redeem-paper);border:1px solid var(--redeem-line);border-radius:17px;padding:30px;max-width:850px;margin:0 auto}.redeem-panel>h2{font-size:26px;font-weight:600;line-height:1.4;letter-spacing:-.7px;margin:10px 0 13px}.redeem-panel>p{font-size:13px;color:var(--redeem-muted);line-height:1.85;margin:0 0 23px}.redeem-panel form>label,.redeem-panel label:not(.redeem-consent){display:block;margin-bottom:10px;font-size:13px;font-weight:550}.redeem-panel label>span,.redeem-contacts legend>span{font-size:11px;color:var(--redeem-muted);font-weight:400;margin-left:5px}.redeem-panel input:not([type=checkbox]),.redeem-panel textarea{display:block;width:100%;min-height:46px;border:1px solid #d7c9c3;border-radius:9px;background:#fffcf8;color:var(--redeem-ink);padding:11px 13px;font-size:16px;line-height:1.6;margin:9px 0 20px;outline:0;transition:border-color .2s,box-shadow .2s}.redeem-panel textarea{min-height:190px;resize:vertical;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:14px}.redeem-panel input:focus,.redeem-panel textarea:focus{border-color:var(--redeem-accent);box-shadow:0 0 0 3px #1e6b5d12}.redeem-panel input::placeholder,.redeem-panel textarea::placeholder{color:#968392;font-family:inherit;font-size:14px}.redeem-note{font-size:12px!important;color:var(--redeem-muted);line-height:1.85;margin:17px 0 0!important}.redeem-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:11px 19px;border:1px solid var(--redeem-accent);border-radius:9px;background:var(--redeem-accent);color:#fffaf4;font-size:13px;font-weight:550;line-height:1.5;cursor:pointer;transition:background .2s,transform .2s}.redeem-button:hover{background:#155446}.redeem-button:active{transform:scale(.98)}.redeem-button.is-quiet{background:transparent;color:var(--redeem-muted);border-color:var(--redeem-line)}.redeem-button.is-quiet:hover{background:#f2eade}.redeem-button.is-danger{background:#975c52;border-color:#975c52;color:#fffaf4}.redeem-button:disabled{cursor:default;opacity:.5;transform:none}.redeem-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px;margin-top:24px;flex-wrap:wrap}.redeem-notification{max-width:850px;margin:0 auto 18px;padding:13px 16px;background:var(--redeem-soft);border:1px solid #c7d6bf;color:var(--redeem-accent);border-radius:9px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.redeem-notification:empty{display:none}.redeem-notification.is-error{background:#f7e7df;border-color:#e4c5bb;color:#95574e}.redeem-plan{display:inline-flex;padding:7px 11px;margin-bottom:20px;background:var(--redeem-soft);color:var(--redeem-accent);border-radius:7px;font-size:13px}.redeem-contacts{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:22px 0 0;margin:6px 0 10px;border:0;border-top:1px solid var(--redeem-line)}.redeem-contacts legend{grid-column:1/-1;width:100%;font-size:14px;font-weight:550;margin-bottom:18px;float:none}.redeem-contacts label{font-size:12px}.redeem-contacts input{margin-bottom:12px!important}.redeem-instructions{padding-left:23px;margin:0 0 24px;font-size:13px;line-height:1.9;color:var(--redeem-muted)}.redeem-instructions li{padding-left:4px;margin-bottom:12px}.redeem-instructions a{color:var(--redeem-accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.redeem-summary{display:grid;grid-template-columns:135px minmax(0,1fr);gap:13px 20px;margin:20px 0 25px;padding:20px;background:#f7eee5;border:1px solid var(--redeem-line);border-radius:11px;font-size:13px;line-height:1.75}.redeem-summary dt{color:var(--redeem-muted);font-weight:400}.redeem-summary dd{color:var(--redeem-ink);margin:0;overflow-wrap:anywhere;font-weight:550}.redeem-consent{display:flex;align-items:flex-start;gap:11px;cursor:pointer;min-height:44px;font-size:13px;line-height:1.9;margin-top:26px}.redeem-consent input{flex:none;width:18px;height:18px;accent-color:var(--redeem-accent);margin-top:4px}.redeem-consent>span{margin:0!important;font-size:13px!important;color:var(--redeem-ink)!important}.redeem-progress-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:21px 0}.redeem-status-pill{display:inline-flex;padding:5px 10px;border-radius:6px;background:var(--redeem-soft);color:var(--redeem-accent);font-size:12px;font-weight:550}.redeem-queue{color:var(--redeem-muted);font-size:12px}.redeem-countdown{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:27px 20px;background:#f3f0d8;border:1px solid #e4dfbd;border-radius:12px;margin:0 0 26px}.redeem-countdown>span{font-size:12px;color:#74613d}.redeem-countdown strong{font-size:39px;letter-spacing:1px;font-weight:550;line-height:1.2;color:var(--redeem-accent);font-variant-numeric:tabular-nums}.redeem-countdown small{font-size:11px;color:#75654c}.redeem-result-reason,.redeem-return-reason{font-size:13px!important;line-height:1.85;padding:13px 16px;background:#f6e5db;border-radius:9px;color:#975b50!important;overflow-wrap:anywhere}.redeem-support{border-top:1px solid var(--redeem-line);margin-top:29px;padding-top:22px}.redeem-support h3{font-size:15px;font-weight:550;margin:0 0 14px}.redeem-support [data-redeem-support-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.redeem-support-item{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:1px solid var(--redeem-line);border-radius:8px;background:#fffcf7;color:var(--redeem-muted);font-size:12px;overflow-wrap:anywhere}.redeem-support-item>span{flex:1;min-width:0}.redeem-support-item>a,.redeem-support-item>button{flex:none;color:var(--redeem-accent);padding:7px 4px;border:0;background:transparent;font-size:12px;cursor:pointer;min-height:32px}.redeem-cancel-dialog{width:470px;max-width:calc(100vw - 28px);padding:27px;background:var(--redeem-paper);color:var(--redeem-ink);border:1px solid var(--redeem-line);border-radius:16px;box-shadow:0 25px 80px #3424452c}.redeem-cancel-dialog::backdrop{background:#34244566;backdrop-filter:blur(3px)}.redeem-cancel-dialog h2{font-size:23px;font-weight:550;line-height:1.4;margin:0 0 14px}.redeem-cancel-dialog p{font-size:13px;color:var(--redeem-muted);line-height:1.8;margin:0}
@media(max-width:650px){.redeem-steps{gap:5px;margin:22px 0 20px}.redeem-steps li{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:8px 4px;min-height:67px;font-size:11px}.redeem-steps li>span{font-size:10px}.redeem-panel{padding:24px 18px;border-radius:14px}.redeem-panel>h2{font-size:25px}.redeem-panel>p,.redeem-instructions{font-size:13px}.redeem-panel input:not([type=checkbox]),.redeem-panel textarea{font-size:16px}.redeem-panel textarea::placeholder{font-size:14px}.redeem-contacts{grid-template-columns:1fr;gap:0}.redeem-contacts legend{font-size:14px}.redeem-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.redeem-actions>.redeem-button{padding:11px 8px;font-size:12px;width:100%;min-height:46px}.redeem-panel form>.redeem-button{width:100%}.redeem-summary{grid-template-columns:88px minmax(0,1fr);gap:10px 13px;padding:17px 14px;font-size:12px}.redeem-countdown strong{font-size:33px}.redeem-countdown small{text-align:center;line-height:1.7}.redeem-support [data-redeem-support-list]{grid-template-columns:1fr}.redeem-support-item{font-size:13px}.redeem-cancel-dialog{padding:23px}.redeem-cancel-dialog h2{font-size:22px}.redeem-notification{font-size:13px;padding:12px 14px}.redeem-consent>span{font-size:13px!important}.redeem-progress>.redeem-actions{grid-template-columns:1fr}.redeem-queue{font-size:12px}}
@media(prefers-reduced-motion:reduce){.redeem-button,.redeem-panel input,.redeem-panel textarea{transition:none}}

.redeem-contact-card{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px 16px;border:1px solid var(--redeem-line);border-radius:9px;background:#fffcf7;font-size:12px;min-width:0}.redeem-contact-card>span{color:var(--redeem-muted);grid-column:1/-1}.redeem-contact-card>strong{font-weight:500;overflow-wrap:anywhere;min-width:0;font-size:13px;line-height:1.8;align-self:center}.redeem-contact-card>a,.redeem-contact-card>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;border:0;background:transparent;color:var(--redeem-accent);font:inherit;font-size:12px;cursor:pointer}.redeem-contact-card>a{text-decoration:underline;text-underline-offset:3px}.redeem-contact-card>button{grid-column:2}.membership-redeem .redeem-panel textarea{font-size:16px}.redeem-panel{scroll-margin-top:100px}

.membership-redeem,.membership-redeem *{box-sizing:border-box}.redeem-panel,.redeem-summary,.redeem-summary>dd,.redeem-progress-top,.redeem-support [data-redeem-support-list]{min-width:0}.redeem-panel h2{overflow-wrap:anywhere}.redeem-result-reason,.redeem-return-reason{white-space:pre-wrap}

.redeem-status-pill[data-status="verifying"]{background:#fff0cc;color:#8b5d1a}

/* Translated labels can be longer than the Chinese labels on narrow screens. */
.redeem-steps li,.redeem-steps li>strong,.redeem-summary dt{min-width:0;overflow-wrap:anywhere;hyphens:auto}
