* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-family: "Segoe UI", Arial, sans-serif;

    background:
        linear-gradient(
            135deg,
            #0d2742 0%,
            #153e60 50%,
            #0b2945 100%
        );
}


/* ==================================================
   PAGE
   ================================================== */

.login-page {

    min-height: 100vh;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    padding: 30px 20px;
}


/* ==================================================
   MAIN CARD
   ================================================== */

.login-container {

    width: 100%;

    max-width: 1050px;

    min-height: 610px;

    display: flex;

    background: #ffffff;

    border-radius: 18px;

    overflow: hidden;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.30);
}


/* ==================================================
   LEFT BRANDING PANEL
   ================================================== */

.branding-panel {

    width: 46%;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 50px;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            #f7faff,
            #edf4fc
        );
}


.branding-content {

    width: 100%;

    max-width: 390px;
}


/* ==================================================
   MOBIMANAGER LOGO
   ================================================== */

.company-logo img {

    width: 105px;

    height: 105px;

    object-fit: contain;
}


.product-name {

    margin:
        18px 0 5px;

    font-size: 38px;

    font-weight: 700;

    color: #27364a;
}


.product-name span {

    color: #1769e0;
}


.product-description {

    margin: 0;

    font-size: 16px;

    color: #65778d;
}


/* ==================================================
   DIVIDER
   ================================================== */

.divider {

    width: 100%;

    height: 1px;

    margin:
        42px 0 32px;

    background: #d7e0ea;
}


/* ==================================================
   POWERED FOR
   ================================================== */

.powered-text {

    margin: 0 0 18px;

    color: #6c7c8e;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 2px;

    font-weight: 600;
}


/* ==================================================
   CLIENT LOGO
   ================================================== */

.client-logo-container {

    width: 250px;

    height: 120px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #ffffff;

    border: 1px solid #dce5ef;

    border-radius: 12px;

    padding: 20px;

    box-shadow:
        0 8px 25px rgba(25, 70, 110, 0.06);
}


.client-logo {

    max-width: 100%;

    max-height: 80px;

    object-fit: contain;
}


.client-name {

    margin:
        20px 0 5px;

    font-size: 20px;

    font-weight: 600;

    color: #243b53;
}


.client-description {

    margin: 0;

    font-size: 14px;

    color: #7b8794;
}


/* ==================================================
   LOGIN PANEL
   ================================================== */

.login-panel {

    width: 54%;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 60px;
}


.login-form {

    width: 100%;

    max-width: 420px;
}


/* ==================================================
   LOGIN HEADER
   ================================================== */

.login-header {

    text-align: center;

    margin-bottom: 38px;
}


.login-header h2 {

    margin:
        0 0 10px;

    color: #172b4d;

    font-size: 34px;

    font-weight: 700;
}


.login-header p {

    margin: 0;

    color: #738195;

    font-size: 16px;
}


/* ==================================================
   INPUT
   ================================================== */

.input-wrapper {

    position: relative;

    margin-bottom: 20px;
}


.form-input {

    width: 100%;

    height: 58px;

    padding:
        0 50px 0 55px;

    border:
        1px solid #d3dbe5;

    border-radius: 9px;

    background: #ffffff;

    color: #27364a;

    font-size: 16px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.form-input:focus {

    border-color: #1769e0;

    box-shadow:
        0 0 0 3px
        rgba(23, 105, 224, 0.10);
}


.input-icon {

    position: absolute;

    left: 19px;

    top: 20px;

    color: #7b8794;

    font-size: 17px;

    z-index: 2;
}


.password-toggle {

    position: absolute;

    right: 18px;

    top: 20px;

    color: #7b8794;

    cursor: pointer;

    font-size: 17px;

    z-index: 2;
}


/* ==================================================
   ERROR
   ================================================== */

.login-error {

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 13px 15px;

    margin-bottom: 20px;

    border-radius: 8px;

    border:
        1px solid #ffcaca;

    background: #fff3f3;

    color: #c62828;

    font-size: 14px;
}


/* ==================================================
   LOGIN BUTTON
   ================================================== */

.login-button {

    width: 100%;

    height: 56px;

    border: none;

    border-radius: 8px;

    background: #1769e0;

    color: #ffffff;

    font-size: 17px;

    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.login-button:hover {

    background: #1258bf;

    transform: translateY(-1px);

    box-shadow:
        0 8px 20px
        rgba(23, 105, 224, 0.25);
}


/* ==================================================
   FORGOT PASSWORD
   ================================================== */

.forgot-password {

    display: block;

    width: 100%;

    margin-top: 18px;

    text-align: center;

    color: #1769e0;

    font-size: 15px;

    text-decoration: none;
}


.forgot-password:hover {

    color: #1258bf;

    text-decoration: none;
}


/* ==================================================
   SECURITY TEXT
   ================================================== */

.security-text {

    margin-top: 42px;

    text-align: center;

    color: #9aa6b2;

    font-size: 12px;
}


.security-text .glyphicon {

    margin-right: 5px;
}


/* ==================================================
   FOOTER
   ================================================== */

.page-footer {

    margin-top: 22px;

    color:
        rgba(255, 255, 255, 0.75);

    font-size: 13px;

    text-align: center;
}


/* ==================================================
   RESPONSIVE
   ================================================== */

@media (max-width: 850px) {

    .login-container {

        max-width: 600px;

        flex-direction: column;
    }


    .branding-panel {

        width: 100%;

        padding: 40px 30px;
    }


    .login-panel {

        width: 100%;

        padding: 45px 35px;
    }


    .divider {

        margin:
            28px 0 25px;
    }

}


@media (max-width: 500px) {

    .login-page {

        padding: 15px;
    }


    .login-container {

        border-radius: 12px;
    }


    .branding-panel {

        padding:
            30px 20px;
    }


    .login-panel {

        padding:
            35px 20px;
    }


    .company-logo img {

        width: 75px;

        height: 75px;
    }


    .product-name {

        font-size: 29px;
    }


    .client-logo-container {

        width: 210px;

        height: 100px;
    }


    .login-header h2 {

        font-size: 29px;
    }

}