/* DAISON customer presentation, aligned with the storefront Vault tokens.
 * This is the authoritative visual layer for /redeem. Layout, form IDs, state
 * classes, query tools and payment logic remain owned by the existing scripts.
 */
/* Shared evidence-based task progress on redeem and checkout.
 * Visual adaptation: RustcodeWeb / rust_1966, Uiverse "tall-fly-13".
 * https://uiverse.io/rust_1966/tall-fly-13
 * MIT License
 * Copyright - 2026 rust_1966 (RustcodeWeb)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 * DAISON adaptation: gold palette; bounded visual easing within each stage.
 * Confirmed milestones, accessible values and completion stay evidence-based.
 * Decorative keyframes never animate width or the completion fraction.
 */
.recharge-page .task-flow { margin-top: 18px; }
.recharge-page .task-flow-track {
  height: 20px;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  border: 1px solid color-mix(in srgb, var(--kc-gold, #82621f) 24%, var(--kc-border, #ddd7c9));
  border-radius: 30px;
  background: radial-gradient(ellipse at 50% 0%, var(--kc-panel-soft, #e8e2d6), var(--kc-panel, #fffdf7) 90%);
  box-shadow: inset 0 2px 5px #00000014;
}
.recharge-page .task-flow-fill {
  width: calc(100% * var(--task-flow-fraction, 0));
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: inherit;
  background: linear-gradient(90deg, #9f702b, #c69a3c 42%, #e9ca72 85%, #f4dfa0);
  box-shadow: 0 0 9px #cda84d45, inset 0 1px 1px #fff8d480;
}
.recharge-page .task-flow-fill::before {
  content: "";
  position: absolute;
  inset: -50% -20%;
  background: linear-gradient(110deg, transparent 20%, #fff6cf00 34%, #fff4be75 48%, #fff6cf00 62%, transparent 80%);
  opacity: 0;
  transform: translateX(-75%);
}
.recharge-page .task-flow-particles { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.recharge-page .task-flow-particle { position: absolute; width: 4px; height: 4px; bottom: 3px; border-radius: 50%; background: #fff7d5; box-shadow: 0 0 5px #fff0b5a8; opacity: 0; }
.recharge-page .task-flow-particle:nth-child(1) { left: 12%; --task-particle-delay: 0s; }
.recharge-page .task-flow-particle:nth-child(2) { left: 29%; --task-particle-delay: -.9s; }
.recharge-page .task-flow-particle:nth-child(3) { left: 47%; --task-particle-delay: -2.1s; }
.recharge-page .task-flow-particle:nth-child(4) { left: 66%; --task-particle-delay: -3s; }
.recharge-page .task-flow-particle:nth-child(5) { left: 85%; --task-particle-delay: -4.2s; }
.recharge-page .task-flow[data-state="active"] .task-flow-fill::before { animation: daison-task-flow-ripple 5s ease-in-out infinite; }
.recharge-page .task-flow[data-state="active"] .task-flow-particles { opacity: 1; }
.recharge-page .task-flow[data-state="active"] .task-flow-particle { animation: daison-task-flow-float 5s ease-in-out var(--task-particle-delay) infinite; }
.recharge-page .task-flow[data-motion="paused"] .task-flow-fill::before,
.recharge-page .task-flow[data-motion="paused"] .task-flow-particle { animation-play-state: paused; }
.recharge-page .task-flow[data-state="attention"] .task-flow-fill,
.recharge-page .task-flow[data-state="stopped"] .task-flow-fill { box-shadow: inset 0 1px 1px #fff8d445; }
.recharge-page .task-flow[data-state="done"] .task-flow-fill { background: linear-gradient(90deg, #b17e2b, #d2aa4a 45%, #f1d786); box-shadow: 0 0 10px #cda84d38, inset 0 1px 1px #fff8d480; }
.recharge-page .task-flow .task-stage-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 17px 0 0; padding: 0; }
.recharge-page .task-flow .task-stage { display: flex; align-items: flex-start; gap: 7px; min-width: 0; padding: 0; border: 0; background: none; color: var(--kc-muted, #70685a); }
.recharge-page .task-flow .task-stage-marker { display: grid; place-items: center; width: 16px; height: 16px; flex: 0 0 16px; margin-top: 1px; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; font-weight: 700; line-height: 1; }
.recharge-page .task-flow .task-stage-copy { display: grid; gap: 3px; min-width: 0; }
.recharge-page .task-flow .task-stage-title { color: var(--kc-secondary, #625c50); font-size: 11px; line-height: 1.5; }
.recharge-page .task-flow .task-stage-label { color: inherit; font-size: 12px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.recharge-page .task-flow .task-stage.is-done { color: var(--kc-success, #326646); }
.recharge-page .task-flow .task-stage.is-done .task-stage-marker { background: var(--kc-success, #326646); border-color: transparent; color: var(--kc-panel, #fffdf7); font-size: 11px; }
.recharge-page .task-flow .task-stage.is-active,
.recharge-page .task-flow .task-stage.is-attention { color: var(--kc-gold-bright, #866414); }
.recharge-page .task-flow .task-stage.is-active .task-stage-marker::after { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.recharge-page .task-flow .task-stage.is-stopped { color: var(--kc-danger, #a0212b); }
.recharge-page .task-flow .task-stage.is-skipped .task-stage-marker { border-style: dashed; }
.recharge-page .task-progress-header .task-stage-status { font-size: 11px; font-weight: 600; line-height: 1.5; padding: 4px 9px; border: 1px solid var(--kc-border, #ddd7c9); border-radius: 999px; color: var(--kc-secondary, #625c50); }
.recharge-page .task-progress-header .task-stage-status.is-done { color: var(--kc-success, #326646); }
.recharge-page .task-progress-header .task-stage-status.is-active,
.recharge-page .task-progress-header .task-stage-status.is-attention { color: var(--kc-gold-bright, #866414); }
.recharge-page .task-progress-header .task-stage-status.is-stopped { color: var(--kc-danger, #a0212b); }
.recharge-page .task-stage-progress + .task-progress-text { margin-top: 14px; line-height: 1.7; }
.recharge-page .task-outcome-details { margin-top: 12px; border-top: 1px solid var(--kc-border, #ddd7c9); }
.recharge-page .task-outcome-details > summary { padding: 12px 0 4px; color: var(--kc-secondary, #625c50); cursor: pointer; font-size: 12px; line-height: 1.6; }
.recharge-page .task-outcome-details > summary:hover,
.recharge-page .task-outcome-details > summary:focus-visible { color: var(--kc-gold-bright, #866414); }
.recharge-page .task-outcome-details .exchange-detail-grid { margin-top: 14px; }
.recharge-page .task-outcome-text { padding: 12px 0 0; white-space: pre-line; color: var(--kc-secondary, #625c50); font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.recharge-page .task-outcome-area > p { margin: 12px 0 0; color: var(--kc-secondary, #625c50); font-size: 12px; line-height: 1.8; }
@keyframes daison-task-flow-ripple { 0%, 12% { opacity: 0; transform: translateX(-75%); } 35% { opacity: .7; } 70%, 100% { opacity: 0; transform: translateX(75%); } }
@keyframes daison-task-flow-float { 0%, 100% { opacity: 0; transform: translate(0, 3px) scale(.65); } 35% { opacity: .65; } 75% { opacity: .15; transform: translate(10px, -10px) scale(.9); } }
@media (max-width: 420px) {
  .recharge-page .task-flow .task-stage-list { gap: 8px; }
  .recharge-page .task-flow .task-stage { gap: 5px; }
  .recharge-page .task-flow .task-stage-marker { width: 14px; height: 14px; flex-basis: 14px; font-size: 8px; }
  .recharge-page .task-flow .task-stage-title { font-size: 10px; }
  .recharge-page .task-flow .task-stage-label { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .recharge-page .task-flow[data-state="active"] .task-flow-fill::before,
  .recharge-page .task-flow[data-state="active"] .task-flow-particle { animation: none; opacity: 0; }
}
body.customer-restored.jzplus-theme.recharge-page {
  --kc-font: 'Manrope', 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei UI', sans-serif;
  --kc-bg: #f5f2ea;
  --kc-panel: #fffdf7;
  --kc-panel-soft: #f0ede5;
  --kc-input: #fffefa;
  --kc-text: #24221e;
  --kc-secondary: #625c50;
  --kc-muted: #70685a;
  --kc-primary: #d83a34;
  --kc-primary-hover: #ee4942;
  --kc-primary-soft: #faeaea;
  --kc-gold: #82621f;
  --kc-gold-bright: #866414;
  --kc-gold-border: #c9a64b;
  --kc-gold-soft: #f3ecd9;
  --kc-success: #326646;
  --kc-success-soft: #e9f2e9;
  --kc-warning: #866414;
  --kc-danger: #a0212b;
  --kc-border: #d9d3c6;
  --kc-border-strong: #b9ad91;
  --kc-radius-sm: 9px;
  --kc-radius: 12px;
  --kc-radius-lg: 15px;
  --kc-radius-xl: 20px;
  --kc-ease: cubic-bezier(.23, 1, .32, 1);
  --kc-header: rgba(245, 242, 234, .9);
  --kc-icon: #f0ede5;
  --kc-icon-hover: #e8e3d8;
  --kc-card-bg: linear-gradient(180deg, #fffdf7, #f5f2ea);
  --bg-page: var(--kc-bg);
  --bg-dark: var(--kc-bg);
  --surface: var(--kc-panel);
  --surface-soft: var(--kc-panel-soft);
  --surface-hover: var(--kc-panel-soft);
  --glass: var(--kc-panel);
  --glass-border: var(--kc-border);
  --border-strong: var(--kc-border-strong);
  --divider: var(--kc-border);
  --text-main: var(--kc-text);
  --text-secondary: var(--kc-secondary);
  --text-dim: var(--kc-secondary);
  --text-muted: var(--kc-muted);
  --primary: var(--kc-primary);
  --primary-hover: var(--kc-primary-hover);
  --primary-soft: var(--kc-primary-soft);
  --primary-glow: rgba(216, 58, 52, .15);
  --accent: var(--kc-gold);
  --accent-soft: var(--kc-gold-soft);
  --success: var(--kc-success);
  --success-soft: var(--kc-success-soft);
  --error: var(--kc-danger);
  --error-soft: var(--kc-primary-soft);
  --radius: var(--kc-radius);
  --shadow-focus: 0 0 0 3px color-mix(in srgb, var(--kc-gold) 18%, transparent);
  display: block;
  min-height: 100vh;
  color: var(--kc-text);
  background: var(--kc-bg);
  font-family: var(--kc-font);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
body.customer-restored.jzplus-theme.recharge-page.theme-dark {
  --kc-bg: #090a0c;
  --kc-panel: #111318;
  --kc-panel-soft: #171a20;
  --kc-input: #0b0d10;
  --kc-text: #f5f1e9;
  --kc-secondary: #b3ada2;
  --kc-muted: #9a9489;
  --kc-primary-soft: #351515;
  --kc-gold: #c8a353;
  --kc-gold-bright: #f1d37a;
  --kc-gold-soft: #322817;
  --kc-success: #89c89b;
  --kc-success-soft: #16291d;
  --kc-warning: #d5aa51;
  --kc-danger: #ef9b9c;
  --kc-border: #292c32;
  --kc-border-strong: #494437;
  --kc-header: #090a0ce6;
  --kc-icon: #101216;
  --kc-icon-hover: #15171b;
  --kc-card-bg: linear-gradient(180deg, #181615, #0d0c0b);
}
body.customer-restored button,
body.customer-restored input:not(.mono),
body.customer-restored select,
body.customer-restored textarea:not(.mono) { font-family: var(--kc-font); }
body.customer-restored h1,
body.customer-restored h2,
body.customer-restored h3,
body.customer-restored h4 { font-family: var(--kc-font); }
body.customer-restored [hidden] { display: none !important; }
body.customer-restored ::selection { color: var(--kc-text); background: var(--kc-gold-soft); }
body.customer-restored :focus-visible { outline: 2px solid var(--kc-gold-bright); outline-offset: 3px; }
body.customer-restored a { color: inherit; }
body.customer-restored .skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 10px 14px; border-radius: 10px; color: #fff; background: var(--kc-primary); transform: translateY(-160%); }
body.customer-restored .skip-link:focus { transform: translateY(0); }
body.customer-restored .topbar { position: sticky; top: 0; z-index: 60; width: 100%; min-height: 74px; margin: 0; padding-inline: max(24px, calc((100% - 1220px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 32px; border-bottom: 1px solid color-mix(in srgb, var(--kc-gold) 13%, transparent); background: var(--kc-header); -webkit-backdrop-filter: blur(18px) saturate(1.1); backdrop-filter: blur(18px) saturate(1.1); text-align: left; }
body.customer-restored .brand-lockup { display: inline-grid; grid-template-columns: 38px auto; grid-template-rows: auto auto; align-items: center; gap: 1px 11px; color: var(--kc-text); text-decoration: none; flex-shrink: 0; }
body.customer-restored .brand-lockup img { grid-row: 1 / 3; width: 38px; height: 38px; border-radius: 10px; object-fit: contain; }
body.customer-restored .brand-name { align-self: end; color: var(--kc-gold-bright); font-size: 15px; font-weight: 700; letter-spacing: .15em; line-height: 1.15; }
body.customer-restored .brand-subtitle { align-self: start; padding: 0; border: 0; color: var(--kc-muted); font-size: 9px; letter-spacing: .16em; line-height: 1.6; }
body.customer-restored .topbar-actions { display: flex; align-items: center; gap: 22px; }
body.customer-restored.jzplus-theme .text-action,
body.customer-restored .service-online { display: inline-flex; align-items: center; gap: 8px; width: auto; min-height: 36px; height: auto; margin: 0; padding: 0 !important; border: 0 !important; color: var(--kc-secondary) !important; background: transparent !important; text-decoration: none; font-size: 12px; font-weight: 600; white-space: nowrap; cursor: pointer; }
body.customer-restored .service-online b { font: inherit; }
body.customer-restored .service-online > span { width: 7px; height: 7px; border-radius: 50%; background: var(--kc-success); box-shadow: 0 0 0 5px rgba(138, 209, 176, .08); }
body.customer-restored.jzplus-theme .topbar .text-action:hover { color: var(--kc-text) !important; background: transparent !important; }
body.customer-restored .exchange-tools { flex-shrink: 0; gap: 8px; }
body.customer-restored.jzplus-theme .btn-ghost { width: 42px; height: 42px; min-width: 42px; min-height: 42px; padding: 0 !important; border: 1px solid var(--kc-border) !important; border-radius: 10px; color: var(--kc-secondary) !important; background: var(--kc-icon) !important; box-shadow: none; }
body.customer-restored.jzplus-theme #langToggle { min-width: 42px; font-size: 12px; font-weight: 600; }
body.customer-restored .btn-ghost svg { width: 19px; height: 19px; }
body.customer-restored .exchange-container { position: relative; width: 100%; max-width: none; margin: 0; }
body.customer-restored .redeem-hero-grid { width: min(1220px, calc(100% - 48px)); min-height: 680px; margin: 0 auto; padding: 54px 0 62px; display: grid; grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr); align-items: center; gap: 70px; }
body.customer-restored .redemption-intro { min-width: 0; }
body.customer-restored .section-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 26px; color: var(--kc-gold); font-size: 11px; font-weight: 600; letter-spacing: .15em; }
body.customer-restored .section-kicker > span { width: 30px; height: 1px; background: var(--kc-gold); }
body.customer-restored .redemption-intro > h1 { margin: 0 0 20px; color: var(--kc-text); -webkit-text-fill-color: var(--kc-text); font-family: var(--kc-font); font-size: clamp(44px, 4.2vw, 60px); font-weight: 600; line-height: 1.22; letter-spacing: -.035em; }
body.customer-restored .intro-copy { max-width: 470px; margin: 0; color: var(--kc-secondary); font-size: 15px; line-height: 1.9; }
body.customer-restored .trust-points { display: flex; flex-wrap: wrap; gap: 0; margin: 32px 0 30px; padding: 0; list-style: none; }
body.customer-restored .trust-points li { padding: 0 16px; color: var(--kc-secondary); font-size: 12px; border-right: 1px solid var(--kc-border-strong); }
body.customer-restored .trust-points li:first-child { padding-left: 0; }
body.customer-restored .trust-points li:last-child { border-right: 0; }
body.customer-restored .trust-points b { margin-right: 5px; color: var(--kc-gold); font-variant-numeric: tabular-nums; }
body.customer-restored .plan-mini-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body.customer-restored .plan-mini-card { min-width: 0; padding: 15px 14px; border: 1px solid color-mix(in srgb, var(--kc-gold-bright) 14%, transparent); border-radius: var(--kc-radius-lg); background: var(--kc-card-bg); box-shadow: 0 18px 48px #00000012; transition: border-color .36s ease, box-shadow .42s ease; }
body.customer-restored.theme-dark .plan-mini-card { box-shadow: 0 18px 48px #00000047; }
body.customer-restored .plan-mini-card.featured { border-color: color-mix(in srgb, var(--kc-gold) 45%, var(--kc-border)); }
body.customer-restored .plan-mini-card > span { color: var(--kc-gold); font-size: 10px; font-weight: 600; letter-spacing: .12em; }
body.customer-restored .plan-mini-card h2 { margin: 8px 0 6px; color: var(--kc-text); font-size: 13px; font-weight: 700; }
body.customer-restored .plan-mini-card p { margin: 0; color: var(--kc-muted); font-size: 11px; line-height: 1.5; }
body.customer-restored .region-hint { margin: 16px 0 0; color: var(--kc-muted); font-size: 11px; }
body.customer-restored .secure-window { min-width: 0; overflow: hidden; border: 1px solid var(--kc-border-strong); border-radius: var(--kc-radius-xl); background: var(--kc-panel); box-shadow: 0 22px 55px rgba(84, 64, 20, .08); }
body.customer-restored.theme-dark .secure-window { box-shadow: 0 22px 55px rgba(0, 0, 0, .34); }
body.customer-restored .window-chrome { height: 56px; padding: 0 18px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--kc-border); color: var(--kc-muted); font-size: 9px; font-weight: 600; letter-spacing: .18em; }
body.customer-restored .window-dots { display: flex; gap: 7px; }
body.customer-restored .window-dots i { width: 8px; height: 8px; border-radius: 50%; background: #47474b; }
body.customer-restored .window-dots i:first-child { background: var(--kc-gold); }
body.customer-restored .ssl-badge { justify-self: end; padding: 5px 7px; border: 1px solid var(--kc-border-strong); border-radius: var(--kc-radius-sm); color: var(--kc-gold); letter-spacing: 0; }
body.customer-restored .window-body { min-height: 570px; padding: 30px 38px 34px; }
body.customer-restored .flow-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
body.customer-restored .flow-eyebrow { margin: 0 0 10px; color: var(--kc-gold); font-size: 11px; font-weight: 600; }
body.customer-restored .flow-toolbar h2 { margin: 0; color: var(--kc-text); font-family: var(--kc-font); font-size: 30px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
body.customer-restored .flow-badge { padding: 6px 11px; border: 1px solid var(--kc-border); border-radius: 999px; color: var(--kc-muted); background: transparent; font-size: 10px; white-space: nowrap; }
body.customer-restored .flow-badge.gate,
body.customer-restored .flow-badge.ready { color: var(--kc-warning); border-color: color-mix(in srgb, var(--kc-warning) 38%, transparent); }
body.customer-restored .flow-badge.running { color: var(--kc-gold); border-color: color-mix(in srgb, var(--kc-gold) 38%, transparent); }
body.customer-restored .flow-badge.success { color: var(--kc-success); border-color: color-mix(in srgb, var(--kc-success) 38%, transparent); }
body.customer-restored .flow-badge.failed,
body.customer-restored .flow-badge.manual { color: var(--kc-danger); border-color: color-mix(in srgb, var(--kc-danger) 38%, transparent); }
/* Adapt the retained five-tool navigation and form controls to the old window. */
body.customer-restored .exchange-switchboard { grid-template-columns: 1fr; gap: 12px; margin-top: 0; }
body.customer-restored.jzplus-theme .exchange-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; padding: 3px; gap: 3px; background: var(--kc-input); border: 1px solid var(--kc-border); border-radius: var(--kc-radius); }
body.customer-restored.jzplus-theme .exchange-tabs .exchange-tab { width: 100%; max-width: 100%; min-height: 40px; height: auto; margin: 0; padding: 7px 4px !important; border-radius: var(--kc-radius-sm); font-size: 11px; font-weight: 600; color: var(--kc-muted); white-space: normal; word-break: normal; overflow-wrap: anywhere; }
body.customer-restored.jzplus-theme .exchange-tabs .exchange-tab.active { color: var(--kc-gold-bright); background: var(--kc-gold-soft) !important; border-color: transparent !important; }
body.customer-restored.jzplus-theme .exchange-tabs .exchange-tab:hover { color: var(--kc-gold-bright); }
body.customer-restored.jzplus-theme .exchange-queue-bar { min-height: 32px; width: 100%; padding: 0; border: 0; background: transparent; color: var(--kc-secondary); font-size: 11px; flex-wrap: wrap; white-space: normal; }
body.customer-restored.jzplus-theme .exchange-queue-count { color: var(--kc-gold); font-size: 14px; font-variant-numeric: tabular-nums; }
body.customer-restored .exchange-query-count { color: var(--kc-gold); }
body.customer-restored .exchange-queue-state { margin-left: auto; font-size: 10px; }
body.customer-restored .exchange-section { margin-top: 20px; }
body.customer-restored.jzplus-theme .exchange-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
body.customer-restored .exchange-step { position: relative; display: flex; flex-direction: row; align-items: center; gap: 8px; padding-top: 18px; color: var(--kc-muted); white-space: normal; }
body.customer-restored .exchange-step::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--kc-border-strong); }
body.customer-restored .exchange-step.active::before { height: 2px; background: var(--kc-gold); }
body.customer-restored .exchange-step.done::before { background: rgba(138, 209, 176, .62); }
body.customer-restored.jzplus-theme .exchange-step .exchange-step-number { width: auto; height: auto; padding: 0; background: transparent; color: inherit; font-size: 10px; font-weight: 500; }
body.customer-restored.jzplus-theme .exchange-step.active .exchange-step-number { background: transparent; color: var(--kc-gold); }
body.customer-restored.jzplus-theme .exchange-step.done .exchange-step-number { background: transparent; color: var(--kc-success); }
body.customer-restored .exchange-step-label { font-size: 11px; font-weight: 600; }
body.customer-restored .exchange-step-line { display: none; }
body.customer-restored.jzplus-theme .exchange-card { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.customer-restored .exchange-card-panel { min-width: 0; }
body.customer-restored .panel-copy { margin: 0 0 22px; color: var(--kc-secondary); font-size: 12px; line-height: 1.7; }
body.customer-restored .field-hint { display: block; margin: 12px 0 0; color: var(--kc-muted); font-size: 11px; line-height: 1.7; }
body.customer-restored .exchange-form-group label { font-size: 12px; font-weight: 600; }
body.customer-restored.jzplus-theme .exchange-input { background: var(--kc-input) !important; border-color: var(--kc-border-strong) !important; border-radius: var(--kc-radius-sm) !important; color: var(--kc-text) !important; box-shadow: none; }
body.customer-restored.jzplus-theme .exchange-input:focus { border-color: var(--kc-gold) !important; box-shadow: var(--shadow-focus); }
body.customer-restored.jzplus-theme .exchange-btn.ghost { background: var(--kc-panel) !important; color: var(--kc-text) !important; border: 1px solid var(--kc-border) !important; }
body.customer-restored.jzplus-theme .exchange-btn { min-height: 46px; padding: 10px 18px !important; border-radius: 10px !important; font-size: 13px; font-weight: 600; letter-spacing: .025em; }
body.customer-restored .exchange-buttons.split { grid-template-columns: 1fr 1fr; }
body.customer-restored .exchange-valid { margin-bottom: 18px; border: 1px solid color-mix(in srgb, var(--kc-success) 30%, transparent); border-radius: var(--kc-radius-sm); color: var(--kc-success); background: var(--kc-success-soft); }
body.customer-restored .exchange-hint { font-size: 12px; overflow-wrap: anywhere; }
/* The upstream lookup layout assumes a full-page 1040px container. Inside the
 * restored redemption window its fixed 390px list leaves no readable detail
 * column; stack the list and detail at every viewport instead. */
body.customer-restored .secure-window .exchange-results-layout.with-list { grid-template-columns: minmax(0, 1fr); gap: 24px; }
body.customer-restored .secure-window .exchange-results-layout > *,
body.customer-restored .secure-window .exchange-batch-headline,
body.customer-restored .secure-window .exchange-batch-item,
body.customer-restored .secure-window .exchange-batch-codeline,
body.customer-restored .secure-window .exchange-detail-grid > * { min-width: 0; }
body.customer-restored .secure-window .exchange-batch-head { flex-wrap: wrap; }
body.customer-restored .secure-window .exchange-batch-list { max-width: 100%; }
body.customer-restored .secure-window .exchange-batch-code { min-width: 0; overflow-wrap: anywhere; }
body.customer-restored .secure-window .exchange-batch-sub,
body.customer-restored .secure-window .exchange-job-id { overflow-wrap: anywhere; word-break: normal; }
body.customer-restored .secure-window .exchange-detail-card { min-height: 0; }
body.customer-restored .secure-window .exchange-detail-banner { margin: 0 0 18px; }
body.customer-restored .secure-window .exchange-detail-status { position: static; display: inline-block; margin-top: 10px; }
body.customer-restored .secure-window .exchange-detail-banner h2,
body.customer-restored .secure-window .exchange-detail-banner p { overflow-wrap: anywhere; word-break: normal; }
body.customer-restored .secure-window .exchange-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
body.customer-restored .secure-window .exchange-detail-grid strong { word-break: normal; overflow-wrap: anywhere; }
body.customer-restored .secure-window .exchange-detail-banner { color: var(--kc-text); background: var(--kc-success-soft); border-color: color-mix(in srgb, var(--kc-success) 30%, var(--kc-border)); border-radius: var(--kc-radius); }
body.customer-restored .secure-window .exchange-detail-banner.unused,
body.customer-restored .secure-window .exchange-detail-banner.processing,
body.customer-restored .secure-window .exchange-detail-banner.payment_unknown,
body.customer-restored .secure-window .exchange-detail-banner.closeout_pending,
body.customer-restored .secure-window .exchange-detail-banner.queued { background: var(--kc-gold-soft); border-color: color-mix(in srgb, var(--kc-gold) 35%, var(--kc-border)); }
body.customer-restored .secure-window .exchange-detail-banner.failed,
body.customer-restored .secure-window .exchange-detail-banner.missing { background: var(--kc-primary-soft); border-color: color-mix(in srgb, var(--kc-danger) 30%, var(--kc-border)); }
body.customer-restored .secure-window .exchange-detail-banner h2,
body.customer-restored .secure-window .exchange-batch-headline h2 { color: var(--kc-text); font-weight: 600; }
body.customer-restored .secure-window .exchange-detail-banner p,
body.customer-restored .secure-window .exchange-detail-banner .exchange-result-kicker { color: var(--kc-secondary); }
body.customer-restored .secure-window .exchange-detail-status { color: var(--kc-success); }
body.customer-restored .secure-window .exchange-detail-banner.unused .exchange-detail-status,
body.customer-restored .secure-window .exchange-detail-banner.processing .exchange-detail-status,
body.customer-restored .secure-window .exchange-detail-banner.payment_unknown .exchange-detail-status,
body.customer-restored .secure-window .exchange-detail-banner.closeout_pending .exchange-detail-status,
body.customer-restored .secure-window .exchange-detail-banner.queued .exchange-detail-status { color: var(--kc-gold-bright); }
body.customer-restored .secure-window .exchange-detail-banner.failed .exchange-detail-status,
body.customer-restored .secure-window .exchange-detail-banner.missing .exchange-detail-status { color: var(--kc-danger); }
body.customer-restored .secure-window .exchange-batch-item { border-radius: var(--kc-radius-sm); }
body.customer-restored .secure-window .exchange-batch-item.completed { background: var(--kc-success-soft); border-color: color-mix(in srgb, var(--kc-success) 30%, var(--kc-border)); box-shadow: inset 3px 0 0 var(--kc-success); }
body.customer-restored .secure-window .exchange-batch-item.completed .exchange-batch-code { color: var(--kc-text); }
body.customer-restored .secure-window .exchange-batch-item.completed .exchange-batch-sub,
body.customer-restored .secure-window .exchange-batch-item.completed .exchange-batch-meta { color: var(--kc-secondary); }
body.customer-restored .secure-window .exchange-batch-item.unused,
body.customer-restored .secure-window .exchange-batch-item.processing,
body.customer-restored .secure-window .exchange-batch-item.payment_unknown,
body.customer-restored .secure-window .exchange-batch-item.closeout_pending,
body.customer-restored .secure-window .exchange-batch-item.queued { box-shadow: inset 3px 0 0 var(--kc-gold); }
body.customer-restored .secure-window .exchange-batch-item.failed,
body.customer-restored .secure-window .exchange-batch-item.missing { box-shadow: inset 3px 0 0 var(--kc-danger); }
body.customer-restored .secure-window .exchange-batch-item.active { border-color: var(--kc-gold); }
body.customer-restored .secure-window .exchange-chip.found strong,
body.customer-restored .secure-window .exchange-batch-meta.completed strong { color: var(--kc-success); }
body.customer-restored .secure-window .exchange-chip.processing strong,
body.customer-restored .secure-window .exchange-chip.unused strong,
body.customer-restored .secure-window .exchange-batch-meta.processing strong,
body.customer-restored .secure-window .exchange-batch-meta.queued strong,
body.customer-restored .secure-window .exchange-batch-meta.payment_unknown strong,
body.customer-restored .secure-window .exchange-batch-meta.closeout_pending strong,
body.customer-restored .secure-window .exchange-batch-meta.unused strong { color: var(--kc-gold-bright); }
body.customer-restored .secure-window .exchange-chip.failed strong,
body.customer-restored .secure-window .exchange-batch-meta.failed strong,
body.customer-restored .secure-window .exchange-batch-meta.missing strong { color: var(--kc-danger); }
body.customer-restored .secure-window .exchange-plan-mini { color: var(--kc-success); background: var(--kc-success-soft); }
body.customer-restored .secure-window .exchange-detail-actions { border-color: var(--kc-border); }
body.customer-restored .secure-window .exchange-reuse-btn,
body.customer-restored .secure-window .exchange-mini-btn,
body.customer-restored .secure-window .exchange-batch-copy { border-radius: var(--kc-radius-sm) !important; font-weight: 600; }
body.customer-restored .secure-window .exchange-reuse-btn:hover,
body.customer-restored .secure-window .exchange-mini-btn:hover,
body.customer-restored .secure-window .exchange-batch-copy:hover { background: var(--kc-panel-soft) !important; border-color: var(--kc-gold) !important; color: var(--kc-gold-bright) !important; }
body.customer-restored .info-grid { width: 100%; padding: 54px max(24px, calc((100% - 1220px) / 2)); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; border-top: 1px solid var(--kc-border); border-bottom: 1px solid var(--kc-border); background: transparent; }
body.customer-restored .info-grid article { min-width: 0; min-height: 190px; padding: 24px; border: 1px solid var(--kc-border); border-radius: 13px; background: var(--kc-icon); transition: border-color .36s ease, box-shadow .42s ease; }
body.customer-restored .info-grid .section-kicker { margin-bottom: 18px; color: var(--kc-gold); }
body.customer-restored .info-grid h2 { margin: 0 0 12px; color: var(--kc-text); font-family: var(--kc-font); font-size: 24px; font-weight: 600; line-height: 1.4; }
body.customer-restored .info-grid p { margin: 0; color: var(--kc-muted); font-size: 12px; line-height: 1.8; }
body.customer-restored .runtime-card h2 > span:first-child { color: var(--kc-success); }
body.customer-restored .runtime-card.load-high h2 > span:first-child { color: var(--kc-danger); }
body.customer-restored .runtime-card.load-mid h2 > span:first-child { color: var(--kc-warning); }
body.customer-restored .public-slot-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
body.customer-restored .public-slot-box { width: 12px; height: 5px; border-radius: 999px; background: #3a3939; }
body.customer-restored .public-slot-box.occupied { background: var(--kc-success); }
body.customer-restored .faq-panel-v2 { width: min(1220px, calc(100% - 48px)); margin: 28px auto 60px; padding: 0 20px; border: 1px solid var(--kc-border); border-radius: 13px; color: var(--kc-secondary); background: var(--kc-icon); }
body.customer-restored .faq-panel-v2 summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--kc-text); font-size: 12px; font-weight: 600; cursor: pointer; list-style: none; }
body.customer-restored .faq-panel-v2 summary::-webkit-details-marker { display: none; }
body.customer-restored .faq-panel-v2 summary > span:last-child { font-size: 20px; transition: transform 160ms ease; }
body.customer-restored .faq-panel-v2[open] summary > span:last-child { transform: rotate(180deg); }
body.customer-restored .faq-panel-v2 ul { margin: 0; padding: 0 0 20px 18px; color: var(--kc-muted); font-size: 11px; line-height: 1.8; }
/* Preserve the task state distinctions in both color modes. */
body.customer-restored .status-success { color: var(--kc-success); background: var(--kc-success-soft); border-color: color-mix(in srgb, var(--kc-success) 38%, var(--kc-border)); }
body.customer-restored .status-error { color: var(--kc-danger); background: var(--kc-primary-soft); border-color: color-mix(in srgb, var(--kc-danger) 38%, var(--kc-border)); }
body.customer-restored .flow-badge.closeout_pending,
body.customer-restored .flow-badge.payment_unknown { color: var(--kc-warning); background: var(--kc-gold-soft); border-color: color-mix(in srgb, var(--kc-warning) 38%, var(--kc-border)); }
body.customer-restored .task-progress { border-radius: var(--kc-radius); box-shadow: none; }
body.customer-restored .task-progress-track { background: var(--kc-border); }
body.customer-restored .task-progress-bar { background: var(--kc-gold); }
body.customer-restored .task-progress-bar.error { background: var(--kc-danger); }
body.customer-restored .task-progress-bar.reconciliation { background: var(--kc-warning); transition: none; animation: none; }
body.customer-restored .renewal-choice { display: flex; align-items: center; gap: 10px; margin: 16px 0 8px; font-size: 14px; line-height: 1.5; }
body.customer-restored .renewal-choice input { width: 18px; height: 18px; margin: 0; accent-color: var(--kc-primary); }
/* The retained customer guidance dialog shares this page's visual tokens. */
body.customer-restored .customer-gate-dialog { color: var(--kc-text); background: var(--kc-panel); border-color: var(--kc-border-strong); border-radius: var(--kc-radius-xl); }
body.customer-restored .customer-gate-dialog :focus-visible { outline-color: var(--kc-gold-bright); }
body.customer-restored .customer-gate-dialog-head h2 { color: var(--kc-text); font-family: var(--kc-font); font-weight: 600; }
body.customer-restored .customer-gate-kicker { color: var(--kc-gold); font-family: var(--kc-font); }
body.customer-restored .customer-gate-dialog-head p,
body.customer-restored .customer-gate-read-progress p,
body.customer-restored .customer-gate-section-intro p,
body.customer-restored .customer-gate-contact-meta small,
body.customer-restored .customer-gate-end-marker,
body.customer-restored .customer-gate-scroll-hint,
body.customer-restored .customer-gate-action-row > span { color: var(--kc-secondary); }
body.customer-restored .customer-gate-section-intro h3,
body.customer-restored .customer-gate-contact-meta strong,
body.customer-restored .customer-gate-ack span b { color: var(--kc-text); }
body.customer-restored .customer-gate-stages li,
body.customer-restored .customer-gate-contact-card { color: var(--kc-secondary); background: var(--kc-panel-soft); border-color: var(--kc-border); }
body.customer-restored .customer-gate-stages li span { color: var(--kc-secondary); background: var(--kc-border); }
body.customer-restored .customer-gate-stages .active,
body.customer-restored .customer-gate-ack,
body.customer-restored .customer-gate-guide-copy { color: var(--kc-text); background: var(--kc-gold-soft); border-color: color-mix(in srgb, var(--kc-gold) 35%, var(--kc-border)); }
body.customer-restored .customer-gate-stages .active span { color: var(--kc-bg); background: var(--kc-gold-bright); }
body.customer-restored .customer-gate-stages .done { color: var(--kc-success); border-color: color-mix(in srgb, var(--kc-success) 30%, var(--kc-border)); }
body.customer-restored .customer-gate-stages .done span { color: var(--kc-success); background: var(--kc-success-soft); }
body.customer-restored .customer-gate-read-track { background: var(--kc-border); }
body.customer-restored .customer-gate-read-track i { background: var(--kc-gold); }
body.customer-restored .customer-gate-dialog-scroll { scrollbar-color: var(--kc-border-strong) var(--kc-panel); }
body.customer-restored .customer-gate-section-number { color: var(--kc-gold); background: var(--kc-gold-soft); border-color: var(--kc-border-strong); }
body.customer-restored .customer-gate-contact-meta p { color: var(--kc-gold-bright); }
body.customer-restored .customer-gate-copy-status { color: var(--kc-success); }
body.customer-restored .customer-gate-guide-copy,
body.customer-restored .customer-gate-rules,
body.customer-restored .customer-gate-ack span { color: var(--kc-secondary); }
body.customer-restored .customer-gate-dialog-footer { background: var(--kc-panel); border-color: var(--kc-border); box-shadow: 0 -14px 30px rgba(0, 0, 0, .08); }
body.customer-restored .customer-gate-ack input { accent-color: var(--kc-primary); }
body.customer-restored #customerGateDialog .customer-gate-primary,
body.customer-restored #customerGateDialog .customer-gate-secondary,
body.customer-restored #customerGateDialog .customer-gate-close { color: var(--kc-text); background: var(--kc-panel-soft); border-color: var(--kc-border-strong); border-radius: var(--kc-radius-sm); }
body.customer-restored #customerGateDialog .customer-gate-secondary:hover:not(:disabled),
body.customer-restored #customerGateDialog .customer-gate-close:hover:not(:disabled) { color: var(--kc-gold-bright); background: var(--kc-panel-soft); border-color: var(--kc-gold); }
body.customer-restored #customerGateDialog .customer-gate-copy-contact { color: var(--kc-gold-bright); background: var(--kc-gold-soft); border-color: var(--kc-border-strong); }
body.customer-restored #customerGateDialog .customer-gate-copy-contact:hover:not(:disabled) { border-color: var(--kc-gold); background: var(--kc-gold-soft); }
/* Storefront interaction primitives. These selectors deliberately outrank the
 * retained recharge reset and its !important presentation adapter. The sweep
 * sits below text even when a translated button has no inner span. */
body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary,
body.customer-restored #customerGateDialog .customer-gate-primary {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid var(--kc-gold-border) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #b11c28 0%, #9f1620 56%, #7d1018 100%) !important;
  color: #fff1d3 !important;
  box-shadow: 0 7px 18px #00000047, inset 0 1px #fff1d31c !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .025em;
  transition: border-color .22s ease, box-shadow .22s ease, transform .12s ease;
}
body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary::before,
body.customer-restored #customerGateDialog .customer-gate-primary::before {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: -58%;
  width: 42%;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 0%, rgba(255, 241, 211, .05) 35%, rgba(244, 214, 137, .38) 50%, rgba(255, 241, 211, .07) 65%, transparent 100%);
  transform: skew(-18deg) translateX(0);
  transition: none;
}
body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary:focus-visible:not(:disabled):not([aria-disabled='true']),
body.customer-restored #customerGateDialog .customer-gate-primary:focus-visible:not(:disabled):not([aria-disabled='true']) {
  border-color: #e1c36a !important;
  box-shadow: 0 10px 24px #00000052, 0 0 18px #c8a3531f, inset 0 1px #fff1d329 !important;
  transform: translateY(-1px);
}
body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary:focus-visible:not(:disabled):not([aria-disabled='true'])::before,
body.customer-restored #customerGateDialog .customer-gate-primary:focus-visible:not(:disabled):not([aria-disabled='true'])::before {
  transform: skew(-18deg) translateX(410%);
  transition: transform .9s cubic-bezier(.22, .72, .22, 1);
}
body.customer-restored.jzplus-theme.recharge-page .exchange-btn.ghost,
body.customer-restored.jzplus-theme.recharge-page .btn-ghost,
body.customer-restored.jzplus-theme.recharge-page .exchange-tab,
body.customer-restored.jzplus-theme.recharge-page .exchange-reuse-btn,
body.customer-restored.jzplus-theme.recharge-page .exchange-mini-btn,
body.customer-restored.jzplus-theme.recharge-page .exchange-batch-copy,
body.customer-restored #customerGateDialog :is(.customer-gate-secondary, .customer-gate-close, .customer-gate-copy-contact) {
  transition: border-color .18s ease, color .18s ease, background-color .18s ease, transform .12s ease;
}
body.customer-restored #customerGateDialog .customer-gate-close {
  flex-basis: 42px;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  color: var(--kc-secondary);
  background: var(--kc-icon);
  border-color: var(--kc-border);
}
body.customer-restored #customerGateDialog :is(.customer-gate-primary, .customer-gate-secondary) {
  min-height: 46px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
}
body.customer-restored #customerGateDialog .customer-gate-contact-card { border-radius: var(--kc-radius-lg); }
body.customer-restored .topbar :is(.text-action, .service-online) { transition: color .18s ease; }
body.customer-restored .service-online:hover,
body.customer-restored .service-online:focus-visible { color: var(--kc-text) !important; }
body.customer-restored .faq-panel-v2 summary { transition: color .18s ease; }
body.customer-restored .faq-panel-v2 summary:hover,
body.customer-restored .faq-panel-v2 summary:focus-visible { color: var(--kc-gold-bright); }
body.customer-restored #redeemWindow,
body.customer-restored #supportInfo { scroll-margin-top: 94px; }
@media (hover: hover) and (pointer: fine) {
  body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary:hover:not(:disabled):not([aria-disabled='true']),
  body.customer-restored #customerGateDialog .customer-gate-primary:hover:not(:disabled):not([aria-disabled='true']) {
    border-color: #e1c36a !important;
    box-shadow: 0 10px 24px #00000052, 0 0 18px #c8a3531f, inset 0 1px #fff1d329 !important;
    transform: translateY(-1px);
  }
  body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary:hover:not(:disabled):not([aria-disabled='true'])::before,
  body.customer-restored #customerGateDialog .customer-gate-primary:hover:not(:disabled):not([aria-disabled='true'])::before {
    transform: skew(-18deg) translateX(410%);
    transition: transform .9s cubic-bezier(.22, .72, .22, 1);
  }
  body.customer-restored.jzplus-theme.recharge-page .btn-ghost:hover:not(:disabled):not([aria-disabled='true']),
  body.customer-restored #customerGateDialog .customer-gate-close:hover:not(:disabled):not([aria-disabled='true']) {
    border-color: color-mix(in srgb, var(--kc-gold) 55%, transparent) !important;
    color: var(--kc-gold-bright) !important;
    background: var(--kc-icon-hover) !important;
  }
  body.customer-restored.jzplus-theme.recharge-page .exchange-btn.ghost:hover:not(:disabled):not([aria-disabled='true']),
  body.customer-restored #customerGateDialog .customer-gate-secondary:hover:not(:disabled):not([aria-disabled='true']) {
    border-color: color-mix(in srgb, var(--kc-gold) 50%, transparent) !important;
    color: var(--kc-text) !important;
    background: var(--kc-panel-soft) !important;
  }
  /* These cards explain plans and service capacity; no pointer or click motion. */
  body.customer-restored .plan-mini-card:hover,
  body.customer-restored .info-grid article:hover {
    border-color: color-mix(in srgb, var(--kc-gold-bright) 45%, var(--kc-border));
    box-shadow: 0 0 18px color-mix(in srgb, var(--kc-gold) 12%, transparent);
  }
}
body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary:active:not(:disabled):not([aria-disabled='true']),
body.customer-restored #customerGateDialog .customer-gate-primary:active:not(:disabled):not([aria-disabled='true']) {
  transform: translateY(1px) scale(.985);
  box-shadow: 0 2px 7px #00000052, inset 0 2px 5px #00000038 !important;
}
body.customer-restored.jzplus-theme.recharge-page :is(.btn-ghost, .exchange-tab, .exchange-reuse-btn, .exchange-mini-btn, .exchange-batch-copy):active:not(:disabled):not([aria-disabled='true']),
body.customer-restored #customerGateDialog :is(.customer-gate-close, .customer-gate-copy-contact):active:not(:disabled):not([aria-disabled='true']) { transform: scale(.96); }
/* Disabled payment/reconciliation actions must remain visibly unavailable. */
body.customer-restored.jzplus-theme.recharge-page button:is(:disabled, [aria-disabled='true']),
body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary:is(:disabled, [aria-disabled='true']),
body.customer-restored #customerGateDialog button:is(:disabled, [aria-disabled='true']),
body.customer-restored #customerGateDialog .customer-gate-primary:is(:disabled, [aria-disabled='true']) {
  cursor: not-allowed;
  opacity: .55;
  transform: none !important;
  box-shadow: none !important;
}
body.customer-restored.jzplus-theme.recharge-page button:is(:disabled, [aria-disabled='true'])::before,
body.customer-restored #customerGateDialog button:is(:disabled, [aria-disabled='true'])::before { display: none !important; }
@media (max-width: 980px) {
  body.customer-restored .redeem-hero-grid { grid-template-columns: 1fr; gap: 42px; padding-top: 42px; }
  body.customer-restored .redemption-intro { max-width: 720px; }
  body.customer-restored .secure-window { width: 100%; }
}
@media (max-width: 720px) {
  body.customer-restored .topbar { width: 100%; min-height: 62px; padding-inline: 14px; gap: 12px; }
  body.customer-restored .brand-lockup { grid-template-columns: 34px auto; grid-template-rows: auto; }
  body.customer-restored .brand-lockup img { grid-row: auto; width: 34px; height: 34px; }
  body.customer-restored .brand-name { align-self: center; font-size: 12px; }
  body.customer-restored .brand-subtitle,
  body.customer-restored .service-online { display: none; }
  body.customer-restored .topbar-actions { gap: 12px; }
  body.customer-restored .exchange-tools { gap: 6px; }
  body.customer-restored .redeem-hero-grid { width: calc(100% - 20px); min-height: auto; padding: 32px 0 42px; gap: 30px; }
  body.customer-restored .redemption-intro > h1 { font-size: clamp(34px, 10.5vw, 48px); line-height: 1.24; }
  body.customer-restored .intro-copy { font-size: 13px; line-height: 1.75; }
  body.customer-restored .plan-mini-grid { grid-template-columns: 1fr; }
  body.customer-restored .plan-mini-card { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 2px 10px; }
  body.customer-restored .plan-mini-card h2 { margin: 0; }
  body.customer-restored .plan-mini-card p { grid-column: 2; }
  body.customer-restored .secure-window { border-radius: var(--kc-radius-lg); }
  body.customer-restored.jzplus-theme .exchange-btn { min-height: 48px; }
  body.customer-restored .window-body { min-height: 0; padding: 24px 16px calc(24px + env(safe-area-inset-bottom)); }
  body.customer-restored .flow-toolbar h2 { font-size: 25px; }
  body.customer-restored.jzplus-theme .exchange-steps { gap: 9px; margin-bottom: 26px; }
  body.customer-restored .exchange-step { align-items: flex-start; flex-direction: column; gap: 4px; text-align: left; }
  body.customer-restored .secure-window .exchange-detail-grid { grid-template-columns: minmax(0, 1fr); }
  body.customer-restored .secure-window .exchange-detail-actions { align-items: flex-start; }
  body.customer-restored .secure-window .exchange-job-id { flex-basis: 100%; margin-left: 0; }
  body.customer-restored .info-grid { padding: 36px 10px; grid-template-columns: 1fr; }
  body.customer-restored .info-grid article { min-height: 150px; }
  body.customer-restored .faq-panel-v2 { width: calc(100% - 20px); margin-bottom: calc(36px + env(safe-area-inset-bottom)); }
  body.customer-restored #redeemWindow,
  body.customer-restored #supportInfo { scroll-margin-top: 82px; }
}
@media (max-width: 480px) {
  html[lang="en"] body.customer-restored.jzplus-theme .exchange-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[lang="en"] body.customer-restored.jzplus-theme .exchange-tabs .exchange-tab { overflow-wrap: normal; }
}
@media (max-width: 380px) {
  body.customer-restored .brand-lockup { gap: 1px 8px; }
  body.customer-restored .brand-name { font-size: 12px; letter-spacing: .12em; }
  body.customer-restored .topbar-actions { gap: 8px; }
  body.customer-restored .exchange-tools { gap: 4px; }
  body.customer-restored.jzplus-theme .text-action { font-size: 11px; }
  body.customer-restored .exchange-buttons.split { grid-template-columns: 1fr; }
}
@media (hover: none), (pointer: coarse) {
  body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary::before,
  body.customer-restored #customerGateDialog .customer-gate-primary::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body.customer-restored *, body.customer-restored *::before, body.customer-restored *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  body.customer-restored.jzplus-theme.recharge-page .exchange-btn.primary::before,
  body.customer-restored #customerGateDialog .customer-gate-primary::before { display: none; }
  body.customer-restored.jzplus-theme.recharge-page :is(.exchange-btn, .btn-ghost, .exchange-tab, .exchange-reuse-btn, .exchange-mini-btn, .exchange-batch-copy):is(:hover, :focus-visible, :active),
  body.customer-restored #customerGateDialog button:is(:hover, :focus-visible, :active) { transform: none !important; }
}
