/* variables from theme configuration */
:root {
    --am_logo_link: 1;
--am_bg: #f1f5f9;
--am_color: #f1f5f9;
--am_link_color: #4DD6E8;
--am_btn_color: #00E5FF;
--am_text_color: #303030;
--am_logo_align: left;
--am_max_width: 800;
--am_max_width_px: 800px;
--am_logo_width: auto;
--am_logo_width_px: auto;
--am_font_size: 14;
--am_font_size_px: 14px;
--am_font_family: Roboto;
--am_login_layout: layout.phtml;
--am_login_bg: none;
--am_login_bg_color: none;
--am_login_legend_padding_top: 1em;
--am_login_header_display: block;
--am_menu_color: #00E5FF;
--am_menu_dashboard: icon;
--am_dashboard_layout: two-col;
--am_identity_align: left;
--am_identity_type: login;
--am_sm_size: 18;
--am_sm_size_px: 18px;
--am_sm_color: #9f9f9f;
--am_body_finish_out: <script>
/* TRADENTRY - le lien "log in" du signup ouvre desormais la VRAIE page
   /member/login (brandee), au lieu de la popup qui rendait l'ecran blanc.
   OU COLLER : Appearance > Black Theme > Tracking/Widget Code >
   champ "Shown if User is NOT LOGGED IN" > Save. */
(function(){
  function tdyFixLoginLink(){
    if(!document.body || !document.body.classList.contains('am-page-signup')) return;
    document.querySelectorAll('a[href*="/member/login"], a[href$="/login"]').forEach(function(a){
      a.classList.remove('ajax-link','am-popup','ajax');
      a.setAttribute('target','_self');
      a.addEventListener('click', function(e){ e.stopImmediatePropagation(); }, true);
    });
  }
  if(document.readyState !== 'loading'){ tdyFixLoginLink(); }
  else { document.addEventListener('DOMContentLoaded', tdyFixLoginLink); }
})();
</script>


<!-- ============================================================================
     TRADENTRY - Garde-fou fond sombre v3 (anti "Remove Unused CSS" de WP Rocket)
     ----------------------------------------------------------------------------
     WP Rocket (Remove Unused CSS) supprime, apres purge, la transparence des
     conteneurs (.am-layout, .am-row, colonnes...) -> un bloc BLANC reapparait
     (notamment sous la colonne de droite du dashboard). Un style.background sur
     html/body ne suffit pas.
     FIX en 2 couches, toutes deux invisibles pour RUCSS (agit au runtime) :
       1) INJECTION d'un <style> cree en JS (RUCSS ne le voit pas -> ne le
          supprime pas) couvrant html/body + tous les conteneurs de mise en page.
       2) BALAYAGE runtime class-agnostique : tout conteneur au fond CLAIR qui
          englobe un bloc/carte (#am-block-*, .am-widget, .am-list) est force en
          transparent. Les notices, champs et cartes sombres ne sont PAS touches.
     ----------------------------------------------------------------------------
     A COLLER dans : Appearance > Black Theme > Tracking/Widget Code
       -> DANS LES DEUX boites ("Shown if User is LOGGED IN" et "NOT logged in"),
          a la suite du contenu existant, sans rien remplacer.
     Reversible : supprime ce bloc pour revenir en arriere.
     ============================================================================ -->
<script>
(function(){
  "use strict";
  if (window.__tdyBgGuard) return; window.__tdyBgGuard = true;
  var CSS =
    'html,body{background-color:#05090F !important;}' +
    '.am-layout,.am-common:not(.am-popup),.am-body,.am-body-content,' +
    '.am-row,[class*="am-col"],[class*="am-layout-two-col"],.am-widgets,' +
    '.am-header,.am-header-line,.am-header-content,.am-header-content-wrapper,' +
    '.am-body-content-wrapper,.am-main,.am-footer,.am-footer-content-wrapper,' +
    '.am-footer-content,#header,#footer{' +
    'background:transparent !important;background-color:transparent !important;' +
    'box-shadow:none !important;}' +
    'body.am-logged-in .am-body-content-content{' +
    'background:transparent !important;background-color:transparent !important;}';

  function injectStyle(){
    try{
      var h = document.documentElement;
      if (h) h.style.setProperty("background-color", "#05090F", "important");
      if (document.body) document.body.style.setProperty("background-color", "#05090F", "important");
      if (!document.getElementById("tdy-bg-guard-style")){
        var s = document.createElement("style");
        s.id = "tdy-bg-guard-style";
        s.textContent = CSS;
        (document.head || document.documentElement).appendChild(s);
      }
    }catch(e){}
  }

  // Balayage class-agnostique : neutralise les conteneurs au fond clair qui
  // englobent un bloc/carte, sans toucher aux composants (notices, champs...).
  function fixWrappers(){
    try{
      var scope = document.querySelector(".am-layout") || document.body;
      if (!scope) return;
      var nodes = scope.querySelectorAll("*");
      for (var i = 0; i < nodes.length; i++){
        var el = nodes[i];
        var cs = getComputedStyle(el);
        var m = cs.backgroundColor.match(/rgba?\(([^)]+)\)/);
        if (!m) continue;
        var p = m[1].split(",");
        var a = p[3] == null ? 1 : parseFloat(p[3]);
        if (a < 0.6) continue;
        var L = 0.2126*parseFloat(p[0]) + 0.7152*parseFloat(p[1]) + 0.0722*parseFloat(p[2]);
        if (isNaN(L) || L < 180) continue; // uniquement les fonds CLAIRS
        if (el.querySelector('[id^="am-block-"], .am-widget, .am-list')){
          el.style.setProperty("background", "transparent", "important");
          el.style.setProperty("background-color", "transparent", "important");
          el.style.setProperty("box-shadow", "none", "important");
        }
      }
    }catch(e){}
  }

  function run(){ injectStyle(); fixWrappers(); }
  injectStyle();
  if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", run);
  else run();
  setTimeout(fixWrappers, 900);
})();
</script>


<!-- ============================================================================
     TRADENTRY - Restructuration CHECKOUT (page /member/signup, etape 1/2)
     Transforme le formulaire d'achat aMember en 2 colonnes facon maquette :
       - gauche : cartes "Choose your account" (plans en grille par piste) +
                  "Payment method" + "Your details" + "Agreements"
       - droite : recap ORDER SUMMARY sticky (invoice aMember DEPLACE DANS le
                  formulaire) + bouton Next + reassurance
     100% additif : deplace des noeuds existants (les radios/inputs gardent
     leur name/value -> validation + soumission aMember intactes ; verifie
     en direct : radios OK, invoice AJAX OK, validation Next OK).
     A COLLER dans LES DEUX boites "Tracking/Widget Code" (LOGGED IN + NOT
     LOGGED IN), car la page signup est vue par les 2 (connecte = "Add/Renew",
     deconnecte = nouveau compte avec champs email/mot de passe en plus, qui
     tombent automatiquement dans la carte "Your details").
     Reversible : supprimer ce bloc.
     ============================================================================ -->
<script>
(function(){
  "use strict";
  function boot(){
    try{
      if(!document.body || document.body.className.indexOf("am-page-signup")===-1) return;
      if(document.querySelector(".tdy-checkout-main")) return;
      var signup=document.querySelector(".am-signup");
      var form=document.querySelector("form#page-0") || document.querySelector("form.am-signup-form");
      if(!signup || !form) return;
      var inv=document.querySelector(".invoice-summary");
      function el(t,c,h){ var e=document.createElement(t); if(c) e.className=c; if(h!=null) e.innerHTML=h; return e; }
      function grab(id){ return document.getElementById(id); }
      document.body.classList.add("tdy-checkout-on");

      /* ---- feuille de style (injectee au runtime -> invisible pour WP Rocket RUCSS) ---- */
      if(!document.getElementById("tdy-checkout-css")){
        var css=
        "body.tdy-checkout-on:not(#z) .am-signup{max-width:980px !important;margin:0 auto !important;}"+
        "body.tdy-checkout-on:not(#z) form#page-0,body.tdy-checkout-on:not(#z) form.am-signup-form{display:grid !important;grid-template-columns:minmax(0,1fr) 330px !important;gap:0 20px !important;align-items:start !important;max-width:none !important;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;overflow:visible !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;}"+
        "body.tdy-checkout-on:not(#z) form#page-0::before,body.tdy-checkout-on:not(#z) form.am-signup-form::before{display:none !important;}"+
        ".tdy-checkout-main{grid-column:1;min-width:0;}"+
        ".tdy-checkout-side{grid-column:2;position:sticky;top:16px;align-self:start;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card{position:relative;overflow:hidden;margin:0 0 18px;padding:18px 22px 20px;border-radius:12px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;}"+
        ".tdy-card-h{display:flex;align-items:center;gap:10px;margin:0 0 4px;}"+
        ".tdy-dot{width:7px;height:7px;border-radius:50%;background:#00E5F0;box-shadow:0 0 12px #00E5F0;flex:0 0 auto;}"+
        ".tdy-card-t{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:19px;color:#fff;}"+
        ".tdy-card-sub{color:#8A96B4;font-size:13px;margin:0 0 14px;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:not(#z){display:block !important;border-top:0 !important;padding:8px 0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card fieldset:not(#z){margin:0 !important;padding:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card fieldset legend:not(#z){padding:6px 0 10px !important;font-size:15px !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-element-title:not(#z){display:block !important;margin:0 0 7px !important;padding:0 !important;}"+
        ".tdy-track-h{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8A96B4;margin:6px 0 10px;}"+
        ".tdy-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 8px;}"+
        "body.tdy-checkout-on:not(#z) .tdy-plan-grid label:not(#z){display:block !important;grid-template-columns:none !important;min-height:0 !important;margin:0 !important;padding:14px 14px !important;position:relative !important;border-radius:12px !important;}"+
        ".tdy-plan-radio{position:absolute !important;top:13px !important;right:13px !important;margin:0 !important;}"+
        ".tdy-plan-size{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:22px;color:#fff;line-height:1;letter-spacing:-.01em;text-transform:uppercase !important;}"+
        ".tdy-plan-acc{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:9px;letter-spacing:.14em;color:#5A6486;margin:5px 0 14px;text-transform:uppercase;}"+
        ".tdy-plan-price{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:21px;color:#F2F6FF;line-height:1;text-transform:none !important;}"+
        ".tdy-plan-price span{font-size:12px;color:#8A96B4;font-weight:500;letter-spacing:0;}"+
        ".tdy-plan-term{color:#5A6486;font-size:11px;margin-top:5px;font-family:'JetBrains Mono',ui-monospace,monospace;text-transform:none !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:has(input[type=checkbox]):not(#z){display:grid !important;grid-template-columns:26px minmax(0,1fr) !important;align-items:center !important;gap:12px !important;padding:14px 16px !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:has(input[type=checkbox]) .am-element:not(#z){grid-column:1 !important;grid-row:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:has(input[type=checkbox]) .am-element-title:not(#z){grid-column:2 !important;grid-row:1 !important;display:block !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) #row-address-0 > legend:not(#z){display:none !important;}"+
        "body.tdy-checkout-on:not(#z) #row-address-0 > .fieldset:not(#z){display:grid !important;grid-template-columns:1fr 1fr !important;gap:0 14px !important;}"+
        "body.tdy-checkout-on:not(#z) #row-address-0 > .fieldset > #row-street-0:not(#z){grid-column:1 / -1 !important;}"+
        "body.tdy-checkout-on:not(#z) #row-phone-0:not(#z){grid-column:1 / -1 !important;}"+
        /* State : aMember bascule select<->texte via [disabled] mais la Partie 2 force display:block -> les 2 s'affichaient. On masque celui qui est disabled (l'inactif). */
        "body.tdy-checkout-on:not(#z) #row-grp-state [disabled]{display:none !important;}"+
        "body.tdy-checkout-on:not(#z) #row-product_id_page-0-0 > .am-element-title:not(#z){display:none !important;}"+
        "body.tdy-checkout-on:not(#z) #fieldset-brick-1:not(#z){display:none !important;}"+
        ".tdy-side-card{padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;}"+
        ".tdy-side-eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5A6486;margin:0 0 12px;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary:not(#z){background:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .invoice-summary:not(#z){background:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-item-num:not(#z){display:none !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-row-total .am-invoice-summary-total:not(#z),body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-row-total .am-invoice-summary-price:not(#z),body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-row-total strong:not(#z){color:#00E5F0 !important;font-size:22px !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card #row-buttons:not(#z){border-top:1px solid rgba(42,58,96,.6) !important;padding:16px 0 0 !important;margin-top:14px !important;}"+
        ".tdy-side-note{color:#5A6486;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.02em;margin:8px 0 0;text-align:right;}"+
        ".tdy-reassure{margin-top:14px;color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;line-height:2;}"+
        ".tdy-reassure div{display:flex;align-items:center;gap:8px;}"+
        ".tdy-reassure div::before{content:'';flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#3DDC84;box-shadow:0 0 8px rgba(61,220,132,.6);}"+
        ".tdy-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 10px;}"+
        ".tdy-step{display:inline-flex;align-items:center;gap:7px;color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.03em;}"+
        ".tdy-step i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid #2A3A60;font-style:normal;font-size:11px;}"+
        ".tdy-step-on{color:#EAF1FF;}"+
        ".tdy-step-on i{background:linear-gradient(135deg,#00E5F0,#1FA8FF);color:#001028;border:0;}"+
        ".tdy-step-sep{width:40px;height:1px;background:#2A3A60;}"+
        "@media(max-width:820px){body.tdy-checkout-on:not(#z) form#page-0,body.tdy-checkout-on:not(#z) form.am-signup-form{grid-template-columns:1fr !important;}.tdy-checkout-side{grid-column:1 !important;position:static !important;margin:18px 0 0;}.tdy-plan-grid{grid-template-columns:1fr !important;}body.tdy-checkout-on:not(#z) #row-address-0 > .fieldset:not(#z){grid-template-columns:1fr !important;}}";
        var st=el("style"); st.id="tdy-checkout-css"; st.textContent=css; (document.head||document.documentElement).appendChild(st);
      }

      /* ---- indicateur d'etapes + titre ---- */
      var top=document.querySelector(".am-body-content-top"), h1=top?top.querySelector("h1"):null;
      if(top && h1 && !top.querySelector(".tdy-steps")){
        top.insertBefore(el("div","tdy-steps",'<span class="tdy-step tdy-step-on"><i>1</i> Plan &amp; details</span><span class="tdy-step-sep"></span><span class="tdy-step"><i>2</i> Payment</span>'), h1);
        h1.textContent="Start Your Evaluation";
      }

      /* ---- colonnes gauche/droite (DANS le formulaire -> soumission preservee) ---- */
      var main=el("div","tdy-checkout-main"), side=el("div","tdy-checkout-side");
      form.insertBefore(main, form.firstChild); form.insertBefore(side, main.nextSibling);
      function card(t,sub){ var c=el("div","tdy-card"); c.appendChild(el("div","tdy-card-h",'<span class="tdy-dot"></span><span class="tdy-card-t">'+t+'</span>')); if(sub) c.appendChild(el("div","tdy-card-sub",sub)); return c; }
      /* nom du moyen de paiement lu dans la page (chip aMember .am-paysystem-title,
         ex. "Confirmo") -> plus jamais de nom de PSP en dur dans la copie */
      var psName=((form.querySelector(".am-paysystem-title")||{}).textContent||"").trim();
      var cPlan=card("Choose your account","Select your evaluation size.");
      var cPay=card("Payment method",psName?("Secure payment via "+psName+"."):"Choose how you'd like to pay.");
      var cDet=card("Your details","Used for your account and invoice.");
      var cAgr=card("Agreements","Please read and accept both to continue.");
      main.appendChild(cPlan); main.appendChild(cPay); main.appendChild(cDet); main.appendChild(cAgr);

      var rowProd=grab("row-product_id_page-0-0");
      if(rowProd){ var ptl=rowProd.querySelector(".am-element-title"); if(ptl) ptl.style.setProperty("display","none","important"); cPlan.appendChild(rowProd); }
      if(grab("row-paysys_id")) cPay.appendChild(grab("row-paysys_id"));
      if(grab("row-coupon-0")) cPay.appendChild(grab("row-coupon-0"));
      /* details : d'abord les rangees connues (ordre lisible), puis TOUTE rangee restante
         non placee ailleurs (= champs supplementaires du signup deconnecte : email,
         nom d'utilisateur, mots de passe...) */
      /* ordre "Your details" : Nom -> identifiants (email/username/mot de passe, uniquement
         sur le signup DECONNECTE) -> Adresse -> Telephone -> tout reste non classe.
         Sur le signup CONNECTE il n'y a pas de champs identifiants -> ordre = nom/adresse/tel (inchange). */
      function tdyIsSkip(ch){ return ch===main || ch===side || ch.id==="row-buttons" || ch.tagName==="INPUT" || /agreement/.test(ch.id||"") || ch.id==="fieldset-brick-1"; }
      var detOrder=[];
      var rName=grab("row-name-0"); if(rName) detOrder.push(rName);
      [].slice.call(form.children).forEach(function(ch){
        if(tdyIsSkip(ch) || ch.id==="row-name-0" || ch.id==="row-address-0" || ch.id==="row-phone-0") return;
        if(ch.querySelector && ch.querySelector('input[type=email],input[name="email"],input[name="login"],input[type=password]')) detOrder.push(ch);
      });
      var rAddr=grab("row-address-0"); if(rAddr) detOrder.push(rAddr);
      var rPhone=grab("row-phone-0"); if(rPhone) detOrder.push(rPhone);
      [].slice.call(form.children).forEach(function(ch){
        if(tdyIsSkip(ch) || detOrder.indexOf(ch)>-1) return;
        if((ch.className&&String(ch.className).indexOf("am-row")>-1) || ch.tagName==="FIELDSET") detOrder.push(ch);
      });
      detOrder.forEach(function(r){ cDet.appendChild(r); });
      if(grab("fieldset-agreement")) cAgr.appendChild(grab("fieldset-agreement"));
      if(grab("fieldset-agreement-1")) cAgr.appendChild(grab("fieldset-agreement-1"));
      /* deja-membre qui a signe les accords une fois -> aMember ne renvoie plus les
         fieldsets d'accords -> la carte "Agreements" serait vide -> on la retire */
      if(!cAgr.querySelector("fieldset")){ if(cAgr.parentNode) cAgr.parentNode.removeChild(cAgr); }

      /* ---- carte recap sticky : invoice (deplacee) + note + Next (deplace) + reassurance ---- */
      if(inv) side.appendChild(inv);
      var btnRow=grab("row-buttons"); if(btnRow) side.appendChild(btnRow);
      side.appendChild(el("div","tdy-reassure",'<div>'+(psName?"Secure payment via "+psName:"Secure payment")+'</div><div>Encrypted checkout</div>'));
      var scard=el("div","tdy-side-card");
      scard.appendChild(el("div","tdy-side-eyebrow","ORDER SUMMARY"));
      [].slice.call(side.children).forEach(function(ch){ if(ch!==scard) scard.appendChild(ch); });
      side.appendChild(scard);

      /* ---- plans : grille 3 col groupee par piste (avec / sans frais), triee par taille ---- */
      var prodEl=rowProd?rowProd.querySelector(".am-element"):null;
      if(prodEl){
        var labels=[].slice.call(prodEl.querySelectorAll("label")).filter(function(l){ return l.querySelector(".am-product-title"); });
        var wF=[], nF=[];
        labels.forEach(function(l){ var t=l.querySelector(".am-product-title").textContent; (/no activation fee/i.test(t)?nF:wF).push(l); });
        var sz=function(l){ var m=l.querySelector(".am-product-title").textContent.match(/(\d+)\s*k/i); return m?+m[1]:999; };
        wF.sort(function(a,b){ return sz(a)-sz(b); }); nF.sort(function(a,b){ return sz(a)-sz(b); });
        function fmtPlan(l){
          l.classList.add("tdy-plan");
          var te=l.querySelector(".am-product-title"), tm=l.querySelector(".am-product-terms");
          var title=te?te.textContent:"", terms=tm?tm.textContent:"";
          var size=((title.match(/\$\s*\d+\s*k/i)||[""])[0]||"").replace(/\s+/g,"").toUpperCase();
          /* prix SANS AUCUN suffixe mensuel (modele one-time) :
             lu dans les terms aMember si dispo, sinon FALLBACK par piste+taille
             (les nouveaux produits one-time n'ont pas de montant dans leurs terms).
             >>> si les prix changent un jour, mettre a jour ce FALLBACK. */
          var FALLBACK={fee:{"$50K":"$59","$100K":"$99","$150K":"$149"},nofee:{"$50K":"$89","$100K":"$139","$150K":"$199"}};
          var track=/no activation fee/i.test(title)?"nofee":"fee";
          var price=((terms.match(/\$[\d,]+(?:\.\d+)?/)||[""])[0]||"").replace(/\.00$/,"")||(FALLBACK[track][size]||"");
          var priceHtml=price?('<div class="tdy-plan-price">'+price+'</div>'):'';
          l.querySelectorAll(".am-product-title,.am-product-terms,.am-product-desc").forEach(function(s){ s.style.display="none"; });
          var radio=l.querySelector("input[type=radio]");
          l.appendChild(el("div","tdy-plan-body",'<div class="tdy-plan-size">'+size+'</div><div class="tdy-plan-acc">ACCOUNT</div>'+priceHtml));
          if(radio){ radio.classList.add("tdy-plan-radio"); l.appendChild(radio); }
        }
        var gW=el("div","tdy-plan-grid"), gN=el("div","tdy-plan-grid");
        wF.forEach(function(l){ fmtPlan(l); gW.appendChild(l); });
        nF.forEach(function(l){ fmtPlan(l); gN.appendChild(l); });
        prodEl.innerHTML="";
        if(wF.length){ var hw=el("div","tdy-track-h"); hw.textContent="WITH ACTIVATION FEE"; prodEl.appendChild(hw); prodEl.appendChild(gW); }
        if(nF.length){ var hn=el("div","tdy-track-h"); hn.textContent="WITHOUT ACTIVATION FEE"; prodEl.appendChild(hn); prodEl.appendChild(gN); }
      }
    }catch(e){}
  }
  if(document.readyState!=="loading") boot(); else document.addEventListener("DOMContentLoaded", boot);
  setTimeout(boot, 700);
})();
</script>;
--am_body_finish_in: <!-- ============================================================================
     TRADENTRY â€” Widget Code \u00B7 boÃ®te "Shown if User is LOGGED IN"   (v2)
     Ã€ COLLER dans : Appearance > Black Theme > Tracking/Widget Code
                     > champ "Shown if User is LOGGED IN"
     ----------------------------------------------------------------------------
     v2 FIX :
      - chip P/L + jauge Ã©quitÃ© injectÃ©s en <section> (n'affecte plus le
        comptage nth-of-type des tuiles -> "Daily Loss Limit" garde sa tuile,
        et le chip n'hÃ©rite plus du 34px de la Â§35.3).
      - stats affiliÃ© : la table "Report" est trouvÃ©e par son en-tÃªte "Date"
        (peu importe sa classe), + parsing "1/1" -> 1, + on masque les
        graphiques Morris ET leur titre orphelin.
     DÃ©fensif : chaque bloc est protÃ©gÃ©, rien ne casse si un Ã©lÃ©ment manque.
     ============================================================================ -->
<script>
(function(){
  "use strict";
  if (window.__tdyMemberJS) return;
  window.__tdyMemberJS = true;

  var ACC="#00E5F0", ACC2="#1FA8FF", OK="#3DDC84", INK="#001028",
      MUTED="#8A96B4", MUTED2="#5A6486";

  function money(t){ var s=String(t).replace(/,/g,""); var m=s.match(/-?\d+(\.\d+)?/); return m?parseFloat(m[0]):null; }
  function cells(tr){ return tr.querySelectorAll("th,td"); }
  function fmt(n){ return "$" + Math.round(n).toLocaleString("en-US"); }
  function el(tag, css, html){ var e=document.createElement(tag); if(css) e.style.cssText=css; if(html!=null) e.innerHTML=html; return e; }
  function run(fn){ try{ fn(); }catch(e){} }
  var SVGNS="http://www.w3.org/2000/svg";
  function svg(tag, attrs){ var e=document.createElementNS(SVGNS,tag); for(var k in attrs) e.setAttribute(k, attrs[k]); return e; }

  /* 1) DASHBOARD TRADER â€” chip P/L + jauge d'Ã©quitÃ© (injectÃ©s en <section>) */
  function enhanceAccountCards(){
    document.querySelectorAll(".amp-dashboard-card").forEach(function(card){
      if (card.querySelector(".tdy-block")) return;
      var rows=card.querySelectorAll(".amp-kv"), bal=null, start=null, balRow=null;
      rows.forEach(function(r){
        var lab=r.querySelector(".amp-muted"); if(!lab) return;
        var t=lab.textContent.toLowerCase(), valEl=null;
        r.querySelectorAll("span,strong,b").forEach(function(s){ if(s!==lab && valEl===null && money(s.textContent)!==null) valEl=s; });
        var v = valEl ? money(valEl.textContent) : money(r.textContent.replace(lab.textContent,""));
        if(t.indexOf("account balance")>-1){ bal=v; balRow=r; }
        else if(t.indexOf("starting balance")>-1){ start=v; }
      });
      if(bal===null || start===null || !balRow || start<=0) return;

      var pl=bal-start, pct=pl/start*100, up=pl>=0, eqPct=Math.max(0,Math.min(100,bal/start*100));

      /* chip P/L */
      var chip=el("span","display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;"
        +(up?"background:rgba(61,220,132,.12);border:1px solid rgba(61,220,132,.4);color:"+OK+";"
            :"background:rgba(255,107,134,.12);border:1px solid rgba(255,107,134,.35);color:#FF9AAE;"));
      chip.className="tdy-pl";
      chip.innerHTML=(up?"\u25B2":"\u25BC")+"&nbsp;"+(up?"+":"\u2212")+fmt(Math.abs(pl))+" \u00B7 "+(up?"+":"\u2212")+Math.abs(pct).toFixed(1)+"%";

      /* chip INLINE a droite du montant : on enveloppe la valeur + le chip dans une ligne flex */
      var valSpan=null;
      for(var vi=balRow.children.length-1; vi>=0; vi--){ if(!balRow.children[vi].classList.contains("amp-muted")){ valSpan=balRow.children[vi]; break; } }
      if(valSpan){
        /* IMPORTANT : capturer la taille native du montant AVANT de le deplacer.
           En le sortant de .amp-kv la regle CSS ".amp-kv>span" (34px/700) ne s'applique plus -> il retombe a 14px.
           On la re-applique donc en inline pour garder le gros montant de la maquette. */
        var vcs=getComputedStyle(valSpan), vfs=vcs.fontSize, vfw=vcs.fontWeight, vls=vcs.letterSpacing;
        var line=el("div","display:flex;align-items:center;gap:14px;flex-wrap:wrap;"); line.className="tdy-balline";
        balRow.insertBefore(line, valSpan); line.appendChild(valSpan); line.appendChild(chip);
        valSpan.style.fontSize=vfs; valSpan.style.fontWeight=vfw; valSpan.style.letterSpacing=vls; valSpan.style.lineHeight="1";
        valSpan.style.textShadow="0 0 22px rgba(0,229,240,.5), 0 0 44px rgba(0,229,240,.22)"; /* glow maquette */
      } else {
        var cl=el("div","margin:2px 0 0;"); cl.appendChild(chip); balRow.appendChild(cl);
      }

      /* jauge d'equite (apres la ligne balance) â€” <section> n'affecte pas le nth-of-type des tuiles */
      var sec=el("section","grid-column:1 / -1;margin:12px 0 2px;min-width:0;"); sec.className="tdy-block";
      var eq=el("div","margin-top:2px;");
      eq.appendChild(el("div","position:relative;height:14px;line-height:14px;overflow:hidden;white-space:nowrap;color:"+MUTED+";font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.04em;margin-bottom:9px;",
        "Equity vs starting balance<b style='position:absolute;right:0;top:0;color:#DCE7FF;font-weight:500'>"+eqPct.toFixed(1)+"%</b>"));
      var track=el("div","height:8px;border-radius:999px;background:rgba(27,39,66,.95);overflow:hidden;");
      track.appendChild(el("span","display:block;height:100%;border-radius:999px;width:"+eqPct+"%;background:linear-gradient(90deg,"+ACC2+","+ACC+");"));
      eq.appendChild(track);
      sec.appendChild(eq);
      balRow.insertAdjacentElement("afterend", sec);

      /* valeurs de RISQUE en rouge (max drawdown, daily loss limit), comme la maquette */
      card.querySelectorAll(".amp-kv").forEach(function(kv){
        var l2=kv.querySelector(".amp-muted"); if(!l2) return;
        var lt=l2.textContent.toLowerCase();
        if(lt.indexOf("max drawdown")>-1 || lt.indexOf("daily loss limit")>-1){
          var vv=null; for(var j=kv.children.length-1;j>=0;j--){ if(kv.children[j]!==l2){ vv=kv.children[j]; break; } }
          if(vv) vv.style.setProperty("color","#FF6B86","important");
          /* case de RISQUE : bordure + fond rouge leger + halo, comme la maquette */
          kv.style.setProperty("border","1px solid rgba(255,107,134,.42)","important");
          kv.style.setProperty("background","rgba(255,107,134,.05)","important");
          kv.style.setProperty("box-shadow","0 0 34px -22px rgba(255,107,134,.55)","important");
        }
      });
    });
  }

  /* 2) IDENTIFIANTS RITHMIC â€” bouton Copy */
  function iconBtn(label){
    var b=el("span","display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:5px 10px;border-radius:8px;cursor:pointer;border:1px solid rgba(0,229,240,.4);background:rgba(0,229,240,.06);color:"+ACC+";font-family:'Michroma',sans-serif;font-size:9px;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;", label);
    b.className="tdy-icobtn"; return b;
  }
  function copyText(t){
    if(navigator.clipboard && navigator.clipboard.writeText){ navigator.clipboard.writeText(t).catch(function(){}); }
    else { var ta=el("textarea","position:fixed;left:-9999px;top:0;"); ta.value=t; document.body.appendChild(ta); ta.select(); try{document.execCommand("copy");}catch(e){} document.body.removeChild(ta); }
  }
  function enhanceRithmic(){
    var box=document.querySelector("#rithmic-automation");
    if(!box || box.__tdyRithmic) return;
    box.__tdyRithmic=true;
    var p=box.querySelector("p")||box;
    /* extraire les valeurs AVANT de reconstruire (username depuis "Username: X", password depuis le 1er span) */
    var userVal="", pwVal="", kids=p.childNodes;
    for(var j=0;j<kids.length;j++){ var n=kids[j]; if(n.nodeType===3){ var m=n.nodeValue.match(/Username\s*:\s*(\S+)/i); if(m){ userVal=m[1]; break; } } }
    var pwSpan=p.querySelector('span:not(.tdy-icobtn)'); if(pwSpan) pwVal=(pwSpan.textContent||"").trim();
    if(!userVal && !pwVal) return;
    var copyIco='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>';
    var eyeIco='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z"></path><circle cx="12" cy="12" r="3"></circle></svg>';
    /* bouton pastille (icone + label), reutilise la classe .tdy-icobtn (hover Partie 13) */
    function pill(label,ico){ var b=el("span","display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:9px;cursor:pointer;border:1px solid rgba(0,229,240,.4);background:rgba(0,229,240,.06);color:"+ACC+";font-family:'Michroma',sans-serif;font-size:10px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;",(ico||"")+"<span class='lbl'>"+label+"</span>"); b.className="tdy-icobtn"; return b; }
    function flash(b){ var s=b.querySelector(".lbl"); if(!s) return; var o=s.textContent; s.textContent="Copied \u2713"; setTimeout(function(){ s.textContent=o; },1400); }
    function row(labelTxt,valNode,actions){
      /* label fixe + valeur flexible (retrecit/passe a la ligne, jamais de debordement) + boutons a droite */
      var r=el("div","display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-top:1px solid rgba(42,58,96,.4);");
      var lab=el("span","flex:0 0 auto;color:"+MUTED2+";font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;min-width:64px;"); lab.textContent=labelTxt;
      valNode.style.flex="1 1 60px"; valNode.style.minWidth="0"; valNode.style.overflowWrap="anywhere"; valNode.style.wordBreak="break-word";
      var right=el("div","flex:0 0 auto;display:flex;align-items:center;gap:8px;margin-left:auto;"); for(var k=0;k<actions.length;k++){ right.appendChild(actions[k]); }
      r.appendChild(lab); r.appendChild(valNode); r.appendChild(right); return r;
    }
    /* Username : label + valeur + Copy (valeur seule) */
    var uVal=el("span","color:#EAF1FF;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:500;"); uVal.textContent=userVal;
    var uCopy=pill("Copy",copyIco); uCopy.addEventListener("click",function(){ copyText(userVal); flash(uCopy); });
    /* Password : masque par defaut, Show/Hide + Copy (valeur seule) */
    var masked=true;
    var pDisp=el("span","color:#EAF1FF;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:500;letter-spacing:2px;");
    function rp(){ pDisp.textContent = masked ? new Array(9).join("\u2022") : pwVal; }
    rp();
    var pShow=pill("Show",eyeIco), pCopy=pill("Copy",copyIco); pCopy.className+=" tdy-pw-copy"; /* masque en mobile (voir CSS responsive) */
    pShow.addEventListener("click",function(){ masked=!masked; rp(); var s=pShow.querySelector(".lbl"); if(s) s.textContent=masked?"Show":"Hide"; });
    pCopy.addEventListener("click",function(){ copyText(pwVal); flash(pCopy); });
    /* reconstruire le bloc en lignes (facon maquette) */
    p.innerHTML=""; p.style.cssText="margin:0;";
    if(userVal) p.appendChild(row("Username",uVal,[uCopy]));
    if(pwVal) p.appendChild(row("Password",pDisp,[pShow,pCopy]));
  }

  /* 3) LIEN D'AFFILIATION â€” feedback "Copied \u2713" */
  function enhanceAffiliateCopy(){
    document.querySelectorAll(".am-copy-to-clipboard").forEach(function(node){
      if(node.__tdyBound) return; node.__tdyBound=true;
      node.addEventListener("click", function(){
        copyText((node.textContent||"").trim());
        if(node.querySelector(".tdy-copied")) return;
        var tip=el("span","position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:3px 10px;border-radius:999px;background:"+ACC+";color:"+INK+";font-family:'Michroma',sans-serif;font-size:9px;letter-spacing:.06em;z-index:3;","COPIED \u2713");
        tip.className="tdy-copied"; node.style.position="relative"; node.appendChild(tip);
        setTimeout(function(){ if(tip.parentNode) tip.parentNode.removeChild(tip); },1400);
      });
    });
  }

  /* 4) STATS AFFILIÃ‰ â€” KPI + chart sombre (remplace Morris blanc) */
  // trouve la table "Report" par son 1er en-tÃªte "Date" (sans dÃ©pendre de thead/tbody)
  function findReportTable(){
    var tables=document.querySelectorAll("table");
    for(var i=0;i<tables.length;i++){
      var rows=tables[i].querySelectorAll("tr");
      for(var r=0;r<rows.length;r++){
        var c=cells(rows[r]);
        if(c.length>=2 && /date/i.test(c[0].textContent)) return tables[i];
      }
    }
    return null;
  }
  function enhanceAffiliateStats(){
    if (location.href.indexOf("/aff/")===-1) return;
    if (document.querySelector(".tdy-kpis")) return;
    var table=findReportTable(); if(!table) return;
    var allRows=[].slice.call(table.querySelectorAll("tr"));
    var headIdx=-1;
    for(var h=0;h<allRows.length;h++){ var hc=cells(allRows[h]); if(hc.length>=2 && /date/i.test(hc[0].textContent)){ headIdx=h; break; } }
    if(headIdx<0) return;
    var heads=[].map.call(cells(allRows[headIdx]), function(t){ return t.textContent.trim(); });
    var bodyRows=allRows.slice(headIdx+1).filter(function(tr){
      return cells(tr).length===heads.length && !/total/i.test(tr.textContent);
    });
    if(!bodyRows.length) return;

    /* colonnes reelles : commission ($) + clicks (format "All/Unique" = "X/Y") */
    var commissionCol=-1, clicksCol=-1;
    for(var c=1;c<heads.length;c++){ if(/click/i.test(heads[c])) clicksCol=c; else if(/commission|earn|amount|payout|revenue|\$/i.test(heads[c])) commissionCol=c; }
    if(commissionCol<0){ for(var cc=1;cc<heads.length;cc++){ if(bodyRows.some(function(tr){ return money(cells(tr)[cc].textContent)!==null; })){ commissionCol=cc; break; } } }
    if(commissionCol<0 && clicksCol<0) return;
    function pairOf(txt){ var m=(txt||"").match(/(-?\d[\d,]*)\s*\/\s*(-?\d[\d,]*)/); if(m) return [parseFloat(m[1].replace(/,/g,"")), parseFloat(m[2].replace(/,/g,""))]; var n=money(txt); return [n||0, n||0]; }

    var commissionTotal = commissionCol>=0 ? bodyRows.reduce(function(s,tr){ return s+(money(cells(tr)[commissionCol].textContent)||0); },0) : 0;
    var allTotal=0, uniqTotal=0;
    if(clicksCol>=0) bodyRows.forEach(function(tr){ var p=pairOf(cells(tr)[clicksCol].textContent); allTotal+=p[0]; uniqTotal+=p[1]; });
    var labels = bodyRows.map(function(tr){ return cells(tr)[0].textContent.trim(); }).reverse();
    var commissionSeries = commissionCol>=0 ? bodyRows.map(function(tr){ return money(cells(tr)[commissionCol].textContent)||0; }).reverse() : [];
    var clicksSeries = clicksCol>=0 ? bodyRows.map(function(tr){ return pairOf(cells(tr)[clicksCol].textContent)[0]; }).reverse() : [];

    /* ---- 2 cartes KPI (icone + valeur + sous-label), facon maquette ---- */
    var DOLLAR='<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>';
    var CURSOR='<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3l7.1 17 2.5-7.4 7.4-2.5L3 3z"></path><path d="M13 13l6 6"></path></svg>';
    function fmt2(n){ return "$"+Number(n).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}); }
    function kpiCard(label,value,sub,ico,accent){
      var card=el("div","position:relative;padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid "+(accent?"rgba(0,229,240,.32)":"#2A3A60")+";box-shadow:0 24px 60px -40px rgba(0,0,0,.9);min-width:0;");
      var top=el("div","display:flex;align-items:center;justify-content:space-between;gap:10px;");
      top.appendChild(el("div","color:"+MUTED2+";font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;",label));
      top.appendChild(el("div","display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:rgba(0,229,240,.08);border:1px solid rgba(0,229,240,.32);color:"+ACC+";flex:0 0 auto;",ico));
      card.appendChild(top);
      var v=el("div","margin-top:14px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:30px;line-height:1;letter-spacing:-.01em;color:"+(accent?ACC:"#F2F6FF")+";"); if(accent) v.style.textShadow="0 0 22px rgba(0,229,240,.4)"; v.textContent=value;
      card.appendChild(v);
      card.appendChild(el("div","margin-top:8px;color:"+MUTED+";font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.02em;",sub));
      return card;
    }
    var kpis=el("div","display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 18px;"); kpis.className="tdy-kpis";
    if(commissionCol>=0) kpis.appendChild(kpiCard("Commission Earned", fmt2(commissionTotal), "total, all time", DOLLAR, true));
    if(clicksCol>=0) kpis.appendChild(kpiCard("Total Clicks", Math.round(allTotal).toLocaleString("en-US"), Math.round(uniqTotal).toLocaleString("en-US")+" unique", CURSOR, false));

    /* ---- carte graphe + bascule Commission/Clicks ---- */
    var chartCard=el("div","position:relative;overflow:hidden;padding:20px 22px 18px;margin:0 0 18px;border-radius:14px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;"); chartCard.className="tdy-chart-card";
    chartCard.appendChild(el("div","position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,"+ACC+" 30%,"+ACC2+" 70%,transparent);box-shadow:0 0 22px rgba(0,229,240,.5);"));
    var head=el("div","display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;");
    var titleWrap=el("div","display:flex;align-items:center;gap:10px;color:#FFF;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:18px;");
    titleWrap.appendChild(el("span","width:7px;height:7px;border-radius:50%;background:"+ACC+";box-shadow:0 0 12px "+ACC+";flex:0 0 auto;"));
    var titleText=el("span",""); titleText.textContent="Commission Earned over time"; titleWrap.appendChild(titleText);
    head.appendChild(titleWrap);
    var chartBox=el("div","position:relative;height:220px;");
    var views={commission:{series:commissionSeries,title:"Commission Earned over time",color:ACC},clicks:{series:clicksSeries,title:"Clicks over time",color:ACC2}};
    if(commissionCol>=0 && clicksCol>=0){
      var seg=el("div","display:inline-flex;padding:4px;border-radius:10px;background:rgba(9,14,26,.85);border:1px solid #2A3A60;gap:4px;");
      var mkTab=function(t){ var b=el("span","padding:6px 15px;border-radius:7px;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.03em;color:"+MUTED+";transition:background .15s,color .15s,box-shadow .15s;"); b.textContent=t; return b; };
      var bCom=mkTab("Commission"), bClk=mkTab("Clicks"); seg.appendChild(bCom); seg.appendChild(bClk); head.appendChild(seg);
      var setView=function(k){ var v=views[k]; [bCom,bClk].forEach(function(b){ b.style.background="transparent"; b.style.color=MUTED; b.style.boxShadow="none"; }); var ab=k==="commission"?bCom:bClk; ab.style.background="linear-gradient(180deg,"+ACC2+","+ACC+")"; ab.style.color=INK; ab.style.boxShadow="0 6px 18px -8px rgba(0,229,240,.6)"; titleText.textContent=v.title; chartBox.innerHTML=""; drawArea(chartBox, v.series, labels, v.color); };
      bCom.addEventListener("click",function(){ setView("commission"); }); bClk.addEventListener("click",function(){ setView("clicks"); });
      chartCard.appendChild(head); chartCard.appendChild(chartBox); setView("commission");
      window.addEventListener("resize", function(){ var k=(titleText.textContent.indexOf("Clicks")>-1)?"clicks":"commission"; chartBox.innerHTML=""; drawArea(chartBox, views[k].series, labels, views[k].color); });
    } else {
      chartCard.appendChild(head); chartCard.appendChild(chartBox);
      var only=commissionCol>=0?views.commission:views.clicks; titleText.textContent=only.title; drawArea(chartBox, only.series, labels, only.color);
      window.addEventListener("resize", function(){ chartBox.innerHTML=""; drawArea(chartBox, only.series, labels, only.color); });
    }

    /* ---- insertion + masquage Morris blancs & titres de section orphelins ---- */
    var morris=[].slice.call(document.querySelectorAll('[id^="report-"]'));
    var anchor = morris.length ? morris[0] : (table.closest(".am-grid-container")||table);
    anchor.parentNode.insertBefore(kpis, anchor);
    anchor.parentNode.insertBefore(chartCard, anchor);
    morris.forEach(function(m){ m.style.display="none"; });
    /* les titres "Commission" / "Unique Clicks/All Clicks/Sales" sont en display:flex !important -> hider en !important */
    [].slice.call(document.querySelectorAll("h1,h2,h3,h4")).forEach(function(hh){
      var tt=(hh.textContent||"").replace(/\s+/g," ").trim();
      if(/^Commission$/i.test(tt) || /^Unique Clicks\/All Clicks\/Sales$/i.test(tt)) hh.style.setProperty("display","none","important");
    });
  }
  function isHeading(n){ return n && /^H[1-6]$/.test(n.tagName||""); }

  function drawArea(box, data, labels, color){
    var W=box.clientWidth||600, H=box.clientHeight||220, pad={l:44,r:14,t:14,b:26};
    var iw=W-pad.l-pad.r, ih=H-pad.t-pad.b, n=data.length;
    var max=Math.max.apply(null,data)*1.14 || 1;
    var x=function(i){ return pad.l+(n<=1?iw/2:iw*i/(n-1)); }, y=function(v){ return pad.t+ih-(v/max)*ih; };
    var s=svg("svg",{width:W,height:H,viewBox:"0 0 "+W+" "+H});
    var defs=svg("defs",{}), g=svg("linearGradient",{id:"tdyg",x1:"0",y1:"0",x2:"0",y2:"1"});
    g.appendChild(svg("stop",{offset:"0","stop-color":color,"stop-opacity":"0.35"}));
    g.appendChild(svg("stop",{offset:"1","stop-color":color,"stop-opacity":"0"}));
    defs.appendChild(g); s.appendChild(defs);
    for(var r=0;r<=4;r++){ var gy=pad.t+ih*r/4;
      var ln=svg("line",{x1:pad.l,x2:W-pad.r,y1:gy,y2:gy,stroke:"rgba(42,58,96,.5)","stroke-width":"1"}); if(r<4) ln.setAttribute("stroke-dasharray","3 5"); s.appendChild(ln);
      var tx=svg("text",{x:pad.l-8,y:gy+4,"text-anchor":"end",fill:MUTED2,"font-size":"10","font-family":"JetBrains Mono, monospace"}); tx.textContent=Math.round(max*(4-r)/4); s.appendChild(tx);
    }
    var step=Math.max(1,Math.ceil(n/6));
    labels.forEach(function(lab,i){ if(i%step!==0 && i!==n-1) return;
      var tx=svg("text",{x:x(i),y:H-8,"text-anchor":"middle",fill:MUTED2,"font-size":"9.5","font-family":"JetBrains Mono, monospace"});
      tx.textContent=String(lab).replace(/,?\s*\d{4}$/,"").slice(0,7); s.appendChild(tx);
    });
    var d="",a=""; data.forEach(function(v,i){ d+=(i?"L":"M")+x(i)+" "+y(v)+" "; });
    a=d+"L"+x(n-1)+" "+(pad.t+ih)+" L"+x(0)+" "+(pad.t+ih)+" Z";
    s.appendChild(svg("path",{d:a,fill:"url(#tdyg)"}));
    if(n>1) s.appendChild(svg("path",{d:d,fill:"none",stroke:color,"stroke-width":"2.4","stroke-linejoin":"round","stroke-linecap":"round",filter:"drop-shadow(0 0 6px "+color+"aa)"}));
    data.forEach(function(v,i){ var last=i===n-1; s.appendChild(svg("circle",{cx:x(i),cy:y(v),r:last?4:2.4,fill:last?color:"#05090F",stroke:color,"stroke-width":"1.6"})); });
    box.innerHTML=""; box.appendChild(s);
  }

  /* 1b) DASHBOARD TRADER â€” etat vide "Getting Started" facon maquette (centre + icone + pastille) */
  function enhanceEmptyState(){
    document.querySelectorAll(".amp-dashboard-card, .am-list-subscriptions-desc").forEach(function(card){
      if(card.__tdyEmpty) return;
      var t=card.textContent||"";
      /* uniquement les comptes NON tradÃ©s : "Getting Started" present, mais pas de "Account Balance" */
      if(!/Getting Started/i.test(t) || /Account Balance/i.test(t)) return;
      card.__tdyEmpty=true;
      /* RESET a droite (comme la maquette) : la ligne "Account ... RESET" est un .amp-kv en block -> on la passe en flex et on pousse RESET a droite */
      var resetLink=card.querySelector('a.rithmic-reset-account, a[href*="reset"]');
      if(resetLink){ var akv=resetLink.closest(".amp-kv"); if(akv){ akv.style.setProperty("display","flex","important"); akv.style.setProperty("align-items","center","important"); akv.style.setProperty("gap","12px","important"); akv.style.setProperty("flex-wrap","wrap","important"); resetLink.style.setProperty("margin-left","auto","important"); } }
      var flavorEl=card.querySelector(".amp-flavor-text");
      var flavor=flavorEl?flavorEl.textContent.trim():"Place some trades and check back tomorrow to see your progress!";
      var metricsEl=null, muted=card.querySelectorAll(".amp-muted");
      for(var i=0;i<muted.length;i++){ if(/evaluation metrics/i.test(muted[i].textContent)){ metricsEl=muted[i]; break; } }
      var metrics=metricsEl?metricsEl.textContent.trim():"Your evaluation metrics will appear here once you start trading";
      /* masquer les lignes brutes (rond â\u2014‹ + titre + flavor + metrics + spacer) */
      var rows=card.querySelectorAll(".amp-row");
      for(var r=0;r<rows.length;r++){ if(rows[r].querySelector(".amp-icon.pending")||rows[r].querySelector(".amp-flavor-text")) rows[r].style.display="none"; }
      var sp=card.querySelectorAll(".amp-spacer");
      for(var s=0;s<sp.length;s++){ sp[s].style.display="none"; }
      /* bloc centre facon maquette */
      var wrap=el("div","text-align:center;padding:22px 10px 8px;margin-top:6px;border-top:1px solid rgba(42,58,96,.55);");
      wrap.className="tdy-emptystate";
      var ico=el("div","display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:15px;background:rgba(0,229,240,.10);border:1px solid rgba(0,229,240,.34);margin:0 auto 16px;box-shadow:0 0 40px -12px rgba(0,229,240,.5);",
        '<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="'+ACC+'" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="3 17 9 11 13 15 21 7"></polyline><polyline points="16 7 21 7 21 12"></polyline></svg>');
      var title=el("div","font-family:'Michroma',sans-serif;font-weight:400;font-size:15px;color:#F2F6FF;letter-spacing:.02em;margin:0 0 9px;"); title.textContent="Getting Started";
      var sub=el("div","color:"+MUTED+";font-size:13px;line-height:1.6;max-width:280px;margin:0 auto 18px;white-space:normal;"); sub.textContent=flavor;
      var pill=el("div","display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid #2A3A60;background:rgba(0,229,240,.04);color:#B7C0D8;font-size:12px;line-height:1.4;max-width:90%;white-space:normal;text-align:center;"); pill.textContent=metrics;
      wrap.appendChild(ico); wrap.appendChild(title); wrap.appendChild(sub); wrap.appendChild(pill);
      card.appendChild(wrap);
    });
  }

  /* 1c) DASHBOARD TRADER â€” barre "profit target" en echec : remplissage rouge proportionnel (facon maquette) */
  function enhanceProgressBars(){
    document.querySelectorAll(".amp-progress.err").forEach(function(bar){
      if(bar.__tdyErr) return; bar.__tdyErr=true;
      var fill=bar.firstElementChild; if(!fill) return;
      var row=bar.previousElementSibling, txt=(row&&row.textContent)||"";
      var nums=(txt.match(/-?\$?[\d.,]+/g)||[]).map(function(s){return parseFloat(s.replace(/[^0-9.\-]/g,""));}).filter(function(n){return !isNaN(n);});
      var ratio=20; if(nums.length>=2 && nums[1]){ ratio=Math.min(100, Math.max(6, Math.abs(nums[0]/nums[1])*100)); }
      fill.style.setProperty("width", ratio.toFixed(1)+"%", "important");
      fill.style.setProperty("background", "linear-gradient(90deg,#FF5F7A,#FF8FA3)", "important");
      fill.style.setProperty("background-image", "linear-gradient(90deg,#FF5F7A,#FF8FA3)", "important");
      fill.style.setProperty("border-radius", "999px", "important");
    });
  }

  /* 4) RESPONSIVE MOBILE (style injecte au runtime -> invisible pour WP Rocket RUCSS) :
        - nav depliee comme la maquette (on inverse le swap hamburger du theme <=500px)
        - Copy du mot de passe masque en mobile (on garde juste Show) */
  function injectResponsiveCSS(){
    if(document.getElementById("tdy-widget-css")) return;
    var css=
      "@media (max-width:500px){"+
        /* cacher le home ðŸ  + le hamburger â˜° + le menu deroulant mobile */
        "body:not(#z) .am-tabs-narrow-switch,"+
        "body:not(#z) .am-tabs-narrow-dashboard,"+
        "body:not(#z) .am-tabs-narrow-wrapper{display:none !important;}"+
        /* centrer le pill user (le ðŸ /â˜° retires) + retirer le rectangle noir (fond/ombre du thÃ¨me en mobile) */
        "body:not(#z) .am-account-toolbar,"+
        "body:not(#z) .am-account-toolbar-items{justify-content:center !important;background:transparent !important;background-image:none !important;box-shadow:none !important;border:0 !important;}"+
        /* reafficher la vraie nav */
        "body:not(#z) .am-tabs-wrapper{display:block !important;overflow:visible !important;}"+
        /* la faire s'enrouler au lieu de scroller (specificity boostee via :not(#z) pour battre la regle du theme) */
        "body:not(#z) ul.am-tabs:not(#z){display:flex !important;flex-wrap:wrap !important;overflow:visible !important;overflow-x:visible !important;}"+
        "body:not(#z) ul.am-tabs:not(#z)>li{flex:1 1 40% !important;}"+
        /* Copy du mot de passe masque en mobile */
        ".tdy-pw-copy{display:none !important;}"+
        /* KPI stats affilie empiles en mobile (1 colonne) */
        ".tdy-kpis{grid-template-columns:1fr !important;}"+
        /* encart affilie : bouton Copy pleine largeur sous le lien en mobile */
        ".tdy-aff-copy{flex:1 1 100% !important;}"+
        /* tableau Report : tient dans l'ecran (pas de scroll horizontal), cellules qui reviennent a la ligne */
        "body:not(#z) .am-grid-container{overflow-x:hidden !important;}"+
        "body:not(#z) table.am-grid:not(#z){width:100% !important;min-width:0 !important;table-layout:fixed !important;}"+
        "body:not(#z) table.am-grid:not(#z) th,body:not(#z) table.am-grid:not(#z) td{padding:9px 7px !important;font-size:11px !important;white-space:normal !important;word-break:break-word !important;overflow-wrap:anywhere !important;}"+
        /* garde-fou anti scroll horizontal en mobile + conteneur tableau contraint */
        "html:not(#z),body:not(#z){overflow-x:hidden !important;}"+
        "body:not(#z) .am-grid-container{width:100% !important;max-width:100% !important;overflow-x:hidden !important;}"+
      "}"+
      /* animations boutons affilie (les inline styles ne font pas de :hover) : balayage + lift comme les CTA du site */
      ".tdy-affl-copy,.tdy-aff-copy,.tdy-affl-btn{background-repeat:no-repeat !important;background-size:220% 100%,100% 100% !important;background-position:165% 0,0 0 !important;transition:background-position .8s ease,transform .15s ease,box-shadow .15s ease,filter .15s ease !important;}"+
      ".tdy-affl-copy,.tdy-aff-copy{background-image:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%),linear-gradient(135deg,#00E5F0,#1FA8FF) !important;}"+
      ".tdy-affl-btn{background-image:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.55) 50%,transparent 62%),linear-gradient(135deg,#FFB020,#FFC960) !important;}"+
      ".tdy-affl-copy:hover,.tdy-aff-copy:hover{background-position:-65% 0,0 0 !important;transform:translateY(-1px);box-shadow:0 18px 42px -12px rgba(31,168,255,.85) !important;filter:brightness(1.06);}"+
      ".tdy-affl-btn:hover{background-position:-65% 0,0 0 !important;transform:translateY(-1px);box-shadow:0 18px 42px -12px rgba(255,171,0,.8) !important;filter:brightness(1.06);}"+
      ".tdy-affl-copy:active,.tdy-aff-copy:active,.tdy-affl-btn:active{transform:translateY(0) scale(.98);}"+
      ".tdy-affl-view{transition:color .15s,text-shadow .15s !important;}.tdy-affl-view:hover{color:#7AF4FB !important;text-shadow:0 0 12px rgba(0,229,240,.5);}"+
      ".tdy-aff-view{transition:background .15s,box-shadow .15s,transform .15s !important;}.tdy-aff-view:hover{background:rgba(0,229,240,.13) !important;box-shadow:0 12px 26px -14px rgba(0,229,240,.6) !important;transform:translateY(-1px);}"+
      ".tdy-affl-field,.tdy-aff-field{transition:border-color .15s,box-shadow .15s !important;}.tdy-affl-field:hover,.tdy-aff-field:hover{border-color:#00E5F0 !important;box-shadow:0 0 0 3px rgba(0,229,240,.12) !important;}";
    var s=document.createElement("style"); s.id="tdy-widget-css"; s.textContent=css;
    (document.head||document.documentElement).appendChild(s);
  }

  /* 5) DASHBOARD AFFILIE â€” encart "Affiliate Program" (lien REEL + Copy + CTA stats) */
  function enhanceAffiliateHero(){
    if(!document.body || !document.body.classList.contains("am-page-main")) return;
    if(!document.querySelector("a#menu-aff")) return;               /* seulement les affilies (onglet Affiliate Info present) */
    if(document.querySelector(".tdy-aff-hero")) return;             /* idempotent */
    var content=document.querySelector(".am-body-content-content"); if(!content) return;
    var anchor=content.querySelector(".am-layout-two-coll"); if(!anchor) return;
    /* aligner la notice ambre "define payout method" a 900px (elle etait en content-box -> 934px, plus large que le reste) */
    var notice=content.querySelector(".am-info");
    if(notice){ notice.style.setProperty("box-sizing","border-box","important"); notice.style.setProperty("max-width","900px","important"); }
    var user=((document.querySelector(".am-user-identity-block_login")||{}).textContent||"").trim(); if(!user) return;
    /* vrai lien aMember = /member/aff/go/<pseudo> (verifie sur la page Banners & Links ; PAS ?aff=) */
    var link=location.origin+"/member/aff/go/"+encodeURIComponent(user);
    var card=el("div","position:relative;overflow:hidden;max-width:900px;margin:0 auto 18px;box-sizing:border-box;padding:18px 22px 20px;border-radius:12px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;");
    card.className="tdy-aff-hero";  /* max-width:900px + margin auto -> aligne pile sur le bloc 2-colonnes en dessous */
    card.appendChild(el("div","position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,"+ACC+" 30%,"+ACC2+" 70%,transparent);box-shadow:0 0 22px rgba(0,229,240,.5);"));
    var eb=el("div","display:flex;align-items:center;gap:8px;color:"+ACC+";font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;");
    eb.appendChild(el("span","width:7px;height:7px;border-radius:50%;background:"+ACC+";box-shadow:0 0 12px "+ACC+";flex:0 0 auto;"));
    eb.appendChild(el("span",null,"AFFILIATE PROGRAM"));
    card.appendChild(eb);
    var ti=el("div","font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.01em;color:#FFFFFF;margin:0 0 14px;"); ti.textContent="Your affiliate link";
    card.appendChild(ti);
    var row=el("div","display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;");
    var field=el("div","flex:1 1 260px;min-width:0;display:flex;align-items:center;padding:13px 16px;border-radius:10px;background:#0A1424;border:1px solid #1B2742;color:#EAF1FF;font-family:'JetBrains Mono',monospace;font-size:13.5px;letter-spacing:.02em;word-break:break-all;cursor:copy;"); field.className="tdy-aff-field"; field.textContent=link;
    var cp=el("span","display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 22px;min-height:48px;border-radius:10px;cursor:pointer;color:"+INK+";font-family:'Michroma',sans-serif;font-size:11px;letter-spacing:.03em;white-space:nowrap;background:linear-gradient(135deg,"+ACC+","+ACC2+");box-shadow:0 12px 30px -12px rgba(31,168,255,.6);",
      '<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg><span class="lbl">Copy link</span>');
    cp.className="tdy-aff-copy";
    var fc=function(){ copyText(link); var s=cp.querySelector(".lbl"); if(s){ var o=s.textContent; s.textContent="Copied \u2713"; setTimeout(function(){ s.textContent=o; },1400); } };
    cp.addEventListener("click",fc); field.addEventListener("click",fc);
    row.appendChild(field); row.appendChild(cp); card.appendChild(row);
    /* ligne du bas : 2 KPI (a gauche, remplis via fetch de la page Stats) + CTA (a droite) */
    var bottom=el("div","display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;margin-top:16px;");
    var kg=el("div","display:none;gap:12px;flex-wrap:wrap;"); kg.className="tdy-aff-kpis";
    function mk(lab){ var b=el("div","display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-radius:10px;background:rgba(15,24,48,.55);border:1px solid rgba(42,58,96,.7);min-width:0;"); b.appendChild(el("div","color:"+MUTED2+";font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;",lab)); var v=el("div","font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:18px;line-height:1;color:#F2F6FF;"); v.textContent="â€”"; b.appendChild(v); return {b:b,v:v}; }
    var kc=mk("Commission"), kk=mk("Total Clicks"); kc.v.style.color=ACC; kg.appendChild(kc.b); kg.appendChild(kk.b);
    var cta=el("a","display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;border:1px solid rgba(0,229,240,.42);background:rgba(0,229,240,.06);color:"+ACC+";text-decoration:none;font-family:'Michroma',sans-serif;font-size:11px;letter-spacing:.03em;",
      '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3v18h18"></path><path d="M7 14l4-4 3 3 5-6"></path></svg><span>View my affiliate stats</span>');
    cta.className="tdy-aff-view"; cta.href="/member/aff/member/stats";
    bottom.appendChild(kg); bottom.appendChild(cta); card.appendChild(bottom);
    content.insertBefore(card, anchor);
    /* KPI Commission + Total Clicks : lus par fetch de la page Stats (OPTIONNEL ; le lien + CTA marchent sans).
       Si le fetch echoue, les KPI restent caches et le CTA reste aligne a droite. */
    try{
      fetch("/member/aff/member/stats",{credentials:"same-origin"}).then(function(r){ return r.ok?r.text():null; }).then(function(html){
        if(!html) return;
        var doc=new DOMParser().parseFromString(html,"text/html");
        var tabs=doc.querySelectorAll("table"), tb=null;
        for(var i=0;i<tabs.length;i++){ var rs=tabs[i].querySelectorAll("tr"); for(var r=0;r<rs.length;r++){ var c=cells(rs[r]); if(c.length>=2 && /date/i.test(c[0].textContent)){ tb=tabs[i]; break; } } if(tb)break; }
        if(!tb) return;
        var ar=[].slice.call(tb.querySelectorAll("tr")), hi=-1;
        for(var h=0;h<ar.length;h++){ var hc=cells(ar[h]); if(hc.length>=2 && /date/i.test(hc[0].textContent)){ hi=h; break; } }
        var hd=[].map.call(cells(ar[hi]),function(t){ return t.textContent.trim(); });
        var bd=ar.slice(hi+1).filter(function(tr){ return cells(tr).length===hd.length && !/total/i.test(tr.textContent); });
        var cc=-1,lc=-1; for(var x=1;x<hd.length;x++){ if(/click/i.test(hd[x])) lc=x; else if(/commission|earn|amount|payout|revenue|\$/i.test(hd[x])) cc=x; }
        var com=0,clk=0; bd.forEach(function(tr){ if(cc>=0) com+=(money(cells(tr)[cc].textContent)||0); if(lc>=0){ var mm=(cells(tr)[lc].textContent||"").match(/(\d[\d,]*)/); if(mm) clk+=parseFloat(mm[1].replace(/,/g,"")); } });
        kc.v.textContent="$"+Number(com).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2});
        kk.v.textContent=Math.round(clk).toLocaleString("en-US");
        kg.style.display="flex"; bottom.style.justifyContent="space-between";
      }).catch(function(){});
    }catch(e){}
  }

  /* 5c) AFFILIATE LANDING (/member/aff/aff "Banners and Links") - payout CTA + hero lien + 2 KPI (fetch Stats reels) */
  function enhanceAffiliateLanding(){
    var copyBox=document.querySelector(".am-aff-banner-preview .am-copy-to-clipboard")||document.querySelector(".am-copy-to-clipboard");
    if(!copyBox) return;
    var link=(copyBox.textContent||"").trim();
    if(link.indexOf("/aff/go/")===-1) return;              /* uniquement Banners & Links (lien general d'affiliation) */
    if(document.querySelector(".tdy-affl")) return;         /* idempotent */
    var content=document.querySelector(".am-body-content-content"); if(!content) return;

    if(!document.getElementById("tdy-affl-css")){
      var s=el("style"); s.id="tdy-affl-css";
      s.textContent="@media(max-width:560px){.tdy-affl-cta{flex-direction:column !important;align-items:stretch !important;box-sizing:border-box !important;max-width:100% !important;}.tdy-affl-cta>*{flex:0 0 auto !important;min-width:0 !important;max-width:100% !important;box-sizing:border-box !important;}.tdy-affl-cta .tdy-affl-btn{width:100% !important;box-sizing:border-box !important;justify-content:center !important;}.tdy-affl-copy{flex:1 1 100% !important;box-sizing:border-box !important;justify-content:center !important;}.tdy-affl-kpis{grid-template-columns:1fr !important;}}";
      (document.head||document.documentElement).appendChild(s);
    }

    var CARD='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"></rect><line x1="2" y1="10" x2="22" y2="10"></line></svg>';
    var COPY='<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>';
    var DOLLAR='<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>';
    var CHECKSQ='<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M8 12l3 3 5-5"></path></svg>';

    var frag=el("div","max-width:900px;margin:0 auto;"); frag.className="tdy-affl";

    /* payout CTA (ambre) depuis .am-info (conditionnel : disparait une fois le payout defini) */
    var notice=document.querySelector(".am-info"), payHref="/member/aff/member/payout-info";
    if(notice){
      var na=notice.querySelector("a"); if(na && na.getAttribute("href")) payHref=na.getAttribute("href");
      var cta=el("div","display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 18px;padding:16px 20px;border-radius:12px;background:rgba(255,171,0,.06);border:1px solid rgba(255,171,0,.32);box-shadow:0 24px 60px -40px rgba(0,0,0,.9);"); cta.className="tdy-affl-cta";
      cta.appendChild(el("span","display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:11px;background:rgba(255,171,0,.12);border:1px solid rgba(255,171,0,.4);color:#FFC04D;flex:0 0 auto;",CARD));
      var mid=el("div","flex:1 1 260px;min-width:0;");
      mid.appendChild(el("div","font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:17px;color:#FFD79A;line-height:1.25;","Set up your payout method to start earning"));
      mid.appendChild(el("div","margin-top:4px;color:#C4B79A;font-size:13px;line-height:1.5;","Define how you'd like to receive your commission before your first payout."));
      cta.appendChild(mid);
      var payBtn=el("a","display:inline-flex;align-items:center;gap:8px;padding:0 22px;min-height:46px;border-radius:10px;text-decoration:none;font-family:'Michroma',ui-sans-serif,sans-serif;font-size:11px;letter-spacing:.03em;white-space:nowrap;background:linear-gradient(135deg,#FFB020,#FFC960);box-shadow:0 12px 30px -12px rgba(255,171,0,.6);","Set up payout &#8594;");
      payBtn.className="tdy-affl-btn"; payBtn.href=payHref; payBtn.style.setProperty("color","#2A1A00","important");
      cta.appendChild(payBtn); frag.appendChild(cta); notice.style.setProperty("display","none","important");
    }

    /* hero : lien d'affiliation (eyebrow + titre + champ + Copy link) */
    var hero=el("div","position:relative;overflow:hidden;margin:0 0 18px;padding:20px 24px 22px;border-radius:14px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;");
    hero.appendChild(el("div","position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,"+ACC+" 30%,"+ACC2+" 70%,transparent);box-shadow:0 0 22px rgba(0,229,240,.5);"));
    var eb=el("div","display:flex;align-items:center;gap:8px;color:"+ACC+";font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;");
    eb.appendChild(el("span","width:7px;height:7px;border-radius:50%;background:"+ACC+";box-shadow:0 0 12px "+ACC+";flex:0 0 auto;")); eb.appendChild(el("span",null,"AFFILIATE PROGRAM")); hero.appendChild(eb);
    hero.appendChild(el("div","font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:24px;letter-spacing:-.01em;color:#fff;margin:0 0 6px;","Your affiliate link"));
    hero.appendChild(el("div","color:"+MUTED+";font-size:13.5px;line-height:1.55;margin:0 0 16px;","Share this link. You earn commission on every referred trader."));
    var rw=el("div","display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;");
    var field=el("div","flex:1 1 260px;min-width:0;display:flex;align-items:center;padding:14px 18px;border-radius:10px;background:#0A1424;border:1px solid #1B2742;color:#EAF1FF;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:14px;letter-spacing:.02em;word-break:break-all;cursor:copy;"); field.className="tdy-affl-field"; field.textContent=link;
    var cp=el("span","display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;min-height:50px;border-radius:10px;cursor:pointer;color:"+INK+";font-family:'Michroma',ui-sans-serif,sans-serif;font-size:11px;letter-spacing:.03em;white-space:nowrap;background:linear-gradient(135deg,"+ACC+","+ACC2+");box-shadow:0 12px 30px -12px rgba(31,168,255,.6);",COPY+'<span class="lbl">Copy link</span>'); cp.className="tdy-affl-copy";
    var fc=function(){ copyText(link); var l=cp.querySelector(".lbl"); if(l){ var o=l.textContent; l.textContent="Copied \u2713"; setTimeout(function(){ l.textContent=o; },1400); } };
    cp.addEventListener("click",fc); field.addEventListener("click",fc);
    rw.appendChild(field); rw.appendChild(cp); hero.appendChild(rw); frag.appendChild(hero);

    /* 2 tuiles KPI (Commission / Total Clicks) + lien vers Statistics */
    function kpi(label,ico,accent){
      var c=el("div","position:relative;padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid "+(accent?"rgba(0,229,240,.32)":"#2A3A60")+";box-shadow:0 24px 60px -40px rgba(0,0,0,.9);min-width:0;");
      var top=el("div","display:flex;align-items:center;justify-content:space-between;gap:10px;");
      top.appendChild(el("div","color:"+MUTED2+";font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;",label));
      top.appendChild(el("div","display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:rgba(0,229,240,.08);border:1px solid rgba(0,229,240,.32);color:"+ACC+";flex:0 0 auto;",ico));
      c.appendChild(top);
      var v=el("div","margin-top:14px;font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:30px;line-height:1;letter-spacing:-.01em;color:"+(accent?ACC:"#F2F6FF")+";"); if(accent) v.style.textShadow="0 0 22px rgba(0,229,240,.4)"; v.textContent="";
      c.appendChild(v);
      var sub=el("div","margin-top:8px;color:"+MUTED+";font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.02em;",""); c.appendChild(sub);
      return {card:c,val:v,sub:sub};
    }
    var kpis=el("div","display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 14px;"); kpis.className="tdy-affl-kpis"; kpis.style.display="none";
    var kC=kpi("Commission",DOLLAR,true), kK=kpi("Total Clicks",CHECKSQ,false); kpis.appendChild(kC.card); kpis.appendChild(kK.card); frag.appendChild(kpis);
    var viewLink=el("a","display:inline-flex;align-items:center;gap:8px;color:"+ACC+";text-decoration:none;font-family:'Michroma',ui-sans-serif,sans-serif;font-size:11px;letter-spacing:.03em;",'View my affiliate stats <span style="font-family:\'JetBrains Mono\',ui-monospace,monospace">&#8594;</span>'); viewLink.className="tdy-affl-view"; viewLink.href="/member/aff/member/stats"; frag.appendChild(viewLink);

    /* masquer l'ancien contenu brut (2 h2 + boite lien) */
    content.querySelectorAll("h2").forEach(function(h){ h.style.setProperty("display","none","important"); });
    var prev=document.querySelector(".am-aff-banner-preview"); if(prev) prev.style.setProperty("display","none","important");
    content.insertBefore(frag, content.firstChild);

    /* KPI reels : fetch de la page Statistics (meme mecanique que le hero du dashboard) ; si echec -> tuiles cachees, pas de faux chiffre */
    try{
      fetch("/member/aff/member/stats",{credentials:"same-origin"}).then(function(r){ return r.ok?r.text():null; }).then(function(html){
        if(!html) return;
        var doc=new DOMParser().parseFromString(html,"text/html");
        var tabs=doc.querySelectorAll("table"), tb=null;
        for(var i=0;i<tabs.length;i++){ var rs=tabs[i].querySelectorAll("tr"); for(var r=0;r<rs.length;r++){ var c=cells(rs[r]); if(c.length>=2 && /date/i.test(c[0].textContent)){ tb=tabs[i]; break; } } if(tb)break; }
        if(!tb) return;
        var ar=[].slice.call(tb.querySelectorAll("tr")), hi=-1;
        for(var h=0;h<ar.length;h++){ var hc=cells(ar[h]); if(hc.length>=2 && /date/i.test(hc[0].textContent)){ hi=h; break; } }
        var hd=[].map.call(cells(ar[hi]),function(t){ return t.textContent.trim(); });
        var bd=ar.slice(hi+1).filter(function(tr){ return cells(tr).length===hd.length && !/total/i.test(tr.textContent); });
        var cc=-1,lc=-1; for(var x=1;x<hd.length;x++){ if(/click/i.test(hd[x])) lc=x; else if(/commission|earn|amount|payout|revenue|\$/i.test(hd[x])) cc=x; }
        var com=0,all=0,uniq=0;
        bd.forEach(function(tr){ if(cc>=0) com+=(money(cells(tr)[cc].textContent)||0);
          if(lc>=0){ var m=(cells(tr)[lc].textContent||"").match(/(-?\d[\d,]*)\s*\/\s*(-?\d[\d,]*)/); if(m){ all+=parseFloat(m[1].replace(/,/g,"")); uniq+=parseFloat(m[2].replace(/,/g,"")); } else { var n=money(cells(tr)[lc].textContent); if(n!=null){ all+=n; uniq+=n; } } } });
        if(cc>=0){ kC.val.textContent="$"+Number(com).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}); kC.sub.textContent="total, all time"; } else kC.card.style.display="none";
        if(lc>=0){ kK.val.textContent=Math.round(all).toLocaleString("en-US"); kK.sub.textContent=Math.round(uniq).toLocaleString("en-US")+" unique"; } else kK.card.style.display="none";
        kpis.style.display="grid";
      }).catch(function(){});
    }catch(e){}
  }

  /* 5d) NOTICE PAYOUT -> carte CTA ambre PARTOUT ou elle apparait (toutes les pages affiliees + dashboard), pas seulement Banners & Links */
  function enhancePayoutNotice(){
    if(document.querySelector(".tdy-affl")) return;                 /* la landing Banners & Links a deja sa CTA (enhanceAffiliateLanding) */
    if(document.querySelector('select[name="aff_payout_type"]')) return; /* la page Payout Method a sa propre carte (enhancePayoutForm) */
    var CARD='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"></rect><line x1="2" y1="10" x2="22" y2="10"></line></svg>';
    var notices=document.querySelectorAll(".am-info");
    for(var i=0;i<notices.length;i++){
      var n=notices[i]; if(n.__tdyPayout) continue;
      var a=n.querySelector('a[href*="payout-info"]'); if(!a) continue;   /* uniquement la notice "define payout method" (lien vers payout-info) */
      n.__tdyPayout=true;
      if(!document.getElementById("tdy-affl-css")){
        var s=el("style"); s.id="tdy-affl-css";
        s.textContent="@media(max-width:560px){.tdy-affl-cta{flex-direction:column !important;align-items:stretch !important;box-sizing:border-box !important;max-width:100% !important;}.tdy-affl-cta>*{flex:0 0 auto !important;min-width:0 !important;max-width:100% !important;box-sizing:border-box !important;}.tdy-affl-cta .tdy-affl-btn{width:100% !important;box-sizing:border-box !important;justify-content:center !important;}.tdy-affl-copy{flex:1 1 100% !important;box-sizing:border-box !important;justify-content:center !important;}.tdy-affl-kpis{grid-template-columns:1fr !important;}}";
        (document.head||document.documentElement).appendChild(s);
      }
      var payHref=a.getAttribute("href")||"/member/aff/member/payout-info";
      n.classList.remove("am-info");                                       /* coupe le style Partie 37.5/2 (!important + icone ::before) */
      n.classList.add("tdy-affl-cta","tdy-payout-cta");
      n.style.cssText="display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 auto 18px;padding:16px 20px;border-radius:12px;background:rgba(255,171,0,.06);border:1px solid rgba(255,171,0,.32);box-shadow:0 24px 60px -40px rgba(0,0,0,.9);max-width:900px;box-sizing:border-box;";
      n.innerHTML="";
      n.appendChild(el("span","display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:11px;background:rgba(255,171,0,.12);border:1px solid rgba(255,171,0,.4);color:#FFC04D;flex:0 0 auto;",CARD));
      var mid=el("div","flex:1 1 260px;min-width:0;");
      mid.appendChild(el("div","font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:17px;color:#FFD79A;line-height:1.25;","Set up your payout method to start earning"));
      mid.appendChild(el("div","margin-top:4px;color:#C4B79A;font-size:13px;line-height:1.5;","Define how you'd like to receive your commission before your first payout."));
      n.appendChild(mid);
      var payBtn=el("a","display:inline-flex;align-items:center;gap:8px;padding:0 22px;min-height:46px;border-radius:10px;text-decoration:none;font-family:'Michroma',ui-sans-serif,sans-serif;font-size:11px;letter-spacing:.03em;white-space:nowrap;background:linear-gradient(135deg,#FFB020,#FFC960);box-shadow:0 12px 30px -12px rgba(255,171,0,.6);","Set up payout &#8594;");
      payBtn.className="tdy-affl-btn"; payBtn.href=payHref; payBtn.style.setProperty("color","#2A1A00","important");
      n.appendChild(payBtn);
    }
  }

  /* 5e) PAYOUT METHOD (/member/aff/member/payout-info) - carte "Payout method" : cartes-methode LUES du select reel aMember (aucune inventee) + champs regroupes/nettoyes + conditions */
  function enhancePayoutForm(){
    var sel=document.querySelector('form#Am_Form select[name="aff_payout_type"]');
    if(!sel) return;                                   /* uniquement la page Payout Method */
    if(document.querySelector(".tdy-payform")) return; /* idempotent */
    var form=sel.closest("form")||document.getElementById("Am_Form"); if(!form) return;
    var selRow=sel.closest(".am-row"); if(!selRow) return;
    function ce(t,c,h){ var e=document.createElement(t); if(c) e.className=c; if(h!=null) e.innerHTML=h; return e; }
    document.body.classList.add("tdy-payform-on");
    /* notice payout redondante ici (on est deja sur la page) -> masquee */
    var nt=document.querySelector(".am-info"); if(nt) nt.style.setProperty("display","none","important");
    var ntc=document.querySelector(".tdy-payout-cta"); if(ntc) ntc.style.setProperty("display","none","important");

    var WALLET='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7.5A2.5 2.5 0 0 1 5.5 5H17a2 2 0 0 1 2 2v.5"></path><path d="M3 7.5V17a2 2 0 0 0 2 2h13a2 2 0 0 0 2-2v-2.5"></path><path d="M21 11v3h-3.5a1.5 1.5 0 0 1 0-3z"></path></svg>';
    var PLANE='<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M22 2 11 13"></path><path d="M22 2 15 22l-4-9-9-4z"></path></svg>';
    var BANK='<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21h18"></path><path d="M4 10h16"></path><path d="M6 10v9M10 10v9M14 10v9M18 10v9"></path><path d="M12 3 4 8h16z"></path></svg>';
    var ENV='<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"></rect><path d="m3 7.5 9 6 9-6"></path></svg>';
    var COIN='<svg width="19" height="19" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2 20 7v10l-8 5-8-5V7z"></path><circle cx="12" cy="12" r="3.1"></circle></svg>';
    var CAL='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4.5" width="18" height="16.5" rx="2"></rect><path d="M8 2.5v4M16 2.5v4M3 10h18"></path><path d="m9 15.5 2 2 4-4"></path></svg>';

    if(!document.getElementById("tdy-payform-css")){
      var SS="body.tdy-payform-on:not(#z) ";
      var css=[
        SS+".am-body-content-top h1{display:none !important;}",
        SS+".am-body-content-top::after{display:none !important;}",
        SS+"#row-aff_payout_type-0{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;margin:-1px !important;padding:0 !important;border:0 !important;}",
        ".tdy-pm-h{display:flex;align-items:center;gap:14px;}",
        ".tdy-pm-hico{width:46px;height:46px;border-radius:12px;background:rgba(0,229,240,.10);border:1px solid rgba(0,229,240,.22);color:"+ACC+";display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}",
        ".tdy-pm-ht{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:20px;color:#f2f6fb;letter-spacing:-.01em;}",
        ".tdy-pm-hs{font-size:13.5px;color:#99a5b5;margin-top:3px;}",
        ".tdy-pm-div{height:1px;background:rgba(255,255,255,.06);margin:22px 0;}",
        ".tdy-pm-step{display:flex;align-items:center;gap:10px;margin:0;}",
        ".tdy-pm-step i{width:22px;height:22px;border-radius:50%;background:rgba(0,229,240,.12);color:"+ACC+";font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;font-weight:700;font-style:normal;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}",
        ".tdy-pm-step b{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:15px;color:#EAF0F7;}",
        ".tdy-pm-substep{font-size:12.5px;color:#8a96a6;margin:6px 0 0 32px;}",
        ".tdy-pm-step2{margin-top:26px;}",
        ".tdy-pm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:16px 0 0;}",
        ".tdy-pm-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:14px;background:#0A1424;border:1px solid #242d3a;cursor:pointer;min-height:132px;transition:border-color .16s,background .16s;}",
        ".tdy-pm-card:hover{border-color:#3a4656;background:#0e1524;}",
        ".tdy-pm-card.on{border-color:"+ACC+";box-shadow:0 0 0 4px rgba(0,229,240,.12);}",
        ".tdy-pm-ico{width:36px;height:36px;border-radius:10px;background:rgba(148,163,184,.10);color:#CBD5E1;display:inline-flex;align-items:center;justify-content:center;}",
        ".tdy-pm-radio{position:absolute;top:16px;right:16px;width:20px;height:20px;border-radius:50%;border:2px solid #3a4656;display:inline-flex;align-items:center;justify-content:center;}",
        ".tdy-pm-card.on .tdy-pm-radio{border-color:"+ACC+";}",
        ".tdy-pm-card.on .tdy-pm-radio::after{content:'';width:10px;height:10px;border-radius:50%;background:"+ACC+";}",
        ".tdy-pm-name{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:15px;color:#EAF0F7;}",
        ".tdy-pm-desc{font-size:12.5px;line-height:1.42;color:#8a96a6;}",
        SS+".tdy-pm-fields{display:grid !important;grid-template-columns:1fr 1fr !important;gap:0 14px !important;margin-top:8px !important;}",
        SS+".tdy-pm-fields .am-row{margin:0 !important;padding:10px 0 !important;border-top:0 !important;}",
        SS+".tdy-pm-fields .am-row.tdy-fw{grid-column:1 / -1 !important;}",
        ".tdy-pm-cond{margin:16px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;color:#7f8b9b;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11.5px;text-align:center;letter-spacing:.02em;}",
        "@media(max-width:600px){"+SS+".tdy-pm-fields{grid-template-columns:1fr !important;}}"
      ].join("");
      var st=ce("style"); st.id="tdy-payform-css"; st.textContent=css; (document.head||document.documentElement).appendChild(st);
    }
    form.classList.add("tdy-payform");

    var hdr=ce("div","tdy-pm-h"); hdr.appendChild(ce("span","tdy-pm-hico",WALLET));
    var hb=ce("div"); hb.appendChild(ce("div","tdy-pm-ht","Payout method")); hb.appendChild(ce("div","tdy-pm-hs","Choose how you'd like to receive your commissions.")); hdr.appendChild(hb);
    form.insertBefore(hdr, form.firstChild);
    form.insertBefore(ce("div","tdy-pm-div"), selRow);
    form.insertBefore(ce("div","tdy-pm-step",'<i>1</i><b>Payment method</b>'), selRow);

    function metaOf(o){ var v=(o.value+" "+o.text).toLowerCase();
      if(/paypal/.test(v)) return {ico:PLANE,desc:"Fast payouts to your PayPal email",t:"PayPal account",s:"We'll send commissions to this PayPal email."};
      if(/crypto|coin|wallet|usdt|bitcoin|token/.test(v)) return {ico:COIN,desc:"Paid to your crypto wallet",t:"Wallet",s:"We'll send commissions to this wallet address."};
      if(/bank|transfer|wire|iban/.test(v)) return {ico:BANK,desc:"Direct to your bank account",t:"Bank account",s:"We'll transfer commissions to this account."};
      if(/check|cheque/.test(v)) return {ico:ENV,desc:"Mailed paper check",t:"Mailing address",s:"We'll mail a paper check to this address."};
      return {ico:WALLET,desc:"",t:"Payout details",s:""}; }
    var opts=[].slice.call(sel.options).filter(function(o){ return o.value && !/not selected/i.test(o.text); });
    var grid=ce("div","tdy-pm-grid"), cardByVal={};
    opts.forEach(function(o){ var m=metaOf(o); var c=ce("div","tdy-pm-card");
      c.appendChild(ce("span","tdy-pm-ico",m.ico)); c.appendChild(ce("span","tdy-pm-radio"));
      c.appendChild(ce("div","tdy-pm-name",o.text)); if(m.desc) c.appendChild(ce("div","tdy-pm-desc",m.desc));
      c.__meta=m; cardByVal[o.value]=c; c.addEventListener("click",function(){ pick(o.value); }); grid.appendChild(c); });
    form.insertBefore(grid, selRow);

    var PH={payable_to:"Name on the check",street:"Street and number",city:"City",state:"State / Province",country:"Country",zip:"ZIP / Postal code",email:"you@paypal.com",holder:"Full name on the account",iban:"IBAN or account number",name:"e.g. Chase, HSBC",swift:"8 or 11 characters",wallet:"Your wallet address",address:"Your wallet address",network:"e.g. ERC-20, TRC-20, SOL",memo:"Memo / tag (if required)",tag:"Memo / tag (if required)"};
    var step2box=ce("div","tdy-pm-step2");
    step2box.appendChild(ce("div","tdy-pm-step",'<i>2</i><b class="tdy-pm-2t">Payout details</b>'));
    var step2sub=ce("div","tdy-pm-substep",""); step2box.appendChild(step2sub);
    var fieldsWrap=ce("div","tdy-pm-fields");
    [].slice.call(form.querySelectorAll(".am-row")).forEach(function(r){
      if(r===selRow) return;
      var inp=r.querySelector('input[name^="aff_"],select[name^="aff_"],textarea[name^="aff_"]'); if(!inp) return;
      var lbl=r.querySelector("label")||r.querySelector(".am-element-title");
      if(lbl){ var t=(lbl.textContent||"").trim().replace(/^Affiliate\s.*?-\s*/i,"").trim(); if(t) lbl.textContent=t; }
      var suf=inp.name.replace(/^aff_[^_]+_/,""); if(PH[suf]) inp.setAttribute("placeholder",PH[suf]);
      if(/payable|street|address|email|holder|iban|account|wallet|network/i.test(inp.name)) r.classList.add("tdy-fw");
      fieldsWrap.appendChild(r);
    });
    try{ var sr=fieldsWrap.querySelector('.am-row:has([name$="_state"])'), cr=fieldsWrap.querySelector('.am-row:has([name$="_country"])'); if(sr&&cr) fieldsWrap.insertBefore(sr,cr); }catch(e){}
    step2box.appendChild(fieldsWrap);
    var saveRow=document.getElementById("row-_save-0")||(function(){ var b=form.querySelector('input[type=submit],button[type=submit]'); return b?b.closest(".am-row"):null; })();
    if(saveRow) form.insertBefore(step2box, saveRow); else form.appendChild(step2box);

    var btn=form.querySelector('input[type=submit],button[type=submit]');
    if(btn){ if(btn.tagName==="INPUT"){ if(!/payout/i.test(btn.value)) btn.value="Save payout method"; } else { if(!/payout/i.test(btn.textContent)) btn.textContent="Save payout method"; } }

    if(saveRow && !form.querySelector(".tdy-pm-cond")){
      var cond=ce("div","tdy-pm-cond",CAL+"<span>Payouts are sent monthly, on the 1st, after verification.</span>");
      if(saveRow.nextSibling) form.insertBefore(cond, saveRow.nextSibling); else form.appendChild(cond);
    }

    function pick(val){ sel.value=val;
      try{ sel.dispatchEvent(new Event("change",{bubbles:true})); }catch(e){}
      if(window.jQuery){ try{ window.jQuery(sel).trigger("change"); }catch(e){} }
      for(var v in cardByVal){ cardByVal[v].classList.toggle("on", v===val); }
      var c=cardByVal[val], m=c?c.__meta:null;
      var t2=step2box.querySelector(".tdy-pm-2t"); if(t2&&m) t2.textContent=m.t;
      step2sub.textContent=m?m.s:""; step2box.style.display= val?"":"none";
    }
    var cur=sel.value;
    if((!cur || /not selected/i.test((sel.options[sel.selectedIndex]||{}).text||"")) && opts.length===1) cur=opts[0].value;
    if(cur && cardByVal[cur]) pick(cur); else step2box.style.display="none";
  }

  /* 5b) etat vide "Active Subscriptions" (icone + bouton Browse), facon maquette */
  function enhanceEmptySubscriptions(){
    var block=document.querySelector("#member-main-subscriptions"); if(!block || block.__tdyEmptySubs) return;
    var h3=null; block.querySelectorAll("h3").forEach(function(h){ if(/no active subscriptions/i.test(h.textContent)) h3=h; });
    if(!h3) return; block.__tdyEmptySubs=true;
    var p=block.querySelector("p"), linkEl=p?p.querySelector("a"):null, href=linkEl?linkEl.getAttribute("href"):"/member/signup";
    h3.style.display="none"; if(p) p.style.display="none";
    var w=el("div","text-align:center;padding:16px 10px 6px;"); w.className="tdy-emptysubs";
    w.appendChild(el("div","display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:rgba(0,229,240,.08);border:1px solid rgba(0,229,240,.28);margin:0 auto 14px;color:"+ACC+";",
      '<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg>'));
    var tx=el("div","color:"+MUTED+";font-size:13.5px;line-height:1.6;margin:0 0 16px;"); tx.textContent="You have no active subscriptions.";
    w.appendChild(tx);
    var b=el("a","display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:10px;border:1px solid rgba(0,229,240,.42);background:rgba(0,229,240,.06);color:"+ACC+";text-decoration:none;font-family:'Michroma',sans-serif;font-size:11px;letter-spacing:.03em;",'<span>Browse evaluations</span><span style="font-family:\'JetBrains Mono\',monospace">&#8594;</span>');
    b.href=href; w.appendChild(b);
    if(p && p.nextSibling) block.insertBefore(w, p.nextSibling); else block.appendChild(w);
  }

  /* 6) CUSTOMER PROFILE â€” page "Account Settings" (2 cartes + toggle Change/Cancel + eye toggles) */
  function enhanceProfile(){
    if(!document.body || !document.body.classList.contains("am-page-profile")) return;
    if(document.querySelector(".tdy-profile-main")) return;                 /* idempotent */
    var form=document.getElementById("profile") || document.querySelector("form.am-form-profile") || document.querySelector("form[id^='profile']");
    if(!form) return;
    function ce(t,c,h){ var e=document.createElement(t); if(c) e.className=c; if(h!=null) e.innerHTML=h; return e; }
    function grab(id){ return document.getElementById(id); }
    document.body.classList.add("tdy-profile-on");

    var USER='<svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>';
    var LOCK='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>';
    var PENCIL='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"></path><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"></path></svg>';
    var EYE='<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z"></path><circle cx="12" cy="12" r="3"></circle></svg>';

    if(!document.getElementById("tdy-profile-css")){
      var css=[
        "body.tdy-profile-on:not(#z) form#profile{max-width:720px !important;margin:0 auto 40px !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;overflow:visible !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;}",
        "body.tdy-profile-on:not(#z) form#profile::before{display:none !important;}",
        "body.tdy-profile-on:not(#z) .tdy-card{position:relative;overflow:hidden;margin:0 0 18px;padding:20px 24px 22px;border-radius:14px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;}",
        ".tdy-card-h{display:flex;align-items:center;gap:12px;margin:0 0 3px;}",
        ".tdy-card-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:rgba(0,229,240,.08);border:1px solid rgba(0,229,240,.3);color:#00E5F0;flex:0 0 auto;}",
        ".tdy-card-t{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;color:#fff;}",
        ".tdy-card-sub{color:#8A96B4;font-size:13px;margin:0 0 16px;padding-left:46px;}",
        "body.tdy-profile-on:not(#z) .tdy-card .am-row:not(#z){display:block !important;border-top:0 !important;padding:9px 0 !important;margin:0 !important;}",
        "body.tdy-profile-on:not(#z) .tdy-card .am-element-title:not(#z){display:block !important;margin:0 0 7px !important;padding:0 !important;}",
        ".tdy-name-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:14px !important;}",
        ".tdy-field-col{display:flex;flex-direction:column;min-width:0;}",
        ".tdy-flabel{color:#8A96B4 !important;font-family:'JetBrains Mono',monospace !important;font-size:12px !important;letter-spacing:.04em;text-transform:uppercase;margin:0 0 7px !important;font-weight:500;}",
        ".tdy-req{color:#00E5F0;}",
        ".tdy-pass-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:10px;background:rgba(15,24,48,.55);border:1px solid rgba(42,58,96,.7);}",
        ".tdy-pass-summary .lbl{font-family:'Space Grotesk',sans-serif;font-weight:700;color:#fff;font-size:14px;}",
        ".tdy-pass-summary .dots{color:#5A6486;letter-spacing:3px;font-size:13px;margin-top:5px;}",
        ".tdy-pass-cancel{display:inline-flex;align-items:center;gap:7px;margin-top:8px;color:#8A96B4;font-family:'JetBrains Mono',monospace;font-size:12px;cursor:pointer;}",
        ".tdy-pass-cancel:hover{color:#7AF4FB;}",
        ".tdy-pw-wrap{position:relative;}",
        ".tdy-pw-eye{position:absolute;right:14px;bottom:16px;top:auto;transform:none;cursor:pointer;color:#8A96B4;display:inline-flex;transition:color .15s;}",
        ".tdy-pw-eye:hover{color:#00E5F0;}",
        "body.tdy-profile-on:not(#z) .tdy-pw-wrap input:not(#z){padding-right:44px !important;}",
        "body.tdy-profile-on:not(#z) #row-_submit_-0:not(#z){display:block !important;padding:0 !important;border-top:0 !important;margin:4px 0 0 !important;}",
        "@media(max-width:600px){.tdy-name-grid{grid-template-columns:1fr !important;}.tdy-card-sub{padding-left:0 !important;}}"
      ].join("");
      var st=ce("style"); st.id="tdy-profile-css"; st.textContent=css; (document.head||document.documentElement).appendChild(st);
    }

    var h1=document.querySelector(".am-body-content-top h1")||document.querySelector(".am-body-content h1")||document.querySelector("h1");
    if(h1) h1.textContent="Account Settings";

    function card(ico,t,sub){
      var c=ce("div","tdy-card"), h=ce("div","tdy-card-h");
      h.appendChild(ce("span","tdy-card-ico",ico)); h.appendChild(ce("span","tdy-card-t",t));
      c.appendChild(h); c.appendChild(ce("div","tdy-card-sub",sub)); return c;
    }
    var cInfo=card(USER,"Personal information","Your name and email address on file."); cInfo.className+=" tdy-profile-main";
    var cSec=card(LOCK,"Security","Manage your password.");
    form.insertBefore(cInfo, form.firstChild); form.insertBefore(cSec, cInfo.nextSibling);

    var rName=grab("row-name-0"), rEmail=grab("row-email-0");
    if(rName) cInfo.appendChild(rName);
    if(rEmail) cInfo.appendChild(rEmail);

    var rowChange=grab("row-qfauto-1"), rOld=grab("row-_oldpass-0"), rNew=grab("row-pass-0"), rConf=grab("row-pass-confirm");
    [rowChange,rOld,rNew,rConf].forEach(function(r){ if(r) cSec.appendChild(r); });
    /* FIX init : les 3 champs mot de passe cachÃ©s par dÃ©faut (sinon le override .am-row{display:block!important} Ã©craserait le display:none natif d'aMember) */
    [rOld,rNew,rConf].forEach(function(r){ if(r) r.style.setProperty("display","none","important"); });

    /* Nom -> 2 colonnes labellisÃ©es First / Last */
    if(rName){
      var nf=grab("name_f"), nl=grab("name_l");
      var ot=rName.querySelector(".am-element-title"); if(ot) ot.style.setProperty("display","none","important");
      var grp=rName.querySelector(".am-element.group")||rName.querySelector(".am-element");
      if(grp && nf && nl){
        grp.classList.add("tdy-name-grid");
        var c1=ce("div","tdy-field-col"), c2=ce("div","tdy-field-col");
        c1.appendChild(ce("label","tdy-flabel",'First Name <span class="tdy-req">*</span>')); c1.appendChild(nf);
        c2.appendChild(ce("label","tdy-flabel",'Last Name <span class="tdy-req">*</span>')); c2.appendChild(nl);
        grp.appendChild(c1); grp.appendChild(c2);
      }
    }

    /* Email -> label "Email Address" */
    if(rEmail){
      var emL=rEmail.querySelector(".am-element-title");
      if(emL){ var req=emL.querySelector(".required"); emL.innerHTML=""; if(req) emL.appendChild(req); emL.appendChild(document.createTextNode("Email Address")); }
    }

    /* Security -> rÃ©sumÃ© "Password / Change" + toggle vers les 3 champs + Cancel */
    if(rowChange){
      var origLink=rowChange.querySelector("a.am-change-pass-toggle");
      var changeLink=origLink?origLink.cloneNode(false):ce("a","am-change-pass-toggle local-link");
      changeLink.innerHTML=PENCIL+" Change"; changeLink.setAttribute("href","javascript:;");
      var summary=ce("div","tdy-pass-summary");
      var left=ce("div"); left.appendChild(ce("div","lbl","Password")); left.appendChild(ce("div","dots","\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"));
      summary.appendChild(left); summary.appendChild(changeLink);
      rowChange.innerHTML=""; rowChange.removeAttribute("style"); rowChange.appendChild(summary);
      var cancel=ce("div","tdy-pass-cancel","\u2715 Cancel password change"); cancel.style.display="none"; cSec.appendChild(cancel);
      var setPw=function(disp,clear){ [rOld,rNew,rConf].forEach(function(r){ if(!r) return; r.style.setProperty("display",disp,"important"); if(clear){ var i=r.querySelector("input"); if(i) i.value=""; } }); };
      changeLink.addEventListener("click", function(e){ if(e&&e.preventDefault) e.preventDefault(); setPw("block",false); rowChange.style.setProperty("display","none","important"); cancel.style.display="inline-flex"; });
      cancel.addEventListener("click", function(){ setPw("none",true); rowChange.style.setProperty("display","block","important"); cancel.style.display="none"; });
    }

    /* Eye toggle sur chaque champ mot de passe (confort) */
    [rOld,rNew,rConf].forEach(function(r){
      if(!r) return;
      var inp=r.querySelector("input[type=password]"); if(!inp) return;
      var host=r.querySelector(".am-element")||inp.parentNode; if(!host) return;
      host.classList.add("tdy-pw-wrap");
      var eye=ce("span","tdy-pw-eye",EYE); host.appendChild(eye);
      eye.addEventListener("click", function(){ inp.type = inp.type==="password" ? "text" : "password"; });
    });

    /* Bouton "Save Profile \u2713" pleine largeur (dÃ©jÃ  stylÃ© par le thÃ¨me) */
    var save=grab("_submit_-0"); if(save && save.tagName==="INPUT") save.value="Save Profile   \u2713";
  }

  /* 7) SIM-FUNDED DASHBOARD (/member/evaluations) â€” etats vides + accordeon ouvert + header "Pass Credits" */
  function enhanceEvaluations(){
    var dash=document.querySelector(".evaluation-dashboard");
    if(!dash) return;
    function ce(t,c,h){ var e=document.createElement(t); if(c) e.className=c; if(h!=null) e.innerHTML=h; return e; }

    if(!document.getElementById("tdy-eval-css")){
      var P=".evaluation-dashboard.dark-theme ";
      var css=[
        P+".accordion-header{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;}",
        P+".accordion-header h3{margin:0 auto 0 0 !important;}",
        P+".accordion-toggle{display:inline-flex !important;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid rgba(0,229,240,.4) !important;background:rgba(0,229,240,.06) !important;color:#00E5F0 !important;font-size:10px !important;line-height:1 !important;cursor:pointer;transition:background .15s;flex:0 0 auto;}",
        P+".accordion-toggle:hover{background:rgba(0,229,240,.14) !important;}",
        /* chevron : quand la section est OUVERTE, on annule la rotation 180 du plugin -> fleche vers le HAUT (maquette) */
        P+":has(#active-accounts[style*='display: block']) .accordion-toggle{transform:none !important;}",
        P+".tdy-eval-count{color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.02em;}",
        P+".tdy-eval-credits-h{display:flex;align-items:center;gap:10px;margin:0 0 4px;padding:0 0 12px;border-bottom:1px solid #1B2742;color:#fff;font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-size:18px;font-weight:600;}",
        P+".tdy-eval-credits-h .tdy-dot{width:7px;height:7px;border-radius:50%;background:#00E5F0;box-shadow:0 0 12px #00E5F0;flex:0 0 auto;}",
        P+".no-credits,"+P+".no-funded-accounts-message{background:transparent !important;background-color:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;color:inherit !important;text-align:center !important;}",
        P+".tdy-eval-empty{text-align:center;padding:26px 16px 22px;}",
        P+".tdy-eval-empty .ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:15px;background:rgba(0,229,240,.10);border:1px solid rgba(0,229,240,.34);margin:0 auto 16px;color:#00E5F0;box-shadow:0 0 40px -12px rgba(0,229,240,.5);}",
        P+".tdy-eval-empty .t{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:17px;color:#F2F6FF;margin:0 0 8px;}",
        P+".tdy-eval-empty .s{color:#8A96B4;font-size:13px;line-height:1.6;max-width:340px;margin:0 auto;}"
      ].join("");
      var st=ce("style"); st.id="tdy-eval-css"; st.textContent=css; (document.head||document.documentElement).appendChild(st);
    }

    /* accordeon "Active Funded Accounts" ouvert par defaut (maquette) â€” une seule fois (ne re-ouvre pas si le membre le ferme) */
    if(!dash.__tdyEvalOpened){
      dash.__tdyEvalOpened=true;
      var content=document.getElementById("active-accounts");
      if(content && getComputedStyle(content).display==="none" && typeof window.toggleAccordion==="function"){
        try{ window.toggleAccordion("active-accounts"); }catch(e){}
      }
    }

    /* compteur "N active" (cartes de compte finance ; 0 => rien) */
    var acc=document.getElementById("active-accounts"), hdr=document.querySelector(".evaluation-dashboard .accordion-header");
    if(acc && hdr && !hdr.querySelector(".tdy-eval-count")){
      var n=acc.querySelectorAll(".credit-card-compact").length;
      if(n>0){ var tg=hdr.querySelector(".accordion-toggle"); var cnt=ce("span","tdy-eval-count"); cnt.textContent=n+" active"; if(tg) hdr.insertBefore(cnt,tg); else hdr.appendChild(cnt); }
    }

    /* etat vide "Active Funded Accounts" */
    var ACT='<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>';
    var nf=document.querySelector(".no-funded-accounts-message");
    if(nf && !nf.__tdy){ nf.__tdy=1; nf.innerHTML="";
      var w=ce("div","tdy-eval-empty");
      w.appendChild(ce("div","ico",ACT));
      w.appendChild(ce("div","t","No funded accounts found"));
      w.appendChild(ce("div","s","Pass an evaluation to unlock a sim-funded account. It will appear here once activated."));
      nf.appendChild(w);
    }

    /* header "Pass Credits" (le plugin n'en met pas) + etat vide */
    var CC='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"></rect><line x1="2" y1="10" x2="22" y2="10"></line></svg>';
    var nc=document.querySelector(".no-credits");
    if(nc){
      var sec=nc.closest(".pass-credits-section");
      if(sec && !sec.querySelector(".tdy-eval-credits-h")){ sec.insertBefore(ce("div","tdy-eval-credits-h",'<span class="tdy-dot"></span>Pass Credits'), sec.firstChild); }
      if(!nc.__tdy){ nc.__tdy=1; nc.innerHTML="";
        var w2=ce("div","tdy-eval-empty");
        w2.appendChild(ce("div","ico",CC));
        w2.appendChild(ce("div","t","No Available Credits"));
        w2.appendChild(ce("div","s","There are no available credits for your account at this time."));
        nc.appendChild(w2);
      }
    }
  }

  /* 8) PAYMENT INFO (/member/payment/stripe/update) â€” carte "Payment method" resserree (header + note Stripe + reassurance) */
  function enhanceCardUpdate(){
    if(!document.body || !document.body.classList.contains("am-page-cc")) return;
    if(document.querySelector(".am-receipt")) return;                 /* exclut la page "Pay" (a recap) */
    var form=document.getElementById("cc"); if(!form) return;
    if(document.querySelector(".tdy-cc-h")) return;                   /* idempotent */
    function ce(t,c,h){ var e=document.createElement(t); if(c) e.className=c; if(h!=null) e.innerHTML=h; return e; }

    var CARD='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"></rect><line x1="2" y1="10" x2="22" y2="10"></line></svg>';
    var LOCK='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>';
    var SHIELD='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>';
    var REFRESH='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>';

    if(!document.getElementById("tdy-cc-css")){
      var S="body.am-page-cc:not(#z):not(:has(.am-receipt)) ";
      var css=[
        S+"form#cc{max-width:520px !important;margin:0 auto 46px !important;padding:22px 26px 26px !important;}",
        ".tdy-cc-h{display:flex;align-items:center;gap:12px;margin:2px 0 3px;}",
        ".tdy-cc-ico{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(0,229,240,.08);border:1px solid rgba(0,229,240,.3);color:#00E5F0;flex:0 0 auto;}",
        ".tdy-cc-t{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:19px;color:#fff;}",
        ".tdy-cc-sub{color:#8A96B4;font-size:13px;line-height:1.5;margin:0 0 18px;padding-left:48px;}",
        S+"#row-qfauto-0{display:flex !important;flex-direction:column !important;align-items:stretch !important;padding:0 !important;border-top:0 !important;}",
        S+"#row-qfauto-0 .am-element-title{display:block !important;float:none !important;position:static !important;width:100% !important;margin:0 0 9px !important;padding:0 !important;text-align:left !important;}",
        S+"#row-qfauto-0 .am-element.group{margin:0 !important;width:100% !important;}",
        S+".StripeElement{min-height:0 !important;padding:15px 16px !important;box-sizing:border-box !important;}",
        ".tdy-cc-secured{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:9px 0 0;color:#5A6486;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;}",
        ".tdy-cc-secured .i-lock{display:inline-flex;}",
        S+"#row-qfauto-4{border-top:0 !important;padding:16px 0 0 !important;}",
        ".tdy-cc-reassure{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:center;margin:16px 0 0;color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;}",
        ".tdy-cc-reassure span.it{display:inline-flex;align-items:center;gap:7px;}",
        ".tdy-cc-reassure .i-lock{color:#3DDC84;display:inline-flex;}",
        ".tdy-cc-reassure .i-ok{color:#3DDC84;display:inline-flex;}",
        ".tdy-cc-reassure .i-rf{color:#3DDC84;display:inline-flex;}"
      ].join("");
      var st=ce("style"); st.id="tdy-cc-css"; st.textContent=css; (document.head||document.documentElement).appendChild(st);
    }

    /* header "Payment method" + sous-titre (le plugin ne met qu'un label de champ) */
    var h=ce("div","tdy-cc-h"); h.appendChild(ce("span","tdy-cc-ico",CARD)); h.appendChild(ce("span","tdy-cc-t","Payment method"));
    var sub=ce("div","tdy-cc-sub","Update the card used for your subscription renewals.");
    form.insertBefore(sub, form.firstChild); form.insertBefore(h, form.firstChild);

    /* note "Secure encrypted payment" sous le champ carte */
    var fieldRow=document.getElementById("row-qfauto-0");
    if(fieldRow){
      var secured=ce("div","tdy-cc-secured",'<span class="i-lock">'+LOCK+'</span> Secure encrypted payment');
      if(fieldRow.nextSibling) form.insertBefore(secured, fieldRow.nextSibling); else form.appendChild(secured);
    }

    /* check sur le bouton + ligne de reassurance */
    var btn=document.getElementById("_cc_-0");
    if(btn && btn.tagName==="INPUT" && btn.value.indexOf("\u2713")===-1) btn.value=btn.value+"   \u2713";
    var btnRow=document.getElementById("row-qfauto-4");
    if(btnRow){
      var re=ce("div","tdy-cc-reassure",
        '<span class="it"><span class="i-lock">'+LOCK+'</span> Secure payment</span>'+
        '<span class="it"><span class="i-ok">'+SHIELD+'</span> Encrypted</span>'+
        '<span class="it"><span class="i-rf">'+REFRESH+'</span> Update anytime</span>');
      if(btnRow.nextSibling) form.insertBefore(re, btnRow.nextSibling); else form.appendChild(re);
    }
  }

  /* 9) SUBSCRIBE AND PAY (/member/payment/stripe/cc) â€” etape 2/2 "Review & Pay" (recap + Payment Element sombre + billing + reassurance) */
  function enhancePayPage(){
    if(!document.body || !document.body.classList.contains("am-page-cc")) return;
    if(!document.querySelector(".am-receipt")) return;               /* uniquement la page Pay (a recap) ; l'update-card n'a pas de recap */
    var form=document.getElementById("cc"); if(!form) return;
    if(document.querySelector(".tdy-pay-payh")) return;              /* idempotent */
    function ce(t,c,h){ var e=document.createElement(t); if(c) e.className=c; if(h!=null) e.innerHTML=h; return e; }

    var RECEIPT='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="8" y1="13" x2="16" y2="13"></line><line x1="8" y1="17" x2="16" y2="17"></line></svg>';
    var CARD='<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"></rect><line x1="2" y1="10" x2="22" y2="10"></line></svg>';
    var LOCK='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>';
    var SHIELD='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>';
    var REFRESH='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"></polyline><polyline points="1 20 1 14 7 14"></polyline><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"></path></svg>';

    if(!document.getElementById("tdy-pay-css")){
      var S="body.am-page-cc:not(#z):has(.am-receipt) ";
      var css=[
        ".tdy-pay-h{display:flex;align-items:center;gap:12px;margin:2px 0 3px;}",
        ".tdy-pay-ico{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(0,229,240,.08);border:1px solid rgba(0,229,240,.3);color:#00E5F0;flex:0 0 auto;}",
        ".tdy-pay-t{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:19px;color:#fff;}",
        ".tdy-pay-sub{color:#8A96B4;font-size:13px;line-height:1.5;margin:0 0 14px;padding-left:48px;}",
        ".tdy-pay-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 10px;flex-wrap:wrap;}",
        ".tdy-pay-step{display:inline-flex;align-items:center;gap:7px;color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.02em;}",
        ".tdy-pay-step i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid #2A3A60;font-style:normal;font-size:11px;}",
        ".tdy-pay-step-done{color:#9FF0C2;}",
        ".tdy-pay-step-done i{background:rgba(61,220,132,.15);border:1px solid rgba(61,220,132,.5);color:#3DDC84;}",
        ".tdy-pay-step-on{color:#EAF1FF;}",
        ".tdy-pay-step-on i{background:linear-gradient(135deg,#00E5F0,#1FA8FF);color:#001028;border:0;}",
        ".tdy-pay-step-sep{width:40px;height:1px;background:#2A3A60;}",
        ".tdy-bill{margin:12px 0 0;padding:14px 16px;border-radius:10px;background:rgba(15,24,48,.55);border:1px solid rgba(42,58,96,.7);}",
        ".tdy-bill-eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5A6486;margin:0 0 6px;}",
        ".tdy-bill-name{color:#F2F6FF;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;font-weight:600;}",
        ".tdy-bill-addr{color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12.5px;margin-top:3px;line-height:1.5;}",
        S+"#row-qfauto-0{display:flex !important;flex-direction:column !important;align-items:stretch !important;padding:6px 0 0 !important;border-top:0 !important;}",
        S+"#row-qfauto-0 .am-element-title{display:block !important;float:none !important;position:static !important;width:100% !important;margin:0 0 9px !important;padding:0 !important;text-align:left !important;color:#8A96B4 !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:11px !important;letter-spacing:.12em !important;text-transform:uppercase !important;}",
        S+"#row-qfauto-0 .am-element.group{margin:0 !important;width:100% !important;}",
        S+".StripeElement{min-height:0 !important;padding:15px 16px !important;box-sizing:border-box !important;background:#0A1424 !important;border:1px solid #1B2742 !important;border-radius:8px !important;}",
        S+".am-receipt-row-total .am-receipt-final-price{font-size:22px !important;}",
        /* Order summary : tableau recap aligne sur la maquette (en-tetes courts, total cyan, ligne terms en pastille) */
        S+".am-receipt-table{width:100% !important;border-collapse:collapse !important;margin-top:8px !important;}",
        S+".am-receipt-am-row-head th{color:#5A6486 !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:10px !important;font-weight:500 !important;letter-spacing:.14em !important;text-transform:uppercase !important;padding:0 0 11px !important;border-bottom:1px solid rgba(42,58,96,.5) !important;white-space:nowrap !important;}",
        S+".am-receipt-am-row-head th.am-receipt-product{text-align:left !important;}",
        S+".am-receipt-am-row-head th.am-receipt-qty{text-align:center !important;}",
        S+".am-receipt-am-row-head th.am-receipt-unit-price,"+S+".am-receipt-am-row-head th.am-receipt-price{text-align:right !important;}",
        S+".am-receipt-table tbody td{padding:15px 0 !important;vertical-align:middle !important;}",
        S+".am-receipt-table tbody tr:first-child td:first-child{color:#F2F6FF !important;font-family:'Space Grotesk',ui-sans-serif,sans-serif !important;font-weight:700 !important;font-size:15px !important;}",
        S+".am-receipt-table tbody td.am-receipt-qty{text-align:center !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;color:#EAF1FF !important;font-size:14px !important;}",
        S+".am-receipt-table tbody td.am-receipt-unit-price{text-align:right !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;color:#EAF1FF !important;font-size:14px !important;}",
        S+".am-receipt-table tbody td.am-receipt-price{text-align:right !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;color:#F2F6FF !important;font-size:14px !important;font-weight:600 !important;}",
        S+".am-receipt-row-delimiter td{padding:0 !important;border:0 !important;border-top:1px solid rgba(42,58,96,.5) !important;height:0 !important;font-size:0 !important;line-height:0 !important;}",
        S+"td.am-receipt-total{text-align:left !important;color:#8A96B4 !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:13px !important;font-weight:500 !important;padding:7px 0 !important;}",
        S+"td.am-receipt-total.am-receipt-price{color:#EAF1FF !important;text-align:right !important;}",
        S+".am-receipt-row-total td.am-receipt-total{color:#F2F6FF !important;font-family:'Space Grotesk',ui-sans-serif,sans-serif !important;font-weight:700 !important;font-size:16px !important;padding-top:11px !important;}",
        S+".am-receipt-row-total td.am-receipt-total.am-receipt-price,"+S+".am-receipt-row-total .am-receipt-final-price{color:#00E5F0 !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-weight:700 !important;font-size:22px !important;letter-spacing:.01em !important;}",
        S+".am-receipt-row-terms td{padding:16px 0 2px !important;}",
        S+".tdy-terms{margin:0;padding:13px 16px;border-radius:10px;background:rgba(18,29,54,.6);border:1px solid rgba(56,76,116,.55);color:#AEB9D4;font-size:13px;line-height:1.5;}",
        S+".tdy-terms strong{color:#EAF1FF;font-weight:700;}",
        S+".am-receipt-product-options.tdy-prodsub{display:block !important;margin-top:4px !important;color:#5A6486 !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:11px !important;font-weight:400 !important;letter-spacing:.02em !important;text-transform:none !important;}",
        S+"#row-qfauto-3::after{content:'' !important;display:none !important;}",
        ".tdy-pay-reassure{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:center;margin:14px 0 0;color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;}",
        ".tdy-pay-reassure span.it{display:inline-flex;align-items:center;gap:7px;}",
        ".tdy-pay-reassure .ig{color:#3DDC84;display:inline-flex;}"
      ].join("");
      var st=ce("style"); st.id="tdy-pay-css"; st.textContent=css; (document.head||document.documentElement).appendChild(st);
    }

    /* Payment Element en SOMBRE via l'API appearance de Stripe (elements.update) â€” la bonne methode pour le Payment Element ;
       card.update({style}) du script compagnon ne marche que pour l'ancien Card Element. window.elements est global (var au top-level). */
    if(!window.__tdyPayDark){
      window.__tdyPayDark=true;
      try{
        if(window.elements && typeof window.elements.update==="function"){
          window.elements.update({appearance:{theme:"night",variables:{
            colorPrimary:"#00E5F0",colorBackground:"#0A1424",colorText:"#F2F6FF",
            colorTextSecondary:"#8A96B4",colorTextPlaceholder:"#5A6486",colorDanger:"#FF8FA3",
            fontFamily:"DM Sans, system-ui, sans-serif",borderRadius:"8px"
          }}});
        }
      }catch(e){}
    }

    /* step indicator (1 fait -> 2 actif) + titre "Review & Pay" (topEl : "top" est une prop reservee de window) */
    var topEl=document.querySelector(".am-body-content-top"), h1=topEl?topEl.querySelector("h1"):null;
    if(topEl && h1 && !topEl.querySelector(".tdy-pay-steps")){
      topEl.insertBefore(ce("div","tdy-pay-steps",'<span class="tdy-pay-step tdy-pay-step-done"><i>\u2713</i> Plan &amp; details</span><span class="tdy-pay-step-sep"></span><span class="tdy-pay-step tdy-pay-step-on"><i>2</i> Payment</span>'), h1);
      h1.textContent="Review & Pay";
    }
    /* header "Order summary" sur le recap */
    var receipt=document.querySelector(".am-receipt");
    if(receipt && !receipt.querySelector(".tdy-pay-h")){
      var oh=ce("div","tdy-pay-h"); oh.appendChild(ce("span","tdy-pay-ico",RECEIPT)); oh.appendChild(ce("span","tdy-pay-t","Order summary"));
      receipt.insertBefore(ce("div","tdy-pay-sub","Review your subscription before paying."), receipt.firstChild);
      receipt.insertBefore(oh, receipt.firstChild);
    }
    /* en-tetes de colonnes courts (Product / Total) + ligne "Subscription Terms" en pastille encadree, comme la maquette */
    var thProd=document.querySelector(".am-receipt-am-row-head .am-receipt-product"); if(thProd) thProd.textContent="Product";
    var thTot=document.querySelector(".am-receipt-am-row-head .am-receipt-price"); if(thTot) thTot.textContent="Total";
    var termsCell=document.querySelector(".am-receipt-terms-subscription");
    if(termsCell && !termsCell.querySelector(".tdy-terms")){
      var tbox=ce("div","tdy-terms"); while(termsCell.firstChild) tbox.appendChild(termsCell.firstChild);
      termsCell.appendChild(tbox);
    }
    /* Subtotal / Total : libelles a gauche (retirer la cellule indent vide + colspan=3 sur le label), comme la maquette */
    [].forEach.call(document.querySelectorAll(".am-receipt-table tbody tr"), function(tr){
      var lbl=tr.querySelector("td.am-receipt-total:not(.am-receipt-price)"), ind=tr.querySelector("td.am-receipt-indent");
      if(lbl && ind){ ind.parentNode.removeChild(ind); lbl.setAttribute("colspan","3"); }
    });
    /* sous-ligne "with / without activation fee" : d'apres ce qui est FACTURE (Total > mensuel recurrent, ou ligne de frais separee) */
    try{
      var recTxt=(document.querySelector(".am-receipt-terms-subscription")||{}).textContent||"";
      var recM=recTxt.match(/\$\s*([0-9][0-9.,]*)/), rec=recM?parseFloat(recM[1].replace(/,/g,"")):NaN;
      var totCell=document.querySelector(".am-receipt-row-total .am-receipt-final-price")||document.querySelector(".am-receipt-row-total .am-receipt-price");
      var totM=totCell?(totCell.textContent||"").match(/\$\s*([0-9][0-9.,]*)/):null, tot=totM?parseFloat(totM[1].replace(/,/g,"")):NaN;
      var feeLine=false, prows=document.querySelectorAll(".am-receipt-table tbody tr");
      for(var pi=0;pi<prows.length;pi++){ var rr=prows[pi]; if(/am-receipt-row/.test(rr.className)) continue; var fc=rr.querySelector("td"); if(fc && /activation|setup|one[- ]?time/i.test(fc.textContent||"")) feeLine=true; }
      var prodOpt=document.querySelector(".am-receipt-product-options");
      if(prodOpt && !isNaN(rec)){
        var hasFee = feeLine || (!isNaN(tot) && tot > rec + 0.009);
        prodOpt.textContent = hasFee ? "with activation fee" : "without activation fee";
        if(prodOpt.className.indexOf("tdy-prodsub")===-1) prodOpt.className += " tdy-prodsub";
      }
    }catch(e){}
    /* header "Payment" avant le champ carte */
    var fieldRow=document.getElementById("row-qfauto-0");
    if(fieldRow){
      var psub=ce("div","tdy-pay-sub","Secure encrypted payment."); form.insertBefore(psub, fieldRow);
      var ph=ce("div","tdy-pay-h tdy-pay-payh"); ph.appendChild(ce("span","tdy-pay-ico",CARD)); ph.appendChild(ce("span","tdy-pay-t","Payment"));
      form.insertBefore(ph, psub);
    }
    /* billing details : extrait du script inline Stripe (defaultValues.billingDetails) â€” vraies donnees, pas invente */
    try{
      var all="", sc=document.querySelectorAll("script");
      for(var i=0;i<sc.length;i++){ var t=sc[i].textContent||""; if(t.indexOf("billingDetails")>-1){ all=t; break; } }
      if(all && fieldRow && !document.querySelector(".tdy-bill")){
        var reg=all.slice(all.indexOf("billingDetails"), all.indexOf("billingDetails")+700);
        var g=function(k){ var m=reg.match(new RegExp('"'+k+'"\\s*:\\s*"([^"]*)"')); return m?m[1]:""; };
        var nm=g("name"),em=g("email"),l1=g("line1"),ci=g("city"),stt=g("state"),pc=g("postal_code"),co=g("country");
        if(nm||em){
          var box=ce("div","tdy-bill"); box.appendChild(ce("div","tdy-bill-eyebrow","Billing details"));
          var nameLine=ce("div","tdy-bill-name"); nameLine.textContent=nm+(em?"  \u00B7  "+em:""); box.appendChild(nameLine);
          var addr=[l1,ci,[stt,pc].filter(Boolean).join(" "),co].filter(Boolean).join(", ");
          if(addr) box.appendChild(ce("div","tdy-bill-addr",addr));
          if(fieldRow.nextSibling) form.insertBefore(box, fieldRow.nextSibling); else form.appendChild(box);
        }
      }
    }catch(e){}
    /* Cancel -> "Cancel and go back" + ligne de reassurance (icones vertes) */
    var btnRow=document.getElementById("row-qfauto-3");
    if(btnRow){
      var cancelA=btnRow.querySelector("a"); if(cancelA && cancelA.textContent.indexOf("go back")===-1) cancelA.textContent="\u2715 Cancel and go back";
      if(!document.querySelector(".tdy-pay-reassure")){
        var re=ce("div","tdy-pay-reassure",'<span class="it"><span class="ig">'+LOCK+'</span> Secure payment</span><span class="it"><span class="ig">'+SHIELD+'</span> Encrypted</span>');
        if(btnRow.nextSibling) form.insertBefore(re, btnRow.nextSibling); else form.appendChild(re);
      }
    }
  }

  function boot(){ run(injectResponsiveCSS); run(enhanceAccountCards); run(enhanceProgressBars); run(enhanceEmptyState); run(enhanceAffiliateHero); run(enhanceAffiliateLanding); run(enhancePayoutNotice); run(enhancePayoutForm); run(enhanceEmptySubscriptions); run(enhanceRithmic); run(enhanceAffiliateCopy); run(enhanceAffiliateStats); run(enhanceProfile); run(enhanceEvaluations); run(enhanceCardUpdate); run(enhancePayPage); }
  if(document.readyState!=="loading") boot(); else document.addEventListener("DOMContentLoaded", boot);
  setTimeout(boot, 700);
})();
</script>


<script>
/* TRADENTRY - champ carte Stripe en MODE SOMBRE sur /member/payment/stripe/update
   (le texte DANS l'iframe Stripe ne se style qu'en JS via card.update).
   OU COLLER : Appearance > Black Theme > Tracking/Widget Code >
   champ "Shown if User is LOGGED IN" > Save. */
(function(){
  function tdyStripeDark(){
    if(!document.body || !document.body.classList.contains('am-page-cc')) return;
    try{
      if(window.card && typeof window.card.update === 'function'){
        document.body.classList.add('tdy-stripe-dark');
        window.card.update({style:{
          base:{
            color:'#F2F6FF',
            iconColor:'#8A96B4',
            '::placeholder':{color:'#5A6486'}
          },
          invalid:{color:'#FF8FA3', iconColor:'#FF8FA3'}
        }});
      }
    }catch(e){}
  }
  if(document.readyState !== 'loading'){ tdyStripeDark(); }
  else { document.addEventListener('DOMContentLoaded', tdyStripeDark); }
})();
</script>


<!-- ============================================================================
     TRADENTRY - Garde-fou fond sombre v3 (anti "Remove Unused CSS" de WP Rocket)
     ----------------------------------------------------------------------------
     WP Rocket (Remove Unused CSS) supprime, apres purge, la transparence des
     conteneurs (.am-layout, .am-row, colonnes...) -> un bloc BLANC reapparait
     (notamment sous la colonne de droite du dashboard). Un style.background sur
     html/body ne suffit pas.
     FIX en 2 couches, toutes deux invisibles pour RUCSS (agit au runtime) :
       1) INJECTION d'un <style> cree en JS (RUCSS ne le voit pas -> ne le
          supprime pas) couvrant html/body + tous les conteneurs de mise en page.
       2) BALAYAGE runtime class-agnostique : tout conteneur au fond CLAIR qui
          englobe un bloc/carte (#am-block-*, .am-widget, .am-list) est force en
          transparent. Les notices, champs et cartes sombres ne sont PAS touches.
     ----------------------------------------------------------------------------
     A COLLER dans : Appearance > Black Theme > Tracking/Widget Code
       -> DANS LES DEUX boites ("Shown if User is LOGGED IN" et "NOT logged in"),
          a la suite du contenu existant, sans rien remplacer.
     Reversible : supprime ce bloc pour revenir en arriere.
     ============================================================================ -->
<script>
(function(){
  "use strict";
  if (window.__tdyBgGuard) return; window.__tdyBgGuard = true;
  var CSS =
    'html,body{background-color:#05090F !important;}' +
    '.am-layout,.am-common:not(.am-popup),.am-body,.am-body-content,' +
    '.am-row,[class*="am-col"],[class*="am-layout-two-col"],.am-widgets,' +
    '.am-header,.am-header-line,.am-header-content,.am-header-content-wrapper,' +
    '.am-body-content-wrapper,.am-main,.am-footer,.am-footer-content-wrapper,' +
    '.am-footer-content,#header,#footer{' +
    'background:transparent !important;background-color:transparent !important;' +
    'box-shadow:none !important;}' +
    'body.am-logged-in .am-body-content-content{' +
    'background:transparent !important;background-color:transparent !important;}';

  function injectStyle(){
    try{
      var h = document.documentElement;
      if (h) h.style.setProperty("background-color", "#05090F", "important");
      if (document.body) document.body.style.setProperty("background-color", "#05090F", "important");
      if (!document.getElementById("tdy-bg-guard-style")){
        var s = document.createElement("style");
        s.id = "tdy-bg-guard-style";
        s.textContent = CSS;
        (document.head || document.documentElement).appendChild(s);
      }
    }catch(e){}
  }

  // Balayage class-agnostique : neutralise les conteneurs au fond clair qui
  // englobent un bloc/carte, sans toucher aux composants (notices, champs...).
  function fixWrappers(){
    try{
      var scope = document.querySelector(".am-layout") || document.body;
      if (!scope) return;
      var nodes = scope.querySelectorAll("*");
      for (var i = 0; i < nodes.length; i++){
        var el = nodes[i];
        var cs = getComputedStyle(el);
        var m = cs.backgroundColor.match(/rgba?\(([^)]+)\)/);
        if (!m) continue;
        var p = m[1].split(",");
        var a = p[3] == null ? 1 : parseFloat(p[3]);
        if (a < 0.6) continue;
        var L = 0.2126*parseFloat(p[0]) + 0.7152*parseFloat(p[1]) + 0.0722*parseFloat(p[2]);
        if (isNaN(L) || L < 180) continue; // uniquement les fonds CLAIRS
        if (el.querySelector('[id^="am-block-"], .am-widget, .am-list')){
          el.style.setProperty("background", "transparent", "important");
          el.style.setProperty("background-color", "transparent", "important");
          el.style.setProperty("box-shadow", "none", "important");
        }
      }
    }catch(e){}
  }

  function run(){ injectStyle(); fixWrappers(); }
  injectStyle();
  if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", run);
  else run();
  setTimeout(fixWrappers, 900);
})();
</script>


<!-- ============================================================================
     TRADENTRY - Restructuration CHECKOUT (page /member/signup, etape 1/2)
     Transforme le formulaire d'achat aMember en 2 colonnes facon maquette :
       - gauche : cartes "Choose your account" (plans en grille par piste) +
                  "Payment method" + "Your details" + "Agreements"
       - droite : recap ORDER SUMMARY sticky (invoice aMember DEPLACE DANS le
                  formulaire) + bouton Next + reassurance
     100% additif : deplace des noeuds existants (les radios/inputs gardent
     leur name/value -> validation + soumission aMember intactes ; verifie
     en direct : radios OK, invoice AJAX OK, validation Next OK).
     A COLLER dans LES DEUX boites "Tracking/Widget Code" (LOGGED IN + NOT
     LOGGED IN), car la page signup est vue par les 2 (connecte = "Add/Renew",
     deconnecte = nouveau compte avec champs email/mot de passe en plus, qui
     tombent automatiquement dans la carte "Your details").
     Reversible : supprimer ce bloc.
     ============================================================================ -->
<script>
(function(){
  "use strict";
  function boot(){
    try{
      if(!document.body || document.body.className.indexOf("am-page-signup")===-1) return;
      if(document.querySelector(".tdy-checkout-main")) return;
      var signup=document.querySelector(".am-signup");
      var form=document.querySelector("form#page-0") || document.querySelector("form.am-signup-form");
      if(!signup || !form) return;
      var inv=document.querySelector(".invoice-summary");
      function el(t,c,h){ var e=document.createElement(t); if(c) e.className=c; if(h!=null) e.innerHTML=h; return e; }
      function grab(id){ return document.getElementById(id); }
      document.body.classList.add("tdy-checkout-on");

      /* ---- feuille de style (injectee au runtime -> invisible pour WP Rocket RUCSS) ---- */
      if(!document.getElementById("tdy-checkout-css")){
        var css=
        "body.tdy-checkout-on:not(#z) .am-signup{max-width:980px !important;margin:0 auto !important;}"+
        "body.tdy-checkout-on:not(#z) form#page-0,body.tdy-checkout-on:not(#z) form.am-signup-form{display:grid !important;grid-template-columns:minmax(0,1fr) 330px !important;gap:0 20px !important;align-items:start !important;max-width:none !important;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;overflow:visible !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;}"+
        "body.tdy-checkout-on:not(#z) form#page-0::before,body.tdy-checkout-on:not(#z) form.am-signup-form::before{display:none !important;}"+
        ".tdy-checkout-main{grid-column:1;min-width:0;}"+
        ".tdy-checkout-side{grid-column:2;position:sticky;top:16px;align-self:start;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card{position:relative;overflow:hidden;margin:0 0 18px;padding:18px 22px 20px;border-radius:12px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;}"+
        ".tdy-card-h{display:flex;align-items:center;gap:10px;margin:0 0 4px;}"+
        ".tdy-dot{width:7px;height:7px;border-radius:50%;background:#00E5F0;box-shadow:0 0 12px #00E5F0;flex:0 0 auto;}"+
        ".tdy-card-t{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:19px;color:#fff;}"+
        ".tdy-card-sub{color:#8A96B4;font-size:13px;margin:0 0 14px;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:not(#z){display:block !important;border-top:0 !important;padding:8px 0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card fieldset:not(#z){margin:0 !important;padding:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card fieldset legend:not(#z){padding:6px 0 10px !important;font-size:15px !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-element-title:not(#z){display:block !important;margin:0 0 7px !important;padding:0 !important;}"+
        ".tdy-track-h{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8A96B4;margin:6px 0 10px;}"+
        ".tdy-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 8px;}"+
        "body.tdy-checkout-on:not(#z) .tdy-plan-grid label:not(#z){display:block !important;grid-template-columns:none !important;min-height:0 !important;margin:0 !important;padding:14px 14px !important;position:relative !important;border-radius:12px !important;}"+
        ".tdy-plan-radio{position:absolute !important;top:13px !important;right:13px !important;margin:0 !important;}"+
        ".tdy-plan-size{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:22px;color:#fff;line-height:1;letter-spacing:-.01em;text-transform:uppercase !important;}"+
        ".tdy-plan-acc{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:9px;letter-spacing:.14em;color:#5A6486;margin:5px 0 14px;text-transform:uppercase;}"+
        ".tdy-plan-price{font-family:'Space Grotesk',ui-sans-serif,sans-serif;font-weight:700;font-size:21px;color:#F2F6FF;line-height:1;text-transform:none !important;}"+
        ".tdy-plan-price span{font-size:12px;color:#8A96B4;font-weight:500;letter-spacing:0;}"+
        ".tdy-plan-term{color:#5A6486;font-size:11px;margin-top:5px;font-family:'JetBrains Mono',ui-monospace,monospace;text-transform:none !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:has(input[type=checkbox]):not(#z){display:grid !important;grid-template-columns:26px minmax(0,1fr) !important;align-items:center !important;gap:12px !important;padding:14px 16px !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:has(input[type=checkbox]) .am-element:not(#z){grid-column:1 !important;grid-row:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-card .am-row:has(input[type=checkbox]) .am-element-title:not(#z){grid-column:2 !important;grid-row:1 !important;display:block !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) #row-address-0 > legend:not(#z){display:none !important;}"+
        "body.tdy-checkout-on:not(#z) #row-address-0 > .fieldset:not(#z){display:grid !important;grid-template-columns:1fr 1fr !important;gap:0 14px !important;}"+
        "body.tdy-checkout-on:not(#z) #row-address-0 > .fieldset > #row-street-0:not(#z){grid-column:1 / -1 !important;}"+
        "body.tdy-checkout-on:not(#z) #row-phone-0:not(#z){grid-column:1 / -1 !important;}"+
        /* State : aMember bascule select<->texte via [disabled] mais la Partie 2 force display:block -> les 2 s'affichaient. On masque celui qui est disabled (l'inactif). */
        "body.tdy-checkout-on:not(#z) #row-grp-state [disabled]{display:none !important;}"+
        "body.tdy-checkout-on:not(#z) #row-product_id_page-0-0 > .am-element-title:not(#z){display:none !important;}"+
        "body.tdy-checkout-on:not(#z) #fieldset-brick-1:not(#z){display:none !important;}"+
        ".tdy-side-card{padding:18px 20px;border-radius:14px;background:linear-gradient(180deg,rgba(15,24,48,.94),rgba(9,14,26,.97));border:1px solid #2A3A60;box-shadow:0 30px 70px -34px rgba(0,0,0,.94),0 0 0 1px rgba(0,229,240,.08) inset;}"+
        ".tdy-side-eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5A6486;margin:0 0 12px;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary:not(#z){background:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .invoice-summary:not(#z){background:transparent !important;border:0 !important;padding:0 !important;margin:0 !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-item-num:not(#z){display:none !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-row-total .am-invoice-summary-total:not(#z),body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-row-total .am-invoice-summary-price:not(#z),body.tdy-checkout-on:not(#z) .tdy-side-card .am-invoice-summary-row-total strong:not(#z){color:#00E5F0 !important;font-size:22px !important;}"+
        "body.tdy-checkout-on:not(#z) .tdy-side-card #row-buttons:not(#z){border-top:1px solid rgba(42,58,96,.6) !important;padding:16px 0 0 !important;margin-top:14px !important;}"+
        ".tdy-side-note{color:#5A6486;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.02em;margin:8px 0 0;text-align:right;}"+
        ".tdy-reassure{margin-top:14px;color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;line-height:2;}"+
        ".tdy-reassure div{display:flex;align-items:center;gap:8px;}"+
        ".tdy-reassure div::before{content:'';flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#3DDC84;box-shadow:0 0 8px rgba(61,220,132,.6);}"+
        ".tdy-steps{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 10px;}"+
        ".tdy-step{display:inline-flex;align-items:center;gap:7px;color:#8A96B4;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.03em;}"+
        ".tdy-step i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid #2A3A60;font-style:normal;font-size:11px;}"+
        ".tdy-step-on{color:#EAF1FF;}"+
        ".tdy-step-on i{background:linear-gradient(135deg,#00E5F0,#1FA8FF);color:#001028;border:0;}"+
        ".tdy-step-sep{width:40px;height:1px;background:#2A3A60;}"+
        "@media(max-width:820px){body.tdy-checkout-on:not(#z) form#page-0,body.tdy-checkout-on:not(#z) form.am-signup-form{grid-template-columns:1fr !important;}.tdy-checkout-side{grid-column:1 !important;position:static !important;margin:18px 0 0;}.tdy-plan-grid{grid-template-columns:1fr !important;}body.tdy-checkout-on:not(#z) #row-address-0 > .fieldset:not(#z){grid-template-columns:1fr !important;}}";
        var st=el("style"); st.id="tdy-checkout-css"; st.textContent=css; (document.head||document.documentElement).appendChild(st);
      }

      /* ---- indicateur d'etapes + titre ---- */
      var top=document.querySelector(".am-body-content-top"), h1=top?top.querySelector("h1"):null;
      if(top && h1 && !top.querySelector(".tdy-steps")){
        top.insertBefore(el("div","tdy-steps",'<span class="tdy-step tdy-step-on"><i>1</i> Plan &amp; details</span><span class="tdy-step-sep"></span><span class="tdy-step"><i>2</i> Payment</span>'), h1);
        h1.textContent="Start Your Evaluation";
      }

      /* ---- colonnes gauche/droite (DANS le formulaire -> soumission preservee) ---- */
      var main=el("div","tdy-checkout-main"), side=el("div","tdy-checkout-side");
      form.insertBefore(main, form.firstChild); form.insertBefore(side, main.nextSibling);
      function card(t,sub){ var c=el("div","tdy-card"); c.appendChild(el("div","tdy-card-h",'<span class="tdy-dot"></span><span class="tdy-card-t">'+t+'</span>')); if(sub) c.appendChild(el("div","tdy-card-sub",sub)); return c; }
      /* nom du moyen de paiement lu dans la page (chip aMember .am-paysystem-title,
         ex. "Confirmo") -> plus jamais de nom de PSP en dur dans la copie */
      var psName=((form.querySelector(".am-paysystem-title")||{}).textContent||"").trim();
      var cPlan=card("Choose your account","Select your evaluation size.");
      var cPay=card("Payment method",psName?("Secure payment via "+psName+"."):"Choose how you'd like to pay.");
      var cDet=card("Your details","Used for your account and invoice.");
      var cAgr=card("Agreements","Please read and accept both to continue.");
      main.appendChild(cPlan); main.appendChild(cPay); main.appendChild(cDet); main.appendChild(cAgr);

      var rowProd=grab("row-product_id_page-0-0");
      if(rowProd){ var ptl=rowProd.querySelector(".am-element-title"); if(ptl) ptl.style.setProperty("display","none","important"); cPlan.appendChild(rowProd); }
      if(grab("row-paysys_id")) cPay.appendChild(grab("row-paysys_id"));
      if(grab("row-coupon-0")) cPay.appendChild(grab("row-coupon-0"));
      /* details : d'abord les rangees connues (ordre lisible), puis TOUTE rangee restante
         non placee ailleurs (= champs supplementaires du signup deconnecte : email,
         nom d'utilisateur, mots de passe...) */
      /* ordre "Your details" : Nom -> identifiants (email/username/mot de passe, uniquement
         sur le signup DECONNECTE) -> Adresse -> Telephone -> tout reste non classe.
         Sur le signup CONNECTE il n'y a pas de champs identifiants -> ordre = nom/adresse/tel (inchange). */
      function tdyIsSkip(ch){ return ch===main || ch===side || ch.id==="row-buttons" || ch.tagName==="INPUT" || /agreement/.test(ch.id||"") || ch.id==="fieldset-brick-1"; }
      var detOrder=[];
      var rName=grab("row-name-0"); if(rName) detOrder.push(rName);
      [].slice.call(form.children).forEach(function(ch){
        if(tdyIsSkip(ch) || ch.id==="row-name-0" || ch.id==="row-address-0" || ch.id==="row-phone-0") return;
        if(ch.querySelector && ch.querySelector('input[type=email],input[name="email"],input[name="login"],input[type=password]')) detOrder.push(ch);
      });
      var rAddr=grab("row-address-0"); if(rAddr) detOrder.push(rAddr);
      var rPhone=grab("row-phone-0"); if(rPhone) detOrder.push(rPhone);
      [].slice.call(form.children).forEach(function(ch){
        if(tdyIsSkip(ch) || detOrder.indexOf(ch)>-1) return;
        if((ch.className&&String(ch.className).indexOf("am-row")>-1) || ch.tagName==="FIELDSET") detOrder.push(ch);
      });
      detOrder.forEach(function(r){ cDet.appendChild(r); });
      if(grab("fieldset-agreement")) cAgr.appendChild(grab("fieldset-agreement"));
      if(grab("fieldset-agreement-1")) cAgr.appendChild(grab("fieldset-agreement-1"));
      /* deja-membre qui a signe les accords une fois -> aMember ne renvoie plus les
         fieldsets d'accords -> la carte "Agreements" serait vide -> on la retire */
      if(!cAgr.querySelector("fieldset")){ if(cAgr.parentNode) cAgr.parentNode.removeChild(cAgr); }

      /* ---- carte recap sticky : invoice (deplacee) + note + Next (deplace) + reassurance ---- */
      if(inv) side.appendChild(inv);
      var btnRow=grab("row-buttons"); if(btnRow) side.appendChild(btnRow);
      side.appendChild(el("div","tdy-reassure",'<div>'+(psName?"Secure payment via "+psName:"Secure payment")+'</div><div>Encrypted checkout</div>'));
      var scard=el("div","tdy-side-card");
      scard.appendChild(el("div","tdy-side-eyebrow","ORDER SUMMARY"));
      [].slice.call(side.children).forEach(function(ch){ if(ch!==scard) scard.appendChild(ch); });
      side.appendChild(scard);

      /* ---- plans : grille 3 col groupee par piste (avec / sans frais), triee par taille ---- */
      var prodEl=rowProd?rowProd.querySelector(".am-element"):null;
      if(prodEl){
        var labels=[].slice.call(prodEl.querySelectorAll("label")).filter(function(l){ return l.querySelector(".am-product-title"); });
        var wF=[], nF=[];
        labels.forEach(function(l){ var t=l.querySelector(".am-product-title").textContent; (/no activation fee/i.test(t)?nF:wF).push(l); });
        var sz=function(l){ var m=l.querySelector(".am-product-title").textContent.match(/(\d+)\s*k/i); return m?+m[1]:999; };
        wF.sort(function(a,b){ return sz(a)-sz(b); }); nF.sort(function(a,b){ return sz(a)-sz(b); });
        function fmtPlan(l){
          l.classList.add("tdy-plan");
          var te=l.querySelector(".am-product-title"), tm=l.querySelector(".am-product-terms");
          var title=te?te.textContent:"", terms=tm?tm.textContent:"";
          var size=((title.match(/\$\s*\d+\s*k/i)||[""])[0]||"").replace(/\s+/g,"").toUpperCase();
          /* prix SANS AUCUN suffixe mensuel (modele one-time) :
             lu dans les terms aMember si dispo, sinon FALLBACK par piste+taille
             (les nouveaux produits one-time n'ont pas de montant dans leurs terms).
             >>> si les prix changent un jour, mettre a jour ce FALLBACK. */
          var FALLBACK={fee:{"$50K":"$59","$100K":"$99","$150K":"$149"},nofee:{"$50K":"$89","$100K":"$139","$150K":"$199"}};
          var track=/no activation fee/i.test(title)?"nofee":"fee";
          var price=((terms.match(/\$[\d,]+(?:\.\d+)?/)||[""])[0]||"").replace(/\.00$/,"")||(FALLBACK[track][size]||"");
          var priceHtml=price?('<div class="tdy-plan-price">'+price+'</div>'):'';
          l.querySelectorAll(".am-product-title,.am-product-terms,.am-product-desc").forEach(function(s){ s.style.display="none"; });
          var radio=l.querySelector("input[type=radio]");
          l.appendChild(el("div","tdy-plan-body",'<div class="tdy-plan-size">'+size+'</div><div class="tdy-plan-acc">ACCOUNT</div>'+priceHtml));
          if(radio){ radio.classList.add("tdy-plan-radio"); l.appendChild(radio); }
        }
        var gW=el("div","tdy-plan-grid"), gN=el("div","tdy-plan-grid");
        wF.forEach(function(l){ fmtPlan(l); gW.appendChild(l); });
        nF.forEach(function(l){ fmtPlan(l); gN.appendChild(l); });
        prodEl.innerHTML="";
        if(wF.length){ var hw=el("div","tdy-track-h"); hw.textContent="WITH ACTIVATION FEE"; prodEl.appendChild(hw); prodEl.appendChild(gW); }
        if(nF.length){ var hn=el("div","tdy-track-h"); hn.textContent="WITHOUT ACTIVATION FEE"; prodEl.appendChild(hn); prodEl.appendChild(gN); }
      }
    }catch(e){}
  }
  if(document.readyState!=="loading") boot(); else document.addEventListener("DOMContentLoaded", boot);
  setTimeout(boot, 700);
})();
</script>;
--am_login_legend_bg: #141414;
--am_link_color_a99: #4DD6E899;
--am_checkmark_background_image: url('/member/application/default/themes/black/public/img/checkmark.svg');

}
/* end: variables from theme configuration */

body, html {
    font-size: var(--am_font_size_px);
    background: none;
}

html {
    background: #000000;
}

body.am-page-login {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body.am-page-login .am-layout {
    flex: 1;
}
body.am-page-login .am-footer {
    height: auto;
}

.am-common {
    font-family: var(--am_font_family), san-serif;
    color: #9f9f9f;
}

.am-common legend {
    color: #9f9f9f;
}

.am-common a {
    color: var(--am_link_color);
    text-decoration-color: var(--am_link_color_a99);
}

.ajax-link, .local-link, .local {
    text-decoration-color: var(--am_link_color_a99);
}

.am-layout {
    min-height: initial;
    margin: 0;
    background: none;
}

.am-header {
    background: #141414;
}

.am-header .am-header-content-wrapper {
    border: none;
    background: none;
}

.am-header-line {
    border:none;
    background: none;
}

.am-header-menu-wrapper a,
ul.am-header-menu-narrow a,
ul.am-header-menu a {
    color: #898989;
}

ul.am-header-menu ul a {
    color: #898989;
}

ul.am-header-menu-narrow ul a {
    color: #898989;
}

ul.am-header-menu > li > a::after {
    background: #898989;
    opacity: .4;
}

ul.am-header-menu li ul {
    background: #353535;
}

.am-footer .am-footer-content-wrapper {
    background: none;
    color: inherit;
    height: auto;
}

.am-footer-content-content {
    padding: 1em 0;
}

.am-footer-text {
    text-align: center;
}

.am-footer .am-footer-content .am-footer-sm a {
    color: var(--am_sm_color);
    font-size: var(--am_sm_size_px);
}

.am-body {
    background: none;
}

.am-body .am-body-content-wrapper {
    border: none;
    box-shadow: none;
    border-radius: 0;
    background: none;
}

.am-body-content {
    min-height: 300px;
}

.am-header-content-wrapper {
    padding: 0;
}

.am-header-content-content {
    display: none;
}

.am-header .am-header-content .am-header-content-logo {
    float: none;
    margin: 0;
}

.am-header .am-header-content {
    text-align: var(--am_logo_align);
}

.am-main {
    max-width: var(--am_max_width_px);
}

.am-header-content img {
    width: var(--am_logo_width);
}

.am-footer-actions {
    display:none;
}

.am-footer .am-footer-content-wrapper {
    color: #9f9f9f;
    font-size:.8rem;
}

.am-info {
    background: #141414;
    border: 1px solid #222;
}

.am-user-identity-block {
    float: var(--am_identity_align);
}

.am-page-login .am-header {
    display: var(--am_login_header_display);
}

.am-page-login .am-auth-form legend {
    background: var(--am_login_legend_bg);
    padding-top: var(--am_login_legend_padding_top);
}

.am-page-login .am-auth-form div.am-row {
    background: #141414;
}

.am-auth-form form {
    border: none;
    overflow: hidden;
    box-shadow: 0px 0px 5px #eee;
    box-shadow: 0px 0px 5px #00000022;
}

.am-auth-form form legend {
    border: none;
    background: #f9f9f9;
    padding: 1em 1em 1.5em;
}

.am-auth-form div.am-row div.element,
.am-auth-form div.am-row div.am-element-title {
    padding-right: 2em;
    padding-left: 2em;
}

@media all and (min-width:500px) {

    .am-auth-form div.am-row div.am-element-title {
        padding-right: .5em;
    }
    .am-auth-form div.am-row div.am-element {
        padding-left: .5em;
    }
}

.am-popup {
    border-color: #000000;
}

.am-popup .am-popup-header {
    background: #000000;
    color: #9f9f9f;
}

.am-popup .am-popup-close-icon:after {
    color: #9f9f9f;
}

.am-fb-login-button-wrapper.am-fb-login-form-after:before,
.am-fb-login-button-wrapper.am-fb-login-form-before:after {
    background: var(--am_color);
}

.am-signup-link {
    color: #9f9f9f;
}

.am-login-layout-with-sidebar {
    max-width: 800px;
    margin: 2em auto 0;
}

.am-login-layout-with-sidebar .am-login-form-wrapper,
.am-login-layout-with-sidebar .am-sendpass-form-wrapper {
    margin-top: 0;
}

.am-signup-link {
    max-width: 450px;
    margin: 1em auto 0;
}

@media all and (min-width: 800px) {
    .am-login-layout-with-sidebar .am-login-layout-with-sidebar_form {
        float: left;
        width: 65%;
    }
    .am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
        display: block;
        width: 35%;
        float: right;
        padding-left: 20px;
        box-sizing: border-box;
    }
    .am-login-layout-with-sidebar .am-auth-form {
        margin: 0;
    }
    .am-login-layout-with-sidebar .am-signup-link {
        margin: 1em 0 0;
    }
}
.am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
    border-radius: 3px;
    padding: 1em 2em;
    max-width: 450px;
    box-sizing: border-box;
    box-shadow: 0px 0px 5px #00000022;
    background: #141414;
    color: #9f9f9f;
}
.am-login-layout-with-sidebar_clear {
    clear: both;
}

@media all and (max-width: 799px) {
    .am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
        margin: 2em auto 0;
    }
}

ul.am-tabs li.active,
ul.am-tabs li.normal:hover {
    background: var(--am_menu_color);
}

ul.am-tabs li.active > a,
ul.am-tabs li.normal > a:hover {
    border-color: var(--am_menu_color);
}

ul.am-tabs .has-children ul {
    background: #141414;
    border: 1px solid #222;
    box-shadow: 0 0 3px 0 rgba(0,0,0,0.3),0 2px 3px 0 rgba(0,0,0,0.26),0 1px 4px 0 rgba(0,0,0,0.4);
}

ul.am-tabs {
    background: #141414;
    border: 1px solid #222;
}
ul.am-tabs > li {
    background: #141414;
}

ul.am-tabs a {
    border-right: 1px solid #222;
    color: white;
}

@media all and (max-width:500px) {
    .am-account-toolbar .am-account-toolbar-items {
        background: #141414;
    }
}

.am-active-invoice {
    border: 1px solid #222;
}

.am-page-login-no-label .am-auth-form,
.am-page-login-no-label .am-signup-link {
    max-width:350px;
}

.am-page-login-no-label .am-auth-form div.am-row div.am-element-title {
    display: none;
}

.am-page-login-no-label .am-auth-form div.am-row div.am-element {
    margin:0;
    padding:.6em 2em;
}

.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit],
.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit]:active,
.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit]:hover,
.am-page-login-no-label .am-auth-form div.am-row div.am-element input[type=submit]:disabled {
    width: 100%;
}

.am-page-login-no-label .am-auth-form .am-form-login-switch-wrapper {
    text-align: center;
    display: block;
    padding: 1.2em 2em .6em;
}

.am-page-login-no-label .am-auth-form .am-form-login-switch-wrapper  .am-form-login-switch {
    margin:0;
}

@media all and (max-width: 799px) {
    .am-page-login-no-label .am-login-layout-with-sidebar .am-login-layout-with-sidebar_sidebar {
        max-width:350px;
        margin: 2em auto 0;
    }
}

.am-credits {
    color: white;
}

.am-form form {
    background:#141414;
    border-color: #222;
}

.am-form-container .am-form-sidebar-sidebar {
    background:#141414;
    border: 1px solid #222;
    box-shadow: none;
}

.am-form fieldset legend {
    background: none;
    border-bottom: 1px solid #353535;
}

.am-body-content input,
.am-body-content textarea,
.am-body-content select,
.am-body-content button,
.am-popup input,
.am-popup textarea,
.am-popup select,
.am-popup button {
    font-family: var(--am_font_family), san-serif;
}

.am-body-content a.button,
.am-body-content button,
.am-body-content input[type="button"],
.am-body-content input[type="submit"],
.am-popup a.button,
.am-popup button,
.am-popup input[type="button"],
.am-popup input[type="submit"],
.am-body-content a.button:hover,
.am-body-content button:hover,
.am-body-content input[type="button"]:hover,
.am-body-content input[type="submit"]:hover,
.am-popup a.button:hover,
.am-popup button:hover,
.am-popup input[type="button"]:hover,
.am-popup input[type="submit"]:hover {
    color: white;
    background: var(--am_btn_color);
    border-radius: 50px;
    border-color: var(--am_btn_color);
}

.upload-control .upload-control-upload.upload-control-upload-single {
    border-radius: 50px;
    color: white;
    background: var(--am_btn_color);
    border: none;
    text-shadow: none;
}

.input-file,
.input-file.hover {
    border: none;
    border-radius: 3px;
    background: #353535;
}

.input-file .input-file-button,
.input-file.hover .input-file-button {
    border-radius: 0 3px 3px 0;
    color: white;
    background: var(--am_btn_color);
    border: none;
    text-shadow: none;
}

.am-cta-signup {
    font-size: 1.2rem;
    padding: 0.5em 2.5em;
}

.am-pass-indicator-bar {
    background: #9f9f9f;
}

.am-form input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 .2em 0 0;
    width: 1em;
    height: 1em;
    border: 1px solid #353535;
    background-color: #141414;
    outline: 0;
    font-size: inherit;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 50%;
    vertical-align: middle;
    box-sizing: border-box;
}
.am-form input[type=radio]:checked {
    border-color: var(--am_btn_color);
    border-width: .3em;
    background-color: #fff;
}

.am-form input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 .2em 0 0;
    width: 1em;
    height: 1em;
    border: 1px solid #353535;
    background-color: #141414;
    outline: 0;
    font-size: inherit;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 3px;
    vertical-align: middle;
    box-sizing: border-box;
}
.am-form input[type=checkbox]:checked {
    background-color: var(--am_btn_color);
    border-color: var(--am_btn_color);
    background-image: var(--am_checkmark_background_image);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.am-body-content select,
.am-body-content textarea,
.am-body-content input[type="text"],
.am-body-content input[type="password"],
.am-popup select,
.am-popup textarea,
.am-popup input[type="text"],
.am-popup input[type="password"] {
    color: #b9b9b9;
    border: none;
    background-color: #353535;
}

.am-body-content select,
.am-popup select {
    height: auto;
}

.am-body-content textarea::placeholder,
.am-body-content input[type="text"]::placeholder,
.am-body-content input[type="password"]::placeholder,
.am-popup textarea::placeholder,
.am-popup input[type="text"]::placeholder,
.am-popup input[type="password"]::placeholder {
    opacity: .25;
}

.am-body-content textarea:focus,
.am-body-content input[type="text"]:focus,
.am-body-content input[type="password"]:focus,
.am-body-content select:focus,
.am-popup textarea:focus,
.am-popup input[type="text"]:focus,
.am-popup input[type="password"]:focus,
.am-popup select:focus {
    box-shadow: 0 0 4px #000 !important;
    border: none;
    background-color: #353535;
}

.am-popup {
    background-color:#141414;
}

.am-popup .am-form form {
    background: none;
}

.am-block {
    background:#141414;
    border-color: #222;
    box-shadow: none;
}

.am-layout-two-coll .am-layout-two-coll-top,
.am-layout-two-coll .am-layout-two-coll-bottom {
    display:none;
}

.am-layout-two-coll {
    background: none;
    box-shadow: none;
    border: none;
    overflow: hidden;
    margin-top:2em;
}

.am-layout-two-coll .am-coll-left .am-coll-content,
.am-layout-two-coll .am-coll-right .am-coll-content  {
    margin: 0;
}

@media all and (min-width:750px) {
    .am-layout-two-coll .am-coll-left .am-coll-content {
        margin: 0 1em 0 0;
    }

    .am-layout-two-coll .am-coll-right .am-coll-content {
        margin: 0 0 0 1em;
    }
}

.am-grid-container {
    box-shadow: none;
    border: 1px solid #222;
}
.am-grid th,
.am-grid th:last-child {
    background: #141414;
    border: none;
}

.am-grid th,
.am-grid th a {
    color: #555960;
}

.am-grid th a.sorted-asc,
.am-grid th a.sorted-desc {
    color: #555960;
}

.am-grid tr.am-grid-row > td {
    background: #222;
}
.am-grid tr.am-grid-row.odd td {
    background-color: #1d1d1d;
}

.am-filter-wrap {
    border: 1px solid #222;
    background: #1d1d1d;
    color: #9f9f9f;
}

.am-filter-wrap form.filter input,
.am-filter-wrap form.filter select,
.am-filter-wrap form.filter .select2-container--default .select2-selection--single {
    background-color: #353535;
}

.am-filter-wrap .filter-button input.gridFilterButton {
    border: none;
}

.am-filter-wrap form.filter input[type="text"] {
    background-color: #353535;
}

.am-filter-wrap .filter-button input[type="submit"]:hover,
.am-filter-wrap .filter-button input[type="submit"]:active {
    background-color: #141414;
}

.am-input-filter-wrapper {
    border: 1px solid #222;
}
.am-input-filter-wrapper.am-input-filter-wrapper_focus {
    box-shadow: 0 0 4px #00000022;
    background: #222;
}
.am-input-filter-wrapper .am-input-filter-inner-wrapper {
    background-color: transparent;
}

.am-input-filter-wrapper input[type=text].am-input-filter:focus {
    box-shadow: none!important;
    background-color: transparent;
    color:white;
}

.am-tabs-narrow-dashboard::before,
.am-tabs-narrow-switch::before,
.am-lang-choice .am-lang-val-code {
    color: #9f9f9f;
}

div.am-errors ul, ul.am-error, ul.am-errors {
    background: none;
    border: none;
    border-radius: 0;
}

.am-receipt {
    box-shadow: none;
    border: 1px solid #222;
    background: #141414;
}
.am-receipt td {
    background: none;
    border: none;
}
.am-receipt td.am-receipt-total {
    background: none;
}

.am-invoice-summary .am-invoice-summary-item {
    border-bottom: 1px solid #222;
}

.am-body-content input[type="button"]:disabled,
.am-body-content input[type="submit"]:disabled,
.am-body-content button:disabled,
.am-body-content button:disabled:hover,
.am-popup input[type="button"]:disabled,
.am-popup input[type="submit"]:disabled,
.am-popup button:disabled,
.am-popup button:disabled:hover {
    border: none;
    color: #40494f;
    background: #202b33;
}

.am-flash-content-lock {
    background-color: #7c7c7c;
    color: black;
    border: none;
}
.am-flash-mask {
    background: #222;
}

.am-form .StripeElement {
    box-sizing: border-box;
    padding: .5em .75em;
    border: none;
    border-radius: 3px;
    background-color: #d7d7d7;
}

.am-form .StripeElement--focus {
    background-color: #d7d7d7;
    box-shadow: 0 0 4px #000 !important;
}

.am-invoice-summary .am-invoice-summary-item-num {
    color: #9f9f9f;
}

.am-invoice-summary {
    box-shadow: none;
    background: #141414;
    border: 1px solid #222;
}

.am-common hr,
.am-invoice-summary tr.am-invoice-summary-delimeter hr {
    background: #222;
}

.am-block-nodata {
    background: #141414;
}

/* Helpdesk */

.am-helpdesk-message.am-helpdesk-message-outbound {
    background: none;
}
.am-helpdesk-message {
    box-shadow: none;
    border: #222 1px solid;
}
.am-helpdesk-ticket-actions-container {
    border: #222 1px solid;
}
.am-helpdesk-reply-panel {
    background: #222;
}
.am-helpdesk-ticket-action.am-helpdesk-action-active {
    background-color: #222;
}
.am-helpdesk-reply-panel-content .am-form div.am-row.am-no-label .am-element textarea:focus {
    background: #353535;
    box-shadow: none !important;
}

.am-helpdesk-message.am-helpdesk-message-inbound {
    background: #141414;
}

.am-helpdesk-message-action.am-helpdesk-action-active {
    background: #222;
}

/* Affiliate */
.am-aff-banner-preview {
    box-shadow: none;
    background: #141414;
    border: 1px solid #222;
}
.am-copy-to-clipboard-highlight {
    background: #353535;
}

.am-aff-banner-preview-info textarea,
.am-aff-banner-preview-info textarea:focus {
    border-radius: 0;
    box-shadow: none;
    background: #353535;
    color: white;
}

/* Shopping Cart */

.am-cart .am-cart-product .am-cart-product-content-details .am-cart-product-content-desc .am-cart-product-content-desc-img-wrapper {
    background: #1f1f1f;
}

.am-cart .am-cart-product .am-cart-product-content-terms {
    font-weight: normal;
}

.am-cart .am-cart-product.am-cart-product-brief,
.am-cart .am-cart-product.am-cart-product-brief:hover {
    box-shadow: none!important;
    border: solid 1px #222;
    background: #141414;
}
.am-cart .am-cart-product .am-cart-product-content-add-container {
    background: #1f1f1f;
}

.am-cart .am-cart-product .am-cart-product-content-buttons input,
.am-cart .am-cart-product .am-cart-product-content-buttons input:hover,
.am-cart .am-cart-product .am-cart-product-content-buttons input:active {
    font-size: 1rem;
    border-radius: 3px;
    padding: 0.4em 0.5em;
}

#cart-basket {
    background-color: #141414;
    border-color: #222;
}

.am-basket .am-basket-img {
    border: 1px solid #9f9f9f;
}

.am-basket-preview-item {
    color: inherit;
}
.am-common .am-basket-preview-item-remove a {
    color: inherit;
}

.am-basket .am-basket-row-head {
    border-bottom: 2px solid #222;
}

.am-basket .am-basket-row {
    border-bottom: 1px solid #222;
}

.am-cart-qty-el {
    border: 1px solid var(--am_btn_color);
}

.am-body-content .am-cart-qty-el input[type="text"].am-cart-qty-el-val:focus {
    box-shadow: none !important;
}

.am-cart-checkout .am-cart-checkout-paysys {
    border-top: #222 solid 1px;
}

.am-cart-checkout .am-cart-checkout-paysys .am-cart-checkout-paysys-item {
    border-bottom: #222 solid 1px;
}

.am-cart-checkout .am-cart-checkout-c {
    border-bottom: #222 solid 1px;
}

.am-cart-checkout .am-cart-checkout-paysys div.active {
    background-color: #141414;
    border-left: #222 solid 1px;
    border-right: #222 solid 1px;
}

.am-cart-checkout .am-cart-checkout-paysys div:hover {
    background-color: #141414;
}

/* Self Service */

.am-ss-product:hover {
    box-shadow: none;
    border: solid 1px #222;
}

.am-ss-product {
    box-shadow: none;
    border: solid 1px #222;
    background: #141414;
}

.am-ss-product-add-container {
    background: #1f1f1f;
}

#EmailCode {
    color: black;
}