:root{
    --fl-primary:#0b8b83;
    --fl-primary-hover:#08766f;
    --fl-primary-dark:#06635e;
    --fl-primary-bright:#16aaa0;
    --fl-primary-soft:#edf8f7;
    --fl-primary-ring:rgba(11,139,131,.13);

    --fl-navy:#153f61;
    --fl-navy-light:#195a72;
    --fl-navy-dark:#0e324e;

    --fl-page:#edf3f6;
    --fl-surface:#ffffff;

    --fl-text:#102235;
    --fl-text-strong:#07192c;
    --fl-soft:#68798a;
    --fl-muted:#95a3b2;

    --fl-border:#d2dfe7;
    --fl-border-hover:#b9cad5;
    --fl-border-light:#eaf0f4;

    --fl-danger:#d94755;
    --fl-danger-soft:#fff4f5;
    --fl-danger-border:#f2ccd1;

    --fl-warning:#d58a21;

    --fl-success:#168657;
    --fl-success-soft:#eff9f4;
    --fl-success-border:#c9e7d7;

    --fl-radius:18px;
    --fl-transition:170ms ease;

    --fl-shadow:
        0 24px 60px rgba(20,48,69,.10);
}


/* =========================================================
   RESET
========================================================= */

*,
*::before,
*::after{
    box-sizing:border-box;
}

*{
    margin:0;
    padding:0;
}

html{
    width:100%;
    min-height:100%;
    scroll-behavior:smooth;
}

body{
    width:100%;
    min-height:100vh;
    min-height:100dvh;

    overflow-x:hidden;

    background:var(--fl-page);

    color:var(--fl-text);

    font-family:"DM Sans",sans-serif;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

button,
input{
    font:inherit;
}

button{
    border:0;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
a,
label{
    -webkit-tap-highlight-color:transparent;
}

[hidden]{
    display:none!important;
}


/* =========================================================
   PAGE
========================================================= */

.fast-auth-page{
    position:relative;

    display:flex;

    width:100%;

    min-height:100vh;
    min-height:100dvh;

    align-items:center;
    justify-content:center;

    padding:28px;

    background:
        radial-gradient(
            circle at 0 0,
            rgba(11,139,131,.045),
            transparent 30%
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(21,63,97,.04),
            transparent 30%
        ),
        var(--fl-page);
}


/* =========================================================
   SHELL
========================================================= */

.fast-auth-shell{
    position:relative;

    z-index:2;

    display:grid;

    width:min(100%,950px);

    min-height:520px;

    grid-template-columns:46% 54%;

    overflow:hidden;

    border:1px solid #dbe5eb;

    border-radius:var(--fl-radius);

    background:#fff;

    box-shadow:var(--fl-shadow);

    isolation:isolate;

    animation:fastAuthEnter .4s ease both;
}

.fast-auth-shell-register{
    width:min(100%,980px);
    min-height:610px;

    grid-template-columns:43% 57%;
}


@keyframes fastAuthEnter{

    from{
        opacity:0;
        transform:translateY(12px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/* =========================================================
   LEFT PANEL
========================================================= */

.fast-auth-brand{
    position:relative;

    display:flex;

    width:100%;
    min-width:0;

    overflow:hidden;

    padding:46px 46px 35px;

    background:
        linear-gradient(
            145deg,
            #153f61 0%,
            #185873 53%,
            #0b817b 100%
        );

    color:#fff;
}


/* =========================================================
   DECORATIVE CIRCLES
========================================================= */

.fast-auth-brand::before{
    position:absolute;

    top:-115px;
    right:-78px;

    width:270px;
    height:270px;

    border:1px solid rgba(255,255,255,.11);

    border-radius:50%;

    content:"";

    pointer-events:none;
}

.fast-auth-brand::after{
    position:absolute;

    bottom:-170px;
    left:-125px;

    width:330px;
    height:330px;

    border:1px solid rgba(255,255,255,.09);

    border-radius:50%;

    content:"";

    pointer-events:none;
}

.fast-auth-brand-circle{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}

.fast-auth-brand-circle-one{
    top:72px;
    right:-93px;

    width:195px;
    height:195px;

    border:1px solid rgba(255,255,255,.05);
}

.fast-auth-brand-circle-two{
    bottom:-65px;
    left:-45px;

    width:190px;
    height:190px;

    border:1px solid rgba(255,255,255,.045);
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.fast-auth-brand-content{
    position:relative;

    z-index:2;

    display:flex;

    width:100%;
    min-width:0;

    flex-direction:column;
}

.fast-auth-brand-main{
    display:flex;

    min-width:0;

    flex:1;

    flex-direction:column;

    justify-content:center;
}


/* =========================================================
   DESKTOP SECURITY BADGE
========================================================= */

.fast-auth-brand-badge{
    display:inline-flex;

    width:max-content;

    max-width:100%;

    align-items:center;

    gap:7px;

    margin-bottom:24px;

    padding:7px 10px;

    border:1px solid rgba(255,255,255,.12);

    border-radius:7px;

    background:rgba(255,255,255,.07);

    color:rgba(255,255,255,.84);

    font-size:8px;

    font-weight:700;

    letter-spacing:.09em;
}

.fast-auth-brand-badge i{
    color:#83ddd6;

    font-size:9px;
}


/* =========================================================
   LEFT MESSAGE
========================================================= */

.fast-auth-brand-message{
    width:100%;

    max-width:340px;
}

.fast-auth-brand-message h1{
    color:#fff;

    font-family:"Space Grotesk",sans-serif;

    font-size:31px;

    font-weight:600;

    letter-spacing:-.04em;

    line-height:1.12;
}

.fast-auth-brand-message h1 span{
    display:block;

    color:#8ee0da;
}

.fast-auth-brand-message>p{
    max-width:315px;

    margin-top:15px;

    color:rgba(255,255,255,.72);

    font-size:10.5px;

    font-weight:400;

    line-height:1.7;
}


/* =========================================================
   FEATURES
========================================================= */

.fast-auth-feature-list{
    display:grid;

    gap:14px;

    margin-top:27px;
}

.fast-auth-feature-item{
    display:flex;

    align-items:flex-start;

    gap:10px;
}

.fast-auth-feature-item>span{
    display:grid;

    width:23px;
    height:23px;

    flex:0 0 23px;

    place-items:center;

    margin-top:1px;

    border:1px solid rgba(255,255,255,.14);

    border-radius:6px;

    background:rgba(255,255,255,.07);
}

.fast-auth-feature-item>span i{
    color:#80ddd6;

    font-size:8px;
}

.fast-auth-feature-item>div{
    display:flex;

    flex-direction:column;

    gap:2px;
}

.fast-auth-feature-item strong{
    color:#fff;

    font-size:9px;

    font-weight:600;
}

.fast-auth-feature-item small{
    color:rgba(255,255,255,.55);

    font-size:7.5px;

    font-weight:400;

    line-height:1.5;
}


/* =========================================================
   DESKTOP BOTTOM
========================================================= */

.fast-auth-brand-bottom{
    margin-top:auto;

    padding-top:30px;
}

.fast-auth-brand-security{
    display:flex;

    align-items:center;

    gap:7px;

    color:rgba(255,255,255,.53);

    font-size:7.5px;

    line-height:1.45;
}

.fast-auth-brand-security i{
    color:#80ddd6;

    font-size:8px;
}

.fast-auth-brand-account{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:12px;

    margin-top:16px;

    padding-top:15px;

    border-top:1px solid rgba(255,255,255,.11);
}

.fast-auth-brand-account>span{
    color:rgba(255,255,255,.58);

    font-size:8px;
}

.fast-auth-brand-account>a{
    display:inline-flex;

    align-items:center;

    gap:6px;

    color:#fff;

    font-size:8px;

    font-weight:700;

    white-space:nowrap;

    transition:
        opacity var(--fl-transition),
        transform var(--fl-transition);
}

.fast-auth-brand-account>a:hover{
    opacity:.84;

    transform:translateX(2px);
}

.fast-auth-brand-account>a i{
    font-size:7px;
}


/* =========================================================
   MOBILE HEADER
   HIDDEN ON DESKTOP
========================================================= */

.fast-auth-mobile-header{
    display:none;
}


/* =========================================================
   RIGHT PANEL
========================================================= */

.fast-auth-right{
    display:flex;

    width:100%;
    min-width:0;

    flex-direction:column;

    background:#fff;
}


/* =========================================================
   MAIN FORM
========================================================= */

.fast-auth-main{
    display:flex;

    width:100%;
    min-width:0;

    flex:1;

    align-items:center;
    justify-content:center;

    padding:40px 46px;
}

.fast-auth-form-wrapper{
    width:100%;

    max-width:420px;

    margin:auto;
}

.fast-auth-register-wrapper{
    max-width:440px;
}


/* =========================================================
   HEADING
========================================================= */

.fast-auth-heading{
    margin-bottom:23px;

    text-align:center;
}

.fast-auth-heading-label{
    display:inline-block;

    margin-bottom:7px;

    color:var(--fl-primary);

    font-size:7px;

    font-weight:700;

    letter-spacing:.14em;
}

.fast-auth-heading h2{
    color:var(--fl-text-strong);

    font-family:"Space Grotesk",sans-serif;

    font-size:27px;

    font-weight:700;

    letter-spacing:-.04em;

    line-height:1.15;
}

.fast-auth-heading p{
    max-width:320px;

    margin:7px auto 0;

    color:var(--fl-soft);

    font-size:8.5px;

    font-weight:400;

    line-height:1.6;
}


/* =========================================================
   SECURITY NOTICE
========================================================= */

.fast-auth-security-notice{
    display:flex;

    width:100%;

    align-items:flex-start;

    gap:8px;

    margin-bottom:18px;

    padding:10px 11px;

    border:1px solid #d6e5e6;

    border-radius:9px;

    background:#f4f9f9;

    color:#607586;

    font-size:7.8px;

    line-height:1.5;
}

.fast-auth-security-notice>i{
    margin-top:2px;

    flex:0 0 auto;

    color:var(--fl-primary);

    font-size:8px;
}


/* =========================================================
   ALERTS
========================================================= */

.fast-auth-alert{
    display:flex;

    align-items:flex-start;

    gap:8px;

    margin-bottom:15px;

    padding:10px 11px;

    border-radius:9px;

    font-size:8px;

    line-height:1.45;
}

.fast-auth-alert>i{
    margin-top:2px;

    flex:0 0 auto;
}

.fast-auth-alert>div{
    display:flex;

    min-width:0;

    flex-direction:column;
}

.fast-auth-alert strong{
    font-size:8px;

    font-weight:700;
}

.fast-auth-alert span{
    margin-top:2px;
}

.fast-auth-alert-success{
    border:1px solid var(--fl-success-border);

    background:var(--fl-success-soft);

    color:var(--fl-success);
}

.fast-auth-alert-danger{
    border:1px solid var(--fl-danger-border);

    background:var(--fl-danger-soft);

    color:var(--fl-danger);
}


/* =========================================================
   FORM
========================================================= */

.fast-auth-form{
    width:100%;
}

.fast-auth-field{
    display:flex;

    width:100%;
    min-width:0;

    flex-direction:column;

    gap:6px;
}

.fast-auth-field+.fast-auth-field{
    margin-top:15px;
}

.fast-auth-field label{
    display:inline-flex;

    width:max-content;

    align-items:center;

    gap:3px;

    color:#273d50;

    font-size:8.5px;

    font-weight:700;

    line-height:1.25;
}

.fast-auth-field label em{
    color:var(--fl-danger);

    font-style:normal;
}


/* =========================================================
   INPUTS
========================================================= */

.fast-auth-input-wrap{
    position:relative;

    display:flex;

    width:100%;
    min-width:0;

    align-items:center;
}

.fast-auth-input-icon{
    position:absolute;

    z-index:2;

    left:15px;

    width:14px;

    color:var(--fl-primary);

    font-size:10px;

    text-align:center;

    pointer-events:none;
}

.fast-auth-input{
    width:100%;

    height:50px;

    min-width:0;

    padding:
        0
        15px
        0
        45px;

    border:1px solid var(--fl-border);

    border-radius:10px;

    outline:0;

    background:#fff;

    color:var(--fl-text);

    font-size:10px;

    font-weight:500;

    transition:
        border-color var(--fl-transition),
        box-shadow var(--fl-transition),
        background var(--fl-transition);
}

.fast-auth-input::placeholder{
    color:#9aa8b8;

    font-weight:400;
}

.fast-auth-input:hover{
    border-color:var(--fl-border-hover);
}

.fast-auth-input:focus{
    border-color:var(--fl-primary);

    box-shadow:0 0 0 3px var(--fl-primary-ring);
}

.fast-auth-password-input{
    padding-right:50px;
}

.fast-auth-input-wrap.is-email .fast-auth-input-icon{
    color:var(--fl-primary);
}

.fast-auth-input-wrap.is-phone .fast-auth-input-icon{
    color:var(--fl-success);
}


/* =========================================================
   PASSWORD TOGGLE
========================================================= */

.fast-auth-password-toggle{
    position:absolute;

    z-index:3;

    right:9px;

    display:grid;

    width:34px;
    height:34px;

    place-items:center;

    border-radius:8px;

    outline:0;

    background:transparent;

    color:var(--fl-primary);

    cursor:pointer;

    font-size:11px;

    transition:
        background var(--fl-transition),
        color var(--fl-transition);
}

.fast-auth-password-toggle:hover,
.fast-auth-password-toggle.is-visible{
    background:var(--fl-primary-soft);

    color:var(--fl-primary-dark);
}


/* =========================================================
   FIELD ERROR
========================================================= */

.fast-auth-field-error{
    display:flex;

    align-items:flex-start;

    gap:5px;

    color:var(--fl-danger);

    font-size:7.3px;

    font-weight:600;

    line-height:1.4;
}

.fast-auth-field-error i{
    margin-top:2px;

    flex:0 0 auto;

    font-size:6px;
}

.fast-auth-field.has-error .fast-auth-input{
    border-color:var(--fl-danger);

    background:#fffafa;

    box-shadow:0 0 0 3px rgba(217,71,85,.045);
}


/* =========================================================
   LOGIN OPTIONS
========================================================= */

.fast-auth-options{
    display:flex;

    width:100%;

    align-items:center;

    justify-content:space-between;

    gap:14px;

    margin-top:15px;
}

.fast-auth-remember{
    display:inline-flex;

    flex:0 0 auto;

    align-items:center;

    gap:7px;

    color:var(--fl-soft);

    cursor:pointer;

    font-size:8px;

    font-weight:500;

    line-height:1;

    white-space:nowrap;
}

.fast-auth-remember input{
    width:14px;
    height:14px;

    flex:0 0 14px;

    margin:0;

    accent-color:var(--fl-primary);

    cursor:pointer;
}

.fast-auth-option-forgot{
    display:inline-flex;

    flex:0 0 auto;

    align-items:center;

    color:var(--fl-primary);

    font-size:8px;

    font-weight:700;

    line-height:1;

    white-space:nowrap;

    transition:color var(--fl-transition);
}

.fast-auth-option-forgot:hover{
    color:var(--fl-primary-hover);
}


/* =========================================================
   SUBMIT
========================================================= */

.fast-auth-submit{
    position:relative;

    display:flex;

    width:100%;
    height:50px;

    align-items:center;
    justify-content:center;

    margin-top:19px;

    overflow:hidden;

    border-radius:10px;

    outline:0;

    background:var(--fl-primary);

    color:#fff;

    cursor:pointer;

    font-size:9px;

    font-weight:700;

    transition:
        background var(--fl-transition),
        transform var(--fl-transition),
        box-shadow var(--fl-transition),
        opacity var(--fl-transition);
}

.fast-auth-submit:hover:not(:disabled){
    background:var(--fl-primary-hover);

    transform:translateY(-1px);

    box-shadow:0 9px 20px rgba(11,139,131,.18);
}

.fast-auth-submit:active:not(:disabled){
    transform:translateY(0);
}

.fast-auth-submit:disabled{
    cursor:not-allowed;

    opacity:.82;
}

.fast-auth-submit-default,
.fast-auth-submit-loading{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:8px;
}

.fast-auth-submit-default i{
    font-size:7px;
}

.fast-auth-submit-loading i{
    font-size:11px;
}

.fast-auth-submit.is-loading{
    cursor:wait;

    background:var(--fl-primary-hover);

    pointer-events:none;
}

.fast-auth-submit.is-loading .fast-auth-submit-default{
    display:none!important;
}

.fast-auth-submit.is-loading .fast-auth-submit-loading{
    display:inline-flex!important;
}


/* =========================================================
   INLINE LOGIN / REGISTER SWITCH
========================================================= */

.fast-auth-inline-switch{
    display:flex;

    width:100%;

    align-items:center;
    justify-content:center;

    flex-wrap:nowrap;

    gap:4px;

    margin-top:17px;

    padding-top:15px;

    border-top:1px solid var(--fl-border-light);

    color:var(--fl-soft);

    font-size:7.5px;

    line-height:1;

    white-space:nowrap;
}

.fast-auth-inline-switch span,
.fast-auth-inline-switch a{
    display:inline;

    white-space:nowrap;
}

.fast-auth-inline-switch a{
    color:var(--fl-primary);

    font-weight:700;
}

.fast-auth-inline-switch a:hover{
    color:var(--fl-primary-hover);
}


/* =========================================================
   FOOTER
========================================================= */

.fast-auth-form-footer{
    display:flex;

    width:100%;

    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    gap:4px;

    margin-top:15px;

    color:#8d9aa8;

    font-size:6.5px;

    text-align:center;
}

.fast-auth-developer-link{
    display:inline-flex;

    align-items:center;

    gap:4px;

    color:var(--fl-primary);

    font-weight:700;

    transition:
        color var(--fl-transition),
        opacity var(--fl-transition);
}

.fast-auth-developer-link strong{
    color:inherit;

    font-weight:700;
}

.fast-auth-developer-link i{
    color:#19a87b;

    font-size:8px;
}

.fast-auth-developer-link:hover{
    color:var(--fl-primary-hover);
}

.fast-auth-developer-link:hover i{
    color:#12875f;
}

.fast-auth-footer-divider,
.fast-auth-footer-dot{
    display:block;

    width:3px;
    height:3px;

    flex:0 0 3px;

    border-radius:50%;

    background:#c1c9d0;
}


/* =========================================================
   REGISTER GRID
========================================================= */

.fast-auth-register-grid{
    display:grid;

    width:100%;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:14px 12px;
}

.fast-auth-register-grid .fast-auth-field{
    margin:0;
}

.fast-auth-register-grid
.fast-auth-field+
.fast-auth-field{
    margin-top:0;
}

.fast-auth-field-full{
    grid-column:1 / -1;
}

.fast-auth-shell-register .fast-auth-input{
    height:47px;

    font-size:9.2px;
}

.fast-auth-shell-register .fast-auth-input-icon{
    font-size:9px;
}

.fast-auth-shell-register .fast-auth-field label{
    font-size:8px;
}

.fast-auth-shell-register .fast-auth-password-toggle{
    width:32px;
    height:32px;

    font-size:10px;
}


/* =========================================================
   PASSWORD STRENGTH
========================================================= */

.fast-auth-strength{
    display:flex;

    width:100%;

    flex-direction:column;

    gap:5px;

    margin-top:1px;
}

.fast-auth-strength-bars{
    display:grid;

    width:100%;

    grid-template-columns:repeat(4,1fr);

    gap:4px;
}

.fast-auth-strength-bars span{
    display:block;

    width:100%;
    height:3px;

    border-radius:20px;

    background:#e5ebef;

    transition:background .18s ease;
}

.fast-auth-strength small{
    color:#8997a5;

    font-size:6.5px;

    font-weight:500;

    line-height:1.4;
}

.fast-auth-strength.strength-weak
.fast-auth-strength-bars span.is-active{
    background:#dc4d58;
}

.fast-auth-strength.strength-fair
.fast-auth-strength-bars span.is-active{
    background:#db9b34;
}

.fast-auth-strength.strength-good
.fast-auth-strength-bars span.is-active{
    background:#279c86;
}

.fast-auth-strength.strength-strong
.fast-auth-strength-bars span.is-active{
    background:var(--fl-primary);
}


/* =========================================================
   PASSWORD MATCH
========================================================= */

.fast-auth-password-match{
    display:none;

    align-items:center;

    gap:5px;

    margin-top:1px;

    font-size:6.7px;

    font-weight:600;

    line-height:1.4;
}

.fast-auth-password-match.is-match,
.fast-auth-password-match.is-mismatch{
    display:flex;
}

.fast-auth-password-match.is-match{
    color:var(--fl-success);
}

.fast-auth-password-match.is-mismatch{
    color:var(--fl-danger);
}

.fast-auth-password-match i{
    font-size:6px;
}


/* =========================================================
   TERMS
========================================================= */

.fast-auth-terms{
    display:flex;

    width:100%;

    align-items:flex-start;

    gap:8px;

    margin-top:16px;

    padding:10px 11px;

    border:1px solid var(--fl-border-light);

    border-radius:9px;

    background:#fafcfd;
}

.fast-auth-terms input{
    width:14px;
    height:14px;

    flex:0 0 14px;

    margin-top:1px;

    accent-color:var(--fl-primary);

    cursor:pointer;
}

.fast-auth-terms label{
    color:#697989;

    cursor:pointer;

    font-size:7px;

    font-weight:500;

    line-height:1.55;
}

.fast-auth-terms.has-error{
    border-color:var(--fl-danger-border);

    background:var(--fl-danger-soft);
}

.fast-auth-terms-error{
    margin-top:6px;
}

.fast-auth-shell-register .fast-auth-submit{
    margin-top:17px;
}


/* =========================================================
   TRANSITION
========================================================= */

.fast-auth-transition-layer{
    position:absolute;

    z-index:100;

    top:-15%;
    bottom:-15%;

    width:145%;

    opacity:0;
    visibility:hidden;

    pointer-events:none;

    background:
        linear-gradient(
            135deg,
            #153f61 0%,
            #185873 50%,
            #0b8b83 100%
        );
}

.fast-auth-shell.is-leaving-register
.fast-auth-transition-layer{
    left:-150%;

    opacity:1;
    visibility:visible;

    animation:
        fastCoverRight
        .65s
        cubic-bezier(.76,0,.24,1)
        forwards;
}

@keyframes fastCoverRight{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(110%);
    }

}

.fast-auth-shell.is-leaving-login
.fast-auth-transition-layer{
    right:-150%;

    opacity:1;
    visibility:visible;

    animation:
        fastCoverLeft
        .65s
        cubic-bezier(.76,0,.24,1)
        forwards;
}

@keyframes fastCoverLeft{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-110%);
    }

}

.fast-auth-shell.is-entering-register
.fast-auth-transition-layer{
    left:-7%;

    opacity:1;
    visibility:visible;

    animation:
        fastRevealRegister
        .7s
        cubic-bezier(.76,0,.24,1)
        forwards;
}

@keyframes fastRevealRegister{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(115%);
    }

}

.fast-auth-shell.is-entering-login
.fast-auth-transition-layer{
    right:-7%;

    opacity:1;
    visibility:visible;

    animation:
        fastRevealLogin
        .7s
        cubic-bezier(.76,0,.24,1)
        forwards;
}

@keyframes fastRevealLogin{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-115%);
    }

}


/* =========================================================
   AUTOFILL
========================================================= */

.fast-auth-input:-webkit-autofill,
.fast-auth-input:-webkit-autofill:hover,
.fast-auth-input:-webkit-autofill:focus{
    -webkit-text-fill-color:var(--fl-text);

    -webkit-box-shadow:
        0 0 0 1000px #fff inset;

    transition:
        background-color 9999s ease-in-out 0s;
}


/* =========================================================
   LAPTOP
========================================================= */

@media(max-width:1050px){

    .fast-auth-page{
        padding:22px;
    }

    .fast-auth-shell{
        width:min(100%,900px);

        grid-template-columns:44% 56%;
    }

    .fast-auth-shell-register{
        width:min(100%,940px);

        grid-template-columns:42% 58%;
    }

    .fast-auth-brand{
        padding:40px 35px 31px;
    }

    .fast-auth-main{
        padding:37px 38px;
    }

    .fast-auth-shell-register .fast-auth-main{
        padding:32px 34px;
    }

}


/* =========================================================
   TABLET / MOBILE
   FULL WIDTH - NO OUTER CARD
========================================================= */

@media(max-width:820px){

    html,
    body{
        width:100%;
        min-width:100%;
        min-height:100%;

        margin:0;
        padding:0;

        background:#fff;

        overflow-x:hidden;
    }


    body{
        min-height:100vh;
        min-height:100dvh;
    }


    /* =====================================================
       PAGE
    ===================================================== */

    .fast-auth-page{
        display:block;

        width:100%;
        min-width:100%;
        max-width:none;

        min-height:100vh;
        min-height:100dvh;

        margin:0;
        padding:0;

        background:#fff;

        overflow-x:hidden;
        overflow-y:auto;
    }


    /* =====================================================
       SHELL
       NO CARD
       NO SHADOW
       NO RADIUS
    ===================================================== */

    .fast-auth-shell,
    .fast-auth-shell-register{
        display:flex;

        width:100%;
        min-width:100%;
        max-width:none;

        min-height:100vh;
        min-height:100dvh;

        height:auto;

        margin:0;
        padding:0;

        flex-direction:column;

        overflow:visible;

        border:0;

        border-radius:0;

        background:#fff;

        box-shadow:none;

        animation:none;
    }


    /* =====================================================
       MOBILE TOP HEADER
    ===================================================== */

    .fast-auth-brand,
    .fast-auth-shell-register .fast-auth-brand{
        position:relative;

        display:flex;

        width:100%;
        min-width:100%;
        max-width:none;

        min-height:175px;
        height:175px;

        flex:0 0 175px;

        align-items:center;
        justify-content:center;

        margin:0;

        padding:24px 22px;

        overflow:hidden;

        border:0;

        border-radius:0;

        background:
            linear-gradient(
                135deg,
                #153f61 0%,
                #185b72 52%,
                #0b817b 100%
            );

        box-shadow:none;
    }


    .fast-auth-brand-content{
        display:flex;

        width:100%;

        align-items:center;
        justify-content:center;
    }


    /* REMOVE DESKTOP LEFT CONTENT */

    .fast-auth-brand-main,
    .fast-auth-brand-bottom{
        display:none!important;
    }


    /* =====================================================
       MOBILE HEADER CONTENT
    ===================================================== */

    .fast-auth-mobile-header{
        position:relative;

        z-index:3;

        display:flex;

        width:100%;

        max-width:390px;

        flex-direction:column;

        align-items:center;
        justify-content:center;

        margin:0 auto;

        text-align:center;
    }


    .fast-auth-mobile-shield{
        display:grid;

        width:44px;
        height:44px;

        place-items:center;

        margin-bottom:11px;

        border:1px solid rgba(255,255,255,.20);

        border-radius:11px;

        background:rgba(255,255,255,.09);

        color:#fff;
    }


    .fast-auth-mobile-shield i{
        font-size:17px;
    }


    /* INCREASED */

    .fast-auth-mobile-header strong{
        color:#fff;

        font-family:"Space Grotesk",sans-serif;

        font-size:17px;

        font-weight:600;

        letter-spacing:-.02em;

        line-height:1.25;
    }


    /* INCREASED */

    .fast-auth-mobile-header p{
        margin-top:8px;

        color:rgba(255,255,255,.84);

        font-size:11px;

        font-weight:500;

        line-height:1.55;
    }


    /* =====================================================
       MOBILE DECORATION
    ===================================================== */

    .fast-auth-brand::before{
        top:-110px;
        right:-55px;

        width:245px;
        height:245px;

        border-color:rgba(255,255,255,.10);
    }


    .fast-auth-brand::after{
        bottom:-195px;
        left:-100px;

        width:310px;
        height:310px;

        border-color:rgba(255,255,255,.08);
    }


    .fast-auth-brand-circle-one,
    .fast-auth-brand-circle-two{
        display:none;
    }


    /* =====================================================
       RIGHT
    ===================================================== */

    .fast-auth-right{
        display:block;

        width:100%;
        min-width:100%;
        max-width:none;

        min-height:0;

        height:auto;

        flex:1;

        margin:0;
        padding:0;

        border:0;

        border-radius:0;

        background:#fff;

        box-shadow:none;
    }


    /* =====================================================
       MAIN AREA
    ===================================================== */

    .fast-auth-main,
    .fast-auth-shell-register .fast-auth-main{
        display:block;

        width:100%;
        min-width:100%;
        max-width:none;

        min-height:0;

        height:auto;

        margin:0;

        padding:30px 25px 34px;

        border:0;

        border-radius:0;

        background:#fff;

        box-shadow:none;
    }


    .fast-auth-form-wrapper,
    .fast-auth-register-wrapper{
        display:block;

        width:100%;
        min-width:100%;
        max-width:none;

        margin:0;
        padding:0;

        border:0;

        border-radius:0;

        background:transparent;

        box-shadow:none;
    }


    /* =====================================================
       MOBILE HEADING
    ===================================================== */

    .fast-auth-heading{
        width:100%;

        margin:0 0 22px;

        text-align:center;
    }


    .fast-auth-heading-label{
        display:none;
    }


    /* INCREASED */

    .fast-auth-heading h2,
    .fast-auth-shell-register .fast-auth-heading h2{
        font-size:28px;

        line-height:1.15;
    }


    /* INCREASED */

    .fast-auth-heading p{
        width:100%;

        max-width:390px;

        margin:8px auto 0;

        font-size:12px;

        line-height:1.55;
    }


    /* =====================================================
       MOBILE SECURITY NOTICE
    ===================================================== */

    .fast-auth-security-notice{
        width:100%;

        gap:9px;

        margin:0 0 22px;

        padding:13px 14px;

        border-radius:10px;

        font-size:11px;

        line-height:1.55;
    }


    .fast-auth-security-notice>i{
        margin-top:2px;

        font-size:12px;
    }


    /* =====================================================
       MOBILE ALERT
    ===================================================== */

    .fast-auth-alert{
        gap:9px;

        margin-bottom:18px;

        padding:12px 13px;

        font-size:11px;

        line-height:1.5;
    }


    .fast-auth-alert>i{
        font-size:12px;
    }


    .fast-auth-alert strong{
        font-size:11px;
    }


    /* =====================================================
       MOBILE FORM
    ===================================================== */

    .fast-auth-form{
        width:100%;

        min-width:0;

        margin:0;
        padding:0;

        background:transparent;

        box-shadow:none;
    }


    .fast-auth-field{
        width:100%;

        gap:8px;
    }


    .fast-auth-field+
    .fast-auth-field{
        margin-top:18px;
    }


    /* INCREASED */

    .fast-auth-field label,
    .fast-auth-shell-register .fast-auth-field label{
        font-size:12px;

        line-height:1.3;
    }


    /* =====================================================
       MOBILE INPUT
    ===================================================== */

    .fast-auth-input-wrap{
        width:100%;
    }


    .fast-auth-input,
    .fast-auth-shell-register .fast-auth-input{
        width:100%;

        height:54px;

        padding-left:47px;

        border-radius:11px;

        font-size:14px;
    }


    .fast-auth-input::placeholder{
        font-size:13px;
    }


    .fast-auth-input-icon,
    .fast-auth-shell-register .fast-auth-input-icon{
        left:16px;

        font-size:13px;
    }


    .fast-auth-password-input{
        padding-right:54px;
    }


    .fast-auth-password-toggle,
    .fast-auth-shell-register .fast-auth-password-toggle{
        right:9px;

        width:38px;
        height:38px;

        font-size:14px;
    }


    /* =====================================================
       MOBILE FIELD ERROR
    ===================================================== */

    .fast-auth-field-error{
        gap:6px;

        font-size:10px;

        line-height:1.45;
    }


    .fast-auth-field-error i{
        font-size:8px;
    }


    /* =====================================================
       MOBILE LOGIN OPTIONS
    ===================================================== */

    .fast-auth-options{
        width:100%;

        gap:12px;

        margin-top:18px;
    }


    /* INCREASED */

    .fast-auth-remember,
    .fast-auth-option-forgot{
        font-size:11px;
    }


    .fast-auth-remember{
        gap:8px;
    }


    .fast-auth-remember input{
        width:16px;
        height:16px;

        flex-basis:16px;
    }


    /* =====================================================
       MOBILE SUBMIT
    ===================================================== */

    .fast-auth-submit,
    .fast-auth-shell-register .fast-auth-submit{
        width:100%;

        height:54px;

        margin-top:22px;

        border-radius:11px;

        font-size:13px;
    }


    .fast-auth-submit-default{
        gap:10px;
    }


    .fast-auth-submit-default i{
        font-size:10px;
    }


    /* =====================================================
       MOBILE SWITCH
    ===================================================== */

    .fast-auth-inline-switch{
        width:100%;

        gap:5px;

        margin-top:20px;

        padding-top:18px;

        font-size:11px;

        line-height:1.3;
    }


    /* =====================================================
       MOBILE FOOTER
    ===================================================== */

    .fast-auth-form-footer{
        width:100%;

        gap:5px;

        margin-top:18px;

        font-size:10px;

        line-height:1.4;
    }


    .fast-auth-developer-link{
        gap:5px;
    }


    .fast-auth-developer-link i{
        font-size:12px;
    }


    /* =====================================================
       REGISTER TABLET GRID
    ===================================================== */

    .fast-auth-register-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:18px 13px;
    }


    .fast-auth-register-grid
    .fast-auth-field{
        margin:0;
    }


    .fast-auth-field-full{
        grid-column:1 / -1;
    }


    /* =====================================================
       PASSWORD STRENGTH
    ===================================================== */

    .fast-auth-strength{
        gap:7px;

        margin-top:2px;
    }


    .fast-auth-strength-bars span{
        height:4px;
    }


    .fast-auth-strength small{
        font-size:10px;

        line-height:1.4;
    }


    .fast-auth-password-match{
        gap:6px;

        margin-top:2px;

        font-size:10px;
    }


    .fast-auth-password-match i{
        font-size:9px;
    }


    /* =====================================================
       TERMS
    ===================================================== */

    .fast-auth-terms{
        gap:10px;

        margin-top:19px;

        padding:13px 14px;

        border-radius:10px;
    }


    .fast-auth-terms input{
        width:16px;
        height:16px;

        flex:0 0 16px;

        margin-top:2px;
    }


    .fast-auth-terms label{
        font-size:11px;

        line-height:1.55;
    }


    /* =====================================================
       MOBILE TRANSITION
    ===================================================== */

    .fast-auth-transition-layer{
        position:fixed;

        z-index:999;

        right:-20vw;
        left:-20vw;

        width:140vw;
        height:145vh;
    }


    .fast-auth-shell.is-leaving-register
    .fast-auth-transition-layer,
    .fast-auth-shell.is-leaving-login
    .fast-auth-transition-layer{
        top:-150vh;

        animation:
            fastMobileCover
            .65s
            cubic-bezier(.76,0,.24,1)
            forwards;
    }


    @keyframes fastMobileCover{

        from{
            transform:translateY(0);
        }

        to{
            transform:translateY(145vh);
        }

    }


    .fast-auth-shell.is-entering-register
    .fast-auth-transition-layer,
    .fast-auth-shell.is-entering-login
    .fast-auth-transition-layer{
        top:-3vh;

        animation:
            fastMobileReveal
            .68s
            cubic-bezier(.76,0,.24,1)
            forwards;
    }


    @keyframes fastMobileReveal{

        from{
            transform:translateY(0);
        }

        to{
            transform:translateY(150vh);
        }

    }

}


/* =========================================================
   PHONE
========================================================= */

@media(max-width:600px){

    .fast-auth-page{
        width:100%;
        min-width:100%;

        padding:0;
    }


    .fast-auth-shell,
    .fast-auth-shell-register{
        width:100%;
        min-width:100%;
        max-width:none;

        margin:0;

        border:0;

        border-radius:0;

        box-shadow:none;
    }


    /* =====================================================
       TOP
    ===================================================== */

    .fast-auth-brand,
    .fast-auth-shell-register .fast-auth-brand{
        width:100%;

        min-height:165px;
        height:165px;

        flex-basis:165px;

        padding:22px 20px;

        border-radius:0;
    }


    .fast-auth-mobile-shield{
        width:42px;
        height:42px;

        margin-bottom:10px;
    }


    .fast-auth-mobile-shield i{
        font-size:16px;
    }


    .fast-auth-mobile-header strong{
        font-size:16px;
    }


    .fast-auth-mobile-header p{
        max-width:340px;

        font-size:10.5px;

        line-height:1.55;
    }


    /* =====================================================
       FORM AREA
    ===================================================== */

    .fast-auth-right{
        width:100%;
        min-width:100%;

        background:#fff;

        box-shadow:none;
    }


    .fast-auth-main,
    .fast-auth-shell-register .fast-auth-main{
        width:100%;
        min-width:100%;

        padding:28px 20px 32px;

        background:#fff;

        box-shadow:none;
    }


    .fast-auth-form-wrapper,
    .fast-auth-register-wrapper{
        width:100%;
        min-width:100%;
        max-width:none;

        background:transparent;

        box-shadow:none;
    }


    /* =====================================================
       HEADING
    ===================================================== */

    .fast-auth-heading{
        margin-bottom:21px;
    }


    .fast-auth-heading h2,
    .fast-auth-shell-register .fast-auth-heading h2{
        font-size:27px;
    }


    .fast-auth-heading p{
        max-width:340px;

        margin-top:7px;

        font-size:11.5px;
    }


    /* =====================================================
       SECURITY
    ===================================================== */

    .fast-auth-security-notice{
        margin-bottom:21px;

        padding:12px 13px;

        font-size:10.5px;
    }


    /* =====================================================
       FORM LABELS
    ===================================================== */

    .fast-auth-field label,
    .fast-auth-shell-register .fast-auth-field label{
        font-size:12px;
    }


    /* =====================================================
       INPUTS
    ===================================================== */

    .fast-auth-input,
    .fast-auth-shell-register .fast-auth-input{
        height:54px;

        padding-left:46px;

        font-size:14px;
    }


    .fast-auth-input::placeholder{
        font-size:13px;
    }


    .fast-auth-input-icon,
    .fast-auth-shell-register .fast-auth-input-icon{
        left:15px;

        font-size:13px;
    }


    /* =====================================================
       REGISTER GOES ONE COLUMN
    ===================================================== */

    .fast-auth-register-grid{
        grid-template-columns:1fr;

        gap:18px;
    }


    .fast-auth-field-full{
        grid-column:auto;
    }


    /* =====================================================
       OPTIONS
    ===================================================== */

    .fast-auth-options{
        margin-top:17px;
    }


    .fast-auth-remember,
    .fast-auth-option-forgot{
        font-size:10.5px;
    }


    /* =====================================================
       BUTTON
    ===================================================== */

    .fast-auth-submit,
    .fast-auth-shell-register .fast-auth-submit{
        height:54px;

        margin-top:21px;

        font-size:13px;
    }


    /* =====================================================
       SWITCH
    ===================================================== */

    .fast-auth-inline-switch{
        margin-top:19px;

        padding-top:17px;

        font-size:10.5px;
    }


    /* =====================================================
       FOOTER
    ===================================================== */

    .fast-auth-form-footer{
        margin-top:17px;

        font-size:9.5px;
    }


    /* =====================================================
       REGISTER HELP TEXT
    ===================================================== */

    .fast-auth-strength small{
        font-size:9.5px;
    }


    .fast-auth-password-match{
        font-size:9.5px;
    }


    .fast-auth-terms{
        margin-top:18px;

        padding:12px;
    }


    .fast-auth-terms label{
        font-size:10.5px;
    }

}


/* =========================================================
   SMALL PHONE
========================================================= */

@media(max-width:430px){

    html,
    body{
        background:#fff;
    }


    .fast-auth-page{
        padding:0;

        background:#fff;
    }


    .fast-auth-shell,
    .fast-auth-shell-register{
        width:100%;
        min-width:100%;

        margin:0;

        border-radius:0;

        background:#fff;

        box-shadow:none;
    }


    /* =====================================================
       TOP HEADER
    ===================================================== */

    .fast-auth-brand,
    .fast-auth-shell-register .fast-auth-brand{
        min-height:160px;
        height:160px;

        flex-basis:160px;

        padding:20px 18px;
    }


    .fast-auth-mobile-shield{
        width:40px;
        height:40px;

        margin-bottom:10px;

        border-radius:10px;
    }


    .fast-auth-mobile-shield i{
        font-size:15px;
    }


    .fast-auth-mobile-header strong{
        font-size:16px;
    }


    .fast-auth-mobile-header p{
        max-width:320px;

        margin-top:7px;

        font-size:10px;
    }


    /* =====================================================
       MAIN
    ===================================================== */

    .fast-auth-main,
    .fast-auth-shell-register .fast-auth-main{
        width:100%;

        padding:
            26px
            17px
            30px;
    }


    /* =====================================================
       HEADING
    ===================================================== */

    .fast-auth-heading{
        margin-bottom:20px;
    }


    .fast-auth-heading h2,
    .fast-auth-shell-register .fast-auth-heading h2{
        font-size:26px;
    }


    .fast-auth-heading p{
        font-size:11px;
    }


    /* =====================================================
       SECURITY
    ===================================================== */

    .fast-auth-security-notice{
        gap:8px;

        margin-bottom:20px;

        padding:12px;

        font-size:10px;
    }


    .fast-auth-security-notice>i{
        font-size:11px;
    }


    /* =====================================================
       ALERTS
    ===================================================== */

    .fast-auth-alert{
        padding:11px;

        font-size:10px;
    }


    .fast-auth-alert strong{
        font-size:10px;
    }


    /* =====================================================
       LABELS
    ===================================================== */

    .fast-auth-field label,
    .fast-auth-shell-register .fast-auth-field label{
        font-size:11.5px;
    }


    /* =====================================================
       INPUTS
    ===================================================== */

    .fast-auth-input,
    .fast-auth-shell-register .fast-auth-input{
        height:53px;

        padding-left:44px;

        padding-right:13px;

        font-size:14px;
    }


    .fast-auth-input::placeholder{
        font-size:12.5px;
    }


    .fast-auth-password-input{
        padding-right:51px;
    }


    .fast-auth-input-icon,
    .fast-auth-shell-register .fast-auth-input-icon{
        left:14px;

        font-size:12.5px;
    }


    .fast-auth-password-toggle,
    .fast-auth-shell-register .fast-auth-password-toggle{
        right:8px;

        width:36px;
        height:36px;

        font-size:13px;
    }


    /* =====================================================
       OPTIONS
    ===================================================== */

    .fast-auth-options{
        gap:8px;
    }


    .fast-auth-remember,
    .fast-auth-option-forgot{
        font-size:10px;
    }


    .fast-auth-remember input{
        width:15px;
        height:15px;

        flex-basis:15px;
    }


    /* =====================================================
       BUTTON
    ===================================================== */

    .fast-auth-submit,
    .fast-auth-shell-register .fast-auth-submit{
        height:53px;

        font-size:12.5px;
    }


    /* =====================================================
       SWITCH
    ===================================================== */

    .fast-auth-inline-switch{
        gap:4px;

        font-size:10px;
    }


    /* =====================================================
       FOOTER
    ===================================================== */

    .fast-auth-form-footer{
        gap:4px;

        font-size:9px;
    }


    .fast-auth-developer-link i{
        font-size:11px;
    }


    /* =====================================================
       REGISTER
    ===================================================== */

    .fast-auth-register-grid{
        gap:17px;
    }


    .fast-auth-strength{
        gap:6px;
    }


    .fast-auth-strength small{
        font-size:9px;
    }


    .fast-auth-password-match{
        font-size:9px;
    }


    .fast-auth-terms{
        gap:9px;

        padding:11px;
    }


    .fast-auth-terms label{
        font-size:10px;
    }

}


/* =========================================================
   VERY SMALL PHONE
========================================================= */

@media(max-width:350px){

    .fast-auth-brand,
    .fast-auth-shell-register .fast-auth-brand{
        min-height:150px;
        height:150px;

        flex-basis:150px;

        padding:18px 14px;
    }


    .fast-auth-mobile-shield{
        width:38px;
        height:38px;

        margin-bottom:9px;
    }


    .fast-auth-mobile-shield i{
        font-size:14px;
    }


    .fast-auth-mobile-header strong{
        font-size:15px;
    }


    .fast-auth-mobile-header p{
        font-size:9.3px;
    }


    .fast-auth-main,
    .fast-auth-shell-register .fast-auth-main{
        padding:
            23px
            14px
            27px;
    }


    .fast-auth-heading h2,
    .fast-auth-shell-register .fast-auth-heading h2{
        font-size:24px;
    }


    .fast-auth-heading p{
        font-size:10.5px;
    }


    .fast-auth-security-notice{
        padding:11px;

        font-size:9.5px;
    }


    .fast-auth-field label,
    .fast-auth-shell-register .fast-auth-field label{
        font-size:11px;
    }


    .fast-auth-input,
    .fast-auth-shell-register .fast-auth-input{
        height:51px;

        padding-left:42px;

        font-size:13px;
    }


    .fast-auth-input::placeholder{
        font-size:12px;
    }


    .fast-auth-input-icon,
    .fast-auth-shell-register .fast-auth-input-icon{
        left:13px;

        font-size:12px;
    }


    .fast-auth-remember,
    .fast-auth-option-forgot{
        font-size:9.2px;
    }


    .fast-auth-submit,
    .fast-auth-shell-register .fast-auth-submit{
        height:51px;

        font-size:12px;
    }


    .fast-auth-inline-switch{
        font-size:9.3px;
    }


    .fast-auth-form-footer{
        font-size:8.5px;
    }


    .fast-auth-strength small{
        font-size:8.7px;
    }


    .fast-auth-password-match{
        font-size:8.7px;
    }


    .fast-auth-terms label{
        font-size:9.3px;
    }

}


/* =========================================================
   SHORT MOBILE
========================================================= */

@media(max-height:700px) and (max-width:820px){

    .fast-auth-page{
        min-height:100vh;
        min-height:100dvh;
    }


    .fast-auth-shell,
    .fast-auth-shell-register{
        min-height:100vh;
        min-height:100dvh;
    }


    .fast-auth-brand,
    .fast-auth-shell-register .fast-auth-brand{
        min-height:145px;
        height:145px;

        flex-basis:145px;
    }


    .fast-auth-main,
    .fast-auth-shell-register .fast-auth-main{
        min-height:0;

        height:auto;
    }

}


/* =========================================================
   SHORT DESKTOP
========================================================= */

@media(max-height:650px) and (min-width:821px){

    .fast-auth-page{
        align-items:flex-start;

        overflow-y:auto;

        padding-top:18px;
        padding-bottom:18px;
    }


    .fast-auth-shell{
        min-height:470px;
    }


    .fast-auth-shell-register{
        min-height:560px;
    }


    .fast-auth-brand{
        padding-top:30px;
        padding-bottom:27px;
    }


    .fast-auth-brand-badge{
        margin-bottom:18px;
    }


    .fast-auth-feature-list{
        margin-top:20px;
    }


    .fast-auth-main{
        padding-top:28px;
        padding-bottom:28px;
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.fast-auth-input:focus-visible,
.fast-auth-password-toggle:focus-visible,
.fast-auth-submit:focus-visible,
.fast-auth-option-forgot:focus-visible,
.fast-auth-inline-switch a:focus-visible,
.fast-auth-brand-account a:focus-visible,
.fast-auth-developer-link:focus-visible{
    outline:2px solid rgba(11,139,131,.34);

    outline-offset:2px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{
        animation-duration:.01ms!important;

        animation-iteration-count:1!important;

        transition-duration:.01ms!important;

        scroll-behavior:auto!important;
    }

}