@import url("https://fonts.googleapis.com/css?family=Fira+Sans:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i");
*{

margin:0;
padding:0;
box-sizing:border-box;
font-family: "Fira Sans", sans-serif;

}


body{

min-height:100vh;

background:#071A34;

display:flex;

align-items:center;

justify-content:center;

padding:40px;

}



.auth-container{

width:1250px;

max-width:100%;

background:#fff;

border-radius:25px;

overflow:hidden;

display:flex;

box-shadow:0 30px 80px rgba(0,0,0,.35);

}



/* ==========================
LEFT PANEL
========================== */


.left-panel{

width:55%;

position:relative;

background:

linear-gradient(
135deg,
#061B3A,
#063D91,
#0F6EFF
);


padding:70px 60px;

display:flex;

align-items:center;

overflow:hidden;


}


.left-panel:before{

content:"";

position:absolute;

width:600px;

height:600px;

border-radius:50%;

background:rgba(255,255,255,.06);

top:-250px;

left:-200px;

}


.left-panel:after{

content:"";

position:absolute;

width:400px;

height:400px;

border-radius:50%;

background:rgba(255,255,255,.08);

right:-150px;

bottom:-150px;

}



.overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.15);

}



.content{

position:relative;

z-index:2;

color:white;

width:100%;

}



.logo{

width:180px;

margin-bottom:35px;

}



.badge{

display:inline-block;

padding:10px 20px;

border-radius:50px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.2);

font-size:13px;

font-weight:600;

margin-bottom:25px;

}



.content h1{

font-size:42px;

line-height:1.25;

margin-bottom:25px;

}



.content p{

font-size:16px;

line-height:30px;

color:#E0EDFF;

margin-bottom:40px;

}



/* FEATURES */


.feature-list{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

}



.feature-item{

display:flex;

align-items:center;

gap:15px;

padding:18px;

background:rgba(255,255,255,.10);

border-radius:18px;

border:1px solid rgba(255,255,255,.12);

backdrop-filter:blur(10px);

}



.icon-box{

height:50px;

width:50px;

border-radius:15px;

background:#0F6EFF;

display:flex;

align-items:center;

justify-content:center;

}



.icon-box i{

font-size:20px;

}



.feature-item strong{

display:block;

font-size:15px;

}



.feature-item small{

display:block;

font-size:12px;

color:#D6E6FF;

margin-top:5px;

}



/* STATS */


.stats{

display:flex;

gap:15px;

margin-top:40px;

}


.stat-box{

flex:1;

text-align:center;

padding:20px 10px;

border-radius:18px;

background:rgba(255,255,255,.12);

}


.stat-box h3{

font-size:28px;

}



.stat-box span{

font-size:13px;

color:#DCEAFF;

}






/* ==========================
RIGHT PANEL
========================== */


.right-panel{

width:45%;

padding:60px 50px;

background:#fff;

}



.form-box h2{

font-size:32px;

color:#071A34;

margin-bottom:10px;

}



.form-box p{

color:#68758A;

line-height:25px;

margin-bottom:25px;

}



/* GOOGLE BUTTON */


.google-btn{

width:100%;

height:55px;

border-radius:12px;

border:2px solid #DCE7FF;

background:white;

font-size:15px;

cursor:pointer;

color:#333;

transition:.3s;

}



.google-btn i{

margin-right:10px;

color:#4285F4;

}



.google-btn:hover{

background:#F5F9FF;

}





.divider{

margin:25px 0;

text-align:center;

position:relative;

}



.divider:before{

content:"";

height:1px;

background:#ddd;

width:100%;

position:absolute;

top:50%;

left:0;

}



.divider span{

background:white;

padding:0 15px;

position:relative;

color:#888;

}







/* INPUTS */


.input-box{

position:relative;

margin-bottom:22px;

}



.input-box input,
.input-box select{


height:58px;

width:100%;

border:2px solid #D9E5FF;

border-radius:12px;

padding:0 50px;

font-size:15px;

outline:none;

background:white;

transition:.3s;

}



.input-box select{

appearance:none;

}



.input-box label{

position:absolute;

left:50px;

top:18px;

color:#8793A8;

background:white;

padding:0 5px;

transition:.3s;

pointer-events:none;

}



.input-box input:focus,
.input-box select:focus{

border-color:#0F6EFF;

}



.input-box input:focus + label,
.input-box input:valid + label,
.input-box select:focus + label,
.input-box select:valid + label{


top:-10px;

font-size:12px;

color:#0F6EFF;

}



.input-box i{

position:absolute;

left:18px;

top:21px;

color:#0F6EFF;

}



.password-box .toggle-password{

position:absolute;

right:18px;

top:20px;

cursor:pointer;

color:#78869B;

}







/* PASSWORD STRENGTH */


.strength{

margin-top:-10px;

margin-bottom:20px;

}



.strength-bar{

height:6px;

width:0;

border-radius:10px;

background:#ff3b30;

transition:.4s;

}



.strength small{

color:#777;

}





#passwordMatch{

display:block;

margin-bottom:15px;

}





/* TERMS */


.terms{

font-size:13px;

color:#666;

margin-bottom:25px;

}


.terms a{

color:#0F6EFF;

text-decoration:none;

}







/* BUTTON */


.btn{

height:58px;

width:100%;

border:none;

border-radius:12px;

background:

linear-gradient(
90deg,
#0A2F6B,
#0F6EFF
);


color:white;

font-size:16px;

font-weight:600;

cursor:pointer;

box-shadow:0 15px 35px rgba(15,110,255,.35);

transition:.3s;

}



.btn:hover{

transform:translateY(-3px);

}






/* TRUST */


.trust-box{

display:flex;

justify-content:center;

gap:20px;

margin-top:25px;

font-size:13px;

color:#666;

flex-wrap:wrap;

}


.trust-box i{

color:#0F6EFF;

margin-right:5px;

}




.bottom-text{

text-align:center;

margin-top:25px;

color:#666;

}



.bottom-text a{

color:#0F6EFF;

font-weight:600;

text-decoration:none;

}







/* ==========================
RESPONSIVE
========================== */


@media(max-width:1000px){


.auth-container{

flex-direction:column;

}


.left-panel,
.right-panel{

width:100%;

}



}



@media(max-width:600px){


body{

padding:15px;

}



.left-panel{

padding:45px 25px;

}



.right-panel{

padding:40px 25px;

}



.content h1{

font-size:30px;

}



.feature-list{

grid-template-columns:1fr;

}



.stats{

flex-direction:column;

}


}

.brand-panel{

width:55%;

background:

linear-gradient(
135deg,
#061B3A,
#0A3D91,
#0F6EFF
);


display:flex;

align-items:center;

justify-content:center;

padding:70px;

position:relative;

overflow:hidden;

}



.brand-panel:before{

content:"";

position:absolute;

width:500px;

height:500px;

background:rgba(255,255,255,.08);

border-radius:50%;

top:-200px;

right:-150px;

}



.brand-content{

position:relative;

z-index:2;

color:white;

max-width:520px;

}



.brand-content h1{

font-size:42px;

line-height:1.3;

margin:25px 0;

}



.brand-content p{

font-size:17px;

line-height:30px;

color:#DCEBFF;

}





.mini-services{

display:grid;

grid-template-columns:1fr 1fr;

gap:15px;

margin-top:35px;

}



.mini-services div{

background:rgba(255,255,255,.12);

padding:18px;

border-radius:15px;

display:flex;

align-items:center;

gap:12px;

}



.mini-services i{

font-size:20px;

color:white;

}

/* =====================================
   TABLET
===================================== */

@media (max-width:991px){

.auth-container{

    flex-direction:column;

}

.right-panel,
.brand-panel{

    width:100%;

}

.brand-panel{

    min-height:500px;

    padding:60px 35px;

    display:flex;
    justify-content:center;
    align-items:center;

}

.brand-content{

    width:100%;
    max-width:550px;
    text-align:center;

}

.brand-icons{

    justify-content:center;

}

}



/* =====================================
   MOBILE
===================================== */

@media (max-width:767px){

body{

    padding:15px;

}

.auth-container{

    border-radius:18px;

}

.right-panel{

    padding:40px 25px;

}

.brand-panel{

    width:100%;

    min-height:420px;

    padding:50px 25px;

}

.brand-content{

    width:100%;

}

.logo{

    width:160px;

    margin:0 auto 25px;

    display:block;

}

.badge{

    display:inline-block;

    margin-bottom:20px;

}

.brand-content h1{

    font-size:30px;

    line-height:1.3;

}

.brand-content p{

    font-size:15px;

    line-height:28px;

}

.brand-icons{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin-top:30px;

}

.brand-icons div{

    width:100%;

}

}

.input-box i{
    color:#2d8dff;
}

.form-icon{

width:70px;
height:70px;

background:linear-gradient(135deg,#0A2F6B,#0F6EFF);

border-radius:20px;

display:flex;
justify-content:center;
align-items:center;

margin:0 auto 25px;

box-shadow:0 20px 40px rgba(15,110,255,.25);

}

.form-icon i{

font-size:30px;

color:#fff;

}



.security-box{

margin-top:40px;

display:grid;

gap:15px;

}



.security-box div{

background:rgba(255,255,255,.12);

padding:18px;

border-radius:15px;

display:flex;

align-items:center;

gap:12px;

color:#fff;

}



.security-box i{

font-size:18px;

}