<style>
        /* FIX: OCULTAR BARRA ADMIN DE WORDPRESS */
        #wpadminbar { display: none !important; }
        html { margin-top: 0 !important; }
        * html body { margin-top: 0 !important; }
        
        /* RESET Y BASE */
        .chrrhh-container * { box-sizing: border-box; }
        .chrrhh-container { max-width: 1400px; margin: 0 auto; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
        
        /* PANEL EMPLEADO - DISEÃ‘O COMPLETO */
        .chrrhh-panel-empleado { background: #f5f7fa; min-height: 100vh; padding: 0; }
        .panel-header { background: #ffffff; color: #1A1A2E; padding: 20px 30px; border-radius: 10px; margin-bottom: 30px; box-shadow: none; border-bottom: 2.5px solid #5D55F0; border: 1px solid #ede9fe; border-bottom: 2.5px solid #5D55F0; display: flex; align-items: center; justify-content: space-between; }
        .panel-header h1 { margin: 0 0 4px 0; font-size: 22px; font-weight: 600; color: #1A1A2E; }
        .panel-header .bienvenida { font-size: 13px; color: #6B7280; opacity: 1; }
        .panel-header .cerrar-sesion { position: static; background: transparent; border: 1px solid #e2e8f0; padding: 8px 16px; border-radius: 8px; color: #6B7280; text-decoration: none; transition: all 0.2s; font-size: 13px; white-space: nowrap; }
        .panel-header .cerrar-sesion:hover { background: #f8fafc; border-color: #5D55F0; color: #5D55F0; }
        
        /* TABS DE NAVEGACIÃ“N */
        .panel-tabs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; background: #f8f8fc; padding: 10px 8px; border-radius: 10px; margin-bottom: 20px; border: 1px solid #ede9fe; }
        .panel-tab { padding: 8px 6px; border: 1px solid #e2e8f0; background: white; cursor: pointer; border-radius: 8px; font-size: 12px; font-weight: 500; color: #6B7280; transition: all 0.2s; display: flex; align-items: center; justify-content: flex-start; gap: 5px; min-width: 0; position: relative; white-space: nowrap; }
        .panel-tab-badge { position: absolute; top: 4px; right: 4px; background: #ef4444; font-size: 0 !important; line-height: 0 !important; width: 8px; height: 8px; border-radius: 50%; display: inline-block; border: 1.5px solid white; box-shadow: none; }
        .panel-tab:hover { background: #f1f5f9; border-color: #c4b5fd; color: #5D55F0; }
        .panel-tab.active { background: white; border: 1.5px solid #5D55F0; color: #5D55F0; font-weight: 600; box-shadow: none; }
        .panel-tab-icon { font-size: 15px; flex-shrink: 0; }
        
        /* CONTENIDO TABS */
        .tab-content { display: none; animation: fadeIn 0.3s; }
        .tab-content.active { display: block; }
        #tab-mensajeria { padding: 0 !important; margin: 0 !important; }
        #tab-mensajeria .mensajeria-container { padding-top: 0 !important; margin-top: -40px !important; }
        #tab-mensajeria h2 { margin-top: 0 !important; padding-top: 0 !important; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        
        /* CONTROL JORNADA */
        .control-jornada-card { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); text-align: center; margin-bottom: 30px; }
        .estado-actual { margin-bottom: 30px; }
        .estado-badge { display: inline-block; padding: 8px 20px; border-radius: 20px; font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
        .estado-badge.activo { background: #d1fae5; color: #065f46; }
        .estado-badge.pausado { background: #fed7aa; color: #92400e; }
        .estado-badge.finalizado { background: #e0e7ff; color: #3730a3; }
        .estado-badge.no-iniciado { background: #f3f4f6; color: #6b7280; }
        
        .tiempo-display { font-size: 48px; font-weight: 700; color: #1e293b; margin: 20px 0; font-family: 'Courier New', monospace; letter-spacing: 2px; }
        .horas-acumuladas { font-size: 18px; color: #64748b; margin-bottom: 30px; }
        
        .botones-jornada { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; margin-top: 30px; }
        .btn-jornada { padding: 15px 40px; border: none; border-radius: 10px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s; display: inline-flex; align-items: center; gap: 10px; }
        .btn-iniciar { background: linear-gradient(135deg, #10b981 0%, #059669 100%); color: white; }
        .btn-pausar { background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%); color: white; }
        .btn-reanudar { background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%); color: white; }
        .btn-finalizar { background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%); color: white; }
        .btn-jornada:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.15); }
        .btn-jornada:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
        
        /* HISTORIAL FICHAJES */
        .historial-section { background: white; border-radius: 15px; padding: 30px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .historial-section h3 { font-size: 22px; margin-bottom: 20px; color: #1e293b; }
        
        .acordeon-mes { border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; overflow: hidden; }
        .acordeon-titulo { background: #f8fafc; padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: all 0.3s; }
        .acordeon-titulo:hover { background: #f1f5f9; }
        .acordeon-titulo h4 { margin: 0; font-size: 18px; color: #1e293b; }
        .acordeon-total { color: #5D55F0; font-weight: 600; }
        .acordeon-icono { font-size: 20px; transition: transform 0.3s; }
        .acordeon-mes.abierto .acordeon-icono { transform: rotate(180deg); }
        
        .acordeon-contenido { display: none; padding: 20px; background: white; }
        .acordeon-mes.abierto .acordeon-contenido { display: block; animation: slideDown 0.3s; }
        @keyframes slideDown { from { opacity: 0; max-height: 0; } to { opacity: 1; max-height: 1000px; } }
        
        .tabla-fichajes { width: 100%; border-collapse: collapse; }
        .tabla-fichajes th { background: #f8fafc; padding: 12px; text-align: left; font-weight: 600; color: #64748b; font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; }
        .tabla-fichajes td { padding: 15px 12px; border-bottom: 1px solid #f1f5f9; }
        .tabla-fichajes tr:hover { background: #f8fafc; }
        .tipo-entrada { color: #10b981; font-weight: 600; }
        .tipo-salida { color: #ef4444; font-weight: 600; }
        .tipo-pausa { color: #f59e0b; font-weight: 600; }
        .tipo-reanudacion { color: #3b82f6; font-weight: 600; }
        
        /* MI PERFIL */
        .perfil-container { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .perfil-container h2 { color: #1e293b; margin-bottom: 30px; font-size: 24px; }
        
        .perfil-form { max-width: 800px; }
        .form-section { margin-bottom: 40px; }
        .form-section h3 { color: #5D55F0; font-size: 20px; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #e2e8f0; }
        
        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
        .form-group { margin-bottom: 20px; }
        .form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #475569; font-size: 14px; }
        .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 12px 16px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 15px; transition: all 0.3s; }
        .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: #5D55F0; outline: none; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); }
        
        .datos-laborales-tabla { width: 100%; border-collapse: collapse; background: #f8fafc; border-radius: 8px; overflow: hidden; }
        .datos-laborales-tabla th { background: #F6F4ED; color: #374151; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 0.5px solid #e8e4d9; }
        .datos-laborales-tabla td { padding: 15px; border-bottom: 1px solid #e2e8f0; }
        .datos-laborales-tabla tr:last-child td { border-bottom: none; }
        
        .btn-guardar { background: #5D55F0; color: white; padding: 15px 40px; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; transition: all 0.3s; }
        .btn-guardar:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4); }
        
        /* DOCUMENTOS */
        .documentos-container { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .documentos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; margin-top: 30px; }
        
        .documento-card { background: white; border: 2px solid #e2e8f0; border-radius: 12px; padding: 25px; text-align: center; transition: all 0.3s; cursor: pointer; }
        .documento-card:hover { border-color: #5D55F0; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2); transform: translateY(-5px); }
        .documento-icon { font-size: 48px; margin-bottom: 15px; }
        .documento-nombre { font-weight: 600; color: #1e293b; margin-bottom: 8px; }
        .documento-meta { font-size: 13px; color: #64748b; margin-bottom: 15px; }
        .documento-btn { background: #5D55F0; color: white; padding: 8px 20px; border-radius: 6px; text-decoration: none; display: inline-block; font-size: 14px; font-weight: 500; }
        
        .sin-documentos { text-align: center; padding: 60px 20px; color: #94a3b8; }
        .sin-documentos-icon { font-size: 64px; margin-bottom: 20px; opacity: 0.5; }
        
        /* CALENDARIO TRAMITAPP */
        .calendario-container { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .calendario-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
        .calendario-header h3 { font-size: 16px; color: #1e293b; margin: 0; }
        .calendario-nav { display: flex; gap: 10px; }
        .calendario-nav button { background: #5D55F0; color: white; border: none; padding: 6px 12px; border-radius: 6px; cursor: pointer; font-weight: 600; font-size: 13px; }
        
        .calendario-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
        .calendario-dia-nombre { text-align: center; font-weight: 600; color: #64748b; padding: 10px; font-size: 14px; }
        .calendario-dia { background: #f8fafc; border: 2px solid #e2e8f0; border-radius: 8px; padding: 15px; min-height: 80px; transition: all 0.3s; }
        .calendario-dia:hover { border-color: #5D55F0; }
        .calendario-dia.trabajado { background: #d1fae5; border-color: #10b981; }
        .calendario-dia.ausente { background: #fee2e2; border-color: #ef4444; }
        .calendario-dia.vacaciones { background: #dbeafe; border-color: #3b82f6; }
        .calendario-dia.festivo { background: #fee2e2; border-color: #ef4444; }
        .calendario-dia.permiso { background: #fef3c7; border-color: #f59e0b; }
        .calendario-dia.medico { background: #fce7f3; border-color: #ec4899; }
        .calendario-dia-numero { font-weight: 700; color: #1e293b; margin-bottom: 5px; }
        .calendario-dia-horas { font-size: 12px; color: #64748b; }
        .calendario-dia-estado { font-size: 14px; font-weight: 600; margin-top: 5px; }
        .estado-V { color: #3b82f6; }
        .estado-P { color: #f59e0b; }
        .estado-F { color: #ef4444; }
        .estado-M { color: #ec4899; }
        
        /* EMPLEADOS LISTA */
        .empleados-container { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .empleados-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; flex-wrap: wrap; gap: 15px; }
        .empleados-filtros { display: flex; gap: 10px; flex-wrap: wrap; }
        .empleados-filtros select { padding: 10px 15px; border: 2px solid #e2e8f0; border-radius: 8px; font-size: 14px; }
        
        .btn-primary { background: #5D55F0; color: white; padding: 12px 30px; border: none; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-block; }
        .btn-success { background: linear-gradient(135deg, #10b981 0%, #059669 100%); }
        
        .tabla-empleados { width: 100%; border-collapse: collapse; margin-top: 20px; }
        .tabla-empleados th { background: #F6F4ED; color: #374151; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 0.5px solid #e8e4d9; }
        .tabla-empleados td { padding: 15px; border-bottom: 1px solid #e2e8f0; }
        .tabla-empleados tr:hover { background: #f8fafc; }
        .usuario-badge { display: inline-block; padding: 4px 12px; border-radius: 12px; font-size: 12px; font-weight: 600; }
        .usuario-badge.vinculado { background: #d1fae5; color: #065f46; }
        .usuario-badge.sin-vincular { background: #fee2e2; color: #991b1b; }
        
        /* CREAR EMPLEADO FORM */
        .crear-empleado-form { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); max-width: 900px; margin: 0 auto; }
        
        /* TICKETS/SOLICITUDES */
        .tickets-container { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .ticket-card { background: #f8fafc; border: 2px solid #e2e8f0; border-radius: 10px; padding: 20px; margin-bottom: 15px; }
        .ticket-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
        .ticket-titulo { font-weight: 600; color: #1e293b; font-size: 18px; }
        .ticket-estado { padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; }
        .ticket-estado.abierto { background: #dbeafe; color: #1e40af; }
        .ticket-estado.proceso { background: #fef3c7; color: #92400e; }
        .ticket-estado.resuelto { background: #d1fae5; color: #065f46; }
        .ticket-categoria { color: #64748b; font-size: 14px; }
        .ticket-fecha { color: #94a3b8; font-size: 12px; }
        
        .acordeon-ticket { border: 1px solid #e2e8f0; border-radius: 8px; margin-bottom: 10px; overflow: hidden; }
        .acordeon-ticket-titulo { background: #f8fafc; padding: 15px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
        .acordeon-ticket-contenido { display: none; padding: 20px; background: white; }
        .acordeon-ticket.abierto .acordeon-ticket-contenido { display: block; }
        
        .respuesta { background: #f8fafc; border-radius: 8px; padding: 15px; margin-bottom: 10px; }
        .respuesta-header { display: flex; justify-content: space-between; margin-bottom: 10px; }
        .respuesta-autor { font-weight: 600; color: #1e293b; }
        .respuesta-fecha { color: #64748b; font-size: 12px; }
        
        /* FORMULARIO TICKET */
        .crear-ticket-form { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); max-width: 800px; margin: 0 auto; }
        
        /* REPORTES */
        .reportes-container { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 40px; }
        .stat-card { background: #5D55F0; color: white; padding: 30px; border-radius: 12px; box-shadow: 0 4px 15px rgba(93, 85, 240, 0.20); }
        .stat-card h4 { margin: 0 0 10px 0; font-size: 14px; opacity: 0.9; text-transform: uppercase; letter-spacing: 1px; }
        .stat-card .stat-numero { font-size: 36px; font-weight: 700; margin: 10px 0; }
        .stat-card .stat-descripcion { opacity: 0.8; font-size: 13px; }
        
        .reportes-filtros { background: #f8fafc; padding: 20px; border-radius: 10px; margin-bottom: 30px; }
        .reportes-tabla { width: 100%; border-collapse: collapse; margin-top: 20px; }
        .reportes-tabla th { background: #F6F4ED; color: #374151; padding: 10px 15px; text-align: left; font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 0.5px solid #e8e4d9; }
        .reportes-tabla td { padding: 15px; border-bottom: 1px solid #e2e8f0; }
        
        /* CONFIGURACIÃ“N COLORES */
        .colores-container { background: white; border-radius: 15px; padding: 40px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .colores-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px; }
        .color-item { text-align: center; }
        .color-preview { width: 80px; height: 80px; border-radius: 8px; margin: 0 auto 10px; border: 2px solid #e2e8f0; }
        .color-input { width: 100%; padding: 8px; border: 1px solid #e2e8f0; border-radius: 4px; }
        
        /* ALERTAS */
        .alerta { padding: 15px 20px; border-radius: 8px; margin-bottom: 20px; font-weight: 500; }
        .alerta-exito { background: #d1fae5; color: #065f46; border-left: 4px solid #10b981; }
        .alerta-error { background: #fee2e2; color: #991b1b; border-left: 4px solid #ef4444; }
        .alerta-info { background: #dbeafe; color: #1e40af; border-left: 4px solid #3b82f6; }
        .alerta-warning { background: #fed7aa; color: #92400e; border-left: 4px solid #f59e0b; }
        
        /* LOADING */
        .loading { text-align: center; padding: 40px; color: #64748b; }
        .loading-spinner { display: inline-block; width: 40px; height: 40px; border: 4px solid #e2e8f0; border-top-color: #5D55F0; border-radius: 50%; animation: spin 1s linear infinite; }
        @keyframes spin { to { transform: rotate(360deg); } }
        @keyframes slideIn { 
            from { opacity: 0; transform: translateX(100px); } 
            to { opacity: 1; transform: translateX(0); } 
        }
        
        /* CONTROL POPUP TARJETA - No abrir automÃ¡ticamente */
        
        /* v7.99 PAOLO: OCULTAR BANDERAS - CSS simple */
        #language-switcher {
            display: none !important;
            visibility: hidden !important;
        }
        #btn-lang-es,
        #btn-lang-en {
            display: none !important;
        }
        
        /* RESPONSIVE */
        @media (max-width: 768px) {
            .form-row { grid-template-columns: 1fr; }
            .panel-tabs { grid-template-columns: 1fr; }
            .panel-tab { min-width: 100%; }
            .botones-jornada { flex-direction: column; }
            .btn-jornada { width: 100%; }
            .calendario-grid { grid-template-columns: repeat(7, 1fr); font-size: 12px; }
            .empleados-header { flex-direction: column; align-items: stretch; }
            .tabla-empleados { font-size: 14px; }
            .tabla-empleados th, .tabla-empleados td { padding: 10px; }
            .ticket-header { flex-direction: column; align-items: flex-start; gap: 10px; }
        }

        /* v2.2: FIXES MÃ“VIL */
        @media (max-width: 768px) {
            .calendario-container { overflow-x: hidden; -webkit-overflow-scrolling: touch; }
.calendario-grid { min-width: 0; }
            .panel-header { flex-direction: column !important; align-items: flex-start !important; gap: 15px !important; }
            .cerrar-sesion { width: 100% !important; text-align: center !important; margin-top: 10px !important; position: relative !important; }
            .tabs-container { overflow-x: auto; -webkit-overflow-scrolling: touch; }
            .panel-tab { white-space: nowrap; min-width: auto; padding: 8px 8px !important; font-size: 13px !important; }
            .fichajes-tabla { font-size: 12px !important; }
            .fichajes-tabla th, .fichajes-tabla td { padding: 8px 5px !important; }
            .btn-editar-fichaje, .btn-eliminar-fichaje, .btn-finalizar-fichaje { padding: 4px 8px !important; font-size: 11px !important; margin-bottom: 5px; display: block !important; }
            .dashboard-widgets { grid-template-columns: 1fr !important; }
        }
        @media (max-width: 480px) {
            .panel-tab-icon { display: none; }
            .gestion-fichajes-container { padding: 20px 10px !important; }
            .fichajes-filtros { padding: 15px !important; }
            .form-group input, .form-group select { font-size: 14px !important; }
            
            /* v7.99 PAOLO: REPORTES MÃ“VIL - Todo vertical */
            #tab-reportes > div > div {
                display: block !important;
                grid-template-columns: 1fr !important;
            }
            #tab-reportes > div > div > div {
                margin-bottom: 15px !important;
                width: 100% !important;
            }
            #tab-reportes label,
            #tab-reportes select,
            #tab-reportes input {
                display: block !important;
                width: 100% !important;
            }
            
            /* v7.99 PAOLO: EXPORTAR FICHAJES - Grid a Block vertical ESPECÃFICO */
            #export-fichajes-grid {
                display: block !important;
                grid-template-columns: 1fr !important;
            }
            #export-fichajes-grid > div {
                width: 100% !important;
                margin-bottom: 15px !important;
            }
            #export-fichajes-empleado,
            #export-fichajes-desde,
            #export-fichajes-hasta {
                width: 100% !important;
            }
            #btn-exportar-fichajes-periodo {
                margin-top: 10px !important;
                width: 100% !important;
            }
            
            /* v7.99 PAOLO: TURNOS MÃ“VIL - Vertical sin problemas */
            #lista-turnos > div > div {
                display: flex !important;
                flex-direction: column !important;
            }
            
            /* v8.0 PAOLO: CONTADOR FICHAJE - TamaÃ±o adecuado mÃ³vil */
            .tiempo-display {
                font-size: 32px !important;
                letter-spacing: 1px !important;
                margin: 15px 0 !important;
            }
        }

        /* v2.3.2: RESPONSIVE COMPLETO */
        @media (max-width: 1024px) {
            .stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
            .dashboard-widgets { grid-template-columns: repeat(2, 1fr) !important; }
        }
        
        @media (max-width: 768px) {
            /* Dashboard */
            .stats-grid { grid-template-columns: 1fr !important; }
            .dashboard-widgets { grid-template-columns: 1fr !important; }
            .welcome-card { padding: 20px; }
            .welcome-card h2 { font-size: 24px; }
            .stat-widget { padding: 20px; }
            .stat-number { font-size: 36px; }
            
            /* Panel RRHH Header */
            .panel-header { 
                flex-direction: column !important; 
                align-items: flex-start !important; 
                gap: 15px !important; 
            }
            
            .cerrar-sesion { 
                width: 100% !important; 
                text-align: center !important; 
                margin-top: 10px !important;
                position: relative !important;
            }
            
            /* Tabs */
            .tabs-container { 
                overflow-x: auto; 
                -webkit-overflow-scrolling: touch; 
            }
            
            .panel-tab { 
                white-space: nowrap; 
                min-width: auto; 
                padding: 10px 15px !important; 
                font-size: 13px !important; 
            }
            
            /* v7.35 PAOLO: Banderas mÃ³vil centradas SIN solapamiento */
            #language-switcher {
                position: relative !important;
                right: auto !important;
                top: auto !important;
                justify-content: center !important;
                margin: 10px 0 !important;
                width: 100% !important;
            }
            
            .panel-header h1 {
                text-align: center !important;
                width: 100% !important;
            }
            
            /* FIX PAOLO: Calendario COMPACTO - Eliminar espacio amarillo */
            .calendario-container { 
                overflow-x: hidden !important;
                -webkit-overflow-scrolling: touch;
                padding: 5px !important;
            }
            
            .calendario-grid { 
                grid-template-columns: repeat(7, 1fr) !important;
                gap: 2px !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
            }
            
            .calendario-dia {
                padding: 4px !important;
                min-height: 50px !important;
                font-size: 10px !important;
            }
            
            .calendario-dia-numero {
                font-size: 12px !important;
                margin-bottom: 2px !important;
            }
            
            .calendario-dia-horas {
                font-size: 9px !important;
            }
            
            .calendario-dia-nombre {
                font-size: 11px !important;
                padding: 5px 2px !important;
            }
            
            /* Calendario Modalidad */
            .cal-grid-semana { 
                grid-template-columns: repeat(2, 1fr) !important; 
            }
            
            .cal-nav { 
                flex-direction: column; 
                width: 100%; 
                gap: 10px;
            }
            
            .cal-nav button { 
                width: 100%; 
                padding: 12px; 
            }
            
            /* Perfil */
            .perfil-info-grid { 
                grid-template-columns: 1fr !important; 
            }
            
            .perfil-campo { 
                padding: 15px !important; 
            }
            
            .perfil-valor { 
                font-size: 14px !important; 
                word-break: break-word !important;
                overflow-wrap: break-word !important;
            }
            
            /* Email especÃ­fico */
            .perfil-email {
                word-break: break-all !important;
                font-size: 13px !important;
                line-height: 1.4 !important;
            }
            
            /* GestiÃ³n Fichajes */
            .fichajes-tabla { 
                font-size: 12px !important; 
            }
            
            .fichajes-tabla th,
            .fichajes-tabla td { 
                padding: 8px 5px !important; 
            }
            
            .btn-editar-fichaje,
            .btn-eliminar-fichaje,
            .btn-finalizar-fichaje { 
                padding: 6px 10px !important; 
                font-size: 11px !important; 
                display: block !important;
                width: 100% !important;
                margin: 5px 0 !important;
            }
        }
        
        @media (max-width: 480px) {
            /* MÃ³vil muy pequeÃ±o */
            .panel-tab-icon { 
                display: none; 
            }
            
            .gestion-fichajes-container { 
                padding: 15px 10px !important; 
            }
          .fichajes-filtros { 
                padding: 15px !important; 
            }
            
            .form-group input,
            .form-group select { 
                font-size: 14px !important; 
            }
            
            .cal-grid-semana { 
                grid-template-columns: 1fr !important; 
            }
            
            .welcome-card h2 { 
                font-size: 20px; 
            }
            
            .stat-number { 
                font-size: 32px; 
            }
        }

        @media (max-width: 768px) {
            .datos-laborales-tabla,
            .datos-laborales-tabla tbody,
            .datos-laborales-tabla tr,
            .datos-laborales-tabla th,
            .datos-laborales-tabla td {
                display: block;
                width: 100%;
                box-sizing: border-box;
            }
            .datos-laborales-tabla tr {
                margin-bottom: 8px;
                border-bottom: 2px solid #e2e8f0;
            }
            .datos-laborales-tabla th {
                border-radius: 4px 4px 0 0;
                padding: 8px 12px;
                font-size: 12px;
            }
            .datos-laborales-tabla td {
                padding: 8px 12px;
                background: white;
                border-bottom: none;
                font-size: 14px;
                word-break: break-word;
            }
        }
        </style>
        
        
        /* Ocultar admin bar cuando sesion expira */
body.login #wpadminbar,
body:not(.logged-in) #wpadminbar,
body.logged-in.admin-bar #wpadminbar {
    display: none !important;
}
body.login #backtoblog {
    display: none !important;
}
body.login {
    background: #5D55F0 !important;
}
html.wp-toolbar {
    padding-top: 0 !important;
}
/* ===== FIXES UI v2 ===== */

/* FIX: Nombre visible en panel RRHH header blanco */
.panel-header h1,
.panel-header h2,
.panel-header p,
.panel-header span:not(.cerrar-sesion) { 
    color: #1A1A2E !important; 
}
.panel-header .bienvenida,
.panel-header .panel-subtitulo { 
    color: #6B7280 !important; 
    font-size: 13px !important;
}

/* FIX: Nombre empleado más visible */
.panel-header .bienvenida strong,
.panel-header .bienvenida b { 
    font-size: 15px !important; 
    color: #1A1A2E !important;
}

/* FIX NUCLEAR: Todas las tabs no activas = blanco limpio sin excepción */
.panel-tab:not(.active) {
    background: white !important;
    color: #6B7280 !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
}
.panel-tab:not(.active):hover {
    background: #f1f5f9 !important;
    border-color: #c4b5fd !important;
    color: #5D55F0 !important;
    box-shadow: none !important;
}

/* FIX: Tab activa — panel normal */
.panel-tab.active { 
    border: 1.5px solid #5D55F0 !important; 
    color: #5D55F0 !important;
    background: white !important;
    box-shadow: none !important;
}

/* FIX: Tab activa dentro de la barra oscura — más específico para ganar al !important de arriba */
.panel-tabs-topbar .panel-tab.active {
    background: #5D55F0 !important;
    border-color: #5D55F0 !important;
    color: white !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 10px rgba(93,85,240,0.4) !important;
}
.panel-tabs-topbar .panel-tab:not(.active) {
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    color: rgba(255,255,255,0.65) !important;
    box-shadow: none !important;
}
.panel-tabs-topbar .panel-tab:not(.active):hover {
    background: rgba(255,255,255,0.14) !important;
    border-color: rgba(255,255,255,0.28) !important;
    color: white !important;
}

/* FIX: Badges BETA dentro de tabs */
.panel-tab .badge-beta,
.panel-tab [class*="beta"],
.panel-tab [class*="BETA"] {
    background: #f59e0b !important;
    color: white !important;
    font-size: 9px !important;
    padding: 2px 5px !important;
    border-radius: 4px !important;
    margin-left: 4px !important;
    display: inline-block !important;
}

/* ===== REDISEÑO GLOBAL SISTEMA — LAVANDA SUAVE ===== */

/* BIENVENIDA / WELCOME CARD — lavanda suave */
.welcome-card,
[class*="welcome"],
[class*="bienvenida-card"],
[class*="bienvenido"] {
    background: rgba(93,85,240,0.06) !important;
    border: 1px solid rgba(93,85,240,0.15) !important;
    color: #1A1A2E !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}
.welcome-card *,
[class*="welcome"] * {
    color: #1A1A2E !important;
}
.welcome-card h2,
.welcome-card h3 {
    color: #1A1A2E !important;
    font-size: 22px !important;
}
.welcome-card p,
.welcome-card span {
    color: #6B7280 !important;
}

/* GUÍA RÁPIDA — todos los bloques morados de onboarding */
[class*="guia-rapida"],
[class*="guia_rapida"],
[class*="quick-guide"],
[class*="onboarding"],
[class*="guide-banner"],
.guia-rapida,
div[style*="background: linear-gradient(135deg, #667eea"],
div[style*="background:linear-gradient(135deg, #667eea"],
div[style*="background: linear-gradient(135deg, #5D55F0"] {
    background: rgba(93,85,240,0.06) !important;
    border: 1px solid rgba(93,85,240,0.15) !important;
    color: #1A1A2E !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

/* Textos dentro de guías rápidas */
[class*="guia-rapida"] *,
[class*="quick-guide"] * {
    color: #1A1A2E !important;
}
[class*="guia-rapida"] h3,
[class*="guia-rapida"] h4,
[class*="quick-guide"] h3 {
    color: #5D55F0 !important;
    font-size: 14px !important;
}
[class*="guia-rapida"] p,
[class*="quick-guide"] p {
    color: #6B7280 !important;
    font-size: 13px !important;
}

/* Cards internas de los pasos dentro de guía rápida */
[class*="guia-rapida"] [class*="step"],
[class*="guia-rapida"] [class*="paso"],
[class*="guia-rapida"] > div > div,
[class*="quick-guide"] > div {
    background: white !important;
    border: 1px solid rgba(93,85,240,0.12) !important;
    border-radius: 8px !important;
    color: #1A1A2E !important;
}

/* STAT CARDS de reportes — lavanda suave */
.stat-card {
    background: rgba(93,85,240,0.06) !important;
    color: #1A1A2E !important;
    border: 1px solid rgba(93,85,240,0.15) !important;
    box-shadow: none !important;
}
.stat-card h4 {
    color: #5D55F0 !important;
    opacity: 1 !important;
}
.stat-card .stat-numero {
    color: #1A1A2E !important;
}
.stat-card .stat-descripcion {
    color: #6B7280 !important;
    opacity: 1 !important;
}

/* VACACIONES CARD en perfil */
[class*="vacaciones-info"],
[class*="vacaciones-card"],
[class*="vacation"],
[id*="vacaciones-info"] {
    background: rgba(93,85,240,0.06) !important;
    border: 1px solid rgba(93,85,240,0.15) !important;
    border-radius: 12px !important;
    color: #1A1A2E !important;
    box-shadow: none !important;
}
[class*="vacaciones-info"] *,
[class*="vacaciones-card"] * {
    color: #1A1A2E !important;
}
[class*="vacaciones-info"] h3,
[class*="vacaciones-card"] h3 {
    color: #5D55F0 !important;
}
/* Cards internas de vacaciones */
[class*="vacaciones"] .stat,
[class*="vacaciones"] [class*="card"],
[class*="vacaciones"] > div > div {
    background: white !important;
    border: 1px solid rgba(93,85,240,0.12) !important;
    border-radius: 8px !important;
}
[class*="vacaciones"] .stat p,
[class*="vacaciones"] [class*="numero"],
[class*="vacaciones"] [class*="count"] {
    color: #5D55F0 !important;
}

/* RESUMEN FICHAJE */
[class*="resumen-fichaje"],
[class*="fichaje-resumen"],
[id*="resumen-fichaje"],
[class*="fichaje-summary"] {
    background: rgba(93,85,240,0.06) !important;
    border: 1px solid rgba(93,85,240,0.15) !important;
    border-radius: 12px !important;
    color: #1A1A2E !important;
    box-shadow: none !important;
}
[class*="resumen-fichaje"] h3,
[class*="fichaje-resumen"] h3 {
    color: #1A1A2E !important;
}
[class*="resumen-fichaje"] > div,
[class*="fichaje-resumen"] > div {
    background: white !important;
    border: 1px solid rgba(93,85,240,0.12) !important;
    border-radius: 8px !important;
    color: #1A1A2E !important;
}

/* BACKUP / CONFIGURACIÓN bloques morados */
[class*="backup"],
[class*="sistema-profesional"],
[class*="turnos-rotativos-mega"],
[class*="auto-asignacion"],
[id*="backup"],
[id*="sistema-pro"] {
    background: rgba(93,85,240,0.06) !important;
    border: 1px solid rgba(93,85,240,0.15) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}
[class*="backup"] *,
[class*="sistema-profesional"] * {
    color: #1A1A2E !important;
}
[class*="backup"] h3,
[class*="backup"] h4 {
    color: #5D55F0 !important;
}
[class*="backup"] p {
    color: #6B7280 !important;
}
[class*="backup"] > div,
[class*="backup"] [class*="card"] {
    background: white !important;
    border: 1px solid rgba(93,85,240,0.12) !important;
    border-radius: 8px !important;
}

/* MENSAJERÍA — fix padding top para separar del bloque anterior */
[id="tab-mensajeria"] {
    padding-top: 20px !important;
    margin-top: 0 !important;
}
#tab-mensajeria .mensajeria-container {
    margin-top: 0 !important;
}
#tab-mensajeria h2 {
    margin-top: 16px !important;
    padding-top: 0 !important;
}

/* BOTONES principales — morado sólido sin gradiente */
.btn-guardar,
.btn-primary {
    background: #5D55F0 !important;
    border: none !important;
    box-shadow: none !important;
}
.btn-guardar:hover,
.btn-primary:hover {
    background: #4a43d4 !important;
    transform: none !important;
    box-shadow: 0 4px 12px rgba(93,85,240,0.25) !important;
}

/* OVERRIDE NUCLEAR — cualquier div con gradiente morado inline */
*[style*="linear-gradient(135deg, #667eea"],
*[style*="linear-gradient(135deg, #5D55F0"],
*[style*="background: #5D55F0; color: white; padding: 30"],
*[style*="background:#5D55F0;color:white;padding:30"] {
    background: rgba(93,85,240,0.06) !important;
    color: #1A1A2E !important;
    border: 1px solid rgba(93,85,240,0.15) !important;
    box-shadow: none !important;
}
*[style*="linear-gradient(135deg, #667eea"] *,
*[style*="linear-gradient(135deg, #5D55F0"] * {
    color: #1A1A2E !important;
}


/* ===== FIX V2 — Cards internas de pasos y vacaciones ===== */

/* FIX: Cards internas de Guía Rápida — quitar borde rojo, fondo sutil */
[class*="guia-rapida"] > div > div,
[class*="guia-rapida"] [class*="step"],
[class*="guia-rapida"] [class*="paso"],
[class*="guia-rapida"] div div {
    background: white !important;
    border: 1px solid rgba(93,85,240,0.10) !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
    box-shadow: none !important;
}

/* FIX NUCLEAR borde rojo — override inline border */
*[style*="border: 2px solid red"],
*[style*="border:2px solid red"],
*[style*="border-color: red"],
*[style*="outline: red"] {
    border: 1px solid rgba(93,85,240,0.10) !important;
}

/* FIX: Pasos dentro de guía — quitar cualquier borde de color fuerte */
.guia-rapida-step,
[class*="guia"] .step,
[class*="guia"] [class*="card"],
[class*="quick"] .step,
[class*="onboarding"] .step {
    border: 1px solid rgba(93,85,240,0.10) !important;
    background: white !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

/* FIX: Vacaciones card — más compacta y elegante */
[class*="vacaciones-info"],
[class*="vacaciones-card"],
[id*="vacaciones-info"],
[class*="vacation-info"] {
    padding: 20px 24px !important;
}

/* Cards 2x2 de vacaciones — más compactas */
[class*="vacaciones"] .stat-grid,
[class*="vacaciones"] [class*="grid"],
[class*="vacaciones"] > div > div {
    padding: 14px !important;
    border-radius: 8px !important;
    background: white !important;
    border: 1px solid rgba(93,85,240,0.10) !important;
    text-align: center !important;
    min-height: unset !important;
}

/* Números dentro de cards vacaciones */
[class*="vacaciones"] .stat-numero,
[class*="vacaciones"] [class*="numero"],
[class*="vacaciones"] [class*="count"],
[class*="vacaciones"] strong:first-child,
[class*="vacaciones"] .dias-numero {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #5D55F0 !important;
    display: block !important;
}

/* Labels bajo los números */
[class*="vacaciones"] .stat-label,
[class*="vacaciones"] [class*="label"],
[class*="vacaciones"] small,
[class*="vacaciones"] span:not([class]) {
    font-size: 12px !important;
    color: #6B7280 !important;
    display: block !important;
    margin-top: 4px !important;
}

/* Botón solicitar vacaciones */
[class*="vacaciones"] button,
[class*="vacaciones"] [class*="btn-solicitar"],
[class*="btn-solicitar-vacaciones"] {
    background: #5D55F0 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* Info importante en vacaciones */
[class*="vacaciones"] [class*="info"],
[class*="vacaciones"] [class*="importante"],
[class*="vacaciones"] blockquote,
[class*="vacaciones"] .alerta-info {
    background: white !important;
    border: 1px solid rgba(93,85,240,0.10) !important;
    border-left: 3px solid #5D55F0 !important;
    border-radius: 0 8px 8px 0 !important;
    color: #6B7280 !important;
    font-size: 13px !important;
    padding: 12px 16px !important;
}


/* ===== FIX GLOBAL: Cards internas sobre fondo lavanda — fondo blanco visible ===== */

/* Cualquier div con fondo semitransparente blanco dentro de contenedor lavanda */
div[style*="rgba(255,255,255,0.15)"],
div[style*="rgba(255,255,255, 0.15)"],
div[style*="rgba(255, 255, 255, 0.15)"],
div[style*="rgba(255,255,255,0.2)"],
div[style*="rgba(255,255,255, 0.2)"],
div[style*="rgba(255, 255, 255, 0.2)"],
div[style*="rgba(255,255,255,0.12)"],
div[style*="rgba(255,255,255,0.1)"] {
    background: white !important;
    border: 1px solid rgba(93,85,240,0.12) !important;
    box-shadow: 0 1px 4px rgba(93,85,240,0.06) !important;
}

/* Textos dentro de esas cards — asegurar que son oscuros */
div[style*="rgba(255,255,255,0.15)"] *,
div[style*="rgba(255,255,255, 0.15)"] *,
div[style*="rgba(255,255,255,0.2)"] *,
div[style*="rgba(255,255,255, 0.2)"] * {
    color: #1A1A2E !important;
    opacity: 1 !important;
}

/* Subtextos dentro — gris legible */
div[style*="rgba(255,255,255,0.15)"] div[style*="font-size: 13px"],
div[style*="rgba(255,255,255,0.15)"] div[style*="opacity"],
div[style*="rgba(255,255,255,0.2)"] div[style*="font-size: 13px"] {
    color: #6B7280 !important;
    opacity: 1 !important;
}

/* Títulos de pasos dentro de cards blancas */
div[style*="rgba(255,255,255,0.15)"] div[style*="font-weight: 700"],
div[style*="rgba(255,255,255,0.15)"] div[style*="font-weight:700"],
div[style*="rgba(255,255,255,0.2)"] div[style*="font-weight: 700"] {
    color: #1A1A2E !important;
}

/* ── Panel RRHH: barra de navegación con favoritos + dropdown ── */

.panel-tabs-wrapper {
    position: relative;
    margin-bottom: 20px;
    background: #1e1b4b;
    border-radius: 12px;
    padding: 14px 16px;
}

.panel-tabs-header {
    margin-bottom: 10px;
    padding: 0 2px;
}
.panel-tabs-header-title {
    font-size: 18px;
    font-weight: 700;
    color: white;
    line-height: 1.2;
}
.panel-tabs-header-sub {
    font-size: 11px;
    color: rgba(255,255,255,0.85);
    margin-top: 3px;
    font-weight: 400;
}

/* Fila superior con los 6 favoritos fijos */
.panel-tabs-topbar {
    display: flex;
    align-items: center;
    gap: 5px;
    background: #1e1b4b;
    border-radius: 0;
    padding: 0 0 14px 0;
    border: none;
}

/* Tabs se estiran para llenar el ancho */
.panel-tabs-topbar .panel-tab {
    flex: 1;
    justify-content: center;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.65);
    box-shadow: none;
}
.panel-tabs-topbar .panel-tab:hover {
    background: rgba(255,255,255,0.14);
    border-color: rgba(255,255,255,0.28);
    color: white;
}
.panel-tabs-topbar .panel-tab.active {
    background: #5D55F0;
    border-color: #5D55F0;
    color: white;
    font-weight: 600;
    box-shadow: 0 2px 10px rgba(93,85,240,0.4);
}

/* Separador vertical */
.panel-tabs-vsep {
    width: 1px;
    height: 20px;
    background: rgba(255,255,255,0.15);
    flex-shrink: 0;
    margin: 0 2px;
}

/* Botón "Todos los módulos" */
.panel-tabs-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    background: white;
    border-radius: 8px;
    cursor: pointer;
    color: #1e1b4b;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 14px;
    white-space: nowrap;
    transition: all 0.15s;
    font-family: inherit;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.panel-tabs-more:hover { background: #f1f0fe; color: #5D55F0; }
.panel-tabs-more-arrow { transition: transform 0.3s; display: inline-block; font-size: 14px; opacity: 1; font-weight: 700; }
.panel-tabs-more.open .panel-tabs-more-arrow { transform: rotate(180deg); }

/* Dropdown */
.panel-tabs-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0; right: 0;
    background: white;
    border: 1px solid #ede9fe;
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 12px 40px rgba(93,85,240,0.12);
    z-index: 100;
    animation: ptddFadeIn 0.15s ease;
}
@keyframes ptddFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}
.panel-tabs-dropdown.open { display: block; }

/* 3 columnas dentro del dropdown */
.panel-tabs-dropdown-cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.panel-tabs-col {
    padding: 0 16px;
    border-right: 1px solid #f3f4f6;
}
.panel-tabs-col:first-child { padding-left: 0; }
.panel-tabs-col:last-child  { padding-right: 0; border-right: none; }

.panel-tabs-col-label {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9CA3AF;
    display: block;
    padding-bottom: 6px;
    margin-bottom: 4px;
    border-bottom: 1px solid #f3f4f6;
}

.panel-tabs-col-items {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

/* Items dentro del dropdown */
.panel-tab-dd {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 12px;
    color: #4B5563;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    font-family: inherit;
    transition: all 0.15s;
}
.panel-tab-dd:hover { background: #faf9ff; color: #5D55F0; }
.panel-tab-dd.active { background: #faf9ff; color: #5D55F0; font-weight: 600; }

/* Responsive móvil */
@media (max-width: 768px) {
    .panel-tabs-topbar { flex-wrap: wrap; gap: 4px; }
    .panel-tabs-vsep { display: none; }
    .panel-tabs-more { margin-left: 0; }
    .panel-tabs-dropdown-cols { grid-template-columns: 1fr; }
    .panel-tabs-col { padding: 0; border-right: none; border-bottom: 1px solid #f3f4f6; padding-bottom: 10px; margin-bottom: 10px; }
    .panel-tabs-col:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
}