* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', sans-serif;
}

body {
    height: 100vh;
    background: linear-gradient(135deg, #1e88e5, #1565c0);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* CONTENEDOR */
.container {
    width: 100%;
    padding: 20px;
    display: flex;
    justify-content: center;
}

/* CARD */
.login-card {
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    padding: 45px 35px;
    border-radius: 18px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    text-align: center;
}

/* LOGO (MÁS GRANDE) */
.logo {
    width: 160px;   /* 👈 aumentado */
    margin-bottom: 25px;
}

/* TITULO */
.login-card h2 {
    margin-bottom: 25px;
    color: #222;
    font-size: 22px;
}

/* INPUTS */
.input-group {
    position: relative;
    margin-bottom: 25px;
}

.input-group input {
    width: 100%;
    padding: 12px 10px;
    border: none;
    outline: none;
    border-bottom: 2px solid #ccc;
    color: #333;
    font-size: 16px;
    background: transparent;
}

/* LABELS */
.input-group label {
    position: absolute;
    left: 10px;
    top: 12px;
    color: #777;
    pointer-events: none;
    transition: 0.3s ease;
}

/* FLOAT LABEL EFFECT */
.input-group input:focus + label,
.input-group input:valid + label {
    top: -10px;
    font-size: 12px;
    color: #1e88e5;
}

/* BOTÓN */
button {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 8px;
    background: #1e88e5;
    color: white;
    font-size: 16px;
    cursor: pointer;
    transition: 0.3s;
}

button:hover {
    background: #1565c0;
}

/* TEXTO EXTRA */
.extra {
    margin-top: 15px;
    font-size: 14px;
    color: #555;
}

.extra a {
    color: #1e88e5;
    text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 480px) {
    .login-card {
        padding: 30px 20px;
    }

    .logo {
        width: 130px; /* ajustado en móvil */
    }
}