*{
    box-sizing:border-box;
}

html,body{
    margin:0;
    padding:0;
}

body{
    font-family:Arial,sans-serif;
    background:#f4f7fa;
    color:#1d2430;
}

.a7-login{
    min-height:calc(100vh - 104px);
}

.a7-login__container{
    max-width:1410px;
    margin:0 auto;
    padding:46px 0 70px;
}

.a7-login__title{
    margin:0;
    font-size:38px;
    line-height:1.15;
    font-weight:700;
}

.a7-login__content{
    min-height:calc(100vh - 250px);
    display:flex;
    align-items:center;
    justify-content:center;
}

.a7-login__card{
    width:100%;
    max-width:470px;
    padding:40px 42px 36px;
    border:1px solid #e2e8ee;
    border-radius:28px;
    background:#fff;
    box-shadow:
        0 18px 60px rgba(29,36,48,.10),
        0 4px 14px rgba(29,36,48,.04);
}

.a7-login__icon{
    width:82px;
    height:82px;
    margin:0 auto 26px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:24px;
    background:#eef6fd;
    box-shadow:0 10px 24px rgba(22,143,240,.10);
}

.a7-login__icon svg{
    width:38px;
    height:38px;
    fill:#168ff0;
}

.a7-login__form-title{
    margin-bottom:8px;
    text-align:center;
    font-size:23px;
    line-height:1.25;
    font-weight:700;
}

.a7-login__form-text{
    margin-bottom:28px;
    text-align:center;
    font-size:15px;
    line-height:1.45;
    color:#7d858f;
}

.a7-login__label{
    display:block;
    margin:0 0 8px;
    font-size:14px;
    font-weight:600;
}

.a7-login__input{
    display:block;
    width:100%;
    height:56px;
    margin:0 0 18px;
    padding:0 17px;
    border:1px solid #d9dee5;
    border-radius:14px;
    outline:none;
    background:#fff;
    color:#1d2430;
    font:inherit;
    font-size:17px;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.a7-login__input:focus{
    border-color:#168ff0;
    box-shadow:0 0 0 3px rgba(22,143,240,.10);
}

.a7-login__button{
    width:100%;
    min-height:58px;
    border:0;
    border-radius:14px;
    background:#168ff0;
    color:#fff;
    font:inherit;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(22,143,240,.18);
    transition:background-color .18s ease,transform .18s ease;
}

.a7-login__button:hover{
    background:#087ed8;
    transform:translateY(-1px);
}

.a7-login__button:disabled{
    opacity:.6;
    cursor:default;
    transform:none;
}

.a7-login__back{
    display:block;
    margin:18px auto 0;
    padding:0;
    border:0;
    background:transparent;
    color:#168ff0;
    font:inherit;
    font-size:14px;
    cursor:pointer;
}

.a7-login__back:hover{
    text-decoration:underline;
}

.a7-login__message{
    margin-top:18px;
    padding:12px 14px;
    border-radius:12px;
    background:#fff2f2;
    color:#b42318;
    font-size:14px;
    line-height:1.4;
    text-align:center;
}

@media(max-width:1450px){
    .a7-login__container{
        padding-left:20px;
        padding-right:20px;
    }
}

@media(max-width:760px){
    .a7-login{
        min-height:calc(100vh - 82px);
    }

    .a7-login__container{
        padding-top:32px;
    }

    .a7-login__title{
        font-size:30px;
    }

    .a7-login__content{
        min-height:calc(100vh - 190px);
    }

    .a7-login__card{
        max-width:420px;
        padding:32px 22px 28px;
        border-radius:24px;
    }

    .a7-login__form-title{
        font-size:21px;
    }
}

.a7-login__form-text{
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
}


/* compact login card */
#a7-login-phone-form .a7-login__form-title{
    margin-bottom:24px;
}

#a7-login-phone-form .a7-login__input{
    margin-bottom:18px;
}


.a7-login__sms-warning{
    max-width:340px;
    margin:-12px auto 24px;
    text-align:center;
    font-size:13px;
    line-height:1.45;
    color:#7d858f;
}


/* Unified A7 primary button */
.a7-login__button{
    background:#168ff0!important;
    opacity:1;
}

.a7-login__button:hover:not(:disabled){
    background:#087ed8!important;
}

.a7-login__button:disabled{
    background:#168ff0!important;
    opacity:.32!important;
    box-shadow:none!important;
    cursor:default!important;
    transform:none!important;
}


/* Universal A7 account/payment card size */
.a7-login__card{
    max-width:520px!important;
    min-height:560px;
    padding:36px!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/* Same active/inactive button standard as online payment */
.a7-login__button{
    background:#168ff0!important;
}

.a7-login__button:hover:not(:disabled){
    background:#087ed8!important;
}

.a7-login__button:disabled{
    background:#168ff0!important;
    opacity:.32!important;
    box-shadow:none!important;
    cursor:default!important;
    transform:none!important;
}

