
*{box-sizing:border-box}
:root{
 --bg:#fff;--surface:#fff;--surface2:#fbfaff;--ink:#151522;--muted:#747184;
 --purple:#6324e8;--purple2:#8a3dff;--purple3:#c044ff;--cyan:#159eea;
 --line:#e6e0f2;--line-strong:#b99aff;--shadow:0 12px 38px rgba(70,35,140,.08);
 --ease:cubic-bezier(.2,.7,.2,1)
}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:#fff;color:var(--ink)}
html{overflow-x:hidden;width:100%;max-width:100%;}
body{overflow-x:hidden;width:100%;max-width:100%;}
button,input{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.page-glow{position:fixed;inset:0;pointer-events:none;z-index:0;background:
 radial-gradient(circle at 82% 22%,rgba(125,45,255,.045),transparent 24%),
 radial-gradient(circle at 15% 70%,rgba(25,158,234,.035),transparent 22%)}
.auth-page{position:relative;z-index:1;width:min(1180px,calc(100% - 56px));margin:auto;padding:24px 0 28px}

/* Header: stays part of the page background; only the bottom gradient stroke is visible */
.topbar{
 position:relative;display:flex;align-items:center;justify-content:space-between;
 min-height:72px;padding:10px 0;margin-bottom:34px;background:transparent;
 border:0;border-radius:0;box-shadow:none
}
.topbar:after{
 content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
 background:linear-gradient(90deg,#6324e8 0%,#8c4cff 35%,#c044ff 68%,#ff4fb8 100%);
 border-radius:99px;box-shadow:0 2px 8px rgba(167,52,245,.16)
}
.brand{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;white-space:nowrap;color:var(--ink);text-decoration:none}.brand-image{display:block;width:auto;height:52px;max-width:300px;object-fit:contain;object-position:left center}.brand.logo-only{gap:0}
.brand-mark{
 width:48px;height:48px;flex:0 0 48px;border-radius:13px;display:grid;place-items:center;
 color:#fff;font-size:29px;font-weight:900;background:linear-gradient(145deg,#8646ff,#4e12db);
 border:1px solid #9d6aff;box-shadow:0 8px 22px rgba(102,37,235,.24);
 animation:iconBreath 3.8s ease-in-out infinite
}
.brand-name{font-size:26px;font-weight:800;letter-spacing:-1px;line-height:1;white-space:nowrap}
.brand-name b{color:var(--purple)}
.top-actions{display:none}

/* Hero */
.hero-grid{display:grid;grid-template-columns:1fr 1.03fr;gap:42px;align-items:center}
.welcome{min-width:0}
.welcome-copy h1{font-size:64px;line-height:.94;letter-spacing:-3px;margin:0 0 24px}
.welcome-copy h1 em{font-style:normal;color:var(--purple)}
.welcome-copy p{max-width:440px;color:var(--muted);font-size:18px;line-height:1.7;margin:0}
.welcome-copy strong{color:var(--purple)}

.hero-art{height:420px;position:relative;margin-top:-5px;display:grid;place-items:center}
.orbit{position:absolute;border:1px dashed rgba(126,70,238,.28);border-radius:50%;transform:none;animation:none}
.orbit-1{width:430px;height:300px}.orbit-2{width:500px;height:350px;animation:none;transform:none}
.platform{position:relative;z-index:3;margin-top:28px}
.platform-logo{
 width:155px;height:155px;border-radius:35px;display:grid;place-items:center;font-size:96px;font-weight:900;
 color:#fff;background:linear-gradient(145deg,#9148ff,#5014dc);border:1px solid #b986ff;
 box-shadow:0 16px 40px rgba(104,32,230,.22),inset 0 0 28px rgba(255,255,255,.12);
 animation:float 3.6s ease-in-out infinite
}
.platform-base{
 width:225px;height:68px;margin:-7px auto 0;border-radius:50%;border:2px solid rgba(126,70,238,.52);
 box-shadow:0 10px 28px rgba(112,47,230,.13),inset 0 0 20px rgba(142,49,255,.12);
 display:flex;justify-content:center;gap:8px;padding-top:15px
}
.platform-base i{display:block;width:5px;height:27px;border-radius:10px;background:#9343f7;box-shadow:0 0 10px rgba(147,67,247,.45);animation:barPulse 1.2s ease-in-out infinite}
.platform-base i:nth-child(2){animation-delay:.2s}.platform-base i:nth-child(3){animation-delay:.4s}

.social-float{
 position:absolute;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;
 color:#fff;z-index:4;border:1px solid rgba(255,255,255,.75);
 animation:float 3.2s ease-in-out infinite,iconPulse 2.6s ease-in-out infinite;
 transition:transform .22s var(--ease),filter .22s,box-shadow .22s
}
.social-float svg{width:30px;height:30px;display:block;fill:currentColor}
.social-float:hover,.social-float:active{transform:scale(1.14);filter:saturate(1.18);box-shadow:0 0 30px currentColor}
.fb{left:6%;top:24%;background:#1877f2;color:#fff}.ig{right:9%;top:13%;background:linear-gradient(145deg,#ff3d86,#7130f2);color:#fff;animation-delay:.35s}.tg{right:0;top:50%;background:#1aa6e8;color:#fff;animation-delay:.7s}.tt{left:12%;bottom:14%;background:#050505;color:#fff;animation-delay:1s}.yt{right:15%;bottom:6%;background:#f22929;color:#fff;animation-delay:1.3s}
.particle{position:absolute;color:#a23cff;font-size:19px;animation:pulse 1.8s infinite}.p1{left:26%;top:10%}.p2{right:27%;top:28%;animation-delay:.5s}.p3{left:32%;bottom:18%;animation-delay:1s}

.hero-pill{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:99px;background:linear-gradient(135deg,rgba(140,60,255,.12),rgba(196,68,255,.12));color:var(--purple);font-size:13px;font-weight:700;letter-spacing:.2px;margin-bottom:18px}
.welcome-copy h1 em{font-style:normal;background:linear-gradient(100deg,var(--purple) 10%,var(--purple3) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--purple3)}
.hero-sub{max-width:440px;color:var(--muted);font-size:17px;line-height:1.65;margin:6px 0 0;font-weight:600}
.hero-tagline{position:absolute;top:2%;right:2%;z-index:4;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;color:var(--purple);font-size:17px;line-height:1.25;text-align:right;transform:rotate(-4deg)}
.hero-tagline i{font-style:normal;color:#ff4d8d}
.hero-spark{position:absolute;color:#a23cff;font-size:16px;animation:pulse 1.8s infinite}
.hero-spark.s1{left:8%;top:2%;animation-delay:.2s}
.hero-spark.s2{right:22%;top:16%;animation-delay:.7s;font-size:12px}
.hero-spark.s3{left:2%;top:38%;animation-delay:1.1s;font-size:13px}
@media(max-width:900px){
 .hero-pill{font-size:12px;padding:7px 14px;margin-bottom:12px}
 .hero-sub{font-size:14px}
 .hero-tagline{font-size:13px;top:0;right:4%}
}
@media(max-width:520px){
 .hero-pill{font-size:11px;padding:6px 12px}
 .hero-tagline{display:none}
}

/* Feature cards */
.features{
 display:grid;grid-template-columns:repeat(3,1fr);margin-top:4px;border:1px solid var(--line-strong);
 border-radius:19px;background:#fff;overflow:hidden;box-shadow:var(--shadow)
}
.features>div{min-height:116px;padding:18px 14px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left}
.features>div+div{border-left:1px solid var(--line)}
.features span{
 grid-row:1/3;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
 color:var(--purple);background:#f4efff;border:1px solid #e4d9ff;
 animation:iconBreath 3s ease-in-out infinite
}
.features span svg{width:24px;height:24px;fill:currentColor;stroke:currentColor}
.features>div:nth-child(2) span{color:#7b36ed;animation-delay:.35s}.features>div:nth-child(3) span{color:#8c3cf0;animation-delay:.7s}
.features b{display:block;font-size:14px}.features small{display:block;color:var(--muted);line-height:1.4;margin-top:3px}

/* Auth card */
.login-card{
 background:#fff;border:1px solid var(--line-strong);border-radius:22px;padding:28px 28px 25px;
 box-shadow:0 14px 45px rgba(63,36,120,.09);position:relative;margin-top:20px
}
.login-card:before{content:"";position:absolute;left:14%;right:14%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#c8afff,transparent)}
.tabs{
 height:58px;border:1px solid #d5c6f3;border-radius:15px;padding:4px;display:flex;
 margin-bottom:24px;background:#fcfbff;box-shadow:inset 0 1px 0 #fff
}
.tab{flex:1;border:0;background:transparent;color:#2a2735;border-radius:11px;font-size:18px;font-weight:750;transition:.22s}
.tab:hover{color:var(--purple)}.tab.active{color:var(--purple);background:#fff;box-shadow:0 5px 17px rgba(105,43,225,.14);outline:1px solid #c8b0ff}
.login-card h2{display:none}.mobile-intro{display:none}
form label{display:block;font-size:14px;font-weight:750;margin:0 0 9px}
.input-wrap{
 height:62px;border:1px solid #ded9e9;border-radius:14px;display:flex;align-items:center;padding:0 15px;
 margin-bottom:18px;background:#fff;transition:.2s
}
.input-wrap:focus-within{border-color:#9a63f5;box-shadow:0 0 0 4px rgba(126,43,255,.08)}
.field-icon{width:34px;color:var(--purple);display:grid;place-items:center;flex:0 0 34px}.field-icon .field-svg{width:22px;height:22px;display:block}.input-wrap input{border:0;outline:0;flex:1;min-width:0;background:transparent;color:var(--ink);font-size:15px}.input-wrap input::placeholder{color:#9b98a7}
.eye{width:38px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:#89859a;padding:0;border-radius:10px;cursor:pointer}.eye-svg{width:22px;height:22px;display:block}.eye:hover{background:#f5f1ff;color:var(--purple)}.tab-icon{width:20px;height:20px;vertical-align:-4px;margin-right:6px}
.row-between{display:flex;justify-content:space-between;align-items:center;margin:0 0 20px}
.check{display:flex!important;align-items:center;gap:9px!important;margin:0!important;font-weight:500!important}
.check input{appearance:none;width:21px;height:21px;border:1px solid #9b63f2;border-radius:5px;background:#fff;position:relative;margin:0}
.check input:checked{background:var(--purple)}.check input:checked:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:14px}
.text-btn,.link-btn{border:0;background:none;color:var(--purple);font-weight:650;cursor:pointer;padding:0;font-size:14px}
.primary{width:100%;height:60px;border:0;border-radius:14px;color:#fff;background:linear-gradient(100deg,#5d18e8,#c528df);font-size:17px;font-weight:800;box-shadow:0 10px 25px rgba(112,32,230,.22);transition:.22s}
.primary:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(112,32,230,.30)}.primary span{display:inline-grid;place-items:center;margin-left:12px;width:33px;height:33px;border-radius:50%;background:rgba(255,255,255,.16);font-size:20px}
.divider{display:flex;align-items:center;gap:12px;color:#8a8696;font-size:13px;margin:24px 0 17px}.divider:before,.divider:after{content:"";height:1px;background:#ebe6f1;flex:1}
.social-panel{
 /* Social login is part of the main login card — no separate box or stroke. */
 margin-top:18px;padding:0 0 2px;border:0;border-radius:0;
 background:transparent;box-shadow:none
}
.social-login{display:flex;justify-content:center;gap:18px}
.social-btn{
 width:50px;height:50px;border-radius:50%;border:1px solid #ded9e9;background:#fff;color:#111;
 display:grid;place-items:center;padding:0;position:relative;transition:.25s;
 box-shadow:0 5px 15px rgba(52,38,100,.07);animation:iconBreath 3.2s ease-in-out infinite
}
.social-btn svg{width:23px;height:23px;display:block}.social-btn:before{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid currentColor;opacity:.22;animation:ringPulse 2.8s ease-in-out infinite}
.social-btn:hover,.social-btn:active{transform:translateY(-5px) scale(1.09);box-shadow:0 12px 25px rgba(96,52,218,.18)}
.social-btn:nth-child(2){animation-delay:.2s}.social-btn:nth-child(3){animation-delay:.4s}
.google{color:#4285f4}.facebook{color:#1877f2}.telegram{color:#229ed9}
.switch-copy{text-align:center;color:#777385;font-size:13px;margin:16px 0 0}
.terms{margin:3px 0 18px!important}.terms a{color:var(--purple)}

/* Stats + footer */
.stats{
 display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border:1px solid #d9cdf0;border-radius:19px;
 background:#fff;padding:18px;box-shadow:var(--shadow)
}
.stats>div{display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:5px 10px}
.stats>div+div{border-left:1px dashed #ddd5ea}
.stat-icon{
 grid-row:1/3;justify-self:end;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;
 border:1px solid #a88aff;color:var(--purple);background:#faf8ff;box-shadow:0 5px 15px rgba(120,55,230,.08);
 font-size:20px;animation:iconBreath 3.3s ease-in-out infinite
}
.stats>div:nth-child(2) .stat-icon{color:#168ee7;border-color:#9bd6f5}.stats>div:nth-child(3) .stat-icon{color:#e92f8c;border-color:#f4a7cb}.stats>div:nth-child(4) .stat-icon{color:#16b86b;border-color:#9ae4bf}
.stats strong{text-align:left;font-size:22px}.stats small{text-align:left;color:#777385;font-size:11px}
footer{text-align:center;color:#777385;font-size:12px;line-height:2.2;padding:18px 0 0}footer nav{display:flex;justify-content:center;gap:11px;flex-wrap:wrap}footer a{color:#6d3bd5;text-decoration:none}footer a:hover{color:#4e1ed0}footer i{font-style:normal;color:#c0bacd}

/* Motion */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orbit{to{transform:rotate(342deg)}}
@keyframes pulse{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes iconPulse{0%,100%{filter:drop-shadow(0 0 4px currentColor)}50%{filter:drop-shadow(0 0 13px currentColor)}}
@keyframes iconBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes ringPulse{0%,100%{transform:scale(.92);opacity:.12}50%{transform:scale(1.12);opacity:.34}}
@keyframes barPulse{0%,100%{transform:scaleY(.65);opacity:.65}50%{transform:scaleY(1.15);opacity:1}}

@media(max-width:900px){
 .auth-page{width:min(100% - 28px,650px);padding-top:16px}
 .topbar{margin-bottom:24px}
 .hero-grid{grid-template-columns:1fr;gap:16px}
 .welcome{display:flex;flex-direction:column}
 .welcome-copy h1{font-size:48px;letter-spacing:-2px}.welcome-copy p{font-size:15px}
 .hero-art{height:350px;order:2}.platform-logo{width:125px;height:125px;border-radius:30px;font-size:75px}.platform-base{width:190px;height:58px}
 .social-float{width:55px;height:55px}.social-float svg{width:27px;height:27px}
 .orbit-1{width:330px;height:145px}.orbit-2{width:390px;height:175px}
 .features{order:3}.login-card{order:4}.stats{margin-top:20px}
}
@media(max-width:560px){
 .auth-page{width:100%;padding:12px 12px 18px}
 .topbar{min-height:62px;padding:8px 10px;margin-bottom:20px;border-radius:15px}
 .topbar:after{left:16px;right:16px}
 .brand{gap:8px}.brand-mark{width:42px;height:42px;flex-basis:42px;border-radius:11px;font-size:25px}.brand-name{font-size:22px}
 .welcome-copy{padding:0 7px}.welcome-copy h1{font-size:42px;margin-bottom:13px}.welcome-copy p{line-height:1.58}
 .hero-art{height:310px;margin-top:0}.platform-logo{width:112px;height:112px;font-size:68px}.platform-base{width:170px;height:50px}
 .orbit-1{width:300px;height:125px}.orbit-2{width:345px;height:150px}
 .social-float{width:49px;height:49px;font-size:20px}.social-float svg{width:24px;height:24px}
 .fb{left:3%;top:28%}.ig{right:4%;top:14%}.tg{right:-2%;top:51%}.tt{left:7%;bottom:15%}.yt{right:12%;bottom:8%}
 .features{grid-template-columns:repeat(3,1fr);margin:0 3px;border-radius:17px}.features>div{min-height:108px;padding:13px 6px;display:block;text-align:center}.features span{width:40px;height:40px;margin:0 auto 7px}.features span svg{width:21px;height:21px}.features b{font-size:10px}.features small{font-size:8px;line-height:1.35}
 .login-card{margin-top:18px;border-radius:20px;padding:18px 14px 20px}.tabs{height:53px;margin-bottom:20px}.tab{font-size:15px}
 .mobile-intro{display:block;color:#888495;font-size:12px;line-height:1.5;margin:-5px 0 18px}.login-card h2{display:block;font-size:25px;margin:0 0 4px}
 form label{font-size:12px;margin-bottom:7px}.input-wrap{height:56px;margin-bottom:16px;padding:0 12px}.input-wrap input{font-size:14px}.field-icon{width:30px;flex-basis:30px}.field-icon .field-svg{width:19px;height:19px}
 .row-between{margin-bottom:18px}.text-btn,.link-btn{font-size:12px}.primary{height:56px;font-size:16px}.primary span{width:31px;height:31px;font-size:19px}
 .social-panel{margin-top:16px;padding:0 0 1px;border:0;border-radius:0;background:transparent;box-shadow:none}.divider{margin:2px 0 15px;font-size:11px}.social-login{gap:13px}.social-btn{width:46px;height:46px}.social-btn svg{width:21px;height:21px}.switch-copy{font-size:11px;margin-top:14px}
 .stats{grid-template-columns:repeat(2,1fr);padding:10px;margin:18px 3px 0;gap:0;border-radius:17px}.stats>div{padding:10px 5px;grid-template-columns:39px 1fr;column-gap:6px}.stats>div+div{border-left:0}.stats>div:nth-child(2),.stats>div:nth-child(4){border-left:1px dashed #ddd5ea}.stats>div:nth-child(3),.stats>div:nth-child(4){border-top:1px dashed #ddd5ea}.stat-icon{width:37px;height:37px;font-size:16px}.stats strong{font-size:19px}.stats small{font-size:8px}footer{font-size:10px;padding-top:15px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}


/* FINAL UI OVERRIDES — reference layout */
.topbar{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
.topbar:before{content:none !important}
.topbar:after{
  left:0 !important;
  right:0 !important;
  top:auto !important;
  bottom:0 !important;
  height:2px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#6324e8 0%,#8c4cff 38%,#c044ff 70%,#ff4fb8 100%) !important;
  box-shadow:0 2px 9px rgba(167,52,245,.18) !important;
}
.social-panel,
.login-card .social-panel,
#signInView .social-panel,
#signUpView .social-panel{
  margin:18px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-width:0 !important;
  border-style:none !important;
  border-color:transparent !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
}
.social-panel:before,.social-panel:after{content:none !important;border:0 !important;box-shadow:none !important}
.divider{border:0 !important;box-shadow:none !important;background:transparent !important}
.divider:before,.divider:after{border:0 !important;box-shadow:none !important}
@media(max-width:560px){
  .topbar{
    min-height:62px !important;
    padding:8px 10px !important;
    margin-bottom:20px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .topbar:after{left:0 !important;right:0 !important;bottom:0 !important;height:2px !important}
  .social-panel,.login-card .social-panel{margin-top:16px !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important}
}

/* V37 FINAL REFERENCE OVERRIDE */

/* Header: integrated with page, ONLY bottom gradient stroke */
.topbar{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.topbar:before{content:none !important;}
.topbar:after{
  content:"" !important;
  left:0 !important; right:0 !important;
  top:auto !important; bottom:0 !important;
  height:2px !important;
  border:0 !important; border-radius:999px !important;
  background:linear-gradient(90deg,#6324e8 0%,#8c4cff 38%,#c044ff 70%,#ff4fb8 100%) !important;
  box-shadow:0 2px 9px rgba(167,52,245,.18) !important;
}

/* Social login: no separate card/box; it lives directly inside login-card */
.social-panel,
.login-card .social-panel,
#signInView .social-panel,
#signUpView .social-panel{
  margin:18px 0 0 !important;
  padding:0 !important;
  border:0 !important;
  border-width:0 !important;
  border-style:none !important;
  border-color:transparent !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
}
.social-panel:before,.social-panel:after{content:none !important;border:0 !important;box-shadow:none !important;}

@media(max-width:560px){
  .topbar{
    min-height:62px !important;
    padding:8px 0 !important;
    margin-bottom:20px !important;
    border:0 !important; border-radius:0 !important;
    background:transparent !important; box-shadow:none !important;
  }
  .topbar:after{left:0 !important;right:0 !important;bottom:0 !important;height:2px !important;}
  .social-panel,.login-card .social-panel{
    margin-top:16px !important; padding:0 !important;
    border:0 !important; border-radius:0 !important;
    background:transparent !important; box-shadow:none !important;
  }
}


/* V38 FINAL MOBILE WIDTH + FULL VIEWPORT HEADER STROKE FIX */
html, body {
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
}
.auth-page, .hero-grid, .welcome, .login-card, .features, .stats, footer {
  max-width: 100% !important;
  min-width: 0 !important;
}
.hero-grid { min-width: 0 !important; }
.hero-art { min-width: 0 !important; }

/* Header remains integrated with the white page. The ONLY header stroke
   is a viewport-wide purple -> pink line directly underneath it. */
.topbar:after {
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  transform: translateX(-50%) !important;
  bottom: 0 !important;
  top: auto !important;
  height: 2px !important;
  background: linear-gradient(90deg, #6324e8 0%, #8c4cff 38%, #c044ff 70%, #ff4fb8 100%) !important;
}
@media (max-width: 560px) {
  .auth-page { width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; }
  .topbar { width: 100% !important; }
  .topbar:after { width: 100vw !important; }
  .hero-art { width: 100% !important; overflow: hidden !important; }
}

/* V39 — exact mobile viewport/header correction */
html, body {
  overflow-x: clip !important;
  overscroll-behavior-x: none !important;
}

@media (max-width: 560px) {
  /* Header content stays aligned with the page; the header itself remains transparent. */
  .topbar {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    overflow: visible !important;
  }

  /* ONLY the bottom edge: full viewport purple → pink stroke. */
  .topbar:after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 2px !important;
    transform: none !important;
    background: linear-gradient(90deg,#6324e8 0%,#8c4cff 38%,#c044ff 70%,#ff4fb8 100%) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 9px rgba(167,52,245,.18) !important;
  }

  /* Keep animated artwork inside the viewport so it can never create side-scroll. */
  .hero-art {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .orbit-1,.orbit-2 { max-width: 100%; }
  .tg { right: 0 !important; }
}


/* V43 — Social growth visual: center logo replaced with analytics artwork.
   Existing header, login, stats and feature-card styling remain untouched. */
.platform-logo{
  position:relative;
  width:155px;
  height:155px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.98) 0 34%,rgba(244,236,255,.96) 60%,rgba(225,207,255,.72) 100%);
  border:1px solid rgba(168,128,245,.38);
  box-shadow:0 16px 40px rgba(104,32,230,.14), inset 0 0 30px rgba(157,91,255,.10);
  display:grid;
  place-items:center;
  animation:float 3.6s ease-in-out infinite;
}
.analytics-chart{
  position:relative;
  width:92px;
  height:78px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  padding:0 5px 8px;
}
.analytics-chart i{
  display:block;
  width:15px;
  border-radius:5px 5px 2px 2px;
  background:linear-gradient(180deg,#c044ff 0%,#6324e8 100%);
  box-shadow:0 7px 15px rgba(99,36,232,.20);
}
.analytics-chart i:nth-child(1){height:25px}
.analytics-chart i:nth-child(2){height:38px}
.analytics-chart i:nth-child(3){height:52px}
.analytics-chart i:nth-child(4){height:68px}
.analytics-chart b{
  position:absolute;
  width:65px;
  height:34px;
  left:22px;
  top:2px;
  border-top:4px solid #7d35ee;
  border-right:4px solid #7d35ee;
  transform:skewY(-28deg) rotate(-7deg);
  border-radius:3px;
  filter:drop-shadow(0 3px 5px rgba(99,36,232,.18));
}
.analytics-chart b:after{
  content:"";
  position:absolute;
  right:-7px;
  top:-8px;
  width:0;height:0;
  border-left:10px solid #7d35ee;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  transform:rotate(8deg);
}
.analytics-spark{
  position:absolute;
  right:27px;
  top:29px;
  color:#b04cff;
  font-size:18px;
  animation:iconBreath 2.4s ease-in-out infinite;
}
@media(max-width:560px){
  .platform-logo{
    width:112px !important;
    height:112px !important;
    border-radius:50% !important;
  }
  .analytics-chart{transform:scale(.72)}
  .analytics-spark{right:19px;top:21px;font-size:14px}
}


/* V44 — Social icon visual refinement to match the supplied reference.
   Decorative hero only; login/backend functionality is untouched. */
.social-float{
  width:64px;
  height:64px;
  border:3px solid rgba(255,255,255,.96);
  box-shadow:
    0 0 0 1px rgba(151,111,239,.22),
    0 8px 22px rgba(68,38,150,.16),
    inset 0 0 0 1px rgba(255,255,255,.25);
}
.social-float:after{
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  transform:translateX(-50%);
  color:#171322;
  font-size:12px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
  letter-spacing:-.1px;
  text-shadow:0 1px 0 #fff;
}
.social-float.fb:after{content:"Facebook"}
.social-float.ig:after{content:"Instagram"}
.social-float.x:after{content:"Twitter / X"}
.social-float.tt:after{content:"TikTok"}
.social-float.tg:after{content:"Telegram"}
.social-float.yt:after{content:"YouTube"}

.social-float.fb{left:17%;top:8%}
.social-float.ig{right:17%;top:8%}
.social-float.x{left:4%;top:44%;background:#050505;color:#fff;animation-delay:.15s}
.social-float.tt{right:4%;left:auto;top:44%;bottom:auto}
.social-float.tg{left:17%;right:auto;top:auto;bottom:5%}
.social-float.yt{right:17%;top:auto;bottom:5%}

.social-float.fb,
.social-float.ig,
.social-float.x,
.social-float.tt,
.social-float.tg,
.social-float.yt{z-index:5}

.hero-art{overflow:visible}

@media(max-width:900px){
  .social-float{width:58px;height:58px}
  .social-float svg{width:29px;height:29px}
  .social-float:after{font-size:11px;top:calc(100% + 7px)}
  .social-float.fb{left:11%;top:9%}
  .social-float.ig{right:11%;top:9%}
  .social-float.x{left:3%;top:46%}
  .social-float.tt{right:3%;top:46%}
  .social-float.tg{left:15%;bottom:3%}
  .social-float.yt{right:15%;bottom:3%}
}
@media(max-width:560px){
  .hero-art{
    height:325px !important;
    margin-top:2px !important;
    overflow:visible !important;
  }
  .social-float{
    width:48px !important;
    height:48px !important;
    border-width:3px !important;
    box-shadow:
      0 0 0 1px rgba(151,111,239,.22),
      0 7px 17px rgba(68,38,150,.16),
      inset 0 0 0 1px rgba(255,255,255,.25);
  }
  .social-float svg{width:24px !important;height:24px !important}
  .social-float:after{
    font-size:9px !important;
    top:calc(100% + 6px) !important;
  }
  .social-float.fb{left:2% !important;top:25% !important}
  .social-float.ig{right:2% !important;top:10% !important}
  .social-float.x{left:6% !important;top:60% !important}
  .social-float.tt{right:6% !important;top:60% !important}
  .social-float.tg{left:19% !important;bottom:4% !important}
  .social-float.yt{right:19% !important;bottom:4% !important}
  .orbit-1{width:315px !important;height:135px !important}
  .orbit-2{width:355px !important;height:158px !important}
}

/* V45 — replace the previous hero icon positioning with the supplied reference arrangement.
   Only the six decorative hero social icons are changed. */
.hero-art .social-float{
  width:68px !important;
  height:68px !important;
  border:4px solid #fff !important;
  box-shadow:0 0 0 1px rgba(151,111,239,.25),0 7px 20px rgba(70,42,145,.16),inset 0 0 0 1px rgba(255,255,255,.35) !important;
}
.hero-art .social-float svg{width:34px !important;height:34px !important}
.hero-art .social-float.fb{left:25% !important;top:8% !important}
.hero-art .social-float.ig{right:25% !important;left:auto !important;top:8% !important}
.hero-art .social-float.x{left:7% !important;top:44% !important;bottom:auto !important}
.hero-art .social-float.tt{right:7% !important;left:auto !important;top:44% !important;bottom:auto !important}
.hero-art .social-float.tg{left:22% !important;right:auto !important;top:auto !important;bottom:1% !important}
.hero-art .social-float.yt{right:22% !important;left:auto !important;top:auto !important;bottom:1% !important}
.hero-art .social-float:after{font-size:12px !important;top:calc(100% + 8px) !important}

@media(max-width:900px){
  .hero-art .social-float{width:62px !important;height:62px !important}
  .hero-art .social-float svg{width:31px !important;height:31px !important}
  .hero-art .social-float.fb{left:25% !important;top:8% !important}
  .hero-art .social-float.ig{right:25% !important;top:8% !important}
  .hero-art .social-float.x{left:7% !important;top:44% !important}
  .hero-art .social-float.tt{right:7% !important;top:44% !important}
  .hero-art .social-float.tg{left:22% !important;bottom:1% !important}
  .hero-art .social-float.yt{right:22% !important;bottom:1% !important}
}
@media(max-width:560px){
  .hero-art .social-float{
    width:58px !important;height:58px !important;border-width:3px !important;
  }
  .hero-art .social-float svg{width:29px !important;height:29px !important}
  .hero-art .social-float:after{font-size:10px !important;top:calc(100% + 7px) !important}
  .hero-art .social-float.fb{left:22% !important;top:8% !important}
  .hero-art .social-float.ig{right:22% !important;top:8% !important}
  .hero-art .social-float.x{left:5% !important;top:45% !important}
  .hero-art .social-float.tt{right:5% !important;top:45% !important}
  .hero-art .social-float.tg{left:18% !important;bottom:1% !important}
  .hero-art .social-float.yt{right:18% !important;bottom:1% !important}
}
\n\n/* V46 — Center analytics artwork matched to supplied reference.\n   Decorative hero center only; all social icons, header, login, stats and feature cards stay intact. */\n.hero-art .platform{\n  z-index:3;\n  margin-top:28px;\n}\n.hero-art .platform-logo{\n  width:180px !important;\n  height:180px !important;\n  border-radius:50% !important;\n  background:\n    radial-gradient(circle at 50% 48%,rgba(255,255,255,.99) 0 31%,rgba(249,243,255,.98) 48%,rgba(232,216,255,.90) 74%,rgba(216,190,255,.48) 100%) !important;\n  border:1px solid rgba(145,91,239,.30) !important;\n  box-shadow:\n    0 0 0 18px rgba(141,72,241,.035),\n    0 0 42px rgba(133,68,240,.18),\n    inset 0 0 32px rgba(151,92,245,.13) !important;\n}\n.hero-art .analytics-chart{\n  width:116px !important;\n  height:104px !important;\n  gap:9px !important;\n  padding:0 5px 6px !important;\n}\n.hero-art .analytics-chart i{\n  width:19px !important;\n  border-radius:5px 5px 2px 2px !important;\n  background:linear-gradient(180deg,#a63cff 0%,#5420df 100%) !important;\n  box-shadow:0 7px 18px rgba(91,33,225,.20) !important;\n}\n.hero-art .analytics-chart i:nth-child(1){height:31px !important}\n.hero-art .analytics-chart i:nth-child(2){height:48px !important}\n.hero-art .analytics-chart i:nth-child(3){height:67px !important}\n.hero-art .analytics-chart i:nth-child(4){height:87px !important}\n.hero-art .analytics-chart b{\n  width:82px !important;\n  height:45px !important;\n  left:27px !important;\n  top:2px !important;\n  border-top:4px solid #7430eb !important;\n  border-right:4px solid #7430eb !important;\n  transform:skewY(-27deg) rotate(-6deg) !important;\n}\n.hero-art .analytics-chart b:after{\n  right:-8px !important;\n  top:-9px !important;\n  border-left-width:12px !important;\n  border-top-width:7px !important;\n  border-bottom-width:7px !important;\n  border-left-color:#7430eb !important;\n}\n.hero-art .analytics-spark{\n  color:#a54aff !important;\n  font-size:20px !important;\n}\n.hero-art .spark-a{right:25px !important;top:48px !important}\n.hero-art .spark-b{left:28px !important;top:65px !important;font-size:15px !important;opacity:.9}\n.hero-art .platform-base{display:none !important}\n@media(max-width:560px){\n  .hero-art .platform-logo{\n    width:145px !important;height:145px !important;\n    box-shadow:0 0 0 14px rgba(141,72,241,.035),0 0 34px rgba(133,68,240,.17),inset 0 0 28px rgba(151,92,245,.12) !important;\n  }\n  .hero-art .analytics-chart{transform:scale(.78) !important}\n  .hero-art .spark-a{right:20px !important;top:39px !important}\n  .hero-art .spark-b{left:22px !important;top:53px !important}\n}\n
/* V47 — Reference orbit lines are static; no rotating dots/rings. */
@media(max-width:560px){
  .hero-art .orbit{animation:none!important;transform:none!important;pointer-events:none}
  .hero-art .orbit-1{width:300px;height:230px}
  .hero-art .orbit-2{width:350px;height:270px}
}


/* V48 — Three smart concentric circular rings, matching the supplied reference.
   Static only: no rotating dots, no orbit animation, no oval rings. */
.hero-art .orbit{
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:430px !important;
  height:430px !important;
  transform:translate(-50%,-50%) !important;
  border:1px solid rgba(126,70,238,.18) !important;
  border-radius:50% !important;
  animation:none !important;
  z-index:1 !important;
  pointer-events:none !important;
}
.hero-art .orbit-1{
  width:430px !important;
  height:430px !important;
  border-style:solid !important;
  opacity:.95;
}
.hero-art .orbit-2{
  width:345px !important;
  height:345px !important;
  border-style:solid !important;
  opacity:.85;
}
.hero-art .orbit-3{
  width:260px !important;
  height:260px !important;
  border-style:solid !important;
  opacity:.72;
}
@media(max-width:900px){
  .hero-art .orbit-1{width:390px !important;height:390px !important}
  .hero-art .orbit-2{width:315px !important;height:315px !important}
  .hero-art .orbit-3{width:240px !important;height:240px !important}
}
@media(max-width:560px){
  .hero-art .orbit-1{width:315px !important;height:315px !important}
  .hero-art .orbit-2{width:255px !important;height:255px !important}
  .hero-art .orbit-3{width:195px !important;height:195px !important}
}


/* V49 — Premium social visual polish. Only the Social Visual is affected. */
.hero-art{
  position:relative;
  isolation:isolate;
}
.hero-art:before{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:330px; height:330px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(145,76,255,.13) 0%, rgba(224,91,255,.06) 42%, rgba(255,255,255,0) 72%);
  filter:blur(2px);
  pointer-events:none;
  z-index:0;
}
.hero-art .orbit{
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  border-radius:50% !important;
  animation:none !important;
  pointer-events:none !important;
  z-index:1 !important;
  background:transparent !important;
}
.hero-art .orbit-1{
  width:430px !important; height:430px !important;
  border:1px solid rgba(111,54,231,.17) !important;
}
.hero-art .orbit-2{
  width:345px !important; height:345px !important;
  border:1px solid rgba(153,91,244,.15) !important;
}
.hero-art .orbit-3{
  width:260px !important; height:260px !important;
  border:1px solid rgba(192,119,255,.14) !important;
}
.hero-art .platform{
  z-index:3 !important;
}
.hero-art .platform-logo{
  box-shadow:
    0 0 0 10px rgba(142,75,245,.035),
    0 18px 42px rgba(105,46,224,.16),
    inset 0 0 32px rgba(164,101,255,.13);
}
.hero-art .social-icon{
  z-index:4 !important;
  filter:drop-shadow(0 8px 16px rgba(75,35,145,.10));
}
@media(max-width:560px){
  .hero-art:before{
    width:245px;height:245px;
  }
  .hero-art .orbit-1{width:315px !important;height:315px !important}
  .hero-art .orbit-2{width:255px !important;height:255px !important}
  .hero-art .orbit-3{width:195px !important;height:195px !important}
}


/* V50 — Premium soft background, reference-inspired. */
body{
  background:
    radial-gradient(circle at 92% 8%, rgba(218,179,255,.18) 0, rgba(218,179,255,.08) 18%, transparent 38%),
    radial-gradient(circle at 6% 58%, rgba(190,157,255,.13) 0, rgba(190,157,255,.05) 20%, transparent 38%),
    radial-gradient(circle at 92% 82%, rgba(255,151,225,.10) 0, rgba(255,151,225,.035) 18%, transparent 38%),
    #fff;
  position:relative;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.5;
  background:
    radial-gradient(circle at 82% 18%, rgba(130,70,235,.15) 1px, transparent 1.5px) 0 0/16px 16px,
    radial-gradient(circle at 12% 72%, rgba(205,90,245,.10) 1px, transparent 1.5px) 0 0/18px 18px;
  mask-image:linear-gradient(to bottom, transparent 0%, black 15%, black 82%, transparent 100%);
}
main, .page, .container, .auth-page{
  position:relative;
}
main:after, .auth-page:after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-110px;top:40px;
  border:1px solid rgba(153,91,244,.09);
  border-radius:50%;
  box-shadow:
    0 0 0 28px rgba(153,91,244,.025),
    0 0 0 58px rgba(153,91,244,.018);
  pointer-events:none;
  z-index:-1;
}
@media(max-width:560px){
  body{
    background:
      radial-gradient(circle at 100% 10%, rgba(218,179,255,.16) 0, transparent 34%),
      radial-gradient(circle at 0% 66%, rgba(190,157,255,.10) 0, transparent 34%),
      #fff;
  }
  body:before{opacity:.28}
  main:after, .auth-page:after{
    width:180px;height:180px;
    right:-100px;top:150px;
  }
}


/* V51 — Selected #1 premium header gradient */
.site-header,
header,
.main-header,
.navbar,
.top-header{
  background: linear-gradient(135deg, #6D28D9 0%, #8B3DFF 48%, #EC4899 100%) !important;
  color:#fff !important;
  border-bottom-color:rgba(255,255,255,.28) !important;
  box-shadow:0 8px 28px rgba(109,40,217,.16);
}
.site-header a,
header a,
.main-header a,
.navbar a,
.top-header a{
  color:#fff !important;
}
.site-header .logo,
header .logo,
.main-header .logo,
.navbar .logo,
.top-header .logo{
  color:#fff !important;
}


/* V52 — ACTUAL LOGIN HEADER BACKGROUND FIX
   The public login header is .topbar, not the generic header selector. */
.topbar{
  background:linear-gradient(135deg,#5B21B6 0%,#7C3AED 48%,#DB2777 100%) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 8px 26px rgba(91,33,182,.18) !important;
}
.topbar .brand{
  color:#fff !important;
}
.topbar .brand-name{
  color:#fff !important;
}
.topbar .brand-name b{
  color:#F5D0FE !important;
}
.topbar .brand-mark{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.34) !important;
  box-shadow:0 8px 24px rgba(34,10,80,.24) !important;
}
.topbar:after{
  background:linear-gradient(90deg,#E9D5FF 0%,#F0ABFC 50%,#FBCFE8 100%) !important;
  box-shadow:0 2px 10px rgba(255,255,255,.28) !important;
}
@media(max-width:560px){
  .topbar{
    background:linear-gradient(135deg,#5B21B6 0%,#7C3AED 48%,#DB2777 100%) !important;
  }
}


/* V53 — header centered and brand clearer */
.topbar{
 margin-top:0!important;padding-top:0!important;padding-bottom:0!important;
 min-height:74px!important;height:74px!important;
 display:flex!important;align-items:center!important;box-sizing:border-box!important;
}
.topbar .brand{display:flex!important;align-items:center!important;height:100%!important;line-height:1!important}
.topbar .brand-mark{flex:0 0 auto!important}
.topbar .brand-name{
 display:inline-flex!important;align-items:center!important;line-height:1.05!important;
 font-weight:900!important;letter-spacing:-.02em!important;
 color:#fff!important;text-shadow:0 1px 2px rgba(31,12,70,.22)!important;
}
.topbar .brand-name b{
 color:#FFE7F7!important;font-weight:900!important;
 text-shadow:0 1px 2px rgba(75,16,95,.20)!important;
}
@media(max-width:560px){.topbar{min-height:74px!important;height:74px!important}.topbar .brand-name{font-size:22px!important}}


/* V54 — Header true mobile centering and fixed height */
@media (max-width:560px){
  .auth-page{
    padding-top:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .topbar{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100vw!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    flex:0 0 74px!important;
    margin-top:0!important;
    margin-bottom:20px!important;
    margin-left:calc(50% - 50vw)!important;
    padding:0 22px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .topbar .brand{
    height:74px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    line-height:1!important;
  }
  .topbar .brand-mark{
    width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
    font-size:29px!important;
  }
  .topbar .brand-name{
    display:inline-flex!important;
    align-items:center!important;
    white-space:nowrap!important;
    font-size:24px!important;
    font-weight:900!important;
    line-height:1!important;
    letter-spacing:-.7px!important;
    color:#fff!important;
  }
  .topbar .brand-name b{
    display:inline!important;
    margin-left:6px!important;
    color:#FFE7F7!important;
    font-weight:900!important;
  }
  .topbar:after{
    left:0!important;
    right:auto!important;
    bottom:0!important;
    width:100vw!important;
    height:2px!important;
    transform:none!important;
  }
}


/* V55 — Reference-inspired layered wave footer.
   Copyright/legal links remain above the decorative waves.
   NOTE: footer must NOT clip (no overflow:hidden here) — .footer-waves
   deliberately breaks out to full viewport width below, and a hidden
   overflow on this ancestor would crop that breakout back down to the
   footer's own (centered/narrower) width, recreating the side gaps.
   html,body already carry overflow-x:hidden as the page-level safety net. */
footer{
  position:relative !important;
  padding:18px 0 0 !important;
  margin-top:18px !important;
  line-height:2.2 !important;
}
footer nav{
  position:relative !important;
  z-index:3 !important;
}
.footer-waves{
  position:relative !important;
  z-index:1 !important;
  width:100vw !important;
  height:155px !important;
  margin:28px 0 0 50% !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.footer-waves svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
.footer-waves .wave{vector-effect:non-scaling-stroke}
.footer-waves .wave-back{fill:rgba(164,116,255,.12)}
.footer-waves .wave-mid{fill:rgba(145,88,245,.16)}
.footer-waves .wave-front{fill:rgba(111,53,226,.22)}
@media(max-width:560px){
  footer{padding-top:16px !important;margin-top:14px !important}
  .footer-waves{height:132px !important;margin-top:22px !important}
  .footer-waves .wave-back{fill:rgba(164,116,255,.12)}
  .footer-waves .wave-mid{fill:rgba(145,88,245,.17)}
  .footer-waves .wave-front{fill:rgba(111,53,226,.22)}
}


/* V60: restrained social-login icon animation.
   Icons enter from a slightly smaller scale without translating into
   each other's positions or causing overlap. */
.social-login a,
.social-login button,
.social-icons a,
.social-icons button,
.social-login .social-icon,
.social-icons .social-icon {
  animation: socialIconSettle 520ms cubic-bezier(.22,.61,.36,1) both;
  transform-origin: center center;
  will-change: transform, opacity;
}

.social-login a:nth-child(1),
.social-login button:nth-child(1),
.social-icons a:nth-child(1),
.social-icons button:nth-child(1),
.social-login .social-icon:nth-child(1),
.social-icons .social-icon:nth-child(1) { animation-delay: 0ms; }

.social-login a:nth-child(2),
.social-login button:nth-child(2),
.social-icons a:nth-child(2),
.social-icons button:nth-child(2),
.social-login .social-icon:nth-child(2),
.social-icons .social-icon:nth-child(2) { animation-delay: 55ms; }

.social-login a:nth-child(3),
.social-login button:nth-child(3),
.social-icons a:nth-child(3),
.social-icons button:nth-child(3),
.social-login .social-icon:nth-child(3),
.social-icons .social-icon:nth-child(3) { animation-delay: 110ms; }

.social-login a:nth-child(4),
.social-login button:nth-child(4),
.social-icons a:nth-child(4),
.social-icons button:nth-child(4),
.social-login .social-icon:nth-child(4),
.social-icons .social-icon:nth-child(4) { animation-delay: 165ms; }

.social-login a:nth-child(5),
.social-login button:nth-child(5),
.social-icons a:nth-child(5),
.social-icons button:nth-child(5),
.social-login .social-icon:nth-child(5),
.social-icons .social-icon:nth-child(5) { animation-delay: 220ms; }

@keyframes socialIconSettle {
  0% {
    opacity: 0;
    transform: scale(.78);
  }
  70% {
    opacity: 1;
    transform: scale(1.035);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .social-login a,
  .social-login button,
  .social-icons a,
  .social-icons button,
  .social-login .social-icon,
  .social-icons .social-icon {
    animation: none !important;
    transform: none !important;
  }
}



/* V61 — Compact Android-style footer.
   Replaces the old text-link footer with a small app-style surface and
   keeps the decorative waves close to the content so no large blank gap
   is left below the legal links. */
.app-footer{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  color:#6f6b7c !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-align:left !important;
  overflow:visible !important;
}
.app-footer .footer-main{
  position:relative !important;
  z-index:3 !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:12px 16px !important;
  border:1px solid #e4ddf2 !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 8px 24px rgba(73,42,130,.07) !important;
}
.footer-brand{display:flex;align-items:center;gap:9px;min-width:0}
.footer-brand-icon{
  width:34px;height:34px;flex:0 0 34px;border-radius:10px;
  display:grid;place-items:center;color:#fff;font-size:18px;font-weight:900;
  background:linear-gradient(135deg,#7c3aed,#db2777);
  box-shadow:0 5px 14px rgba(109,40,217,.18);
}
.footer-brand strong{display:block;color:#282431;font-size:13px;font-weight:850;line-height:1.1}
.footer-brand small{display:block;margin-top:3px;color:#96909f;font-size:9px;white-space:nowrap}
.footer-nav{display:flex !important;align-items:center;justify-content:center;gap:7px !important;flex-wrap:nowrap !important}
.footer-nav a{
  display:inline-flex !important;align-items:center;gap:6px !important;
  min-height:32px;padding:6px 9px !important;
  border:1px solid #eee8f8 !important;border-radius:11px !important;
  background:#fbf9ff !important;color:#5d32c9 !important;
  text-decoration:none !important;font-size:10px !important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease !important;
}
.footer-nav a span{font-size:13px;line-height:1}
.footer-nav a b{font-weight:750}
.footer-nav a:hover,.footer-nav a:active{
  transform:translateY(-2px) !important;
  background:#f5efff !important;
  box-shadow:0 5px 13px rgba(109,40,217,.10) !important;
}
.footer-copy{white-space:nowrap;text-align:right;color:#9892a0;font-size:9px}
.footer-copy span{padding:0 3px;color:#c8bfd6}
.app-footer .footer-waves{
  position:relative !important;
  z-index:1 !important;
  width:100vw !important;
  height:52px !important;
  margin:2px 0 0 50% !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.app-footer .footer-waves svg{display:block;width:100%;height:100%}
.app-footer .footer-waves .wave{vector-effect:non-scaling-stroke}
.app-footer .footer-waves .wave-back{fill:rgba(164,116,255,.08)}
.app-footer .footer-waves .wave-mid{fill:rgba(145,88,245,.12)}
.app-footer .footer-waves .wave-front{fill:rgba(111,53,226,.18)}

@media(max-width:700px){
  .app-footer{margin-top:10px !important}
  .app-footer .footer-main{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:17px !important;
  }
  .footer-brand{justify-content:center}
  .footer-nav{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:6px !important;
    width:100% !important;
  }
  .footer-nav a{
    justify-content:center !important;
    flex-direction:column !important;
    gap:2px !important;
    min-height:38px !important;
    padding:5px 3px !important;
    border-radius:10px !important;
  }
  .footer-nav a span{font-size:13px}
  .footer-nav a b{font-size:9px}
  .footer-copy{text-align:center !important;font-size:9px !important}
  .app-footer .footer-waves{height:40px !important;margin-top:0 !important}
}
@media(max-width:380px){
  .footer-nav a b{font-size:8px}
  .footer-copy{font-size:8px !important}
}

/* V57 — Compact Android-style footer / eliminate excess bottom whitespace */
html, body { margin-bottom:0 !important; padding-bottom:0 !important; }
.auth-page { padding-bottom:0 !important; margin-bottom:0 !important; min-height:auto !important; }
.app-footer { margin-top:8px !important; margin-bottom:0 !important; padding-bottom:0 !important; }
.app-footer .footer-main { margin-bottom:0 !important; }
.app-footer .footer-waves {
  height:22px !important;
  min-height:22px !important;
  max-height:22px !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  overflow:hidden !important;
}
.app-footer .footer-waves svg { height:22px !important; }
@media (max-width:700px){
  .app-footer { margin-top:6px !important; }
  .app-footer .footer-main { gap:7px !important; padding:9px 10px !important; }
  .app-footer .footer-waves, .app-footer .footer-waves svg { height:18px !important; min-height:18px !important; max-height:18px !important; }
}


/* V61 — ULTRA COMPACT FOOTER / REMOVE DECORATIVE WAVE GAP */
.app-footer{
  margin-top:4px !important;
  margin-bottom:0 !important;
  padding-top:4px !important;
  padding-bottom:0 !important;
  min-height:0 !important;
}
.app-footer .footer-main{
  margin:0 !important;
  padding:8px 10px !important;
  min-height:0 !important;
}
.app-footer .footer-waves{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.auth-page{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
@media(max-width:700px){
  .app-footer{
    margin-top:3px !important;
    padding-top:3px !important;
  }
  .app-footer .footer-main{
    padding:7px 8px !important;
    gap:5px !important;
  }
}


/* V62 — Reference footer: larger Android-style typography, no standalone S icon,
   2026 copyright, compact spacing, and a short decorative wave. */
.app-footer{
  width:100% !important;
  margin:6px 0 0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#6f6b7c !important;
  line-height:1.3 !important;
  overflow:visible !important;
}
.app-footer .footer-main{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
  padding:14px 12px 10px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.app-footer .footer-brand{
  display:block !important;
  min-width:0 !important;
  text-align:center !important;
}
.app-footer .footer-brand strong{
  display:block !important;
  color:#252331 !important;
  font-size:30px !important;
  font-weight:850 !important;
  line-height:1.08 !important;
  letter-spacing:-.8px !important;
}
.app-footer .footer-brand-purple{
  color:#6734d7 !important;
}
.app-footer .footer-brand small{
  display:block !important;
  margin-top:6px !important;
  color:#777385 !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:500 !important;
}
.app-footer .footer-nav{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  width:min(100%,1000px) !important;
  gap:12px !important;
  align-items:stretch !important;
  justify-content:center !important;
}
.app-footer .footer-nav a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  min-height:58px !important;
  padding:10px 14px !important;
  border:1.5px solid #e1d5f4 !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.9) !important;
  color:#5e32c9 !important;
  text-decoration:none !important;
  font-size:18px !important;
  font-weight:700 !important;
  box-shadow:0 4px 14px rgba(93,50,201,.06) !important;
}
.app-footer .footer-nav a span{
  font-size:21px !important;
  line-height:1 !important;
}
.app-footer .footer-nav a b{
  font-size:18px !important;
  font-weight:750 !important;
}
.app-footer .footer-nav a:hover,
.app-footer .footer-nav a:active{
  transform:translateY(-2px) !important;
  background:#faf7ff !important;
  box-shadow:0 7px 18px rgba(93,50,201,.10) !important;
}
.app-footer .footer-divider{
  width:min(100%,1000px) !important;
  height:1px !important;
  margin:2px 0 0 !important;
  background:#e8e0f4 !important;
  position:relative !important;
}
.app-footer .footer-divider span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:10px !important;
  height:10px !important;
  border-radius:50% !important;
  background:#7845dc !important;
  transform:translate(-50%,-50%) !important;
  box-shadow:0 0 0 5px #fff !important;
}
.app-footer .footer-copy{
  white-space:normal !important;
  text-align:center !important;
  color:#777385 !important;
  font-size:17px !important;
  line-height:1.3 !important;
}
.app-footer .footer-copy span{
  padding:0 5px !important;
  color:#9a72e6 !important;
}
.app-footer .footer-waves{
  display:block !important;
  position:relative !important;
  z-index:1 !important;
  width:100vw !important;
  height:48px !important;
  margin:2px 0 0 50% !important;
  transform:translateX(-50%) !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.app-footer .footer-waves svg{
  display:block !important;
  width:100% !important;
  height:100% !important;
}
.app-footer .footer-waves .wave-back{fill:rgba(164,116,255,.08) !important}
.app-footer .footer-waves .wave-mid{fill:rgba(145,88,245,.13) !important}
.app-footer .footer-waves .wave-front{fill:rgba(111,53,226,.20) !important}

.auth-page{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}
@media(max-width:700px){
  .app-footer{margin-top:4px !important}
  .app-footer .footer-main{
    gap:11px !important;
    padding:10px 8px 7px !important;
  }
  .app-footer .footer-brand strong{font-size:27px !important}
  .app-footer .footer-brand small{font-size:16px !important;margin-top:5px !important}
  .app-footer .footer-nav{
    grid-template-columns:repeat(4,1fr) !important;
    gap:6px !important;
  }
  .app-footer .footer-nav a{
    min-height:54px !important;
    padding:8px 3px !important;
    border-radius:13px !important;
    flex-direction:column !important;
    gap:4px !important;
  }
  .app-footer .footer-nav a span{font-size:20px !important}
  .app-footer .footer-nav a b{font-size:14px !important}
  .app-footer .footer-copy{font-size:15px !important}
  .app-footer .footer-waves{height:38px !important;margin-top:1px !important}
}
@media(max-width:380px){
  .app-footer .footer-brand strong{font-size:24px !important}
  .app-footer .footer-brand small{font-size:14px !important}
  .app-footer .footer-nav a b{font-size:12px !important}
  .app-footer .footer-copy{font-size:13px !important}
}


/* V61 — Reference-matched footer + compact one-line welcome */
.welcome-copy h1{
  font-size:42px !important;
  line-height:1.08 !important;
  letter-spacing:-1.6px !important;
  margin:0 0 18px !important;
  white-space:nowrap !important;
}
.welcome-copy h1 em{font-style:normal !important;color:var(--purple) !important}

.app-footer{
  width:100% !important;
  max-width:100% !important;
  margin:20px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  overflow:hidden !important;
}
.app-footer .footer-main{
  display:block !important;
  padding:28px 38px 20px !important;
  border:0 !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.97) !important;
  box-shadow:none !important;
  text-align:center !important;
}
.app-footer .footer-brand{
  display:block !important;
  margin:0 0 24px !important;
}
.app-footer .footer-brand strong{
  display:block !important;
  color:#182033 !important;
  font-size:38px !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  letter-spacing:-1.2px !important;
}
.app-footer .footer-brand-purple{color:#5426d8 !important}
.app-footer .footer-brand small{
  display:block !important;
  margin-top:10px !important;
  color:#555d70 !important;
  font-size:23px !important;
  line-height:1.2 !important;
  white-space:normal !important;
}
.app-footer .footer-nav{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  margin:0 !important;
}
.app-footer .footer-nav a{
  min-height:76px !important;
  padding:14px 18px !important;
  justify-content:center !important;
  gap:14px !important;
  border:1.5px solid #e5def8 !important;
  border-radius:17px !important;
  background:#fff !important;
  color:#182033 !important;
  font-size:23px !important;
  box-shadow:0 2px 8px rgba(81,45,150,.03) !important;
}
.app-footer .footer-nav a span{
  color:#5426d8 !important;
  font-size:31px !important;
}
.app-footer .footer-nav a b{
  font-weight:750 !important;
}
.app-footer .footer-divider{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin:28px 0 18px !important;
  height:2px !important;
  background:linear-gradient(to right,transparent 0,transparent 47%,#ece7f7 47%,#ece7f7 53%,transparent 53%,transparent 100%) !important;
  position:relative !important;
}
.app-footer .footer-divider:before,
.app-footer .footer-divider:after{
  content:"" !important;
  flex:1 !important;
  height:1.5px !important;
  background:#e7e1f2 !important;
}
.app-footer .footer-divider span{
  width:14px !important;
  height:14px !important;
  flex:0 0 14px !important;
  border-radius:50% !important;
  background:#6b35df !important;
  display:block !important;
}
.app-footer .footer-copy{
  white-space:normal !important;
  text-align:center !important;
  color:#555d70 !important;
  font-size:20px !important;
  line-height:1.35 !important;
}
.app-footer .footer-copy span{padding:0 7px !important;color:#777 !important}
.app-footer .footer-waves{
  width:100vw !important;
  height:62px !important;
  margin:8px 0 0 50% !important;
  transform:translateX(-50%) !important;
  overflow:hidden !important;
}
@media(max-width:700px){
  .welcome-copy h1{
    font-size:30px !important;
    letter-spacing:-1px !important;
    margin-bottom:12px !important;
  }
  .app-footer{
    margin-top:12px !important;
  }
  .app-footer .footer-main{
    padding:22px 14px 14px !important;
    border-radius:18px !important;
  }
  .app-footer .footer-brand{margin-bottom:18px !important}
  .app-footer .footer-brand strong{font-size:30px !important}
  .app-footer .footer-brand small{font-size:18px !important;margin-top:7px !important}
  .app-footer .footer-nav{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .app-footer .footer-nav a{
    min-height:62px !important;
    padding:10px 8px !important;
    gap:9px !important;
    border-radius:15px !important;
    font-size:18px !important;
  }
  .app-footer .footer-nav a span{font-size:24px !important}
  .app-footer .footer-divider{margin:20px 0 14px !important}
  .app-footer .footer-copy{font-size:16px !important}
  .app-footer .footer-waves{height:48px !important;margin-top:5px !important}
}


/* V63 — FINAL reference match: compact one-line Welcome + tight footer */
.welcome-copy h1{
  font-size:32px !important;
  line-height:1.05 !important;
  letter-spacing:-1px !important;
  margin:0 0 14px !important;
  white-space:nowrap !important;
}
.welcome-copy h1 em{font-style:normal !important;color:var(--purple) !important}

.app-footer{
  width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.app-footer .footer-main{
  display:block !important;
  padding:20px 28px 16px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.97) !important;
  box-shadow:none !important;
  text-align:center !important;
}
.app-footer .footer-brand{
  display:block !important;
  margin:0 0 18px !important;
  text-align:center !important;
}
.app-footer .footer-brand strong{
  display:block !important;
  color:#182033 !important;
  font-size:34px !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  letter-spacing:-1px !important;
}
.app-footer .footer-brand-purple{color:#5426d8 !important}
.app-footer .footer-brand small{
  display:block !important;
  margin-top:7px !important;
  color:#555d70 !important;
  font-size:20px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
.app-footer .footer-nav{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
  margin:0 !important;
}
.app-footer .footer-nav a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:68px !important;
  padding:12px 14px !important;
  gap:11px !important;
  border:1.5px solid #e5def8 !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#182033 !important;
  text-decoration:none !important;
  font-size:20px !important;
  font-weight:700 !important;
  box-shadow:0 2px 8px rgba(81,45,150,.035) !important;
}
.app-footer .footer-nav a span{
  color:#5426d8 !important;
  font-size:27px !important;
  line-height:1 !important;
}
.app-footer .footer-nav a b{font-size:20px !important;font-weight:750 !important}
.app-footer .footer-divider{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  margin:20px 0 14px !important;
  height:2px !important;
  background:none !important;
}
.app-footer .footer-divider:before,
.app-footer .footer-divider:after{
  content:"" !important;
  flex:1 !important;
  height:1.5px !important;
  background:#e7e1f2 !important;
}
.app-footer .footer-divider span{
  width:12px !important;
  height:12px !important;
  flex:0 0 12px !important;
  border-radius:50% !important;
  background:#6b35df !important;
  box-shadow:0 0 0 4px #fff !important;
}
.app-footer .footer-copy{
  white-space:normal !important;
  text-align:center !important;
  color:#555d70 !important;
  font-size:18px !important;
  line-height:1.3 !important;
}
.app-footer .footer-copy span{padding:0 6px !important;color:#777 !important}
.app-footer .footer-waves{
  width:100vw !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:2px 0 0 50% !important;
  transform:translateX(-50%) !important;
  overflow:hidden !important;
}
.app-footer .footer-waves svg{width:100% !important;height:42px !important;display:block !important}

@media(max-width:700px){
  .welcome-copy h1{
    font-size:26px !important;
    letter-spacing:-.7px !important;
    margin:0 0 10px !important;
  }
  .app-footer{margin-top:6px !important}
  .app-footer .footer-main{padding:16px 10px 10px !important}
  .app-footer .footer-brand{margin-bottom:14px !important}
  .app-footer .footer-brand strong{font-size:28px !important}
  .app-footer .footer-brand small{font-size:16px !important;margin-top:5px !important}
  .app-footer .footer-nav{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .app-footer .footer-nav a{
    min-height:58px !important;
    padding:8px 6px !important;
    gap:7px !important;
    border-radius:13px !important;
    font-size:17px !important;
  }
  .app-footer .footer-nav a span{font-size:22px !important}
  .app-footer .footer-nav a b{font-size:16px !important}
  .app-footer .footer-divider{margin:15px 0 11px !important}
  .app-footer .footer-copy{font-size:14px !important}
  .app-footer .footer-waves,
  .app-footer .footer-waves svg{
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
  }
}
@media(max-width:380px){
  .welcome-copy h1{font-size:23px !important}
  .app-footer .footer-brand strong{font-size:25px !important}
  .app-footer .footer-brand small{font-size:14px !important}
  .app-footer .footer-nav a b{font-size:14px !important}
  .app-footer .footer-copy{font-size:13px !important}
}


/* V64 — FINAL COMPACT REFERENCE UI
   Requested: one-line medium/compact Welcome Back greeting and a
   reference-style Android/SaaS footer with no oversized bottom gap. */
.welcome-copy h1{
  display:block !important;
  width:100% !important;
  margin:0 0 12px !important;
  font-size:36px !important;
  line-height:1.08 !important;
  letter-spacing:-1.2px !important;
  white-space:nowrap !important;
}
.welcome-copy h1 em{font-style:normal !important;color:var(--purple) !important}

.app-footer{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  overflow:visible !important;
  text-align:center !important;
  color:#555d70 !important;
}
.app-footer .footer-main{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:18px 20px 12px !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:none !important;
  text-align:center !important;
}
.app-footer .footer-brand{
  display:block !important;
  margin:0 0 16px !important;
  text-align:center !important;
}
.app-footer .footer-brand strong{
  display:block !important;
  color:#182033 !important;
  font-size:34px !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  letter-spacing:-1px !important;
}
.app-footer .footer-brand-purple{color:#5426d8 !important}
.app-footer .footer-brand small{
  display:block !important;
  margin:6px 0 0 !important;
  color:#555d70 !important;
  font-size:19px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}
.app-footer .footer-nav{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  width:100% !important;
  margin:0 !important;
}
.app-footer .footer-nav a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:64px !important;
  box-sizing:border-box !important;
  padding:10px 12px !important;
  gap:10px !important;
  border:1.5px solid #e5def8 !important;
  border-radius:15px !important;
  background:#fff !important;
  color:#182033 !important;
  text-decoration:none !important;
  font-size:19px !important;
  font-weight:700 !important;
  box-shadow:0 2px 8px rgba(81,45,150,.035) !important;
}
.app-footer .footer-nav a span{
  color:#5426d8 !important;
  font-size:25px !important;
  line-height:1 !important;
}
.app-footer .footer-nav a b{font-size:19px !important;font-weight:750 !important}
.app-footer .footer-divider{
  display:flex !important;
  align-items:center !important;
  gap:15px !important;
  width:100% !important;
  height:2px !important;
  margin:17px 0 12px !important;
  background:none !important;
}
.app-footer .footer-divider:before,
.app-footer .footer-divider:after{
  content:"" !important;
  flex:1 !important;
  height:1.5px !important;
  background:#e7e1f2 !important;
}
.app-footer .footer-divider span{
  width:11px !important;
  height:11px !important;
  flex:0 0 11px !important;
  border-radius:50% !important;
  background:#6b35df !important;
  box-shadow:0 0 0 4px #fff !important;
}
.app-footer .footer-copy{
  white-space:nowrap !important;
  text-align:center !important;
  color:#555d70 !important;
  font-size:17px !important;
  line-height:1.3 !important;
}
.app-footer .footer-copy span{padding:0 6px !important;color:#777 !important}
.app-footer .footer-waves{
  display:block !important;
  position:relative !important;
  width:100vw !important;
  height:38px !important;
  min-height:38px !important;
  max-height:38px !important;
  margin:2px 0 0 50% !important;
  transform:translateX(-50%) !important;
  overflow:hidden !important;
  pointer-events:none !important;
}
.app-footer .footer-waves svg{display:block !important;width:100% !important;height:38px !important}

@media(max-width:700px){
  .welcome-copy h1{
    font-size:27px !important;
    line-height:1.08 !important;
    letter-spacing:-.8px !important;
    margin-bottom:9px !important;
  }
  .app-footer{margin-top:6px !important}
  .app-footer .footer-main{padding:15px 10px 9px !important}
  .app-footer .footer-brand{margin-bottom:12px !important}
  .app-footer .footer-brand strong{font-size:28px !important}
  .app-footer .footer-brand small{font-size:15px !important;margin-top:5px !important}
  .app-footer .footer-nav{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:6px !important;
  }
  .app-footer .footer-nav a{
    min-height:52px !important;
    padding:6px 3px !important;
    gap:4px !important;
    border-radius:12px !important;
    flex-direction:column !important;
  }
  .app-footer .footer-nav a span{font-size:19px !important}
  .app-footer .footer-nav a b{font-size:11px !important}
  .app-footer .footer-divider{margin:13px 0 9px !important}
  .app-footer .footer-copy{font-size:12px !important}
  .app-footer .footer-waves,
  .app-footer .footer-waves svg{
    height:24px !important;
    min-height:24px !important;
    max-height:24px !important;
  }
}
@media(max-width:380px){
  .welcome-copy h1{font-size:24px !important}
  .app-footer .footer-brand strong{font-size:25px !important}
  .app-footer .footer-brand small{font-size:13px !important}
  .app-footer .footer-nav a b{font-size:10px !important}
  .app-footer .footer-copy{font-size:11px !important}
}

/* FINAL SVG TAB ICON FIX — prevents SVG sizing collisions on mobile. */
.tabs .tab {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  line-height:1 !important;
}
.tabs .tab .tab-icon {
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
  flex:0 0 20px !important;
  display:block !important;
  margin:0 !important;
  vertical-align:middle !important;
}
.tabs .tab span {
  display:inline-block !important;
  line-height:1 !important;
}
@media(max-width:560px){
  .tabs .tab { font-size:15px !important; gap:7px !important; }
  .tabs .tab .tab-icon { width:19px !important; height:19px !important; min-width:19px !important; min-height:19px !important; max-width:19px !important; max-height:19px !important; flex-basis:19px !important; }
}

.impersonation-banner{position:sticky;top:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 12px;background:#fff7df;border-bottom:1px solid #f0d58a;color:#5d4a16;font-size:12px;font-weight:700}
.impersonation-banner button{border:0;border-radius:999px;padding:6px 10px;background:#5d3bc4;color:#fff;font-weight:800;cursor:pointer}
.impersonation-banner button:disabled{opacity:.6}

/* SUPPORT-CLIENT-CONNECTION-V1 */
.support-client-list{display:grid;gap:10px}.support-client-card{border:1px solid #e7e2ed;border-radius:16px;padding:12px;background:#fff;margin-top:10px}.support-client-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.support-client-head b,.support-client-head small{display:block}.support-client-head small{color:#777;font-size:10px;margin-top:2px}.support-client-card>p{padding:9px 10px;background:#f8f6fb;border-radius:11px;font-size:11px;word-break:break-word}.support-client-thread{display:grid;gap:7px}.support-client-message{padding:8px 10px;border-radius:11px;background:#faf9fc}.support-client-message b{font-size:10px}.support-client-message small{color:#888;margin-left:7px;font-size:9px}.support-client-message p{margin:4px 0 0;font-size:11px}.support-reply-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.support-reply-row input{min-height:40px;border:1px solid #e2ddea;border-radius:11px;padding:0 10px}
@media(max-width:700px){.support-reply-row{grid-template-columns:1fr}.support-reply-row button{width:100%}}

/* PAYMENT METHODS SMART UI — compact logo-top / name-below layout */
.wallet-fund-panel-pro{overflow:hidden}
.smart-payment-label{display:block;margin-bottom:10px;font-weight:800}
.payment-method-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}
.payment-method-tile{position:relative;aspect-ratio:1/1;min-height:0;border:1px solid #e5e0eb;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:10px 7px;cursor:pointer;transition:.18s;box-shadow:0 2px 8px rgba(36,18,70,.03);text-align:center;overflow:hidden}
.payment-method-tile:hover{transform:translateY(-1px);border-color:#7b2cff}
.payment-method-tile.selected{border:2px solid #6f22ef;background:#fbf8ff;box-shadow:0 5px 16px rgba(111,34,239,.12)}
.payment-method-tile i{position:absolute;right:7px;top:7px;width:22px;height:22px;border-radius:50%;background:#6f22ef;color:#fff;font-style:normal;font-size:12px;display:flex;align-items:center;justify-content:center}
.payment-tile-icon{height:48px;width:100%;flex:0 0 48px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:#6f22ef;overflow:hidden}
.payment-tile-icon img{max-width:58px;max-height:46px;width:auto;height:auto;object-fit:contain;display:block}
.payment-method-tile strong{font-size:11px;line-height:1.15;text-align:center;color:#24202d;display:block;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
.payment-method-tile small{font-size:9px;display:block;margin-top:1px;font-weight:700}
.payment-method-tile.mode-automatic small{color:#16a05d}
.payment-method-tile.mode-manual small{color:#6f22ef}
.payment-method-tile.mode-link small{color:#2d7bdc}
#fundMethod{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.fund-amount-presets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:9px 0 12px}
.fund-amount-presets button{height:38px;border:1px solid #e4dfea;background:#fff;border-radius:10px;font-weight:700;color:#35303e;cursor:pointer}
.fund-amount-presets button.active,.fund-amount-presets button:hover{background:#6f22ef;color:#fff;border-color:#6f22ef}
.payment-method-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid #e4d9fb;background:linear-gradient(135deg,#faf7ff,#fff);border-radius:15px;padding:13px;margin:7px 0 12px}
.payment-method-preview>div{display:flex;flex-direction:column;gap:4px}
.payment-method-preview span{font-size:10px;color:#827b8d}.payment-method-preview b,.payment-method-preview strong{font-size:14px}.payment-method-preview .total{grid-column:1/-1;border-top:1px solid #e8e1f1;padding-top:10px;flex-direction:row;justify-content:space-between;align-items:center}
.payment-method-guide{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e3daf8;background:#faf8ff;border-radius:14px;margin:8px 0 12px}
.payment-guide-icon{width:28px;height:28px;border-radius:9px;background:#eee5ff;color:#6f22ef;display:flex;align-items:center;justify-content:center;flex:0 0 28px;font-weight:900}.payment-method-guide strong{font-size:12px}.payment-method-guide p{font-size:10px;color:#716b7a;margin:3px 0 0;line-height:1.45}
@media(max-width:1100px){.payment-method-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
 .wallet-page-head h1{font-size:25px!important}.wallet-page-head p{font-size:12px!important}
 .wallet-fund-panel-pro{padding:13px!important;border-radius:18px!important}
 .wallet-fund-panel-pro .wallet-pro-head h2{font-size:20px!important}
 .wallet-fund-panel-pro .wallet-pro-head p{font-size:11px!important;line-height:1.5}
 .payment-method-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .payment-method-tile{min-height:82px;padding:9px 8px;border-radius:14px;gap:8px}
 .payment-tile-icon{height:44px;width:55px;flex-basis:55px}.payment-tile-icon img{max-width:54px;max-height:43px}
 .payment-method-tile strong{font-size:11px}.payment-method-tile small{font-size:8px}
 .fund-amount-presets{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.fund-amount-presets button{height:34px;font-size:10px}
 .payment-method-preview{gap:8px;padding:11px}.payment-method-preview b,.payment-method-preview strong{font-size:12px}
 .wallet-data-panel .table-wrap{overflow:visible}.wallet-data-panel table{display:block}.wallet-data-panel thead{display:none}.wallet-data-panel tbody{display:grid;gap:7px}.wallet-data-panel tbody tr{display:grid;grid-template-columns:44px 1fr auto;gap:5px;align-items:center;padding:10px;border:1px solid #ece7f0;border-radius:12px;background:#fff}.wallet-data-panel tbody td{border:0!important;padding:0!important;font-size:10px}.wallet-data-panel tbody td:nth-child(3){text-align:right;font-weight:800}.wallet-data-panel tbody td:nth-child(4){grid-column:3;text-align:right}.wallet-data-panel tbody td:nth-child(5){grid-column:2/4;color:#8a8391;font-size:9px}
}


/* ===== V5: Payment checkout modal reference state ===== */
.payment-method-sheet{width:min(680px,calc(100vw - 24px));max-height:92vh;overflow:auto;border-radius:24px!important;padding:24px!important;background:#fff;box-shadow:0 24px 80px rgba(35,16,70,.24)}
.payment-method-modal-icon{width:52px!important;height:52px!important;border-radius:15px!important;background:#f1e9ff!important;color:#6822e8!important;display:grid!important;place-items:center!important;font-size:25px!important;font-weight:900!important}
.payment-method-modal-kicker{margin-top:12px;color:#6721dc;font-size:10px;font-weight:900;letter-spacing:.14em}
.payment-method-sheet h2{font-size:25px!important;margin:5px 0 16px!important}
.payment-steps{margin:4px 0 22px!important}
.payment-step:not(:last-child)::after{background:#dcd5e9!important}
.payment-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;padding:14px;border:1px solid #e6e0ef;border-radius:16px;background:#faf8fd}
.payment-summary-grid>div{display:flex;flex-direction:column;gap:5px}.payment-summary-grid small{color:#777}.payment-summary-grid b{color:#5f20d8;font-size:17px}
@media(max-width:600px){.payment-method-sheet{padding:18px!important;border-radius:20px!important}.payment-method-sheet h2{font-size:21px!important}.payment-summary-grid{grid-template-columns:1fr 1fr}}


/* =========================================================
   V9 FINAL — PAYMENT CHECKOUT REFERENCE MATCH
   Mobile-first, data-driven, keeps existing payment logic.
   ========================================================= */
.payment-checkout-reference{
  width:min(680px,calc(100vw - 18px))!important;
  max-height:94vh!important;
  overflow:auto!important;
  padding:22px!important;
  border:1px solid #e7def4!important;
  background:#fff!important;
  border-radius:26px!important;
  box-shadow:0 28px 90px rgba(42,20,79,.28),0 0 0 1px rgba(105,35,225,.035)!important;
}
.payment-checkout-header{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding-right:42px!important;
}
.payment-checkout-logo{
  width:76px!important;height:76px!important;flex:0 0 76px!important;
  display:grid!important;place-items:center!important;
  border:1px solid #ded6ea!important;border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(52,27,94,.08)!important;
  overflow:hidden!important;
}
.payment-checkout-logo img{
  width:58px!important;height:58px!important;object-fit:contain!important;
  display:block!important;
}
.payment-checkout-title{min-width:0}
.payment-checkout-title .payment-method-modal-kicker{margin-top:0!important;margin-bottom:2px!important}
.payment-checkout-title h2{
  font-size:27px!important;line-height:1.15!important;
  margin:0 0 7px!important;letter-spacing:-.5px!important;
}
.payment-mode-badge{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  padding:5px 9px!important;border-radius:999px!important;
  background:#f1e7ff!important;color:#5f1bd4!important;
  font-size:11px!important;font-weight:800!important;
}
.payment-mode-badge.automatic{background:#e9f9ef!important;color:#138044!important}

.payment-checkout-reference .payment-steps{
  margin:22px 0 20px!important;
}
.payment-checkout-reference .payment-step{
  font-size:11px!important;
}
.payment-checkout-reference .payment-step-dot{
  width:34px!important;height:34px!important;
  border-width:1.5px!important;
}
.payment-checkout-reference .payment-step:not(:last-child)::after{
  top:17px!important;height:2px!important;
}
.payment-checkout-reference .payment-step.active .payment-step-dot{
  box-shadow:0 0 0 4px rgba(105,34,232,.08)!important;
}

.payment-reference-summary{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  padding:0!important;margin:0 0 14px!important;
  border:0!important;background:transparent!important;
}
.payment-summary-card{
  min-height:88px!important;
  display:flex!important;align-items:center!important;gap:11px!important;
  padding:14px!important;
  border:1px solid #e2dce9!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 3px 12px rgba(45,20,81,.035)!important;
}
.payment-summary-icon{
  width:46px!important;height:46px!important;flex:0 0 46px!important;
  display:grid!important;place-items:center!important;
  border-radius:12px!important;font-size:21px!important;font-weight:900!important;
}
.payment-summary-icon.wallet{background:#efe6ff!important;color:#6320d9!important}
.payment-summary-icon.pay{background:#ffe9f1!important;color:#d82c69!important}
.payment-summary-card small{
  display:block!important;color:#777181!important;font-size:12px!important;
  margin-bottom:4px!important;
}
.payment-summary-card b{font-size:18px!important;color:#17131f!important}

.payment-checkout-reference .payment-method-account{
  display:flex!important;align-items:center!important;gap:12px!important;
  margin:0 0 14px!important;padding:14px 12px!important;
  border:1px solid #cfe9dc!important;border-radius:16px!important;
  background:#f3fbf6!important;
}
.payment-checkout-reference .payment-method-account.hidden{display:none!important}
.payment-account-icon{
  width:42px!important;height:42px!important;flex:0 0 42px!important;
  display:grid!important;place-items:center!important;
  border-radius:11px!important;background:#dcf4e8!important;color:#258c68!important;
}
.payment-account-copy{min-width:0;flex:1}
.payment-account-copy small{display:block!important;color:#5c6c64!important;font-size:11px!important;margin-bottom:3px!important}
.payment-account-copy strong{display:block!important;font-size:20px!important;letter-spacing:.3px!important;color:#14151a!important}
#paymentMethodCopy{
  min-height:42px!important;padding:0 15px!important;border-radius:12px!important;
  border:1px solid #dcd5e7!important;background:#fff!important;color:#5f20d8!important;
  font-size:13px!important;font-weight:800!important;white-space:nowrap!important;
  box-shadow:0 2px 7px rgba(44,20,80,.04)!important;
}

.payment-language-switch{
  display:grid!important;grid-template-columns:1fr 1fr!important;
  border:1px solid #ddd5e8!important;border-radius:12px!important;
  padding:2px!important;background:#fff!important;margin:0 0 12px!important;
}
.payment-language-switch button{
  min-height:48px!important;border:0!important;border-radius:10px!important;
  background:transparent!important;color:#24202c!important;
  font-size:14px!important;font-weight:800!important;cursor:pointer!important;
}
.payment-language-switch button.active{
  color:#fff!important;
  background:linear-gradient(135deg,#6120df,#8b2dff)!important;
  box-shadow:0 5px 15px rgba(104,32,230,.18)!important;
}

.reference-instructions{
  padding:17px!important;
  margin:0 0 12px!important;
  border:1px solid #e2d9ee!important;
  border-radius:16px!important;
  background:#fff!important;
}
.payment-instruction-list{display:grid!important;gap:14px!important}
.payment-instruction-row{
  display:grid!important;grid-template-columns:34px 1fr!important;
  gap:10px!important;align-items:start!important;
}
.payment-instruction-row>span{
  width:30px!important;height:30px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;
  color:#fff!important;background:linear-gradient(135deg,#5d1ed8,#842bfa)!important;
  font-weight:900!important;font-size:13px!important;
  box-shadow:0 4px 10px rgba(98,30,220,.15)!important;
}
.payment-instruction-row p{
  margin:2px 0 0!important;color:#28232f!important;
  font-size:14px!important;line-height:1.65!important;
}
.payment-instruction-empty{color:#777181!important;font-size:13px!important}

.payment-important{
  display:flex!important;gap:10px!important;align-items:flex-start!important;
  margin:0 0 14px!important;padding:12px 13px!important;
  border:1px solid #d9c7f4!important;border-radius:14px!important;
  background:#fbf7ff!important;color:#5d20ca!important;
}
.payment-important>span{
  width:30px!important;height:30px!important;flex:0 0 30px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;background:#eee2ff!important;
}
.payment-important p{margin:3px 0 0!important;font-size:12px!important;line-height:1.5!important}
.payment-important b{font-weight:900!important}

.payment-checkout-reference .payment-method-ref{margin-top:0!important}
.payment-checkout-reference .payment-method-ref label{
  display:block!important;margin:0 0 8px!important;
  color:#201c27!important;font-size:15px!important;font-weight:900!important;
}
.payment-reference-input-wrap{position:relative!important}
.payment-reference-input-wrap input{
  width:100%!important;min-height:54px!important;
  padding:0 48px 0 15px!important;
  border:1px solid #bfa6e6!important;border-radius:14px!important;
  background:#fff!important;color:#19151f!important;
  font-size:15px!important;outline:0!important;
}
.payment-reference-input-wrap input:focus{
  border-color:#7025ed!important;
  box-shadow:0 0 0 3px rgba(112,37,237,.10)!important;
}
.payment-reference-input-wrap>span{
  position:absolute!important;right:15px!important;top:50%!important;
  transform:translateY(-50%)!important;color:#777181!important;font-size:18px!important;
}
#paymentRefHint{
  display:block!important;margin:7px 0 0!important;
  color:#777181!important;font-size:12px!important;line-height:1.45!important;
}
.payment-checkout-reference .payment-method-submit{
  width:100%!important;min-height:58px!important;
  margin-top:17px!important;border-radius:14px!important;
  background:linear-gradient(100deg,#5f18e5,#8b27ff)!important;
  box-shadow:0 9px 22px rgba(103,26,230,.22)!important;
  font-size:17px!important;font-weight:900!important;
}
.payment-security-note{
  display:flex!important;gap:10px!important;align-items:flex-start!important;
  margin-top:14px!important;padding:13px!important;
  border:1px solid #cce9dc!important;border-radius:14px!important;
  background:#f0fbf5!important;color:#1e7654!important;
}
.payment-security-note>span{
  width:31px!important;height:31px!important;flex:0 0 31px!important;
  display:grid!important;place-items:center!important;border-radius:50%!important;
  background:#daf3e6!important;color:#15915d!important;font-weight:900!important;
}
.payment-security-note p{margin:2px 0 0!important;font-size:12px!important;line-height:1.5!important}
.payment-security-note b{font-weight:900!important}

@media(max-width:600px){
  .payment-checkout-reference{
    width:calc(100vw - 10px)!important;
    max-height:calc(100vh - 8px)!important;
    padding:18px!important;border-radius:24px 24px 0 0!important;
    margin-top:auto!important;
  }
  .payment-checkout-header{gap:12px!important;padding-right:38px!important}
  .payment-checkout-logo{width:64px!important;height:64px!important;flex-basis:64px!important;border-radius:16px!important}
  .payment-checkout-logo img{width:51px!important;height:51px!important}
  .payment-checkout-title h2{font-size:24px!important}
  .payment-mode-badge{font-size:10px!important;padding:4px 8px!important}
  .payment-checkout-reference .payment-steps{margin:18px 0 18px!important}
  .payment-checkout-reference .payment-step{font-size:10px!important}
  .payment-checkout-reference .payment-step-dot{width:32px!important;height:32px!important}
  .payment-checkout-reference .payment-step:not(:last-child)::after{top:16px!important}
  .payment-summary-card{min-height:80px!important;padding:11px!important;gap:8px!important}
  .payment-summary-icon{width:40px!important;height:40px!important;flex-basis:40px!important;font-size:18px!important}
  .payment-summary-card small{font-size:11px!important}
  .payment-summary-card b{font-size:16px!important}
  .payment-account-copy strong{font-size:18px!important}
  #paymentMethodCopy{padding:0 12px!important;font-size:12px!important}
  .payment-language-switch button{min-height:45px!important;font-size:13px!important}
  .reference-instructions{padding:15px!important}
  .payment-instruction-row{grid-template-columns:30px 1fr!important;gap:8px!important}
  .payment-instruction-row>span{width:28px!important;height:28px!important;font-size:12px!important}
  .payment-instruction-row p{font-size:13px!important;line-height:1.6!important}
  .payment-important{padding:11px!important}
  .payment-checkout-reference .payment-method-submit{min-height:56px!important;font-size:16px!important}
}


/* =========================================================
   FORGOT PASSWORD — MOBILE-FIRST POLISHED UI
   Functionality preserved; only forgot-password presentation.
   ========================================================= */
.auth-shell{
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 18px;
  background:
    radial-gradient(circle at 85% 8%,rgba(125,45,255,.10),transparent 30%),
    radial-gradient(circle at 8% 92%,rgba(192,68,255,.07),transparent 28%),
    #faf9fd;
}
.auth-card{
  width:min(500px,100%);
  padding:30px;
  background:rgba(255,255,255,.97);
  border:1px solid #e5def1;
  border-radius:26px;
  box-shadow:0 22px 65px rgba(65,30,125,.12),0 2px 10px rgba(65,30,125,.04);
  position:relative;
  overflow:hidden;
}
.auth-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,#6324e8,#8a3dff,#c044ff);
}
.auth-card .brand{margin-bottom:34px}
.auth-card .brand-mark{width:52px;height:52px;flex-basis:52px;border-radius:15px;font-size:30px}
.auth-card .brand-name{font-size:25px}
.auth-card h1{
  margin:0 0 10px;
  font-size:42px;
  line-height:1.08;
  letter-spacing:-1.7px;
}
.auth-card .intro{
  margin:0 0 28px;
  color:#777385;
  font-size:15px;
  line-height:1.65;
}
.auth-card form label{font-size:14px;margin-bottom:9px}
.auth-card .input-wrap{
  width:100%;
  height:58px;
  margin-bottom:16px;
  border-radius:15px;
  padding:0 14px;
  background:#fff;
}
.auth-card .input-wrap .line-icon{
  width:30px;
  flex:0 0 30px;
  color:#6324e8;
  font-size:18px;
  display:grid;
  place-items:center;
}
.auth-card .input-wrap input{
  font-size:16px;
  min-width:0;
}
.auth-card button.primary{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:16px;
  background:linear-gradient(100deg,#6324e8,#8a2df2,#c044ff);
  color:#fff;
  font-size:16px;
  font-weight:800;
  box-shadow:0 12px 28px rgba(104,35,232,.22);
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.auth-card button.primary span{
  display:inline-grid;
  place-items:center;
  width:32px;height:32px;
  margin-left:8px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
}
.auth-card button.primary:hover{transform:translateY(-1px);box-shadow:0 15px 32px rgba(104,35,232,.27)}
.auth-card button.primary:disabled{opacity:.65;transform:none;cursor:wait}
.auth-card .switch-copy{margin-top:22px;font-size:14px}
.auth-card .link-btn{font-weight:750}
.toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translate(-50%,18px);
  opacity:0;
  pointer-events:none;
  z-index:9999;
  width:min(440px,calc(100vw - 32px));
  padding:13px 16px;
  border-radius:14px;
  background:#191722;
  color:#fff;
  text-align:center;
  font-size:13px;
  line-height:1.45;
  box-shadow:0 15px 40px rgba(20,15,30,.25);
  transition:opacity .2s ease,transform .2s ease;
}
.toast.show{opacity:1;transform:translate(-50%,0)}


.auth-error-toast{
  position:fixed !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  width:calc(100vw - 28px) !important;
  max-width:390px !important;
  min-height:72px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  padding:12px 42px 12px 12px !important;
  margin:0 !important;
  border:1px solid #f1c6ce !important;
  border-left:4px solid #e5485d !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.98) !important;
  color:#17151f !important;
  text-align:left !important;
  box-shadow:0 14px 34px rgba(31,20,45,.16) !important;
  overflow:hidden !important;
  backdrop-filter:blur(12px);
  transform:translateY(-10px) !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:100000 !important;
  transition:opacity .22s ease,transform .22s ease !important;
}
.auth-error-toast.show{
  transform:translateY(0) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.auth-error-toast .error-icon{
  flex:0 0 38px !important;
  width:38px !important;height:38px !important;
  border-radius:50% !important;
  display:grid !important;place-items:center !important;
  background:#fff0f2 !important;color:#e5485d !important;
}
.auth-error-toast .error-icon svg{width:21px;height:21px;display:block}
.auth-error-toast .error-content{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
}
.auth-error-toast .error-title{
  display:block !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}
.auth-error-toast .error-message{
  display:block !important;
  color:#716d79 !important;
  font-size:12px !important;
  line-height:1.4 !important;
}
.auth-error-toast .error-close{
  position:absolute !important;
  top:50% !important;right:10px !important;
  transform:translateY(-50%) !important;
  width:30px !important;height:30px !important;
  border:0 !important;border-radius:50% !important;
  background:transparent !important;
  color:#9b7d84 !important;
  font-size:25px !important;font-weight:400 !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.auth-error-toast .error-close:hover{background:#fff0f2 !important;color:#e5485d !important}

.auth-success-toast{
  position:fixed !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  width:calc(100vw - 28px) !important;
  max-width:390px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:90px !important;
  box-sizing:border-box !important;
  display:block !important;
  padding:12px 42px 13px 52px !important;
  margin:0 !important;
  border:1px solid #bce8cf !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.97) !important;
  color:#17151f !important;
  text-align:left !important;
  box-shadow:0 12px 32px rgba(29,25,40,.14) !important;
  overflow:hidden !important;
  backdrop-filter:blur(10px);
  transform:translateY(-10px) !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:99999 !important;
}
.auth-success-toast.show{
  transform:translateY(0) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.auth-success-toast .success-icon{
  position:absolute !important;
  left:15px !important;
  top:13px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:#22ad62 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:17px !important;
  line-height:1 !important;
}
.auth-success-toast .success-title{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.25 !important;
}
.auth-success-toast .success-message{
  display:block !important;
  margin:3px 0 0 !important;
  padding:0 !important;
  color:#67636f !important;
  font-size:12px !important;
  line-height:1.3 !important;
}
.auth-success-toast .success-close{
  position:absolute !important;
  right:9px !important;
  top:8px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#777 !important;
  font-size:21px !important;
  line-height:30px !important;
  cursor:pointer;
}
.auth-success-toast .success-progress{
  position:absolute !important;
  left:52px !important;
  right:42px !important;
  bottom:0 !important;
  width:auto !important;
  height:3px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:99px !important;
  background:#e8f5ed !important;
}
.auth-success-toast .success-progress i{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#22ad62 !important;
  transform-origin:left center;
  animation:authLogoutProgress 2.8s linear forwards;
}
@keyframes authLogoutProgress{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}
@media(max-width:560px){
  .auth-shell{
    align-items:flex-start;
    padding:14px 12px 24px;
    background:
      radial-gradient(circle at 92% 4%,rgba(125,45,255,.09),transparent 30%),
      #faf9fd;
  }
  .auth-card{
    width:100%;
    margin-top:8px;
    padding:22px 18px 20px;
    border-radius:22px;
    box-shadow:0 16px 42px rgba(65,30,125,.10);
  }
  .auth-card .brand{margin-bottom:30px;gap:9px}
  .auth-card .brand-mark{width:46px;height:46px;flex-basis:46px;border-radius:13px;font-size:27px}
  .auth-card .brand-name{font-size:22px}
  .auth-card h1{
    font-size:32px;
    letter-spacing:-1.1px;
    margin-bottom:9px;
  }
  .auth-card .intro{
    font-size:14px;
    line-height:1.55;
    margin-bottom:24px;
  }
  .auth-card .input-wrap{height:56px;border-radius:14px}
  .auth-card .input-wrap input{font-size:15px}
  .auth-card button.primary{min-height:56px;border-radius:15px;font-size:15px}
  .auth-card .switch-copy{margin-top:18px;font-size:13px}
  .toast{bottom:18px}\n  .auth-success-toast{top:14px;right:14px;width:calc(100vw - 28px)}
}
@media(max-width:380px){
  .auth-card{padding:20px 15px 18px}
  .auth-card h1{font-size:29px}
  .auth-card .intro{font-size:13px}
}

/* =========================================================
   FORGOT PASSWORD — COMPACT RESULT TOAST
   Keeps the reset result visible without covering the page.
   ========================================================= */
.forgot-result-toast{
  position:fixed !important;
  top:14px !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-10px) !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:99999 !important;
  width:calc(100vw - 28px) !important;
  max-width:390px !important;
  min-height:0 !important;
  height:auto !important;
  box-sizing:border-box !important;
  display:block !important;
  padding:12px 42px 13px 52px !important;
  margin:0 !important;
  border:1px solid #bce8cf !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.97) !important;
  color:#17151f !important;
  text-align:left !important;
  box-shadow:0 12px 32px rgba(29,25,40,.14) !important;
  overflow:hidden !important;
  backdrop-filter:blur(10px);
  transition:opacity .2s ease,transform .2s ease !important;
}
.forgot-result-toast.show{
  transform:translate(-50%,0) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.forgot-result-toast .forgot-icon{
  position:absolute !important;
  left:15px !important;
  top:13px !important;
  width:30px !important;
  height:30px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:#22ad62 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:16px !important;
  line-height:1 !important;
}
.forgot-result-toast.error{
  border-color:#f1c8cd !important;
}
.forgot-result-toast.error .forgot-icon{
  background:#df4051 !important;
}
.forgot-result-toast .forgot-title{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.25 !important;
}
.forgot-result-toast .forgot-message{
  display:block !important;
  margin:3px 0 0 !important;
  padding:0 !important;
  color:#67636f !important;
  font-size:12px !important;
  line-height:1.3 !important;
}
.forgot-result-toast .forgot-close{
  position:absolute !important;
  right:9px !important;
  top:8px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#777 !important;
  font-size:21px !important;
  line-height:30px !important;
  cursor:pointer !important;
}
.forgot-result-toast .forgot-progress{
  position:absolute !important;
  left:52px !important;
  right:42px !important;
  bottom:0 !important;
  height:3px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:99px !important;
  background:#e8f5ed !important;
}
.forgot-result-toast.error .forgot-progress{
  background:#fdecef !important;
}
.forgot-result-toast .forgot-progress i{
  display:block !important;
  width:100% !important;
  height:100% !important;
  background:#22ad62 !important;
  transform-origin:left center !important;
  animation:forgotToastProgress 3s linear forwards !important;
}
.forgot-result-toast.error .forgot-progress i{
  background:#df4051 !important;
}
@keyframes forgotToastProgress{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}
@media(max-width:600px){
  .forgot-result-toast{
    top:10px !important;
    width:calc(100vw - 24px) !important;
    max-width:390px !important;
    padding:11px 40px 12px 50px !important;
    border-radius:15px !important;
  }
  .forgot-result-toast .forgot-icon{left:13px !important;top:12px !important;width:29px !important;height:29px !important}
  .forgot-result-toast .forgot-title{font-size:14px !important}
  .forgot-result-toast .forgot-message{font-size:11.5px !important}
  .forgot-result-toast .forgot-progress{left:50px !important;right:40px !important}
}

/* Final payment-method tile rules: mobile = exactly 3 columns */
@media(max-width:700px){
 .payment-method-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .payment-method-tile{aspect-ratio:1/1;min-height:0;padding:7px 4px;border-radius:13px;gap:4px}
 .payment-tile-icon{height:42px;flex-basis:42px}
 .payment-tile-icon img{max-width:48px;max-height:40px}
 .payment-method-tile strong{font-size:10px;line-height:1.1;white-space:nowrap}
 .payment-method-tile small{font-size:8px;line-height:1}
 .payment-method-tile i{right:5px;top:5px;width:20px;height:20px;font-size:11px}
}


/* ===== PAYMENT METHODS — MOBILE 4-COLUMN REFERENCE UI =====
   Visual-only override. No payment/business logic is changed. */
@media (max-width:700px){
  .payment-method-tiles{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
    margin-bottom:16px !important;
  }
  .payment-method-tile{
    aspect-ratio:auto !important;
    height:92px !important;
    min-height:92px !important;
    padding:7px 3px !important;
    border-radius:12px !important;
    gap:4px !important;
    box-shadow:0 2px 8px rgba(36,18,70,.035) !important;
  }
  .payment-method-tile.selected{
    border-width:2px !important;
  }
  .payment-tile-icon{
    height:36px !important;
    flex:0 0 36px !important;
    width:100% !important;
  }
  .payment-tile-icon img{
    max-width:38px !important;
    max-height:34px !important;
  }
  .payment-method-tile strong{
    font-size:8.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    max-width:none !important;
    padding:0 !important;
    letter-spacing:-.15px !important;
  }
  .payment-method-tile small{
    font-size:7.5px !important;
    line-height:1 !important;
    padding:3px 6px !important;
    border-radius:999px !important;
    background:#eef5ff !important;
    color:#2869a9 !important;
    margin-top:1px !important;
  }
  .payment-method-tile.mode-automatic small{
    background:#e8f8ee !important;
    color:#16864f !important;
  }
  .payment-method-tile i{
    right:4px !important;
    top:4px !important;
    width:18px !important;
    height:18px !important;
    font-size:10px !important;
  }
}

@media(max-width:640px){.brand-image{height:44px;max-width:240px}}
/* FINAL REQUEST — login header background matches the page background; no layout/size changes. */
.topbar{
  background:transparent !important;
  color:var(--ink) !important;
  box-shadow:none !important;
}
.topbar .brand{color:var(--ink) !important;}



/* Ctg Panel login header menu - additive only */
.topbar{position:relative}
.auth-menu-toggle{margin-left:auto;width:48px;height:48px;border:0;border-radius:14px;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;color:var(--ink,#171321);flex:0 0 48px}
.auth-menu-toggle span{display:block;width:25px;height:3px;border-radius:3px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.auth-menu-toggle:focus-visible{outline:3px solid rgba(111,39,235,.22);outline-offset:2px}
.auth-menu-overlay{position:fixed;inset:0;background:rgba(18,12,35,.22);backdrop-filter:blur(2px);z-index:9998}
.auth-menu{position:fixed;top:0;right:0;width:min(340px,88vw);height:100dvh;background:rgba(255,255,255,.98);box-shadow:-14px 0 45px rgba(65,35,130,.16);z-index:9999;transform:translateX(105%);transition:transform .25s ease;padding:20px 18px 28px;overflow:auto}
.auth-menu.open{transform:translateX(0)}
.auth-menu-head{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 18px;border-bottom:1px solid rgba(111,39,235,.10)}
.auth-menu-head strong{font-size:24px;letter-spacing:-.02em}
.auth-menu-close{width:40px;height:40px;border:0;border-radius:12px;background:#f4efff;color:#5d22d6;font-size:28px;line-height:1;cursor:pointer}
.auth-menu-nav{display:flex;flex-direction:column;gap:8px;padding-top:14px}
.auth-menu-nav a,.auth-menu-nav button{width:100%;min-height:52px;border:0;border-radius:14px;background:transparent;color:var(--ink,#171321);display:flex;align-items:center;gap:13px;padding:10px 12px;text-decoration:none;font:inherit;text-align:left;cursor:pointer}
.auth-menu-nav a:hover,.auth-menu-nav button:hover{background:#f6f1ff}
.auth-menu-nav span{width:28px;text-align:center;color:#6725dc;font-size:22px;flex:0 0 28px}
.auth-menu-nav b{font-size:16px;flex:1}
.auth-menu-nav small{font-size:12px;color:#81798e}
body.menu-open{overflow:hidden}
@media (min-width:700px){
  .auth-menu{width:360px}
}
@media (prefers-reduced-motion:reduce){
  .auth-menu{transition:none}.auth-menu-toggle span{transition:none}
}


/* V66 — Functional smart auth menu. Scoped only to the public login menu. */
.auth-menu{
  width:min(540px,92vw);
  background:rgba(255,255,255,.97);
  color:#151326;
  border:1px solid rgba(118,72,220,.18);
  border-radius:28px 0 0 28px;
  box-shadow:-20px 0 70px rgba(83,37,170,.20);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  overflow:hidden;
}
.auth-menu-head{
  min-height:82px;
  padding:18px 22px 16px 24px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid rgba(99,75,150,.12);
}
.auth-menu-brand{
  display:flex;align-items:center;gap:10px;
  min-width:0;color:inherit;text-decoration:none;font-weight:900;font-size:21px;
}
.auth-menu-brand img{
  display:block;width:auto;height:48px;max-width:250px;object-fit:contain;object-position:left center;
}
.auth-menu-brand-fallback{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  color:#fff;font-size:27px;font-weight:900;
  background:linear-gradient(145deg,#8646ff,#4e12db);
}
.auth-menu-close{
  width:52px;height:52px;border:0;border-radius:16px;
  background:#f3ecff;color:#6020d4;font-size:34px;line-height:1;
  display:grid;place-items:center;cursor:pointer;flex:0 0 52px;
  transition:transform .2s ease,background .2s ease;
}
.auth-menu-close:hover{transform:rotate(4deg);background:#eadfff}
.auth-menu-nav{padding:10px 20px 8px}
.auth-menu-nav a,.auth-menu-nav button{
  width:100%;min-height:76px;padding:10px 4px;
  display:flex;align-items:center;gap:16px;
  color:inherit;text-decoration:none;text-align:left;cursor:pointer;
  background:transparent;border:0;border-bottom:1px solid rgba(99,75,150,.10);
  font:inherit;transition:background .18s ease,transform .18s ease;
}
.auth-menu-nav a:last-child{border-bottom:0}
.auth-menu-nav a:hover,.auth-menu-nav button:hover{
  background:rgba(111,43,219,.055);transform:translateX(2px);
}
.auth-menu-nav .menu-icon{
  width:48px;height:48px;flex:0 0 48px;border-radius:15px;
  display:grid;place-items:center;
  color:#6121d7;background:#f1eaff;
  font-size:24px;font-weight:700;
}
.auth-menu-nav .menu-icon svg{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.auth-menu-nav b{font-size:17px;line-height:1.2;flex:1}
.auth-menu-nav small{
  min-width:62px;text-align:center;font-size:13px;color:#777084;
  padding:7px 10px;border-radius:10px;background:#f2ecff;
}
.auth-menu-nav i{
  font-style:normal;font-size:28px;line-height:1;color:#635b75;opacity:.9;
}
.auth-menu-nav button .menu-theme-indicator{
  width:46px;height:25px;border-radius:99px;background:#6a21d8;
  position:relative;display:block;flex:0 0 46px;
}
.auth-menu-nav button .menu-theme-indicator:after{
  content:"";position:absolute;top:4px;left:4px;width:17px;height:17px;
  border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);
  transition:left .2s ease;
}
.auth-menu-safe{
  margin:10px 20px 20px;padding:13px 15px;
  display:flex;align-items:center;gap:12px;
  border:1px solid rgba(102,37,219,.14);border-radius:17px;
  background:rgba(255,255,255,.66);
}
.auth-menu-safe>span{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
  background:#f0e8ff;color:#6422d8;font-weight:900;font-size:21px;flex:0 0 42px;
}
.auth-menu-safe div{display:flex;flex-direction:column;gap:3px;min-width:0}
.auth-menu-safe b{font-size:14px}
.auth-menu-safe small{font-size:12px;color:#7b7485}
.auth-menu-overlay{
  background:rgba(22,15,42,.34)!important;
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}

/* Functional dark theme — only the public login page/menu. */
body.menu-dark{
  --ink:#f7f4ff;
  --muted:#c7bfd8;
  background:#0f0b1d!important;
  color:#f7f4ff!important;
}
body.menu-dark .auth-page{
  background:
    radial-gradient(circle at 15% 10%,rgba(119,63,255,.20),transparent 32%),
    radial-gradient(circle at 90% 25%,rgba(219,39,119,.12),transparent 30%),
    #0f0b1d!important;
}
body.menu-dark .topbar{background:rgba(20,15,38,.94)!important;border-color:rgba(255,255,255,.10)!important}
body.menu-dark .welcome-copy p,
body.menu-dark .mobile-intro,
body.menu-dark .divider span,
body.menu-dark .switch-copy,
body.menu-dark .app-footer .footer-copy,
body.menu-dark .app-footer small,
body.menu-dark .stats small,
body.menu-dark .features small{color:#bdb4d0!important}
body.menu-dark .login-card,
body.menu-dark .stats,
body.menu-dark .features,
body.menu-dark .app-footer{
  background:rgba(25,19,43,.92)!important;
  border-color:rgba(178,139,255,.28)!important;
}
body.menu-dark .login-card input,
body.menu-dark .tabs,
body.menu-dark .social-panel,
body.menu-dark .features>div,
body.menu-dark .footer-nav a{background:rgba(255,255,255,.045)!important;color:#f7f4ff!important;border-color:rgba(255,255,255,.10)!important}
body.menu-dark .login-card label,
body.menu-dark .tab,
body.menu-dark .social-btn,
body.menu-dark .footer-brand strong,
body.menu-dark .footer-brand small,
body.menu-dark .stats strong,
body.menu-dark .features b,
body.menu-dark .footer-nav b{color:#f7f4ff!important}
body.menu-dark .auth-menu{
  background:rgba(24,18,41,.98);color:#f7f4ff;border-color:rgba(181,145,255,.20);
}
body.menu-dark .auth-menu-head,
body.menu-dark .auth-menu-nav a,
body.menu-dark .auth-menu-nav button{border-color:rgba(255,255,255,.10)}
body.menu-dark .auth-menu-close,
body.menu-dark .auth-menu-nav .menu-icon,
body.menu-dark .auth-menu-safe>span{background:#30204f;color:#cbaeff}
body.menu-dark .auth-menu-nav small{background:#30204f;color:#cdbfe0}
body.menu-dark .auth-menu-safe{background:rgba(255,255,255,.035);border-color:rgba(181,145,255,.18)}
body.menu-dark .auth-menu-safe small{color:#bdb4d0}
body.menu-dark .auth-menu-nav a:hover,
body.menu-dark .auth-menu-nav button:hover{background:rgba(164,111,255,.10)}
body.menu-dark .auth-menu-nav i{color:#c9bfdc}
body.menu-dark .auth-menu-nav button .menu-theme-indicator{background:#8b5cf6}
body.menu-dark .auth-menu-nav button .menu-theme-indicator:after{left:25px}

@media(max-width:560px){
  .auth-menu{width:min(420px,94vw);border-radius:24px 0 0 24px}
  .auth-menu-head{min-height:70px;padding:12px 16px}
  .auth-menu-brand img{height:42px;max-width:205px}
  .auth-menu-close{width:48px;height:48px;flex-basis:48px}
  .auth-menu-welcome{margin:14px 14px 8px;min-height:102px;padding:16px}
  .auth-menu-welcome-copy strong{font-size:21px}
  .auth-menu-welcome-art{width:112px;height:68px;flex-basis:112px;transform:scale(.82);transform-origin:right center}
  .auth-menu-nav{padding:2px 14px 6px}
  .auth-menu-nav a,.auth-menu-nav button{min-height:66px;gap:12px}
  .auth-menu-nav .menu-icon{width:43px;height:43px;flex-basis:43px;border-radius:13px;font-size:21px}
  .auth-menu-nav b{font-size:15px}
  .auth-menu-safe{margin:8px 14px 14px}
}

@media(max-width:560px){
 .auth-error-toast{
   top:10px !important;
   right:10px !important;
   width:calc(100vw - 20px) !important;
   min-height:68px !important;
   border-radius:15px !important;
   padding:10px 40px 10px 10px !important;
 }
 .auth-error-toast .error-icon{width:36px !important;height:36px !important;flex-basis:36px !important}
 .auth-error-toast .error-title{font-size:13.5px !important}
 .auth-error-toast .error-message{font-size:11.5px !important}
}


/* V80 — Login menu visual refinement: colored auth cards, services shortcut,
   tinted menu surface, and compact bottom safe area. */
.auth-menu{
  background:
    radial-gradient(circle at 8% 8%,rgba(139,92,246,.13),transparent 30%),
    radial-gradient(circle at 92% 30%,rgba(236,72,153,.10),transparent 28%),
    linear-gradient(180deg,#fbf9ff 0%,#f4efff 58%,#eee7ff 100%) !important;
  padding-bottom:0 !important;
}
.auth-menu-nav{
  padding:16px 20px 8px;
}
.auth-menu-auth-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}
.auth-menu-nav .auth-menu-auth-card{
  min-width:0;
  min-height:116px;
  padding:14px 12px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:22px;
  color:#fff;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 22px;
  align-items:center;
  gap:10px;
  border-bottom:0;
  box-shadow:0 12px 28px rgba(82,35,170,.16);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
.auth-menu-nav .auth-menu-auth-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px rgba(82,35,170,.22);
}
.auth-menu-nav .auth-menu-signin{
  background:linear-gradient(135deg,#6d28d9 0%,#9b5cf6 100%);
}
.auth-menu-nav .auth-menu-signup{
  background:linear-gradient(135deg,#ec1688 0%,#f044a8 100%);
}
.auth-menu-nav .auth-menu-auth-card .menu-icon{
  width:48px;height:48px;flex:0 0 48px;
  background:rgba(255,255,255,.96);
  color:#5d21d2;
  border-radius:15px;
  box-shadow:0 5px 12px rgba(0,0,0,.10);
}
.auth-menu-nav .auth-menu-signup .menu-icon{color:#df1680}
.auth-menu-nav .auth-menu-auth-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.auth-menu-nav .auth-menu-auth-copy b{
  color:#fff;
  font-size:17px;
  white-space:nowrap;
}
.auth-menu-nav .auth-menu-auth-copy small{
  min-width:0;
  padding:0;
  background:transparent;
  color:rgba(255,255,255,.84);
  text-align:left;
  font-size:11px;
  white-space:nowrap;
}
.auth-menu-nav .auth-menu-auth-card i{
  color:#fff;
  font-size:30px;
  opacity:.95;
}
.auth-menu-nav .auth-menu-services-link{
  margin-bottom:2px;
}
.auth-menu-safe{
  margin:10px 20px 0 !important;
}
@media (max-width:390px){
  .auth-menu-nav{padding-left:14px;padding-right:14px}
  .auth-menu-auth-row{gap:8px}
  .auth-menu-nav .auth-menu-auth-card{
    grid-template-columns:40px minmax(0,1fr) 16px;
    min-height:102px;
    padding:11px 8px;
    gap:7px;
    border-radius:18px;
  }
  .auth-menu-nav .auth-menu-auth-card .menu-icon{
    width:40px;height:40px;flex-basis:40px;border-radius:13px;
  }
  .auth-menu-nav .auth-menu-auth-copy b{font-size:15px}
  .auth-menu-nav .auth-menu-auth-copy small{font-size:9px}
}


/* Final login-menu polish: icon treatment + functional Services destination. */
.auth-menu{
  background:linear-gradient(180deg,rgba(250,247,255,.985) 0%,rgba(244,237,255,.985) 100%);
}
.auth-menu-nav .auth-menu-auth-card{
  position:relative;
}
.auth-menu-nav .auth-menu-auth-card .menu-icon{
  width:52px;height:52px;flex-basis:52px;border-radius:17px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 7px 18px rgba(78,28,160,.16);
}
.auth-menu-nav .auth-menu-auth-card .menu-icon svg{
  width:29px;height:29px;stroke-width:2.05;
}
.auth-menu-nav .auth-menu-signin .menu-icon{
  color:#6323dc;
}
.auth-menu-nav .auth-menu-signup .menu-icon{
  color:#e51b83;
}
.auth-menu-nav .auth-menu-auth-card:hover .menu-icon{
  transform:scale(1.035);
  box-shadow:0 9px 22px rgba(78,28,160,.20);
}
.auth-menu-nav .auth-menu-signin{
  background:linear-gradient(135deg,#6a22df 0%,#9252f3 100%);
}
.auth-menu-nav .auth-menu-signup{
  background:linear-gradient(135deg,#ec1781 0%,#f143a4 100%);
}
.auth-menu-nav .auth-menu-signin .auth-menu-auth-copy b,
.auth-menu-nav .auth-menu-signup .auth-menu-auth-copy b,
.auth-menu-nav .auth-menu-signin .auth-menu-auth-copy small,
.auth-menu-nav .auth-menu-signup .auth-menu-auth-copy small,
.auth-menu-nav .auth-menu-signin i,
.auth-menu-nav .auth-menu-signup i{
  color:#fff;
}
.auth-menu-nav .auth-menu-signin .auth-menu-auth-copy small,
.auth-menu-nav .auth-menu-signup .auth-menu-auth-copy small{
  background:rgba(255,255,255,.14);
}
.auth-menu-safe{
  margin-bottom:0 !important;
}
@media(max-width:560px){
  .auth-menu-nav .auth-menu-auth-card .menu-icon{
    width:48px;height:48px;flex-basis:48px;border-radius:15px;
  }
  .auth-menu-nav .auth-menu-auth-card .menu-icon svg{
    width:27px;height:27px;
  }
}


/* Reference-matched login menu: Sign In and Sign Up are full-width stacked cards. */
.auth-menu-auth-row{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}
.auth-menu-nav .auth-menu-auth-card{
  width:100% !important;
  min-height:116px !important;
  grid-template-columns:72px minmax(0,1fr) 26px !important;
}
@media(max-width:560px){
  .auth-menu-nav .auth-menu-auth-card{
    min-height:104px !important;
    grid-template-columns:56px minmax(0,1fr) 20px !important;
  }
}

/* Login menu — same visual system as the working Services List menu. */
.auth-menu-toggle{color:var(--ink,#171321)!important}
.auth-menu-toggle span{width:25px!important;height:3px!important;border-radius:3px!important;background:currentColor!important}
.auth-menu-overlay{position:fixed!important;inset:0!important;background:rgba(22,15,42,.34)!important;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:9998!important}
.auth-menu.ps-menu,
.ps-menu#authMenu{
  position:fixed;top:0;right:0;width:min(540px,92vw);height:100dvh;
  background:linear-gradient(180deg,#fbf9ff 0%,#f4efff 58%,#eee7ff 100%);
  color:#151326;border:1px solid rgba(118,72,220,.18);border-radius:28px 0 0 28px;
  box-shadow:-20px 0 70px rgba(83,37,170,.20);z-index:9999;
  transform:translateX(105%);transition:transform .25s ease;padding:0;overflow:auto;
}
.auth-menu.ps-menu.open,.ps-menu#authMenu.open{transform:translateX(0)}
.ps-menu#authMenu .ps-menu-head{min-height:82px;padding:18px 22px 16px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(99,75,150,.12)}
.ps-menu#authMenu .ps-menu-brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:900;font-size:21px}
.ps-menu#authMenu .ps-menu-brand img{display:block;height:52px;width:auto;max-width:270px;object-fit:contain}
.ps-menu#authMenu .ps-menu-close{width:54px;height:54px;flex:0 0 54px;border:0;border-radius:18px;background:#f0e8ff;color:#6422d8;font-size:38px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}
.ps-menu#authMenu .ps-menu-close:hover{transform:rotate(4deg);background:#eadfff}
.ps-menu#authMenu .ps-menu-nav{padding:14px 20px 8px}
.ps-menu#authMenu .ps-menu-nav a{color:inherit;text-decoration:none}
.ps-menu#authMenu .ps-auth-card{
  display:grid;grid-template-columns:72px minmax(0,1fr) 28px;align-items:center;width:100%;
  min-height:88px;height:88px;padding:9px 12px;gap:12px;border-radius:19px;margin-bottom:10px;
  border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.ps-menu#authMenu .ps-auth-card:hover{transform:translateY(-1px);filter:brightness(1.02)}
.ps-menu#authMenu .ps-signin{background:linear-gradient(110deg,#5f1fe0,#9a43f2);color:#fff;box-shadow:0 10px 24px rgba(103,31,226,.20)}
.ps-menu#authMenu .ps-signup{background:linear-gradient(110deg,#ee168d,#f53299);color:#fff;box-shadow:0 10px 24px rgba(238,22,141,.16)}
.ps-menu#authMenu .ps-menu-icon{width:58px;height:58px;flex:0 0 58px;border-radius:17px;display:grid;place-items:center;background:#fff;color:#6421d8}
.ps-menu#authMenu .ps-menu-icon svg{width:33px;height:33px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ps-menu#authMenu .ps-auth-card span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.ps-menu#authMenu .ps-auth-card b{font-size:18px;line-height:1.1}
.ps-menu#authMenu .ps-auth-card small{font-size:12px;margin-top:4px;opacity:.92}
.ps-menu#authMenu .ps-auth-card i{font-style:normal;font-size:31px;line-height:1;opacity:.95}
.ps-menu#authMenu .ps-menu-link{min-height:76px;padding:8px 4px;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(99,75,150,.10);transition:background .18s ease,transform .18s ease}
.ps-menu#authMenu .ps-menu-link:hover{background:rgba(111,43,219,.055);transform:translateX(2px)}
.ps-menu#authMenu .ps-menu-link .ps-menu-icon{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;color:#6121d7;background:#f1eaff}
.ps-menu#authMenu .ps-menu-link .ps-menu-icon svg{width:25px;height:25px}
.ps-menu#authMenu .ps-menu-link b{font-size:17px;line-height:1.2;flex:1}
.ps-menu#authMenu .ps-menu-link i{font-style:normal;font-size:28px;line-height:1;color:#635b75;opacity:.9}
.ps-menu#authMenu .ps-menu-safe{margin:10px 20px 20px;padding:13px 15px;display:flex;align-items:center;gap:12px;border:1px solid rgba(102,37,219,.14);border-radius:17px;background:rgba(255,255,255,.66)}
.ps-menu#authMenu .ps-menu-safe>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f0e8ff;color:#6422d8;font-weight:900;font-size:21px;flex:0 0 42px}
.ps-menu#authMenu .ps-menu-safe div{display:flex;flex-direction:column;gap:3px;min-width:0}
.ps-menu#authMenu .ps-menu-safe b{font-size:14px}
.ps-menu#authMenu .ps-menu-safe small{font-size:12px;color:#7b7485}
body.menu-open{overflow:hidden}
@media(max-width:560px){
  .ps-menu#authMenu{width:min(420px,94vw);border-radius:24px 0 0 24px}
  .ps-menu#authMenu .ps-menu-head{min-height:70px;padding:12px 16px}
  .ps-menu#authMenu .ps-menu-brand img{height:42px;max-width:205px}
  .ps-menu#authMenu .ps-menu-close{width:48px;height:48px;flex-basis:48px}
  .ps-menu#authMenu .ps-menu-nav{padding:14px 14px 6px}
  .ps-menu#authMenu .ps-auth-card{grid-template-columns:50px minmax(0,1fr) 19px;min-height:76px;height:76px;padding:7px 9px;gap:10px;border-radius:17px;margin-bottom:9px}
  .ps-menu#authMenu .ps-menu-icon{width:50px;height:50px;flex-basis:50px;border-radius:15px}
  .ps-menu#authMenu .ps-menu-icon svg{width:29px;height:29px}
  .ps-menu#authMenu .ps-auth-card b{font-size:16px}
  .ps-menu#authMenu .ps-auth-card small{font-size:10px;margin-top:3px}
  .ps-menu#authMenu .ps-auth-card i{font-size:27px}
  .ps-menu#authMenu .ps-menu-link{min-height:66px;gap:12px}
  .ps-menu#authMenu .ps-menu-link .ps-menu-icon{width:43px;height:43px;flex-basis:43px;border-radius:13px}
  .ps-menu#authMenu .ps-menu-link b{font-size:15px}
  .ps-menu#authMenu .ps-menu-safe{margin:8px 14px 14px}
}

/* Preserve the login page's existing dark-mode behavior for the new shared menu. */
body.menu-dark .ps-menu#authMenu{background:rgba(24,18,41,.98);color:#f7f4ff;border-color:rgba(181,145,255,.20)}
body.menu-dark .ps-menu#authMenu .ps-menu-head,
body.menu-dark .ps-menu#authMenu .ps-menu-link{border-color:rgba(255,255,255,.10)}
body.menu-dark .ps-menu#authMenu .ps-menu-close,
body.menu-dark .ps-menu#authMenu .ps-menu-link .ps-menu-icon{background:#30204f;color:#cbaeff}
body.menu-dark .ps-menu#authMenu .ps-menu-safe{background:rgba(255,255,255,.035);border-color:rgba(181,145,255,.18)}
body.menu-dark .ps-menu#authMenu .ps-menu-safe>span{background:#30204f;color:#cbaeff}
body.menu-dark .ps-menu#authMenu .ps-menu-safe small{color:#bdb4d0}
body.menu-dark .ps-menu#authMenu .ps-menu-link:hover{background:rgba(164,111,255,.10)}
body.menu-dark .ps-menu#authMenu .ps-menu-link i{color:#c9bfdc}


/* V70 — LOGIN HEADER STICKY FIX
   Keep the existing public login header visible while scrolling.
   No logo, spacing, menu, or page-layout redesign; only scroll behavior is changed. */
.topbar{
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  background:rgba(255,255,255,.96) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  backdrop-filter:blur(14px) !important;
}
.topbar:after{
  z-index:1 !important;
}
@media(max-width:560px){
  .topbar{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
  }
}

/* ============================================================
   LOGIN HEADER LOGO — premium shine sweep
   Scope: .brand.logo-only only (i.e. only when the admin-configured
   logo image is actually rendered — the text fallback is untouched).
   The sweep is painted on a ::after overlay that exactly covers the
   <img>'s box and is clipped with mask-image using the SAME logo
   file as the mask source, so the highlight can only ever appear on
   the logo's own opaque pixels — never on the header background,
   the hamburger, or the transparent parts of the artwork.
   Wrapped in @supports so browsers without mask support simply skip
   the effect instead of showing an unclipped light leak.
   Existing logo asset/markup/layout are unmodified.
   ============================================================ */
@supports ((mask-image:linear-gradient(#000,#000)) or (-webkit-mask-image:linear-gradient(#000,#000))) {
  .brand.logo-only{position:relative}
  .brand.logo-only::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background-image:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.62) 50%,transparent 60%);
    background-repeat:no-repeat;
    background-size:220% 100%;
    background-position:110% 0;
    -webkit-mask-image:var(--logo-shine-mask);
    -webkit-mask-repeat:no-repeat;
    -webkit-mask-size:100% 100%;
    -webkit-mask-position:center;
    mask-image:var(--logo-shine-mask);
    mask-repeat:no-repeat;
    mask-size:100% 100%;
    mask-position:center;
    animation:loginLogoShine 4.6s ease-in-out infinite;
  }
  @keyframes loginLogoShine{
    0%{background-position:110% 0}
    45%{background-position:-10% 0}
    100%{background-position:-10% 0}
  }
  /* This one effect must stay visible even when the device/browser
     requests reduced motion (per explicit request) — every other
     animation on the site keeps obeying prefers-reduced-motion above. */
  @media (prefers-reduced-motion:reduce){
    .brand.logo-only::after{
      animation:loginLogoShine 4.6s ease-in-out infinite !important;
    }
  }
}

/* ================================================================
   V71 — LOGIN/HOMEPAGE HEADER: FULL VIEWPORT WIDTH ON DESKTOP/TABLET
   The header already goes edge-to-edge below 561px (see the V39/V54
   rules above). Above that, .topbar was still confined inside
   .auth-page's centered max-width container, leaving empty space on
   both sides. This extends the same full-bleed technique to larger
   screens so the header spans 100% of the browser viewport, while
   everything below it (welcome text, login card, stats, footer)
   keeps its existing centered/boxed layout untouched. Logo stays
   left, hamburger menu stays right (space-between, unchanged).
   No other header styling, color, or functionality is modified.
   ================================================================ */
@media (min-width:561px){
  .topbar{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    padding-left:clamp(24px,4vw,56px) !important;
    padding-right:clamp(24px,4vw,56px) !important;
    box-sizing:border-box !important;
  }
}


/* V76 — LOGIN HERO TYPOGRAPHY BALANCE ONLY
   Visual-only font sizing/spacing refinement.
   No layout, assets, icons, authentication, or functionality changes. */

.welcome-copy h1{
  font-size:48px !important;
  line-height:1.02 !important;
  letter-spacing:-1.8px !important;
  margin:0 0 16px !important;
}
.hero-pill{
  font-size:13px !important;
  padding:8px 16px !important;
  margin-bottom:14px !important;
}
.hero-sub{
  font-size:16px !important;
  line-height:1.55 !important;
  margin-top:4px !important;
}
.hero-tagline{
  font-size:16px !important;
  line-height:1.22 !important;
}

@media(max-width:900px){
  .welcome-copy h1{
    font-size:40px !important;
    line-height:1.03 !important;
    letter-spacing:-1.4px !important;
    margin-bottom:13px !important;
  }
  .hero-pill{
    font-size:12px !important;
    padding:7px 14px !important;
    margin-bottom:12px !important;
  }
  .hero-sub{
    font-size:15px !important;
    line-height:1.5 !important;
  }
  .hero-tagline{
    font-size:14px !important;
    line-height:1.2 !important;
  }
}

@media(max-width:560px){
  .welcome-copy h1{
    font-size:34px !important;
    line-height:1.04 !important;
    letter-spacing:-1.1px !important;
    margin-bottom:11px !important;
  }
  .hero-pill{
    font-size:11px !important;
    padding:6px 12px !important;
    margin-bottom:10px !important;
  }
  .hero-sub{
    font-size:14px !important;
    line-height:1.48 !important;
    margin-top:2px !important;
  }
  .hero-tagline{
    font-size:13px !important;
    line-height:1.18 !important;
  }
  .hero-art .social-float:after{
    font-size:10px !important;
  }
}

@media(max-width:380px){
  .welcome-copy h1{
    font-size:30px !important;
    letter-spacing:-.9px !important;
  }
  .hero-pill{
    font-size:10.5px !important;
  }
  .hero-sub{
    font-size:13px !important;
  }
}

/* V77 — HERO PILL REFERENCE COLOR ONLY
   Only the #1 SMM PANEL IN BANGLADESH pill color treatment is changed.
   No layout, typography, icons, hero art, login card, or functionality changes. */
.hero-pill{
  background:linear-gradient(100deg,#641ee8 0%,#8b22ee 42%,#c72be4 72%,#ef3a9f 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.62) !important;
  box-shadow:0 7px 20px rgba(119,31,231,.22), inset 0 1px 0 rgba(255,255,255,.30) !important;
}

/* ================================================================
   V78 — "SAME PANEL / MORE POWER! ♥" POSITION FIX ONLY
   Element: <span class="hero-tagline"> inside <div class="hero-art">
   (existing markup, not duplicated or moved in the HTML).

   Why it was wrong
   - Mobile: an old rule  @media(max-width:520px){.hero-tagline{display:none}}
     hid it completely.
   - Desktop / tablet: it was placed at top:2% / right:2% INSIDE .hero-art,
     i.e. inside the social-icon orbit, so it collided with Instagram.

   Fix: the tagline stays position:absolute inside .hero-art (which is
   already position:relative) but is now anchored to that box's TOP edge
   and lifted UPWARD (bottom:calc(100% + Npx)) into the hero text area,
   right-aligned beside the "Grow Your" line. Nothing inside .hero-art
   (icons, orbits, centre icon) is touched, and no other element moves.
   N is the fixed height of the text block that sits above .hero-art at
   each breakpoint (heading + sub-text + their margins, all px-based in
   V76), plus 6px so the tagline ends just above the "Social Presence"
   line. Mobile and desktop are controlled separately below.
   ================================================================ */
.hero-art .hero-tagline{
  display:block !important;
  top:auto !important;
  left:auto !important;
  z-index:6 !important;
  pointer-events:none !important;
  white-space:nowrap !important;
}
/* MOBILE — small phones (≤380px) */
@media (max-width:380px){
  .hero-art .hero-tagline{right:0 !important;bottom:calc(100% + 89.7px) !important}
}
/* MOBILE — regular phones (381–560px) */
@media (min-width:381px) and (max-width:560px){
  .hero-art .hero-tagline{right:3% !important;bottom:calc(100% + 98.8px) !important}
}
/* TABLET / stacked layout (561–900px) */
@media (min-width:561px) and (max-width:900px){
  .hero-art .hero-tagline{right:2% !important;bottom:calc(100% + 103.2px) !important}
}
/* DESKTOP / two-column layout (901px and up) */
@media (min-width:901px){
  .hero-art .hero-tagline{right:1% !important;bottom:calc(100% + 123.6px) !important}
}


/* ================================================================
   V79 — LOGIN HEADER: REMOVE TINTED GAP ABOVE THE WHITE HEADER
   Cause: above 560px, .auth-page still had padding-top (16px on
   561–900px, 24px on 901px+). The sticky header therefore started
   16–24px BELOW the top of the page, and the lavender body gradient
   showed through in that gap, so the top edge did not look white.
   (Below 561px the header already started at 0, so mobile was fine.)
   Fix: header now starts at the very top (padding-top:0). The same
   distance is added to the header's margin-bottom so everything
   below the header (hero, login card, stats) stays exactly where it
   was. Header height, logo, menu, colors and functionality unchanged.
   ================================================================ */
@media (min-width:561px) and (max-width:900px){
  .auth-page{padding-top:0 !important}
  .topbar{margin-bottom:40px !important}   /* 24px old margin + 16px old padding */
}
@media (min-width:901px){
  .auth-page{padding-top:0 !important}
  .topbar{margin-bottom:58px !important}   /* 34px old margin + 24px old padding */
}
