{"id":992031,"date":"2026-08-28T11:29:22","date_gmt":"2026-08-28T09:29:22","guid":{"rendered":"https:\/\/www.ascen.net\/?page_id=992031"},"modified":"2026-08-28T15:26:02","modified_gmt":"2026-08-28T13:26:02","slug":"agenda","status":"publish","type":"page","link":"https:\/\/www.ascen.net\/es\/agenda\/","title":{"rendered":"Agenda"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"992031\" class=\"elementor elementor-992031\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a89c9a e-flex e-con-boxed e-con e-parent\" data-id=\"4a89c9a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a6aa24e elementor-widget__width-inherit elementor-widget elementor-widget-shortcode\" data-id=\"a6aa24e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<!-- ASCEN Agenda v1 -->\n<style>\n\/* === Contenidor ================================================== *\/\n.ag-wrap { margin: 0 auto; font-family: inherit; }\n\n\/* === Pestanyes de vista ========================================== *\/\n.ag-tabs { display: flex; gap: 0; border: 1px solid #dde3e3; border-radius: 30px; overflow: hidden; width: fit-content; height: 38px; box-sizing: border-box; }\n.ag-tab { padding: 0 22px; font-size: 14px; font-weight: 500; cursor: pointer; background: #fff; color: #5a6868; border: none; transition: all .15s; user-select: none; display: flex; align-items: center; justify-content: center; }\n.ag-tab:first-child { border-radius: 30px 0 0 30px; }\n.ag-tab:last-child  { border-radius: 0 30px 30px 0; }\n.ag-tab.ag-active { background: #00313c; color: #fff; }\n.ag-tab:not(.ag-active):hover { background: #f4f7f7; }\n\n\/* === Cercador ===================================================== *\/\n.ag-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 1.25rem; }\n.ag-search { box-sizing: border-box !important; height: 38px; padding: 0 16px 0 38px !important; border: 1px solid #ddd; border-radius: 30px; font-size: 14px; min-width: 220px; outline: none; flex: 1; max-width: 360px; background: #fff url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%238a9494' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'\/%3E%3Cline x1='11' y1='11' x2='14.5' y2='14.5'\/%3E%3C\/svg%3E\") no-repeat 14px center !important; }\n.ag-search:focus { border-color: #ec613d; }\n.ag-search::placeholder { color: #aab4b4; }\n.ag-count { font-size: 13px; color: #8a9494; }\n\n\/* === Amagar \/ Mostrar ============================================ *\/\n.ag-hidden { display: none !important; }\n\n\/* === VISTA LLISTA ================================================ *\/\n.ag-list { display: flex; flex-direction: column; gap: 12px; }\n.ag-card { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 1.15rem 1.25rem; display: flex; gap: 18px; align-items: flex-start; transition: border-color .15s; }\n.ag-card:hover { border-color: #cdd5d5; }\n\n\/* Bloc data esquerra *\/\n.ag-date-block { flex-shrink: 0; width: 60px; text-align: center; background: #f5f8f8; border-radius: 10px; padding: 10px 6px; }\n.ag-date-day { font-size: 26px; font-weight: 700; color: #00313c; line-height: 1; }\n.ag-date-month { font-size: 12px; font-weight: 600; color: #8a9494; text-transform: uppercase; margin-top: 3px; letter-spacing: .5px; }\n.ag-date-weekday { font-size: 11px; color: #a8b2b2; margin-top: 2px; }\n\n\/* Contingut central *\/\n.ag-body { flex: 1; min-width: 0; }\n.ag-title { font-size: 16px !important; font-weight: 600; color: #00313c; margin: 0 0 6px !important; line-height: 1.35 !important; padding: 0 !important; }\n.ag-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 8px; }\n.ag-meta-item { font-size: 13px; color: #6b7676; display: flex; align-items: center; gap: 5px; }\n.ag-meta-item svg { width: 14px; height: 14px; flex-shrink: 0; opacity: .6; }\n.ag-pill { display: inline-block; font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 20px; line-height: 1.3; }\n.ag-pill-presencial { background: #e8f5ee; color: #1a7a42; }\n.ag-pill-online     { background: #e8eef5; color: #2a5a9a; }\n.ag-pill-hibrida    { background: #f5f0e8; color: #8a6a2a; }\n.ag-pill-default    { background: #f0f3f4; color: #5a6868; }\n\n\/* Hora *\/\n.ag-time { font-size: 13px; color: #8a9494; margin-bottom: 2px; }\n\n\/* Accions *\/\n.ag-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }\n.ag-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px; border-radius: 30px; font-size: 13px; font-weight: 500; text-decoration: none; border: none; cursor: pointer; transition: all .15s; line-height: 1; }\n.ag-btn-primary { background: #ec613d; color: #fff; }\n.ag-btn-primary:hover { background: #d9532f; color: #fff; }\n.ag-btn-secondary { background: #fff; color: #00313c; border: 1px solid #dde3e3; }\n.ag-btn-secondary:hover { border-color: #00313c; }\n.ag-btn svg { width: 14px; height: 14px; }\n\n\/* Buit *\/\n.ag-empty { text-align: center; padding: 3rem 1rem; color: #8a9494; font-size: 14px; }\n\n\/* Cap\u00e7alera de mes (llista) *\/\n.ag-month-header { font-size: 14px; font-weight: 600; color: #00313c; padding: 8px 0 4px; margin-top: 8px; border-bottom: 1px solid #eee; letter-spacing: .3px; }\n.ag-month-header:first-child { margin-top: 0; }\n\n\/* Filtre de mesos (llista) *\/\n\n\/* === VISTA CALENDARI ============================================= *\/\n\n\/* Cap\u00e7alera mes *\/\n.ag-cal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }\n.ag-cal-nav { display: flex; align-items: center; gap: 4px; }\n.ag-cal-arrow { width: 36px; height: 36px; border: 1px solid #dde3e3; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; cursor: pointer; font-size: 18px; color: #00313c; transition: all .15s; user-select: none; line-height: 1; }\n.ag-cal-arrow:hover { border-color: #00313c; background: #f4f7f7; }\n.ag-cal-month { font-size: 18px; font-weight: 700; color: #00313c; min-width: 200px; text-align: center; }\n.ag-cal-today { padding: 7px 16px; border: 1px solid #dde3e3; border-radius: 30px; background: #fff; font-size: 13px; color: #00313c; cursor: pointer; font-weight: 500; transition: all .15s; }\n.ag-cal-today:hover { border-color: #00313c; }\n\n\/* Graella *\/\n.ag-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid #eee; border-radius: 12px; overflow: hidden; background: #eee; gap: 1px; }\n.ag-cal-dow { background: #f5f8f8; padding: 10px 4px; text-align: center; font-size: 12px; font-weight: 600; color: #8a9494; text-transform: uppercase; letter-spacing: .5px; }\n.ag-cal-cell { background: #fff; min-height: 90px; padding: 6px 6px; position: relative; vertical-align: top; overflow: hidden; }\n.ag-cal-cell.ag-cal-other { background: #fafbfb; }\n.ag-cal-cell.ag-cal-today-cell { background: #fdf6f4; }\n.ag-cal-cell-num { font-size: 13px; font-weight: 600; color: #00313c; margin-bottom: 4px; }\n.ag-cal-cell.ag-cal-other .ag-cal-cell-num { color: #c0c8c8; }\n.ag-cal-cell.ag-cal-today-cell .ag-cal-cell-num { color: #ec613d; }\n\n\/* Events dins del calendari *\/\n.ag-cal-ev { display: block; font-size: 11px; padding: 2px 5px; margin-bottom: 2px; border-radius: 4px; background: #e8f0f1; color: #00313c; font-weight: 500; cursor: pointer; overflow: hidden; text-overflow: ellipsis; text-decoration: none; transition: background .15s; line-height: 1.25; white-space: nowrap; }\n.ag-cal-ev:hover { background: #d4e2e4; color: #00313c; }\n.ag-cal-ev.ag-cal-ev-dest { background: #fde8e0; color: #c44a2a; }\n.ag-cal-ev.ag-cal-ev-dest:hover { background: #fad5c8; }\n.ag-cal-more { font-size: 11px; color: #8a9494; padding: 2px 6px; cursor: pointer; }\n.ag-cal-more:hover { color: #00313c; }\n\n\/* Popup event (calendari) *\/\n.ag-popup-overlay { display: none; position: fixed; inset: 0; background: rgba(0,49,60,.35); z-index: 9999; align-items: center; justify-content: center; }\n.ag-popup-overlay.ag-visible { display: flex; }\n.ag-popup { background: #fff; border-radius: 14px; max-width: 460px; width: 90%; padding: 28px 26px; position: relative; box-shadow: 0 12px 48px rgba(0,0,0,.18); }\n.ag-popup-close { position: absolute; top: 14px; right: 16px; width: 32px; height: 32px; border: none; background: #f0f3f4; border-radius: 50%; cursor: pointer; font-size: 18px; display: flex; align-items: center; justify-content: center; color: #5a6868; transition: all .15s; }\n.ag-popup-close:hover { background: #e0e5e5; }\n.ag-popup h3 { margin: 0 0 12px !important; font-size: 18px !important; color: #00313c; font-weight: 700; padding-right: 36px; line-height: 1.35 !important; }\n.ag-popup .ag-meta { margin-bottom: 12px; }\n.ag-popup .ag-actions { margin-top: 14px; }\n\n\/* === Panell detall dia (m\u00f2bil) ==================================== *\/\n.ag-day-detail { margin-top: 12px; background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 16px; }\n.ag-day-detail-head { font-size: 14px; font-weight: 600; color: #00313c; margin: 0 0 10px; display: flex; align-items: center; justify-content: space-between; }\n.ag-day-detail-close { width: 28px; height: 28px; border: none; background: #f0f3f4; border-radius: 50%; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; color: #5a6868; }\n.ag-day-detail .ag-card { border: none; padding: 10px 0; border-bottom: 1px solid #f0f3f4; }\n.ag-day-detail .ag-card:last-child { border-bottom: none; padding-bottom: 0; }\n\n\/* Indicadors (punts) per m\u00f2bil *\/\n.ag-cal-dots { display: none; }\n\n\/* === RESPONSIVE ================================================== *\/\n@media (max-width: 600px) {\n\t.ag-card { flex-direction: column; gap: 10px; }\n\t.ag-date-block { width: auto; display: flex; align-items: baseline; gap: 8px; padding: 8px 12px; flex-direction: row; }\n\t.ag-date-month { margin-top: 0; }\n\t.ag-date-weekday { margin-top: 0; }\n\t.ag-cal-month { font-size: 15px; min-width: 140px; }\n\t.ag-toolbar { flex-direction: column; align-items: stretch; }\n\t.ag-tabs { width: 100%; }\n\t.ag-tab { flex: 1; text-align: center; }\n\t.ag-search { max-width: none; width: 100%; }\n\n\t\/* Calendari compacte m\u00f2bil *\/\n\t.ag-cal-cell { min-height: auto; padding: 8px 2px; text-align: center; cursor: pointer; }\n\t.ag-cal-cell.ag-cal-sel { background: #e8f0f1; }\n\t.ag-cal-cell-num { margin-bottom: 2px; text-align: center; }\n\t.ag-cal-ev { display: none; }\n\t.ag-cal-more { display: none; }\n\t.ag-cal-dots { display: flex; justify-content: center; gap: 3px; margin-top: 2px; }\n\t.ag-cal-dot { width: 6px; height: 6px; border-radius: 50%; background: #1d9e75; flex-shrink: 0; }\n\t.ag-cal-dot.ag-cal-dot-dest { background: #ec613d; }\n\t.ag-cal-dot-more { width: 6px; height: 6px; border-radius: 50%; background: #cdd5d5; flex-shrink: 0; }\n}\n<\/style>\n\n<div class=\"ag-wrap\" id=\"ascen-agenda\">\n\n\t<!-- Barra superior: pestanyes + cercador -->\n\t<div class=\"ag-toolbar\">\n\t\t<div class=\"ag-tabs\">\n\t\t\t<button class=\"ag-tab ag-active\" data-view=\"list\">Lista<\/button>\n\t\t\t<button class=\"ag-tab\" data-view=\"cal\">Calendario<\/button>\n\t\t<\/div>\n\t\t<input type=\"text\" class=\"ag-search\" id=\"ag-search\" placeholder=\"Buscar evento\u2026\">\n\t\t<span class=\"ag-count\" id=\"ag-count\"><\/span>\n\t<\/div>\n\n\t<!-- Vista llista -->\n\t<div class=\"ag-list\" id=\"ag-list\"><\/div>\n\n\t<!-- Vista calendari -->\n\t<div class=\"ag-cal ag-hidden\" id=\"ag-cal\">\n\t\t<div class=\"ag-cal-header\">\n\t\t\t<div class=\"ag-cal-nav\">\n\t\t\t\t<span class=\"ag-cal-arrow\" id=\"ag-prev\">\u2039<\/span>\n\t\t\t\t<span class=\"ag-cal-month\" id=\"ag-month-label\"><\/span>\n\t\t\t\t<span class=\"ag-cal-arrow\" id=\"ag-next\">\u203a<\/span>\n\t\t\t<\/div>\n\t\t\t<button class=\"ag-cal-today\" id=\"ag-today-btn\">Hoy<\/button>\n\t\t<\/div>\n\t\t<div class=\"ag-cal-grid\" id=\"ag-grid\"><\/div>\n\t\t<div class=\"ag-day-detail ag-hidden\" id=\"ag-day-detail\"><\/div>\n\t<\/div>\n\n\t<!-- Popup detall -->\n\t<div class=\"ag-popup-overlay\" id=\"ag-popup-overlay\">\n\t\t<div class=\"ag-popup\" id=\"ag-popup\"><\/div>\n\t<\/div>\n\n<\/div>\n\n<!-- Dades injectades -->\n<script type=\"application\/json\" id=\"ascen-agenda-data\">[{\"nom\":\"Assemblea Conpymes\",\"inici\":\"2026-03-26T16:30:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Reuni\\u00f3 comissi\\u00f3 sectorial\",\"inici\":\"2026-03-26T16:30:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comit\\u00e8 executiu ampliat Pimec\",\"inici\":\"2026-04-07T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora del conveni col\\u00b7lectiu\",\"inici\":\"2026-04-13T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Fira Interclean Amsterdam\",\"inici\":\"2026-04-14T09:00:00.000Z\",\"fi\":\"2026-04-17T18:00:00.000Z\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta directiva ASCEN\",\"inici\":\"2026-04-15T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva Pimec\",\"inici\":\"2026-04-21T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora del conveni col\\u00b7lectiu\",\"inici\":\"2026-04-29T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 laboral\",\"inici\":\"2026-04-30T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ASCEN\",\"inici\":\"2026-05-06T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comit\\u00e8 executiu Pimec\",\"inici\":\"2026-05-12T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva Pimec\",\"inici\":\"2026-05-12T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Assemblea Pimec\",\"inici\":\"2026-05-12T17:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ACEDE\",\"inici\":\"2026-05-19T12:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora del conveni col\\u00b7lectiu\",\"inici\":\"2026-05-20T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva AFELIN\",\"inici\":\"2026-05-26T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 Sectorial\",\"inici\":\"2026-05-28T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Jornada Alianzas \\u201cEl valor de lo esencial\\u201d\",\"inici\":\"2026-06-01T09:00:00.000Z\",\"fi\":\"2026-06-01T18:00:00.000Z\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comit\\u00e8 Executiu Ampliat Pimec\",\"inici\":\"2026-06-02T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa Negociadora del Conveni Col\\u00b7lectiu\",\"inici\":\"2026-06-04T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"46a Nit Empresarial de la Neteja\",\"inici\":\"2026-06-05T20:30:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora del conveni\",\"inici\":\"2026-06-11T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Webinar: Programari de gesti\\u00f3 per a empreses de Facility Services\",\"inici\":\"2026-06-16T10:00:00.000Z\",\"fi\":\"2026-06-16T11:00:00.000Z\",\"modalitat\":\"Online\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ASCEN\",\"inici\":\"2026-06-17T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Jornada: Els efectes laborals de la incapacitat temporal amb la nova normativa (Teams)\",\"inici\":\"2026-06-18T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva AFELIN\",\"inici\":\"2026-06-19T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora del conveni\",\"inici\":\"2026-07-01T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ACEDE\",\"inici\":\"2026-07-02T12:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Reuni\\u00f3 al SOC amb el Subdirector General d\\u2019Ocupaci\\u00f3 i Territori al SOC i el Subdirector d\\u2019Ocupaci\\u00f3 Juvenil i Qualificaci\\u00f3 Professional\",\"inici\":\"2026-07-07T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva Pimec\",\"inici\":\"2026-07-07T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Assemblea ACEDE\",\"inici\":\"2026-07-09T12:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora del conveni\",\"inici\":\"2026-07-13T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva AFELIN\",\"inici\":\"2026-07-14T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ASCEN\",\"inici\":\"2026-07-15T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 Sectorial\",\"inici\":\"2026-07-16T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comit\\u00e8 Executiu Ampliat Pimec\",\"inici\":\"2026-07-21T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 laboral\",\"inici\":\"2026-07-23T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 Sectorial\",\"inici\":\"2026-07-23T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Reuni\\u00f3 comissi\\u00f3 imatge - Revista E&L\",\"inici\":\"2026-07-28T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Reuni\\u00f3 amb directora Socis Col\\u00b7lectius Pimec\",\"inici\":\"2026-08-03T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Trobada \\u00d2rgans Govern Pimec\",\"inici\":\"2026-08-29T10:30:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Reuni\\u00f3 Comissi\\u00f3 absentisme\",\"inici\":\"2026-09-08T10:00:00.000Z\",\"fi\":\"2026-09-08T15:00:00.000Z\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comit\\u00e8 Executiu Ampliat Pimec\",\"inici\":\"2026-09-08T16:30:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"Pimec. Carrer de Viladomat, 174, L\\u2019Eixample, 08015 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ACEDE\",\"inici\":\"2026-09-15T12:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Incapacitat temporal i plusos d\\u2019assist\\u00e8ncia: novetats jur\\u00eddiques i eines de gesti\\u00f3 per a les empreses\",\"inici\":\"2026-09-16T07:30:00.000Z\",\"fi\":\"2026-09-16T10:00:00.000Z\",\"modalitat\":\"Presencial\",\"lloc\":\"Auditori de Pimec. Carrer de Viladomat, 174, L\\u2019Eixample, 08015 Barcelona\",\"inscripcio\":true,\"destacar\":true,\"mesInfo\":\"https:\\\/\\\/pimec.org\\\/agenda\\\/acte\\\/n\\\/pimec-informa-incapacitat-temporal-i-plusos-d-assistencia-novetats-juridiques-i-eines-de-gestio-per-a-les-empreses\",\"enlaceInscr\":\"https:\\\/\\\/pimec.org\\\/agenda\\\/inscripcio-actes\\\/?id=701472\"},{\"nom\":\"Junta Directiva ASCEN\",\"inici\":\"2026-09-16T14:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"ASCEN - Carrer de Biscaia, 441, Sant Andreu, 08027 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora conveni neteja\",\"inici\":\"2026-09-17T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 Sectorial\",\"inici\":\"2026-09-17T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Curs de neteja de vidres: t\\u00e8cnica professional\",\"inici\":\"2026-09-18T08:00:00.000Z\",\"fi\":\"2026-09-18T10:00:00.000Z\",\"modalitat\":\"Presencial\",\"lloc\":\"ASCEN - Carrer de Biscaia, 441, Sant Andreu, 08027 Barcelona\",\"inscripcio\":true,\"destacar\":true,\"mesInfo\":\"https:\\\/\\\/v5.airtableusercontent.com\\\/v3\\\/u\\\/56\\\/56\\\/1787997600000\\\/1Lew_IVaRca4MO9bJ0gcYA\\\/Oqs86nzWSo-ZQuGii8FCIBGeo-Re7ZU20lUjXiSUuwuNZeIr0rDHJLiLs1AF10875quwzeS9K6TUTw-lDTIEuh1y-5Si66thzuzSrhieBqmALmVygnJwtnatJiEVLMVWiGirDrs4t3OMkZr6KA-htOfqFck8g3KAzjI-zshusVE3VJyrMLHhDovgRxRQV8y6\\\/WuaROBX0gufBLl7FIDxHQ82HXKwrL1sj-x67lv2HBYA\",\"enlaceInscr\":\"\"},{\"nom\":\"Taula Contractaci\\u00f3 P\\u00fablica Ajuntament de Barcelona\",\"inici\":\"2026-09-18T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Formaci\\u00f3 neteja de Vidres\",\"inici\":\"2026-09-18T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva AFELIN\",\"inici\":\"2026-09-22T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva Pimec\",\"inici\":\"2026-09-22T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"Pimec. Carrer de Viladomat, 174, L\\u2019Eixample, 08015 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Mesa negociadora conveni neteja\",\"inici\":\"2026-10-05T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Jornada d'empesaris de neteja a Girona\",\"inici\":\"2026-10-08T14:00:00.000Z\",\"fi\":\"2026-10-08T16:00:00.000Z\",\"modalitat\":\"Presencial\",\"lloc\":\"Seu Pimec a Girona C. de Manel Bonmat\\u00ed i Romaguera, 2, 17003 Girona\",\"inscripcio\":true,\"destacar\":false,\"mesInfo\":\"https:\\\/\\\/v5.airtableusercontent.com\\\/v3\\\/u\\\/56\\\/56\\\/1787997600000\\\/apGuMYSvToCzJMx6xRhmYg\\\/wtVpIJhvM8AmLWOeZmxwDuvZ6-f9omTjo99J5VNMJ72_UKruKXYV1VP_NA-Fo8LJUlrdMxUbpMUmuJLUlCAhcGlm2PYG09XLddykhU7mZ3E48nHyNQY3dgvtbzd8BsiPHUuQ9BCL-sV_Et8-q1CmpKiikvcEHcbKLUNKK_732x7ku1rddVulamphi6-U86EG\\\/i-6Zr2jItZ71mly1IH497y3gvYvjQErB7qcKWWDXUZI\",\"enlaceInscr\":\"\"},{\"nom\":\"Reuni\\u00f3 Empresaris de Neteja a Girona\",\"inici\":\"2026-10-08T16:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva AFELIN\",\"inici\":\"2026-10-13T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Trobada empresarial AFELIN\",\"inici\":\"2026-10-14T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ASCEN\",\"inici\":\"2026-10-21T14:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"ASCEN - Carrer de Biscaia, 441, Sant Andreu, 08027 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Sal\\u00f3 de l\\u2019Ocupaci\\u00f3\",\"inici\":\"2026-10-22T09:00:00.000Z\",\"fi\":\"2026-10-24T18:00:00.000Z\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comit\\u00e8 Executiu Ampliat Pimec\",\"inici\":\"2026-10-27T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"Pimec. Carrer de Viladomat, 174, L\\u2019Eixample, 08015 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 Sectorial\",\"inici\":\"2026-10-29T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ASCEN\",\"inici\":\"2026-11-11T15:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"ASCEN - Carrer de Biscaia, 441, Sant Andreu, 08027 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva Pimec\",\"inici\":\"2026-11-17T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"Pimec. Carrer de Viladomat, 174, L\\u2019Eixample, 08015 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ACEDE\",\"inici\":\"2026-11-17T12:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 Sectorial\",\"inici\":\"2026-11-26T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva AFELIN\",\"inici\":\"2026-12-10T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comit\\u00e8 Executiu Ampliat Pimec\",\"inici\":\"2026-12-15T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"Pimec. Carrer de Viladomat, 174, L\\u2019Eixample, 08015 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 laboral\",\"inici\":\"2026-12-16T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Junta Directiva ASCEN\",\"inici\":\"2026-12-16T15:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"Presencial\",\"lloc\":\"ASCEN - Carrer de Biscaia, 441, Sant Andreu, 08027 Barcelona\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"},{\"nom\":\"Comissi\\u00f3 Sectorial\",\"inici\":\"2026-12-17T10:00:00.000Z\",\"fi\":\"\",\"modalitat\":\"\",\"lloc\":\"\",\"inscripcio\":false,\"destacar\":false,\"mesInfo\":\"\",\"enlaceInscr\":\"\"}]<\/script>\n<script type=\"application\/json\" id=\"ascen-agenda-txt\">{\"llista\":\"Lista\",\"calendari\":\"Calendario\",\"inscriure\":\"Inscribirse\",\"mesInfo\":\"M\\u00e1s informaci\\u00f3n\",\"lloc\":\"Lugar\",\"modalitat\":\"Modalidad\",\"buit\":\"No hay eventos programados.\",\"buitMes\":\"Ning\\u00fan evento este mes.\",\"anterior\":\"\\u2039\",\"seguent\":\"\\u203a\",\"avui\":\"Hoy\",\"mesos\":[\"Enero\",\"Febrero\",\"Marzo\",\"Abril\",\"Mayo\",\"Junio\",\"Julio\",\"Agosto\",\"Septiembre\",\"Octubre\",\"Noviembre\",\"Diciembre\"],\"dies\":[\"Lu\",\"Ma\",\"Mi\",\"Ju\",\"Vi\",\"S\\u00e1\",\"Do\"],\"diesLlarg\":[\"Lunes\",\"Martes\",\"Mi\\u00e9rcoles\",\"Jueves\",\"Viernes\",\"S\\u00e1bado\",\"Domingo\"],\"subjectePre\":\"Inscripci\\u00f3n: \",\"cercar\":\"Buscar evento\\u2026\",\"de\":\"de\",\"events\":\"eventos\",\"tot\":\"Todos\"}<\/script>\n\n<script>\n(function(){\n'use strict';\n\nvar raw  = JSON.parse(document.getElementById('ascen-agenda-data').textContent);\nvar T    = JSON.parse(document.getElementById('ascen-agenda-txt').textContent);\nvar wrap = document.getElementById('ascen-agenda');\nif (!wrap) return;\n\n\/* ---- Utilitats ------------------------------------------------- *\/\n\nfunction pad(n){ return n < 10 ? '0'+n : ''+n; }\n\nfunction parseDate(s){\n\tif (!s) return null;\n\treturn new Date(s);\n}\n\nfunction fmtTime(d){\n\tif (!d) return '';\n\treturn pad(d.getHours()) + ':' + pad(d.getMinutes());\n}\n\nfunction fmtDate(d){\n\tif (!d) return '';\n\treturn pad(d.getDate()) + '\/' + pad(d.getMonth()+1) + '\/' + d.getFullYear();\n}\n\nfunction dayName(d){\n\treturn T.diesLlarg ? T.diesLlarg[((d.getDay()+6)%7)] : '';\n}\n\nfunction monthName(m){ return T.mesos[m]; }\n\nfunction pillClass(m){\n\tif (!m) return 'ag-pill-default';\n\tvar l = m.toLowerCase();\n\tif (l.indexOf('presencial') >= 0) return 'ag-pill-presencial';\n\tif (l.indexOf('online') >= 0 || l.indexOf('l\u00ednia') >= 0 || l.indexOf('l\u00ednea') >= 0) return 'ag-pill-online';\n\tif (l.indexOf('h\u00edbrid') >= 0 || l.indexOf('mix') >= 0) return 'ag-pill-hibrida';\n\treturn 'ag-pill-default';\n}\n\n\/* icones svg inline *\/\nvar ICON = {\n\tclock: '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>',\n\tpin:   '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>',\n\tdoc:   '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><polyline points=\"14 2 14 8 20 8\"\/><\/svg>',\n\tmail:  '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"\/><polyline points=\"22,6 12,13 2,6\"\/><\/svg>',\n};\n\n\/* ---- Preparar events ------------------------------------------- *\/\n\nvar events = raw.map(function(e){\n\tvar ini = parseDate(e.inici);\n\tvar fi  = parseDate(e.fi);\n\treturn {\n\t\tnom:         e.nom,\n\t\tinici:       ini,\n\t\tfi:          fi,\n\t\tmodalitat:   e.modalitat,\n\t\tlloc:        e.lloc,\n\t\tinscripcio:  e.inscripcio,\n\t\tdestacar:    e.destacar,\n\t\tmesInfo:     e.mesInfo,\n\t\tenlaceInscr: e.enlaceInscr || ''\n\t};\n}).filter(function(e){ return e.inici; });\n\n\/* Nom\u00e9s futurs per la llista *\/\nvar now = new Date();\nnow.setHours(0,0,0,0);\n\nvar futurs = events.filter(function(e){\n\tvar dFi = e.fi || e.inici;\n\tvar cmp = new Date(dFi); cmp.setHours(23,59,59,999);\n\treturn cmp >= now;\n});\n\n\/* ---- Filtre de mesos ------------------------------------------- *\/\n\nfunction getFiltered(){\n\tif (!searchTerm) return futurs;\n\treturn futurs.filter(function(e){\n\t\tvar hay = normalize(e.nom) + ' ' + normalize(e.lloc || '') + ' ' + normalize(e.modalitat || '');\n\t\treturn hay.indexOf(searchTerm) >= 0;\n\t});\n}\n\n\n\/* ---- VISTA LLISTA ---------------------------------------------- *\/\n\nfunction renderList(){\n\tvar el = document.getElementById('ag-list');\n\tvar filtered = getFiltered();\n\tupdateCount(filtered.length, futurs.length);\n\tif (!filtered.length){\n\t\tel.innerHTML = '<div class=\"ag-empty\">' + (searchTerm ? T.buit : T.buit) + '<\/div>';\n\t\treturn;\n\t}\n\tvar html = '';\n\tvar lastMonthKey = '';\n\tfiltered.forEach(function(e){\n\t\tvar d   = e.inici;\n\n\t\t\/* Cap\u00e7alera de mes *\/\n\t\tvar monthKey = d.getFullYear() + '-' + d.getMonth();\n\t\tif (monthKey !== lastMonthKey) {\n\t\t\thtml += '<div class=\"ag-month-header\">' + monthName(d.getMonth()) + ' ' + d.getFullYear() + '<\/div>';\n\t\t\tlastMonthKey = monthKey;\n\t\t}\n\n\t\tvar hi  = fmtTime(d);\n\t\tvar hf  = e.fi ? fmtTime(e.fi) : '';\n\t\tvar hora = hi + (hf && hf !== hi ? ' \u2013 ' + hf : '');\n\n\t\thtml += '<div class=\"ag-card\">';\n\n\t\t\/* Bloc data *\/\n\t\thtml += '<div class=\"ag-date-block\">';\n\t\thtml += '<div class=\"ag-date-day\">' + d.getDate() + '<\/div>';\n\t\thtml += '<div class=\"ag-date-month\">' + monthName(d.getMonth()).substring(0,3) + '<\/div>';\n\t\thtml += '<div class=\"ag-date-weekday\">' + dayName(d) + '<\/div>';\n\t\thtml += '<\/div>';\n\n\t\t\/* Cos *\/\n\t\thtml += '<div class=\"ag-body\">';\n\t\thtml += '<h3 class=\"ag-title\">' + esc(e.nom) + '<\/h3>';\n\n\t\t\/* Meta *\/\n\t\thtml += '<div class=\"ag-meta\">';\n\t\tif (hora) {\n\t\t\thtml += '<span class=\"ag-meta-item\">' + ICON.clock + ' ' + hora + '<\/span>';\n\t\t}\n\t\tif (e.modalitat) {\n\t\t\thtml += '<span class=\"ag-pill ' + pillClass(e.modalitat) + '\">' + esc(e.modalitat) + '<\/span>';\n\t\t}\n\t\tif (e.lloc) {\n\t\t\thtml += '<span class=\"ag-meta-item\">' + ICON.pin + ' ' + esc(e.lloc) + '<\/span>';\n\t\t}\n\t\thtml += '<\/div>';\n\n\t\t\/* Accions *\/\n\t\thtml += '<div class=\"ag-actions\">';\n\t\tif (e.inscripcio) {\n\t\t\tvar inscrHref;\n\t\t\tif (e.enlaceInscr) {\n\t\t\t\tinscrHref = esc(e.enlaceInscr);\n\t\t\t\thtml += '<a class=\"ag-btn ag-btn-primary\" href=\"' + inscrHref + '\" target=\"_blank\" rel=\"noopener\">';\n\t\t\t} else {\n\t\t\t\tvar subj = encodeURIComponent(T.subjectePre + e.nom);\n\t\t\t\thtml += '<a class=\"ag-btn ag-btn-primary\" href=\"mailto:ascen@ascen.net?subject=' + subj + '\">';\n\t\t\t}\n\t\t\thtml += ICON.mail + ' ' + T.inscriure;\n\t\t\thtml += '<\/a>';\n\t\t}\n\t\tif (e.mesInfo) {\n\t\t\thtml += '<a class=\"ag-btn ag-btn-secondary\" href=\"' + esc(e.mesInfo) + '\" target=\"_blank\" rel=\"noopener\">';\n\t\t\thtml += T.mesInfo;\n\t\t\thtml += '<\/a>';\n\t\t}\n\t\thtml += '<\/div>'; \/* \/actions *\/\n\n\t\thtml += '<\/div>'; \/* \/body *\/\n\t\thtml += '<\/div>'; \/* \/card *\/\n\t});\n\n\tel.innerHTML = html;\n}\n\n\n\/* ---- VISTA CALENDARI ------------------------------------------- *\/\n\nvar calYear, calMonth;\n\nfunction initCal(){\n\tcalYear  = now.getFullYear();\n\tcalMonth = now.getMonth();\n\trenderCal();\n}\n\nfunction renderCal(){\n\tdocument.getElementById('ag-month-label').textContent = monthName(calMonth) + ' ' + calYear;\n\n\t\/* Tancar panell detall dia si estava obert *\/\n\tvar dayPanel = document.getElementById('ag-day-detail');\n\tif (dayPanel) { dayPanel.classList.add('ag-hidden'); selectedDay = null; }\n\n\tvar first = new Date(calYear, calMonth, 1);\n\tvar startDow = (first.getDay() + 6) % 7; \/* 0=dl *\/\n\tvar daysInMonth = new Date(calYear, calMonth+1, 0).getDate();\n\n\t\/* Trobar events d'aquest mes (amb filtre de cerca) *\/\n\tvar allMonthEvents = events.filter(function(e){\n\t\tvar eY = e.inici.getFullYear(), eM = e.inici.getMonth();\n\t\treturn eY === calYear && eM === calMonth;\n\t});\n\tvar monthEvents = allMonthEvents;\n\tif (searchTerm){\n\t\tmonthEvents = allMonthEvents.filter(function(e){\n\t\t\tvar hay = normalize(e.nom) + ' ' + normalize(e.lloc || '') + ' ' + normalize(e.modalitat || '');\n\t\t\treturn hay.indexOf(searchTerm) >= 0;\n\t\t});\n\t}\n\tupdateCount(monthEvents.length, allMonthEvents.length);\n\n\tvar grid = document.getElementById('ag-grid');\n\tvar html = '';\n\n\t\/* Cap\u00e7aleres dies *\/\n\tT.dies.forEach(function(d){ html += '<div class=\"ag-cal-dow\">' + d + '<\/div>'; });\n\n\t\/* Cel\u00b7les buides anteriors *\/\n\tvar prevMonth = new Date(calYear, calMonth, 0);\n\tfor (var pb = startDow - 1; pb >= 0; pb--){\n\t\thtml += '<div class=\"ag-cal-cell ag-cal-other\"><div class=\"ag-cal-cell-num\">' + (prevMonth.getDate() - pb) + '<\/div><\/div>';\n\t}\n\n\t\/* Cel\u00b7les del mes *\/\n\tvar todayStr = now.getFullYear() + '-' + pad(now.getMonth()+1) + '-' + pad(now.getDate());\n\n\tfor (var d = 1; d <= daysInMonth; d++){\n\t\tvar cellStr = calYear + '-' + pad(calMonth+1) + '-' + pad(d);\n\t\tvar isToday = cellStr === todayStr;\n\t\thtml += '<div class=\"ag-cal-cell' + (isToday ? ' ag-cal-today-cell' : '') + '\">';\n\t\thtml += '<div class=\"ag-cal-cell-num\">' + d + '<\/div>';\n\n\t\tvar dayEvs = monthEvents.filter(function(e){ return e.inici.getDate() === d; });\n\t\tvar shown = 0;\n\t\tdayEvs.forEach(function(e){\n\t\t\tif (shown >= 2){\n\t\t\t\tif (shown === 2) html += '<div class=\"ag-cal-more\" data-day=\"'+d+'\">+' + (dayEvs.length - 2) + '<\/div>';\n\t\t\t\tshown++;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thtml += '<div class=\"ag-cal-ev' + (e.destacar ? ' ag-cal-ev-dest' : '') + '\" data-idx=\"' + events.indexOf(e) + '\">';\n\t\t\tvar t = fmtTime(e.inici);\n\t\t\thtml += (t ? '<b>' + t + '<\/b> ' : '') + esc(e.nom);\n\t\t\thtml += '<\/div>';\n\t\t\tshown++;\n\t\t});\n\n\t\t\/* Punts indicadors per m\u00f2bil *\/\n\t\tif (dayEvs.length > 0) {\n\t\t\thtml += '<div class=\"ag-cal-dots\">';\n\t\t\tvar dots = Math.min(dayEvs.length, 3);\n\t\t\tfor (var di = 0; di < dots; di++){\n\t\t\t\tvar dotCls = dayEvs[di].destacar ? ' ag-cal-dot-dest' : '';\n\t\t\t\thtml += '<span class=\"ag-cal-dot' + dotCls + '\"><\/span>';\n\t\t\t}\n\t\t\tif (dayEvs.length > 3) html += '<span class=\"ag-cal-dot-more\"><\/span>';\n\t\t\thtml += '<\/div>';\n\t\t}\n\n\t\thtml += '<\/div>';\n\t}\n\n\t\/* Cel\u00b7les buides posteriors *\/\n\tvar totalCells = startDow + daysInMonth;\n\tvar remainder = totalCells % 7;\n\tif (remainder > 0){\n\t\tfor (var pa = 1; pa <= 7 - remainder; pa++){\n\t\t\thtml += '<div class=\"ag-cal-cell ag-cal-other\"><div class=\"ag-cal-cell-num\">' + pa + '<\/div><\/div>';\n\t\t}\n\t}\n\n\tgrid.innerHTML = html;\n\n\t\/* Listener clicks events (desktop: popup) *\/\n\tgrid.querySelectorAll('.ag-cal-ev').forEach(function(el){\n\t\tel.addEventListener('click', function(ev){\n\t\t\tev.stopPropagation();\n\t\t\tvar idx = parseInt(this.getAttribute('data-idx'));\n\t\t\tshowPopup(events[idx]);\n\t\t});\n\t});\n\n\t\/* Listener clicks cel\u00b7les (m\u00f2bil: panell detall dia) *\/\n\tgrid.querySelectorAll('.ag-cal-cell:not(.ag-cal-other)').forEach(function(cell){\n\t\tcell.addEventListener('click', function(){\n\t\t\tvar numEl = this.querySelector('.ag-cal-cell-num');\n\t\t\tif (!numEl) return;\n\t\t\tvar day = parseInt(numEl.textContent);\n\t\t\tvar dayEvs = monthEvents.filter(function(e){ return e.inici.getDate() === day; });\n\t\t\tif (!dayEvs.length) return;\n\n\t\t\t\/* A m\u00f2bil: panell desplegable; a desktop: popup del primer event *\/\n\t\t\tif (window.innerWidth <= 600) {\n\t\t\t\tshowDayDetail(day, dayEvs);\n\t\t\t\t\/* Marcar cel\u00b7la seleccionada *\/\n\t\t\t\tgrid.querySelectorAll('.ag-cal-cell').forEach(function(c){ c.classList.remove('ag-cal-sel'); });\n\t\t\t\tthis.classList.add('ag-cal-sel');\n\t\t\t}\n\t\t});\n\t});\n}\n\n\/* ---- Panell detall dia (m\u00f2bil) --------------------------------- *\/\n\nvar selectedDay = null;\n\nfunction showDayDetail(day, dayEvs){\n\tselectedDay = day;\n\tvar panel = document.getElementById('ag-day-detail');\n\tvar dayDate = new Date(calYear, calMonth, day);\n\n\tvar h = '<div class=\"ag-day-detail-head\">';\n\th += '<span>' + dayName(dayDate) + ' ' + day + ' ' + monthName(calMonth) + '<\/span>';\n\th += '<button class=\"ag-day-detail-close\" id=\"ag-day-close\">&times;<\/button>';\n\th += '<\/div>';\n\n\tdayEvs.forEach(function(e){\n\t\tvar hi  = fmtTime(e.inici);\n\t\tvar hf  = e.fi ? fmtTime(e.fi) : '';\n\t\tvar hora = hi + (hf && hf !== hi ? ' \u2013 ' + hf : '');\n\n\t\th += '<div class=\"ag-card\">';\n\t\th += '<div class=\"ag-body\">';\n\t\th += '<h3 class=\"ag-title\">' + esc(e.nom) + '<\/h3>';\n\t\th += '<div class=\"ag-meta\">';\n\t\tif (hora) h += '<span class=\"ag-meta-item\">' + ICON.clock + ' ' + hora + '<\/span>';\n\t\tif (e.modalitat) h += '<span class=\"ag-pill ' + pillClass(e.modalitat) + '\">' + esc(e.modalitat) + '<\/span>';\n\t\tif (e.lloc) h += '<span class=\"ag-meta-item\">' + ICON.pin + ' ' + esc(e.lloc) + '<\/span>';\n\t\th += '<\/div>';\n\n\t\th += '<div class=\"ag-actions\">';\n\t\tif (e.inscripcio){\n\t\t\tif (e.enlaceInscr) {\n\t\t\t\th += '<a class=\"ag-btn ag-btn-primary\" href=\"' + esc(e.enlaceInscr) + '\" target=\"_blank\" rel=\"noopener\">' + ICON.mail + ' ' + T.inscriure + '<\/a>';\n\t\t\t} else {\n\t\t\t\tvar subj = encodeURIComponent(T.subjectePre + e.nom);\n\t\t\t\th += '<a class=\"ag-btn ag-btn-primary\" href=\"mailto:ascen@ascen.net?subject=' + subj + '\">' + ICON.mail + ' ' + T.inscriure + '<\/a>';\n\t\t\t}\n\t\t}\n\t\tif (e.mesInfo){\n\t\t\th += '<a class=\"ag-btn ag-btn-secondary\" href=\"' + esc(e.mesInfo) + '\" target=\"_blank\" rel=\"noopener\">' + T.mesInfo + '<\/a>';\n\t\t}\n\t\th += '<\/div>';\n\t\th += '<\/div><\/div>';\n\t});\n\n\tpanel.innerHTML = h;\n\tpanel.classList.remove('ag-hidden');\n\n\tdocument.getElementById('ag-day-close').addEventListener('click', closeDayDetail);\n\n\t\/* Scroll suau cap al panell *\/\n\tpanel.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n}\n\nfunction closeDayDetail(){\n\tvar panel = document.getElementById('ag-day-detail');\n\tpanel.classList.add('ag-hidden');\n\tselectedDay = null;\n\tvar grid = document.getElementById('ag-grid');\n\tgrid.querySelectorAll('.ag-cal-cell').forEach(function(c){ c.classList.remove('ag-cal-sel'); });\n}\n\nfunction showPopup(e){\n\tvar pop = document.getElementById('ag-popup');\n\tvar hi  = fmtTime(e.inici);\n\tvar hf  = e.fi ? fmtTime(e.fi) : '';\n\tvar hora = hi + (hf && hf !== hi ? ' \u2013 ' + hf : '');\n\n\tvar h = '<button class=\"ag-popup-close\" id=\"ag-popup-x\">&times;<\/button>';\n\th += '<h3>' + esc(e.nom) + '<\/h3>';\n\th += '<div class=\"ag-meta\">';\n\th += '<span class=\"ag-meta-item\">' + ICON.clock + ' ' + fmtDate(e.inici) + (hora ? ', ' + hora : '') + '<\/span>';\n\tif (e.modalitat) h += '<span class=\"ag-pill ' + pillClass(e.modalitat) + '\">' + esc(e.modalitat) + '<\/span>';\n\tif (e.lloc) h += '<span class=\"ag-meta-item\">' + ICON.pin + ' ' + esc(e.lloc) + '<\/span>';\n\th += '<\/div>';\n\n\th += '<div class=\"ag-actions\">';\n\tif (e.inscripcio){\n\t\tif (e.enlaceInscr) {\n\t\t\th += '<a class=\"ag-btn ag-btn-primary\" href=\"' + esc(e.enlaceInscr) + '\" target=\"_blank\" rel=\"noopener\">' + ICON.mail + ' ' + T.inscriure + '<\/a>';\n\t\t} else {\n\t\t\tvar subj = encodeURIComponent(T.subjectePre + e.nom);\n\t\t\th += '<a class=\"ag-btn ag-btn-primary\" href=\"mailto:ascen@ascen.net?subject=' + subj + '\">' + ICON.mail + ' ' + T.inscriure + '<\/a>';\n\t\t}\n\t}\n\tif (e.mesInfo){\n\t\th += '<a class=\"ag-btn ag-btn-secondary\" href=\"' + esc(e.mesInfo) + '\" target=\"_blank\" rel=\"noopener\">' + T.mesInfo + '<\/a>';\n\t}\n\th += '<\/div>';\n\n\tpop.innerHTML = h;\n\tdocument.getElementById('ag-popup-overlay').classList.add('ag-visible');\n\n\tdocument.getElementById('ag-popup-x').addEventListener('click', closePopup);\n}\n\nfunction closePopup(){\n\tdocument.getElementById('ag-popup-overlay').classList.remove('ag-visible');\n}\n\ndocument.getElementById('ag-popup-overlay').addEventListener('click', function(ev){\n\tif (ev.target === this) closePopup();\n});\n\n\n\/* ---- Escape HTML ----------------------------------------------- *\/\nvar escEl = document.createElement('span');\nfunction esc(s){ escEl.textContent = s; return escEl.innerHTML; }\n\n\n\/* ---- Cercador -------------------------------------------------- *\/\n\nvar searchInput = document.getElementById('ag-search');\nvar countEl     = document.getElementById('ag-count');\nvar currentView = 'list';\nvar searchTerm  = '';\n\nfunction normalize(s){\n\treturn s.toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '');\n}\n\nfunction updateCount(shown, total){\n\tif (!searchTerm){\n\t\tcountEl.textContent = total + ' ' + T.events;\n\t} else {\n\t\tcountEl.textContent = shown + ' ' + T.de + ' ' + total + ' ' + T.events;\n\t}\n}\n\nfunction applyFilter(){\n\tsearchTerm = normalize(searchInput.value.trim());\n\tif (currentView === 'list'){\n\t\trenderList();\n\t} else {\n\t\trenderCal();\n\t}\n}\n\nsearchInput.addEventListener('input', applyFilter);\n\n\n\/* ---- Navegaci\u00f3 de pestanyes ------------------------------------ *\/\n\nvar listEl = document.getElementById('ag-list');\nvar calEl  = document.getElementById('ag-cal');\n\nwrap.querySelectorAll('.ag-tab').forEach(function(tab){\n\ttab.addEventListener('click', function(){\n\t\twrap.querySelectorAll('.ag-tab').forEach(function(t){ t.classList.remove('ag-active'); });\n\t\tthis.classList.add('ag-active');\n\t\tcurrentView = this.getAttribute('data-view');\n\n\t\tif (currentView === 'list'){\n\t\t\tlistEl.classList.remove('ag-hidden');\n\t\t\tcalEl.classList.add('ag-hidden');\n\t\t} else {\n\t\t\tlistEl.classList.add('ag-hidden');\n\t\t\tcalEl.classList.remove('ag-hidden');\n\t\t\tif (!calYear) initCal();\n\t\t}\n\t\tapplyFilter();\n\t});\n});\n\n\/* Navegaci\u00f3 calendari *\/\ndocument.getElementById('ag-prev').addEventListener('click', function(){\n\tcalMonth--;\n\tif (calMonth < 0){ calMonth = 11; calYear--; }\n\trenderCal();\n});\ndocument.getElementById('ag-next').addEventListener('click', function(){\n\tcalMonth++;\n\tif (calMonth > 11){ calMonth = 0; calYear++; }\n\trenderCal();\n});\ndocument.getElementById('ag-today-btn').addEventListener('click', function(){\n\tcalYear = now.getFullYear(); calMonth = now.getMonth();\n\trenderCal();\n});\n\n\/* ---- Init ------------------------------------------------------ *\/\nrenderList();\n\n})();\n<\/script>\n<!-- \/ASCEN Agenda v1 -->\n\n\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":458,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-992031","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages\/992031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/users\/458"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/comments?post=992031"}],"version-history":[{"count":6,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages\/992031\/revisions"}],"predecessor-version":[{"id":992053,"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/pages\/992031\/revisions\/992053"}],"wp:attachment":[{"href":"https:\/\/www.ascen.net\/es\/wp-json\/wp\/v2\/media?parent=992031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}