@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
    background-color: #051023;
    display: flex;
    justify-content: center;
    align-items: center;
}

.login-container {
    position: relative;
    width: 100vw;
    height: 100vh;
    background: linear-gradient(158.62deg, #0C2D63 38.4%, #051023 94.63%);
    overflow: hidden;
}

/* Left Side Panel (ChatGPT Image Apr 21, 2026, 09_24_02 AM 1) */
.login-left {
    position: absolute;
    width: 57%;
    height: 100vh;
    left: 0px;
    top: 0px;
    background: linear-gradient(0deg, rgba(32, 78, 163, 0.7), rgba(32, 78, 163, 0.7)), url(../img/login-img.png);
    background-size: cover;
    background-position: center;
}

/* Frame 212 (Left side Welcome Text) */
.left-content {
    position: absolute;
    width: 514px;
    height: 114px;
    left: 90px;
    bottom: 100px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.left-content h1 {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-size: 48px;
    line-height: 50px;
    color: #F4F6F5;
}

.left-content p {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 20px;
    color: #F4F6F5;
    width: 403px;
}

/* Right Side Panel (Rectangle 59) */
.login-right {
    position: absolute;
    width: 43%;
    height: 100vh;
    right: 0px;
    top: 0px;
    background: #FEFEFE;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Frame 211 (Form container) */
.login-form-container {
    position: absolute;
    width: 283px;
    height: 370px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 40px;
}

/* WhatsApp Image Logo */
.logo {
    width: 217.02px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.logo img {
    width: 217.02px;
    height: 60px;
    object-fit: contain;
}

/* Login to Hospivio Title */
.form-title {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 22px;
    color: #2B57C1;
    margin: 0;
}

/* Frame 210 (Inputs & Actions) */
.login-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 24px;
    width: 283px;
    height: 208px;
}

/* Frame 198 (Email and Password) */
.input-fields-frame {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0px;
    gap: 16px;
    width: 283px;
    height: 144px;
}

/* Frame 195 (Email) */
.input-group {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 8px;
    width: 283px;
    height: 68px;
}

/* Email/Mobile label */
.input-group label {
    width: 283px;
    height: 12px;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 12px;
    color: #32446D;
}

/* Frame 194 (Input wrapper) */
.input-group input {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 16px;
    gap: 12px;
    width: 283px;
    height: 48px;
    background: rgba(94, 122, 123, 0.02);
    border: 1px solid rgba(95, 136, 190, 0.5);
    border-radius: 4px;
    outline: none;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    color: #32446D;
    transition: all 0.3s;
}

.input-group input:focus {
    border-color: #2B57C1;
    background: rgba(94, 122, 123, 0.05);
}

/* Password Group */
.input-group-password {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 8px;
    width: 283px;
    height: 67px;
}

.input-group-password label {
    width: 283px;
    height: 12px;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 12px;
    color: #32446D;
}

.input-password-wrapper {
    width: 100%;
}

.input-group-password input {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 16px;
    gap: 12px;
    width: 283px;
    height: 47px;
    background: rgba(95, 136, 190, 0.02);
    border: 1px solid rgba(95, 136, 190, 0.5);
    border-radius: 4px;
    outline: none;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 15px;
    color: #32446D;
    transition: all 0.3s;
}

.input-group-password input:focus {
    border-color: #2B57C1;
    background: rgba(95, 136, 190, 0.05);
}

/* Frame 351 (Button Container) */
.form-actions {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px;
    gap: 16px;
    width: 283px;
    height: 40px;
}

/* BUTTON SECONDARY (CANCEL) */
.btn-cancel {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 13px 24px;
    gap: 10px;
    width: 112px;
    height: 40px;
    border: 1px solid #E4A943;
    border-radius: 4px;
    background: transparent;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 14px;
    color: #E4A943;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-cancel:hover {
    background: rgba(228, 169, 67, 0.05);
}

/* BUTTON PRIMARY (LOGIN) */
.btn-login {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 13px 24px;
    gap: 10px;
    width: 100%;
    height: 40px;
    background: #E4A943;
    border-radius: 4px;
    border: none;
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 14px;
    text-align: center;
    color: #FFFFFF;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-login:hover {
    background: #ce9230;
}

/* Input validation styles */
.input-error {
    border-color: #dc3545 !important;
}

.error-message {
    color: #dc3545;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    margin-top: 2px;
    display: block;
}

.alert {
    width: 100%;
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 0px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
}

.alert-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.alert-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}


@media (max-width: 900px) {
    body {
        overflow: auto;
    }
    .login-container {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100vh;
    }
    
    .login-left {
        position: relative;
        width: 100%;
        height: 40vh;
        min-height: 300px;
    }
    
    .left-content {
        position: relative;
        left: 0;
        bottom: 0;
        padding: 40px 24px;
        width: 100%;
        height: auto;
    }
    
    .left-content h1 {
        font-size: 32px;
        line-height: 36px;
    }
    
    .left-content p {
        font-size: 16px;
        line-height: 18px;
        width: 100%;
    }
    
    .login-right {
        position: relative;
        width: 100%;
        height: auto;
        min-height: 60vh;
        padding: 60px 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .login-form-container {
        position: relative;
        left: 0;
        top: 0;
        transform: none;
        margin: 0 auto;
    }
}