@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap");

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif; /* Uniform font family */
}

body {
    background: linear-gradient(135deg, #fdf6e8, #f8e1c9); /* Warm, creamy gradient */
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.container {
    max-width: 500px;
    width: 100%;
    background: #fffef5; /* Soft cream */
    padding: 40px 30px;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(101, 67, 33, 0.1); /* Subtle brown shadow */
    transition: transform 0.3s ease;
}

.container:hover {
    transform: translateY(-3px);
}

.welcomeImage {
    text-align: center;
    margin-bottom: 30px;
}

.welcomeImage img {
    max-width: 140px;
    height: auto;
    border-radius: 8px;
}

.button-panel {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 40px; /* Space between buttons and form */
    flex-wrap: wrap;
}

.button-panel button {
    background-color: #654321; /* Earthy brown */
    border: none;
    color: #fff;
    padding: 10px 25px;
    font-size: 1rem;
    font-weight: 500;
    font-family: "Roboto", sans-serif; /* Uniform font */
    border-radius: 25px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
    min-width: 120px;
    text-align: center; /* Explicitly centered text */
}

.button-panel button:hover {
    background-color: #4a2f15;
    transform: translateY(-2px);
}

.button-panel .active {
    background-color: #d97706; /* Warm orange */
    color: #fff;
}

.form {
    display: none;
}

#sign-in-form {
    display: block;
}

.input-box {
    position: relative;
    width: 100%;
    margin-bottom: 25px; /* Space for "Show" button below */
}

.input-box label {
    color: #654321;
    font-weight: 700; /* Bolder labels */
    font-size: 0.95rem;
    margin-bottom: 6px;
    display: block;
    font-family: "Roboto", sans-serif; /* Uniform font */
}

.input-box input {
    height: 45px;
    width: 100%;
    outline: none;
    font-size: 0.9rem;
    color: #654321;
    border: 1px solid #d4a373; /* Light tan border */
    border-radius: 8px;
    padding: 0 15px;
    background: #fffef5;
    transition: border-color 0.3s ease;
}

.input-box input:hover {
    border-color: #d97706;
}

.input-box input:focus {
    border-color: #d97706;
    box-shadow: 0 0 8px rgba(217, 119, 6, 0.2);
}

.input-box input[readonly] {
    background: #f7ece1;
    color: #8b5a2b;
}

.toggle-password {
    display: block;
    width: 100%;
    text-align: center; /* Matches "Sign In" button alignment */
    margin-top: 5px; /* Space between input and "Show" button */
    background: none;
    border: none;
    color: #d97706;
    font-size: 0.85rem;
    font-family: "Roboto", sans-serif; /* Uniform font */
    cursor: default; /* Non-interactive */
}

.form button {
    height: 48px;
    width: 100%;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    margin-top: 25px;
    border: none;
    border-radius: 25px;
    background: linear-gradient(135deg, #d97706, #f59e0b); /* Orange gradient */
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
    font-family: "Roboto", sans-serif; /* Uniform font */
    text-align: center; /* Consistent with other buttons */
}

.form button:hover {
    background: linear-gradient(135deg, #b35900, #d97706);
    transform: translateY(-2px);
}

.column {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
}

.column .input-box {
    flex: 1;
    min-width: 160px; /* Prevent squeezing */
}

.input-box .column {
    margin-top: 10px;
}

/* Responsive Design */
@media (max-width: 414px) {
    .container {
        padding: 30px 20px;
        margin: 10px;
    }

    .welcomeImage img {
        max-width: 120px;
    }

    .button-panel {
        gap: 15px;
        margin-bottom: 30px;
    }

    .button-panel button {
        padding: 8px 20px;
        font-size: 0.9rem;
        min-width: 100px;
    }

    .input-box input {
        height: 42px;
        font-size: 0.85rem;
    }

    .form button {
        height: 45px;
        font-size: 0.95rem;
    }

    .column {
        flex-direction: column;
        gap: 12px;
    }

    .column .input-box {
        min-width: 100%;
    }
}

@media (max-width: 360px) {
    .welcomeImage img {
        max-width: 100px;
    }

    .button-panel {
        gap: 10px;
    }

    .button-panel button {
        padding: 8px 15px;
        font-size: 0.85rem;
    }
}