/* =========================================================
   LOGIN PAGE
========================================================= */

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

body {
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   PAGE
========================================================= */

.login-page {

    min-height: 100vh;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 30px;

    background:
        linear-gradient(135deg,
            #fff8fa 0%,
            #fce4ec 100%);

}


/* =========================================================
   CARD
========================================================= */

.login-card {

    width: 100%;

    max-width: 430px;

    background: #ffffff;

    border: 1px solid #f3dce5;

    border-radius: 22px;

    padding: 40px;

    box-shadow:
        0 15px 45px rgba(194, 24, 91, 0.10);

}


/* =========================================================
   HEADER
========================================================= */

.login-header {

    text-align: center;

    margin-bottom: 30px;

}


.login-logo {

    width: 72px;
    height: 72px;

    margin: 0 auto 18px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #fce4ec;

    border-radius: 20px;

    color: #c2185b;

    font-size: 32px;

}


.login-header h1 {

    margin: 0 0 8px;

    color: #333333;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 28px;

    font-weight: 700;

    line-height: 1.2;

}


.login-header p {

    margin: 0;

    color: #777777;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 14px;

    line-height: 1.5;

}


/* =========================================================
   ALERT
========================================================= */

.login-alert {

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 12px 14px;

    margin-bottom: 20px;

    background: #fff1f1;

    border: 1px solid #f5c2c7;

    border-radius: 10px;

    color: #b02a37;

    font-size: 14px;

}


/* =========================================================
   FORM
========================================================= */

.login-form-group {

    margin-bottom: 20px;

}


.login-form-group label {

    display: block;

    margin: 0 0 8px;

    color: #444444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 14px;

    font-weight: 600;

}


/* =========================================================
   INPUT WRAPPER
========================================================= */

.login-input-wrapper {

    position: relative;

    width: 100%;

}


/* =========================================================
   INPUT ICON
========================================================= */

.login-input-icon {

    position: absolute;

    left: 15px;

    top: 50%;

    transform: translateY(-50%);

    color: #c96a8a;

    font-size: 17px;

    pointer-events: none;

    z-index: 2;

}


/* =========================================================
   INPUT
========================================================= */

.login-input {

    display: block;

    width: 100%;

    height: 48px;

    margin: 0;

    padding: 0 45px;

    border: 1px solid #e5d9de;

    border-radius: 12px;

    background: #ffffff;

    color: #333333;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 14px;

    line-height: 48px;

    outline: none;

    appearance: none;

    transition: 0.2s ease;

}


.login-input:focus {

    border-color: #d97c9b;

    box-shadow:
        0 0 0 3px rgba(217, 124, 155, 0.12);

}


.login-input::placeholder {

    color: #aaaaaa;

}


/* =========================================================
   PASSWORD TOGGLE
========================================================= */

.login-password-toggle {

    position: absolute;

    right: 12px;

    top: 50%;

    transform: translateY(-50%);

    width: 32px;

    height: 32px;

    padding: 0;

    border: none;

    background: transparent;

    color: #999999;

    cursor: pointer;

    font-size: 17px;

    display: flex;

    align-items: center;

    justify-content: center;

}


.login-password-toggle:hover {

    color: #c2185b;

}


/* =========================================================
   LOGIN BUTTON
========================================================= */

.login-button {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    width: 100%;

    height: 48px;

    margin: 5px 0 0;

    padding: 0 20px;

    border: none;

    border-radius: 12px;

    background: #d97c9b;

    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 15px;

    font-weight: 600;

    line-height: 48px;

    cursor: pointer;

    appearance: none;

    transition: 0.2s ease;

}


.login-button:hover {

    background: #c96889;

    transform: translateY(-1px);

    box-shadow:
        0 6px 15px rgba(217, 124, 155, 0.25);

}


.login-button:active {

    transform: translateY(0);

}


/* =========================================================
   FOOTER
========================================================= */

.login-footer {

    text-align: center;

    margin-top: 25px;

    color: #aaaaaa;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 12px;

}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 480px) {

    .login-page {

        padding: 20px;

    }


    .login-card {

        padding: 30px 24px;

        border-radius: 18px;

    }


    .login-header h1 {

        font-size: 24px;

    }

}

/* Remember Me */
.login-remember {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 4px;
    margin-top: -4px;
    margin-bottom: 16px;
}

.login-remember .form-check {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
}

.login-remember .form-check-input {
    width: 15px;
    height: 15px;
    margin: 0;
    cursor: pointer;
    accent-color: var(--primary);
}

.login-remember .form-check-label {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
    cursor: pointer;
}