:root {
            --gold: #e6ae25;
            --gold-light: #ffdc75;
            --gold-dark: #a96b08;
            --black: #080808;
            --panel: #111111;
            --text: #ffffff;
            --muted: #999999;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            min-height: 100vh;
            font-family: 'Inter', sans-serif;
            background:
                radial-gradient(ellipse at 50% 45%, #252015 0%, #11100d 35%, #050505 75%);
            color: var(--text);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 35px 20px 20px;
            overflow-x: hidden;
            position: relative;
        }

        /* Fondo decorativo */
        body::before {
            content: "";
            position: fixed;
            width: 600px;
            height: 600px;
            border-radius: 50%;
            border: 1px solid rgba(230,174,37,.08);
            top: -300px;
            right: -200px;
            pointer-events: none;
        }

        body::after {
            content: "";
            position: fixed;
            width: 500px;
            height: 500px;
            border-radius: 50%;
            border: 1px solid rgba(230,174,37,.06);
            bottom: -300px;
            left: -200px;
            pointer-events: none;
        }

        /* Contenedor principal */
        .login-container {
            width: 100%;
            max-width: 1050px;
            min-height: 600px;
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            background: rgba(14,14,14,.96);
            border: 1px solid rgba(230,174,37,.35);
            border-radius: 22px;
            overflow: hidden;
            box-shadow:
                0 25px 80px rgba(0,0,0,.75),
                0 0 35px rgba(230,174,37,.07);
            position: relative;
            z-index: 1;
            animation: aparecer .8s ease;
        }

        @keyframes aparecer {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Panel institucional (Contenedor del Slider) */
        .brand-panel {
            background:
                radial-gradient(circle at center, #252015 0%, #11100d 55%, #080808 100%);
            padding: 30px;
            display: flex;
            position: relative;
            border-right: 1px solid rgba(230,174,37,.25);
            overflow: hidden;
        }

        .brand-panel::before {
            content: "";
            position: absolute;
            inset: 15px;
            border: 1px solid rgba(230,174,37,.12);
            border-radius: 12px;
            pointer-events: none;
            z-index: 3;
        }

        /* Sistema de Slider por Slides Completos */
        .brand-slider {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 540px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .brand-slide {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
            padding: 20px;
        }

        .brand-slide.active {
            opacity: 1;
            visibility: visible;
            z-index: 2;
        }

        /* Estilos Slide 1: Logo y textos institucionales */
        .brand-logo {
            width: 100%;
            max-width: 260px;
            height: auto;
            object-fit: contain;
            filter: drop-shadow(0 8px 20px rgba(230,174,37,.15));
            margin-bottom: 15px;
        }

        .brand-line {
            width: 75px;
            height: 3px;
            background: linear-gradient(90deg, var(--gold-dark), var(--gold-light));
            margin: 12px auto 17px;
            border-radius: 5px;
        }

        .brand-title {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 23px;
            font-weight: 700;
            letter-spacing: 3px;
            color: var(--gold-light);
            text-transform: uppercase;
        }

        .brand-description {
            color: #b9b3a6;
            font-size: 11px;
            letter-spacing: 2px;
            margin-top: 10px;
            text-transform: uppercase;
        }

        .brand-values {
            margin-top: 25px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            color: #c79b38;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 1.5px;
        }

        .brand-values span {
            white-space: nowrap;
        }

        .brand-values i {
            font-size: 5px;
            color: var(--gold-light);
        }

        /* Estilos Slide 2: Afiche 2027 en Grande */
        .brand-poster {
            width: 100%;
            height: 100%;
            max-height: 520px;
            object-fit: contain;
            border-radius: 10px;
            filter: drop-shadow(0 10px 25px rgba(0,0,0,.6));
        }

        /* Panel de acceso */
        .form-panel {
            padding: 55px 45px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            background: linear-gradient(145deg, #151515, #0c0c0c);
        }

        .login-header {
            margin-bottom: 35px;
        }

        .login-icon {
            width: 55px;
            height: 55px;
            border-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gold-light);
            font-size: 23px;
            background: rgba(230,174,37,.10);
            border: 1px solid rgba(230,174,37,.3);
            margin-bottom: 22px;
        }

        .login-header h1 {
            font-family: 'Barlow Condensed', sans-serif;
            font-size: 36px;
            font-weight: 700;
            letter-spacing: 1px;
            color: #fff;
            text-transform: uppercase;
        }

        .login-header p {
            color: var(--muted);
            font-size: 13px;
            margin-top: 8px;
            line-height: 1.6;
        }

        /* Campos */
        .form-group {
            margin-bottom: 22px;
        }

        .form-group label {
            display: block;
            font-size: 11px;
            font-weight: 700;
            color: #c7c1b5;
            text-transform: uppercase;
            letter-spacing: 1.2px;
            margin-bottom: 10px;
        }

        .input-wrapper {
            display: flex;
            align-items: center;
            height: 53px;
            background: #080808;
            border: 1px solid #35312a;
            border-radius: 10px;
            transition: all .25s ease;
            overflow: hidden;
        }

        .input-wrapper:focus-within {
            border-color: var(--gold);
            box-shadow: 0 0 0 3px rgba(230,174,37,.10);
        }

        .input-icon {
            width: 48px;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #b58b2e;
            font-size: 15px;
        }

        .input-wrapper input {
            width: 100%;
            height: 100%;
            background: transparent;
            border: none;
            outline: none;
            color: #fff;
            font-family: 'Inter', sans-serif;
            font-size: 13px;
            padding-right: 12px;
        }

        .input-wrapper input::placeholder {
            color: #686868;
        }

        .toggle-password {
            height: 100%;
            width: 48px;
            flex-shrink: 0;
            border: none;
            background: transparent;
            color: #777;
            cursor: pointer;
            transition: color .2s;
        }

        .toggle-password:hover {
            color: var(--gold-light);
        }

        /* Botón ingresar */
        .btn-login {
            width: 100%;
            height: 54px;
            margin-top: 12px;
            border: none;
            border-radius: 10px;
            cursor: pointer;
            color: #171008;
            font-family: 'Inter', sans-serif;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 1.3px;
            text-transform: uppercase;
            background: linear-gradient(135deg, #f7d36d 0%, #d99b19 50%, #b77808 100%);
            box-shadow: 0 7px 22px rgba(213,153,23,.18);
            transition: all .3s ease;
        }

        .btn-login:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 30px rgba(230,174,37,.3);
            filter: brightness(1.12);
        }

        .btn-login i {
            margin-left: 9px;
        }

        .security-info {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            margin-top: 25px;
            color: #777;
            font-size: 10px;
            letter-spacing: .3px;
        }

        .security-info i {
            color: #b38a32;
        }

        /* Footer */
        footer {
            width: 100%;
            max-width: 1050px;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            gap: 9px;
            padding: 23px 10px 0;
            color: #777;
            font-size: 10px;
            text-align: center;
            position: relative;
            z-index: 1;
        }

        footer a {
            color: var(--gold-light);
            text-decoration: none;
            transition: color .2s;
        }

        footer a:hover {
            color: #fff;
        }

        footer strong {
            letter-spacing: 1px;
        }

        /* Estilos para alertas de acceso */
        .alert-danger {
            background: rgba(220, 53, 69, 0.15);
            border: 1px solid rgba(220, 53, 69, 0.4);
            color: #ff8b94;
            padding: 12px 15px;
            border-radius: 10px;
            font-size: 12px;
            font-weight: 600;
            text-align: center;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            animation: aparecer .4s ease;
        }

        /* Responsive */
        @media (max-width: 768px) {
            body {
                padding: 20px 15px;
                justify-content: flex-start;
                min-height: 100vh;
            }

            .login-container {
                max-width: 450px;
                grid-template-columns: 1fr;
                border-radius: 18px;
            }

            .brand-panel {
                padding: 20px;
                border-right: none;
                border-bottom: 1px solid rgba(230,174,37,.25);
            }

            .brand-slider {
                min-height: 380px;
            }

            .brand-logo {
                max-width: 200px;
            }

            .brand-title {
                font-size: 19px;
                letter-spacing: 2px;
            }

            .brand-poster {
                max-height: 350px;
            }

            .form-panel {
                padding: 30px 25px 35px;
            }

            .login-header h1 {
                font-size: 30px;
            }

            footer {
                max-width: 450px;
            }
        }