* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: linear-gradient(
        135deg,
        #eef5ff,
        #f8fbff
    );

    min-height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;
}

.login-container {
    width: 100%;
    max-width: 420px;
    padding: 20px;
}

.logo-area {
    text-align: center;
    margin-bottom: 25px;
}

.logo-area h1 {
    margin: 0;
    font-size: 42px;
    color: #2457a6;
}

.logo-area p {
    margin-top: 8px;
    color: #666;
    font-size: 15px;
}

.login-card {
    background: white;

    padding: 35px;

    border-radius: 16px;

    box-shadow:
        0 10px 30px
        rgba(0, 0, 0, 0.10);
}

.login-card h2 {
    text-align: center;
    margin-top: 0;
    margin-bottom: 8px;
    color: #333;
}

.subtitle {
    text-align: center;
    color: #777;
    margin-bottom: 30px;
}

label {
    display: block;
    margin-bottom: 7px;

    font-weight: bold;
    color: #444;
}

input {
    width: 100%;

    padding: 13px;

    margin-bottom: 20px;

    border: 1px solid #ccc;
    border-radius: 8px;

    font-size: 15px;
}

input:focus {
    outline: none;

    border-color: #2457a6;

    box-shadow:
        0 0 0 3px
        rgba(36, 87, 166, 0.10);
}

button {
    width: 100%;

    padding: 14px;

    border: none;

    border-radius: 8px;

    background: #2457a6;
    color: white;

    font-size: 16px;
    font-weight: bold;

    cursor: pointer;
}

button:hover {
    background: #1c4687;
}

.footer {
    text-align: center;

    color: #888;

    font-size: 13px;

    margin-top: 20px;
}

/* =========================================
   LOGIN MESSAGES
========================================= */

.login-message {

    padding: 12px 14px;

    border-radius: 7px;

    margin-bottom: 20px;

    font-size: 14px;

    text-align: center;
}


.login-message.error {

    background: #fff0f0;

    color: #b52c2c;

    border: 1px solid #efb7b7;
}


.login-message.success {

    background: #eaf8ef;

    color: #257542;

    border: 1px solid #b8e4c7;
}


/* =========================================
   SHOW PASSWORD CHECKBOX
========================================= */

.show-password-row {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-top: -10px;

    margin-bottom: 20px;
}


.show-password-row input {

    width: auto;

    margin: 0;

    cursor: pointer;
}


.show-password-row label {

    margin: 0;

    font-size: 14px;

    font-weight: normal;

    color: #555;

    cursor: pointer;
}


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

.login-button {

    width: 100%;

    padding: 14px;

    border: none;

    border-radius: 8px;

    background: #2457a6;

    color: white;

    font-size: 16px;

    font-weight: bold;

    cursor: pointer;
}


.login-button:hover {

    background: #1c4687;
}

.back-home-link {
    color: #5f6b78;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.back-home-link:hover {
    color: #2457a6;
    text-decoration: underline;
}