  font-weight: 800;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
 --plum:#3a1d63;--plum-2:#4a2580;--plum-deep:#27123f;
 --purple:#6a32b0;--purple-bright:#8b3ee0;--purple-soft:#f0e7fb;--purple-tint:#f9f5ff;
 --green:#1ec98b;--green-deep:#14b07a;--green-ink:#04231a;
 --ink:#1d1430;--muted:#6b6280;--faint:#9a92ad;
 --paper:#f4f0fb;--surface:#fff;--line:#e7def0;--line-soft:#f0eaf7;--lavender:#dcc9ff;
 --radius:20px;--shadow:0 20px 54px -20px rgba(58,29,99,.32);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;}
a{color:var(--purple);font-weight:700;text-decoration:none;cursor:pointer;}
a:hover{color:var(--purple-bright);text-decoration:underline;}

.auth{min-height:100vh;display:flex;}

/* ---------- brand panel ---------- */
.brand{flex:0 0 46%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
 padding:56px;background:linear-gradient(158deg,var(--plum-deep),var(--plum) 56%,var(--plum-2));color:#fff;}
.brand-in{position:relative;z-index:2;max-width:420px;}
.logo-w{height:46px;width:auto;display:block;filter:brightness(0) invert(1);margin-bottom:34px;}
.brand-tag{font-family:"Manrope",sans-serif;font-weight:800;font-size:34px;line-height:1.18;letter-spacing:-.02em;}
.brand-tag .g{background:linear-gradient(92deg,#fff,#bff3df 45%,var(--green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.brand-sub{margin-top:16px;color:var(--lavender);font-size:15.5px;line-height:1.6;max-width:360px;}
.brand-pill{display:inline-flex;align-items:center;gap:9px;margin-top:30px;padding:9px 16px;border:1px solid rgba(220,201,255,.32);
 border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.02em;color:#efe7fb;background:rgba(255,255,255,.05);}
.brand-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(30,201,139,.22);}
/* decorations */
.ring{position:absolute;border-radius:50%;border:1.5px solid rgba(220,201,255,.16);}
.r1{width:520px;height:520px;left:-150px;top:50%;transform:translateY(-50%);}
.r2{width:300px;height:300px;left:-40px;top:50%;transform:translateY(-50%);}
.dots{position:absolute;width:150px;height:120px;opacity:.5;
 background-image:radial-gradient(rgba(220,201,255,.5) 1.6px,transparent 1.6px);background-size:20px 20px;}
.d-tr{right:48px;top:54px;}.d-bl{left:48px;bottom:54px;}
.sq{position:absolute;width:14px;height:14px;border-radius:4px;}
.sq1{background:var(--purple-bright);right:120px;top:160px;opacity:.85;}
.sq2{background:var(--green);right:90px;top:182px;opacity:.85;}
.sq3{background:var(--lavender);left:180px;bottom:150px;opacity:.5;}

/* ---------- form panel ---------- */
.panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 40px;position:relative;background:var(--surface);}
.card{width:100%;max-width:404px;}
.eyebrow{display:none;}            /* mobile-only logo holder */
h1{font-family:"Manrope",sans-serif;font-weight:800;font-size:30px;letter-spacing:-.02em;color:var(--ink);}
.lead{margin-top:8px;color:var(--muted);font-size:14.5px;}
.field{margin-top:18px;}
.field label{display:block;font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:7px;letter-spacing:.01em;}
.field .wrap{position:relative;}
.field input{width:100%;height:50px;border:1px solid var(--line);border-radius:13px;background:#fff;
 padding:0 16px;font-size:15px;font-family:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s;}
.field input::placeholder{color:var(--faint);}
.field input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 4px var(--purple-soft);}
.field .eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;
 cursor:pointer;color:var(--faint);display:flex;align-items:center;justify-content:center;border-radius:9px;}
.field .eye:hover{color:var(--purple);background:var(--purple-tint);}
.row{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:13.5px;}
.remember{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:600;cursor:pointer;}
.remember input{width:16px;height:16px;accent-color:var(--purple);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.grid2 .field{margin-top:18px;}
.agree{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:13px;color:var(--muted);line-height:1.55;cursor:pointer;}
.agree input{width:16px;height:16px;margin-top:2px;accent-color:var(--purple);flex:none;}
.ck{position:absolute;right:12px;top:50%;transform:translateY(-50%) scale(.6);opacity:0;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s;}
.ck.on{opacity:1;transform:translateY(-50%) scale(1);}
.ck svg{width:13px;height:13px;}
.strength{margin-top:11px;display:flex;align-items:center;gap:11px;}
.strength .bars{display:flex;gap:5px;flex:1;}
.strength .bars i{height:5px;flex:1;border-radius:3px;background:var(--line);transition:background .25s;}
.strength .slabel{font-size:12px;font-weight:700;color:var(--faint);min-width:46px;text-align:right;transition:color .25s;}
.btn-green:disabled,.btn-green:disabled:hover{background:#e3e1ec;color:#a39db4;box-shadow:none;transform:none;cursor:not-allowed;}
.btn.loading{color:transparent !important;position:relative;}
.btn.loading::after{content:"";position:absolute;width:19px;height:19px;left:50%;top:50%;margin:-9.5px 0 0 -9.5px;border:2.5px solid rgba(4,35,26,.3);border-top-color:var(--green-ink);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.success{text-align:center;padding:6px 0;}
.success .s-ic{width:66px;height:66px;border-radius:50%;background:var(--green);color:var(--green-ink);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 12px 28px rgba(30,201,139,.42);animation:pop .45s both;}
.success .s-ic svg{width:32px;height:32px;}
@keyframes pop{0%{transform:scale(.5);opacity:0;}70%{transform:scale(1.08);}100%{transform:scale(1);opacity:1;}}
.authnote{margin-top:15px;font-size:13.5px;font-weight:700;color:var(--green-deep);display:flex;align-items:center;gap:8px;}
.authnote svg{width:16px;height:16px;flex:none;}
.captcha{margin-top:18px;display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:13px;padding:14px 16px;background:#fbfbfe;cursor:pointer;user-select:none;transition:border-color .2s,background .2s;}
.captcha:hover{border-color:#cfc7e0;}
.captcha.on{border-color:var(--green);background:#f2fcf8;cursor:default;}
.captcha .cbox{width:24px;height:24px;border:2px solid #c4bdd6;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s;}
.captcha.on .cbox{background:var(--green);border-color:var(--green);}
.captcha .cbox svg{width:14px;height:14px;opacity:0;transition:.2s;}
.captcha.on .cbox svg{opacity:1;}
.captcha .spin{width:24px;height:24px;flex:none;border:2.5px solid var(--line);border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite;}
.captcha .clabel{font-size:14px;font-weight:600;color:var(--ink);}
.captcha .cbadge{margin-left:auto;text-align:center;color:var(--faint);font-size:9px;font-weight:700;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;}
.captcha .cbadge svg{width:20px;height:20px;color:#8b7fb0;display:block;margin:0 auto 2px;}
.cap-note{margin-top:9px;font-size:11.5px;color:var(--faint);}
.otp{display:flex;gap:9px;margin-top:20px;}
.otp .otp-d{width:100%;height:58px;text-align:center;font-family:"Manrope",sans-serif;font-size:22px;font-weight:800;color:var(--ink);border:1px solid var(--line);border-radius:13px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.otp .otp-d:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 4px var(--purple-soft);}
.otp .otp-d.filled{border-color:var(--purple);}
.capslock{margin-top:8px;font-size:12.5px;font-weight:600;color:#b87503;display:flex;align-items:center;gap:6px;}
.capslock[hidden]{display:none !important;}
.fineprint{margin-top:20px;font-size:11px;line-height:1.55;color:var(--faint);text-align:center;}
.fineprint svg{width:12px;height:12px;vertical-align:-2px;margin-right:4px;color:#8b7fb0;}
.btn{width:100%;height:52px;border:none;border-radius:13px;font-family:"Hanken Grotesk";font-weight:700;font-size:15.5px;
 cursor:pointer;margin-top:22px;transition:transform .16s,box-shadow .16s,background .2s;}
.btn-green{background:var(--green);color:var(--green-ink);box-shadow:0 8px 20px rgba(30,201,139,.34);}
.btn-green:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,201,139,.45);}
.fine{margin-top:18px;font-size:13.5px;color:var(--muted);text-align:center;}
.back{margin-top:20px;font-size:14px;text-align:center;}
.legal-fine{position:absolute;bottom:26px;font-size:12px;color:var(--faint);}
.legal-fine a{color:var(--muted);font-weight:600;}
.view[hidden]{display:none;}
.view>*{animation:rise .5s both;}
.view>*:nth-child(2){animation-delay:.05s;}.view>*:nth-child(3){animation-delay:.10s;}
.view>*:nth-child(4){animation-delay:.15s;}.view>*:nth-child(5){animation-delay:.20s;}
.view>*:nth-child(6){animation-delay:.25s;}.view>*:nth-child(7){animation-delay:.30s;}
@keyframes rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

/* ---------- responsive ---------- */
@media (max-width:860px){
 .auth{flex-direction:column;}
 .brand{flex:none;padding:34px 32px;min-height:auto;}
 .brand-in{max-width:none;}
 .logo-w{height:38px;margin-bottom:20px;}
 .brand-tag{font-size:24px;}.brand-sub{font-size:14px;margin-top:10px;}.brand-pill{margin-top:18px;}
 .r1,.r2,.d-tr,.d-bl,.sq1,.sq2,.sq3{display:none;}
 .panel{padding:34px 26px 70px;justify-content:flex-start;}
 .card{margin-top:8px;}
 .grid2{grid-template-columns:1fr;gap:0;}
 .legal-fine{position:static;margin-top:28px;text-align:center;}
}
@media (prefers-reduced-motion:reduce){.view>*{animation:none!important;}.btn-green:hover{transform:none;}}
.field-validation-error,.has-error,.input-validation-error{display:block;margin-top:8px;font-size:12.5px;font-weight:600;color:#c0392b;}
.field input.input-validation-error{border-color:#e35d6a;box-shadow:0 0 0 4px rgba(227,93,106,.12);}
.text-danger{display:block;margin-top:12px;font-size:13.5px;font-weight:600;color:#c0392b;text-align:center;}
