*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
	font-family: "Roboto", sans-serif;
    background:#071018;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

/* MAIN */

.login-wrapper{
    width:100%;
    max-width:1600px;
    min-height:940px;
    background:#071018;
    border-radius:30px;
    overflow:hidden;
    display:grid;
    grid-template-columns:52% 48%;
    box-shadow:0 20px 60px rgba(0,0,0,0.4);
    position:relative;
}

/* LEFT SIDE */

.login-left{
    position:relative;
    padding:55px 55px 200px;
    color:#fff;
    background:
    linear-gradient(rgba(0,0,0,0.60),rgba(0,0,0,0.60)), url(../images/left-bg.png);
    background-size:cover;
    background-position:center;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.logo{
    width:320px;
    margin-bottom:35px;
}

.logo img{
    width:100%;
}

.main-title{
    font-size:70px;
    line-height:1;
    font-weight:800;
    margin-bottom:27px;
}

.main-title span{
    color:#ff8a00;
    display:block;
    margin-top:0px;
}

.description{
    font-size:20px;
    line-height:1.5;
    color:#e8e8e8;
    max-width:450px;
    margin-bottom:40px;
}

/* FEATURES */

.features{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.feature-box{
    display:flex;
    align-items:flex-start;
    gap:20px;
}

.feature-icon{
    min-width:70px;
    height:70px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,0.16);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    color:#ff9100;
    background:rgba(0,0,0,0.3);
}

.feature-text h3{
    font-size:21px;
    margin-bottom:8px;
	font-weight: 700;
}

.feature-text p{
    color:#e7e7e7;
    font-size:17px;
}

/* RIGHT */

.login-right{
    background:#fff;
    padding:60px 65px;
    display:flex;
    flex-direction:column;
    justify-content:center;
	border-radius: 30px;
}

.right-logo{
    text-align:center;
    margin:0px auto;
}

.right-logo img{
    width:320px;
}

.subtitle{
    text-align:center;
    font-size:20px;
    color:#667085;
    margin-top:12px;
    margin-bottom:40px;
    font-weight:500;
}

/* TABS */

.login-tabs{
    display:flex;
    margin-bottom:45px;
    border-bottom:2px solid #e9e9e9;
}

.login-tab{
    width:50%;
    padding-bottom:22px;
    text-align:center;
    font-size:20px;
    font-weight:600;
    color:#2b2f38;
    cursor:pointer;
    position:relative;
}

.login-tab.active{
    color:#ff7a00;
}

.login-tab.active::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-2px;
    width:100%;
    height:3px;
    background:#ff7a00;
}

.login-tab i{
    margin-right:10px;
}

/* FORM */

.form-group{
    margin-bottom:30px;
}

.form-group label{
    display:block;
    margin-bottom:14px;
    font-size:18px;
    font-weight:600;
    color:#111827;
}

.input-box{
    position:relative;
}

.input-box input{
    width:100%;
    height:60px;
    border: none;
    border-radius:16px;
    padding:0 35px;
    font-size:16px;
    outline:none;
    transition:0.3s;
}

.input-box input:focus{
    border-color:#ff7a00;
}

.input-box i{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    font-size:18px;
    color:#6b7280;
}

.input-box .left-icon{
    left:22px;
}

.input-box .right-icon{
    right:22px;
    cursor:pointer;
}

/* OPTIONS */

.options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:30px;
}

.remember{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:18px;
    color:#1f2937;
}

.remember input{
    width:22px;
    height:22px;
}

.forgot{
    text-decoration:none;
    color:#ff6d00;
    font-size:18px;
    font-weight:500;
}

/* BUTTON */

.login-btn-main{
    width:100%;
    height:60px;
    border:none;
    border-radius:16px;
	background:linear-gradient( to bottom, #fd7a00, #fc4902 );
    color:#fff;
    font-size:20px;
    font-weight:700;
    cursor:pointer;
    transition:0.3s;
	text-align:center;
}

.login-btn-main:hover{
    transform:translateY(-2px);
	background: linear-gradient( to bottom, #fc4902, #fd7a00 );
}

/* OR */

.or{
    display:flex;
    align-items:center;
    gap:18px;
    margin:20px 0;
}

.or::before,
.or::after{
    content:'';
    flex:1;
    height:2px;
    background:#ececec;
}

.or span{
    font-size:18px;
    color:#6b7280;
    font-weight:600;
}

/* REGISTER */

.register{
    text-align:center;
    font-size:18px;
    color:#111827;
}

.register a{
    color:#ff6d00;
    text-decoration:none;
    font-weight:700;
}

/* BOTTOM BAR */

.bottom-bar{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    background:#071018;
    padding:25px 50px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
	border: 1px solid #363636;
	border-radius: 30px;
}

.bottom-item{
    display:flex;
    align-items:center;
    gap:18px;
    color:#fff;
}

.bottom-item i{
    color:#ff9300;
    font-size:42px;
}

.bottom-item h4{
    font-size:18px;
    margin-bottom:4px;
}

.bottom-item p{
    font-size:14px;
    color:#d0d0d0;
	margin:0px;
}
.bottom-item img{width:40px;}

/* LOGIN TABS */

.login-tabs{
    display:flex;
    width:100%;
    border-bottom:1px solid #e5e7eb;
    gap:0;
}

.login-tabs .nav-item{
    width:50%;
}

.login-tabs .nav-link{
    width:100%;
    border:none;
    border-radius:0;
    background:none;
    color:#222;
    font-size:18px;
    font-weight:600;
    padding:18px 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    border-bottom:3px solid transparent;
}

.login-tabs .nav-link i{
    font-size:22px;
}

.login-tabs .nav-link.active{
    color:#ff7a00;
    background:none;
    border-bottom:3px solid #ff7a00;
}

/* FORM */

.form-group{
    margin-bottom:24px;
}

.form-group label{
    display:block;
    font-size:18px;
    font-weight:600;
    margin-bottom:12px;
}

.input-box{
    height:62px;
    border:1px solid #d1d5db;
    border-radius:14px;
    display:flex;
    align-items:center;
    padding:0px 35px 0px 18px;
    gap:15px;
}

.eye-icon{
    cursor:pointer;
}

.remember-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:25px;
}

.remember-row a{
    color:#ff7a00;
    text-decoration:none;
    font-weight:500;
}


/* RESPONSIVE */

@media(max-width:1200px){

.login-wrapper{
    grid-template-columns:1fr;
}

.login-left{
    display:none;
}

.bottom-bar{
    position:relative;
    grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.main-title{
    font-size:50px;
}

.login-right{
    padding:40px 25px;
}

.right-logo img{
    width:220px;
}

.login-btn{
    font-size:24px;
}

}

@media(max-width:700px){
	
.bottom-bar{
    grid-template-columns:1fr;
}
.login-tabs .nav-link{font-size: 14px;padding: 18px 10px;}
.login-tabs .nav-link i {
  font-size: 16px;
}
	
}

/* ── Inline Login Error Alert ─────────────────────────────────── */

.login-error-alert {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff1f1;
    border: 1.5px solid #fca5a5;
    border-left: 5px solid #ef4444;
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 22px;
    color: #b91c1c;
    font-size: 15px;
    font-weight: 500;
    animation: errorShake 0.45s ease, errorFadeIn 0.3s ease;
}

.login-error-alert i {
    font-size: 20px;
    color: #ef4444;
    flex-shrink: 0;
}

@keyframes errorShake {
    0%   { transform: translateX(0); }
    20%  { transform: translateX(-7px); }
    40%  { transform: translateX(7px); }
    60%  { transform: translateX(-4px); }
    80%  { transform: translateX(4px); }
    100% { transform: translateX(0); }
}

@keyframes errorFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}