
        * {
            box-sizing: border-box;
        }

        body {
            font-family: 'Segoe UI', sans-serif;
            margin: 0;
            padding: 0;
            height: 100vh;
            background: linear-gradient(to right, #f7d9e3, #d9eaf7);
            overflow: hidden;
        }

        /* Banner de fondo (puede usarse como decorativo) */
        .banner-top {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            z-index: -1;
        }

        .banner-top img {
            width: 100%;
            height: auto;
            display: block;
        }

        /* Centrado total */
        .center-wrapper {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .login-container {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3); /* sombra más fuerte */
    width: 350px;
    text-align: center;
}


        .login-container h2 {
            margin-bottom: 24px;
            color: #444;
        }

        input[type="text"], input[type="password"] {
            width: 100%;
            padding: 12px;
            margin: 10px 0;
            border: 1px solid #ccc;
            border-radius: 6px;
            transition: border-color 0.3s;
        }

        input:focus {
            border-color: #007bff;
            outline: none;
        }

        button {
            width: 100%;
            padding: 12px;
            background-color: #007bff;
            border: none;
            color: white;
            border-radius: 6px;
            font-size: 16px;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        button:hover {
            background-color: #0056b3;
        }

        .error {
            margin-top: 15px;
            color: red;
            font-weight: bold;
        }

        .form-group {
            text-align: left;
        }

        .fade-in {
            animation: fadeIn 1s ease-in-out;
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .logo-footer {
            margin-top: 25px;
            width: 120px;
            opacity: 0.9;
        }

        @media (max-height: 500px) {
            .center-wrapper {
                position: relative;
                top: auto;
                left: auto;
                transform: none;
                margin: 40px auto;
            }
        }
