/* DAISON presentation adapter for PAY-AI 71a71945.
 * Keep upstream layout, state classes, handlers and API contracts intact.
 * Scope every override to opt-in customer pages; checkout.html is untouched.
 */
body.daison-customer {
  --primary: #b93d34;
  --primary-hover: #a3312a;
  --primary-soft: #fff0ec;
  --primary-glow: rgba(185, 61, 52, .15);
  --accent: var(--primary);
  --accent-soft: var(--primary-soft);
  --accent-glow: var(--primary-glow);
  --bg-page: #f7f5f2;
  --bg-dark: #f7f5f2;
  --surface: #fff;
  --surface-soft: #f2efeb;
  --surface-hover: #ece7e2;
  --glass: #fff;
  --glass-border: #ded8d1;
  --border-strong: #b9b0a6;
  --divider: #e9e3dd;
  --text-main: #26221f;
  --text-secondary: #49423c;
  --text-dim: #6d645c;
  --text-muted: #776d63;
  --shadow-focus: 0 0 0 4px rgba(185, 61, 52, .16);
  color-scheme: light;
  color: var(--text-main);
  background: var(--bg-page);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

body.daison-customer.theme-dark {
  --primary: #f08073;
  --primary-hover: #ff9a8e;
  --primary-soft: #352320;
  --bg-page: #09090a;
  --bg-dark: #09090a;
  --surface: #151517;
  --surface-soft: #1d1b1c;
  --surface-hover: #292526;
  --glass: #151517;
  --glass-border: #383334;
  --border-strong: #62585a;
  --divider: #383334;
  --text-main: #f4f1eb;
  --text-secondary: #d3ccc5;
  --text-dim: #b4aba4;
  --text-muted: #aba09a;
  color-scheme: dark;
}

body.daison-customer.jzplus-theme.recharge-page {
  display: flow-root;
  color: var(--text-main);
  background: var(--bg-page);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

body.daison-customer .exchange-container { color: var(--text-main); }
body.daison-customer .exchange-brand-mark {
  flex-shrink: 0;
  background: transparent;
  box-shadow: none;
}
body.daison-customer .exchange-brand-mark img { width: 100%; height: 100%; object-fit: contain; }
body.daison-customer .exchange-title-block,
body.daison-customer .exchange-title-copy { min-width: 0; }
body.daison-customer .exchange-title-copy h1 { font-family: inherit; font-weight: 700; }

body.daison-customer.jzplus-theme .exchange-shell,
body.daison-customer.jzplus-theme .exchange-card,
body.daison-customer.jzplus-theme .exchange-steps {
  background: var(--surface);
  border-color: var(--glass-border);
  color: var(--text-main);
  box-shadow: 0 8px 28px rgba(25, 18, 14, .05);
}

body.daison-customer.jzplus-theme .exchange-queue-bar,
body.daison-customer.jzplus-theme .exchange-tabs {
  background: var(--surface-soft);
  border-color: var(--glass-border);
  color: var(--text-secondary);
}

body.daison-customer.jzplus-theme .exchange-title-copy h1,
body.daison-customer.jzplus-theme .exchange-form-group label,
body.daison-customer.jzplus-theme .exchange-step.active .exchange-step-label,
body.daison-customer.jzplus-theme .exchange-step.done .exchange-step-label { color: var(--text-main); }

body.daison-customer.jzplus-theme .exchange-title-copy p,
body.daison-customer.jzplus-theme .exchange-hint,
body.daison-customer.jzplus-theme .exchange-queue-state,
body.daison-customer.jzplus-theme .exchange-step-label,
body.daison-customer.jzplus-theme .exchange-tab { color: var(--text-dim); }

body.daison-customer.jzplus-theme .exchange-eyebrow,
body.daison-customer.jzplus-theme .exchange-hint a,
body.daison-customer.jzplus-theme .exchange-queue-count,
body.daison-customer .exchange-query-count { color: var(--primary); }

body.daison-customer.jzplus-theme .exchange-tab.active {
  background: var(--surface) !important;
  color: var(--primary);
  border-color: var(--glass-border) !important;
}
body.daison-customer.jzplus-theme .exchange-tab:hover { background: var(--surface-hover) !important; color: var(--primary); }
body.daison-customer.jzplus-theme .exchange-step-number { background: var(--surface-soft); color: var(--text-dim); }
body.daison-customer.jzplus-theme .exchange-step.active .exchange-step-number,
body.daison-customer.jzplus-theme .exchange-step.done .exchange-step-number { background: #b93d34; color: #fff; }
body.daison-customer.jzplus-theme .exchange-step-line { background: var(--divider); }

body.daison-customer.jzplus-theme .exchange-input {
  background: var(--surface) !important;
  border-color: var(--border-strong) !important;
  color: var(--text-main) !important;
}
body.daison-customer.jzplus-theme .exchange-input::placeholder { color: var(--text-muted); }
body.daison-customer.jzplus-theme .exchange-btn.primary {
  background: #b93d34 !important;
  border-color: #b93d34 !important;
  color: #fff !important;
  box-shadow: none !important;
}
body.daison-customer.jzplus-theme .exchange-btn.primary:hover { background: #a3312a !important; }
body.daison-customer.jzplus-theme .exchange-btn.ghost,
body.daison-customer.jzplus-theme .btn-ghost,
body.daison-customer .exchange-reuse-btn,
body.daison-customer .exchange-mini-btn,
body.daison-customer .exchange-batch-copy {
  background: var(--surface) !important;
  border-color: var(--glass-border) !important;
  color: var(--text-secondary) !important;
}
body.daison-customer.jzplus-theme .btn-ghost:hover { background: var(--surface-hover) !important; }
body.daison-customer :focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }

/* Lookup cards are generated by upstream JS. Keep their status distinctions. */
body.daison-customer .exchange-batch-item:not(.completed),
body.daison-customer .exchange-chip { background: var(--surface-soft); border-color: var(--glass-border); }
body.daison-customer .exchange-batch-headline h2,
body.daison-customer .exchange-detail-grid strong,
body.daison-customer .exchange-batch-item:not(.completed) .exchange-batch-code { color: var(--text-main); }
body.daison-customer .exchange-batch-headline p,
body.daison-customer .exchange-detail-grid span,
body.daison-customer .exchange-chip,
body.daison-customer .exchange-result-kicker,
body.daison-customer .exchange-batch-item:not(.completed) .exchange-batch-sub,
body.daison-customer .exchange-batch-item:not(.completed) .exchange-batch-meta { color: var(--text-dim); }
body.daison-customer.theme-dark .exchange-chip.found strong { color: #8ad1b0; }
body.daison-customer .exchange-detail-banner .exchange-result-kicker { color: #667085; }
body.daison-customer .exchange-detail-grid .exchange-plan-mini { color: #067647; }
body.daison-customer.jzplus-theme .exchange-batch-code { text-align: left; font-size: 13px; font-weight: 800; }
body.daison-customer.theme-dark .exchange-chip.processing strong,
body.daison-customer.theme-dark .exchange-batch-meta.processing strong,
body.daison-customer.theme-dark .exchange-batch-meta.queued strong { color: #9bb8db; }
body.daison-customer.theme-dark .exchange-chip.failed strong,
body.daison-customer.theme-dark .exchange-batch-meta.failed strong,
body.daison-customer.theme-dark .exchange-batch-meta.missing strong { color: #f08073; }
body.daison-customer.theme-dark .exchange-chip.unused strong,
body.daison-customer.theme-dark .exchange-batch-meta.unused strong { color: #d9af6c; }

body.daison-customer .daison-invoice-brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 18px 0 12px; font-size: 16px; font-weight: 700; letter-spacing: 2px; }
body.daison-customer .daison-invoice-brand img { object-fit: contain; }

@media (max-width: 640px) {
  body.daison-customer .exchange-header { flex-wrap: wrap; gap: 14px; }
  body.daison-customer .exchange-title-block { width: 100%; }
  body.daison-customer .exchange-tools { margin-left: auto; }
  body.daison-customer .exchange-tab { width: 100%; padding: 10px 4px !important; word-break: normal; overflow-wrap: anywhere; }
  body.daison-customer .exchange-steps { display: grid; grid-template-columns: 1fr 12px 1fr 12px 1fr; gap: 4px; }
  body.daison-customer .exchange-step { flex-direction: column; gap: 6px; white-space: normal; text-align: center; }
}
