        /* Tipografías según tu estructura de carpetas */
        @font-face {
            font-family: "Inter";
            src: url('../upload/fonts/INTER/Inter-VariableFont_opsz,wght.ttf') format('truetype');
            font-weight: 700;
        }
        @font-face {
            font-family: "Inter-light";
            src: url('../upload/fonts/INTER/static/Inter_18pt-Light.ttf') format('truetype');
            font-weight: 300;
        }

        :root {
            --darkblue: #1F2937;
            --lightgreen: #10B981;
            --lightgray: #E5E7EB;
            --orange: rgb(172, 142, 87);
            --bg-gradient: radial-gradient(circle at top right, #f8fafc, #e2e8f0);
        }

        /* Reset básico para eliminar dependencia de Tailwind CDN en el layout principal */
        * { box-sizing: border-box; margin: 0; padding: 0; }

        body {
            font-family: "Inter-light", sans-serif;
            background: var(--bg-gradient);
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            color: var(--darkblue);
        }

        .font-inter-bold { font-family: "Inter", sans-serif; font-weight: 700; }
        
        /* Animaciones */
        @keyframes slideUp {
            from { transform: translateY(40px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .anim-slide-up { animation: slideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
        .anim-fade-in { animation: fadeIn 1s ease-out forwards; }

        /* Tarjeta de Login */
        .login-card {
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: 40px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
            width: 90%;
            max-width: 440px;
            padding: 3rem;
            z-index: 10;
        }

        .header { text-align: center; margin-bottom: 2rem; }
        
        .brand-logo {
            width: 54px;
            height: 54px;
            background: var(--lightgreen);
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.5rem auto;
            color: white;
            font-size: 1.5rem;
            box-shadow: 0 10px 15px -3px rgba(16, 185, 129, 0.3);
        }

        .title { 
            font-size: 1.5rem; 
            letter-spacing: -0.025em; 
            margin-bottom: 0.5rem;
        }

        .subtitle {
            font-size: 0.7rem;
            color: #9ca3af;
            letter-spacing: 0.15em;
            text-transform: uppercase;
        }

        /* Inputs */
        .input-group {
            position: relative;
            margin-bottom: 1.25rem;
        }

        .input-field {
            width: 100%;
            padding: 1rem 1rem 1rem 3.5rem;
            background: #f3f4f6;
            border: 2px solid transparent;
            border-radius: 18px;
            font-size: 0.9rem;
            color: var(--darkblue);
            transition: all 0.3s ease;
        }

        .input-field:focus {
            outline: none;
            background: white;
            border-color: var(--lightgreen);
            box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.1);
        }

        .input-icon {
            position: absolute;
            left: 1.25rem;
            top: 50%;
            transform: translateY(-50%);
            color: #9ca3af;
            transition: color 0.3s ease;
        }

        .input-field:focus + .input-icon {
            color: var(--lightgreen);
        }

        /* Utilidades */
        .flex-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; padding: 0 0.25rem; }
        
        .checkbox-label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            cursor: pointer;
            font-size: 11px;
            color: #9ca3af;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .forgot-link {
            font-size: 11px;
            color: #9ca3af;
            text-decoration: none;
            text-transform: uppercase;
            transition: color 0.3s;
        }

        .forgot-link:hover { color: var(--orange); }

        .btn-login {
            width: 100%;
            padding: 1.1rem;
            background: var(--darkblue);
            color: white;
            border: none;
            border-radius: 18px;
            font-size: 0.75rem;
            font-family: "Inter", sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn-login:hover {
            background: #111827;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px -5px rgba(31, 41, 55, 0.3);
        }

        .footer-text {
            margin-top: 3rem;
            text-align: center;
            font-size: 10px;
            color: #d1d5db;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            line-height: 1.8;
        }

        /* Decoración de fondo */
        .blob {
            position: fixed;
            width: 40vw;
            height: 40vw;
            filter: blur(120px);
            opacity: 0.05;
            z-index: 1;
            pointer-events: none;
            border-radius: 50%;
        }
        .blob-1 { top: -10%; right: -10%; background: var(--lightgreen); }
        .blob-2 { bottom: -10%; left: -10%; background: var(--orange); }