/* BCaly 4.0.2 — unified, responsive access experience */
:root{
    --access-navy:#090a18;
    --access-ink:#18172d;
    --access-muted:#716d82;
    --access-purple:#7057ff;
    --access-pink:#ff5f91;
    --access-mint:#4bd8bd;
    --access-line:rgba(24,23,45,.12);
}

body.bcaly-auth-v402{
    min-width:320px;
    color:var(--access-ink);
    background:#f8f8fc;
}
.bcaly-auth-v402 *,
.bcaly-auth-v402 *::before,
.bcaly-auth-v402 *::after{box-sizing:border-box}
.bcaly-auth-v402 .login-page{
    display:grid;
    grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);
    min-height:100svh;
    margin:0;
    background:#fff;
}
.bcaly-auth-v402 .login-visual{
    position:relative;
    isolation:isolate;
    display:flex;
    overflow:hidden;
    flex-direction:column;
    min-width:0;
    min-height:100svh;
    padding:clamp(28px,4vw,66px);
    color:#fff;
    background:
        radial-gradient(circle at 15% 18%,rgba(112,87,255,.38),transparent 32%),
        radial-gradient(circle at 91% 84%,rgba(255,95,145,.23),transparent 31%),
        linear-gradient(145deg,#080914 0%,#111126 58%,#17102d 100%);
}
.bcaly-auth-v402 .login-visual::before{
    position:absolute;
    z-index:-1;
    inset:0;
    opacity:.16;
    background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom right,#000,transparent 78%);
    content:"";
}
.bcaly-auth-v402 .login-brand{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    gap:12px;
    min-width:0;
    color:#fff;
    font-size:clamp(1.2rem,2vw,1.48rem);
    font-weight:880;
    letter-spacing:-.04em;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
}
.bcaly-auth-v402 .login-brand>span{
    display:grid;
    flex:0 0 46px;
    width:46px;
    height:46px;
    place-items:center;
    border:1px solid rgba(255,255,255,.16);
    border-radius:14px;
    color:#fff;
    font-size:1rem;
    background:linear-gradient(135deg,var(--access-purple),var(--access-pink));
    box-shadow:0 16px 38px rgba(88,56,230,.34);
}
.bcaly-auth-v402 .bcaly-access-story{
    width:min(660px,100%);
    margin:auto 0;
    padding:clamp(68px,10vh,128px) 0;
}
.bcaly-auth-v402 .bcaly-access-story>span{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#c8c0ff;
    font-size:.73rem;
    font-weight:850;
    letter-spacing:.15em;
    line-height:1.35;
    text-transform:uppercase;
    white-space:normal;
}
.bcaly-auth-v402 .bcaly-access-story>span::before{
    flex:0 0 24px;
    width:24px;
    height:1px;
    background:currentColor;
    content:"";
}
.bcaly-auth-v402 .bcaly-access-story h2{
    max-width:11.5ch;
    margin:clamp(20px,3vh,34px) 0 22px;
    color:#fff;
    font-size:clamp(2.7rem,5.2vw,5.9rem);
    font-weight:780;
    line-height:.96;
    letter-spacing:-.065em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}
.bcaly-auth-v402 .bcaly-access-story h2 em{
    color:#b9acff;
    font-style:normal;
}
.bcaly-auth-v402 .bcaly-access-story p{
    max-width:570px;
    margin:0;
    color:rgba(255,255,255,.67);
    font-size:clamp(1rem,1.45vw,1.18rem);
    line-height:1.72;
}
.bcaly-auth-v402 .login-visual>small{
    color:rgba(255,255,255,.48);
    font-size:.74rem;
    font-weight:750;
    letter-spacing:.08em;
}
.bcaly-auth-v402 .login-form-side{
    position:relative;
    display:grid;
    min-width:0;
    min-height:100svh;
    place-items:center;
    padding:clamp(42px,7vw,100px);
    background:
        radial-gradient(circle at 100% 0,rgba(112,87,255,.065),transparent 29%),
        #fff;
}
.bcaly-auth-v402 .auth-language{
    position:absolute;
    top:25px;
    right:clamp(22px,4vw,58px);
}
.bcaly-auth-v402 .auth-box{
    width:min(560px,100%);
    max-width:none;
    min-width:0;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.bcaly-auth-v402 .auth-box h1{
    margin:0 0 12px;
    font-size:clamp(2.25rem,4vw,3.65rem);
    font-weight:790;
    line-height:1.02;
    letter-spacing:-.055em;
    overflow-wrap:normal;
    word-break:normal;
}
.bcaly-auth-v402 .auth-box>p{
    max-width:520px;
    margin:0 0 30px;
    color:var(--access-muted);
    font-size:1rem;
    line-height:1.65;
}
.bcaly-auth-v402 .form-group{margin-bottom:18px}
.bcaly-auth-v402 .form-group label{
    margin-bottom:8px;
    color:#3f3b51;
    font-size:.78rem;
    font-weight:850;
    letter-spacing:.045em;
}
.bcaly-auth-v402 .form-group input,
.bcaly-auth-v402 .form-group select,
.bcaly-auth-v402 .url-field{
    min-height:52px;
    border:1px solid #dcd9e7;
    border-radius:13px;
    color:var(--access-ink);
    background:#fff;
    font-size:1rem;
}
.bcaly-auth-v402 .form-group input:focus,
.bcaly-auth-v402 .form-group select:focus{
    border-color:var(--access-purple);
    outline:0;
    box-shadow:0 0 0 4px rgba(112,87,255,.11);
}
.bcaly-auth-v402 .button{
    min-height:52px;
    border-radius:13px;
    font-size:.94rem;
    font-weight:850;
}
.bcaly-auth-v402 form>.button{width:100%}
.bcaly-auth-v402 .auth-meta,
.bcaly-auth-v402 .auth-footer{
    font-size:.9rem;
    line-height:1.55;
}
.bcaly-auth-v402 .auth-footer{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid var(--access-line);
}
.bcaly-auth-v402 .alert{
    padding:14px 16px;
    border-radius:13px;
    font-size:.9rem;
    line-height:1.55;
}
.bcaly-auth-v402 .form-grid{gap:16px 18px}
.bcaly-auth-v402 code{overflow-wrap:anywhere}

/* Ambassador access header: stable logo/title and no word-per-line collapse. */
.ambassador-auth-v402 .ambassador-auth-brand,
.ambassador-auth-v402 .ambassador-auth-panel-brand>span{
    min-width:0;
    flex-wrap:nowrap;
}
.ambassador-auth-v402 .ambassador-auth-brand-copy,
.ambassador-auth-v402 .ambassador-auth-panel-brand>span>span{
    min-width:0;
}
.ambassador-auth-v402 .ambassador-auth-brand-copy strong,
.ambassador-auth-v402 .ambassador-auth-brand-copy small,
.ambassador-auth-v402 .ambassador-auth-panel-brand strong,
.ambassador-auth-v402 .ambassador-auth-panel-brand small{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}
.ambassador-auth-v402 .ambassador-auth-brand-copy small,
.ambassador-auth-v402 .ambassador-auth-panel-brand small{white-space:nowrap}
.ambassador-auth-v402 .ambassador-auth-story-content{min-width:0}
.ambassador-auth-v402 .ambassador-auth-copy{
    display:block;
    padding:0;
    background:transparent;
}
.ambassador-auth-v402 .ambassador-auth-copy h1{
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}

@media(max-width:960px){
    .bcaly-auth-v402 .login-page{grid-template-columns:1fr}
    .bcaly-auth-v402 .login-visual{
        min-height:auto;
        padding:28px clamp(24px,7vw,64px) 44px;
    }
    .bcaly-auth-v402 .bcaly-access-story{
        margin:0;
        padding:clamp(66px,10vw,96px) 0 18px;
    }
    .bcaly-auth-v402 .bcaly-access-story h2{
        max-width:14ch;
        font-size:clamp(2.8rem,8vw,5.1rem);
    }
    .bcaly-auth-v402 .login-form-side{
        min-height:auto;
        padding:clamp(52px,9vw,86px) clamp(24px,8vw,80px);
    }
    .bcaly-auth-v402 .auth-box{width:min(640px,100%)}
}

@media(max-width:560px){
    .bcaly-auth-v402 .login-visual{padding:22px 20px 34px}
    .bcaly-auth-v402 .login-brand>span{
        flex-basis:42px;
        width:42px;
        height:42px;
    }
    .bcaly-auth-v402 .bcaly-access-story{padding:52px 0 8px}
    .bcaly-auth-v402 .bcaly-access-story>span{font-size:.64rem}
    .bcaly-auth-v402 .bcaly-access-story h2{
        max-width:13ch;
        margin-top:17px;
        font-size:clamp(2.35rem,12.5vw,3.75rem);
        line-height:.98;
    }
    .bcaly-auth-v402 .bcaly-access-story p{
        font-size:.96rem;
        line-height:1.62;
    }
    .bcaly-auth-v402 .login-form-side{padding:58px 20px 46px}
    .bcaly-auth-v402 .auth-language{top:17px;right:18px}
    .bcaly-auth-v402 .auth-box h1{font-size:clamp(2rem,10vw,2.75rem)}
    .bcaly-auth-v402 .form-grid{grid-template-columns:1fr}
    .bcaly-auth-v402 .form-grid>.form-group{grid-column:1}
    .ambassador-auth-v402 .ambassador-auth-brand-copy small{font-size:.58rem}
    .ambassador-auth-v402 .ambassador-auth-panel-brand>span>span small{display:none}
}

@media(max-width:390px){
    .ambassador-auth-v402 .ambassador-auth-panel-brand{
        align-items:flex-start;
        flex-direction:column;
        gap:14px;
    }
    .ambassador-auth-v402 .ambassador-auth-panel-brand .ambassador-auth-locale{align-self:flex-end}
}

@media(prefers-reduced-motion:reduce){
    .bcaly-auth-v402 *{scroll-behavior:auto!important;transition-duration:.01ms!important}
}
