/* ══════════════════════════════════════
   Traderfx — Customer area (My Account + tickets)
══════════════════════════════════════ */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after{display:none!important}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:960px;margin:0 auto}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}

.tfx-acc-nav{position:sticky;top:calc(var(--aria-nav-height) + 24px);background:var(--dark2);border:1px solid var(--white-faint);border-radius:var(--aria-card-radius);padding:14px}
.tfx-acc-user{display:flex;gap:12px;align-items:center;padding:8px 8px 16px;margin-bottom:8px;border-bottom:1px solid var(--white-faint)}
.tfx-acc-user strong{display:block;font-size:14px}
.tfx-acc-user small{display:block;font-size:11px;color:var(--white-dim);word-break:break-all}
.tfx-acc-avatar{width:42px;height:42px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;font-weight:900;color:var(--dark);background:linear-gradient(135deg,var(--gold-light),var(--gold))}
.tfx-acc-nav ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.tfx-acc-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;font-size:13.5px;color:var(--white-dim);text-decoration:none;transition:.2s}
.tfx-acc-nav a svg{width:18px;height:18px;opacity:.7}
.tfx-acc-nav a:hover{background:var(--dark3);color:var(--white)}
.tfx-acc-nav .is-active a{background:rgba(var(--gold-rgb),.1);color:var(--gold);font-weight:700}
.tfx-acc-nav .is-active a svg{opacity:1}
.tfx-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a{color:rgba(var(--white-rgb),.4)}

.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content>h2,.woocommerce-MyAccount-content .tfx-acc-toolbar h2{font-size:24px;font-weight:900;letter-spacing:-.6px}

/* dashboard */
.tfx-dash-hello{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.tfx-dash-hello .s-label{margin-bottom:6px}
.tfx-dash-hello h2{font-size:clamp(24px,3vw,32px);font-weight:900;letter-spacing:-1px}
.tfx-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.tfx-stat{background:var(--dark2);border:1px solid var(--white-faint);border-radius:var(--aria-card-radius);padding:18px 20px}
.tfx-stat small{display:block;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--white-dim)}
.tfx-stat strong{display:block;font-size:30px;font-weight:900;letter-spacing:-1px;color:var(--gold);margin-top:4px}
.tfx-stat strong.is-green{color:var(--green)}
.tfx-dash-grid{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.tfx-dash-main,.tfx-dash-side{display:flex;flex-direction:column;gap:18px}
.tfx-panel{background:var(--dark2);border:1px solid var(--white-faint);border-radius:var(--aria-card-radius);padding:22px}
.tfx-panel h3{font-size:15px;font-weight:800}
.tfx-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.tfx-panel-head a{font-size:12px;color:var(--gold);text-decoration:none}

.tfx-vip-card{border-radius:calc(var(--aria-card-radius) + 4px);padding:26px;background:radial-gradient(ellipse at 100% 0%,rgba(var(--gold-rgb),.2),transparent 60%),linear-gradient(160deg,var(--dark4),var(--dark2));border:1px solid rgba(var(--gold-rgb),.35);margin-bottom:22px}
.tfx-dash-main .tfx-vip-card{margin:0}
.tfx-vip-card.is-expired{border-color:var(--white-faint);background:var(--dark2)}
.tfx-vip-card.is-promo h3{font-size:20px;font-weight:900;margin:4px 0 8px}
.tfx-vip-card.is-promo .btn-primary{margin-top:16px}
.tfx-vip-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tfx-vip-label{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}
.tfx-vip-top h3{font-size:20px;font-weight:900;letter-spacing:-.5px}
.tfx-vip-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.tfx-vip-grid div{padding:14px 16px;border-radius:12px;background:rgba(var(--dark-rgb),.5);border:1px solid var(--white-faint)}
.tfx-vip-grid small{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--white-dim)}
.tfx-vip-grid strong{font-size:20px;font-weight:900}
.tfx-vip-join{width:100%;justify-content:center;text-decoration:none}
.tfx-vip-join svg{width:18px;height:18px}
.tfx-vip-card .tfx-muted{margin-top:10px;font-size:12px}

.tfx-dl-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.tfx-dl-list li{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;background:var(--dark3)}
.tfx-dl-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(var(--gold-rgb),.1);color:var(--gold);flex-shrink:0}
.tfx-dl-icon svg{width:20px;height:20px}
.tfx-dl-name{flex:1;min-width:0}
.tfx-dl-name strong{display:block;font-size:14px}
.tfx-dl-name small{font-size:11px;color:var(--white-dim)}
.tfx-dl-list .plan-cta,.tfx-panel .plan-cta{width:auto;margin:0;padding:9px 16px;text-decoration:none;font-size:12px;display:inline-block;text-align:center}
.tfx-order-list{display:flex;flex-direction:column}
.tfx-order-row{display:grid;grid-template-columns:70px 1fr auto 100px;gap:12px;align-items:center;padding:12px 4px;border-top:1px solid var(--white-faint);font-size:13px;color:var(--white-dim);text-decoration:none}
.tfx-order-row:hover{color:var(--white)}
.tfx-order-row strong{text-align:right;color:var(--white)}
.tfx-mini-ticket{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--white-faint);text-decoration:none;color:var(--white);font-size:13px}
.tfx-mini-ticket .tfx-status{align-self:flex-start}
.tfx-side-link{display:block;padding:10px 0;border-top:1px solid var(--white-faint);font-size:13px;color:var(--white-dim);text-decoration:none;margin-top:8px}
.tfx-side-link:hover{color:var(--gold)}
@media(max-width:1100px){.tfx-dash-grid{grid-template-columns:1fr}}
@media(max-width:700px){.tfx-stat-grid{grid-template-columns:1fr 1fr}.tfx-order-row{grid-template-columns:1fr auto}.tfx-order-row span:nth-child(2){display:none}}

/* tickets */
.tfx-acc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.tfx-acc-toolbar .btn-primary{text-decoration:none}
.tfx-ticket-list{display:flex;flex-direction:column;gap:8px}
.tfx-ticket-row{display:grid;grid-template-columns:64px 1fr auto 90px;gap:14px;align-items:center;padding:16px 18px;border-radius:12px;background:var(--dark2);border:1px solid var(--white-faint);text-decoration:none;color:var(--white);transition:border-color .2s}
.tfx-ticket-row:hover{border-color:rgba(var(--gold-rgb),.35)}
.tfx-ticket-id{font-size:12px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}
.tfx-ticket-title strong{display:block;font-size:14px}
.tfx-ticket-title small{font-size:11px;color:var(--white-dim)}
.tfx-ticket-row time{font-size:11px;color:rgba(var(--white-rgb),.4);text-align:right}
@media(max-width:640px){.tfx-ticket-row{grid-template-columns:1fr auto}.tfx-ticket-row .tfx-ticket-id,.tfx-ticket-row time{display:none}}

.tfx-back{display:inline-block;font-size:12px;color:var(--white-dim);text-decoration:none;margin-bottom:16px}
.tfx-back:hover{color:var(--gold)}
.tfx-ticket-new h2{font-size:24px;font-weight:900;letter-spacing:-.6px}
.tfx-grid-form{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-top:22px;background:var(--dark2);border:1px solid var(--white-faint);border-radius:var(--aria-card-radius);padding:24px}
.tfx-grid-form p{margin-bottom:12px}
.tfx-grid-form .is-full{grid-column:1/-1}
@media(max-width:640px){.tfx-grid-form{grid-template-columns:1fr}}

.tfx-ticket-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--white-faint)}
.tfx-ticket-head h2{font-size:22px;font-weight:900;letter-spacing:-.5px;margin:2px 0 4px}
.tfx-ticket-meta{font-size:12px;color:var(--white-dim)}
.tfx-thread{display:flex;flex-direction:column;gap:14px;padding:24px 0}
.tfx-msg{max-width:82%;padding:14px 18px;border-radius:16px;font-size:14px;line-height:1.7}
.tfx-msg.is-me{align-self:flex-end;background:rgba(var(--gold-rgb),.1);border:1px solid rgba(var(--gold-rgb),.25);border-bottom-right-radius:4px}
.tfx-msg.is-staff{align-self:flex-start;background:var(--dark3);border:1px solid var(--white-faint);border-bottom-left-radius:4px}
.tfx-msg-head{display:flex;justify-content:space-between;gap:16px;font-size:11px;margin-bottom:6px;color:var(--white-dim)}
.tfx-msg.is-staff .tfx-msg-head strong{color:var(--green)}
.tfx-msg.is-me .tfx-msg-head strong{color:var(--gold)}
.tfx-msg-body p+p{margin-top:.6em}
.tfx-ticket-form{background:var(--dark2);border:1px solid var(--white-faint);border-radius:var(--aria-card-radius);padding:20px}
.tfx-form-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

/* Woo core account tables & forms */
.woocommerce-MyAccount-content .woocommerce-orders-table .button,.woocommerce-MyAccount-content .woocommerce-table--order-downloads .button{padding:8px 14px!important;font-size:12px!important}
.woocommerce-MyAccount-content fieldset{border:1px solid var(--white-faint);border-radius:12px;padding:16px;margin:20px 0}
.woocommerce-MyAccount-content legend{padding:0 8px;color:var(--gold);font-weight:700}

/* login / register */
.woocommerce-account:not(.logged-in) .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.woocommerce-account:not(.logged-in) .u-column1,.woocommerce-account:not(.logged-in) .u-column2{float:none!important;width:auto!important}
.woocommerce form.login,.woocommerce form.register{background:var(--dark2);border:1px solid var(--white-faint)!important;border-radius:var(--aria-card-radius)!important;padding:28px!important;margin:0!important}
@media(max-width:860px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .tfx-acc-nav{position:static}
  .tfx-acc-nav ul{flex-direction:row;overflow-x:auto;gap:6px;scrollbar-width:none}
  .tfx-acc-nav a{white-space:nowrap}
  .woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:1fr}
}
.woocommerce-account:not(.logged-in) .u-columns{align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce h2{font-size:22px;font-weight:900;margin-bottom:12px}
.woocommerce form.register p:not(.form-row){font-size:13px;color:var(--white-dim)}

/* ── responsive fix: grid tracks must be allowed to shrink ── */
.woocommerce-account .woocommerce{grid-template-columns:260px minmax(0,1fr)}
.woocommerce-account .woocommerce>*{min-width:0}
.tfx-dash-grid{grid-template-columns:minmax(0,1fr) 300px}
.tfx-dash-main,.tfx-dash-side,.tfx-panel,.tfx-vip-card{min-width:0}
@media(max-width:1100px){.tfx-dash-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:860px){
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
  .tfx-acc-nav ul{max-width:100%}
}
@media(max-width:560px){
  .tfx-dash-hello{align-items:flex-start}
  .tfx-dash-hello .btn-secondary{width:100%;justify-content:center}
  .tfx-stat{padding:14px 16px}
  .tfx-stat strong{font-size:24px}
  .tfx-vip-grid{grid-template-columns:1fr 1fr;gap:8px}
  .tfx-vip-card{padding:20px}
  .tfx-panel{padding:18px}
  .tfx-dl-list li{flex-wrap:wrap}
  .tfx-dl-list .plan-cta{width:100%}
  .tfx-msg{max-width:100%}
  .tfx-ticket-head{flex-direction:column}
  .woocommerce-MyAccount-content table.shop_table_responsive tr td{text-align:left!important}
}
@media(max-width:860px){
  .tfx-acc-nav ul{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;overflow:visible!important}
  .tfx-acc-nav a{white-space:normal!important;padding:10px;font-size:12.5px;background:var(--dark3)}
}
.tfx-ticket-form .tfx-turnstile,.tfx-grid-form .tfx-turnstile{margin:6px 0 12px}

/* ══════════ Auth card (login / register tabs) ══════════ */
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:480px;margin:0 auto}
.tfx-auth{position:relative;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(var(--gold-rgb),.12),transparent 70%),var(--dark2);border:1px solid rgba(var(--gold-rgb),.2);border-radius:22px;padding:34px 34px 26px;box-shadow:0 40px 100px -40px rgba(0,0,0,.8)}
.tfx-auth-head{text-align:center;margin-bottom:22px}
.tfx-auth-logo{display:inline-block;font-size:15px;font-weight:900;letter-spacing:-.5px;color:var(--gold);margin-bottom:14px}
.tfx-auth-title{font-size:26px;font-weight:900;letter-spacing:-.8px;line-height:1.2;margin:0 0 6px}
.tfx-auth-sub{font-size:13px;color:var(--white-dim);margin:0}

.tfx-auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:24px;background:var(--dark);border:1px solid var(--white-faint);border-radius:12px}
.tfx-auth-tabs button{position:relative;z-index:1;background:none;border:0;padding:11px 0;font:inherit;font-size:14px;font-weight:700;color:var(--white-dim);cursor:pointer;transition:color .25s}
.tfx-auth-tabs button[aria-selected="true"]{color:var(--dark)}
.tfx-auth-tabs-ink{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:9px;background:linear-gradient(135deg,var(--gold-light),var(--gold));transition:transform .3s cubic-bezier(.4,0,.2,1)}
.tfx-auth[data-tab="register"] .tfx-auth-tabs-ink{transform:translateX(100%)}

/* Both panels share one cell → card height stays fixed, no jump when switching */
.tfx-auth-panels{display:grid}
.tfx-auth-panel{grid-area:1/1;transition:opacity .25s ease,transform .25s ease}
.tfx-auth[data-tab="login"] .tfx-auth-panel[data-panel="register"],
.tfx-auth[data-tab="register"] .tfx-auth-panel[data-panel="login"]{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px)}

.tfx-auth form.login,.tfx-auth form.register{background:none!important;border:0!important;padding:0!important;margin:0!important;border-radius:0!important}
.tfx-auth .form-row{margin:0 0 16px!important;padding:0!important}
.tfx-auth label{font-size:12px!important;font-weight:600;color:var(--white-dim)!important;margin-bottom:7px!important;display:block}
.tfx-auth input.input-text{height:50px;font-size:15px!important}
.tfx-label-row{display:flex;justify-content:space-between;align-items:baseline}
.tfx-forgot{font-size:12px;color:var(--gold-light);text-decoration:none}
.tfx-forgot:hover{text-decoration:underline}
.tfx-check{display:flex!important;align-items:center;gap:8px;margin:2px 0 18px!important;font-size:13px!important;cursor:pointer}
.tfx-check input{accent-color:var(--gold);width:16px;height:16px}
.tfx-auth-submit{width:100%;justify-content:center;height:52px;font-size:15px!important}
.tfx-auth-note{font-size:13px;color:var(--white-dim);margin:0 0 14px}
.tfx-auth .woocommerce-privacy-policy-text p{font-size:11.5px;color:rgba(var(--white-rgb),.4);margin:0 0 14px}
.tfx-auth-switch{text-align:center;font-size:13px;color:var(--white-dim);margin:18px 0 0}
.tfx-auth-switch button{background:none;border:0;padding:0;font:inherit;color:var(--gold-light);font-weight:700;cursor:pointer}
.tfx-auth-switch button:hover{text-decoration:underline}

/* reserved space: Turnstile + Telegram never push content while loading */
.tfx-auth .tfx-turnstile{min-height:65px;margin:4px 0 14px!important;border-radius:10px;background:rgba(var(--white-rgb),.03)}
.tfx-auth .tfx-turnstile:has(iframe){background:none}
.tfx-auth .tfx-tg-login{min-height:96px}
.tfx-auth .tfx-or{margin:18px 0 12px}

.tfx-auth-perks{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin:24px 0 0;padding:18px 0 0;border-top:1px solid var(--white-faint);font-size:11.5px;color:var(--white-dim)}
.tfx-auth-perks li::before{content:"✓";color:var(--green);margin-right:6px;font-weight:800}

@media(max-width:520px){
  .tfx-auth{padding:26px 18px 20px;border-radius:18px}
  .tfx-auth-title{font-size:22px}
  .tfx-auth-perks{flex-direction:column;align-items:flex-start;padding-left:4px}
}
@media(prefers-reduced-motion:reduce){.tfx-auth-panel,.tfx-auth-tabs-ink{transition:none}}

/* ══════════ Password reset (3 steps) ══════════ */
.woocommerce-account .woocommerce:has(.tfx-auth-reset){display:block;max-width:480px;margin:0 auto}
.tfx-auth-reset form{background:none!important;border:0!important;padding:0!important;margin:0!important}
.tfx-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 26px;padding:0;counter-reset:s;position:relative}
.tfx-steps li{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;font-size:11.5px;color:rgba(var(--white-rgb),.4)}
.tfx-steps li+li::before{content:"";position:absolute;top:15px;right:50%;width:100%;height:2px;background:var(--white-faint);z-index:0}
.tfx-steps li.is-done+li::before,.tfx-steps li.is-done::before{background:linear-gradient(90deg,var(--gold),var(--gold-light))}
.tfx-step-dot{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--dark);border:2px solid var(--white-faint);color:rgba(var(--white-rgb),.45)}
.tfx-steps li.is-current .tfx-step-dot{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px rgba(var(--gold-rgb),.12)}
.tfx-steps li.is-done .tfx-step-dot{background:linear-gradient(135deg,var(--gold-light),var(--gold));border-color:transparent;color:var(--dark)}
.tfx-steps li.is-current .tfx-step-label{color:var(--white);font-weight:700}
.tfx-steps li.is-done .tfx-step-label{color:var(--gold-light)}
.tfx-mail-sent{width:76px;height:76px;margin:4px auto 20px;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:rgba(var(--gold-rgb),.1);border:1px solid rgba(var(--gold-rgb),.3)}
.tfx-mail-sent svg{width:34px;height:34px}
.tfx-reset-tips{list-style:none;margin:0 0 22px;padding:16px 18px;border-radius:12px;background:var(--dark);border:1px solid var(--white-faint);display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--white-dim)}
.tfx-reset-tips li::before{content:"•";color:var(--gold);margin-right:8px}
.tfx-auth a.tfx-auth-submit{display:flex;align-items:center;text-decoration:none}
.tfx-auth-switch a{color:var(--gold-light);font-weight:700;text-decoration:none}
.tfx-auth-switch a:hover{text-decoration:underline}
.tfx-auth-help{text-align:center;font-size:12px;color:rgba(var(--white-rgb),.4);margin:10px 0 0}
.tfx-auth-help a{color:var(--white-dim)}
.woocommerce-account .woocommerce:has(.tfx-auth-reset) > .woocommerce-notices-wrapper{max-width:480px;margin:0 auto 14px}

/* Chrome autofill: keep dark fields (no white/blue flash) */
.tfx-page input:-webkit-autofill,.tfx-page input:-webkit-autofill:hover,.tfx-page input:-webkit-autofill:focus,
.woocommerce input.input-text:-webkit-autofill{
  -webkit-text-fill-color:var(--white)!important;
  -webkit-box-shadow:0 0 0 1000px var(--dark3) inset!important;
  box-shadow:0 0 0 1000px var(--dark3) inset!important;
  caret-color:var(--white);transition:background-color 9999s ease-out 0s}
