:root {
  --bg: #080b0a;
  --panel: #101512;
  --panel-2: #151c18;
  --text: #f2f7f3;
  --muted: #9aa79e;
  --line: rgba(255,255,255,.11);
  --lime: #73ff55;
  --lime-soft: rgba(115,255,85,.12);
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
.site-header {
  width: min(calc(100% - 36px), var(--max));
  margin: 0 auto;
  height: 128px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: .9rem; letter-spacing: .08em; }
.brand b { color: var(--lime); font-weight: 700; }
.brand-mark {
  width: 36px; height: 36px; display: grid; place-items: center;
  border: 1px solid rgba(115,255,85,.55); background: var(--lime-soft); color: var(--lime);
  font-weight: 900; transform: skew(-7deg); border-radius: 7px;
}

/* WEDOOITANDWEDOOIT logo */
.brand-logo-link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.brand-logo {
  display: block;
  width: auto;
  height: 110px;
  max-width: 210px;
  object-fit: contain;
  border-radius: 8px;
}
.footer-logo {
  width: auto;
  height: 92px;
  max-width: 180px;
}
.nav { display: flex; gap: 28px; align-items: center; font-size: .92rem; color: #c7d1ca; }
.nav a:hover { color: var(--lime); }
.nav-cta { border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; }
.menu-button { display: none; background: transparent; border: 1px solid var(--line); color: var(--text); padding: 8px 12px; border-radius: 8px; }
.hero {
  width: min(calc(100% - 36px), var(--max));
  margin: 0 auto;
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 42px;
  align-items: center;
  padding: 48px 0 60px;
}
.hero-copy { min-width: 0; }
.hero h1 { margin: 10px 0 18px; font-size: clamp(2.8rem, 5.2vw, 5.25rem); line-height: .94; letter-spacing: -.055em; }
.hero h1 em { color: var(--lime); font-style: normal; }
.hero-text { max-width: 650px; color: var(--muted); font-size: 1.02rem; }
.eyebrow { color: #cbd7ce; font-size: .78rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: 26px; height: 2px; background: var(--lime); vertical-align: middle; margin-right: 9px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0 22px; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 0 21px; border-radius: 8px; font-weight: 750; }
.button.primary { background: var(--lime); color: #071006; }
.button.primary:hover { filter: brightness(1.06); transform: translateY(-1px); }
.button.secondary { border: 1px solid var(--line); background: rgba(255,255,255,.025); color: var(--text); }
.button.secondary:hover { border-color: rgba(115,255,85,.55); }
.hero-meta { display: flex; flex-wrap: wrap; gap: 10px; color: #c0cbc3; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.hero-meta span { border: 1px solid var(--line); padding: 7px 10px; border-radius: 999px; }
.terminal-card { width: 100%; max-width: 500px; justify-self: end; border: 1px solid rgba(115,255,85,.22); background: linear-gradient(180deg,#101611,#090d0a); box-shadow: 0 24px 70px rgba(0,0,0,.38); border-radius: 16px; overflow: hidden; }
.terminal-top { height: 42px; padding: 0 14px; display: flex; gap: 7px; align-items: center; background: rgba(255,255,255,.035); border-bottom: 1px solid var(--line); }
.terminal-top span { width: 9px; height: 9px; border-radius: 50%; background: #344036; }
.terminal-top b { margin-left: auto; color: #819187; font: 700 .7rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .14em; }
.terminal-body { padding: 22px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.terminal-body p { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 11px 0; border-bottom: 1px dashed rgba(255,255,255,.09); color: #829086; font-size: .83rem; }
.terminal-body strong { color: #d7dfd9; }
.terminal-body .lime { color: var(--lime); }
.terminal-body small { display: block; color: #657168; margin-top: 18px; font-size: .68rem; }
.pulse-row { height: 62px; display: flex; gap: 7px; align-items: end; margin-top: 16px; }
.pulse-row i { display: block; flex: 1; background: linear-gradient(var(--lime), rgba(115,255,85,.12)); border-radius: 3px 3px 0 0; opacity: .8; }
.pulse-row i:nth-child(1){height:28%}.pulse-row i:nth-child(2){height:62%}.pulse-row i:nth-child(3){height:44%}.pulse-row i:nth-child(4){height:80%}.pulse-row i:nth-child(5){height:52%}.pulse-row i:nth-child(6){height:93%}.pulse-row i:nth-child(7){height:65%}.pulse-row i:nth-child(8){height:72%}.pulse-row i:nth-child(9){height:46%}.pulse-row i:nth-child(10){height:84%}
.section { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; padding: 100px 0; border-top: 1px solid var(--line); }
.section-heading { max-width: 760px; margin-bottom: 42px; }
.section-heading.narrow { max-width: 650px; }
h2 { margin: 12px 0 14px; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.04em; }
.section-heading > p:last-child, .lead { color: var(--muted); font-size: 1.05rem; }
.cards.three { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.card { min-height: 250px; padding: 30px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; }
.card:hover { border-color: rgba(115,255,85,.35); transform: translateY(-2px); }
.card .icon { color: var(--lime); font: 800 .78rem/1 ui-monospace, monospace; }
.card h3 { margin: 54px 0 9px; font-size: 1.25rem; }
.card p { margin: 0; color: var(--muted); }
.split { display: grid; grid-template-columns: .92fr 1.08fr; gap: 80px; align-items: start; }
.feature-list { border-top: 1px solid var(--line); }
.feature-list div { padding: 22px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 180px 1fr; gap: 20px; }
.feature-list b { color: var(--lime); }
.feature-list span { color: var(--muted); }
.statement-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: start; }
blockquote { margin: 0; font-size: clamp(1.8rem,3.5vw,3.3rem); line-height: 1.12; letter-spacing: -.035em; }
.principles p { margin: 0; padding: 17px 0; border-bottom: 1px solid var(--line); color: #c4cec7; }
.principles strong { display: inline-block; width: 52px; color: var(--lime); font: 800 .8rem/1 ui-monospace, monospace; }

/* WEDOIT license plans */
.pricing-section { position: relative; }
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.price-card {
  position: relative;
  min-height: 320px;
  padding: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.price-card:hover {
  border-color: rgba(115,255,85,.4);
  transform: translateY(-2px);
}
.price-card.featured {
  border-color: rgba(115,255,85,.55);
  background: linear-gradient(180deg, rgba(115,255,85,.11), rgba(115,255,85,.025));
  box-shadow: 0 18px 55px rgba(0,0,0,.28);
}
.best-value {
  position: absolute;
  top: 18px;
  right: -38px;
  width: 150px;
  padding: 7px 0;
  transform: rotate(38deg);
  background: var(--lime);
  color: #071006;
  text-align: center;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.price-term {
  margin: 0 0 34px;
  color: #cbd7ce;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .16em;
}
.price-amount { display: flex; flex-direction: column; gap: 4px; }
.price-amount strong {
  font-size: clamp(3rem, 4.5vw, 4.7rem);
  line-height: .9;
  letter-spacing: -.055em;
}
.price-amount span { color: var(--lime); font-size: .82rem; font-weight: 800; letter-spacing: .08em; }
.price-duration { margin: 28px 0 24px; color: var(--muted); }
.payment-methods {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.payment-methods > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 66px;
  padding: 16px 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.payment-methods strong { color: var(--lime); margin-right: auto; }
.payment-methods span {
  color: #c7d1ca;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: .72rem;
  font-weight: 750;
}

.cta-section { width: min(calc(100% - 36px), var(--max)); margin: 30px auto 100px; padding: 70px; background: linear-gradient(125deg, rgba(115,255,85,.13), rgba(115,255,85,.025)); border: 1px solid rgba(115,255,85,.24); border-radius: 18px; }
.cta-section p:not(.eyebrow) { color: var(--muted); margin-bottom: 25px; }
footer { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; padding: 36px 0 50px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 14px 30px; color: var(--muted); font-size: .8rem; align-items: center; }
.footer-brand { color: var(--text); }
footer p { margin: 0; text-align: right; }
footer .risk { grid-column: 1 / -1; text-align: left; color: #6e7c72; }
@media (max-width: 880px) {
  .site-header { position: relative; }
  .menu-button { display: block; }
  .nav { display: none; position: absolute; z-index: 10; top: 116px; right: 0; min-width: 220px; padding: 18px; flex-direction: column; align-items: stretch; background: #101512; border: 1px solid var(--line); border-radius: 12px; }
  .nav.open { display: flex; }
  .hero, .split, .statement-grid { grid-template-columns: 1fr; }
  .hero { gap: 28px; min-height: 0; padding: 44px 0 58px; }
  .terminal-card { max-width: 100%; justify-self: stretch; }
  .cards.three { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split { gap: 38px; }
  .cta-section { padding: 42px 28px; }
}
@media (max-width: 560px) {
  .site-header { width: min(calc(100% - 24px), var(--max)); }
  .brand { font-size: .74rem; gap: 8px; }
  .brand-mark { width: 31px; height: 31px; }
  .site-header { height: 104px; }
  .brand-logo { width: auto; height: 84px; max-width: 138px; }
  .footer-logo { width: auto; height: 78px; max-width: 130px; }
  .hero, .section, .cta-section, footer { width: min(calc(100% - 24px), var(--max)); }
  .hero { padding: 38px 0 50px; }
  .hero h1 { font-size: 2.75rem; }
  .terminal-body { padding: 20px; }
  .section { padding: 76px 0; }
  .feature-list div { grid-template-columns: 1fr; gap: 4px; }
  .pricing-grid, .payment-methods { grid-template-columns: 1fr; }
  .price-card { min-height: 0; }
  footer { grid-template-columns: 1fr; }
  footer p { text-align: left; }
}

/* WEDOIT payment window — UI only, no live deposit details */
.plan-select-button {
  width: 100%;
  margin-top: 24px;
  padding: 12px 16px;
  border: 1px solid rgba(115,255,85,.38);
  border-radius: 10px;
  background: rgba(115,255,85,.08);
  color: var(--lime);
  font: 850 .78rem/1.1 Inter, system-ui, sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
}
.plan-select-button:hover,
.plan-select-button:focus-visible {
  background: var(--lime);
  color: #071006;
  border-color: var(--lime);
  outline: none;
}
.payment-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.payment-modal.open { display: flex; }
.payment-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2,7,4,.82);
  backdrop-filter: blur(10px);
}
.payment-window {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(850px, calc(100vh - 48px));
  overflow: auto;
  padding: 34px;
  background: linear-gradient(180deg, #121915 0%, #0c110e 100%);
  border: 1px solid rgba(115,255,85,.28);
  border-radius: 20px;
  box-shadow: 0 30px 100px rgba(0,0,0,.58);
}
.payment-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #171f1a;
  color: #dfe8e1;
  font-size: 1.5rem;
  cursor: pointer;
}
.payment-window-head { padding-right: 50px; }
.payment-window-head h2 { margin-top: 10px; font-size: clamp(2rem, 4vw, 3.2rem); }
.payment-window-head > p:last-child { color: var(--muted); }
.payment-order-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0;
}
.payment-order-summary > div {
  padding: 15px;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.payment-order-summary span,
.payment-choice-label {
  display: block;
  color: #8f9b92;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.payment-order-summary strong { display: block; margin-top: 7px; color: #edf5ef; }
.payment-order-summary em { color: var(--lime); font-style: normal; }
.payment-choice-block { margin-top: 20px; }
.payment-toggle { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.payment-toggle button {
  min-width: 106px;
  padding: 11px 15px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #151c18;
  color: #cbd6ce;
  font-weight: 800;
  cursor: pointer;
}
.payment-toggle button.active {
  border-color: rgba(115,255,85,.62);
  background: rgba(115,255,85,.12);
  color: var(--lime);
}
.payment-details-preview {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 22px;
  margin-top: 26px;
  padding: 22px;
  border: 1px dashed rgba(115,255,85,.26);
  border-radius: 16px;
  background: rgba(115,255,85,.025);
}
.qr-placeholder {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #eef2ef;
  color: #253028;
  text-align: center;
}
.qr-placeholder-grid {
  position: absolute;
  inset: 18px;
  opacity: .14;
  background:
    linear-gradient(90deg, #101410 25%, transparent 25% 50%, #101410 50% 75%, transparent 75%) 0 0/24px 24px,
    linear-gradient(#101410 25%, transparent 25% 50%, #101410 50% 75%, transparent 75%) 0 0/24px 24px;
}
.qr-placeholder span {
  position: relative;
  z-index: 1;
  padding: 7px 9px;
  border-radius: 6px;
  background: rgba(238,242,239,.9);
  font-size: .67rem;
  font-weight: 950;
  letter-spacing: .07em;
}
.deposit-placeholder { align-self: center; min-width: 0; }
.address-row {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.address-row code {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #080c09;
  color: #9aa59d;
}
.address-row button {
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #181f1a;
  color: #6f7a72;
}
.deposit-placeholder p { margin: 13px 0 0; color: var(--muted); font-size: .82rem; }
.payment-safety-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 3px solid var(--lime);
  background: rgba(115,255,85,.06);
}
.payment-safety-note strong { color: var(--lime); font-size: .8rem; }
.payment-safety-note span { color: #aab6ad; font-size: .78rem; }
body.payment-modal-open { overflow: hidden; }

@media (max-width: 640px) {
  .payment-modal { padding: 10px; }
  .payment-window { max-height: calc(100vh - 20px); padding: 26px 18px; border-radius: 16px; }
  .payment-window-head { padding-right: 42px; }
  .payment-order-summary { grid-template-columns: 1fr; }
  .payment-details-preview { grid-template-columns: 1fr; }
  .qr-placeholder { width: min(220px, 100%); margin: 0 auto; }
  .address-row { flex-direction: column; }
  .address-row button { min-height: 42px; }
}

/* WEDOIT direct sponsor program */
.sponsor-section { position: relative; }
.sponsor-section .section-heading strong { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.sponsor-layout {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 20px;
  align-items: start;
}
.sponsor-rules,
.referral-access-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
}
.sponsor-rules { padding: 10px 28px 24px; }
.sponsor-rule {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 18px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.sponsor-rule > span { color: var(--lime); font: 850 .78rem/1 ui-monospace, monospace; padding-top: 7px; }
.sponsor-rule h3 { margin: 0 0 6px; font-size: 1.08rem; }
.sponsor-rule p { margin: 0; color: var(--muted); }
.sponsor-footnote { margin: 22px 0 0; color: #87948a; font-size: .78rem; }
.referral-access-card { padding: 30px; }
.referral-access-card h3 { margin: 10px 0 7px; font-size: 1.55rem; }
.referral-access-card > p:not(.eyebrow):not(.form-status) { margin: 0 0 24px; color: var(--muted); }
.field-label {
  display: block;
  margin: 16px 0 7px;
  color: #aebbb1;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.text-field {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #090d0a;
  color: var(--text);
  font: inherit;
  outline: none;
}
.text-field:focus { border-color: rgba(115,255,85,.62); box-shadow: 0 0 0 3px rgba(115,255,85,.08); }
.referral-code-field { text-transform: uppercase; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .04em; }
.referral-submit { width: 100%; margin-top: 22px; border: 0; cursor: pointer; }
.referral-submit:disabled,
.prepare-order-button:disabled { opacity: .55; cursor: wait; }
.form-status { min-height: 24px; margin: 12px 0 0; color: var(--muted); font-size: .82rem; }
.form-status.success,
.inline-status.success { color: var(--lime); }
.form-status.error,
.inline-status.error { color: #ff8c8c; }
.referral-result { margin-top: 20px; padding-top: 4px; border-top: 1px solid var(--line); }
.copy-row { display: flex; gap: 8px; }
.copy-row code {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #080c09;
  color: var(--lime);
}
.copy-row button {
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #171e19;
  color: #dfe8e1;
  cursor: pointer;
}
.payment-customer-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 25px;
}
.payment-customer-fields label { min-width: 0; }
.payment-customer-fields .text-field { margin-top: 9px; }
.inline-status { display: block; min-height: 20px; margin-top: 7px; color: var(--muted); font-size: .72rem; }
.prepare-order-button { width: 100%; margin-top: 20px; border: 0; cursor: pointer; }
.payment-order-status { text-align: center; }

@media (max-width: 880px) {
  .sponsor-layout { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .payment-customer-fields { grid-template-columns: 1fr; }
  .copy-row { flex-direction: column; }
  .copy-row button { min-height: 42px; }
}


/* Stripe checkout return notice */
.checkout-return-notice {
  position: fixed;
  top: 88px;
  left: 50%;
  z-index: 2000;
  width: min(92vw, 680px);
  transform: translateX(-50%);
  padding: 15px 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #101612;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  color: #f3f7f4;
  text-align: center;
  font-weight: 700;
}
.checkout-return-notice.success { border-color: rgba(172,255,47,.5); }
.checkout-return-notice.error { border-color: rgba(255,110,110,.55); }

/* Automatic license delivery */
.checkout-return-notice {
  text-align: left;
}
.checkout-notice-close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #171e19;
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
}
.license-delivery-status { padding-right: 38px; text-align: center; }
.license-delivery-card { display: grid; gap: 10px; padding-right: 36px; }
.license-delivery-kicker {
  color: var(--lime);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
}
.license-delivery-key-row { display: flex; gap: 8px; }
.license-delivery-key-row code {
  flex: 1;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(172,255,47,.35);
  border-radius: 9px;
  background: #070b08;
  color: var(--lime);
  overflow-wrap: anywhere;
}
.license-delivery-key-row button {
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #1a221c;
  color: #fff;
  cursor: pointer;
}

/* Sponsor balance dashboard */
.sponsor-dashboard { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.sponsor-dashboard-head strong { display: block; color: var(--muted); font-size: .78rem; }
.sponsor-balance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.sponsor-balance-grid article {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0a0f0b;
}
.sponsor-balance-grid span { display: block; color: var(--muted); font-size: .72rem; }
.sponsor-balance-grid strong { display: block; margin-top: 6px; color: var(--lime); font-size: 1.22rem; }
.sponsor-adjustment {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(255,174,66,.4);
  border-radius: 8px;
  color: #ffc56c;
  font-size: .78rem;
}
.commission-history { margin-top: 20px; }
.commission-history-title { margin-bottom: 9px; font-weight: 850; }
.commission-table-wrap { overflow-x: auto; }
.commission-table { width: 100%; border-collapse: collapse; font-size: .76rem; }
.commission-table th,
.commission-table td { padding: 10px 8px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
.commission-table th { color: #9fac9f; text-transform: uppercase; letter-spacing: .06em; }
.commission-empty { color: var(--muted); font-size: .78rem; }
.commission-status { display: inline-block; padding: 4px 7px; border-radius: 999px; background: #182019; }
.status-approved,
.status-paid { color: var(--lime); }
.status-cancelled,
.status-repayment_due { color: #ff9b9b; }
.status-pending { color: #ffe28a; }

@media (max-width: 640px) {
  .license-delivery-key-row { flex-direction: column; }
  .license-delivery-key-row button { min-height: 42px; }
  .sponsor-balance-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   NEWER RISK / LEGAL / PORTAL STYLES PRESERVED
   ========================================================= */
.cta-section p:not(.eyebrow) { color: var(--muted); margin-bottom: 25px; }
footer { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; padding: 36px 0 50px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 14px 30px; color: var(--muted); font-size: .8rem; align-items: center; }
.footer-brand { color: var(--text); }
footer p { margin: 0; text-align: right; }
footer .risk { grid-column: 1 / -1; text-align: left; color: #6e7c72; }
@media (max-width: 880px) {
  .site-header { position: relative; }
  .menu-button { display: block; }
  .nav { display: none; position: absolute; z-index: 10; top: 116px; right: 0; min-width: 220px; padding: 18px; flex-direction: column; align-items: stretch; background: #101512; border: 1px solid var(--line); border-radius: 12px; }
  .nav.open { display: flex; }
  .hero, .split, .statement-grid { grid-template-columns: 1fr; }
  .hero { gap: 28px; min-height: 0; padding: 44px 0 58px; }
  .terminal-card { max-width: 100%; justify-self: stretch; }
  .cards.three { grid-template-columns: 1fr; }
  .split { gap: 38px; }
  .cta-section { padding: 42px 28px; }
}
@media (max-width: 560px) {
  .site-header { width: min(calc(100% - 24px), var(--max)); }
  .brand { font-size: .74rem; gap: 8px; }
  .brand-mark { width: 31px; height: 31px; }
  .site-header { height: 104px; }
  .brand-logo { width: auto; height: 84px; max-width: 138px; }
  .footer-logo { width: auto; height: 78px; max-width: 130px; }
  .hero, .section, .cta-section, footer { width: min(calc(100% - 24px), var(--max)); }
  .hero { padding: 38px 0 50px; }
  .hero h1 { font-size: 2.75rem; }
  .terminal-body { padding: 20px; }
  .section { padding: 76px 0; }
  .feature-list div { grid-template-columns: 1fr; gap: 4px; }
  footer { grid-template-columns: 1fr; }
  footer p { text-align: left; }
}


/* Risk disclosure and legal terms */
.risk-section .section-heading { margin-bottom: 28px; }
.risk-lead { color: var(--muted); }
.risk-box {
  padding: 34px;
  background: linear-gradient(180deg, rgba(255,190,60,.075), rgba(255,255,255,.018));
  border: 1px solid rgba(255,190,60,.28);
  border-radius: 16px;
}
.risk-box p { color: #cbd3cd; margin: 0 0 18px; }
.risk-box p:last-child { margin-bottom: 0; }
.risk-box strong, .risk-emphasis strong { color: #ffd27a; }
.risk-emphasis {
  padding: 18px 20px;
  border-left: 3px solid #d7a531;
  background: rgba(215,165,49,.08);
}
.terms-link-line a, footer .risk a {
  color: #ffd27a;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-main {
  width: min(calc(100% - 36px), 980px);
  margin: 0 auto;
  padding: 70px 0 100px;
}
.legal-hero {
  padding: 30px 0 56px;
  border-bottom: 1px solid var(--line);
}
.legal-hero h1 {
  margin: 12px 0 18px;
  font-size: clamp(2.6rem, 6vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.05em;
}
.legal-hero > p:not(.eyebrow) { color: var(--muted); max-width: 850px; }
.legal-updated { font-size: .86rem; }
.legal-card {
  padding: 36px 0;
  border-bottom: 1px solid var(--line);
}
.legal-card h2 {
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  letter-spacing: -.025em;
}
.legal-card p { color: #bdc8c0; }
.legal-card strong { color: #f3f6f4; }
.legal-notice {
  margin-top: 28px;
  padding: 30px;
  border: 1px solid rgba(255,190,60,.25);
  border-radius: 14px;
  background: rgba(255,190,60,.05);
}
.legal-nav { display: flex; }
@media (max-width: 880px) {
  .legal-nav { display: flex; position: static; min-width: 0; padding: 0; flex-direction: row; background: transparent; border: 0; }
}
@media (max-width: 640px) {
  .legal-nav { gap: 12px; font-size: .78rem; }
  .legal-main { width: min(calc(100% - 24px), 980px); padding-top: 44px; }
  .risk-box { padding: 24px 20px; }
}


/* Secure portal front-end */
.portal-hidden { display:none !important; }
.portal-page { min-height:100vh; }
.portal-main { width:min(calc(100% - 36px), 1180px); margin:0 auto; padding:70px 0 100px; }
.portal-header { border-bottom:1px solid var(--line); }
.portal-top-nav button { background:transparent; color:#c7d1ca; cursor:pointer; }
.portal-auth-shell { min-height:620px; display:grid; grid-template-columns:1fr minmax(340px,480px); gap:70px; align-items:center; }
.portal-auth-copy h1, .portal-dashboard-head h1 { margin:12px 0 18px; font-size:clamp(2.8rem,6vw,5.4rem); line-height:.96; letter-spacing:-.055em; }
.portal-auth-copy > p:not(.eyebrow) { max-width:650px; color:var(--muted); font-size:1.05rem; }
.portal-security-note { margin-top:26px; padding:18px 20px; border:1px solid rgba(255,190,60,.24); border-radius:12px; background:rgba(255,190,60,.05); color:#c8d1cb; }
.portal-security-note strong { color:#ffd27a; }
.portal-auth-card, .portal-card { background:linear-gradient(180deg,#111713,#0c110e); border:1px solid var(--line); border-radius:16px; padding:30px; box-shadow:0 28px 90px rgba(0,0,0,.28); }
.portal-auth-card form, .portal-admin-form { display:grid; gap:10px; }
.portal-auth-card label, .portal-admin-form label { margin-top:7px; font-size:.82rem; color:#cbd5ce; font-weight:750; }
.portal-auth-card input, .portal-search input, .portal-admin-form input { width:100%; padding:14px 15px; color:var(--text); background:#090d0a; border:1px solid var(--line); border-radius:9px; outline:none; }
.portal-auth-card input:focus, .portal-search input:focus, .portal-admin-form input:focus { border-color:rgba(255,190,60,.55); box-shadow:0 0 0 3px rgba(255,190,60,.07); }
.portal-full { width:100%; margin-top:12px; border:0; cursor:pointer; }
.portal-link-button { margin-top:14px; padding:0; background:transparent; border:0; color:#ffd27a; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.portal-message { min-height:22px; margin:15px 0 0; font-size:.87rem; color:#aeb9b1; }
.portal-message-error { color:#ff958e; }
.portal-message-success { color:#8dff87; }
.portal-message-warn { color:#ffd27a; }
.portal-small { color:#718077; font-size:.78rem; line-height:1.55; }
.portal-dashboard { padding-top:12px; }
.portal-dashboard-head { display:flex; justify-content:space-between; gap:30px; align-items:end; padding-bottom:35px; border-bottom:1px solid var(--line); }
.portal-dashboard-actions { padding-bottom:8px; }
.portal-muted { color:var(--muted); }
.portal-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 26px; }
.portal-tab { border:1px solid var(--line); color:#bec8c1; background:#0d120f; padding:11px 18px; border-radius:999px; cursor:pointer; font-weight:750; }
.portal-tab.active { color:#070a08; background:#ffd27a; border-color:#ffd27a; }
.portal-panel { display:grid; gap:18px; }
.portal-grid { display:grid; gap:14px; }
.portal-grid-4 { grid-template-columns:repeat(4,1fr); }
.portal-stat { padding:22px; border:1px solid var(--line); border-radius:13px; background:var(--panel); }
.portal-stat span { display:block; color:#7f8d84; text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; font-weight:800; }
.portal-stat strong { display:block; margin-top:9px; font-size:1.6rem; color:#f2f6f3; }
.portal-account-card h2, .portal-panel-heading h2 { margin:0 0 18px; font-size:2rem; }
.portal-details { display:grid; grid-template-columns:repeat(2,1fr); gap:0 30px; margin:0; }
.portal-details div { display:flex; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid var(--line); }
.portal-details dt { color:#7e8b83; }
.portal-details dd { margin:0; color:#e3e9e5; font-weight:700; text-align:right; }
.portal-panel-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; }
.portal-panel-heading .eyebrow { margin-bottom:8px; }
.portal-search { display:flex; gap:8px; min-width:320px; }
.portal-search button { border:1px solid rgba(255,190,60,.35); color:#ffd27a; background:rgba(255,190,60,.05); border-radius:9px; padding:0 15px; cursor:pointer; }
.portal-table-wrap { overflow:auto; }
.portal-table { width:100%; border-collapse:collapse; min-width:760px; }
.portal-table th, .portal-table td { padding:13px 12px; text-align:left; border-bottom:1px solid var(--line); font-size:.84rem; }
.portal-table th { color:#78877e; text-transform:uppercase; letter-spacing:.07em; font-size:.68rem; }
.portal-table td { color:#cbd4ce; }
.portal-admin-form { grid-template-columns:120px 1fr auto; align-items:end; margin:18px 0 28px; }
.portal-admin-form label { margin:0 0 14px; }
.portal-admin-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.portal-footer-link a { color:#ffd27a; }
.portal-footer { margin-top:30px; }
@media (max-width:900px) {
  .portal-auth-shell { grid-template-columns:1fr; gap:30px; min-height:0; }
  .portal-grid-4 { grid-template-columns:repeat(2,1fr); }
  .portal-dashboard-head, .portal-panel-heading { align-items:flex-start; flex-direction:column; }
  .portal-search { width:100%; min-width:0; }
  .portal-details { grid-template-columns:1fr; }
  .portal-admin-form { grid-template-columns:1fr; }
  .portal-admin-form label { margin:0; }
}
@media (max-width:560px) {
  .portal-main { width:min(calc(100% - 24px),1180px); padding-top:40px; }
  .portal-grid-4 { grid-template-columns:1fr; }
  .portal-auth-card, .portal-card { padding:22px 18px; }
  .portal-auth-copy h1, .portal-dashboard-head h1 { font-size:3rem; }
}

/* Step 22: full read-only Master lookup */
.portal-master-details dd { overflow-wrap:anywhere; word-break:break-word; }
.portal-admin-actions .button:disabled { opacity:.55; cursor:not-allowed; transform:none; filter:none; }


/* 12-EA product selector */
.ea-products-section { scroll-margin-top: 90px; }
.ea-platform-tabs { display:flex; gap:10px; margin:22px 0; }
.ea-platform-tab { border:1px solid var(--line); background:#0d120f; color:#cbd5ce; border-radius:999px; padding:11px 22px; font-weight:800; cursor:pointer; }
.ea-platform-tab.active { color:#080b09; background:#ffd27a; border-color:#ffd27a; }
.ea-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ea-product-card { border:1px solid var(--line); border-radius:15px; background:linear-gradient(180deg,#111713,#0c110e); padding:22px; transition:.2s ease; }
.ea-product-card.selected { border-color:#ffd27a; box-shadow:0 0 0 2px rgba(255,210,122,.13); }
.ea-product-top { display:flex; justify-content:space-between; color:#ffd27a; font-size:.78rem; font-weight:850; letter-spacing:.05em; }
.ea-product-card h3 { margin:18px 0 8px; font-size:1.35rem; }
.ea-product-card p { color:var(--muted); min-height:24px; }
.ea-product-select { width:100%; margin-top:16px; border:1px solid rgba(255,210,122,.35); background:rgba(255,210,122,.06); color:#ffd27a; border-radius:9px; padding:12px 14px; font-weight:800; cursor:pointer; }
.ea-product-card.selected .ea-product-select { background:#ffd27a; color:#080b09; }
.ea-selection-status { min-height:24px; margin:16px 0 0; color:#aeb9b1; }
.ea-selection-status.success { color:#8dff87; }
.ea-selection-status.error { color:#ff958e; }
.license-delivery-status code { color:#ffd27a; font-family:monospace; overflow-wrap:anywhere; }
.license-delivery-status a { color:#ffd27a; }
.portal-subscriptions-table { min-width:1050px; }
.portal-download-button { display:inline-block; color:#080b09; background:#ffd27a; text-decoration:none; border-radius:7px; padding:8px 10px; font-size:.75rem; font-weight:850; white-space:nowrap; }
.portal-download-disabled { color:#7e8b83; font-size:.76rem; white-space:nowrap; }
@media (max-width:900px) { .ea-product-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .ea-product-grid { grid-template-columns:1fr; } }


/* 12-EA selector clarity fix */
.selected-ea-summary {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin:0 0 22px; padding:18px 20px; border:1px solid #ffd27a;
  border-radius:14px; background:rgba(255,210,122,.07);
}
.selected-ea-summary[hidden] { display:none !important; }
.selected-ea-summary-label { color:#ffd27a; font-size:.72rem; font-weight:900; letter-spacing:.1em; white-space:nowrap; }
.selected-ea-summary-main { display:flex; flex-direction:column; gap:5px; flex:1; min-width:0; }
.selected-ea-summary-main strong { color:#fff; font-size:1rem; }
.selected-ea-summary-main code { color:#ffd27a; font-size:.78rem; overflow-wrap:anywhere; }
.selected-ea-change { border:1px solid rgba(255,210,122,.4); background:transparent; color:#ffd27a; border-radius:8px; padding:9px 12px; font-weight:800; cursor:pointer; }
.plans-locked-message { margin:0 0 22px; padding:14px 16px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); }
.plans-locked-message[hidden] { display:none !important; }
.pricing-grid.plans-locked { opacity:.48; }
.plan-select-button:disabled { cursor:not-allowed; opacity:.55; background:rgba(255,255,255,.03); color:#7f8a82; border-color:var(--line); }
@media (max-width:640px) { .selected-ea-summary { align-items:flex-start; flex-direction:column; } }


/* Clean production payment summary */
.payment-methods-single { grid-template-columns: 1fr; }
.payment-methods-single > div { justify-content: flex-start; }

/* Floating back-to-top control */
.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid rgba(115,255,85,.42);
  border-radius: 999px;
  background: rgba(10,15,11,.94);
  color: var(--lime);
  font: 800 .78rem/1 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease, border-color .2s ease;
}
.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover,
.back-to-top:focus-visible {
  border-color: var(--lime);
  outline: none;
}
.back-to-top span { font-size: 1rem; line-height: 1; }
@media (max-width: 640px) {
  .back-to-top { right: 14px; bottom: 14px; min-height: 42px; padding: 0 13px; }
}

/* ===== WEDOOIT V7: clean branding, dark/light theme, client help ===== */
.brand-logo-wrap { position: relative; display: inline-grid; place-items: center; }
.logo-light { display: none; }
.theme-toggle {
  display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 12px;
  border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--text);
  font: inherit; cursor: pointer;
}
.theme-toggle:hover { border-color: rgba(115,255,85,.55); }
.help-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.help-card { overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; }
.help-card img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; border-bottom: 1px solid var(--line); }
.help-card div { padding: 24px; }
.help-card h3 { margin: 0 0 8px; font-size: 1.15rem; }
.help-card p { margin: 0; color: var(--muted); }
.example-download-row { margin-top: 22px; display: flex; gap: 12px; flex-wrap: wrap; }

html[data-theme="light"] {
  --bg: #f7f7f3;
  --panel: #ffffff;
  --panel-2: #eef1ec;
  --text: #111713;
  --muted: #5c685f;
  --line: rgba(16,30,20,.14);
  --lime: #2b8f21;
  --lime-soft: rgba(43,143,33,.10);
}
html[data-theme="light"] body { background: var(--bg); color: var(--text); }
html[data-theme="light"] .logo-dark { display: none; }
html[data-theme="light"] .logo-light { display: block; }
html[data-theme="light"] .nav { color: #39433d; }
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .hero-meta,
html[data-theme="light"] .payment-methods span,
html[data-theme="light"] .principles p { color: #46534a; }
html[data-theme="light"] .terminal-card { background: linear-gradient(180deg,#fff,#f0f4ef); box-shadow: 0 24px 70px rgba(24,45,30,.12); }
html[data-theme="light"] .terminal-top { background: #f1f4f1; }
html[data-theme="light"] .terminal-body strong { color: #1b261f; }
html[data-theme="light"] .terminal-body p { color: #657168; border-color: rgba(16,30,20,.11); }
html[data-theme="light"] .price-card { background: linear-gradient(180deg,#fff,#f7f9f6); }
html[data-theme="light"] .price-card.featured { background: linear-gradient(180deg,rgba(43,143,33,.09),#fff); }
html[data-theme="light"] .button.secondary { background: #fff; }
html[data-theme="light"] .payment-modal-card,
html[data-theme="light"] .portal-auth-card,
html[data-theme="light"] .portal-card,
html[data-theme="light"] .portal-stat,
html[data-theme="light"] .legal-card { background: #fff; }
html[data-theme="light"] input,
html[data-theme="light"] .text-field { background: #fff; color: #111713; }
html[data-theme="light"] .nav.open { background: #fff; }

@media (max-width: 880px) {
  .help-grid { grid-template-columns: 1fr; }
  .theme-toggle { justify-content: center; }
}

/* V8 clean client-help previews */
.help-preview{min-height:270px;padding:22px;background:linear-gradient(145deg,var(--panel),var(--bg));border-bottom:1px solid var(--line);color:var(--text)}
.preview-top{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:.78rem;letter-spacing:.08em}
.preview-top span{color:var(--muted);font-size:.68rem}
.preview-account{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:18px 0;font-size:.84rem}.preview-account span{color:var(--muted)}.ok-text{color:var(--accent)}
.preview-steps{margin:0;padding-left:22px;display:grid;gap:8px;color:var(--muted);font-size:.82rem}.preview-steps.compact{gap:7px;font-size:.78rem}
.preview-download-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:18px 0}.ok-pill{padding:4px 8px;border:1px solid rgba(115,255,85,.35);border-radius:999px;color:var(--accent);font-size:.7rem;font-weight:800}.preview-download-row button{border:1px solid var(--accent);background:transparent;color:var(--text);border-radius:8px;padding:8px 10px;font-weight:800;pointer-events:none}
.code-preview pre{margin:18px 0 12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.16);overflow:auto;color:var(--text);font-size:.74rem;line-height:1.55}.compile-result{color:var(--accent);font-weight:800;font-size:.82rem}
html[data-theme="light"] .code-preview pre{background:rgba(0,0,0,.035)}

/* ===== WEDOOIT V9: light-theme readability fix ===== */
html[data-theme="light"] .portal-top-nav button { color: #26322b; }
html[data-theme="light"] .portal-security-note { color: #344139; background: #fff8e8; border-color: rgba(151,96,0,.24); }
html[data-theme="light"] .portal-security-note strong { color: #7a4d00; }
html[data-theme="light"] .portal-auth-card label,
html[data-theme="light"] .portal-admin-form label { color: #334038; }
html[data-theme="light"] .portal-auth-card input,
html[data-theme="light"] .portal-search input,
html[data-theme="light"] .portal-admin-form input {
  color: #111713;
  background: #ffffff;
  border-color: rgba(16,30,20,.20);
}
html[data-theme="light"] .portal-link-button { color: #744900; }
html[data-theme="light"] .portal-message { color: #455249; }
html[data-theme="light"] .portal-message-error { color: #b42318; }
html[data-theme="light"] .portal-message-success { color: #1f6f1b; }
html[data-theme="light"] .portal-message-warn { color: #8a5a00; }
html[data-theme="light"] .portal-small { color: #56635b; }
html[data-theme="light"] .portal-tab {
  color: #26322b;
  background: #f2f5f1;
  border-color: rgba(16,30,20,.18);
}
html[data-theme="light"] .portal-tab.active {
  color: #111713;
  background: #ffd27a;
  border-color: #d6a63f;
}
html[data-theme="light"] .portal-stat span { color: #56635b; }
html[data-theme="light"] .portal-stat strong { color: #111713; }
html[data-theme="light"] .portal-details dt { color: #56635b; }
html[data-theme="light"] .portal-details dd { color: #111713; }
html[data-theme="light"] .portal-search button {
  color: #744900;
  background: #fff8e8;
  border-color: rgba(151,96,0,.30);
}
html[data-theme="light"] .portal-table th { color: #4f5d54; }
html[data-theme="light"] .portal-table td { color: #18221c; }
html[data-theme="light"] .portal-footer-link a { color: #744900; }
html[data-theme="light"] .portal-download-disabled { color: #5f6d64; }
html[data-theme="light"] .status-approved,
html[data-theme="light"] .status-paid { color: #20751b; }
html[data-theme="light"] .status-cancelled,
html[data-theme="light"] .status-repayment_due { color: #b42318; }
html[data-theme="light"] .status-pending { color: #7b5500; }
html[data-theme="light"] .portal-card,
html[data-theme="light"] .portal-stat,
html[data-theme="light"] .portal-auth-card {
  box-shadow: 0 18px 50px rgba(24,45,30,.10);
}

/* ===== WEDOOIT V11: comprehensive light-theme contrast hardening ===== */
html[data-theme="light"] .card,
html[data-theme="light"] .sponsor-rules,
html[data-theme="light"] .referral-access-card,
html[data-theme="light"] .help-card,
html[data-theme="light"] .payment-methods > div {
  background: #ffffff;
  color: #111713;
  border-color: rgba(16,30,20,.16);
}

/* EA product cards: use a true light surface in Light Mode. */
html[data-theme="light"] .ea-product-card {
  background: linear-gradient(180deg,#ffffff 0%,#f7f8f4 100%);
  color: #111713;
  border-color: rgba(16,30,20,.18);
  box-shadow: 0 8px 24px rgba(24,45,30,.05);
}
html[data-theme="light"] .ea-product-card h3 { color: #111713; }
html[data-theme="light"] .ea-product-card p { color: #4c5a51; }
html[data-theme="light"] .ea-product-top { color: #8a5a00; }
html[data-theme="light"] .ea-platform-tab {
  background: #ffffff;
  color: #253229;
  border-color: rgba(16,30,20,.20);
}
html[data-theme="light"] .ea-platform-tab.active {
  background: #ffd27a;
  color: #111713;
  border-color: #c9952d;
}
html[data-theme="light"] .ea-product-select {
  background: #fff8e8;
  color: #754900;
  border-color: rgba(151,96,0,.34);
}
html[data-theme="light"] .ea-product-card.selected {
  background: linear-gradient(180deg,#fffaf0 0%,#ffffff 100%);
  border-color: #c9952d;
  box-shadow: 0 0 0 2px rgba(201,149,45,.12);
}
html[data-theme="light"] .ea-product-card.selected .ea-product-select {
  background: #ffd27a;
  color: #111713;
  border-color: #c9952d;
}
html[data-theme="light"] .ea-selection-status { color: #4f5d54; }
html[data-theme="light"] .ea-selection-status.success { color: #1f6f1b; }
html[data-theme="light"] .ea-selection-status.error { color: #b42318; }

/* Selected EA summary. */
html[data-theme="light"] .selected-ea-summary {
  background: #fff8e8;
  border-color: #d6a63f;
}
html[data-theme="light"] .selected-ea-summary-label,
html[data-theme="light"] .selected-ea-summary-main code,
html[data-theme="light"] .selected-ea-change { color: #754900; }
html[data-theme="light"] .selected-ea-summary-main strong { color: #111713; }
html[data-theme="light"] .selected-ea-change { border-color: rgba(151,96,0,.34); }

/* Pricing remains visibly locked until an EA is selected, but all text stays readable. */
html[data-theme="light"] .pricing-grid.plans-locked { opacity: 1; }
html[data-theme="light"] .pricing-grid.plans-locked .price-card {
  background: #fbfcf9;
  border-color: rgba(16,30,20,.14);
}
html[data-theme="light"] .pricing-grid.plans-locked .price-card.featured {
  background: linear-gradient(180deg,#f3faef 0%,#ffffff 100%);
  border-color: rgba(43,143,33,.28);
}
html[data-theme="light"] .price-term { color: #4b5850; }
html[data-theme="light"] .price-amount strong { color: #111713; }
html[data-theme="light"] .price-amount span { color: #2b7d23; }
html[data-theme="light"] .price-duration { color: #56635b; }
html[data-theme="light"] .plan-select-button {
  background: #f5faf2;
  color: #226d1c;
  border-color: rgba(43,143,33,.34);
}
html[data-theme="light"] .plan-select-button:disabled {
  opacity: 1;
  background: #f2f4f1;
  color: #68756d;
  border-color: rgba(16,30,20,.16);
}
html[data-theme="light"] .plans-locked-message {
  background: #ffffff;
  color: #3f4d44;
  border-color: rgba(16,30,20,.22);
}
html[data-theme="light"] .best-value {
  background: #66b55a;
  color: #10200e;
}

/* Risk disclosure: dark readable copy on a warm light surface. */
html[data-theme="light"] .risk-box {
  background: linear-gradient(180deg,#fffaf0 0%,#ffffff 100%);
  border-color: rgba(173,113,0,.30);
}
html[data-theme="light"] .risk-box p { color: #344139; }
html[data-theme="light"] .risk-box strong,
html[data-theme="light"] .risk-emphasis strong { color: #8a5700; }
html[data-theme="light"] .risk-emphasis {
  background: #fff4dc;
  border-left-color: #b87900;
}
html[data-theme="light"] .terms-link-line a,
html[data-theme="light"] footer .risk a { color: #7a4d00; }
html[data-theme="light"] footer .risk { color: #4e5b53; }

/* Terms page. */
html[data-theme="light"] .legal-card p { color: #3f4d44; }
html[data-theme="light"] .legal-card strong { color: #111713; }
html[data-theme="light"] .legal-notice {
  background: #fff8e8;
  border-color: rgba(151,96,0,.25);
}

/* Sponsor and referral area. */
html[data-theme="light"] .sponsor-rule h3,
html[data-theme="light"] .referral-access-card h3 { color: #111713; }
html[data-theme="light"] .sponsor-rule p,
html[data-theme="light"] .referral-access-card > p:not(.eyebrow):not(.form-status) { color: #4c5a51; }
html[data-theme="light"] .sponsor-footnote { color: #58665d; }
html[data-theme="light"] .field-label { color: #405047; }
html[data-theme="light"] .text-field {
  background: #fffef7;
  color: #111713;
  border-color: rgba(16,30,20,.22);
}
html[data-theme="light"] .copy-row code {
  background: #f4f7f2;
  color: #226d1c;
}
html[data-theme="light"] .copy-row button {
  background: #ffffff;
  color: #243128;
}
html[data-theme="light"] .form-status,
html[data-theme="light"] .inline-status { color: #4f5d54; }
html[data-theme="light"] .form-status.success,
html[data-theme="light"] .inline-status.success { color: #1f6f1b; }
html[data-theme="light"] .form-status.error,
html[data-theme="light"] .inline-status.error { color: #b42318; }

/* Stripe checkout modal. */
html[data-theme="light"] .payment-modal-backdrop { background: rgba(18,27,21,.55); }
html[data-theme="light"] .payment-window {
  background: linear-gradient(180deg,#ffffff 0%,#f6f8f4 100%);
  color: #111713;
  border-color: rgba(43,143,33,.30);
  box-shadow: 0 30px 100px rgba(24,45,30,.26);
}
html[data-theme="light"] .payment-close {
  background: #ffffff;
  color: #1e2b22;
  border-color: rgba(16,30,20,.18);
}
html[data-theme="light"] .payment-order-summary > div {
  background: #ffffff;
  border-color: rgba(16,30,20,.14);
}
html[data-theme="light"] .payment-order-summary span,
html[data-theme="light"] .payment-choice-label { color: #536158; }
html[data-theme="light"] .payment-order-summary strong { color: #111713; }
html[data-theme="light"] .payment-toggle button {
  background: #ffffff;
  color: #26332b;
  border-color: rgba(16,30,20,.18);
}
html[data-theme="light"] .payment-toggle button.active {
  background: #eef8ea;
  color: #226d1c;
  border-color: rgba(43,143,33,.40);
}
html[data-theme="light"] .payment-details-preview {
  background: #f7fbf5;
  border-color: rgba(43,143,33,.28);
}
html[data-theme="light"] .address-row code {
  background: #f2f5f1;
  color: #344139;
}
html[data-theme="light"] .address-row button {
  background: #ffffff;
  color: #344139;
}
html[data-theme="light"] .payment-safety-note span { color: #435148; }

/* Checkout return / license delivery. */
html[data-theme="light"] .checkout-return-notice {
  background: #ffffff;
  color: #111713;
  border-color: rgba(16,30,20,.18);
}
html[data-theme="light"] .checkout-notice-close,
html[data-theme="light"] .license-delivery-key-row button {
  background: #ffffff;
  color: #111713;
}
html[data-theme="light"] .license-delivery-key-row code {
  background: #f2f7ef;
  color: #226d1c;
}
html[data-theme="light"] .license-delivery-status code,
html[data-theme="light"] .license-delivery-status a { color: #754900; }

/* Sponsor dashboard / commission history. */
html[data-theme="light"] .sponsor-balance-grid article { background: #ffffff; }
html[data-theme="light"] .commission-table th { color: #4f5d54; }
html[data-theme="light"] .commission-table td { color: #18221c; }
html[data-theme="light"] .commission-status { background: #eef2ed; }
html[data-theme="light"] .sponsor-adjustment { color: #7a4d00; background: #fff8e8; }

/* Client help examples. */
html[data-theme="light"] .help-preview {
  background: linear-gradient(145deg,#ffffff,#f4f6f2);
  color: #111713;
}
html[data-theme="light"] .preview-account span,
html[data-theme="light"] .preview-steps { color: #4d5b52; }
html[data-theme="light"] .preview-download-row button { color: #111713; }
html[data-theme="light"] .ok-pill { color: #226d1c; border-color: rgba(43,143,33,.35); }
html[data-theme="light"] .compile-result { color: #226d1c; }

/* Back-to-top button remains visible in either theme. */
html[data-theme="light"] .back-to-top {
  background: rgba(255,255,255,.96);
  color: #226d1c;
  border-color: rgba(43,143,33,.36);
  box-shadow: 0 12px 34px rgba(24,45,30,.16);
}


/* ===== WEDOOIT V14: EA Trading Capacity ===== */
.ea-capacity-section { position: relative; }
.ea-capacity-heading { max-width: 820px; }
.capacity-table-shell {
  width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(255,210,122,.24);
  border-radius: 16px;
  background: linear-gradient(180deg, var(--panel), rgba(8,11,10,.76));
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
  scrollbar-width: thin;
}
.capacity-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  font-size: .92rem;
}
.capacity-table th,
.capacity-table td {
  padding: 15px 14px;
  text-align: center;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.capacity-table tr:last-child th,
.capacity-table tr:last-child td { border-bottom: 0; }
.capacity-table th:last-child,
.capacity-table td:last-child { border-right: 0; }
.capacity-table thead th {
  color: #ffd27a;
  background: rgba(255,210,122,.055);
  font-weight: 900;
  letter-spacing: .02em;
}
.capacity-table tbody th {
  color: var(--text);
  text-align: left;
  font-weight: 800;
}
.capacity-table tbody td { color: #cbd5ce; }
.capacity-table tbody td strong { color: #ffd27a; font-weight: 900; }
.capacity-table tbody tr:hover { background: rgba(115,255,85,.035); }
.capacity-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .01em;
}
.capacity-pill-none { color: #c3cbc5; background: rgba(255,255,255,.09); }
.capacity-pill-fx { color: var(--lime); background: var(--lime-soft); border: 1px solid rgba(115,255,85,.20); }
.capacity-pill-mixed { color: #ffd27a; background: rgba(255,210,122,.09); border: 1px solid rgba(255,210,122,.22); }
.capacity-pill-all { color: #ffd27a; background: linear-gradient(90deg, rgba(115,255,85,.08), rgba(255,210,122,.09)); border: 1px solid rgba(255,210,122,.22); }
.capacity-legend {
  margin-top: 14px;
  padding: 15px 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 28px;
  color: var(--muted);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  font-size: .84rem;
}
.capacity-legend span { display: inline-flex; align-items: center; gap: 8px; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.legend-fx { background: var(--lime); }
.legend-xau { background: #ffd27a; }
.legend-btc { background: #c597ff; }
.capacity-note {
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(255,210,122,.22);
  border-radius: 13px;
  background: rgba(255,210,122,.045);
}
.capacity-note strong { display: block; margin-bottom: 4px; color: #ffd27a; }
.capacity-note p { margin: 0; color: #aeb9b1; font-size: .9rem; }

html[data-theme="light"] .capacity-table-shell {
  background: linear-gradient(180deg,#fff,#f7f9f6);
  border-color: rgba(151,96,0,.22);
  box-shadow: 0 24px 70px rgba(24,45,30,.08);
}
html[data-theme="light"] .capacity-table thead th { color: #744900; background: #fff8e8; }
html[data-theme="light"] .capacity-table tbody td { color: #3e4a42; }
html[data-theme="light"] .capacity-table tbody td strong { color: #744900; }
html[data-theme="light"] .capacity-table tbody tr:hover { background: rgba(43,143,33,.035); }
html[data-theme="light"] .capacity-pill-none { color: #4f5d54; background: #eef1ec; }
html[data-theme="light"] .capacity-pill-fx { color: #1f6f1b; background: rgba(43,143,33,.08); border-color: rgba(43,143,33,.18); }
html[data-theme="light"] .capacity-pill-mixed,
html[data-theme="light"] .capacity-pill-all { color: #744900; background: #fff8e8; border-color: rgba(151,96,0,.20); }
html[data-theme="light"] .capacity-note { background: #fff8e8; border-color: rgba(151,96,0,.22); }
html[data-theme="light"] .capacity-note strong { color: #744900; }
html[data-theme="light"] .capacity-note p { color: #46534a; }

@media (max-width: 700px) {
  .ea-capacity-section { padding-top: 76px; padding-bottom: 76px; }
  .capacity-table th, .capacity-table td { padding: 13px 12px; }
  .capacity-legend { justify-content: flex-start; }
}


/* ================= V15 MASTER ADMIN LICENSE CONTROLS ================= */
.portal-master-section { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.portal-master-section h3 { margin:0 0 8px; }
.portal-master-section-title { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; margin-bottom:14px; }
.portal-master-license-table { min-width:1040px; }
.portal-master-license-table tr.is-selected td { background:rgba(255,190,60,.055); }
.portal-status-badge { display:inline-flex; align-items:center; min-height:25px; padding:2px 9px; border-radius:999px; border:1px solid var(--line); font-size:.7rem; font-weight:800; letter-spacing:.04em; }
.portal-status-badge.ok { color:#8dff87; border-color:rgba(141,255,135,.28); background:rgba(141,255,135,.06); }
.portal-status-badge.bad { color:#ff958e; border-color:rgba(255,149,142,.3); background:rgba(255,149,142,.06); }
.portal-status-badge.neutral { color:#ffd27a; border-color:rgba(255,210,122,.28); background:rgba(255,210,122,.06); }
.portal-muted-inline { color:#78877e; font-size:.73rem; }
.portal-mini-button { min-height:34px; padding:0 12px; font-size:.75rem; white-space:nowrap; }
.portal-license-control-box { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-top:16px; padding:16px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.018); }
.portal-license-control-box strong { display:block; margin-top:4px; }
.portal-admin-actions-tight { margin-top:0; }
.button.danger { border:1px solid rgba(255,105,97,.45); background:rgba(255,80,72,.09); color:#ffb2ad; }
.button.danger:hover { border-color:rgba(255,105,97,.8); background:rgba(255,80,72,.15); }
.portal-danger-zone { border:1px solid rgba(255,105,97,.22); border-radius:14px; padding:22px; background:rgba(255,80,72,.025); }
.portal-reassign-form { display:grid; grid-template-columns:170px minmax(220px,1fr); gap:12px 16px; align-items:center; margin-top:18px; }
.portal-reassign-form label { color:#cbd5ce; font-size:.82rem; font-weight:750; }
.portal-reassign-form input { width:100%; padding:13px 14px; color:var(--text); background:#090d0a; border:1px solid var(--line); border-radius:9px; outline:none; }
.portal-reassign-form input:focus { border-color:rgba(255,190,60,.55); box-shadow:0 0 0 3px rgba(255,190,60,.07); }
.portal-reassign-form .button { grid-column:2; justify-self:start; }
html[data-theme="light"] .portal-status-badge.ok { color:#1f6f1b; }
html[data-theme="light"] .portal-status-badge.bad { color:#b42318; }
html[data-theme="light"] .portal-status-badge.neutral { color:#8a5a00; }
html[data-theme="light"] .portal-license-control-box { background:#f8faf8; }
html[data-theme="light"] .portal-reassign-form label { color:#334038; }
html[data-theme="light"] .portal-reassign-form input { color:#111713; background:#fff; }
html[data-theme="light"] .button.danger { color:#a61b14; background:#fff5f4; border-color:#efb6b2; }
@media (max-width:760px) {
  .portal-license-control-box { align-items:flex-start; flex-direction:column; }
  .portal-reassign-form { grid-template-columns:1fr; }
  .portal-reassign-form .button { grid-column:1; }
}

.portal-checkbox-control { display:flex; align-items:flex-start; gap:9px; color:#cbd5ce; font-size:.82rem; line-height:1.45; }
.portal-checkbox-control input { width:auto; margin-top:3px; accent-color:var(--lime); }
html[data-theme="light"] .portal-checkbox-control { color:#334038; }


/* ==================== V17 30-DAY DEMO ==================== */
.demo-section { position: relative; }
.demo-hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 42px; align-items: start; }
.demo-copy { position: sticky; top: 24px; }
.demo-badge { display: inline-flex; margin: 4px 0 14px; padding: 8px 12px; border: 1px solid rgba(115,255,85,.4); background: var(--lime-soft); color: var(--lime); border-radius: 999px; font: 800 .72rem/1.2 ui-monospace,monospace; letter-spacing: .07em; }
.demo-copy h2 { margin-top: 12px; }
.demo-rule-grid { margin-top: 30px; display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.demo-rule-grid div { min-height: 102px; padding: 18px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.demo-rule-grid strong { display: block; color: var(--lime); font-size: 1.05rem; }
.demo-rule-grid span { display: block; color: var(--muted); margin-top: 5px; font-size: .88rem; }
.demo-warning { margin-top: 18px; padding: 17px 18px; border-left: 3px solid var(--lime); background: rgba(115,255,85,.06); border-radius: 0 10px 10px 0; }
.demo-warning strong, .demo-warning span { display: block; }
.demo-warning span { margin-top: 4px; color: var(--muted); font-size: .9rem; }
.demo-form { padding: 26px; border: 1px solid rgba(115,255,85,.25); background: linear-gradient(180deg,var(--panel),rgba(10,15,12,.96)); border-radius: 16px; box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.demo-form-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.demo-form-head span { color: var(--lime); font: 800 .68rem/1 ui-monospace,monospace; letter-spacing: .09em; }
.demo-form-head strong { font-size: .95rem; }
.demo-field { display: grid; gap: 7px; margin-bottom: 14px; }
.demo-field > span { font-weight: 700; font-size: .86rem; }
.demo-field small { color: var(--muted); font-size: .75rem; }
.demo-field input, .demo-field select { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.035); color: var(--text); padding: 0 12px; font: inherit; }
.demo-field select option { color: #111; }
.demo-field input:focus, .demo-field select:focus { outline: 2px solid rgba(115,255,85,.25); border-color: rgba(115,255,85,.7); }

.demo-platform-selector { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0 6px; }
.demo-platform-selector label { display: flex; align-items: center; gap: 9px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.025); cursor: pointer; font-weight: 800; font-size: .86rem; }
.demo-platform-selector input { accent-color: var(--lime); }
.demo-platform-help { margin: 0 0 10px; color: var(--muted); font-size: .78rem; }
.demo-platform-box.is-disabled { opacity: .48; }
.demo-platform-box.is-disabled input, .demo-platform-box.is-disabled select { cursor: not-allowed; }
.demo-platform-box { margin: 18px 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.demo-platform-box legend { color: var(--lime); font-weight: 800; padding: 0 7px; }
.demo-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.demo-consent { display: flex; gap: 10px; align-items: flex-start; color: #e7efe9; font-size: .82rem; margin: 18px 0; }
html[data-theme="light"] .demo-consent { color: #26322b; }
.demo-consent input { margin-top: 4px; accent-color: var(--lime); }
.demo-submit { width: 100%; border: 0; cursor: pointer; font-size: .95rem; }
.demo-submit:disabled { opacity: .55; cursor: wait; }
.demo-no-stripe { text-align: center; color: var(--muted); font-size: .75rem; margin: 10px 0 0; }
.demo-status { min-height: 24px; margin-top: 14px; font-size: .84rem; color: var(--muted); }
.demo-status.success { color: var(--lime); }
.demo-status.error { color: #ff8f8f; }
.demo-success { margin-top: 14px; padding: 18px; border: 1px solid rgba(115,255,85,.35); background: rgba(115,255,85,.07); border-radius: 12px; }
.demo-success h3 { margin-top: 0; color: var(--lime); }
.demo-license-result { display: grid; grid-template-columns: 95px 1fr; gap: 8px; align-items: center; margin: 9px 0; }
.demo-license-result span { color: var(--muted); font-size: .78rem; }
.demo-license-result code { overflow-wrap: anywhere; color: #ffd27a; }
@media (max-width: 850px) {
  .demo-hero-grid { grid-template-columns: 1fr; }
  .demo-copy { position: static; }
}
@media (max-width: 560px) {
  .demo-rule-grid, .demo-two-col, .demo-platform-selector { grid-template-columns: 1fr; }
  .demo-form { padding: 18px; }
  .demo-form-head { align-items: flex-start; flex-direction: column; }
}

.demo-email-only {
  margin: 0.8rem 0 1rem;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.08);
}

/* ==================== V17.1 DEMO READABILITY HOTFIX ====================
   Light theme previously kept the demo form's dark lower gradient while
   forcing consent text dark. Keep the entire light-theme demo form light,
   and explicitly preserve readable consent/footer text in both themes. */
html[data-theme="light"] .demo-form {
  background: linear-gradient(180deg, #ffffff 0%, #f4f7f5 100%);
  color: #111713;
}
html[data-theme="light"] .demo-consent {
  color: #26322b !important;
}
html[data-theme="light"] .demo-no-stripe,
html[data-theme="light"] .demo-status {
  color: #526159;
}
html:not([data-theme="light"]) .demo-consent {
  color: #e7efe9 !important;
}
html:not([data-theme="light"]) .demo-no-stripe {
  color: #aab6ad;
}


/* V17.2 demo-to-paid conversion and portal readability */
.demo-consent a { color: var(--lime); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.demo-success-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.portal-action-stack { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.portal-buy-button { display:inline-block; color:var(--lime); background:rgba(115,255,85,.08); border:1px solid rgba(115,255,85,.35); text-decoration:none; border-radius:7px; padding:8px 10px; font-size:.75rem; font-weight:850; white-space:nowrap; }
.portal-buy-button:hover { background:rgba(115,255,85,.14); }
html[data-theme="light"] .portal-buy-button { color:#136b17; background:#eefbea; border-color:#9ddc91; }
html[data-theme="light"] .demo-consent a { color:#136b17; }

/* ======================================================================
   WEDOOIT V17.2.2 — LIGHT DEFAULT / DARK-ONLY DARK SURFACES
   Dark styling must never leak into Light mode. These rules are last on
   purpose so they win over older component-specific dark declarations.
   ====================================================================== */
html[data-theme="light"] {
  color-scheme: light;
  --bg: #f7f7f3;
  --panel: #ffffff;
  --panel-2: #eef1ec;
  --text: #111713;
  --muted: #5c685f;
  --line: rgba(16,30,20,.14);
  --lime: #2b8f21;
  --lime-soft: rgba(43,143,33,.10);
}
html[data-theme="dark"] { color-scheme: dark; }

html[data-theme="light"] body,
html[data-theme="light"] .site-header,
html[data-theme="light"] footer {
  background-color: var(--bg);
  color: var(--text);
}

html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .menu-button,
html[data-theme="light"] .nav.open,
html[data-theme="light"] .card,
html[data-theme="light"] .help-card,
html[data-theme="light"] .payment-methods > div,
html[data-theme="light"] .sponsor-rules,
html[data-theme="light"] .referral-access-card,
html[data-theme="light"] .portal-auth-card,
html[data-theme="light"] .portal-card,
html[data-theme="light"] .portal-stat,
html[data-theme="light"] .legal-card,
html[data-theme="light"] .ea-product-card,
html[data-theme="light"] .sponsor-balance-grid article,
html[data-theme="light"] .checkout-return-notice,
html[data-theme="light"] .demo-form {
  background: #ffffff !important;
  color: #111713 !important;
  box-shadow: 0 18px 55px rgba(24,45,30,.08);
}

html[data-theme="light"] .terminal-card,
html[data-theme="light"] .price-card,
html[data-theme="light"] .price-card.featured,
html[data-theme="light"] .payment-window {
  background: linear-gradient(180deg,#ffffff 0%,#f4f7f5 100%) !important;
  color: #111713 !important;
}

html[data-theme="light"] .payment-close,
html[data-theme="light"] .payment-toggle button,
html[data-theme="light"] .address-row code,
html[data-theme="light"] .address-row button,
html[data-theme="light"] .copy-row code,
html[data-theme="light"] .copy-row button,
html[data-theme="light"] .checkout-notice-close,
html[data-theme="light"] .license-delivery-key-row code,
html[data-theme="light"] .license-delivery-key-row button,
html[data-theme="light"] .portal-tab,
html[data-theme="light"] .ea-platform-tab,
html[data-theme="light"] .portal-search input,
html[data-theme="light"] .portal-auth-card input,
html[data-theme="light"] .portal-admin-form input,
html[data-theme="light"] .portal-reassign-form input,
html[data-theme="light"] .text-field,
html[data-theme="light"] .demo-field input,
html[data-theme="light"] .demo-field select,
html[data-theme="light"] .demo-platform-selector label {
  background: #ffffff !important;
  color: #111713 !important;
}

html[data-theme="light"] .payment-order-summary > div,
html[data-theme="light"] .payment-details-preview,
html[data-theme="light"] .selected-ea-summary,
html[data-theme="light"] .demo-platform-box,
html[data-theme="light"] .demo-success,
html[data-theme="light"] .demo-email-only,
html[data-theme="light"] .portal-license-control-box {
  background: #f7faf7 !important;
  color: #111713 !important;
}

html[data-theme="light"] .nav,
html[data-theme="light"] .hero-text,
html[data-theme="light"] .lead,
html[data-theme="light"] .card p,
html[data-theme="light"] .help-card p,
html[data-theme="light"] .sponsor-rule p,
html[data-theme="light"] .sponsor-footnote,
html[data-theme="light"] .demo-platform-help,
html[data-theme="light"] .demo-field small,
html[data-theme="light"] .demo-no-stripe,
html[data-theme="light"] .demo-status,
html[data-theme="light"] .portal-small,
html[data-theme="light"] footer,
html[data-theme="light"] footer .risk {
  color: #4f5d54 !important;
}

html[data-theme="light"] .payment-order-summary strong,
html[data-theme="light"] .payment-window h2,
html[data-theme="light"] .demo-form-head strong,
html[data-theme="light"] .demo-field > span,
html[data-theme="light"] .sponsor-rule h3,
html[data-theme="light"] .referral-access-card h3,
html[data-theme="light"] .portal-card h2,
html[data-theme="light"] .portal-card h3,
html[data-theme="light"] .legal-card h2,
html[data-theme="light"] .legal-card h3 {
  color: #111713 !important;
}

html[data-theme="light"] .demo-consent {
  color: #26322b !important;
}

/* Explicit dark selectors: these visual treatments apply only when Dark
   mode is active. This makes the theme boundary obvious and predictable. */
html[data-theme="dark"] body { background: #080b0a; color: #f2f7f3; }
html[data-theme="dark"] .site-header,
html[data-theme="dark"] footer { background-color: #080b0a; }


/* V17.3 referral/payout UI */
.referral-promo-banner{margin-top:14px;padding:12px 14px;border:1px solid rgba(212,175,55,.45);border-radius:10px;font-weight:700}
.portal-sponsor-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.portal-sponsor-form{align-content:start}
.portal-sponsor-form h3{grid-column:1/-1;margin:0 0 6px}
.portal-sponsor-form select{min-height:44px;border-radius:8px;padding:0 10px}
.portal-withdraw-preview{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:12px;border:1px solid rgba(212,175,55,.25);border-radius:10px}
@media(max-width:760px){.portal-sponsor-columns{grid-template-columns:1fr}}

/* V17.4 public limited-time direct-client tier promotion */
.referral-tier-promotion{margin:18px 0 0;padding:18px;border:1px solid rgba(212,175,55,.34);border-radius:16px;background:rgba(212,175,55,.055)}
.referral-tier-promotion h3{margin:0 0 6px}.referral-tier-promotion>p{margin:0 0 14px}
.referral-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.referral-tier-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.025)}
.referral-tier-card span{font-size:.9rem;opacity:.86}.referral-tier-card strong{font-size:1.18rem;color:var(--gold,#d4af37)}
@media(max-width:760px){.referral-tier-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.referral-tier-grid{grid-template-columns:1fr}}

/* V17.4 tier-promotion admin controls */
.portal-tier-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin:8px 0 14px}
.portal-tier-admin-grid label{display:flex;flex-direction:column;gap:6px}
@media(max-width:760px){.portal-tier-admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.portal-tier-admin-grid{grid-template-columns:1fr}}


/* V18.0.1 — professional Admin payout settings */
.portal-payout-settings-card{display:block!important;padding:20px!important;border:1px solid var(--line);border-radius:16px;background:var(--panel);margin:18px 0}
.portal-payout-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.portal-payout-settings-heading h3{margin:0 0 4px;font-size:1.12rem}
.portal-payout-settings-heading p{margin:0}
.portal-private-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border:1px solid rgba(212,175,55,.35);border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.04em}
.portal-payout-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.portal-setting-field{display:flex!important;flex-direction:column;gap:5px!important;padding:15px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}
.portal-setting-title{font-weight:800;line-height:1.3}
.portal-setting-help{font-size:.82rem;opacity:.72;min-height:1.2em}
.portal-setting-input{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.portal-setting-input input{width:100%!important;min-width:0!important;border:0!important;background:transparent!important;padding:10px 0!important;outline:none!important;box-shadow:none!important;color:inherit!important;font:inherit;font-weight:800}
.portal-setting-input>span{font-size:.86rem;font-weight:800;opacity:.72;white-space:nowrap}
.portal-setting-field input[readonly]{opacity:.78;cursor:not-allowed}
.portal-payout-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.portal-payout-settings-footer .button{margin:0;white-space:nowrap}
@media(max-width:760px){.portal-payout-settings-grid{grid-template-columns:1fr}.portal-payout-settings-heading,.portal-payout-settings-footer{align-items:stretch;flex-direction:column}.portal-private-badge{align-self:flex-start}.portal-payout-settings-footer .button{width:100%}}

/* V18.0.1 — public active tier promotion */
.referral-tier-promotion.is-active{box-shadow:0 16px 44px rgba(0,0,0,.10)}
.referral-tier-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.referral-tier-heading h3{margin:6px 0 0!important}
.referral-tier-live-badge,.referral-tier-renewal-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.06em}
.referral-tier-live-badge{border:1px solid rgba(115,255,85,.42);background:rgba(115,255,85,.10)}
.referral-tier-renewal-badge{border:1px solid rgba(212,175,55,.34);background:rgba(212,175,55,.08);white-space:nowrap}
.referral-tier-card{position:relative;display:grid!important;grid-template-columns:1fr auto;align-items:center!important;gap:2px 12px!important;min-height:76px}
.referral-tier-card .referral-tier-range{font-weight:750;opacity:.92}
.referral-tier-card strong{grid-row:1 / span 2;grid-column:2;font-size:1.35rem!important}
.referral-tier-card small{font-size:.72rem;opacity:.62;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:600px){.referral-tier-heading{flex-direction:column}.referral-tier-renewal-badge{align-self:flex-start}}
