wave-ai/frontend/.angular/cache/18.2.21/babel-webpack/5243557d3980cc802fd2b09711ef9f33f9a4d5091aa177c70f25d5ec3a31dc89.json

1 line
131 KiB
JSON

{"ast":null,"code":"import { signal, computed, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nconst _forTrack0 = ($index, $item) => $item.id;\nfunction DashboardComponent_Conditional_62_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 24)(1, \"div\", 26);\n i0.ɵɵelement(2, \"div\", 27)(3, \"div\", 28);\n i0.ɵɵelementStart(4, \"span\", 29);\n i0.ɵɵtext(5, \"PORTAL DE CONSORCIO\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"h2\", 30);\n i0.ɵɵtext(7, \" Consorcio Corporativo \");\n i0.ɵɵelementStart(8, \"span\", 31);\n i0.ɵɵtext(9, \"Kinetix\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(10, \"p\", 32);\n i0.ɵɵtext(11, \" Plataforma unificada de administraci\\u00F3n y autogesti\\u00F3n de recursos del consorcio. Control de identidades centralizado y monitoreo de m\\u00F3dulos integrados en tiempo real. \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(12, \"div\", 33)(13, \"button\", 34);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Conditional_62_Template_button_click_13_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.setActiveTab(\"directory\"));\n });\n i0.ɵɵtext(14, \" Directorio Consorcio \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"button\", 35);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Conditional_62_Template_button_click_15_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.setActiveTab(\"spaces\"));\n });\n i0.ɵɵtext(16, \" Reserva de Salas \");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(17, \"div\", 36)(18, \"div\", 37)(19, \"span\", 38);\n i0.ɵɵtext(20, \"Sedes Integradas\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(21, \"div\", 39);\n i0.ɵɵtext(22, \"3 Sedes\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(23, \"span\", 40);\n i0.ɵɵtext(24, \"London, Tokyo, NY\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(25, \"div\", 41)(26, \"span\", 38);\n i0.ɵɵtext(27, \"Directorio Activo\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(28, \"div\", 39);\n i0.ɵɵtext(29, \"1,450+\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(30, \"span\", 42);\n i0.ɵɵtext(31, \"Usuarios Sincronizados\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(32, \"div\", 43)(33, \"span\", 38);\n i0.ɵɵtext(34, \"Salas Disponibles\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(35, \"div\", 39);\n i0.ɵɵtext(36, \"18 Salas\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(37, \"span\", 44);\n i0.ɵɵtext(38, \"Sistemas IoT Activos\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(39, \"div\", 45)(40, \"span\", 38);\n i0.ɵɵtext(41, \"Flujos de Trabajo\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(42, \"div\", 39);\n i0.ɵɵtext(43, \"12 Activos\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(44, \"span\", 46);\n i0.ɵɵtext(45, \"Reglas AD Operativas\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(46, \"div\", 47)(47, \"h3\", 48);\n i0.ɵɵtext(48, \"M\\u00F3dulos de Nueva Generaci\\u00F3n\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(49, \"div\", 49)(50, \"div\", 50)(51, \"div\", 51);\n i0.ɵɵtext(52, \"\\uD83D\\uDCDA\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(53, \"h4\", 52);\n i0.ɵɵtext(54, \"Bloque de Info\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(55, \"p\", 53);\n i0.ɵɵtext(56, \" Gesti\\u00F3n de contenidos corporativos con arquitectura robusta de microservicios y publicaci\\u00F3n de art\\u00EDculos en tiempo r\\u00E9cord. \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(57, \"div\", 54)(58, \"div\", 55);\n i0.ɵɵtext(59, \"\\uD83D\\uDC64\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(60, \"h4\", 52);\n i0.ɵɵtext(61, \"Directorios AD\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(62, \"p\", 53);\n i0.ɵɵtext(63, \" Sincronizaci\\u00F3n nativa instant\\u00E1nea con Active Directory y perfiles din\\u00E1micos inteligentes para el equipo de desarrollo. \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(64, \"div\", 56)(65, \"div\", 57);\n i0.ɵɵtext(66, \"\\uD83D\\uDCC5\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(67, \"h4\", 52);\n i0.ɵɵtext(68, \"Autogesti\\u00F3n\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(69, \"p\", 53);\n i0.ɵɵtext(70, \" Reserva fluida de salas de conferencias, oficinas temporales e incidencias con disponibilidad y alertas en tiempo real. \");\n i0.ɵɵelementEnd()()()()();\n }\n}\nfunction DashboardComponent_Conditional_63_For_36_For_20_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 88);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tag_r5 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", tag_r5, \" \");\n }\n}\nfunction DashboardComponent_Conditional_63_For_36_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 75)(1, \"div\", 76)(2, \"span\", 77);\n i0.ɵɵtext(3);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"div\", 78)(5, \"div\", 79)(6, \"div\", 80)(7, \"div\", 81);\n i0.ɵɵtext(8);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(9, \"div\", 82)(10, \"span\", 83);\n i0.ɵɵtext(11, \"\\u2605\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(12, \"span\", 84);\n i0.ɵɵtext(13);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(14, \"h4\", 85);\n i0.ɵɵtext(15);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(16, \"span\", 86);\n i0.ɵɵtext(17);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(18, \"div\", 87);\n i0.ɵɵrepeaterCreate(19, DashboardComponent_Conditional_63_For_36_For_20_Template, 2, 1, \"span\", 88, i0.ɵɵrepeaterTrackByIdentity);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(21, \"hr\", 89);\n i0.ɵɵelementStart(22, \"div\", 90)(23, \"div\", 91)(24, \"div\", 92);\n i0.ɵɵtext(25, \"Clientes\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(26, \"div\", 93);\n i0.ɵɵtext(27);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(28, \"div\", 91)(29, \"div\", 92);\n i0.ɵɵtext(30, \"Tarifa/Hora\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(31, \"div\", 93);\n i0.ɵɵtext(32);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(33, \"button\", 94);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Conditional_63_For_36_Template_button_click_33_listener() {\n const emp_r6 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.contactEmployee(emp_r6.name));\n });\n i0.ɵɵtext(34, \" Get In Touch \");\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const emp_r6 = ctx.$implicit;\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate1(\" ID: AD-\", emp_r6.id * 123, \" \");\n i0.ɵɵadvance(5);\n i0.ɵɵtextInterpolate1(\" \", emp_r6.avatar, \" \");\n i0.ɵɵadvance(5);\n i0.ɵɵtextInterpolate(emp_r6.rating);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(emp_r6.name);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(emp_r6.role);\n i0.ɵɵadvance(2);\n i0.ɵɵrepeater(emp_r6.tags);\n i0.ɵɵadvance(8);\n i0.ɵɵtextInterpolate(emp_r6.clients);\n i0.ɵɵadvance(5);\n i0.ɵɵtextInterpolate1(\"$\", emp_r6.rate, \"/hr\");\n }\n}\nfunction DashboardComponent_Conditional_63_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 25)(1, \"h2\", 58);\n i0.ɵɵtext(2, \"Interfaz Directory Modern\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"div\", 59)(4, \"div\", 60)(5, \"h3\", 61);\n i0.ɵɵtext(6, \"B\\u00FAsqueda & Filtrado\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(7, \"p\", 62);\n i0.ɵɵtext(8, \"Uso de bordes suaves y ergon\\u00F3micos para optimizar la visualizaci\\u00F3n de datos.\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(9, \"div\", 47)(10, \"div\", 63)(11, \"label\", 38);\n i0.ɵɵtext(12, \"Buscar Empleado\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(13, \"input\", 64);\n i0.ɵɵlistener(\"input\", function DashboardComponent_Conditional_63_Template_input_input_13_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateSearch($event));\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(14, \"div\", 63)(15, \"label\", 38);\n i0.ɵɵtext(16, \"Departamento\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(17, \"select\", 65);\n i0.ɵɵlistener(\"change\", function DashboardComponent_Conditional_63_Template_select_change_17_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateDept($event));\n });\n i0.ɵɵelementStart(18, \"option\", 66);\n i0.ɵɵtext(19, \"Todos los Departamentos\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(20, \"option\", 67);\n i0.ɵɵtext(21, \"IT & Desarrollo\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(22, \"option\", 68);\n i0.ɵɵtext(23, \"Dise\\u00F1o y UI/UX\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(24, \"option\", 69);\n i0.ɵɵtext(25, \"Mantenimiento\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(26, \"button\", 70);\n i0.ɵɵtext(27, \" APLICAR FILTROS \");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(28, \"div\", 71)(29, \"div\", 72)(30, \"span\");\n i0.ɵɵtext(31);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(32, \"span\", 73);\n i0.ɵɵtext(33, \"Sincronizado con Active Directory\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(34, \"div\", 74);\n i0.ɵɵrepeaterCreate(35, DashboardComponent_Conditional_63_For_36_Template, 35, 7, \"div\", 75, _forTrack0);\n i0.ɵɵelementEnd()()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(31);\n i0.ɵɵtextInterpolate1(\"Mostrando \", ctx_r1.filteredEmployees().length, \" empleados registrados\");\n i0.ɵɵadvance(4);\n i0.ɵɵrepeater(ctx_r1.filteredEmployees());\n }\n}\nfunction DashboardComponent_Conditional_64_Conditional_40_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 106);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.simulationStatus());\n }\n}\nfunction DashboardComponent_Conditional_64_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 25)(1, \"h2\", 58);\n i0.ɵɵtext(2, \"Workflow de Aprobaci\\u00F3n\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"div\", 95)(4, \"div\", 96)(5, \"div\", 47)(6, \"span\", 97);\n i0.ɵɵtext(7, \"CICLO COMPLETO DE VIDA\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"h3\", 98);\n i0.ɵɵtext(9, \"Validaci\\u00F3n y Publicaci\\u00F3n Automatizada\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(10, \"p\", 53);\n i0.ɵɵtext(11, \" Las propuestas de contenidos y flujos pasan por un motor estructurado que valida y publica autom\\u00E1ticamente en canales institucionales y redes corporativas. \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(12, \"div\", 99)(13, \"div\", 100)(14, \"span\", 101);\n i0.ɵɵtext(15, \"\\u2713\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(16, \"div\")(17, \"strong\", 102);\n i0.ɵɵtext(18, \"Creaci\\u00F3n\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(19, \"span\", 103);\n i0.ɵɵtext(20, \"Captura de datos optimizada a trav\\u00E9s de formularios reactivos del lado del cliente.\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(21, \"div\", 100)(22, \"span\", 101);\n i0.ɵɵtext(23, \"\\u2713\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(24, \"div\")(25, \"strong\", 102);\n i0.ɵɵtext(26, \"Validaci\\u00F3n\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(27, \"span\", 103);\n i0.ɵɵtext(28, \"Motor de reglas multinivel integrado con SSO y Active Directory para jerarqu\\u00EDas de aprobaci\\u00F3n.\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(29, \"div\", 100)(30, \"span\", 101);\n i0.ɵɵtext(31, \"\\u2713\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(32, \"div\")(33, \"strong\", 102);\n i0.ɵɵtext(34, \"Social\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(35, \"span\", 103);\n i0.ɵɵtext(36, \"Posteo automatizado e inmediato en las redes de comunicaci\\u00F3n interna de Kinetix.\");\n i0.ɵɵelementEnd()()()()();\n i0.ɵɵelementStart(37, \"div\", 104)(38, \"button\", 105);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Conditional_64_Template_button_click_38_listener() {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.runSimulation());\n });\n i0.ɵɵtext(39, \" SIMULAR MOTOR DE REGLAS \");\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(40, DashboardComponent_Conditional_64_Conditional_40_Template, 2, 1, \"span\", 106);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(41, \"div\", 107);\n i0.ɵɵelement(42, \"div\", 108);\n i0.ɵɵelementStart(43, \"div\", 109);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(44, \"svg\", 110);\n i0.ɵɵelement(45, \"circle\", 111)(46, \"circle\", 112);\n i0.ɵɵelementStart(47, \"g\", 113);\n i0.ɵɵelement(48, \"rect\", 114)(49, \"rect\", 115);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(50, \"text\", 116);\n i0.ɵɵtext(51, \"AD ENGINE\");\n i0.ɵɵelementEnd()();\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(52, \"div\", 117);\n i0.ɵɵtext(53, \" STATUS: LISTENING ON PORT 3000 \");\n i0.ɵɵelementEnd()()()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(40);\n i0.ɵɵconditional(ctx_r1.simulationStatus() ? 40 : -1);\n }\n}\nfunction DashboardComponent_Conditional_65_Conditional_55_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 135);\n i0.ɵɵtext(1, \" \\u00A1Reserva confirmada con \\u00E9xito! Se ha notificado a tu correo y calendario de Active Directory. \");\n i0.ɵɵelementEnd();\n }\n}\nfunction DashboardComponent_Conditional_65_Template(rf, ctx) {\n if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 25)(1, \"h2\", 58);\n i0.ɵɵtext(2, \"Gesti\\u00F3n de Espacios & Incidencias\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"div\", 95)(4, \"div\", 118)(5, \"div\", 119);\n i0.ɵɵelement(6, \"div\", 120)(7, \"div\", 121);\n i0.ɵɵelementStart(8, \"span\", 122);\n i0.ɵɵtext(9, \" SALA DE CONFERENCIAS VIP \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(10, \"div\", 123)(11, \"h3\", 52);\n i0.ɵɵtext(12, \"Sala London Hall \\u2014 Piso 4\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(13, \"p\", 53);\n i0.ɵɵtext(14, \" Equipada con pantalla interactiva 4K de 85 pulgadas, sistema de audio envolvente Jabra, conectividad inal\\u00E1mbrica y capacidad para 12 personas. \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"div\", 124)(16, \"span\");\n i0.ɵɵtext(17, \"\\uD83D\\uDC65 Capacidad: 12 pers.\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(18, \"span\");\n i0.ɵɵtext(19, \"\\uD83D\\uDCF6 Wi-Fi 6 Giga\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(20, \"span\");\n i0.ɵɵtext(21, \"\\uD83C\\uDF21\\uFE0F Termostato IoT\");\n i0.ɵɵelementEnd()()()();\n i0.ɵɵelementStart(22, \"div\", 125)(23, \"div\", 47)(24, \"span\", 126);\n i0.ɵɵtext(25, \"AUTOGESTI\\u00D3N DE ALQUILER\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(26, \"h3\", 98);\n i0.ɵɵtext(27, \"Reserva Directa de Espacios\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(28, \"p\", 127);\n i0.ɵɵtext(29, \"Reserva de salas de conferencias, oficinas temporales y puestos de trabajo con confirmaci\\u00F3n instant\\u00E1nea.\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(30, \"div\", 128)(31, \"div\", 129)(32, \"div\", 63)(33, \"label\", 38);\n i0.ɵɵtext(34, \"Fecha\");\n i0.ɵɵelementEnd();\n i0.ɵɵelement(35, \"input\", 130);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(36, \"div\", 63)(37, \"label\", 38);\n i0.ɵɵtext(38, \"Hora\");\n i0.ɵɵelementEnd();\n i0.ɵɵelement(39, \"input\", 131);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(40, \"div\", 63)(41, \"label\", 38);\n i0.ɵɵtext(42, \"Seleccionar Sala\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(43, \"select\", 132)(44, \"option\");\n i0.ɵɵtext(45, \"Sala London Hall (Piso 4)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(46, \"option\");\n i0.ɵɵtext(47, \"Sala Tokyo Lab (Piso 2)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(48, \"option\");\n i0.ɵɵtext(49, \"Oficina Flexible 15B (Piso 1)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(50, \"option\");\n i0.ɵɵtext(51, \"Sala New York Boardroom (Piso 5)\");\n i0.ɵɵelementEnd()()()()();\n i0.ɵɵelementStart(52, \"div\", 133)(53, \"button\", 134);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Conditional_65_Template_button_click_53_listener() {\n i0.ɵɵrestoreView(_r8);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.bookSpace());\n });\n i0.ɵɵtext(54, \" RESERVAR ESPACIO \");\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(55, DashboardComponent_Conditional_65_Conditional_55_Template, 2, 0, \"div\", 135);\n i0.ɵɵelementEnd()()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(55);\n i0.ɵɵconditional(ctx_r1.bookingSuccess() ? 55 : -1);\n }\n}\nfunction DashboardComponent_Conditional_66_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 25)(1, \"h2\", 58);\n i0.ɵɵtext(2, \"Proyecci\\u00F3n de Adopci\\u00F3n & KPIs\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"div\", 136)(4, \"div\", 137)(5, \"div\", 17)(6, \"h3\", 61);\n i0.ɵɵtext(7, \"Proyecci\\u00F3n de Adopci\\u00F3n Kinetix\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(8, \"span\", 138);\n i0.ɵɵtext(9, \"ROI +85%\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(10, \"p\", 103);\n i0.ɵɵtext(11, \"Crecimiento exponencial de interacciones tras la implementaci\\u00F3n del dise\\u00F1o UI/UX renovado.\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(12, \"div\", 139);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(13, \"svg\", 140)(14, \"defs\")(15, \"linearGradient\", 141);\n i0.ɵɵelement(16, \"stop\", 142)(17, \"stop\", 143);\n i0.ɵɵelementEnd()();\n i0.ɵɵelement(18, \"line\", 144)(19, \"line\", 145)(20, \"line\", 146)(21, \"path\", 147)(22, \"path\", 148)(23, \"circle\", 149)(24, \"circle\", 150)(25, \"circle\", 151);\n i0.ɵɵelementStart(26, \"text\", 152);\n i0.ɵɵtext(27, \"Q1 2026\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(28, \"text\", 153);\n i0.ɵɵtext(29, \"Despliegue\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(30, \"text\", 154);\n i0.ɵɵtext(31, \"ROI +85%\");\n i0.ɵɵelementEnd()()()();\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(32, \"div\", 155)(33, \"div\", 156)(34, \"h3\", 61);\n i0.ɵɵtext(35, \"Indicadores Clave (KPIs)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(36, \"div\", 157);\n i0.ɵɵtext(37, \"0.4s\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(38, \"div\", 158);\n i0.ɵɵtext(39, \"Tiempo de Carga Promedio\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(40, \"div\", 159)(41, \"div\", 160)(42, \"span\", 73);\n i0.ɵɵtext(43, \"\\u26A1\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(44, \" Renderizado del lado del cliente altamente eficiente. \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(45, \"div\", 160)(46, \"span\", 73);\n i0.ɵɵtext(47, \"\\u26A1\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(48, \" Compresi\\u00F3n automatizada de activos de imagen. \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(49, \"div\", 160)(50, \"span\", 73);\n i0.ɵɵtext(51, \"\\u26A1\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(52, \" Memoria cach\\u00E9 distribuida para directorios AD. \");\n i0.ɵɵelementEnd()()()();\n i0.ɵɵelementStart(53, \"div\", 161)(54, \"h3\", 61);\n i0.ɵɵtext(55, \"Eficiencia en Resoluci\\u00F3n de Incidencias\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(56, \"p\", 103);\n i0.ɵɵtext(57, \"Reducci\\u00F3n dr\\u00E1stica del tiempo de respuesta mediante el m\\u00F3dulo de ticketing inteligente de Kinetix.\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(58, \"div\", 128)(59, \"div\", 162)(60, \"span\", 163);\n i0.ɵɵtext(61, \"Kinetix V2 (Actual)\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(62, \"div\", 164);\n i0.ɵɵelement(63, \"div\", 165);\n i0.ɵɵelementStart(64, \"span\", 166);\n i0.ɵɵtext(65, \"12 min\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(66, \"div\", 162)(67, \"span\", 167);\n i0.ɵɵtext(68, \"Promedio Industria\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(69, \"div\", 164);\n i0.ɵɵelement(70, \"div\", 168);\n i0.ɵɵelementStart(71, \"span\", 169);\n i0.ɵɵtext(72, \"25 min\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(73, \"div\", 162)(74, \"span\", 167);\n i0.ɵɵtext(75, \"Sistema Anterior\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(76, \"div\", 164);\n i0.ɵɵelement(77, \"div\", 170);\n i0.ɵɵelementStart(78, \"span\", 171);\n i0.ɵɵtext(79, \"45 min\");\n i0.ɵɵelementEnd()()()()()();\n }\n}\nfunction DashboardComponent_Conditional_67_Conditional_52_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 192);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.approvalSuccess(), \" \");\n }\n}\nfunction DashboardComponent_Conditional_67_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 25)(1, \"h2\", 58);\n i0.ɵɵtext(2, \"Visi\\u00F3n de Administrador\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"div\", 136)(4, \"div\", 172)(5, \"h3\", 173);\n i0.ɵɵtext(6, \"Control Total\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(7, \"div\", 174);\n i0.ɵɵelement(8, \"div\", 175)(9, \"div\", 176);\n i0.ɵɵelementStart(10, \"div\", 177)(11, \"span\", 39);\n i0.ɵɵtext(12, \"94%\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(13, \"span\", 178);\n i0.ɵɵtext(14, \"ESTABILIDAD\");\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(15, \"span\", 179);\n i0.ɵɵtext(16, \"Monitoreo activo de solicitudes y API gateways de NestJS.\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(17, \"div\", 180)(18, \"div\", 181)(19, \"h3\", 182);\n i0.ɵɵtext(20, \"Alertas Cr\\u00EDticas\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(21, \"div\", 156)(22, \"div\", 183)(23, \"span\");\n i0.ɵɵtext(24, \"\\uD83D\\uDD27 Mantenimiento de servidor de base de datos PostgreSQL\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(25, \"strong\", 184);\n i0.ɵɵtext(26, \"PENDIENTE\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(27, \"div\", 185)(28, \"span\");\n i0.ɵɵtext(29, \"\\uD83D\\uDD12 Expiraci\\u00F3n de secretos de Azure AD Client credentials\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(30, \"strong\", 18);\n i0.ɵɵtext(31, \"En 12 d\\u00EDas\");\n i0.ɵɵelementEnd()()()();\n i0.ɵɵelementStart(32, \"div\", 186)(33, \"h3\", 187);\n i0.ɵɵtext(34, \"Aprobaciones de Contenido\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(35, \"div\", 156)(36, \"div\", 188)(37, \"div\", 189)(38, \"span\", 84);\n i0.ɵɵtext(39, \"Lanzamiento Kinetix V2 Intranet\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(40, \"span\", 190);\n i0.ɵɵtext(41, \"Autor: Director de Tecnolog\\u00EDa (SSO AD)\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(42, \"button\", 191);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Conditional_67_Template_button_click_42_listener() {\n i0.ɵɵrestoreView(_r9);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.approveItem(\"Lanzamiento Kinetix V2\"));\n });\n i0.ɵɵtext(43, \" Aprobar y Postear \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(44, \"div\", 188)(45, \"div\", 189)(46, \"span\", 84);\n i0.ɵɵtext(47, \"Manual del Desarrollador Backend NestJS\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(48, \"span\", 190);\n i0.ɵɵtext(49, \"Autor: Arquitecto Principal\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(50, \"button\", 191);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Conditional_67_Template_button_click_50_listener() {\n i0.ɵɵrestoreView(_r9);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.approveItem(\"Manual del Desarrollador\"));\n });\n i0.ɵɵtext(51, \" Aprobar y Postear \");\n i0.ɵɵelementEnd()()();\n i0.ɵɵtemplate(52, DashboardComponent_Conditional_67_Conditional_52_Template, 2, 1, \"div\", 192);\n i0.ɵɵelementEnd()()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(52);\n i0.ɵɵconditional(ctx_r1.approvalSuccess() ? 52 : -1);\n }\n}\nexport let DashboardComponent = /*#__PURE__*/(() => {\n class DashboardComponent {\n constructor() {\n this.router = inject(Router);\n // Navigation active tab signal\n this.activeTab = signal('inicio');\n // Directory filter signals\n this.searchQuery = signal('');\n this.selectedDept = signal('ALL');\n // Booking & Simulation mock state signals\n this.bookingSuccess = signal(false);\n this.simulationStatus = signal('');\n this.approvalSuccess = signal('');\n // Sincronized Active Directory Active Profile signal\n this.currentUser = signal({\n name: 'Invitado',\n email: 'guest@kinetix.com',\n role: 'Employee',\n avatar: 'G'\n });\n // Active Directory mock database of employees exactly styled as Slide 4\n this.employees = signal([{\n id: 1,\n name: 'John Morton',\n role: 'UI/UX Designer',\n rating: 4.9,\n clients: 50,\n rate: 65,\n avatar: 'JM',\n tags: ['App Design', 'Web Design', 'Figma', 'Active Directory']\n }, {\n id: 2,\n name: 'Sarah Jenkins',\n role: 'Backend NestJS Architect',\n rating: 4.8,\n clients: 42,\n rate: 75,\n avatar: 'SJ',\n tags: ['NestJS', 'PostgreSQL', 'JWT', 'Active Directory']\n }, {\n id: 3,\n name: 'Alex Rivera',\n role: 'Senior Angular Developer',\n rating: 4.9,\n clients: 68,\n rate: 70,\n avatar: 'AR',\n tags: ['Angular 17', 'Signals', 'RxJS', 'TypeScript']\n }, {\n id: 4,\n name: 'David Chen',\n role: 'Infrastructure Security Engineer',\n rating: 4.7,\n clients: 25,\n rate: 80,\n avatar: 'DC',\n tags: ['Azure Entra ID', 'SSO', 'Docker', 'PostgreSQL']\n }]);\n // Computed signal to filter employee list reactively\n this.filteredEmployees = computed(() => {\n const query = this.searchQuery().toLowerCase();\n const dept = this.selectedDept();\n return this.employees().filter(emp => {\n // Basic text search filter\n const matchesSearch = emp.name.toLowerCase().includes(query) || emp.role.toLowerCase().includes(query) || emp.tags.some(t => t.toLowerCase().includes(query));\n // Basic department match\n let matchesDept = true;\n if (dept !== 'ALL') {\n if (dept === 'IT') {\n matchesDept = emp.role.includes('Backend') || emp.role.includes('Angular') || emp.role.includes('Infrastructure');\n } else if (dept === 'Diseño') {\n matchesDept = emp.role.includes('Designer') || emp.role.includes('UX');\n } else if (dept === 'Mantenimiento') {\n matchesDept = emp.role.includes('Security');\n }\n }\n return matchesSearch && matchesDept;\n });\n });\n }\n ngOnInit() {\n // Load Active Directory profile from local storage\n const userStr = localStorage.getItem('kinetix_user');\n if (userStr) {\n try {\n const user = JSON.parse(userStr);\n this.currentUser.set(user);\n } catch (e) {\n console.error('Error parsing user profile from local storage', e);\n }\n }\n }\n setActiveTab(tab) {\n this.activeTab.set(tab);\n // Reset secondary flags\n this.bookingSuccess.set(false);\n this.simulationStatus.set('');\n this.approvalSuccess.set('');\n }\n updateSearch(event) {\n const value = event.target.value;\n this.searchQuery.set(value);\n }\n updateDept(event) {\n const value = event.target.value;\n this.selectedDept.set(value);\n }\n contactEmployee(name) {\n alert(`Iniciando canal seguro encriptado de comunicación con ${name} vía Microsoft Teams (SSO Active Directory)...`);\n }\n runSimulation() {\n this.simulationStatus.set('Procesando reglas...');\n setTimeout(() => {\n this.simulationStatus.set('Creación capturada ✓');\n setTimeout(() => {\n this.simulationStatus.set('Reglas AD aprobadas ✓');\n setTimeout(() => {\n this.simulationStatus.set('Posteo social programado ✓');\n }, 1000);\n }, 1000);\n }, 1000);\n }\n bookSpace() {\n this.bookingSuccess.set(true);\n }\n approveItem(title) {\n this.approvalSuccess.set(`Publicación \"${title}\" aprobada y publicada en redes corporativas con éxito.`);\n setTimeout(() => {\n this.approvalSuccess.set('');\n }, 4000);\n }\n logout() {\n localStorage.removeItem('kinetix_token');\n localStorage.removeItem('kinetix_user');\n this.router.navigate(['/login']);\n }\n static {\n this.ɵfac = function DashboardComponent_Factory(t) {\n return new (t || DashboardComponent)();\n };\n }\n static {\n this.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: DashboardComponent,\n selectors: [[\"app-dashboard\"]],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n decls: 68,\n vars: 34,\n consts: [[1, \"flex\", \"flex-col\", \"lg:flex-row\", \"gap-6\", \"p-2\", \"lg:p-6\", \"min-h-[80vh]\"], [1, \"w-full\", \"lg:w-64\", \"flex\", \"flex-col\", \"gap-3\"], [1, \"glass-panel\", \"p-4\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-3\", \"relative\", \"border-cyan-500/20\", \"bg-slate-950/45\"], [1, \"absolute\", \"-right-2\", \"-top-2\", \"w-8\", \"h-8\", \"bg-cyan-500/10\", \"rounded-full\", \"blur-md\"], [1, \"flex\", \"items-center\", \"gap-3\"], [1, \"w-12\", \"h-12\", \"rounded-xl\", \"bg-gradient-to-tr\", \"from-cyan-400\", \"to-indigo-500\", \"p-0.5\", \"shadow-md\"], [1, \"w-full\", \"h-full\", \"bg-[#0a0a0c]\", \"rounded-[10px]\", \"flex\", \"items-center\", \"justify-center\", \"font-black\", \"text-sm\", \"text-cyan-400\"], [1, \"flex\", \"flex-col\", \"min-w-0\"], [1, \"text-sm\", \"font-extrabold\", \"text-white\", \"truncate\"], [1, \"text-[10px]\", \"text-neon-cyan\", \"font-bold\", \"tracking-wide\", \"uppercase\", \"truncate\"], [1, \"text-[9px]\", \"text-white/40\", \"font-mono\", \"truncate\", \"border-t\", \"border-white/5\", \"pt-2\", \"mt-1\"], [1, \"w-full\", \"py-1.5\", \"rounded-xl\", \"border\", \"border-white/10\", \"hover:border-magenta-500/30\", \"hover:bg-magenta-950/20\", \"text-white/60\", \"hover:text-magenta-400\", \"font-extrabold\", \"text-[10px]\", \"uppercase\", \"tracking-wider\", \"transition-all\", \"mt-1\", 3, \"click\"], [1, \"glass-panel\", \"p-4\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-2\"], [1, \"text-xs\", \"font-bold\", \"text-white/40\", \"uppercase\", \"tracking-widest\", \"px-3\", \"mb-2\"], [1, \"flex\", \"items-center\", \"gap-3\", \"px-3\", \"py-2.5\", \"rounded-lg\", \"text-left\", \"text-sm\", \"font-semibold\", \"transition-all\", \"hover:bg-white/5\", \"text-slate-300\", \"hover:text-white\", 3, \"click\"], [1, \"text-lg\"], [1, \"glass-panel\", \"p-4\", \"rounded-2xl\", \"text-xs\", \"flex\", \"flex-col\", \"gap-2\"], [1, \"flex\", \"justify-between\", \"items-center\"], [1, \"text-white/50\"], [1, \"text-emerald-400\", \"font-bold\", \"flex\", \"items-center\", \"gap-1.5\"], [1, \"w-2\", \"h-2\", \"rounded-full\", \"bg-emerald-400\", \"animate-pulse\"], [1, \"text-cyan-400\", \"font-bold\"], [1, \"text-slate-300\", \"font-mono\"], [1, \"flex-grow\", \"flex\", \"flex-col\", \"gap-6\"], [1, \"flex\", \"flex-col\", \"gap-8\", \"animate-fadeIn\"], [1, \"flex\", \"flex-col\", \"gap-6\", \"animate-fadeIn\"], [1, \"glass-panel\", \"p-8\", \"rounded-3xl\", \"relative\", \"overflow-hidden\", \"flex\", \"flex-col\", \"gap-4\", \"bg-gradient-to-br\", \"from-[#0c0f1d]\", \"to-[#080a12]\", \"border-white/5\"], [1, \"absolute\", \"-right-20\", \"-top-20\", \"w-64\", \"h-64\", \"bg-cyan-500/10\", \"rounded-full\", \"blur-[100px]\"], [1, \"absolute\", \"-left-20\", \"-bottom-20\", \"w-64\", \"h-64\", \"bg-magenta-500/10\", \"rounded-full\", \"blur-[100px]\"], [1, \"text-neon-cyan\", \"text-xs\", \"font-bold\", \"uppercase\", \"tracking-widest\"], [1, \"text-4xl\", \"lg:text-5xl\", \"font-black\", \"tracking-tight\", \"text-white\", \"leading-none\"], [1, \"text-transparent\", \"bg-clip-text\", \"bg-gradient-to-r\", \"from-cyan-400\", \"via-blue-500\", \"to-indigo-500\"], [1, \"text-slate-400\", \"text-base\", \"max-w-2xl\", \"leading-relaxed\"], [1, \"flex\", \"flex-wrap\", \"gap-4\", \"mt-2\"], [1, \"px-5\", \"py-2.5\", \"rounded-full\", \"btn-cyan\", \"text-xs\", \"uppercase\", \"font-extrabold\", \"tracking-wider\", 3, \"click\"], [1, \"px-5\", \"py-2.5\", \"rounded-full\", \"border\", \"border-white/10\", \"hover:border-white/20\", \"transition\", \"text-xs\", \"uppercase\", \"font-extrabold\", \"tracking-wider\", \"bg-white/5\", \"text-white\", 3, \"click\"], [1, \"grid\", \"grid-cols-1\", \"md:grid-cols-4\", \"gap-6\"], [1, \"glass-panel\", \"p-5\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-1\", \"border-t-2\", \"border-t-cyan-400\"], [1, \"text-[10px]\", \"uppercase\", \"font-bold\", \"text-slate-400\", \"tracking-wider\"], [1, \"text-3xl\", \"font-black\", \"text-white\"], [1, \"text-[10px]\", \"text-cyan-400\", \"font-medium\"], [1, \"glass-panel\", \"p-5\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-1\", \"border-t-2\", \"border-t-magenta-400\"], [1, \"text-[10px]\", \"text-magenta-400\", \"font-medium\"], [1, \"glass-panel\", \"p-5\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-1\", \"border-t-2\", \"border-t-purple-400\"], [1, \"text-[10px]\", \"text-purple-400\", \"font-medium\"], [1, \"glass-panel\", \"p-5\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-1\", \"border-t-2\", \"border-t-emerald-400\"], [1, \"text-[10px]\", \"text-emerald-400\", \"font-medium\"], [1, \"flex\", \"flex-col\", \"gap-4\"], [1, \"text-xl\", \"font-bold\", \"tracking-tight\", \"text-neon-cyan\", \"uppercase\", \"tracking-wide\"], [1, \"grid\", \"grid-cols-1\", \"md:grid-cols-3\", \"gap-6\"], [1, \"glass-panel\", \"glass-panel-hover\", \"p-6\", \"rounded-2xl\", \"neon-border-cyan\", \"flex\", \"flex-col\", \"gap-4\"], [1, \"w-12\", \"h-12\", \"rounded-xl\", \"bg-cyan-500/10\", \"flex\", \"items-center\", \"justify-center\", \"text-2xl\", \"text-cyan-400\"], [1, \"text-lg\", \"font-bold\", \"text-white\"], [1, \"text-sm\", \"text-slate-400\", \"leading-relaxed\"], [1, \"glass-panel\", \"glass-panel-hover\", \"p-6\", \"rounded-2xl\", \"neon-border-magenta\", \"flex\", \"flex-col\", \"gap-4\"], [1, \"w-12\", \"h-12\", \"rounded-xl\", \"bg-magenta-500/10\", \"flex\", \"items-center\", \"justify-center\", \"text-2xl\", \"text-magenta-400\"], [1, \"glass-panel\", \"glass-panel-hover\", \"p-6\", \"rounded-2xl\", \"neon-border-purple\", \"flex\", \"flex-col\", \"gap-4\"], [1, \"w-12\", \"h-12\", \"rounded-xl\", \"bg-purple-500/10\", \"flex\", \"items-center\", \"justify-center\", \"text-2xl\", \"text-purple-400\"], [1, \"text-2xl\", \"font-black\", \"text-white\", \"uppercase\", \"tracking-tight\"], [1, \"grid\", \"grid-cols-1\", \"lg:grid-cols-4\", \"gap-6\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-5\", \"h-fit\"], [1, \"text-sm\", \"font-bold\", \"uppercase\", \"tracking-widest\", \"text-slate-400\"], [1, \"text-xs\", \"text-white/50\", \"leading-relaxed\"], [1, \"flex\", \"flex-col\", \"gap-1.5\"], [\"type\", \"text\", \"placeholder\", \"Buscar empleado...\", 1, \"px-4\", \"py-2.5\", \"rounded-full\", \"input-cyberpunk\", \"text-sm\", \"w-full\", 3, \"input\"], [1, \"px-4\", \"py-2.5\", \"rounded-full\", \"input-cyberpunk\", \"text-sm\", \"w-full\", \"bg-slate-900\", 3, \"change\"], [\"value\", \"ALL\"], [\"value\", \"IT\"], [\"value\", \"Dise\\u00F1o\"], [\"value\", \"Mantenimiento\"], [1, \"w-full\", \"py-2.5\", \"rounded-full\", \"btn-cyan\", \"text-xs\", \"uppercase\", \"font-extrabold\", \"tracking-wider\", \"mt-2\"], [1, \"lg:col-span-3\", \"flex\", \"flex-col\", \"gap-4\"], [1, \"text-xs\", \"text-slate-400\", \"flex\", \"justify-between\", \"items-center\"], [1, \"text-neon-cyan\"], [1, \"grid\", \"grid-cols-1\", \"md:grid-cols-2\", \"gap-6\"], [1, \"glass-panel\", \"rounded-3xl\", \"overflow-hidden\", \"relative\", \"flex\", \"flex-col\", \"hover:border-cyan-500/40\", \"transition-all\", \"duration-300\"], [1, \"h-20\", \"bg-gradient-to-r\", \"from-purple-600\", \"via-magenta-500\", \"to-cyan-400\", \"relative\"], [1, \"absolute\", \"top-3\", \"right-3\", \"text-xs\", \"bg-black/40\", \"backdrop-blur\", \"px-2.5\", \"py-0.5\", \"rounded-full\", \"text-white/95\"], [1, \"p-6\", \"pt-0\", \"relative\", \"flex-grow\", \"flex\", \"flex-col\"], [1, \"relative\", \"-mt-10\", \"mb-3\", \"flex\", \"justify-between\", \"items-end\"], [1, \"w-20\", \"h-20\", \"rounded-full\", \"border-4\", \"border-[#0c0f1d]\", \"overflow-hidden\", \"bg-slate-800\"], [1, \"w-full\", \"h-full\", \"flex\", \"items-center\", \"justify-center\", \"text-4xl\", \"bg-slate-900\", \"text-white\", \"font-bold\", \"select-none\"], [1, \"flex\", \"items-center\", \"gap-1\", \"text-xs\", \"bg-slate-900/80\", \"backdrop-blur\", \"px-2.5\", \"py-1\", \"rounded-full\", \"border\", \"border-white/5\"], [1, \"text-amber-400\"], [1, \"font-bold\", \"text-white\"], [1, \"text-lg\", \"font-extrabold\", \"text-white\", \"leading-tight\"], [1, \"text-xs\", \"text-neon-cyan\", \"font-semibold\", \"tracking-wide\", \"uppercase\", \"mb-3\", \"block\"], [1, \"flex\", \"flex-wrap\", \"gap-1.5\", \"mb-4\"], [1, \"text-[10px]\", \"bg-white/5\", \"border\", \"border-white/5\", \"rounded-full\", \"px-2.5\", \"py-0.5\", \"text-slate-300\", \"font-medium\"], [1, \"border-white/5\", \"my-3\"], [1, \"grid\", \"grid-cols-2\", \"gap-4\", \"mb-4\", \"text-center\"], [1, \"bg-white/5\", \"p-2\", \"rounded-xl\", \"border\", \"border-white/5\"], [1, \"text-[10px]\", \"text-white/50\", \"uppercase\", \"font-bold\", \"tracking-wider\"], [1, \"text-sm\", \"font-extrabold\", \"text-white\"], [1, \"w-full\", \"py-2.5\", \"rounded-2xl\", \"bg-white\", \"text-black\", \"font-extrabold\", \"text-xs\", \"uppercase\", \"tracking-wider\", \"hover:bg-cyan-400\", \"hover:text-black\", \"transition-all\", 3, \"click\"], [1, \"grid\", \"grid-cols-1\", \"lg:grid-cols-2\", \"gap-6\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-6\", \"justify-between\"], [1, \"text-neon-magenta\", \"text-xs\", \"font-bold\", \"uppercase\", \"tracking-widest\"], [1, \"text-xl\", \"font-bold\", \"text-white\"], [1, \"flex\", \"flex-col\", \"gap-3\", \"mt-2\"], [1, \"flex\", \"items-start\", \"gap-3.5\", \"p-3.5\", \"rounded-xl\", \"bg-white/5\", \"border\", \"border-white/5\"], [1, \"text-neon-cyan\", \"font-bold\"], [1, \"text-white\", \"block\", \"text-sm\"], [1, \"text-xs\", \"text-slate-400\"], [1, \"flex\", \"gap-4\"], [1, \"px-5\", \"py-2.5\", \"rounded-full\", \"btn-purple\", \"text-xs\", \"uppercase\", \"font-extrabold\", \"tracking-wider\", 3, \"click\"], [1, \"text-xs\", \"text-green-400\", \"font-bold\", \"self-center\", \"animate-pulse\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"items-center\", \"justify-center\", \"relative\", \"overflow-hidden\", \"bg-slate-950/60\", \"min-h-[300px]\"], [1, \"absolute\", \"-right-20\", \"-bottom-20\", \"w-48\", \"h-48\", \"bg-magenta-500/5\", \"rounded-full\", \"blur-3xl\"], [1, \"flex\", \"flex-col\", \"items-center\", \"gap-6\"], [\"viewBox\", \"0 0 100 100\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\", 1, \"w-40\", \"h-40\", \"text-green-400\"], [\"cx\", \"50\", \"cy\", \"50\", \"r\", \"30\", \"stroke\", \"currentColor\", \"stroke-width\", \"2\", \"stroke-dasharray\", \"10, 5\", 1, \"animate-[spin_10s_linear_infinite]\"], [\"cx\", \"50\", \"cy\", \"50\", \"r\", \"20\", \"stroke\", \"currentColor\", \"stroke-width\", \"1.5\", \"stroke-dasharray\", \"5, 3\", 1, \"animate-[spin_6s_linear_infinite_reverse]\"], [\"transform\", \"translate(50, 50) rotate(0)\"], [\"x\", \"-4\", \"y\", \"-28\", \"width\", \"8\", \"height\", \"56\", \"fill\", \"currentColor\", \"opacity\", \"0.3\", 1, \"animate-[spin_8s_linear_infinite]\"], [\"x\", \"-28\", \"y\", \"-4\", \"width\", \"56\", \"height\", \"8\", \"fill\", \"currentColor\", \"opacity\", \"0.3\", 1, \"animate-[spin_8s_linear_infinite]\"], [\"x\", \"50\", \"y\", \"53\", \"text-anchor\", \"middle\", \"font-size\", \"8\", \"fill\", \"#fff\", \"font-weight\", \"bold\", 1, \"font-mono\"], [1, \"text-center\", \"font-mono\", \"text-xs\", \"text-green-400\", \"border\", \"border-green-500/30\", \"px-3\", \"py-1.5\", \"rounded-lg\", \"bg-green-950/20\"], [1, \"glass-panel\", \"rounded-2xl\", \"overflow-hidden\", \"flex\", \"flex-col\"], [1, \"h-64\", \"bg-slate-900\", \"relative\"], [1, \"absolute\", \"inset-0\", \"bg-cover\", \"bg-center\", 2, \"background-image\", \"url('https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=800&q=80')\"], [1, \"absolute\", \"inset-0\", \"bg-gradient-to-t\", \"from-black\", \"via-black/30\", \"to-transparent\"], [1, \"absolute\", \"bottom-4\", \"left-4\", \"text-xs\", \"bg-purple-600\", \"px-3\", \"py-1\", \"rounded-full\", \"font-bold\", \"uppercase\", \"tracking-wider\"], [1, \"p-6\", \"flex\", \"flex-col\", \"gap-4\"], [1, \"flex\", \"gap-4\", \"text-xs\", \"text-white/50\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-5\", \"justify-between\"], [1, \"text-neon-purple\", \"text-xs\", \"font-bold\", \"uppercase\", \"tracking-widest\"], [1, \"text-sm\", \"text-slate-400\"], [1, \"flex\", \"flex-col\", \"gap-4\", \"mt-2\"], [1, \"grid\", \"grid-cols-2\", \"gap-4\"], [\"type\", \"text\", \"value\", \"Fecha: 15/06\", 1, \"px-4\", \"py-2.5\", \"rounded-full\", \"input-cyberpunk\", \"text-sm\", \"w-full\"], [\"type\", \"text\", \"value\", \"Hora: 09:00 AM\", 1, \"px-4\", \"py-2.5\", \"rounded-full\", \"input-cyberpunk\", \"text-sm\", \"w-full\"], [1, \"px-4\", \"py-2.5\", \"rounded-full\", \"input-cyberpunk\", \"text-sm\", \"w-full\", \"bg-slate-900\"], [1, \"flex\", \"flex-col\", \"gap-3\"], [1, \"w-full\", \"py-2.5\", \"rounded-full\", \"btn-purple\", \"text-xs\", \"uppercase\", \"font-extrabold\", \"tracking-wider\", 3, \"click\"], [1, \"p-3\", \"bg-emerald-500/10\", \"border\", \"border-emerald-500/20\", \"text-emerald-400\", \"rounded-xl\", \"text-xs\", \"text-center\", \"font-bold\", \"animate-fadeIn\"], [1, \"grid\", \"grid-cols-1\", \"lg:grid-cols-3\", \"gap-6\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"lg:col-span-2\", \"flex\", \"flex-col\", \"gap-4\"], [1, \"text-xs\", \"text-emerald-400\", \"font-bold\", \"bg-emerald-500/10\", \"px-2.5\", \"py-0.5\", \"rounded-full\"], [1, \"w-full\", \"h-48\", \"mt-2\"], [\"viewBox\", \"0 0 500 200\", \"preserveAspectRatio\", \"none\", 1, \"w-full\", \"h-full\"], [\"id\", \"chartGrad\", \"x1\", \"0\", \"y1\", \"0\", \"x2\", \"0\", \"y2\", \"1\"], [\"offset\", \"0%\", \"stop-color\", \"#00f2fe\", \"stop-opacity\", \"0.3\"], [\"offset\", \"100%\", \"stop-color\", \"#00f2fe\", \"stop-opacity\", \"0.0\"], [\"x1\", \"50\", \"y1\", \"150\", \"x2\", \"480\", \"y2\", \"150\", \"stroke\", \"rgba(255,255,255,0.05)\", \"stroke-width\", \"1\"], [\"x1\", \"50\", \"y1\", \"100\", \"x2\", \"480\", \"y2\", \"100\", \"stroke\", \"rgba(255,255,255,0.05)\", \"stroke-width\", \"1\"], [\"x1\", \"50\", \"y1\", \"50\", \"x2\", \"480\", \"y2\", \"50\", \"stroke\", \"rgba(255,255,255,0.05)\", \"stroke-width\", \"1\"], [\"d\", \"M 50,150 Q 150,140 250,90 T 450,40 L 450,170 L 50,170 Z\", \"fill\", \"url(#chartGrad)\"], [\"d\", \"M 50,150 Q 150,140 250,90 T 450,40\", \"fill\", \"none\", \"stroke\", \"#00f2fe\", \"stroke-width\", \"3\"], [\"cx\", \"50\", \"cy\", \"150\", \"r\", \"4\", \"fill\", \"#00f2fe\"], [\"cx\", \"250\", \"cy\", \"90\", \"r\", \"4\", \"fill\", \"#00f2fe\"], [\"cx\", \"450\", \"cy\", \"40\", \"r\", \"5\", \"fill\", \"#f00c93\"], [\"x\", \"50\", \"y\", \"165\", \"fill\", \"rgba(255,255,255,0.4)\", \"font-size\", \"9\", \"text-anchor\", \"middle\"], [\"x\", \"250\", \"y\", \"110\", \"fill\", \"rgba(255,255,255,0.4)\", \"font-size\", \"9\", \"text-anchor\", \"middle\"], [\"x\", \"450\", \"y\", \"25\", \"fill\", \"#f00c93\", \"font-size\", \"10\", \"font-weight\", \"bold\", \"text-anchor\", \"middle\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"justify-between\"], [1, \"flex\", \"flex-col\", \"gap-2\"], [1, \"text-5xl\", \"font-black\", \"text-neon-cyan\", \"my-3\"], [1, \"text-sm\", \"font-bold\", \"text-white\"], [1, \"flex\", \"flex-col\", \"gap-3\", \"mt-4\"], [1, \"text-xs\", \"text-slate-400\", \"flex\", \"gap-2\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-4\"], [1, \"flex\", \"flex-col\", \"md:flex-row\", \"md:items-center\", \"gap-2\"], [1, \"w-32\", \"text-xs\", \"font-bold\", \"text-white\"], [1, \"flex-grow\", \"bg-white/5\", \"rounded-full\", \"overflow-hidden\", \"h-7\", \"border\", \"border-white/5\", \"relative\"], [1, \"bg-gradient-to-r\", \"from-cyan-400\", \"to-indigo-500\", \"h-full\", \"rounded-full\", \"transition-all\", \"duration-1000\", 2, \"width\", \"26%\"], [1, \"absolute\", \"right-3\", \"top-1\", \"text-xs\", \"font-bold\", \"text-cyan-400\"], [1, \"w-32\", \"text-xs\", \"font-bold\", \"text-slate-400\"], [1, \"bg-slate-700\", \"h-full\", \"rounded-full\", \"transition-all\", \"duration-1000\", 2, \"width\", \"55%\"], [1, \"absolute\", \"right-3\", \"top-1\", \"text-xs\", \"font-bold\", \"text-slate-300\"], [1, \"bg-slate-800\", \"h-full\", \"rounded-full\", \"transition-all\", \"duration-1000\", 2, \"width\", \"100%\"], [1, \"absolute\", \"right-3\", \"top-1\", \"text-xs\", \"font-bold\", \"text-slate-400\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"items-center\", \"justify-center\", \"gap-4\"], [1, \"text-sm\", \"font-bold\", \"uppercase\", \"tracking-widest\", \"text-slate-400\", \"self-start\"], [1, \"relative\", \"w-40\", \"h-40\", \"flex\", \"items-center\", \"justify-center\"], [1, \"w-full\", \"h-full\", \"rounded-full\", \"border-8\", \"border-white/5\", \"absolute\"], [1, \"w-full\", \"h-full\", \"rounded-full\", \"border-8\", \"border-cyan-400\", \"border-t-transparent\", \"border-l-transparent\", \"absolute\", \"animate-[spin_4s_linear_infinite]\"], [1, \"flex\", \"flex-col\", \"items-center\"], [1, \"text-[9px]\", \"uppercase\", \"tracking-widest\", \"text-slate-400\"], [1, \"text-xs\", \"text-slate-400\", \"text-center\", \"mt-2\"], [1, \"lg:col-span-2\", \"flex\", \"flex-col\", \"gap-6\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-4\", \"border-l-4\", \"border-l-magenta-500\"], [1, \"text-sm\", \"font-bold\", \"uppercase\", \"tracking-widest\", \"text-magenta-400\"], [1, \"flex\", \"justify-between\", \"items-center\", \"text-xs\", \"p-2.5\", \"rounded-lg\", \"bg-magenta-500/5\", \"border\", \"border-magenta-500/10\", \"text-magenta-300\"], [1, \"text-magenta-400\"], [1, \"flex\", \"justify-between\", \"items-center\", \"text-xs\", \"p-2.5\", \"rounded-lg\", \"bg-white/5\", \"border\", \"border-white/5\", \"text-slate-300\"], [1, \"glass-panel\", \"p-6\", \"rounded-2xl\", \"flex\", \"flex-col\", \"gap-4\", \"border-l-4\", \"border-l-purple-500\"], [1, \"text-sm\", \"font-bold\", \"uppercase\", \"tracking-widest\", \"text-purple-400\"], [1, \"flex\", \"justify-between\", \"items-center\", \"text-xs\", \"p-3\", \"rounded-lg\", \"bg-white/5\", \"border\", \"border-white/5\"], [1, \"flex\", \"flex-col\"], [1, \"text-[10px]\", \"text-slate-400\"], [1, \"px-3\", \"py-1.5\", \"rounded-lg\", \"bg-purple-600\", \"text-white\", \"font-extrabold\", \"text-[10px]\", \"uppercase\", \"hover:bg-purple-500\", \"transition\", 3, \"click\"], [1, \"text-xs\", \"text-green-400\", \"font-bold\", \"bg-green-500/10\", \"border\", \"border-green-500/15\", \"p-2\", \"rounded-lg\", \"text-center\", \"animate-fadeIn\"]],\n template: function DashboardComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0)(1, \"aside\", 1)(2, \"div\", 2);\n i0.ɵɵelement(3, \"div\", 3);\n i0.ɵɵelementStart(4, \"div\", 4)(5, \"div\", 5)(6, \"div\", 6);\n i0.ɵɵtext(7);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(8, \"div\", 7)(9, \"span\", 8);\n i0.ɵɵtext(10);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(11, \"span\", 9);\n i0.ɵɵtext(12);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(13, \"div\", 10);\n i0.ɵɵtext(14);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"button\", 11);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Template_button_click_15_listener() {\n return ctx.logout();\n });\n i0.ɵɵtext(16, \" Cerrar Sesi\\u00F3n \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(17, \"div\", 12)(18, \"div\", 13);\n i0.ɵɵtext(19, \"Panel Kinetix\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(20, \"button\", 14);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Template_button_click_20_listener() {\n return ctx.setActiveTab(\"inicio\");\n });\n i0.ɵɵelementStart(21, \"span\", 15);\n i0.ɵɵtext(22, \"\\u26A1\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(23, \" Consorcio Kinetix \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(24, \"button\", 14);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Template_button_click_24_listener() {\n return ctx.setActiveTab(\"directory\");\n });\n i0.ɵɵelementStart(25, \"span\", 15);\n i0.ɵɵtext(26, \"\\uD83D\\uDC64\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(27, \" Directorio AD \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(28, \"button\", 14);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Template_button_click_28_listener() {\n return ctx.setActiveTab(\"workflow\");\n });\n i0.ɵɵelementStart(29, \"span\", 15);\n i0.ɵɵtext(30, \"\\u2699\\uFE0F\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(31, \" Workflow Aprobaci\\u00F3n \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(32, \"button\", 14);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Template_button_click_32_listener() {\n return ctx.setActiveTab(\"spaces\");\n });\n i0.ɵɵelementStart(33, \"span\", 15);\n i0.ɵɵtext(34, \"\\uD83D\\uDCC5\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(35, \" Gesti\\u00F3n de Espacios \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(36, \"button\", 14);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Template_button_click_36_listener() {\n return ctx.setActiveTab(\"metrics\");\n });\n i0.ɵɵelementStart(37, \"span\", 15);\n i0.ɵɵtext(38, \"\\uD83D\\uDCC8\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(39, \" Adopci\\u00F3n y KPIs \");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(40, \"button\", 14);\n i0.ɵɵlistener(\"click\", function DashboardComponent_Template_button_click_40_listener() {\n return ctx.setActiveTab(\"admin\");\n });\n i0.ɵɵelementStart(41, \"span\", 15);\n i0.ɵɵtext(42, \"\\uD83D\\uDD11\");\n i0.ɵɵelementEnd();\n i0.ɵɵtext(43, \" Visi\\u00F3n Admin \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(44, \"div\", 16)(45, \"div\", 17)(46, \"span\", 18);\n i0.ɵɵtext(47, \"Estado API:\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(48, \"span\", 19);\n i0.ɵɵelement(49, \"span\", 20);\n i0.ɵɵtext(50, \" ONLINE \");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(51, \"div\", 17)(52, \"span\", 18);\n i0.ɵɵtext(53, \"Sesi\\u00F3n SSO:\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(54, \"span\", 21);\n i0.ɵɵtext(55, \"ACTIVE AD\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(56, \"div\", 17)(57, \"span\", 18);\n i0.ɵɵtext(58, \"Sincronizaci\\u00F3n:\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(59, \"span\", 22);\n i0.ɵɵtext(60, \"Entra ID (AD)\");\n i0.ɵɵelementEnd()()()();\n i0.ɵɵelementStart(61, \"main\", 23);\n i0.ɵɵtemplate(62, DashboardComponent_Conditional_62_Template, 71, 0, \"div\", 24)(63, DashboardComponent_Conditional_63_Template, 37, 1, \"div\", 25)(64, DashboardComponent_Conditional_64_Template, 54, 1, \"div\", 25)(65, DashboardComponent_Conditional_65_Template, 56, 1, \"div\", 25)(66, DashboardComponent_Conditional_66_Template, 80, 0, \"div\", 25)(67, DashboardComponent_Conditional_67_Template, 53, 1, \"div\", 25);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵadvance(7);\n i0.ɵɵtextInterpolate1(\" \", ctx.currentUser().avatar, \" \");\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate(ctx.currentUser().name);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx.currentUser().role);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" SSO: \", ctx.currentUser().email, \" \");\n i0.ɵɵadvance(6);\n i0.ɵɵclassProp(\"border-l-4\", ctx.activeTab() === \"inicio\")(\"border-cyan-400\", ctx.activeTab() === \"inicio\");\n i0.ɵɵadvance(4);\n i0.ɵɵclassProp(\"border-l-4\", ctx.activeTab() === \"directory\")(\"border-cyan-400\", ctx.activeTab() === \"directory\");\n i0.ɵɵadvance(4);\n i0.ɵɵclassProp(\"border-l-4\", ctx.activeTab() === \"workflow\")(\"border-magenta-400\", ctx.activeTab() === \"workflow\");\n i0.ɵɵadvance(4);\n i0.ɵɵclassProp(\"border-l-4\", ctx.activeTab() === \"spaces\")(\"border-purple-400\", ctx.activeTab() === \"spaces\");\n i0.ɵɵadvance(4);\n i0.ɵɵclassProp(\"border-l-4\", ctx.activeTab() === \"metrics\")(\"border-cyan-400\", ctx.activeTab() === \"metrics\");\n i0.ɵɵadvance(4);\n i0.ɵɵclassProp(\"border-l-4\", ctx.activeTab() === \"admin\")(\"border-magenta-400\", ctx.activeTab() === \"admin\");\n i0.ɵɵadvance(22);\n i0.ɵɵconditional(ctx.activeTab() === \"inicio\" ? 62 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.activeTab() === \"directory\" ? 63 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.activeTab() === \"workflow\" ? 64 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.activeTab() === \"spaces\" ? 65 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.activeTab() === \"metrics\" ? 66 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.activeTab() === \"admin\" ? 67 : -1);\n }\n },\n dependencies: [CommonModule],\n styles: [\".animate-fadeIn[_ngcontent-%COMP%] {\\n animation: _ngcontent-%COMP%_fadeIn 0.4s ease-out forwards;\\n }\\n @keyframes _ngcontent-%COMP%_fadeIn {\\n from { opacity: 0; transform: translateY(4px); }\\n to { opacity: 1; transform: translateY(0); }\\n }\\n \\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy9hcHAvZmVhdHVyZXMvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtJQUNJO01BQ0Usd0NBQXdDO0lBQzFDO0lBQ0E7TUFDRSxPQUFPLFVBQVUsRUFBRSwwQkFBMEIsRUFBRTtNQUMvQyxLQUFLLFVBQVUsRUFBRSx3QkFBd0IsRUFBRTtJQUM3QyIsInNvdXJjZXNDb250ZW50IjpbIlxuICAgIC5hbmltYXRlLWZhZGVJbiB7XG4gICAgICBhbmltYXRpb246IGZhZGVJbiAwLjRzIGVhc2Utb3V0IGZvcndhcmRzO1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7IH1cbiAgICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gICAgfVxuICAiXSwic291cmNlUm9vdCI6IiJ9 */\"]\n });\n }\n }\n return DashboardComponent;\n})();","map":{"version":3,"names":["signal","computed","inject","Router","CommonModule","i0","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵlistener","DashboardComponent_Conditional_62_Template_button_click_13_listener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","setActiveTab","DashboardComponent_Conditional_62_Template_button_click_15_listener","ɵɵadvance","ɵɵtextInterpolate1","tag_r5","ɵɵrepeaterCreate","DashboardComponent_Conditional_63_For_36_For_20_Template","ɵɵrepeaterTrackByIdentity","DashboardComponent_Conditional_63_For_36_Template_button_click_33_listener","emp_r6","_r4","$implicit","contactEmployee","name","id","avatar","ɵɵtextInterpolate","rating","role","ɵɵrepeater","tags","clients","rate","DashboardComponent_Conditional_63_Template_input_input_13_listener","$event","_r3","updateSearch","DashboardComponent_Conditional_63_Template_select_change_17_listener","updateDept","DashboardComponent_Conditional_63_For_36_Template","_forTrack0","filteredEmployees","length","simulationStatus","DashboardComponent_Conditional_64_Template_button_click_38_listener","_r7","runSimulation","ɵɵtemplate","DashboardComponent_Conditional_64_Conditional_40_Template","ɵɵconditional","DashboardComponent_Conditional_65_Template_button_click_53_listener","_r8","bookSpace","DashboardComponent_Conditional_65_Conditional_55_Template","bookingSuccess","approvalSuccess","DashboardComponent_Conditional_67_Template_button_click_42_listener","_r9","approveItem","DashboardComponent_Conditional_67_Template_button_click_50_listener","DashboardComponent_Conditional_67_Conditional_52_Template","DashboardComponent","constructor","router","activeTab","searchQuery","selectedDept","currentUser","email","employees","query","toLowerCase","dept","filter","emp","matchesSearch","includes","some","t","matchesDept","ngOnInit","userStr","localStorage","getItem","user","JSON","parse","set","e","console","error","tab","event","value","target","alert","setTimeout","title","logout","removeItem","navigate","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","DashboardComponent_Template","rf","ctx","DashboardComponent_Template_button_click_15_listener","DashboardComponent_Template_button_click_20_listener","DashboardComponent_Template_button_click_24_listener","DashboardComponent_Template_button_click_28_listener","DashboardComponent_Template_button_click_32_listener","DashboardComponent_Template_button_click_36_listener","DashboardComponent_Template_button_click_40_listener","DashboardComponent_Conditional_62_Template","DashboardComponent_Conditional_63_Template","DashboardComponent_Conditional_64_Template","DashboardComponent_Conditional_65_Template","DashboardComponent_Conditional_66_Template","DashboardComponent_Conditional_67_Template","ɵɵclassProp","styles"],"sources":["D:\\Jess\\agent\\Kinetix\\frontend\\src\\app\\features\\dashboard\\dashboard.component.ts"],"sourcesContent":["import { Component, signal, computed, OnInit, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CommonModule } from '@angular/common';\n\ninterface Employee {\n id: number;\n name: string;\n role: string;\n rating: number;\n clients: number;\n rate: number;\n avatar: string;\n tags: string[];\n}\n\ninterface UserProfile {\n name: string;\n email: string;\n role: string;\n avatar: string;\n}\n\n@Component({\n selector: 'app-dashboard',\n standalone: true,\n imports: [CommonModule],\n template: `\n <div class=\"flex flex-col lg:flex-row gap-6 p-2 lg:p-6 min-h-[80vh]\">\n <!-- Sidebar Navigation Menu (Cyberpunk theme) -->\n <aside class=\"w-full lg:w-64 flex flex-col gap-3\">\n <!-- Active User Profile Widget Sincronizado con Active Directory -->\n <div class=\"glass-panel p-4 rounded-2xl flex flex-col gap-3 relative border-cyan-500/20 bg-slate-950/45\">\n <div class=\"absolute -right-2 -top-2 w-8 h-8 bg-cyan-500/10 rounded-full blur-md\"></div>\n <div class=\"flex items-center gap-3\">\n <div class=\"w-12 h-12 rounded-xl bg-gradient-to-tr from-cyan-400 to-indigo-500 p-0.5 shadow-md\">\n <div class=\"w-full h-full bg-[#0a0a0c] rounded-[10px] flex items-center justify-center font-black text-sm text-cyan-400\">\n {{ currentUser().avatar }}\n </div>\n </div>\n <div class=\"flex flex-col min-w-0\">\n <span class=\"text-sm font-extrabold text-white truncate\">{{ currentUser().name }}</span>\n <span class=\"text-[10px] text-neon-cyan font-bold tracking-wide uppercase truncate\">{{ currentUser().role }}</span>\n </div>\n </div>\n <div class=\"text-[9px] text-white/40 font-mono truncate border-t border-white/5 pt-2 mt-1\">\n SSO: {{ currentUser().email }}\n </div>\n <button (click)=\"logout()\" class=\"w-full py-1.5 rounded-xl border border-white/10 hover:border-magenta-500/30 hover:bg-magenta-950/20 text-white/60 hover:text-magenta-400 font-extrabold text-[10px] uppercase tracking-wider transition-all mt-1\">\n Cerrar Sesión\n </button>\n </div>\n\n <div class=\"glass-panel p-4 rounded-2xl flex flex-col gap-2\">\n <div class=\"text-xs font-bold text-white/40 uppercase tracking-widest px-3 mb-2\">Panel Kinetix</div>\n \n <button (click)=\"setActiveTab('inicio')\" \n [class.border-l-4]=\"activeTab() === 'inicio'\" \n [class.border-cyan-400]=\"activeTab() === 'inicio'\"\n class=\"flex items-center gap-3 px-3 py-2.5 rounded-lg text-left text-sm font-semibold transition-all hover:bg-white/5 text-slate-300 hover:text-white\">\n <span class=\"text-lg\">⚡</span> Consorcio Kinetix\n </button>\n\n <button (click)=\"setActiveTab('directory')\" \n [class.border-l-4]=\"activeTab() === 'directory'\" \n [class.border-cyan-400]=\"activeTab() === 'directory'\"\n class=\"flex items-center gap-3 px-3 py-2.5 rounded-lg text-left text-sm font-semibold transition-all hover:bg-white/5 text-slate-300 hover:text-white\">\n <span class=\"text-lg\">👤</span> Directorio AD\n </button>\n\n <button (click)=\"setActiveTab('workflow')\" \n [class.border-l-4]=\"activeTab() === 'workflow'\" \n [class.border-magenta-400]=\"activeTab() === 'workflow'\"\n class=\"flex items-center gap-3 px-3 py-2.5 rounded-lg text-left text-sm font-semibold transition-all hover:bg-white/5 text-slate-300 hover:text-white\">\n <span class=\"text-lg\">⚙️</span> Workflow Aprobación\n </button>\n\n <button (click)=\"setActiveTab('spaces')\" \n [class.border-l-4]=\"activeTab() === 'spaces'\" \n [class.border-purple-400]=\"activeTab() === 'spaces'\"\n class=\"flex items-center gap-3 px-3 py-2.5 rounded-lg text-left text-sm font-semibold transition-all hover:bg-white/5 text-slate-300 hover:text-white\">\n <span class=\"text-lg\">📅</span> Gestión de Espacios\n </button>\n\n <button (click)=\"setActiveTab('metrics')\" \n [class.border-l-4]=\"activeTab() === 'metrics'\" \n [class.border-cyan-400]=\"activeTab() === 'metrics'\"\n class=\"flex items-center gap-3 px-3 py-2.5 rounded-lg text-left text-sm font-semibold transition-all hover:bg-white/5 text-slate-300 hover:text-white\">\n <span class=\"text-lg\">📈</span> Adopción y KPIs\n </button>\n\n <button (click)=\"setActiveTab('admin')\" \n [class.border-l-4]=\"activeTab() === 'admin'\" \n [class.border-magenta-400]=\"activeTab() === 'admin'\"\n class=\"flex items-center gap-3 px-3 py-2.5 rounded-lg text-left text-sm font-semibold transition-all hover:bg-white/5 text-slate-300 hover:text-white\">\n <span class=\"text-lg\">🔑</span> Visión Admin\n </button>\n </div>\n\n <!-- System Status Mini Card -->\n <div class=\"glass-panel p-4 rounded-2xl text-xs flex flex-col gap-2\">\n <div class=\"flex justify-between items-center\">\n <span class=\"text-white/50\">Estado API:</span>\n <span class=\"text-emerald-400 font-bold flex items-center gap-1.5\">\n <span class=\"w-2 h-2 rounded-full bg-emerald-400 animate-pulse\"></span> ONLINE\n </span>\n </div>\n <div class=\"flex justify-between items-center\">\n <span class=\"text-white/50\">Sesión SSO:</span>\n <span class=\"text-cyan-400 font-bold\">ACTIVE AD</span>\n </div>\n <div class=\"flex justify-between items-center\">\n <span class=\"text-white/50\">Sincronización:</span>\n <span class=\"text-slate-300 font-mono\">Entra ID (AD)</span>\n </div>\n </div>\n </aside>\n\n <!-- Main Workstation View Area -->\n <main class=\"flex-grow flex flex-col gap-6\">\n \n <!-- ================= PAGE 1: INICIO (CONSORCIO) ================= -->\n @if (activeTab() === 'inicio') {\n <div class=\"flex flex-col gap-8 animate-fadeIn\">\n <!-- Hero banner style layout -->\n <div class=\"glass-panel p-8 rounded-3xl relative overflow-hidden flex flex-col gap-4 bg-gradient-to-br from-[#0c0f1d] to-[#080a12] border-white/5\">\n <div class=\"absolute -right-20 -top-20 w-64 h-64 bg-cyan-500/10 rounded-full blur-[100px]\"></div>\n <div class=\"absolute -left-20 -bottom-20 w-64 h-64 bg-magenta-500/10 rounded-full blur-[100px]\"></div>\n \n <span class=\"text-neon-cyan text-xs font-bold uppercase tracking-widest\">PORTAL DE CONSORCIO</span>\n <h2 class=\"text-4xl lg:text-5xl font-black tracking-tight text-white leading-none\">\n Consorcio Corporativo <span class=\"text-transparent bg-clip-text bg-gradient-to-r from-cyan-400 via-blue-500 to-indigo-500\">Kinetix</span>\n </h2>\n <p class=\"text-slate-400 text-base max-w-2xl leading-relaxed\">\n Plataforma unificada de administración y autogestión de recursos del consorcio. Control de identidades centralizado y monitoreo de módulos integrados en tiempo real.\n </p>\n \n <div class=\"flex flex-wrap gap-4 mt-2\">\n <button (click)=\"setActiveTab('directory')\" class=\"px-5 py-2.5 rounded-full btn-cyan text-xs uppercase font-extrabold tracking-wider\">\n Directorio Consorcio\n </button>\n <button (click)=\"setActiveTab('spaces')\" class=\"px-5 py-2.5 rounded-full border border-white/10 hover:border-white/20 transition text-xs uppercase font-extrabold tracking-wider bg-white/5 text-white\">\n Reserva de Salas\n </button>\n </div>\n </div>\n\n <!-- Consortium KPIs & Aggregated Metrics Grid -->\n <div class=\"grid grid-cols-1 md:grid-cols-4 gap-6\">\n <div class=\"glass-panel p-5 rounded-2xl flex flex-col gap-1 border-t-2 border-t-cyan-400\">\n <span class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Sedes Integradas</span>\n <div class=\"text-3xl font-black text-white\">3 Sedes</div>\n <span class=\"text-[10px] text-cyan-400 font-medium\">London, Tokyo, NY</span>\n </div>\n <div class=\"glass-panel p-5 rounded-2xl flex flex-col gap-1 border-t-2 border-t-magenta-400\">\n <span class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Directorio Activo</span>\n <div class=\"text-3xl font-black text-white\">1,450+</div>\n <span class=\"text-[10px] text-magenta-400 font-medium\">Usuarios Sincronizados</span>\n </div>\n <div class=\"glass-panel p-5 rounded-2xl flex flex-col gap-1 border-t-2 border-t-purple-400\">\n <span class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Salas Disponibles</span>\n <div class=\"text-3xl font-black text-white\">18 Salas</div>\n <span class=\"text-[10px] text-purple-400 font-medium\">Sistemas IoT Activos</span>\n </div>\n <div class=\"glass-panel p-5 rounded-2xl flex flex-col gap-1 border-t-2 border-t-emerald-400\">\n <span class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Flujos de Trabajo</span>\n <div class=\"text-3xl font-black text-white\">12 Activos</div>\n <span class=\"text-[10px] text-emerald-400 font-medium\">Reglas AD Operativas</span>\n </div>\n </div>\n\n <!-- Page 3: Módulos de Nueva Generación -->\n <div class=\"flex flex-col gap-4\">\n <h3 class=\"text-xl font-bold tracking-tight text-neon-cyan uppercase tracking-wide\">Módulos de Nueva Generación</h3>\n <div class=\"grid grid-cols-1 md:grid-cols-3 gap-6\">\n <!-- Info block -->\n <div class=\"glass-panel glass-panel-hover p-6 rounded-2xl neon-border-cyan flex flex-col gap-4\">\n <div class=\"w-12 h-12 rounded-xl bg-cyan-500/10 flex items-center justify-center text-2xl text-cyan-400\">📚</div>\n <h4 class=\"text-lg font-bold text-white\">Bloque de Info</h4>\n <p class=\"text-sm text-slate-400 leading-relaxed\">\n Gestión de contenidos corporativos con arquitectura robusta de microservicios y publicación de artículos en tiempo récord.\n </p>\n </div>\n\n <!-- AD Directories -->\n <div class=\"glass-panel glass-panel-hover p-6 rounded-2xl neon-border-magenta flex flex-col gap-4\">\n <div class=\"w-12 h-12 rounded-xl bg-magenta-500/10 flex items-center justify-center text-2xl text-magenta-400\">👤</div>\n <h4 class=\"text-lg font-bold text-white\">Directorios AD</h4>\n <p class=\"text-sm text-slate-400 leading-relaxed\">\n Sincronización nativa instantánea con Active Directory y perfiles dinámicos inteligentes para el equipo de desarrollo.\n </p>\n </div>\n\n <!-- Self management -->\n <div class=\"glass-panel glass-panel-hover p-6 rounded-2xl neon-border-purple flex flex-col gap-4\">\n <div class=\"w-12 h-12 rounded-xl bg-purple-500/10 flex items-center justify-center text-2xl text-purple-400\">📅</div>\n <h4 class=\"text-lg font-bold text-white\">Autogestión</h4>\n <p class=\"text-sm text-slate-400 leading-relaxed\">\n Reserva fluida de salas de conferencias, oficinas temporales e incidencias con disponibilidad y alertas en tiempo real.\n </p>\n </div>\n </div>\n </div>\n </div>\n }\n\n <!-- ================= PAGE 2: DIRECTORY ================= -->\n @if (activeTab() === 'directory') {\n <div class=\"flex flex-col gap-6 animate-fadeIn\">\n <h2 class=\"text-2xl font-black text-white uppercase tracking-tight\">Interfaz Directory Modern</h2>\n \n <div class=\"grid grid-cols-1 lg:grid-cols-4 gap-6\">\n <!-- Sidebar Filters -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col gap-5 h-fit\">\n <h3 class=\"text-sm font-bold uppercase tracking-widest text-slate-400\">Búsqueda & Filtrado</h3>\n <p class=\"text-xs text-white/50 leading-relaxed\">Uso de bordes suaves y ergonómicos para optimizar la visualización de datos.</p>\n \n <div class=\"flex flex-col gap-4\">\n <!-- Search input -->\n <div class=\"flex flex-col gap-1.5\">\n <label class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Buscar Empleado</label>\n <input type=\"text\" placeholder=\"Buscar empleado...\" \n (input)=\"updateSearch($event)\"\n class=\"px-4 py-2.5 rounded-full input-cyberpunk text-sm w-full\" />\n </div>\n\n <!-- Department select -->\n <div class=\"flex flex-col gap-1.5\">\n <label class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Departamento</label>\n <select (change)=\"updateDept($event)\" class=\"px-4 py-2.5 rounded-full input-cyberpunk text-sm w-full bg-slate-900\">\n <option value=\"ALL\">Todos los Departamentos</option>\n <option value=\"IT\">IT & Desarrollo</option>\n <option value=\"Diseño\">Diseño y UI/UX</option>\n <option value=\"Mantenimiento\">Mantenimiento</option>\n </select>\n </div>\n\n <button class=\"w-full py-2.5 rounded-full btn-cyan text-xs uppercase font-extrabold tracking-wider mt-2\">\n APLICAR FILTROS\n </button>\n </div>\n </div>\n\n <!-- Directory grid -->\n <div class=\"lg:col-span-3 flex flex-col gap-4\">\n <!-- Search Result Summary -->\n <div class=\"text-xs text-slate-400 flex justify-between items-center\">\n <span>Mostrando {{ filteredEmployees().length }} empleados registrados</span>\n <span class=\"text-neon-cyan\">Sincronizado con Active Directory</span>\n </div>\n \n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\n @for (emp of filteredEmployees(); track emp.id) {\n <!-- Profile Card in cyberpunk style exactly matching the presentation's John Morton cards -->\n <div class=\"glass-panel rounded-3xl overflow-hidden relative flex flex-col hover:border-cyan-500/40 transition-all duration-300\">\n \n <!-- Header Gradient Background of card -->\n <div class=\"h-20 bg-gradient-to-r from-purple-600 via-magenta-500 to-cyan-400 relative\">\n <span class=\"absolute top-3 right-3 text-xs bg-black/40 backdrop-blur px-2.5 py-0.5 rounded-full text-white/95\">\n ID: AD-{{ emp.id * 123 }}\n </span>\n </div>\n\n <div class=\"p-6 pt-0 relative flex-grow flex flex-col\">\n <!-- Profile Image offset -->\n <div class=\"relative -mt-10 mb-3 flex justify-between items-end\">\n <div class=\"w-20 h-20 rounded-full border-4 border-[#0c0f1d] overflow-hidden bg-slate-800\">\n <div class=\"w-full h-full flex items-center justify-center text-4xl bg-slate-900 text-white font-bold select-none\">\n {{ emp.avatar }}\n </div>\n </div>\n <!-- Interactive star badge -->\n <div class=\"flex items-center gap-1 text-xs bg-slate-900/80 backdrop-blur px-2.5 py-1 rounded-full border border-white/5\">\n <span class=\"text-amber-400\">★</span>\n <span class=\"font-bold text-white\">{{ emp.rating }}</span>\n </div>\n </div>\n\n <!-- Info -->\n <h4 class=\"text-lg font-extrabold text-white leading-tight\">{{ emp.name }}</h4>\n <span class=\"text-xs text-neon-cyan font-semibold tracking-wide uppercase mb-3 block\">{{ emp.role }}</span>\n \n <!-- Tags -->\n <div class=\"flex flex-wrap gap-1.5 mb-4\">\n @for (tag of emp.tags; track tag) {\n <span class=\"text-[10px] bg-white/5 border border-white/5 rounded-full px-2.5 py-0.5 text-slate-300 font-medium\">\n {{ tag }}\n </span>\n }\n </div>\n\n <hr class=\"border-white/5 my-3\" />\n\n <!-- Stats Grid -->\n <div class=\"grid grid-cols-2 gap-4 mb-4 text-center\">\n <div class=\"bg-white/5 p-2 rounded-xl border border-white/5\">\n <div class=\"text-[10px] text-white/50 uppercase font-bold tracking-wider\">Clientes</div>\n <div class=\"text-sm font-extrabold text-white\">{{ emp.clients }}</div>\n </div>\n <div class=\"bg-white/5 p-2 rounded-xl border border-white/5\">\n <div class=\"text-[10px] text-white/50 uppercase font-bold tracking-wider\">Tarifa/Hora</div>\n <div class=\"text-sm font-extrabold text-white\">\\${{ emp.rate }}/hr</div>\n </div>\n </div>\n\n <!-- Action button -->\n <button (click)=\"contactEmployee(emp.name)\" class=\"w-full py-2.5 rounded-2xl bg-white text-black font-extrabold text-xs uppercase tracking-wider hover:bg-cyan-400 hover:text-black transition-all\">\n Get In Touch\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n\n <!-- ================= PAGE 3: WORKFLOW ================= -->\n @if (activeTab() === 'workflow') {\n <div class=\"flex flex-col gap-6 animate-fadeIn\">\n <h2 class=\"text-2xl font-black text-white uppercase tracking-tight\">Workflow de Aprobación</h2>\n \n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n <!-- Details & Steps -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col gap-6 justify-between\">\n <div class=\"flex flex-col gap-4\">\n <span class=\"text-neon-magenta text-xs font-bold uppercase tracking-widest\">CICLO COMPLETO DE VIDA</span>\n <h3 class=\"text-xl font-bold text-white\">Validación y Publicación Automatizada</h3>\n <p class=\"text-sm text-slate-400 leading-relaxed\">\n Las propuestas de contenidos y flujos pasan por un motor estructurado que valida y publica automáticamente en canales institucionales y redes corporativas.\n </p>\n \n <!-- Step List -->\n <div class=\"flex flex-col gap-3 mt-2\">\n <div class=\"flex items-start gap-3.5 p-3.5 rounded-xl bg-white/5 border border-white/5\">\n <span class=\"text-neon-cyan font-bold\">✓</span>\n <div>\n <strong class=\"text-white block text-sm\">Creación</strong>\n <span class=\"text-xs text-slate-400\">Captura de datos optimizada a través de formularios reactivos del lado del cliente.</span>\n </div>\n </div>\n <div class=\"flex items-start gap-3.5 p-3.5 rounded-xl bg-white/5 border border-white/5\">\n <span class=\"text-neon-cyan font-bold\">✓</span>\n <div>\n <strong class=\"text-white block text-sm\">Validación</strong>\n <span class=\"text-xs text-slate-400\">Motor de reglas multinivel integrado con SSO y Active Directory para jerarquías de aprobación.</span>\n </div>\n </div>\n <div class=\"flex items-start gap-3.5 p-3.5 rounded-xl bg-white/5 border border-white/5\">\n <span class=\"text-neon-cyan font-bold\">✓</span>\n <div>\n <strong class=\"text-white block text-sm\">Social</strong>\n <span class=\"text-xs text-slate-400\">Posteo automatizado e inmediato en las redes de comunicación interna de Kinetix.</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"flex gap-4\">\n <button (click)=\"runSimulation()\" class=\"px-5 py-2.5 rounded-full btn-purple text-xs uppercase font-extrabold tracking-wider\">\n SIMULAR MOTOR DE REGLAS\n </button>\n @if (simulationStatus()) {\n <span class=\"text-xs text-green-400 font-bold self-center animate-pulse\">{{ simulationStatus() }}</span>\n }\n </div>\n </div>\n\n <!-- Animated Neon Gear / Visualization -->\n <div class=\"glass-panel p-6 rounded-2xl flex items-center justify-center relative overflow-hidden bg-slate-950/60 min-h-[300px]\">\n <div class=\"absolute -right-20 -bottom-20 w-48 h-48 bg-magenta-500/5 rounded-full blur-3xl\"></div>\n \n <div class=\"flex flex-col items-center gap-6\">\n <!-- Custom SVG rotating gears for premium visual animation -->\n <svg class=\"w-40 h-40 text-green-400\" viewBox=\"0 0 100 100\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"50\" cy=\"50\" r=\"30\" stroke=\"currentColor\" stroke-width=\"2\" stroke-dasharray=\"10, 5\" class=\"animate-[spin_10s_linear_infinite]\" />\n <circle cx=\"50\" cy=\"50\" r=\"20\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-dasharray=\"5, 3\" class=\"animate-[spin_6s_linear_infinite_reverse]\" />\n <g transform=\"translate(50, 50) rotate(0)\">\n <rect x=\"-4\" y=\"-28\" width=\"8\" height=\"56\" fill=\"currentColor\" opacity=\"0.3\" class=\"animate-[spin_8s_linear_infinite]\" />\n <rect x=\"-28\" y=\"-4\" width=\"56\" height=\"8\" fill=\"currentColor\" opacity=\"0.3\" class=\"animate-[spin_8s_linear_infinite]\" />\n </g>\n <!-- Text elements -->\n <text x=\"50\" y=\"53\" text-anchor=\"middle\" font-size=\"8\" fill=\"#fff\" font-weight=\"bold\" class=\"font-mono\">AD ENGINE</text>\n </svg>\n \n <div class=\"text-center font-mono text-xs text-green-400 border border-green-500/30 px-3 py-1.5 rounded-lg bg-green-950/20\">\n STATUS: LISTENING ON PORT 3000\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <!-- ================= PAGE 4: SPACES ================= -->\n @if (activeTab() === 'spaces') {\n <div class=\"flex flex-col gap-6 animate-fadeIn\">\n <h2 class=\"text-2xl font-black text-white uppercase tracking-tight\">Gestión de Espacios & Incidencias</h2>\n \n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n <!-- Room details & Gallery -->\n <div class=\"glass-panel rounded-2xl overflow-hidden flex flex-col\">\n <div class=\"h-64 bg-slate-900 relative\">\n <!-- Nice placeholder simulating a modern boardroom -->\n <div class=\"absolute inset-0 bg-cover bg-center\" style=\"background-image: url('https://images.unsplash.com/photo-1497366216548-37526070297c?auto=format&fit=crop&w=800&q=80')\"></div>\n <div class=\"absolute inset-0 bg-gradient-to-t from-black via-black/30 to-transparent\"></div>\n <span class=\"absolute bottom-4 left-4 text-xs bg-purple-600 px-3 py-1 rounded-full font-bold uppercase tracking-wider\">\n SALA DE CONFERENCIAS VIP\n </span>\n </div>\n \n <div class=\"p-6 flex flex-col gap-4\">\n <h3 class=\"text-lg font-bold text-white\">Sala London Hall — Piso 4</h3>\n <p class=\"text-sm text-slate-400 leading-relaxed\">\n Equipada con pantalla interactiva 4K de 85 pulgadas, sistema de audio envolvente Jabra, conectividad inalámbrica y capacidad para 12 personas.\n </p>\n \n <div class=\"flex gap-4 text-xs text-white/50\">\n <span>👥 Capacidad: 12 pers.</span>\n <span>📶 Wi-Fi 6 Giga</span>\n <span>🌡️ Termostato IoT</span>\n </div>\n </div>\n </div>\n\n <!-- Booking Form -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col gap-5 justify-between\">\n <div class=\"flex flex-col gap-4\">\n <span class=\"text-neon-purple text-xs font-bold uppercase tracking-widest\">AUTOGESTIÓN DE ALQUILER</span>\n <h3 class=\"text-xl font-bold text-white\">Reserva Directa de Espacios</h3>\n <p class=\"text-sm text-slate-400\">Reserva de salas de conferencias, oficinas temporales y puestos de trabajo con confirmación instantánea.</p>\n \n <div class=\"flex flex-col gap-4 mt-2\">\n <div class=\"grid grid-cols-2 gap-4\">\n <!-- Date input -->\n <div class=\"flex flex-col gap-1.5\">\n <label class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Fecha</label>\n <input type=\"text\" value=\"Fecha: 15/06\" class=\"px-4 py-2.5 rounded-full input-cyberpunk text-sm w-full\" />\n </div>\n \n <!-- Time input -->\n <div class=\"flex flex-col gap-1.5\">\n <label class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Hora</label>\n <input type=\"text\" value=\"Hora: 09:00 AM\" class=\"px-4 py-2.5 rounded-full input-cyberpunk text-sm w-full\" />\n </div>\n </div>\n\n <!-- Room selector -->\n <div class=\"flex flex-col gap-1.5\">\n <label class=\"text-[10px] uppercase font-bold text-slate-400 tracking-wider\">Seleccionar Sala</label>\n <select class=\"px-4 py-2.5 rounded-full input-cyberpunk text-sm w-full bg-slate-900\">\n <option>Sala London Hall (Piso 4)</option>\n <option>Sala Tokyo Lab (Piso 2)</option>\n <option>Oficina Flexible 15B (Piso 1)</option>\n <option>Sala New York Boardroom (Piso 5)</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class=\"flex flex-col gap-3\">\n <button (click)=\"bookSpace()\" class=\"w-full py-2.5 rounded-full btn-purple text-xs uppercase font-extrabold tracking-wider\">\n RESERVAR ESPACIO\n </button>\n \n @if (bookingSuccess()) {\n <div class=\"p-3 bg-emerald-500/10 border border-emerald-500/20 text-emerald-400 rounded-xl text-xs text-center font-bold animate-fadeIn\">\n ¡Reserva confirmada con éxito! Se ha notificado a tu correo y calendario de Active Directory.\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n\n <!-- ================= PAGE 5: METRICS ================= -->\n @if (activeTab() === 'metrics') {\n <div class=\"flex flex-col gap-6 animate-fadeIn\">\n <h2 class=\"text-2xl font-black text-white uppercase tracking-tight\">Proyección de Adopción & KPIs</h2>\n\n <!-- Line chart & KPI -->\n <div class=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n <!-- SVG chart visualizer -->\n <div class=\"glass-panel p-6 rounded-2xl lg:col-span-2 flex flex-col gap-4\">\n <div class=\"flex justify-between items-center\">\n <h3 class=\"text-sm font-bold uppercase tracking-widest text-slate-400\">Proyección de Adopción Kinetix</h3>\n <span class=\"text-xs text-emerald-400 font-bold bg-emerald-500/10 px-2.5 py-0.5 rounded-full\">ROI +85%</span>\n </div>\n \n <p class=\"text-xs text-slate-400\">Crecimiento exponencial de interacciones tras la implementación del diseño UI/UX renovado.</p>\n \n <!-- Pure SVG chart to avoid requiring Chart.js libraries and guarantee pixel perfection -->\n <div class=\"w-full h-48 mt-2\">\n <svg class=\"w-full h-full\" viewBox=\"0 0 500 200\" preserveAspectRatio=\"none\">\n <defs>\n <linearGradient id=\"chartGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" stop-color=\"#00f2fe\" stop-opacity=\"0.3\"/>\n <stop offset=\"100%\" stop-color=\"#00f2fe\" stop-opacity=\"0.0\"/>\n </linearGradient>\n </defs>\n <!-- Grid Lines -->\n <line x1=\"50\" y1=\"150\" x2=\"480\" y2=\"150\" stroke=\"rgba(255,255,255,0.05)\" stroke-width=\"1\" />\n <line x1=\"50\" y1=\"100\" x2=\"480\" y2=\"100\" stroke=\"rgba(255,255,255,0.05)\" stroke-width=\"1\" />\n <line x1=\"50\" y1=\"50\" x2=\"480\" y2=\"50\" stroke=\"rgba(255,255,255,0.05)\" stroke-width=\"1\" />\n \n <!-- Line Path -->\n <path d=\"M 50,150 Q 150,140 250,90 T 450,40 L 450,170 L 50,170 Z\" fill=\"url(#chartGrad)\" />\n <path d=\"M 50,150 Q 150,140 250,90 T 450,40\" fill=\"none\" stroke=\"#00f2fe\" stroke-width=\"3\" />\n \n <!-- Nodes -->\n <circle cx=\"50\" cy=\"150\" r=\"4\" fill=\"#00f2fe\" />\n <circle cx=\"250\" cy=\"90\" r=\"4\" fill=\"#00f2fe\" />\n <circle cx=\"450\" cy=\"40\" r=\"5\" fill=\"#f00c93\" />\n \n <!-- Labels -->\n <text x=\"50\" y=\"165\" fill=\"rgba(255,255,255,0.4)\" font-size=\"9\" text-anchor=\"middle\">Q1 2026</text>\n <text x=\"250\" y=\"110\" fill=\"rgba(255,255,255,0.4)\" font-size=\"9\" text-anchor=\"middle\">Despliegue</text>\n <text x=\"450\" y=\"25\" fill=\"#f00c93\" font-size=\"10\" font-weight=\"bold\" text-anchor=\"middle\">ROI +85%</text>\n </svg>\n </div>\n </div>\n\n <!-- Speed KPI Card -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col justify-between\">\n <div class=\"flex flex-col gap-2\">\n <h3 class=\"text-sm font-bold uppercase tracking-widest text-slate-400\">Indicadores Clave (KPIs)</h3>\n <div class=\"text-5xl font-black text-neon-cyan my-3\">0.4s</div>\n <div class=\"text-sm font-bold text-white\">Tiempo de Carga Promedio</div>\n </div>\n \n <div class=\"flex flex-col gap-3 mt-4\">\n <div class=\"text-xs text-slate-400 flex gap-2\">\n <span class=\"text-neon-cyan\">⚡</span> Renderizado del lado del cliente altamente eficiente.\n </div>\n <div class=\"text-xs text-slate-400 flex gap-2\">\n <span class=\"text-neon-cyan\">⚡</span> Compresión automatizada de activos de imagen.\n </div>\n <div class=\"text-xs text-slate-400 flex gap-2\">\n <span class=\"text-neon-cyan\">⚡</span> Memoria caché distribuida para directorios AD.\n </div>\n </div>\n </div>\n </div>\n\n <!-- Incident response efficiency comparison (Slide 9) -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col gap-4\">\n <h3 class=\"text-sm font-bold uppercase tracking-widest text-slate-400\">Eficiencia en Resolución de Incidencias</h3>\n <p class=\"text-xs text-slate-400\">Reducción drástica del tiempo de respuesta mediante el módulo de ticketing inteligente de Kinetix.</p>\n \n <!-- Custom styled CSS bar chart -->\n <div class=\"flex flex-col gap-4 mt-2\">\n <!-- Kinetix V2 Bar -->\n <div class=\"flex flex-col md:flex-row md:items-center gap-2\">\n <span class=\"w-32 text-xs font-bold text-white\">Kinetix V2 (Actual)</span>\n <div class=\"flex-grow bg-white/5 rounded-full overflow-hidden h-7 border border-white/5 relative\">\n <div class=\"bg-gradient-to-r from-cyan-400 to-indigo-500 h-full rounded-full transition-all duration-1000\" style=\"width: 26%\"></div>\n <span class=\"absolute right-3 top-1 text-xs font-bold text-cyan-400\">12 min</span>\n </div>\n </div>\n\n <!-- Industry Average Bar -->\n <div class=\"flex flex-col md:flex-row md:items-center gap-2\">\n <span class=\"w-32 text-xs font-bold text-slate-400\">Promedio Industria</span>\n <div class=\"flex-grow bg-white/5 rounded-full overflow-hidden h-7 border border-white/5 relative\">\n <div class=\"bg-slate-700 h-full rounded-full transition-all duration-1000\" style=\"width: 55%\"></div>\n <span class=\"absolute right-3 top-1 text-xs font-bold text-slate-300\">25 min</span>\n </div>\n </div>\n\n <!-- Previous system Bar -->\n <div class=\"flex flex-col md:flex-row md:items-center gap-2\">\n <span class=\"w-32 text-xs font-bold text-slate-400\">Sistema Anterior</span>\n <div class=\"flex-grow bg-white/5 rounded-full overflow-hidden h-7 border border-white/5 relative\">\n <div class=\"bg-slate-800 h-full rounded-full transition-all duration-1000\" style=\"width: 100%\"></div>\n <span class=\"absolute right-3 top-1 text-xs font-bold text-slate-400\">45 min</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n\n <!-- ================= PAGE 6: ADMIN ================= -->\n @if (activeTab() === 'admin') {\n <div class=\"flex flex-col gap-6 animate-fadeIn\">\n <h2 class=\"text-2xl font-black text-white uppercase tracking-tight\">Visión de Administrador</h2>\n\n <div class=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n <!-- Radial/Circle visualization of status -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col items-center justify-center gap-4\">\n <h3 class=\"text-sm font-bold uppercase tracking-widest text-slate-400 self-start\">Control Total</h3>\n \n <div class=\"relative w-40 h-40 flex items-center justify-center\">\n <!-- Custom CSS circle progress -->\n <div class=\"w-full h-full rounded-full border-8 border-white/5 absolute\"></div>\n <div class=\"w-full h-full rounded-full border-8 border-cyan-400 border-t-transparent border-l-transparent absolute animate-[spin_4s_linear_infinite]\"></div>\n \n <div class=\"flex flex-col items-center\">\n <span class=\"text-3xl font-black text-white\">94%</span>\n <span class=\"text-[9px] uppercase tracking-widest text-slate-400\">ESTABILIDAD</span>\n </div>\n </div>\n \n <span class=\"text-xs text-slate-400 text-center mt-2\">Monitoreo activo de solicitudes y API gateways de NestJS.</span>\n </div>\n\n <!-- Critical Alerts & Approvals -->\n <div class=\"lg:col-span-2 flex flex-col gap-6\">\n <!-- Critical Alerts -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col gap-4 border-l-4 border-l-magenta-500\">\n <h3 class=\"text-sm font-bold uppercase tracking-widest text-magenta-400\">Alertas Críticas</h3>\n \n <div class=\"flex flex-col gap-2\">\n <div class=\"flex justify-between items-center text-xs p-2.5 rounded-lg bg-magenta-500/5 border border-magenta-500/10 text-magenta-300\">\n <span>🔧 Mantenimiento de servidor de base de datos PostgreSQL</span>\n <strong class=\"text-magenta-400\">PENDIENTE</strong>\n </div>\n <div class=\"flex justify-between items-center text-xs p-2.5 rounded-lg bg-white/5 border border-white/5 text-slate-300\">\n <span>🔒 Expiración de secretos de Azure AD Client credentials</span>\n <strong class=\"text-white/50\">En 12 días</strong>\n </div>\n </div>\n </div>\n\n <!-- Approvals List -->\n <div class=\"glass-panel p-6 rounded-2xl flex flex-col gap-4 border-l-4 border-l-purple-500\">\n <h3 class=\"text-sm font-bold uppercase tracking-widest text-purple-400\">Aprobaciones de Contenido</h3>\n \n <div class=\"flex flex-col gap-2\">\n <div class=\"flex justify-between items-center text-xs p-3 rounded-lg bg-white/5 border border-white/5\">\n <div class=\"flex flex-col\">\n <span class=\"font-bold text-white\">Lanzamiento Kinetix V2 Intranet</span>\n <span class=\"text-[10px] text-slate-400\">Autor: Director de Tecnología (SSO AD)</span>\n </div>\n <button (click)=\"approveItem('Lanzamiento Kinetix V2')\" class=\"px-3 py-1.5 rounded-lg bg-purple-600 text-white font-extrabold text-[10px] uppercase hover:bg-purple-500 transition\">\n Aprobar y Postear\n </button>\n </div>\n\n <div class=\"flex justify-between items-center text-xs p-3 rounded-lg bg-white/5 border border-white/5\">\n <div class=\"flex flex-col\">\n <span class=\"font-bold text-white\">Manual del Desarrollador Backend NestJS</span>\n <span class=\"text-[10px] text-slate-400\">Autor: Arquitecto Principal</span>\n </div>\n <button (click)=\"approveItem('Manual del Desarrollador')\" class=\"px-3 py-1.5 rounded-lg bg-purple-600 text-white font-extrabold text-[10px] uppercase hover:bg-purple-500 transition\">\n Aprobar y Postear\n </button>\n </div>\n </div>\n \n @if (approvalSuccess()) {\n <div class=\"text-xs text-green-400 font-bold bg-green-500/10 border border-green-500/15 p-2 rounded-lg text-center animate-fadeIn\">\n {{ approvalSuccess() }}\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n }\n\n </main>\n </div>\n `,\n styles: [`\n .animate-fadeIn {\n animation: fadeIn 0.4s ease-out forwards;\n }\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `]\n})\nexport class DashboardComponent implements OnInit {\n private router = inject(Router);\n\n // Navigation active tab signal\n activeTab = signal<'inicio' | 'directory' | 'workflow' | 'spaces' | 'metrics' | 'admin'>('inicio');\n\n // Directory filter signals\n searchQuery = signal<string>('');\n selectedDept = signal<string>('ALL');\n\n // Booking & Simulation mock state signals\n bookingSuccess = signal<boolean>(false);\n simulationStatus = signal<string>('');\n approvalSuccess = signal<string>('');\n\n // Sincronized Active Directory Active Profile signal\n currentUser = signal<UserProfile>({\n name: 'Invitado',\n email: 'guest@kinetix.com',\n role: 'Employee',\n avatar: 'G'\n });\n\n // Active Directory mock database of employees exactly styled as Slide 4\n employees = signal<Employee[]>([\n {\n id: 1,\n name: 'John Morton',\n role: 'UI/UX Designer',\n rating: 4.9,\n clients: 50,\n rate: 65,\n avatar: 'JM',\n tags: ['App Design', 'Web Design', 'Figma', 'Active Directory']\n },\n {\n id: 2,\n name: 'Sarah Jenkins',\n role: 'Backend NestJS Architect',\n rating: 4.8,\n clients: 42,\n rate: 75,\n avatar: 'SJ',\n tags: ['NestJS', 'PostgreSQL', 'JWT', 'Active Directory']\n },\n {\n id: 3,\n name: 'Alex Rivera',\n role: 'Senior Angular Developer',\n rating: 4.9,\n clients: 68,\n rate: 70,\n avatar: 'AR',\n tags: ['Angular 17', 'Signals', 'RxJS', 'TypeScript']\n },\n {\n id: 4,\n name: 'David Chen',\n role: 'Infrastructure Security Engineer',\n rating: 4.7,\n clients: 25,\n rate: 80,\n avatar: 'DC',\n tags: ['Azure Entra ID', 'SSO', 'Docker', 'PostgreSQL']\n }\n ]);\n\n // Computed signal to filter employee list reactively\n filteredEmployees = computed(() => {\n const query = this.searchQuery().toLowerCase();\n const dept = this.selectedDept();\n \n return this.employees().filter(emp => {\n // Basic text search filter\n const matchesSearch = emp.name.toLowerCase().includes(query) || \n emp.role.toLowerCase().includes(query) ||\n emp.tags.some(t => t.toLowerCase().includes(query));\n \n // Basic department match\n let matchesDept = true;\n if (dept !== 'ALL') {\n if (dept === 'IT') {\n matchesDept = emp.role.includes('Backend') || emp.role.includes('Angular') || emp.role.includes('Infrastructure');\n } else if (dept === 'Diseño') {\n matchesDept = emp.role.includes('Designer') || emp.role.includes('UX');\n } else if (dept === 'Mantenimiento') {\n matchesDept = emp.role.includes('Security');\n }\n }\n \n return matchesSearch && matchesDept;\n });\n });\n\n ngOnInit() {\n // Load Active Directory profile from local storage\n const userStr = localStorage.getItem('kinetix_user');\n if (userStr) {\n try {\n const user = JSON.parse(userStr);\n this.currentUser.set(user);\n } catch (e) {\n console.error('Error parsing user profile from local storage', e);\n }\n }\n }\n\n setActiveTab(tab: 'inicio' | 'directory' | 'workflow' | 'spaces' | 'metrics' | 'admin') {\n this.activeTab.set(tab);\n // Reset secondary flags\n this.bookingSuccess.set(false);\n this.simulationStatus.set('');\n this.approvalSuccess.set('');\n }\n\n updateSearch(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this.searchQuery.set(value);\n }\n\n updateDept(event: Event) {\n const value = (event.target as HTMLSelectElement).value;\n this.selectedDept.set(value);\n }\n\n contactEmployee(name: string) {\n alert(`Iniciando canal seguro encriptado de comunicación con ${name} vía Microsoft Teams (SSO Active Directory)...`);\n }\n\n runSimulation() {\n this.simulationStatus.set('Procesando reglas...');\n setTimeout(() => {\n this.simulationStatus.set('Creación capturada ✓');\n setTimeout(() => {\n this.simulationStatus.set('Reglas AD aprobadas ✓');\n setTimeout(() => {\n this.simulationStatus.set('Posteo social programado ✓');\n }, 1000);\n }, 1000);\n }, 1000);\n }\n\n bookSpace() {\n this.bookingSuccess.set(true);\n }\n\n approveItem(title: string) {\n this.approvalSuccess.set(`Publicación \"${title}\" aprobada y publicada en redes corporativas con éxito.`);\n setTimeout(() => {\n this.approvalSuccess.set('');\n }, 4000);\n }\n\n logout() {\n localStorage.removeItem('kinetix_token');\n localStorage.removeItem('kinetix_user');\n this.router.navigate(['/login']);\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}