:root { --primary-blue: #4a6bff; --primary-purple: #8a2be2; --dark-blue: #120d5c; --light-purple: #b57edc; --gradient-blue-purple: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-purple) 100%); --gradient-dark: linear-gradient(135deg, var(--dark-blue) 0%, #4a148c 100%); --text-dark: #2d3748; --text-light: #f8f9fa; --bg-light: #f5f7fa; --card-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); --card-hover-shadow: 0 10px 15px rgba(0, 0, 0, 0.15); } body { font-family: 'Poppins', sans-serif; margin: 0; padding: 0; background-color: var(--bg-light); color: var(--text-dark); } /* Login Page */ #loginPage { display: flex; justify-content: center; align-items: center; min-height: 100vh; background: var(--gradient-blue-purple); } .login-container { background-color: white; border-radius: 15px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2); padding: 2.5rem; width: 100%; max-width: 28rem; margin: 1rem; } .login-header h1 { color: var(--dark-blue); margin-bottom: 0.5rem; font-weight: 700; text-align: center; } .login-header p { color: #666; margin-bottom: 1.5rem; text-align: center; } .input-group { margin-bottom: 1.25rem; position: relative; } .input-group label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: var(--text-dark); } .input-group input { width: 100%; padding: 0.75rem; border: 1px solid #ddd; border-radius: 0.5rem; font-size: 1rem; transition: all 0.3s; } .input-group input:focus { border-color: var(--primary-blue); box-shadow: 0 0 0 3px rgba(74, 107, 255, 0.2); outline: none; } .password-toggle { position: absolute; right: 0.75rem; top: 2.5rem; background: none; border: none; cursor: pointer; color: var(--primary-purple); } .login-button { background: var(--gradient-blue-purple); color: white; border: none; padding: 0.75rem; width: 100%; border-radius: 0.5rem; font-size: 1rem; font-weight: 600; cursor: pointer; margin-top: 0.5rem; transition: all 0.3s; position: relative; overflow: hidden; } .login-button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(138, 43, 226, 0.3); } .google-button { display: flex; align-items: center; justify-content: center; gap: 0.5rem; background: white; color: var(--text-dark); border: 1px solid #ddd; padding: 0.75rem; width: 100%; border-radius: 0.5rem; font-size: 1rem; font-weight: 500; cursor: pointer; transition: all 0.3s; } .google-button:hover { background: #f8f9fa; border-color: #ccc; } .google-icon { width: 1.25rem; height: 1.25rem; } .divider { display: flex; align-items: center; margin: 1.5rem 0; color: #777; font-size: 0.875rem; } .divider::before, .divider::after { content: ""; flex: 1; border-bottom: 1px solid #ddd; } .divider-text { padding: 0 1rem; } /* Portal Corporativo */ #portalCorporativo { display: none; } .corporate-header { background: var(--gradient-dark); color: white; padding: 2.5rem 0; text-align: center; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); position: relative; overflow: hidden; } .header-title { font-size: 2.5rem; margin-bottom: 0.5rem; font-weight: 500px; } .header-divider { width: 5rem; height: 0.25rem; background: var(--primary-purple); margin: 1rem auto; border-radius: 0.25rem; } .header-subtitle { font-size: 1.1rem; opacity: 0.9; margin-bottom: 1.25rem; } /* Carrusel */ .carousel-container { position: relative; margin: 2.5rem 0; overflow: hidden; } .carousel-header { display: flex; justify-content: center; margin-bottom: 1.5rem; flex-wrap: wrap; gap: 0.5rem; } .section-title { padding: 0.5rem 1.25rem; cursor: pointer; font-weight: 600; color: #666; border-radius: 5px; transition: all 0.3s; } .section-title { font-size: 1.5rem; /* Texto más pequeño */ padding: 0.4rem 1rem; /* Espaciado interno reducido */ margin: 0 0.3rem; /* Menor margen entre secciones */ font-weight: 500; /* Grosor medio */ } .carousel-header { margin-bottom: 1rem; /* Espacio reducido debajo del encabezado */ } .section-title:hover, .section-title.active { color: var(--primary-purple); background: rgba(138, 43, 226, 0.1); } .section-title.active { font-weight: 700; } .carousel { display: flex; transition: transform 0.5s ease; width: 100%; } .carousel-slide { min-width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem; padding: 1rem; } /* Tarjetas de Sistema */ .system-card { text-align: center; width: 20rem; margin-bottom: 1.5rem; transition: all 0.3s; } .system-card:hover { transform: translateY(-0.5rem); } .card { border-radius: 0.75rem; overflow: hidden; box-shadow: var(--card-shadow); height: 150px; display: flex; justify-content: center; align-items: center; cursor: pointer; transition: all 0.3s; position: relative; background-color: white; } .system-card { width: 170px; margin-bottom: 20px; } .card { width: 100%; height: 150px; /* Igual que el ancho */ display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1/1; } .card-content img { width: 70px; height: 70px; margin-bottom: 15px; } .system-name { margin-top: 15px; text-align: center; width: 100%; } .card:hover { box-shadow: var(--card-hover-shadow); } .card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 0.25rem; background: var(--card-color); } .card-content img { width: 4.5rem; height: 4.5rem; object-fit: contain; transition: transform 0.3s; } .card:hover .card-content img { transform: scale(1.1); } .system-name { margin-top: 0.75rem; font-weight: 600; color: var(--text-dark); transition: color 0.3s; } .system-card:hover .system-name { color: var(--primary-purple); } /* Colores de tarjetas */ .ticket-card { --card-color: #4a6bff; } .referidos-card { --card-color: #6a5acd; } .intranet-card { --card-color: #7b68ee; } .autogestion-card { --card-color: #9370db; } .capacitacion-card { --card-color: #8a2be2; } .erp-card { --card-color: #4169e1; } .nomina-card { --card-color: #483d8b; } .soporte-card { --card-color: #5f5fd3; } .transfer-card { --card-color: #8470ff; } .histoweb-pro-card { --card-color: #9932cc; } .histoweb-pruebas-card { --card-color: #8b00ff; } /* Botones del carrusel */ .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background-color: white; border: none; border-radius: 50%; width: 2.5rem; height: 2.5rem; font-size: 1.25rem; cursor: pointer; z-index: 10; box-shadow: var(--card-shadow); transition: all 0.3s; color: var(--primary-purple); display: flex; align-items: center; justify-content: center; } .carousel-btn:hover { background-color: var(--primary-purple); color: white; box-shadow: 0 5px 20px rgba(138, 43, 226, 0.4); } #prevBtn { left: 1rem; } #nextBtn { right: 1rem; } /* WhatsApp Selector */ .whatsapp-selector { position: fixed; bottom: 2rem; right: 2rem; z-index: 1000; } .whatsapp-main-btn { width: 3.75rem; height: 3.75rem; border-radius: 50%; background: linear-gradient(135deg, #25D366, #128C7E); color: white; border: none; font-size: 1.5rem; cursor: pointer; box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3); transition: all 0.3s; display: flex; justify-content: center; align-items: center; } .whatsapp-main-btn:hover { transform: scale(1.1); box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4); } .whatsapp-options { position: absolute; bottom: 4.5rem; right: 0; width: 18rem; background-color: white; border-radius: 0.75rem; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); opacity: 0; visibility: hidden; transform: translateY(1rem); transition: all 0.3s; max-height: 25rem; overflow-y: auto; } .whatsapp-selector.active .whatsapp-options { opacity: 1; visibility: visible; transform: translateY(0); } .whatsapp-option { display: flex; align-items: center; padding: 0.75rem; text-decoration: none; color: var(--text-dark); transition: all 0.2s; border-bottom: 1px solid rgba(0, 0, 0, 0.05); } .whatsapp-option:last-child { border-bottom: none; } .whatsapp-option:hover { background-color: #f9f5ff; } .whatsapp-option i { font-size: 1.25rem; margin-right: 0.75rem; color: var(--primary-purple); min-width: 1.5rem; text-align: center; } .contact-name { font-weight: 600; margin-bottom: 0.125rem; font-size: 0.875rem; } .contact-department { font-size: 0.75rem; color: #718096; } /* Footer */ .footer { text-align: center; margin-top: 3rem; padding: 1.5rem 0; color: #718096; font-size: 0.875rem; border-top: 1px solid rgba(0, 0, 0, 0.05); } /* Botón de logout */ #logoutBtn { background-color: white; color: var(--primary-purple); border: none; padding: 0.5rem 1.5rem; border-radius: 1.5rem; font-weight: 600; box-shadow: var(--card-shadow); transition: all 0.3s; } #logoutBtn:hover { background-color: var(--primary-purple); color: white; box-shadow: 0 8px 20px rgba(138, 43, 226, 0.3); } /* Efecto ripple */ .ripple-effect { position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%); transform: scale(0); animation: ripple 0.6s linear; pointer-events: none; } @keyframes ripple { to { transform: scale(4); opacity: 0; } } /* Responsive */ @media (max-width: 768px) { .header-title { font-size: 2rem; } .system-card { width: 9rem; } .section-title { padding: 0.5rem 1rem; font-size: 0.875rem; } } @media (max-width: 576px) { .login-container { padding: 1.5rem; } .system-card { width: 8rem; } .carousel-btn { width: 2rem; height: 2rem; font-size: 1rem; } }