/* NexoPlay V43 — hardening integral de modo oscuro/claro.
   Alcance: experiencia publica, cliente, proveedor, afiliado, VIP y Nexo IA.
   EXCLUSION INTENCIONAL: #adminPanelBg y #adminSaleDetailsBg no se modifican. */

/* ================================================================
   1) TOKENS UNICOS DE TEMA
   ================================================================ */
body[data-nx-theme="dark"]{
  --nx43-bg:#050914;
  --nx43-surface:#09172b;
  --nx43-surface-2:#0d1d35;
  --nx43-surface-3:#122641;
  --nx43-surface-4:#172e4d;
  --nx43-text:#f3f7ff;
  --nx43-text-2:#dce7f6;
  --nx43-muted:#a8bad1;
  --nx43-faint:#8195b2;
  --nx43-border:rgba(137,169,220,.24);
  --nx43-border-soft:rgba(137,169,220,.16);
  --nx43-input:#071528;
  --nx43-hover:#162b49;
  --nx43-purple:#8b7cff;
  --nx43-cyan:#55d8ff;
  --nx43-good:#79e7bb;
  --nx43-warn:#f7cf70;
  --nx43-bad:#ff8b9e;
  --nx43-shadow:0 30px 90px rgba(0,0,0,.38);

  /* V30 usa variables de Wallet, pero no reconocia data-nx-theme. */
  --nx-wallet-bg:#09172b;
  --nx-wallet-surface:#0d1d35;
  --nx-wallet-surface-2:#122641;
  --nx-wallet-text:#f3f7ff;
  --nx-wallet-muted:#a8bad1;
  --nx-wallet-border:rgba(137,169,220,.24);
  --nx-wallet-accent:#4f83ff;
  --nx-wallet-accent-2:#34c8f2;
  --nx-wallet-good:#79e7bb;
  --nx-wallet-shadow:0 24px 70px rgba(0,0,0,.34);
}
body[data-nx-theme="light"]{
  --nx43-bg:#f4f8ff;
  --nx43-surface:#ffffff;
  --nx43-surface-2:#f5f8fc;
  --nx43-surface-3:#edf3fa;
  --nx43-surface-4:#e4edf7;
  --nx43-text:#142b48;
  --nx43-text-2:#29435f;
  --nx43-muted:#5d7188;
  --nx43-faint:#71839a;
  --nx43-border:#d7e3f0;
  --nx43-border-soft:#e2eaf4;
  --nx43-input:#ffffff;
  --nx43-hover:#edf3fa;
  --nx43-purple:#5f52e8;
  --nx43-cyan:#138fbe;
  --nx43-good:#087a55;
  --nx43-warn:#8a5b00;
  --nx43-bad:#b8324a;
  --nx43-shadow:0 26px 70px rgba(36,66,108,.16);

  --nx-wallet-bg:#ffffff;
  --nx-wallet-surface:#ffffff;
  --nx-wallet-surface-2:#f1f5fa;
  --nx-wallet-text:#142b48;
  --nx-wallet-muted:#5d7188;
  --nx-wallet-border:#d7e3f0;
  --nx-wallet-accent:#2563eb;
  --nx-wallet-accent-2:#0ea5e9;
  --nx-wallet-good:#087a55;
  --nx-wallet-shadow:0 22px 58px rgba(30,59,99,.13);
}

/* ================================================================
   2) CAPAS DE CLIENTE / MODALES PRINCIPALES
   No se usa ningun selector de Admin.
   ================================================================ */
body[data-nx-theme] :is(
  #modalBg .modal,
  #tutorialBg .tutorial-modal,
  #ordersModalBg .tutorial-modal,
  #purchasesModalBg .purchase-page,
  #supportModalBg .support-modal,
  #recoveryModalBg .tutorial-modal,
  #authBg .auth-modal,
  #walletModalBg .wallet-modal,
  #deliveryModalBg .tutorial-modal,
  #emailCodeBg .email-confirm-modal,
  #accountSuccessBg .email-confirm-modal
){
  background:var(--nx43-surface)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
  box-shadow:var(--nx43-shadow)!important;
}
body[data-nx-theme] :is(
  #modalBg .modal-head,
  #tutorialBg .tutorial-modal-head,
  #ordersModalBg .tutorial-modal-head,
  #purchasesModalBg .purchase-hero,
  #supportModalBg .tutorial-modal-head,
  #recoveryModalBg .tutorial-modal-head,
  #authBg .auth-head,
  #walletModalBg .wallet-head,
  #deliveryModalBg .tutorial-modal-head
){
  background:var(--nx43-surface)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] :is(
  #modalBg,#tutorialBg,#ordersModalBg,#purchasesModalBg,#supportModalBg,
  #recoveryModalBg,#authBg,#walletModalBg,#deliveryModalBg,#emailCodeBg,#accountSuccessBg
) :is(h1,h2,h3,h4,h5,strong,b){color:var(--nx43-text)!important}
body[data-nx-theme] :is(
  #modalBg,#tutorialBg,#ordersModalBg,#purchasesModalBg,#supportModalBg,
  #recoveryModalBg,#authBg,#walletModalBg,#deliveryModalBg,#emailCodeBg,#accountSuccessBg
) :is(p,small,label,.info-text,.wallet-muted,.quick-modal-intro,.auth-note,.security-hint,.otp-code-note,.email-confirm-main,.email-confirm-note){
  color:var(--nx43-muted)!important;
  opacity:1!important;
}
body[data-nx-theme] :is(
  #modalBg,#tutorialBg,#ordersModalBg,#purchasesModalBg,#supportModalBg,
  #recoveryModalBg,#authBg,#walletModalBg,#deliveryModalBg
) .close{
  background:var(--nx43-surface-3)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] :is(
  #modalBg,#ordersModalBg,#purchasesModalBg,#supportModalBg,#recoveryModalBg,
  #authBg,#walletModalBg,#deliveryModalBg,#emailCodeBg
) :is(input,textarea,select){
  background:var(--nx43-input)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
  -webkit-text-fill-color:var(--nx43-text)!important;
  opacity:1!important;
}
body[data-nx-theme] :is(
  #modalBg,#ordersModalBg,#purchasesModalBg,#supportModalBg,#recoveryModalBg,
  #authBg,#walletModalBg,#deliveryModalBg,#emailCodeBg
) :is(input,textarea)::placeholder{
  color:var(--nx43-faint)!important;
  -webkit-text-fill-color:var(--nx43-faint)!important;
  opacity:1!important;
}

/* OTP / confirmacion de cuenta */
body[data-nx-theme] :is(#emailCodeBg,#accountSuccessBg) .email-confirm-icon,
body[data-nx-theme] #emailCodeBg .email-confirm-address{
  background:var(--nx43-surface-3)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] #emailCodeBg .otp-timer{color:var(--nx43-muted)!important}
body[data-nx-theme] #emailCodeBg .otp-resend{
  background:var(--nx43-surface-2)!important;
  color:var(--nx43-text-2)!important;
  border-color:var(--nx43-border)!important;
}

/* ================================================================
   3) PERFIL / LOGIN / REGISTRO
   ================================================================ */
body[data-nx-theme] #authBg .auth-body{background:var(--nx43-surface)!important;color:var(--nx43-text)!important}
body[data-nx-theme] #authBg .auth-tabs{
  background:var(--nx43-surface-3)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] #authBg .auth-tab{
  background:transparent!important;
  color:var(--nx43-muted)!important;
  border-color:transparent!important;
}
body[data-nx-theme] #authBg .auth-tab.active{
  background:var(--nx43-surface)!important;
  color:var(--nx43-purple)!important;
  border-color:var(--nx43-border)!important;
  box-shadow:0 7px 18px rgba(18,44,80,.12)!important;
}
body[data-nx-theme] #authBg :is(.recovery-box,.register-pin-card){
  background:var(--nx43-surface-2)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] #authBg :is(.recovery-title,.pin-title){color:var(--nx43-text)!important}
body[data-nx-theme] #authBg :is(.recovery-box p,.pin-sub,.security-hint){color:var(--nx43-muted)!important}
body[data-nx-theme] #authBg :is(.recovery-btn,.password-toggle){color:var(--nx43-text-2)!important}
body[data-nx-theme] #authBg .recovery-btn{
  background:var(--nx43-surface)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] #authBg .nx42-register-hint{color:var(--nx43-muted)!important}

/* Perfil V5 generado dinamicamente */
body[data-nx-theme] #authBg :is(
  .nx5-profile-hero,.nx5-stat,.nx5-info-card,.nx5-account-line,.nx5-profile-pills span,.nx5-action,.nx5-profile-refresh
){
  background:var(--nx43-surface-2)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
  box-shadow:none!important;
}
body[data-nx-theme] #authBg .nx5-profile-hero{
  background:
    radial-gradient(460px 220px at 0 0,color-mix(in srgb,var(--nx43-purple) 16%,transparent),transparent 72%),
    radial-gradient(420px 210px at 100% 0,color-mix(in srgb,var(--nx43-cyan) 13%,transparent),transparent 72%),
    var(--nx43-surface-2)!important;
}
body[data-nx-theme] #authBg :is(.nx5-profile-main h3,.nx5-stat b,.nx5-card-head h4,.nx5-account-line strong){color:var(--nx43-text)!important}
body[data-nx-theme] #authBg :is(.nx5-profile-main p,.nx5-stat span,.nx5-stat small,.nx5-info-card p,.nx5-account-line span){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #authBg .nx5-progress{background:var(--nx43-surface-4)!important}
body[data-nx-theme] #authBg .nx-profile-top-logout,
body[data-nx-theme] #authBg .nx5-profile-footer .danger,
body[data-nx-theme] #authBg .profile-logout{
  background:var(--nx43-surface-3)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
  opacity:1!important;
}
body[data-nx-theme] #authBg .nx5-action.primary{background:linear-gradient(135deg,#6557f5,#25b9e8)!important;color:#fff!important;border-color:transparent!important}

/* ================================================================
   4) WALLET — solucion directa al selector roto de V30/V7
   ================================================================ */
body[data-nx-theme] #walletModalBg.nx7-light-wallet .wallet-modal,
body[data-nx-theme] #walletModalBg .wallet-modal{
  background:var(--nx43-surface)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] #walletModalBg .wallet-head{
  background:var(--nx43-surface)!important;
  color:var(--nx43-text)!important;
  border-bottom-color:var(--nx43-border)!important;
}
body[data-nx-theme] #walletModalBg :is(
  .wallet-body,.wallet-hero,.wallet-balance,.wallet-stat,.wallet-panel,.wallet-help,
  .wallet-level,.wallet-benefit,.wallet-tx,.wallet-empty,.nx40-rate-box
){
  background:var(--nx43-surface-2)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] #walletModalBg .wallet-body{background:var(--nx43-surface)!important}
body[data-nx-theme] #walletModalBg .wallet-hero{background:transparent!important;border-color:transparent!important}
body[data-nx-theme] #walletModalBg :is(.wallet-head h2,.wallet-amount,.wallet-stat .value,.wallet-panel h3,.wallet-level-row strong,.wallet-benefit strong,.wallet-tx-main strong){color:var(--nx43-text)!important;opacity:1!important}
body[data-nx-theme] #walletModalBg :is(.wallet-kicker,.wallet-updated,.wallet-stat .label,.wallet-stat .sub,.wallet-muted,.wallet-level-row span,.wallet-tx-main span,.wallet-empty){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #walletModalBg :is(.wallet-action,.wallet-preset button){
  background:var(--nx43-surface-3)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] #walletModalBg :is(.wallet-action.primary,.wallet-topup-form button.primary){background:linear-gradient(135deg,#2f66e9,#2b9ddd)!important;color:#fff!important;border-color:transparent!important}
body[data-nx-theme] #walletModalBg .wallet-progress{background:var(--nx43-surface-4)!important}
body[data-nx-theme] #walletModalBg .wallet-tx{border-bottom-color:var(--nx43-border-soft)!important}
body[data-nx-theme] #walletModalBg .wallet-plus{color:var(--nx43-good)!important}
body[data-nx-theme] #walletModalBg .wallet-minus{color:var(--nx43-bad)!important}

/* ================================================================
   5) MIS COMPRAS / ENTREGAS
   ================================================================ */
body[data-nx-theme] #purchasesModalBg .purchase-page{background:var(--nx43-surface)!important;color:var(--nx43-text)!important}
body[data-nx-theme] #purchasesModalBg .purchase-hero{background:var(--nx43-surface)!important;border-bottom-color:var(--nx43-border)!important}
body[data-nx-theme] #purchasesModalBg .nx6-ticker{
  background:var(--nx43-surface-3)!important;
  border-color:var(--nx43-border)!important;
  box-shadow:none!important;
}
body[data-nx-theme="dark"] #purchasesModalBg .nx6-ticker span{
  background:linear-gradient(90deg,#b7adff,#69dcff,#e0a8ff,#b7adff)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  opacity:1!important;
}
body[data-nx-theme="light"] #purchasesModalBg .nx6-ticker span{
  background:linear-gradient(90deg,#5144d8,#087fa9,#9a3cc0,#5144d8)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  opacity:1!important;
}
body[data-nx-theme] #purchasesModalBg :is(.purchase-card,.purchase-summary-item,.pc-row,.customer-delivery,.nx35-customer-provider-block,.nx39f-customer-auto,.nx39f-customer-manual){
  background:var(--nx43-surface-2)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border)!important;
  box-shadow:none!important;
}
body[data-nx-theme] #purchasesModalBg :is(.pc-title,.purchase-summary-item b,.pc-row b,.pc-value,.nx35-customer-provider-head strong,.nx39f-auto-head strong,.nx39f-manual-head strong,.nx39f-credential-grid b){color:var(--nx43-text)!important;opacity:1!important}
body[data-nx-theme] #purchasesModalBg :is(.pc-meta,.purchase-summary-item span,.pc-row span,.customer-delivery p,.nx35-customer-provider-head span,.nx35-customer-wait,.nx39f-auto-head small,.nx39f-manual-head small,.nx39f-wait,.nx39f-security-note){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #purchasesModalBg :is(.nx35-delivery-grid>div,.nx35-contact-grid>div,.nx39f-credential-grid>div){
  background:var(--nx43-surface-3)!important;
  color:var(--nx43-text)!important;
  border-color:var(--nx43-border-soft)!important;
}
body[data-nx-theme] #purchasesModalBg .nx39f-credential-grid span{color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #purchasesModalBg .nx39f-external{
  background:color-mix(in srgb,var(--nx43-good) 10%,var(--nx43-surface-3))!important;
  color:var(--nx43-text)!important;
  border:1px solid color-mix(in srgb,var(--nx43-good) 36%,var(--nx43-border))!important;
}
body[data-nx-theme] #purchasesModalBg .nx39f-external b{color:var(--nx43-good)!important}
body[data-nx-theme] #purchasesModalBg .nx39f-external p{color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #purchasesModalBg :is(.pc-copy,.copy-small,.nx39f-copy){
  background:var(--nx43-surface-3)!important;
  color:var(--nx43-text-2)!important;
  border-color:var(--nx43-border)!important;
}
body[data-nx-theme] #purchasesModalBg :is(.order-view-btn,.purchase-help){background:linear-gradient(135deg,#5d55f5,#27b8e7)!important;color:#fff!important;border-color:transparent!important}
body[data-nx-theme="dark"] #purchasesModalBg .purchase-status{background:rgba(31,190,127,.16)!important;color:#8cf0c6!important;border-color:rgba(89,226,171,.2)!important}
body[data-nx-theme="dark"] #purchasesModalBg .purchase-status.pending{background:rgba(245,178,46,.15)!important;color:#ffe099!important;border-color:rgba(246,197,91,.2)!important}
body[data-nx-theme="light"] #purchasesModalBg .purchase-status{background:#e5f7ef!important;color:#087451!important;border-color:#bde8d4!important}
body[data-nx-theme="light"] #purchasesModalBg .purchase-status.pending{background:#fff2cf!important;color:#805800!important;border-color:#f2daa0!important}
body[data-nx-theme="dark"] #purchasesModalBg :is(.nx39f-auto-head em,.nx39f-manual-head em.done,.nx39f-auto-badge,.nx39f-auto-inline){color:#8cf0c6!important;background:rgba(34,197,94,.14)!important}
body[data-nx-theme="dark"] #purchasesModalBg .nx39f-manual-head em.pending{color:#ffe099!important;background:rgba(245,158,11,.14)!important}

/* Pedidos rapidos */
body[data-nx-theme] #ordersModalBg :is(.quick-order-card,.quick-modal-empty){background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #ordersModalBg :is(.quick-order-meta,.quick-order-items,.quick-modal-intro){color:var(--nx43-muted)!important;opacity:1!important}

/* ================================================================
   6) CARRITO / CHECKOUT
   ================================================================ */
body[data-nx-theme] #cartPanel{
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] #cartPanel :is(.cart-item,.cart-extra,.cart-total-v2,.payment-box-v2,.order-note-v2,.payment-option,.wallet-choice){
  background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] #cartPanel :is(h2,h3,strong,b){color:var(--nx43-text)!important}
body[data-nx-theme] #cartPanel :is(p,small,label,.cart-extra-head span,.wallet-choice span){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #cartPanel :is(input,textarea,select){background:var(--nx43-input)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #cartPanel :is(input,textarea)::placeholder{color:var(--nx43-faint)!important;opacity:1!important}
body[data-nx-theme] #cartPanel .payment-option.selected{background:color-mix(in srgb,var(--nx43-purple) 12%,var(--nx43-surface-2))!important;border-color:color-mix(in srgb,var(--nx43-purple) 55%,var(--nx43-border))!important}

/* ================================================================
   7) SOPORTE / TUTORIAL / RECUPERACION
   ================================================================ */
body[data-nx-theme] #tutorialBg .tutorial-card,
body[data-nx-theme] #supportModalBg :is(.support-sidebar,.support-content,.support-ticket,.support-reason,.support-bubble,.support-actions button){
  background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] #tutorialBg .tutorial-card p,
body[data-nx-theme] #supportModalBg :is(.support-empty,.support-ticket small,.support-bubble small,.support-modal-head p){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #supportModalBg .support-empty h3{color:var(--nx43-text)!important}
body[data-nx-theme] #supportModalBg :is(.support-ticket.active,.support-bubble.me){background:color-mix(in srgb,var(--nx43-purple) 13%,var(--nx43-surface-2))!important;border-color:color-mix(in srgb,var(--nx43-purple) 50%,var(--nx43-border))!important}

/* ================================================================
   8) CATALOGO / PAGINA PUBLICA
   ================================================================ */
body[data-nx-theme] :is(.search-wrap,.side-menu,.category-explorer,.catalog-tools select,.catalog-tools button,.mini-card,.combo-card,.combo-side,.discover-card,.info-panel,.review-form,.reviews-list){
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] .search{background:var(--nx43-input)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .search::placeholder{color:var(--nx43-faint)!important;opacity:1!important}
body[data-nx-theme] .side-menu :is(button,strong){color:var(--nx43-text)!important}
body[data-nx-theme] .side-menu span{color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] .side-menu button:hover{background:var(--nx43-hover)!important}
body[data-nx-theme] .category-chip{background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .category-chip strong{color:var(--nx43-text)!important}
body[data-nx-theme] .category-chip span{color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] .category-chip.active{background:color-mix(in srgb,var(--nx43-purple) 15%,var(--nx43-surface-2))!important;border-color:color-mix(in srgb,var(--nx43-purple) 55%,var(--nx43-border))!important}
body[data-nx-theme] .product{background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .product :is(h3,.price){color:var(--nx43-text)!important}
body[data-nx-theme] .product :is(p,.from,.nx-product-status,.nx-product-terms){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] :is(.section-title h2,.nx-contact-copy h2){color:var(--nx43-text)!important}
body[data-nx-theme] :is(.section-title p,.nx-contact-copy p){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] .nx-contact-shell{background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .nx-contact-grid article{background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}

/* ================================================================
   9) RANGOS / RULETA / TERMINOS
   ================================================================ */
body[data-nx-theme] #nexoRanksBg .np-ranks-page{background:var(--nx43-surface)!important;color:var(--nx43-text)!important}
body[data-nx-theme] #nexoRanksBg :is(.np-rank-card,.np-rank-progress,.np-rank-current){background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:none!important}
body[data-nx-theme] #nexoRanksBg :is(h2,h3,.np-current-name,.np-progress-big){color:var(--nx43-text)!important}
body[data-nx-theme] #nexoRanksBg :is(p,.np-current-meta,.np-rank-duration,.np-benefits li){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #nexoRouletteBg .nx5-modal,
body[data-nx-theme] .nx19-modal{background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:var(--nx43-shadow)!important}
body[data-nx-theme] #nexoRouletteBg :is(.nx5-sub,.nx5-roulette-result){color:var(--nx43-muted)!important}
body[data-nx-theme] #nexoRouletteBg .nx5-roulette-result{background:var(--nx43-surface-2)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nexoRouletteBg .nx5-close{background:var(--nx43-surface-3)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .nx19-terms-list li{background:var(--nx43-surface-2)!important;color:var(--nx43-text-2)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .nx19-modal-body p{color:var(--nx43-muted)!important;opacity:1!important}

/* ================================================================
   10) CENTRO PROVEEDOR — usa data-nx-theme real, no html[data-theme]
   ================================================================ */
body[data-nx-theme] #nx20ProviderBg .nx20-provider-shell,
body[data-nx-theme] #nx20ProviderBg #nx20ProviderBody{
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] #nx20ProviderBg .nx20-provider-head{
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] #nx20ProviderBg .nx20-provider-head p{color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #nx20ProviderBg .nx20-provider-tabs{background:var(--nx43-surface-3)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nx20ProviderBg .nx20-provider-tabs button{background:transparent!important;color:var(--nx43-muted)!important}
body[data-nx-theme] #nx20ProviderBg .nx20-provider-tabs button.active{background:linear-gradient(135deg,#654fe8,#168fc8)!important;color:#fff!important}
body[data-nx-theme] #nx20ProviderBg :is(.nx20-box,.nx21-sales-hero,.nx21-sales-kpis>div,.nx21-withdraw-row,.nx21-sale-row,.nx22-provider-kpis>div,.nx22-provider-order,.nx35-order-card,.nx35-kpis>div,.nx35-customer-card,.nx35-resolution,.nx35-request-card,.nx39f-provider-history){
  background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important
}
body[data-nx-theme] #nx20ProviderBg :is(h2,h3,h4,strong,b){color:var(--nx43-text)!important}
body[data-nx-theme] #nx20ProviderBg :is(p,small,label,.nx20-muted,.nx21-muted){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #nx20ProviderBg :is(input,textarea,select){background:var(--nx43-input)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;-webkit-text-fill-color:var(--nx43-text)!important;opacity:1!important}
body[data-nx-theme] #nx20ProviderBg :is(input,textarea)::placeholder{color:var(--nx43-faint)!important;-webkit-text-fill-color:var(--nx43-faint)!important;opacity:1!important}
body[data-nx-theme] #nx20ProviderBg :is(.nx22-order-item,.nx22-account-grid>div,.nx35-order-summary,.nx35-contact-grid>div,.nx35-delivery-grid>div,.nx35-request-grid>div){background:var(--nx43-surface-3)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border-soft)!important}
body[data-nx-theme] #nx20ProviderBg :is(.nx20-btn,.nx20-provider-close,.nx22-order-actions button,.nx35-mini-actions button,.nx35-copy-inline){background:var(--nx43-surface-3)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}

/* ================================================================
   11) PANEL DISTRIBUIDOR / EXITO
   ================================================================ */
body[data-nx-theme] #distributorPanelBg .distributor-modal,
body[data-nx-theme] #distributorSuccessBg .distributor-success{
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:var(--nx43-shadow)!important
}
body[data-nx-theme] #distributorPanelBg :is(.distributor-topbar,.distributor-hero-card,.distributor-client-card,.distributor-panel-card,.distributor-kpi,.distributor-sale,.distributor-new-sale){background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:none!important}
body[data-nx-theme] #distributorPanelBg :is(h2,h3,h4,strong,b,.mini-client-name){color:var(--nx43-text)!important}
body[data-nx-theme] #distributorPanelBg :is(p,small,.distributor-sale-meta,.distributor-kpi span,.distributor-sale-row span){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #distributorPanelBg :is(input,textarea,select,.distributor-search){background:var(--nx43-input)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #distributorPanelBg .distributor-alert{background:var(--nx43-surface-3)!important;color:var(--nx43-text-2)!important;border-color:var(--nx43-border)!important}

/* ================================================================
   12) VIP / REFERIDOS
   ================================================================ */
body[data-nx-theme] #nexoVipBg .nx-vip-modal,
body[data-nx-theme] #nx6ReferralManagerBg .nx6-ref-modal,
body[data-nx-theme] #nexoReferralBg :is(.auth-modal,.tutorial-modal,.nx-vip-modal){
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:var(--nx43-shadow)!important
}
body[data-nx-theme] #nexoVipBg :is(.nx5-vip-intro,.nx5-vip-code,.nx5-vip-kpis>div,.nx5-request,.nx5-client-row,.nx5-empty,.nx6-card){background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:none!important}
body[data-nx-theme] #nexoVipBg :is(h2,h3,h4,strong,b,.nx5-vip-code strong,.nx5-vip-kpis b,.nx5-manager-head h4,.nx5-client-metric b){color:var(--nx43-text)!important}
body[data-nx-theme] #nexoVipBg :is(p,small,.nx5-vip-kpis span,.nx5-manager-head p,.nx5-request-main span,.nx5-request-main small,.nx5-client-identity span,.nx5-client-identity small,.nx5-client-metric span,.nx5-vip-note){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #nexoVipBg :is(input,textarea,select,.nx5-manager-head input){background:var(--nx43-input)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nexoVipBg .nx5-vip-tabs{background:var(--nx43-surface-3)!important}
body[data-nx-theme] #nexoVipBg .nx5-vip-tabs button{color:var(--nx43-muted)!important}
body[data-nx-theme] #nexoVipBg .nx5-vip-tabs button.active{background:var(--nx43-surface)!important;color:var(--nx43-purple)!important}

/* ================================================================
   13) NEXO IA / NOTIFICACIONES
   ================================================================ */
body[data-nx-theme] #nxV13AiModal .nx-v13-ai,
body[data-nx-theme] #nexoAiModal .nexo-modal,
body[data-nx-theme] #nxV13NotifyPanel{
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:var(--nx43-shadow)!important
}
body[data-nx-theme] #nxV13AiModal :is(.nx-v13-ai-head,.nx-v13-ai-status),
body[data-nx-theme] #nexoAiModal .nexo-modal-head,
body[data-nx-theme] #nxV13NotifyPanel .nx-v13-notify-head{background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nxV13AiModal :is(.nx-v13-msg.assistant,.nx-v13-ai-status),
body[data-nx-theme] #nexoAiModal .nexo-msg.assistant{background:var(--nx43-surface-3)!important;color:var(--nx43-text-2)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nxV13AiModal :is(input,textarea),
body[data-nx-theme] #nexoAiModal :is(input,textarea){background:var(--nx43-input)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nxV13AiModal .nx-v13-ai-close,
body[data-nx-theme] #nxV13NotifyPanel .nx-v13-notify-btn{background:var(--nx43-surface-3)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}

/* ================================================================
   14) LOGIN DE PROVEEDOR / DIRECTORIO
   ================================================================ */
body[data-nx-theme] #nx29ProviderLoginBg .nx29-auth-card,
body[data-nx-theme] #nx22DirectoryBg .nx29-directory-modal{
  background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:var(--nx43-shadow)!important
}
body[data-nx-theme] #nx29ProviderLoginBg .nx29-auth-card p{color:var(--nx43-muted)!important}
body[data-nx-theme] #nx29ProviderLoginBg .nx29-auth-x{background:var(--nx43-surface-3)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nx22DirectoryBg :is(.nx29-directory-head,.nx29-directory-tip,.nx29-directory-card){background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] #nx22DirectoryBg :is(h3,strong,b){color:var(--nx43-text)!important}
body[data-nx-theme] #nx22DirectoryBg :is(p,small,.nx29-directory-phone,.nx29-directory-empty){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] #nx22DirectoryBg .nx29-directory-close{background:var(--nx43-surface-3)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}

/* ================================================================
   15) CENTRO AFILIADOR
   ================================================================ */
body[data-nx-theme] .nx42-affiliate-page,
body[data-nx-theme] .nx42-aff-head{background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .nx42-affiliate-page :is(.nx42-code-card,.nx42-stats>div,.nx42-aff-row,.nx42-loading,.nx42-error,.nx42-empty){background:var(--nx43-surface-2)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important;box-shadow:none!important}
body[data-nx-theme] .nx42-affiliate-page :is(h2,strong,b,.nx42-user strong,.nx42-list-head strong){color:var(--nx43-text)!important}
body[data-nx-theme] .nx42-affiliate-page :is(p,small,.nx42-user span,.nx42-list-head span,.nx42-cell small,.nx42-contact small){color:var(--nx43-muted)!important;opacity:1!important}
body[data-nx-theme] .nx42-affiliate-page :is(.nx42-toolbar input,.nx42-toolbar select,.nx42-aff-head>button,.nx42-code-actions button,.nx42-actions button){background:var(--nx43-input)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
body[data-nx-theme] .nx42-affiliate-page .nx42-cell code{background:var(--nx43-surface-3)!important;color:var(--nx43-text-2)!important}
body[data-nx-theme] .nx42-affiliate-page :is(.nx42-code-actions button:first-child,.nx42-actions .ok){background:linear-gradient(135deg,#6557e8,#388ee6)!important;color:#fff!important;border-color:transparent!important}
body[data-nx-theme] .nx42-affiliate-page .nx42-actions .reject{background:color-mix(in srgb,var(--nx43-bad) 10%,var(--nx43-surface-2))!important;color:var(--nx43-bad)!important;border-color:color-mix(in srgb,var(--nx43-bad) 32%,var(--nx43-border))!important}
body[data-nx-theme] .nx42-affiliate-page .nx42-actions .block{background:var(--nx43-surface-4)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}

/* Estados semanticos: alto contraste en ambos temas */
body[data-nx-theme="dark"] :is(.nx42-state.approved,.wallet-status.approved){background:rgba(35,191,126,.15)!important;color:#8cf0c6!important}
body[data-nx-theme="dark"] :is(.nx42-state.pending,.wallet-status){background:rgba(236,172,47,.16)!important;color:#ffe099!important}
body[data-nx-theme="dark"] :is(.nx42-state.rejected,.wallet-status.rejected){background:rgba(224,73,94,.16)!important;color:#ff9eb0!important}

/* ================================================================
   16) MOVIL: conservar contraste y evitar transparencias lavadas
   ================================================================ */
@media(max-width:760px){
  body[data-nx-theme] .mobile-bottom{background:var(--nx43-surface)!important;color:var(--nx43-text)!important;border-color:var(--nx43-border)!important}
  body[data-nx-theme] .mobile-bottom button{color:var(--nx43-text)!important}
  body[data-nx-theme] #authBg .nx-profile-top-logout{opacity:1!important}
}

/* Guardia documental: este archivo no contiene reglas para #adminPanelBg ni #adminSaleDetailsBg. */
