*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --bg:#f6f8fb;
    --white:#ffffff;
    --dark:#0f172a;
    --navy:#1e3a5f;
    --gold:#c59b45;
    --border:#e5e7eb;
    --muted:#64748b;
}

body{
    font-family: Inter, Arial, sans-serif;
    background: var(--bg);
}

.main-wrapper{
    min-height:100vh;
    display:flex;
}

/* LEFT SIDE */

.left-section{
    width:58%;
    position:relative;
    overflow:hidden;
}

.left-section img{
    width:100%;
    height:100vh;
    object-fit:cover;
}

.left-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(15,23,42,.82),
        rgba(30,58,95,.72)
    );
}

.brand-text{
    position:absolute;
    left:70px;
    bottom:70px;
    color:white;
}

.brand-text div{
    font-size:72px;
    font-weight:800;
    line-height:.95;
    letter-spacing:-2px;
}

/* RIGHT SIDE */

.right-section{
    width:42%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:50px;
    background:#f8fafc;
}

.right-content{
    width:100%;
    max-width:460px;
}

.login-title{
    color:var(--dark);
    font-size:48px;
    font-weight:800;
    line-height:1.05;
    letter-spacing:-2px;
    margin-bottom:15px;
}

.login-title::after{
    content:"Access your appointments, vehicles and service records.";
    display:block;
    margin-top:18px;
    color:var(--muted);
    font-size:16px;
    font-weight:500;
    letter-spacing:0;
    line-height:1.7;
}

/* FORM */

.form-group{
    margin-bottom:18px;
}

.form-input{
    width:100%;
    height:58px;
    border:1px solid var(--border);
    background:white;
    border-radius:16px;
    padding:0 18px;
    font-size:15px;
    color:var(--dark);
    outline:none;
    transition:.2s;
}

.form-input:focus{
    border-color:var(--navy);
    box-shadow:0 0 0 4px rgba(30,58,95,.08);
}

.form-input::placeholder{
    color:#94a3b8;
}

.remember-row{
    margin:10px 0 20px;
}

.remember-label{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--muted);
    font-size:14px;
}

/* BUTTONS */

.login-button{
    width:100%;
    height:58px;
    border:none;
    border-radius:16px;
    background:var(--navy);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    transition:.2s;
    margin-bottom:16px;
}

.login-button:hover{
    transform:translateY(-2px);
}

.register-button{
    width:100%;
    height:58px;
    border:1px solid var(--border);
    background:white;
    border-radius:16px;
    color:var(--dark);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-decoration:none;
    font-weight:700;
    margin-bottom:20px;
    transition:.2s;
}

.register-button:hover{
    border-color:var(--navy);
}

.login-button span:first-child,
.register-button span:first-child{
    margin:0;
    flex:none;
}

.arrow{
    font-size:18px;
}

/* LINKS */

.forgot-link,
.back-link{
    text-align:center;
    margin-top:14px;
}

.forgot-link a,
.back-link a{
    color:var(--muted);
    text-decoration:none;
    font-size:14px;
}

.forgot-link a:hover,
.back-link a:hover{
    color:var(--navy);
}

/* ALERTS */

.error-message,
.status-message{
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:18px;
    font-size:14px;
}

.error-message{
    background:#fef2f2;
    color:#b91c1c;
}

.status-message{
    background:#ecfdf5;
    color:#166534;
}

/* MOBILE */

@media(max-width:1000px){

    .main-wrapper{
        flex-direction:column;
    }

    .left-section,
    .right-section{
        width:100%;
    }

    .left-section{
        height:320px;
    }

    .left-section img{
        height:320px;
    }

    .brand-text{
        left:30px;
        bottom:30px;
    }

    .brand-text div{
        font-size:42px;
    }

    .right-section{
        padding:35px 25px;
    }

    .login-title{
        font-size:38px;
    }
}