:root{
    --auth-gradient:linear-gradient(257.29deg,#8035E8 10%,#BB29CC 30%,#F91BAC 52%,#FE1A4B 62%,#FD3748 79%,#FFBB41 93%);
    --title-gradient:linear-gradient(90deg,#ff7630 0%,#ff1a76 48%,#8035e8 100%);
    --button-gradient:linear-gradient(90deg,#8035E8 0%,#a65af4 100%);
    --accent-gradient:linear-gradient(90deg,#8035E8 0%,#F91BAC 55%,#FFBB41 100%);
    --text:#252129;
    --muted:#6f6b74;
    --soft:#f8f7fb;
    --line:#d9d5df;
    --line-strong:#8035E8;
    --danger:#e23859;
    --danger-bg:#fff4f6;
    --success:#128a4a;
    --card-shadow:0 18px 42px rgba(55,22,116,.12);
    --radius-card:10px;
    --radius-input:4px;
    --header-h:66px;
    --font:Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
    --auth-dots-left:url("../img/dashboards/auth-dots-left.png");
    --auth-dots-right:url("../img/dashboards/auth-dots-right.svg");
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    min-width:320px;
    color:var(--text);
    background:#fff;
    font-family:var(--font);
    line-height:1.35;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.72}

.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

.auth-header{
    height:var(--header-h);
    background:#fff;
    position:relative;
    z-index:50;
    border:0;
}
.auth-header__inner{
    position:relative;
    width:min(calc(100% - 48px),820px);
    height:100%;
    max-width:820px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0;
}
.auth-brand{
    position:static;
    transform:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}
.auth-brand img{width:146px;height:auto}
.auth-head-actions{
    margin-left:auto;
    display:flex;
    align-items:center;
}

/* ── language dropdown (no JS) ── */
.lang{position:relative;color:#1f1d24}
.lang summary{
    list-style:none;
    cursor:pointer;
    user-select:none;
    display:flex;
    align-items:center;
    gap:10px;
    padding:7px 10px;
    border-radius:10px;
    color:#1f1d24;
    font-size:16px;
    font-weight:500;
    line-height:1;
}
.lang summary::-webkit-details-marker{display:none}
.chev{
    width:9px;
    height:9px;
    display:inline-block;
    border:2px solid currentColor;
    border-top:0;
    border-left:0;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .15s ease;
}
.lang[open] .chev{transform:rotate(-135deg) translateY(-1px)}
.menu{
    position:absolute;
    right:0;
    top:calc(100% + 12px);
    background:#0f1512;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    box-shadow:0 20px 48px rgba(0,0,0,.45);
    padding:12px;
    min-width:min(92vw,340px);
    z-index:9999;
}
.menu-grid{display:grid;gap:10px;grid-template-columns:1fr}
.lang a{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#f8fff9;
    padding:12px 14px;
    border-radius:12px;
    background:linear-gradient(180deg,#111a17,#0c1210);
    border:1px solid rgba(255,255,255,.08);
    font-weight:700;
    transition:border-color .15s,background .15s,transform .06s;
}
.lang a:hover{border-color:rgba(249,27,172,.52)}
.lang a:active{transform:translateY(1px)}
.lang a[aria-current="true"]{border-color:rgba(249,27,172,.82);background:linear-gradient(180deg,rgba(249,27,172,.14),#0c1210)}
.flag{font-size:18px;line-height:1}
.lang[open]{isolation:isolate}

.auth-page{background:#fff}
.auth-hero{
    position:relative;
    min-height:708px;
    background-image:var(--auth-dots-right),var(--auth-dots-left),var(--auth-gradient);
    background-repeat:no-repeat,no-repeat,no-repeat;
    background-position:right top,left bottom,center;
    background-size:min(34vw,527px) auto,min(34vw,527px) auto,cover;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    isolation:isolate;
}
.auth-hero::before,
.auth-hero::after{display:none}
.auth-shell{
    position:relative;
    z-index:2;
    width:100%;
    display:flex;
    justify-content:center;
    padding:64px 22px 60px;
    margin-top:-10px;
}
.auth-card{
    width:min(100%,482px);
    background:#fff;
    border:1px solid rgba(128,53,232,.52);
    border-radius:var(--radius-card);
    box-shadow:var(--card-shadow);
    padding:36px 45px 30px;
    display:none;
}
body[data-auth-view="login"] [data-auth-card="login"],
body[data-auth-view="forgot"] [data-auth-card="forgot"],
body[data-auth-view="check-email"] [data-auth-card="check-email"],
body[data-auth-view="verification-sent"] [data-auth-card="verification-sent"],
body[data-auth-view="verify"] [data-auth-card="verify"],
body[data-auth-view="reset"] [data-auth-card="reset"],
body[data-auth-view="signup"] [data-auth-card="signup"]{display:block}

.auth-card--forgot{padding-top:40px;padding-bottom:32px}
.auth-card--check{padding-top:39px;padding-bottom:30px}
.auth-card--signup{padding-top:33px;padding-bottom:27px}
.auth-title{
    margin:0;
    color:#f91bac;
    background:var(--title-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    font-size:27px;
    line-height:1.12;
    font-weight:800;
    text-align:center;
    letter-spacing:-.02em;
}
.auth-subtitle{
    margin:10px auto 30px;
    color:var(--muted);
    text-align:center;
    font-size:17px;
    line-height:1.28;
    font-weight:400;
}
.auth-subtitle--narrow{max-width:330px;margin-bottom:31px}
.auth-subtitle--message{font-size:18px;margin-top:14px;margin-bottom:30px;line-height:1.25}

.auth-form{margin:0;display:flex;flex-direction:column;align-items:stretch}
.field{position:relative;margin:0 0 14px}
.field input{
    width:100%;
    height:43px;
    border:1px solid var(--line);
    border-radius:var(--radius-input);
    background:#fff;
    color:#2d2931;
    padding:0 16px;
    font-size:16px;
    outline:none;
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.field input::placeholder{color:#7a747e;opacity:1}
.field input:focus{
    border-color:#9a55ee;
    box-shadow:0 0 0 3px rgba(128,53,232,.14);
}
.field--password input{padding-right:46px}
.password-toggle{
    position:absolute;
    right:11px;
    top:12px;
    width:22px;
    height:22px;
    padding:0;
    border:0;
    background:transparent;
    display:grid;
    place-items:center;
    border-radius:50%;
}
.password-toggle:focus-visible{outline:2px solid rgba(128,53,232,.48);outline-offset:2px}
.password-toggle img{width:16px;height:16px;object-fit:contain}
.field.is-invalid input,
.terms-field.is-invalid .checkbox-ui{
    border-color:var(--danger);
    background:var(--danger-bg);
}
.field.is-invalid input:focus{box-shadow:0 0 0 3px rgba(226,56,89,.13)}
.field-error{
    min-height:0;
    margin:5px 0 0;
    color:var(--danger);
    font-size:12px;
    line-height:1.25;
    font-weight:600;
    display:none;
}
.field.is-invalid .field-error,
.terms-field.is-invalid .field-error{display:block}
.form-alert{
    margin:0 0 14px;
    padding:10px 12px;
    border:1px solid rgba(226,56,89,.38);
    border-radius:8px;
    background:var(--danger-bg);
    color:var(--danger);
    font-size:13px;
    font-weight:700;
    text-align:left;
}
.form-alert.is-success{
    border-color:rgba(18,138,74,.35);
    background:#f1fff7;
    color:var(--success);
}

.auth-link,
.link-button{
    color:#ff2b72;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
    text-decoration-thickness:1px;
}
.auth-link:hover,
.link-button:hover{color:#8035e8}
.auth-link--center{
    align-self:center;
    margin:1px 0 21px;
    font-size:14px;
}
.auth-link--muted{color:#6e6874;font-weight:500}
.link-button{
    appearance:none;
    padding:0;
    border:0;
    background:transparent;
    font-size:14px;
}

.primary-btn{
    align-self:center;
    min-width:162px;
    height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:4px;
    background:var(--button-gradient);
    color:#fff;
    font-weight:800;
    font-size:16px;
    line-height:1;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(128,53,232,.18);
    transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
.primary-btn:hover{filter:saturate(1.04);box-shadow:0 10px 22px rgba(128,53,232,.24)}
.primary-btn:active{transform:translateY(1px)}
.primary-btn:focus-visible{outline:3px solid rgba(128,53,232,.32);outline-offset:3px}
.primary-btn--wide{min-width:172px;padding-inline:20px;margin-top:10px}
.primary-btn--link{min-width:170px;margin:0 auto 30px}
.auth-form.is-loading .primary-btn[type="submit"]::after,
.auth-form.is-loading .link-button[type="submit"]::after{
    content:"";
    width:13px;
    height:13px;
    margin-left:8px;
    border:2px solid currentColor;
    border-top-color:transparent;
    border-radius:50%;
    animation:auth-spin .75s linear infinite;
}
@keyframes auth-spin{to{transform:rotate(1turn)}}

.auth-divider{
    display:flex;
    align-items:center;
    gap:22px;
    color:#8a858c;
    font-size:16px;
    margin:30px 0 22px;
}
.auth-divider::before,
.auth-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:#d9d6de;
}
[data-social-auth][hidden], [data-social-provider][hidden]{display:none!important}
.social-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:12px}
.social-row--single{grid-template-columns:1fr}
.social-consent{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
.social-btn{
    min-width:0;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    padding:0 18px;
    border:1.5px solid #8035E8;
    border-radius:5px;
    background:#fff;
    color:#8035E8;
    font-size:14px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    transition:background .12s ease,box-shadow .12s ease,transform .12s ease;
}
.social-btn:hover{background:#faf7ff;box-shadow:0 7px 16px rgba(128,53,232,.08)}
.social-btn:active{transform:translateY(1px)}
.social-btn:focus-visible{outline:3px solid rgba(128,53,232,.4);outline-offset:3px}
.social-btn img{width:20px;height:20px;object-fit:contain}

.auth-bottom-copy{
    margin:0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    color:#68636c;
    font-size:14px;
    font-weight:700;
}
.auth-bottom-copy--split{margin-top:31px}
.auth-bottom-copy--check{margin-top:0}
.auth-bottom-copy--center{justify-content:center;text-align:center;margin-top:24px}
[data-auth-form="verify"] [hidden]{display:none!important}

.terms-field{margin:-2px 0 14px}
.check-label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#7a747e;
    font-size:15px;
    line-height:1.32;
    user-select:none;
}
.check-label input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.checkbox-ui{
    flex:0 0 auto;
    width:20px;
    height:20px;
    border:1px solid var(--line);
    border-radius:4px;
    background:#fff;
    margin-top:-1px;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.check-label input:checked + .checkbox-ui{
    border-color:#8035E8;
    background:#8035E8;
    box-shadow:inset 0 0 0 4px #fff;
}
.check-label input:focus-visible + .checkbox-ui{outline:3px solid rgba(128,53,232,.22)}

.auth-turnstile{position:absolute;left:-9999px;bottom:0;width:1px;height:1px;overflow:hidden}

.auth-footer{
    background:#fff;
    padding:48px 20px 30px;
    min-height:264px;
    text-align:center;
}
.auth-footer__inner{max-width:1120px;margin:0 auto}
.auth-footer__brand{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-bottom:28px}
.auth-footer__logo{width:132px;height:auto;margin:0 auto}
.auth-footer__nav,
.auth-footer__utility{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:0;
    margin:0 auto;
    color:#151219;
}
.auth-footer__nav{font-size:16px;line-height:1.1;margin-bottom:24px}
.auth-footer__utility{font-size:14px;line-height:1.1;margin-bottom:16px}
.auth-footer__nav a,
.auth-footer__utility a{
    text-decoration:none;
    padding:0 13px;
    border-left:1px solid #d4d0d8;
}
.auth-footer__nav a:first-child,
.auth-footer__utility a:first-child{border-left:0}
.auth-footer__nav a:hover,
.auth-footer__utility a:hover{color:#8035E8;text-decoration:underline;text-underline-offset:3px}
.auth-footer__accent{
    width:116px;
    height:2px;
    margin:0 auto 25px;
    background:var(--accent-gradient);
}
.auth-footer__tagline{
    margin:0 0 29px;
    color:#17131b;
    font-size:14px;
    line-height:1.2;
}
.auth-footer__legal{
    margin:0 auto;
    max-width:1060px;
    color:#77727b;
    font-size:10px;
    line-height:1.3;
    font-weight:700;
}

@media (max-width:1100px){
    .auth-header__inner{width:100%;max-width:100%;display:flex;justify-content:space-between;padding:0 24px}
    .auth-brand{position:static;transform:none}
    .auth-head-actions{margin-left:auto}
    .lang{position:static}
    .menu{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        width:100%;
        min-width:100%;
        max-width:100%;
        border-radius:0 0 18px 18px;
        padding:14px;
        max-height:70vh;
        overflow:auto;
        margin-top:0;
    }
    .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:640px){
    :root{--header-h:54px}
    .auth-header__inner{padding:0 14px 0 27px}
    .auth-brand img{width:128px}
    .lang summary{font-size:14px;padding:8px 4px;gap:8px}
    .chev{width:8px;height:8px;border-width:1.7px}
    .menu-grid{grid-template-columns:1fr}

    .auth-hero{
        min-height:500px;
        align-items:flex-start;
        background-size:265px auto,285px auto,cover;
        background-position:right -60px top 0,left -72px bottom -4px,center;
    }
    body[data-auth-view="signup"] .auth-hero{min-height:560px}
    body[data-auth-view="forgot"] .auth-hero,
    body[data-auth-view="check-email"] .auth-hero{min-height:485px}
    .auth-shell{
        padding:57px 18px 40px;
        margin-top:0;
        align-items:flex-start;
    }
    .auth-card{
        width:100%;
        max-width:320px;
        padding:30px 22px 24px;
        border-radius:8px;
    }
    .auth-card--forgot{padding-top:31px;padding-bottom:24px}
    .auth-card--check{padding-top:30px;padding-bottom:24px}
    .auth-card--signup{padding-top:28px;padding-bottom:23px}
    .auth-title{font-size:27px;line-height:1.12;letter-spacing:-.03em}
    .auth-subtitle{font-size:14px;line-height:1.25;margin:6px auto 22px;max-width:260px}
    .auth-subtitle--narrow{font-size:13px;max-width:236px;margin-bottom:22px}
    .auth-subtitle--message{font-size:14px;margin-top:7px;margin-bottom:20px;line-height:1.3;max-width:260px}

    .field{margin-bottom:10px}
    .field input{
        height:38px;
        padding:0 14px;
        font-size:14px;
        border-radius:4px;
    }
    .field--password input{padding-right:38px}
    .password-toggle{right:9px;top:9px;width:20px;height:20px}
    .password-toggle img{width:15px;height:15px}
    .field-error{font-size:11px;margin-top:4px}
    .form-alert{font-size:12px;padding:9px 10px;margin-bottom:10px;border-radius:6px}

    .auth-link--center{font-size:12px;margin:2px 0 16px}
    .primary-btn{min-width:132px;height:40px;font-size:14px;border-radius:4px}
    .primary-btn--wide{min-width:142px;margin-top:8px;padding-inline:16px}
    .primary-btn--link{min-width:150px;margin-bottom:24px}

    .auth-divider{gap:16px;font-size:14px;margin:20px 0 16px}
    .social-row{gap:12px;margin:0 0 15px}
    .social-btn{height:43px;gap:10px;padding-inline:10px;font-size:13px;border-radius:4px}
    .social-btn img{width:20px;height:20px}
    .social-prefix{display:none}
    .auth-bottom-copy{font-size:12px;gap:10px}
    .auth-bottom-copy--split{margin-top:22px}
    .link-button{font-size:12px}

    .terms-field{margin:2px 0 11px}
    .check-label{font-size:12px;gap:9px;align-items:center}
    .checkbox-ui{width:20px;height:20px;margin-top:0;border-radius:4px}

    .auth-footer{
        padding:43px 16px 22px;
        min-height:310px;
    }
    .auth-footer__brand{margin-bottom:28px}
    .auth-footer__logo{width:122px}
    .auth-footer__nav{
        max-width:270px;
        row-gap:9px;
        font-size:12px;
        line-height:1.1;
        margin-bottom:31px;
    }
    .auth-footer__nav a{padding:0 10px}
    .auth-footer__utility{
        max-width:270px;
        row-gap:11px;
        font-size:12px;
        margin-bottom:15px;
    }
    .auth-footer__utility a{padding:0 9px}
    .auth-footer__accent{width:104px;margin-bottom:27px}
    .auth-footer__tagline{font-size:12px;margin-bottom:24px}
    .auth-footer__legal{max-width:252px;font-size:7.4px;line-height:1.16}
}

@media (max-width:360px){
    .auth-shell{padding-left:14px;padding-right:14px}
    .auth-card{max-width:304px;padding-left:18px;padding-right:18px}
    .social-row{gap:8px}
    .social-btn{font-size:12px;padding-inline:8px}
    .auth-header__inner{padding-left:23px;padding-right:13px}
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
