.setup-card{margin:0 0 24px;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#10253a,#0b1929)}
.setup-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.setup-heading .eyebrow{font-size:.72rem;margin-bottom:10px}.setup-heading h2{margin:0;font:800 1.8rem "Manrope";letter-spacing:-.04em}.setup-heading p,.setup-panel p{color:var(--muted);line-height:1.65}
.setup-plan{margin:22px 0;max-width:500px}.setup-plan select{width:100%;min-height:50px;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#071421;font:inherit}
.setup-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:22px 0}.setup-nav button{padding:15px 10px;text-align:left;color:var(--muted);background:#071421;border:1px solid var(--line);border-radius:12px;font-weight:800}.setup-nav span{display:block;margin-top:9px;font-size:.83rem}.setup-nav button[aria-current]{border-color:var(--accent);color:var(--accent);background:rgba(44,226,199,.07)}
.setup-panel{padding:24px;border:1px solid var(--line);border-radius:16px;background:#091726;min-height:290px}.setup-panel h3{font:800 1.25rem "Manrope";margin:0 0 12px}.setup-panel h4{margin-bottom:8px}.setup-options{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.setup-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.setup-fields input{opacity:.7}.setup-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.setup-actions button:disabled{opacity:.4;cursor:default}.setup-panel ul{padding-left:20px;color:var(--muted);line-height:1.8}.setup-amount{font:800 2rem "Manrope";color:var(--accent);margin:18px 0}.setup-small{font-size:.85rem}.setup-help{color:var(--amber)!important}
@media(max-width:620px){.setup-card{padding:16px}.setup-heading{align-items:flex-start;flex-direction:column}.setup-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-nav button:last-child{grid-column:1/-1}.setup-panel{padding:16px}.setup-fields{grid-template-columns:1fr}.setup-actions button{font-size:.82rem;padding:10px;min-height:48px}}
[hidden]{display:none!important}.referral-box{padding:20px;border:1px solid var(--line);border-radius:14px;margin:20px 0}.referral-copy{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.referral-copy code{color:var(--accent);font-size:1rem;user-select:all}.setup-confirm{display:flex;align-items:flex-start;gap:12px;margin:24px 0 0;color:var(--muted);line-height:1.6}.setup-confirm input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--accent)}.setup-panel button:disabled{opacity:.45;cursor:not-allowed}.setup-actions{justify-content:flex-end}
#mt5-details{padding:22px 0 0}#mt5-details .setup-fields input{opacity:1}.password-toggle{align-self:flex-start;margin-top:8px;padding:8px 12px;font-size:.8rem}
.broker-guide{margin:18px 0 6px;padding:20px;border:1px solid var(--line);border-radius:14px;background:rgba(13,29,48,.5)}.broker-guide h4{margin:0 0 8px;font:800 1rem "Manrope"}.broker-guide p{margin:0 0 12px}.broker-guide code{color:var(--accent);font-size:1rem;user-select:all}
.broker-steps{margin:0 0 18px;padding-left:22px;color:var(--muted);line-height:1.7}.broker-steps li{margin-bottom:6px}.broker-steps strong,.broker-guide p strong{color:var(--ink)}
.pref-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px}.pref-list li{display:grid;grid-template-columns:minmax(120px,160px) minmax(0,1fr);gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#071421;color:#dce9f6;line-height:1.5}.pref-list span{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;align-self:start;padding-top:2px}.pref-list strong{display:block;color:var(--ink)}.pref-list small{display:block;margin-top:3px;color:var(--muted);font-size:.84rem;line-height:1.5}
@media(max-width:520px){.pref-list li{grid-template-columns:1fr;gap:2px}}

/* Payment step (USDT on Tron/TRC20): network shown beside the address, manual review, no automatic confirmation. */
.pay-box{margin:18px 0 6px;padding:18px;border:1px solid rgba(242,198,109,.35);border-radius:14px;background:rgba(13,29,48,.5);display:grid;gap:14px}.pay-box span{display:block;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.pay-network strong{display:inline-block;padding:8px 12px;border:1px solid rgba(242,198,109,.5);border-radius:10px;color:var(--amber);background:rgba(242,198,109,.1);font:800 1rem "Manrope"}
.pay-address code{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--accent);background:#071421;font-size:1rem;line-height:1.5;overflow-wrap:anywhere;word-break:break-all;user-select:all}.pay-address button{margin-top:10px}
.pay-amount strong{font:800 1.4rem "Manrope";color:var(--ink)}.pay-amount small{display:block;margin-top:2px;color:var(--muted)}
.warn{padding:13px 14px;border:1px solid rgba(255,123,123,.45);border-radius:12px;color:#ffd9d9;background:rgba(255,123,123,.08);line-height:1.55}.warn strong{color:#fff}
/* Your MT5 accounts card: the customer's own details and the step-up password reveal (DOM only, auto-hidden). */
.accounts-card{margin:0 0 20px;padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(13,29,48,.68)}.accounts-card .calendar-head{margin-bottom:16px}.accounts-card .calendar-head p{line-height:1.55}
#accounts-list{display:grid;gap:10px}.acct{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#071421;font-size:.92rem}.acct>div{min-width:0;overflow-wrap:anywhere}.acct span{display:block;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.acct code{color:#c8fff7;font-size:.95em}
.secret{grid-column:1/-1;padding-top:10px;border-top:1px dashed var(--line)}.secret-body{margin-top:4px}.reveal-form{display:grid;gap:10px;max-width:440px}.reveal-form .field input{min-height:46px}.reveal-form .setup-options{margin:0}
.revealed{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.revealed code{padding:8px 12px;border:1px solid rgba(242,198,109,.5);border-radius:10px;color:var(--amber);background:rgba(242,198,109,.08);font-size:1rem;user-select:all;overflow-wrap:anywhere}
.small{min-height:38px;padding:0 12px;font-size:.82rem}
@media(max-width:620px){.accounts-card{padding:16px}.pay-box{padding:14px}.pay-address button{width:100%}}

/* Status box with the Check status button (verification, payment review and preparing stages). */
.status-box{margin:16px 0;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(13,29,48,.5)}.status-box>span{display:block;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.status-box strong{display:block;font:800 1.15rem "Manrope";color:var(--accent)}.status-box p{margin:8px 0 0}.status-box .setup-options{margin:12px 0 0}.status-box .setup-small{margin:8px 0 0}
/* Customer payment submission (no self-confirmation: the admin reviews it). */
#pay-form{display:grid;gap:16px;margin-top:18px}#pay-form fieldset{display:grid;gap:14px;min-width:0;margin:0;padding:0;border:0}#pay-form fieldset:disabled{opacity:.45}#pay-form .field input{opacity:1}#pay-form .setup-small{margin:0}
.pay-list{display:grid;gap:10px;margin:14px 0}.pay-item{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px 16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#071421;font-size:.92rem}.pay-item>div{min-width:0;overflow-wrap:anywhere}.pay-item span{display:block;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.pay-item code{color:#c8fff7;font-size:.9em;word-break:break-all}.pay-item .wide{grid-column:1/-1}
.forgot-line{margin:4px 0 0;text-align:center}.forgot-line .login-link{font-size:.9rem}

/* Referrals card (active customers): code = client number, copy buttons, progress toward the next reward, rewards list. */
.referrals-card{margin:0 0 20px;padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(13,29,48,.68)}.referrals-card .calendar-head{margin-bottom:16px}.referrals-card .calendar-head p{line-height:1.55}
.referral-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#071421}.referral-share span{display:block;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.referral-share code{color:var(--accent);font:800 1.3rem "Manrope";user-select:all}.referral-buttons{display:flex;flex-wrap:wrap;gap:8px}
.referral-how{color:var(--muted);line-height:1.6;margin:14px 0}.referral-how strong{color:var(--ink)}
.referral-progress{margin:14px 0}.referral-progress .bar{height:10px;border-radius:999px;background:#071421;border:1px solid var(--line);overflow:hidden}.referral-progress .bar span{display:block;height:100%;background:var(--accent);transition:width .3s}.referral-progress p{margin:10px 0 0;color:var(--muted);line-height:1.55}.referral-progress p strong{color:var(--ink)}.referral-progress .setup-small{margin-top:4px}
.referral-rewards{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.referral-rewards li{padding:10px 14px;border:1px solid rgba(94,230,168,.35);border-radius:10px;background:rgba(94,230,168,.07);color:#dce9f6;line-height:1.55}.referral-rewards strong{color:var(--green)}.referral-rewards small{color:var(--muted)}
@media(max-width:620px){.referrals-card{padding:16px}.referral-buttons{width:100%}.referral-buttons button{flex:1}}

/* Important Account Instructions: shown after the admin's activation until the customer taps I Agree (portal.js). */
.instructions-card{margin:0 0 24px;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#10253a,#0b1929)}.instructions-card h2{margin:6px 0 10px;font-size:1.7rem;line-height:1.15}.instructions-card .activated{color:var(--muted);line-height:1.6;margin:0}.instructions{margin:22px 0 0;padding:20px 22px;border:1px solid rgba(242,198,109,.35);border-radius:16px;background:rgba(242,198,109,.06);line-height:1.65;color:var(--ink)}.instructions h3{margin:0 0 12px;font-size:1.15rem;color:var(--amber)}.instructions ol{margin:14px 0;padding-left:22px}.instructions li{margin:0 0 8px}.instructions p{margin:0 0 12px}.instructions p:last-child{margin-bottom:0}.instructions-actions{display:flex;justify-content:flex-end;margin-top:22px}.instructions-actions .primary{min-width:200px}@media(max-width:620px){.instructions-card{padding:18px}.instructions{padding:16px}.instructions ol{padding-left:18px}.instructions-actions .primary{width:100%}}

/* Status chip variants (owner 2026-10-12): Active = soft green with a subtle glow; the others stay distinct. */
.status-chip.is-active{color:var(--green);border-color:rgba(94,230,168,.38);background:rgba(94,230,168,.1);box-shadow:0 0 0 1px rgba(94,230,168,.12),0 0 18px rgba(94,230,168,.28)}.status-chip.is-expired{color:var(--amber);border-color:rgba(242,198,109,.45);background:rgba(242,198,109,.12)}.status-chip.is-suspended{color:#ff9c9c;border-color:rgba(255,123,123,.45);background:rgba(255,123,123,.1)}.status-chip.is-reactivation{color:#8fc6ff;border-color:rgba(74,168,255,.45);background:rgba(74,168,255,.1)}
/* Subscription / renewal card */
.subscription-card{margin:0 0 20px;padding:24px;border:1px solid var(--line);border-radius:20px;background:rgba(13,29,48,.68)}.subscription-card h2{margin:0;font:800 1.25rem "Manrope"}.subscription-card .sub-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin-bottom:14px}.subscription-card .sub-head p{margin:5px 0 0;color:var(--muted);font-size:.88rem}.subscription-card .warn,.subscription-card .info{margin:12px 0}.renewal-panel{margin-top:16px;padding:18px;border:1px solid rgba(44,226,199,.25);border-radius:16px;background:rgba(7,20,33,.6)}.renewal-panel h3{margin:0 0 10px;font:800 1.1rem "Manrope"}.renewal-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:10px 16px;margin:0 0 14px}.renewal-facts div{min-width:0;overflow-wrap:anywhere}.renewal-facts span{display:block;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.pending-renewal{display:grid;gap:4px}
/* Deposit step */
.deposit-box{margin:16px 0;padding:16px 18px;border:1px solid rgba(242,198,109,.35);border-radius:14px;background:rgba(242,198,109,.06)}.deposit-box h4{margin:0 0 8px;font:800 1rem "Manrope";color:var(--amber)}.deposit-box p{margin:0 0 10px;line-height:1.55}.deposit-box .primary{margin-top:4px}
/* Calendar navigation */
.calendar-nav{display:flex;align-items:center;gap:10px}.calendar-nav .small{min-width:38px;padding:0;font-size:1.1rem}
@media(max-width:620px){.subscription-card{padding:16px}.renewal-panel{padding:14px}}

/* Custom date range below the month calendar */
.calendar-range{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.calendar-range h3{margin:0 0 12px;font:800 1.05rem "Manrope"}.range-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:0}.range-form .field{flex:1 1 160px;min-width:0}.range-form .field input{min-height:46px;color-scheme:dark}.range-form button{min-height:46px}.range-summary{margin:14px 0 10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#071421;line-height:1.5}.range-summary strong{color:var(--green);font:800 1.15rem "Manrope"}.range-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.range-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#071421;font-size:.9rem}.range-list li strong{color:var(--green)}.range-list li strong.neg{color:#ff9c9c}@media(max-width:520px){.range-form .field{flex-basis:100%}.range-form button{width:100%}}

/* Floating Telegram button (owner request 2026-10-12): fixed bottom-right on the public site and in the portal, above the page
   content but never above dialogs (dialogs sit in the top layer). Same palette as the brand mark (accent -> blue gradient). */
.tg-float{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.tg-fab{width:56px;height:56px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:var(--dark);background:linear-gradient(145deg,var(--accent),var(--blue));box-shadow:0 14px 36px rgba(44,226,199,.28),0 2px 8px rgba(0,0,0,.35);cursor:pointer;text-decoration:none;transition:transform .15s ease}
.tg-fab:hover,.tg-fab:focus-visible{transform:translateY(-2px)}
.tg-menu{width:min(330px,calc(100vw - 32px));padding:8px;border:1px solid rgba(163,199,224,.23);border-radius:18px;background:#0b1929;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.tg-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left;text-decoration:none;font:inherit;cursor:pointer}
.tg-item:hover,.tg-item:focus-visible{background:rgba(44,226,199,.08)}.tg-item[aria-disabled=true]{opacity:.6;cursor:default}.tg-item[aria-disabled=true]:hover{background:transparent}
.tg-item .tg-ico{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;color:var(--accent);background:rgba(44,226,199,.1)}.tg-item.is-connected .tg-ico{color:var(--green);background:rgba(94,230,168,.12)}
.tg-item>span:not(.tg-ico){display:grid;gap:2px;min-width:0}.tg-item strong{font:800 .98rem "Manrope"}.tg-item small{color:var(--muted);font-size:.8rem;line-height:1.4;overflow-wrap:anywhere}
.tg-item small .login-link{padding:0;font-size:.8rem}
.tg-sep{height:1px;margin:4px 8px;background:var(--line)}
@media(max-width:520px){.tg-float{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}.tg-fab{width:52px;height:52px}}
