{"id":11955,"date":"2023-10-25T12:02:39","date_gmt":"2023-10-25T10:02:39","guid":{"rendered":"https:\/\/vincesconsulting.com\/tecnologia\/policyalert\/"},"modified":"2026-09-04T12:06:55","modified_gmt":"2026-09-04T10:06:55","slug":"policyalert","status":"publish","type":"page","link":"https:\/\/vincesconsulting.com\/pt-pt\/tecnologia\/policyalert\/","title":{"rendered":"PolicyAlert"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11955\" class=\"elementor elementor-11955 elementor-2996\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb775a4 e-con-full e-flex e-con e-parent\" data-id=\"fb775a4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5d28f2b elementor-widget elementor-widget-html\" data-id=\"5d28f2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div>\n\n<!--\n  Dashboard Vinces \u00b7 p\u00e1gina standalone por producto\n  Generado: 2026-05-13T10:34:13.412Z\n  Endpoint API: https:\/\/vision360.vincesconsulting.com\/api\/dashboard-publico\/policyalert\/\n\n  C\u00f3mo integrarlo en WordPress:\n    1. Editor de la p\u00e1gina \u2192 bloque 'HTML personalizado'.\n    2. Pega el fichero completo (todo, incluyendo <html>, <head>, <body>).\n       En la mayor\u00eda de temas WP basta con pegar a partir de <body>.\n    3. Aseg\u00farate de que el dominio WP est\u00e1 incluido en CORS del backend.\n    4. El cliente refresca cada 30 min; el backend cachea 1h.\n-->\n\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n\n<title>PolicyAlert: projetos de lei em tramita\u00e7\u00e3o, consultas e audi\u00eancias p\u00fablicas abertas \u00b7 Vinces<\/title>\n<meta name=\"description\" content=\"PolicyAlert da Vinces: acompanha em tempo real os projetos de lei em tramita\u00e7\u00e3o no parlamento, as consultas p\u00fablicas pr\u00e9vias, as audi\u00eancias e a informa\u00e7\u00e3o p\u00fablica, bem como os temas regulamentares mais em destaque todas as semanas. Recebes alertas sobre o teu setor no pr\u00f3prio dia da publica\u00e7\u00e3o.\">\n<meta name=\"keywords\" content=\"PolicyAlert, projetos de lei em tramita\u00e7\u00e3o, iniciativas parlamentares, consulta p\u00fablica pr\u00e9via, audi\u00eancia p\u00fablica, BOE, DOGV, DOGC, BOPV, acompanhamento regulat\u00f3rio, alertas regulat\u00f3rios, conformidade, tesauro regulat\u00f3rio, Vinces Consulting\">\n<meta name=\"author\" content=\"Vinces Consulting\">\n<meta name=\"robots\" content=\"index,follow,max-image-preview:large,max-snippet:-1\">\n<link rel=\"canonical\" href=\"https:\/\/vincesconsulting.com\/policyalert\/\">\n\n<meta property=\"og:type\" content=\"site\">\n<meta property=\"og:site_name\" content=\"Vinces Consulting\">\n<meta property=\"og:title\" content=\"PolicyAlert \u00b7 Intelig\u00eancia regulat\u00f3ria \u00b7 Vinces\">\n<meta property=\"og:description\" content=\"Projetos de lei em tramita\u00e7\u00e3o, consultas e audi\u00eancias p\u00fablicas abertas e assuntos regulamentares em destaque esta semana.\">\n<meta property=\"og:locale\" content=\"es_ES\">\n<meta property=\"og:url\" content=\"https:\/\/vincesconsulting.com\/policyalert\/\">\n<meta name=\"twitter:card\" content=\"imagem_resumo_grande\">\n<meta name=\"twitter:title\" content=\"PolicyAlert \u00b7 Intelig\u00eancia regulat\u00f3ria\">\n<meta name=\"twitter:description\" content=\"Acompanha todas as leis, consultas p\u00fablicas e tend\u00eancias regulat\u00f3rias em tempo real.\">\n\n<script type=\"application\/ld+json\" id=\"ld-json-page\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"WebPage\",\n  \"name\": \"PolicyAlert \u00b7 Inteligencia regulatoria y alertas\",\n  \"description\": \"Monitorizaci\u00f3n en tiempo real de leyes en tramitaci\u00f3n, consultas y audiencias p\u00fablicas y tendencias regulatorias por \u00e1mbito sectorial.\",\n  \"inLanguage\": \"es\",\n  \"isPartOf\": {\"@type\":\"WebSite\",\"name\":\"Vinces Consulting\",\"url\":\"https:\/\/vincesconsulting.com\"},\n  \"publisher\": {\"@type\":\"Organization\",\"name\":\"Vinces Consulting\",\"url\":\"https:\/\/vincesconsulting.com\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/vinces-consulting\/\"]},\n  \"breadcrumb\": {\"@type\":\"BreadcrumbList\",\"itemListElement\":[\n    {\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\/\/vincesconsulting.com\/\"},\n    {\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tecnolog\u00eda\",\"item\":\"https:\/\/vincesconsulting.com\/tecnologia\/\"},\n    {\"@type\":\"ListItem\",\"position\":3,\"name\":\"PolicyAlert\"}\n  ]}\n}\n<\/script>\n<script type=\"application\/ld+json\" id=\"ld-json-faq\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\"@type\":\"Question\",\"name\":\"\u00bfQu\u00e9 leyes est\u00e1n en tramitaci\u00f3n ahora mismo?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Listamos las iniciativas legislativas con tramitaci\u00f3n m\u00e1s reciente y la fase exacta en la que se encuentran (presentaci\u00f3n, enmiendas, ponencia, comisi\u00f3n, pleno, Senado, BOE). Con PolicyAlert puedes activar alertas personalizadas de leyes que afecten a tu negocio.\"}},\n    {\"@type\":\"Question\",\"name\":\"\u00bfQu\u00e9 consultas o audiencias p\u00fablicas est\u00e1n abiertas ahora?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Mostramos cu\u00e1ntas consultas p\u00fablicas previas y audiencias e informaci\u00f3n p\u00fablica est\u00e1n abiertas en este momento, y cu\u00e1ntas se han abierto en las \u00faltimas 24 horas, en todos los niveles de la administraci\u00f3n espa\u00f1ola.\"}},\n    {\"@type\":\"Question\",\"name\":\"\u00bfQu\u00e9 temas regulatorios est\u00e1n moviendo m\u00e1s actividad esta semana?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"La gr\u00e1fica de temas activos muestra la evoluci\u00f3n diaria de las publicaciones regulatorias en cada \u00e1mbito sectorial (alimentaci\u00f3n, medio ambiente, energ\u00eda, salud, digital, real estate, industria, movilidad sostenible, educaci\u00f3n, bebidas y alcoholes).\"}},\n    {\"@type\":\"Question\",\"name\":\"\u00bfEn qu\u00e9 momento recibo la alerta?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"El mismo d\u00eda de la publicaci\u00f3n oficial, normalmente en menos de 1 hora desde que aparece en el BOE o el bolet\u00edn auton\u00f3mico correspondiente.\"}}\n  ]\n}\n<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Libre+Franklin:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&family=Lato:wght@400;700&display=swap\">\n<script defer src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4.4.1\/dist\/chart.umd.min.js\"><\/script>\n\n<style>\n\/* =========================================================\n   Vinces \u00b7 Dashboards p\u00fablicos \u2014 capa visual redesign\n   Mantiene todas las clases del HTML\/JS original e\n   incorpora la identidad de vincesconsulting.com (hero\n   navy, kicker naranja, tipograf\u00eda display, CTAs p\u00edldora).\n   ========================================================= *\/\n:root{\n  --navy:#1F2547;\n  --navy-deep:#161A36;\n  --navy-light:#2A3158;\n  --navy-soft:#E9ECF3;\n  --orange:#F3A53A;\n  --orange-soft:#FFF1DA;\n  --green:#1FA886;\n  --bg:#EEF1F3;\n  --bg-alt:#F6F8FA;\n  --card:#FFFFFF;\n  --ink:#1F2547;\n  --ink-soft:#5A6076;\n  --muted:#8A90A3;\n  --line:#E2E6EE;\n  --line-soft:#EDF0F5;\n  --good:#1FA886;\n  --warn:#E5A040;\n  --bad:#C0392B;\n\n  \/* Aliases para mantener compatibilidad con el CSS original *\/\n  --vinces-primary:var(--navy);\n  --vinces-secondary:var(--orange);\n  --vinces-dark:var(--navy-deep);\n  --panel:var(--card);\n  --panel-soft:var(--bg-alt);\n  --brand:var(--navy);\n  --brand-soft:var(--navy-soft);\n  --brand-light:var(--navy-light);\n  --accent:var(--orange);\n  --accent-soft:var(--orange-soft);\n  --accent-dark:#D88E25;\n\n  --radius:18px;\n  --radius-sm:10px;\n  --radius-pill:999px;\n  --shadow:0 1px 2px rgba(31,37,71,.04), 0 8px 24px rgba(31,37,71,.06);\n  --shadow-lg:0 4px 12px rgba(31,37,71,.06), 0 24px 60px rgba(31,37,71,.12);\n\n  --hm-0:#F1F3F7;--hm-1:#DDE2EE;--hm-2:#B8C2D9;\n  --hm-3:#7889B0;--hm-4:#42507A;--hm-5:#1F2547;\n\n  --font-display:\"Libre Franklin\",-apple-system,BlinkMacSystemFont,sans-serif;\n  --font-body:\"Lato\",\"Libre Franklin\",-apple-system,BlinkMacSystemFont,sans-serif;\n}\n\n*{box-sizing:border-box}\nhtml,body{margin:0;padding:0}\nbody{\n  font-family:var(--font-body);\n  background:var(--bg);\n  color:var(--ink);\n  line-height:1.65;\n  -webkit-font-smoothing:antialiased;\n  text-rendering:optimizeLegibility;\n}\n\n\/* =========================================================\n   HERO full-bleed (estilo Vinces)\n   ========================================================= *\/\n.vc-hero{\n  position:relative;\n  background:var(--navy);\n  color:#fff;\n  padding:96px 24px 88px;\n  overflow:hidden;\n}\n.vc-hero::before{\n  content:\"\";\n  position:absolute;inset:0;\n  background:\n    radial-gradient(circle at 88% 18%, rgba(243,165,58,.10), transparent 45%),\n    radial-gradient(circle at 8% 95%, rgba(31,168,134,.07), transparent 50%);\n  pointer-events:none;\n}\n.vc-hero::after{\n  content:\"\";\n  position:absolute;left:0;right:0;bottom:0;height:1px;\n  background:linear-gradient(90deg, transparent, rgba(243,165,58,.45), transparent);\n}\n.vc-hero-inner{\n  position:relative;\n  max-width:1240px;margin:0 auto;\n  display:grid;grid-template-columns:1fr;gap:28px;\n}\n@media(min-width:880px){\n  .vc-hero-inner{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px}\n}\n.vc-kicker{\n  display:inline-block;\n  color:var(--orange);\n  font-family:var(--font-display);\n  font-weight:700;font-size:.78rem;\n  letter-spacing:.18em;text-transform:uppercase;\n  margin:0 0 22px;line-height:1.2;\n}\n.vc-kicker::before{content:\"\/\/ \"}\n.vc-hero h1{\n  font-family:var(--font-display);\n  font-size:clamp(2.4rem,5.6vw,4.8rem);\n  font-weight:800;\n  letter-spacing:-.035em;\n  line-height:.98;\n  margin:0 0 24px;\n  color:#fff;\n  text-wrap:balance;\n}\n.vc-hero-lead{\n  font-size:clamp(1rem,1.25vw,1.15rem);\n  color:rgba(255,255,255,.78);\n  max-width:680px;\n  line-height:1.55;\n  margin:0 0 28px;\n}\n.vc-hero-lead strong{color:#fff;font-weight:600}\n.vc-hero-meta{\n  display:inline-flex;align-items:center;gap:10px;\n  background:rgba(255,255,255,.05);\n  border:1px solid rgba(255,255,255,.14);\n  padding:9px 18px;\n  border-radius:999px;\n  font-size:.8rem;\n  color:rgba(255,255,255,.85);\n  backdrop-filter:blur(6px);\n}\n.vc-hero-meta .dot{\n  width:8px;height:8px;border-radius:50%;\n  background:#4ADE80;\n  box-shadow:0 0 0 4px rgba(74,222,128,.18);\n}\n.vc-hero-meta.err .dot{background:#FCA5A5;box-shadow:0 0 0 4px rgba(252,165,165,.18)}\n.vc-hero-meta.err{color:#FCA5A5;border-color:rgba(252,165,165,.25)}\n\n.vc-hero-cta{\n  display:inline-flex;align-items:center;gap:14px;\n  background:#fff;color:var(--navy);\n  padding:14px 16px 14px 26px;\n  border-radius:999px;\n  text-decoration:none;\n  font-family:var(--font-display);\n  font-weight:700;font-size:1.45rem;\n  transition:transform .15s ease, box-shadow .2s ease;\n  align-self:start;\n}\n.vc-hero-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25)}\n.vc-hero-cta .ico{\n  width:30px;height:30px;border-radius:50%;\n  background:var(--navy);color:#fff;\n  display:inline-flex;align-items:center;justify-content:center;\n  font-size:1.45rem;font-weight:400;\n  transition:transform .2s ease;\n}\n.vc-hero-cta:hover .ico{transform:rotate(-12deg)}\n\n\/* =========================================================\n   Layout principal (sustituye al .wrap inline)\n   ========================================================= *\/\n.wrap{max-width:1240px;margin:0 auto;padding:56px 24px 96px}\n@media(max-width:768px){.wrap{padding:40px 18px 64px}}\n\n\/* Cabecera vieja: la ocultamos porque ahora vive en el hero *\/\nheader.page{display:none}\n\nnoscript .nojs{\n  background:#FFF7ED;border:1px solid #FED7AA;color:#9A3412;\n  padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:24px;font-size:.9rem;\n}\n\n\/* =========================================================\n   PRODUCT SECTION \u2014 card grande con dos columnas\n   ========================================================= *\/\n.product-section{\n  margin:0 0 40px;\n  background:var(--card);\n  border:1px solid var(--line);\n  border-radius:var(--radius);\n  box-shadow:var(--shadow);\n  overflow:clip;   \/* recorta como hidden pero NO crea scroll container \u2192 permite position:sticky *\/\n  position:relative;\n}\n.product-section::before{\n  content:\"\";position:absolute;top:0;left:0;\n  width:160px;height:4px;\n  background:linear-gradient(90deg,var(--navy) 0%,var(--orange) 100%);\n}\n.product-grid{display:grid;grid-template-columns:1fr;gap:0}\n@media(min-width:1020px){\n  .product-grid{grid-template-columns:360px 1fr}\n  .product-grid.reverse{grid-template-columns:1fr 360px}\n}\n.product-info{\n  padding:48px 38px;\n  background:linear-gradient(180deg,#FAFBFC 0%, #F0F3F7 100%);\n  border-right:1px solid var(--line);\n  display:flex;flex-direction:column;gap:18px;\n}\n.product-grid.reverse .product-info{\n  border-right:0;border-left:1px solid var(--line);order:2;\n}\n@media(max-width:1019px){\n  .product-info{padding:32px 24px;border-right:0;border-left:0;border-bottom:1px solid var(--line)}\n  .product-grid.reverse .product-info{order:0;border-left:0;border-bottom:1px solid var(--line)}\n}\n\n.product-badge{\n  display:inline-block;\n  color:var(--orange);\n  font-family:var(--font-display);\n  font-weight:700;font-size:.72rem;\n  letter-spacing:.16em;text-transform:uppercase;\n  background:transparent;padding:0;border:0;\n  align-self:flex-start;line-height:1.2;\n}\n.product-badge::before{content:\"\/\/ \"}\n.product-badge.brand{color:var(--navy)}\n\n.product-name{\n  font-family:var(--font-display);\n  font-size:clamp(11.1rem,2.4vw,2.2rem);\n  font-weight:800;color:var(--navy);\n  margin:0;letter-spacing:-.025em;line-height:1.05;\n  text-wrap:balance;\n}\n.product-tagline{\n  font-size:1rem;color:var(--ink-soft);\n  margin:0;line-height:1.7;\n}\n.product-tagline strong{color:var(--ink);font-weight:600}\n\n.product-content{padding:42px 38px;min-width:0}\n@media(max-width:1019px){.product-content{padding:30px 24px}}\n.product-content-header{\n  display:flex;align-items:flex-start;justify-content:space-between;\n  gap:16px;flex-wrap:wrap;margin-bottom:22px;\n}\n.product-content-header h3{\n  margin:0;\n  font-family:var(--font-display);\n  font-size:clamp(1.25rem,1.6vw,1.55rem);\n  font-weight:700;color:var(--navy);\n  letter-spacing:-.02em;line-height:1.2;\n}\n.product-content-header .sub{\n  font-size:1.45rem;color:var(--ink-soft);\n  margin:8px 0 0;line-height:1.55;max-width:62ch;\n}\n@media(min-width:820px){#pane-faq .product-content-header .sub{max-width:none;white-space:nowrap}}\n\n\/* =========================================================\n   CTA p\u00edldora \u2014 el patr\u00f3n Vinces \"Contacta con nosotros \u2197\"\n   ========================================================= *\/\n.pane-cta,\n.product-cta,\n.dl-btn{\n  display:inline-flex;align-items:center;gap:12px;\n  background:var(--navy);color:#fff;\n  padding:13px 18px 13px 26px;\n  border-radius:999px;\n  text-decoration:none;\n  font-family:var(--font-display);\n  font-weight:700;font-size:.88rem;\n  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;\n  border:0;cursor:pointer;line-height:1;\n  white-space:nowrap;\n}\n.pane-cta::after,\n.product-cta::after{content:none}\n.pane-cta::before,\n.product-cta::before,\n.dl-btn::before{\n  order:2;\n  content:\"\\2197\";\n  width:26px;height:26px;border-radius:50%;\n  background:rgba(255,255,255,.16);\n  display:inline-flex;align-items:center;justify-content:center;\n  font-size:1.25rem;font-weight:500;\n  transition:transform .25s ease;\n}\n.pane-cta:hover,\n.product-cta:hover,\n.dl-btn:hover{\n  background:var(--navy-light);\n  transform:translateY(-2px);\n  box-shadow:0 10px 24px rgba(31,37,71,.18);\n  color:#fff;\n}\n.pane-cta:hover::before,\n.product-cta:hover::before{transform:translate(2px,-2px) rotate(-8deg)}\n\/* Variante naranja del bot\u00f3n (mismo color que la etiqueta \"Top: Salud\") *\/\n.pane-cta--accent{background:var(--orange);color:var(--navy)}\n.pane-cta--accent::before{background:rgba(49,64,104,.18)}\n.pane-cta--accent:hover{background:#eea53c;color:var(--navy)}\n\/* Cabecera de \"Temas activos\": t\u00edtulo a la izquierda, preguntas + CTA a la derecha *\/\n#pane-temas-act .product-content-header{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;flex-wrap:wrap}\n.temas-head-main{flex:1 1 320px;min-width:280px}\n.temas-head-cta{flex:0 1 440px;min-width:260px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}\n.temas-head-q{font-size:1.1rem;color:var(--ink-soft);line-height:1.5;margin:0}\n.temas-head-q strong{color:var(--ink);font-weight:700}\n.temas-head-cta .pane-cta{margin-top:6px}\n@media(max-width:900px){#pane-temas-act .product-content-header{gap:20px}.temas-head-cta{flex-basis:100%}}\n\n.pane-cta-row{\n  margin-top:28px;padding:22px 24px;\n  background:var(--bg-alt);\n  border:1px solid var(--line-soft);\n  border-radius:var(--radius-sm);\n  display:flex;flex-wrap:wrap;align-items:center;gap:18px;\n}\n.pane-cta-row .pane-cta-text{\n  flex:1;min-width:240px;\n  font-size:1.45rem;color:var(--ink-soft);\n  margin:0;line-height:1.6;\n}\n.pane-cta-row .pane-cta-text strong{color:var(--ink);font-weight:700}\n.content-cta-row{\n  margin-top:32px;padding:24px 26px;\n  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 100%);\n  color:#fff;\n  border-radius:var(--radius-sm);\n  display:flex;flex-wrap:wrap;align-items:center;gap:20px;\n}\n.content-cta-row .pane-cta-text{\n  flex:1;min-width:240px;\n  font-size:1.45rem;color:rgba(255,255,255,.78);\n  margin:0;line-height:1.6;\n}\n.content-cta-row .pane-cta-text strong{color:#fff;font-weight:700}\n.content-cta-row .pane-cta{\n  background:#fff;color:var(--navy);\n}\n.content-cta-row .pane-cta::before{background:var(--navy);color:#fff}\n.content-cta-row .pane-cta:hover{background:var(--orange);color:var(--navy)}\n.content-cta-row .pane-cta:hover::before{background:var(--navy);color:#fff}\n\n\/* Updated pill compatible con c\u00f3digo original (queda oculto en hero, pero el JS a\u00fan escribe en \u00e9l) *\/\n.updated{\n  font-size:.8rem;color:var(--ink-soft);\n  background:var(--card);border:1px solid var(--line);\n  padding:8px 16px;border-radius:999px;\n  display:inline-flex;align-items:center;gap:8px;\n}\n.updated .dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px rgba(31,168,134,.15)}\n.updated.err .dot{background:var(--bad);box-shadow:0 0 0 4px rgba(192,57,43,.15)}\n.updated.err{color:var(--bad);border-color:#FECACA}\n\n\/* =========================================================\n   Carrusel de tabs (PolicyAlert)\n   ========================================================= *\/\n\/* Barra de navegaci\u00f3n fija arriba: los tabs son anclas a cada secci\u00f3n *\/\n.car-tabs{\n  position:sticky;top:0;z-index:30;\n  display:flex;gap:6px;flex-wrap:wrap;\n  margin:-42px -38px 4px;        \/* sangra hasta el borde interior del card *\/\n  padding:14px 38px;\n  background:var(--card);\n  background:color-mix(in srgb, var(--card) 92%, transparent);\n  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);\n  border-bottom:1px solid var(--line);\n}\n@media(max-width:1019px){\n  .car-tabs{margin:-30px -24px 4px;padding:12px 24px}\n}\n.car-tab{\n  background:transparent;border:0;\n  padding:9px 18px;font-weight:600;font-size:1.25rem;\n  color:var(--ink-soft);cursor:pointer;\n  font-family:var(--font-display);\n  border-radius:999px;\n  transition:all .15s ease;\n  line-height:1.2;white-space:nowrap;\n}\n.car-tab:hover{color:var(--navy);background:var(--bg-alt)}\n.car-tab.active{\n  background:var(--navy);color:#fff;\n  box-shadow:0 2px 8px rgba(31,37,71,.18);\n}\n\/* P\u00e1gina con scroll: todas las secciones visibles y apiladas *\/\n.car-pane{display:block;scroll-margin-top:70px}\n.car-pane + .car-pane{margin-top:56px}\n\/* Inicio de secci\u00f3n: banda full-bleed con acento naranja a la izquierda\n   (solo el header inicial del pane; los sub-headers internos quedan sin banda) *\/\n.car-pane > .product-content-header:first-child{\n  background:var(--hm-1);   \/* fondo distintivo (navy-gris), sin bordes *\/\n  margin:0 -38px 30px;\n  padding:26px 38px;\n}\n.car-pane > .product-content-header:first-child h3{font-weight:800}\n@media(max-width:1019px){\n  .car-pane > .product-content-header:first-child{margin:0 -24px 26px;padding:18px 24px}\n}\n\n\/* =========================================================\n   Nombramientos (Poder Digital)\n   ========================================================= *\/\n.nomb-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}\n.nomb-list-grid{display:grid;grid-template-columns:1fr;gap:14px}\n@media(min-width:780px){.nomb-list-grid{grid-template-columns:1fr 1fr}}\n.nomb-item{\n  display:flex;align-items:flex-start;gap:16px;\n  padding:22px;background:#fff;\n  border:1px solid var(--line);border-radius:var(--radius-sm);\n  transition:all .18s ease;\n  position:relative;\n}\n.nomb-item::before{\n  content:\"\";position:absolute;left:0;top:22px;bottom:22px;width:3px;\n  background:var(--orange);border-radius:3px;opacity:0;transition:opacity .18s ease;\n}\n.nomb-item:hover{\n  border-color:var(--navy);\n  box-shadow:0 8px 24px rgba(31,37,71,.08);\n  transform:translateY(-2px);\n}\n.nomb-item:hover::before{opacity:1}\n.nomb-item .badge{\n  flex:0 0 auto;width:48px;height:48px;border-radius:50%;\n  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);\n  color:#fff;\n  display:flex;align-items:center;justify-content:center;\n  font-weight:700;font-size:.9rem;\n  font-family:var(--font-display);\n  box-shadow:0 4px 10px rgba(31,37,71,.18);\n}\n.nomb-item .body{flex:1;min-width:0}\n.nomb-item .name{\n  font-family:var(--font-display);\n  font-weight:700;font-size:1rem;\n  margin:0 0 6px;color:var(--navy);line-height:1.25;\n  letter-spacing:-.01em;\n}\n.nomb-item .cargo{font-size:.88rem;color:var(--ink-soft);margin:0;line-height:1.5}\n.nomb-item time{\n  font-size:.72rem;color:var(--muted);\n  display:inline-block;margin-top:10px;\n  text-transform:uppercase;letter-spacing:.06em;font-weight:600;\n}\n.nomb-item a{\n  display:inline-block;margin-top:8px;\n  color:var(--navy);text-decoration:none;\n  font-size:.78rem;font-weight:600;\n}\n.nomb-item a:hover{color:var(--orange)}\n\n\/* =========================================================\n   Leyes \/ stepper (PolicyAlert)\n   ========================================================= *\/\n.ley{\n  padding:24px 26px;margin-bottom:14px;\n  border:1px solid var(--line);border-radius:var(--radius-sm);\n  background:#fff;transition:all .18s ease;\n}\n.ley:last-child{margin-bottom:0}\n.ley:hover{\n  border-color:var(--navy);\n  box-shadow:0 8px 24px rgba(31,37,71,.08);\n  transform:translateY(-2px);\n}\n.ley .ley-title{\n  font-family:var(--font-display);\n  font-weight:700;font-size:1.05rem;\n  color:var(--navy);display:block;margin-bottom:8px;\n  letter-spacing:-.015em;line-height:1.35;\n  text-decoration:none;\n}\n.ley .ley-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}\n.ley-chip{\n  display:inline-flex;align-items:center;gap:6px;\n  font-size:1.05rem;font-weight:600;color:var(--ink-soft);\n  background:var(--bg-alt);border:1px solid var(--line);\n  padding:5px 11px;border-radius:999px;line-height:1;white-space:nowrap;\n}\n.ley-chip time{color:var(--navy);font-weight:700}\n.ley-chip .ley-ico{flex:none;opacity:.65}\n.ley-chip-phase{\n  color:#fff;background:var(--navy);border-color:var(--navy);\n  text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;\n}\n.ley-chip-phase .ley-ico{opacity:.9}\n.ley-progress{\n  margin-top:16px;padding:18px 18px 8px;\n  background:var(--bg-alt);border:1px solid var(--line);\n  border-radius:var(--radius-sm);\n}\n.stepper{display:flex;flex-wrap:wrap;align-items:flex-start;width:100%;gap:2px 0}\n.stepper .step{\n  flex:1 1 auto;min-width:60px;text-align:center;position:relative;\n  font-size:.64rem;color:var(--muted);padding:0 4px;\n  text-transform:uppercase;letter-spacing:.04em;font-weight:600;\n}\n.stepper .step .dot{\n  width:12px;height:12px;border-radius:50%;\n  background:var(--line);border:2px solid #fff;\n  margin:0 auto 6px;position:relative;z-index:1;\n  box-shadow:0 0 0 1px var(--line);\n}\n.stepper .step.done .dot{background:var(--good);box-shadow:0 0 0 1px var(--good)}\n.stepper .step.current .dot{\n  background:var(--orange);\n  box-shadow:0 0 0 1px var(--orange), 0 0 0 4px rgba(243,165,58,.25);\n  width:14px;height:14px;\n}\n.stepper .step.done,.stepper .step.current{color:var(--ink)}\n.stepper .step.current{font-weight:700;color:var(--navy)}\n.stepper .step::before{content:\"\";position:absolute;top:5px;left:0;right:50%;height:2px;background:var(--line);z-index:0}\n.stepper .step::after{content:\"\";position:absolute;top:5px;left:50%;right:0;height:2px;background:var(--line);z-index:0}\n.stepper .step.done::before,.stepper .step.done::after{background:var(--good)}\n.stepper .step.current::before{background:var(--good)}\n.stepper .step:first-child::before{display:none}\n.stepper .step:last-child::after{display:none}\n\/* Stepper destacado dentro del panel de progreso de cada ley *\/\n.ley-progress .stepper .step .dot{width:14px;height:14px}\n.ley-progress .stepper .step.current .dot{width:17px;height:17px}\n.ley-progress .stepper .step::before,\n.ley-progress .stepper .step::after{top:6px;height:3px}\n.ley-progress .stepper .step.current{font-size:.85rem}\n\n\/* =========================================================\n   KPIs (PolicyAlert)\n   ========================================================= *\/\n.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:8px 0 0}\n@media(min-width:760px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}\n.kpi-card{\n  padding:24px 22px;background:#fff;\n  border:1px solid var(--line);border-radius:var(--radius-sm);\n  display:flex;flex-direction:column;gap:6px;\n  position:relative;overflow:hidden;\n  transition:all .18s ease;\n}\n.kpi-card:hover{border-color:var(--navy-soft);box-shadow:0 4px 16px rgba(31,37,71,.06)}\n.kpi-label{\n  font-size:1.1rem;color:var(--muted);\n  text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0;\n}\n.kpi-value{\n  font-family:var(--font-display);\n  font-size:2.4rem;font-weight:800;\n  color:var(--navy);line-height:1;margin:6px 0 2px;\n  letter-spacing:-.03em;font-variant-numeric:tabular-nums;\n}\n.kpi-sub{font-size:.8rem;color:var(--ink-soft);margin:0;line-height:1.4}\n\n\/* =========================================================\n   Temas conversaci\u00f3n (WATS): filtros, leyenda, chart\n   ========================================================= *\/\n.tc-meta{\n  font-size:1.25rem;color:var(--muted);margin:8px 0 0;\n  font-weight:500;\n}\n.tc-filters{\n  display:flex;flex-wrap:wrap;gap:6px;\n  margin:20px 0 24px;\n  padding:0 0 18px;border-bottom:1px solid var(--line);\n}\n.tc-filters button{\n  border:1px solid var(--line);background:#fff;\n  color:var(--ink-soft);\n  padding:8px 16px;border-radius:999px;\n  cursor:pointer;font-size:1.1rem;font-weight:600;\n  transition:all .15s ease;line-height:1.2;\n  font-family:var(--font-display);\n}\n.tc-filters button:hover{border-color:var(--navy);color:var(--navy)}\n.tc-filters button.active{\n  background:var(--navy);color:#fff;border-color:var(--navy);\n  box-shadow:0 2px 8px rgba(31,37,71,.16);\n}\n.tc-filters button[disabled]{opacity:.35;cursor:not-allowed}\n.tc-chart-wrap{position:relative;min-height:380px;margin-bottom:16px}\n.tc-legend{\n  display:flex;flex-wrap:wrap;gap:18px;align-items:center;\n  padding:14px 18px;background:var(--bg-alt);\n  border:1px solid var(--line-soft);\n  border-radius:var(--radius-sm);\n  font-size:.8rem;color:var(--ink-soft);\n}\n.tc-legend .lg{display:inline-flex;align-items:center;gap:8px;font-weight:500}\n.tc-legend .sw{width:12px;height:12px;border-radius:3px;display:inline-block}\n\n\/* =========================================================\n   Temas activos (PolicyAlert)\n   ========================================================= *\/\n.temas-chart-area{position:relative}\n.temas-head-cta-btn{flex:0 0 auto;align-self:flex-start}\n@media(max-width:560px){.temas-head-cta-btn{align-self:stretch;justify-content:center}}\n.temas-act-wrap{position:relative;height:440px;margin:14px 0 14px}\n.temas-act-summary{\n  display:flex;flex-wrap:wrap;gap:10px;align-items:center;\n  margin-bottom:14px;font-size:.88rem;color:var(--ink-soft);\n}\n.temas-act-summary .pill{\n  background:var(--orange);color:var(--navy);\n  padding:6px 14px;border-radius:999px;\n  font-weight:700;font-size:.78rem;\n  font-family:var(--font-display);letter-spacing:.01em;\n}\n.temas-act-legend{\n  display:flex;flex-wrap:nowrap;gap:6px;\n  margin-top:14px;padding-top:18px;border-top:1px solid var(--line);\n  overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch;\n}\n.temas-act-legend .ta-tag{\n  display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;\n  padding:5px 11px;\n  border:1px solid var(--line);border-radius:999px;\n  background:#fff;cursor:pointer;\n  font-family:var(--font-display);\n  font-size:1rem;font-weight:600;color:var(--ink);\n  transition:all .14s ease;user-select:none;line-height:1.2;\n}\n.temas-act-legend .ta-tag:hover{border-color:var(--navy)}\n.temas-act-legend .ta-tag .sw{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;border:1.5px solid transparent}\n.temas-act-legend .ta-tag.off{opacity:.45;background:var(--bg-alt);text-decoration:line-through;color:var(--muted)}\n.temas-act-legend .ta-tag.off .sw{border-color:var(--muted);background:transparent !important}\n.ta-actions{display:inline-flex;gap:10px;margin-left:auto;align-items:center;font-size:1.45rem}\n.ta-actions a{color:var(--navy);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-family:var(--font-display)}\n.ta-actions a:hover{color:var(--orange)}\n.ta-actions span{color:var(--muted)}\n\n\/* =========================================================\n   FAQ\n   ========================================================= *\/\n.faq-section{\n  margin:0 0 40px;padding:56px 48px;\n  background:var(--card);border:1px solid var(--line);\n  border-radius:var(--radius);box-shadow:var(--shadow);\n}\n@media(max-width:768px){.faq-section{padding:36px 24px}}\n.faq-section > h2{\n  font-family:var(--font-display);\n  font-size:clamp(1.8rem,2.6vw,2.3rem);color:var(--navy);\n  font-weight:800;margin:0 0 14px;letter-spacing:-.025em;line-height:1.1;\n  text-wrap:balance;\n}\n.faq-intro{font-size:1.05rem;color:var(--ink-soft);margin:0 0 36px;line-height:1.6;max-width:62ch}\n.faq-block{margin-bottom:36px;padding-top:32px;border-top:1px solid var(--line);scroll-margin-top:24px}\n.faq-block:first-of-type{border-top:0;padding-top:0}\n.faq-block-title{\n  font-family:var(--font-display);\n  font-size:1.35rem;color:var(--navy);\n  font-weight:800;margin:0 0 22px;letter-spacing:-.015em;\n  display:flex;align-items:center;gap:14px;flex-wrap:wrap;\n}\n.faq-badge{\n  display:inline-block;\n  background:var(--navy);color:#fff;\n  font-family:var(--font-display);\n  font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;\n  padding:5px 12px;border-radius:999px;\n}\n.faq-badge.brand{background:var(--orange);color:var(--navy)}\n.faq-list{display:grid;grid-template-columns:1fr;gap:10px}\n@media(min-width:1100px){.faq-list{grid-template-columns:1fr 1fr;gap:10px 24px}}\n.faq-list details{\n  border:1px solid var(--line);border-radius:var(--radius-sm);\n  background:#fff;transition:all .18s ease;overflow:hidden;\n}\n.faq-list details:hover{border-color:var(--navy-light);box-shadow:0 4px 14px rgba(31,37,71,.06)}\n.faq-list details[open]{border-color:var(--navy);box-shadow:0 8px 24px rgba(31,37,71,.10)}\n.faq-list details summary{\n  padding:16px 22px;cursor:pointer;font-weight:600;\n  color:var(--ink);font-size:1.45rem;list-style:none;line-height:1.45;\n}\n.faq-list details summary::after{\n  content:\"+\";float:right;font-weight:300;color:var(--orange);\n  font-size:1.6rem;line-height:.7;margin-left:8px;transition:transform .2s ease;\n}\n.faq-list details[open] summary::after{content:\"\\2212\";color:var(--navy)}\n.faq-list details p{padding:0 22px 18px;margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.7}\n.faq-list details p a{color:var(--navy);font-weight:700}\n\n\/* =========================================================\n   SEO block \u2014 texto largo indexable\n   ========================================================= *\/\n.seo-block{\n  margin:0 0 32px;padding:56px 48px;\n  background:var(--card);border:1px solid var(--line);\n  border-radius:var(--radius);box-shadow:var(--shadow);\n}\n@media(max-width:768px){.seo-block{padding:36px 24px}}\n.seo-block h2{\n  font-family:var(--font-display);\n  font-size:clamp(11.1rem,2.4vw,2.1rem);color:var(--navy);\n  font-weight:800;margin:0 0 32px;letter-spacing:-.025em;\n  padding-bottom:18px;border-bottom:3px solid var(--orange);\n  line-height:1.15;display:inline-block;\n}\n.seo-grid{display:grid;grid-template-columns:1fr;gap:48px;margin-top:0}\n\/* Bloque SEO reubicado dentro de un tab: separador superior *\/\n.pane-seo{margin-top:28px;padding-top:26px;border-top:1px solid var(--line);display:grid;gap:40px}\n.seo-item{min-width:0;}\n.seo-item h3{\n  font-family:var(--font-display);\n  font-size:1.25rem;color:var(--navy);font-weight:800;\n  margin:0 0 14px;line-height:1.25;letter-spacing:-.015em;\n}\n.seo-item h4{\n  font-family:var(--font-display);\n  font-size:.78rem;color:var(--orange);font-weight:700;\n  margin:24px 0 12px;text-transform:uppercase;letter-spacing:.12em;\n}\n.seo-item h4::before{content:\"\/\/ \"}\n.seo-item p{font-size:1rem;color:var(--ink-soft);margin:0 0 14px;line-height:1.75;text-align:justify;text-justify:inter-word}\n.seo-item p strong{color:var(--ink);font-weight:600}\n.seo-item a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}\n.seo-item a:hover{color:var(--orange)}\n.seo-table{\n  width:100%;table-layout:fixed;border-collapse:collapse;font-size:.86rem;margin-top:12px;\n  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;\n}\n.seo-table caption{\n  text-align:left;padding:14px 16px;background:var(--navy);color:#fff;\n  font-family:var(--font-display);font-weight:700;font-size:1.25rem;\n  letter-spacing:-.005em;\n}\n.seo-table th,.seo-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:break-word;word-break:break-word;}\n.seo-table th{\n  background:var(--bg-alt);color:var(--ink);\n  font-family:var(--font-display);font-weight:700;\n  font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;\n}\n.seo-table tr:last-child td{border-bottom:0}\n.seo-table tr:nth-child(even){background:#FAFBFC}\n.seo-table .muted-cell{color:var(--muted);font-style:italic;text-align:center;padding:20px}\n\/* Columna \"T\u00edtulo\" m\u00e1s ancha (lleva el texto largo) en las tablas a ancho completo *\/\n#seo-table-leyes th:first-child,#seo-table-leyes td:first-child{width:38%}\n#seo-table-consultas th:nth-child(2),#seo-table-consultas td:nth-child(2){width:38%}\n\/* Consultas \/ Audiencias en tarjetas agrupadas *\/\n.cons-groups{margin-top:12px;display:flex;flex-direction:column;gap:42px}\n.cons-group-title{\n  font-family:var(--font-display);font-size:1.05rem;color:var(--navy);font-weight:800;\n  margin:0 0 14px;display:flex;align-items:center;gap:10px;letter-spacing:-.01em;\n  padding-bottom:10px;border-bottom:2px solid var(--line);\n}\n.cons-count{\n  font-size:.78rem;font-weight:700;color:var(--navy);\n  background:var(--bg-alt);border:1px solid var(--line);\n  border-radius:999px;padding:2px 11px;\n}\n.cons-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px;max-width:520px}\n@media(max-width:520px){.cons-kpis{grid-template-columns:1fr}}\n.cons-kpis .kpi-card{padding:14px 16px;gap:2px}\n.cons-kpis .kpi-card::before{height:2px}\n.cons-kpis .kpi-label{font-size:.64rem;letter-spacing:.06em}\n.cons-kpis .kpi-value{font-size:1.6rem;margin:2px 0 1px}\n.cons-kpis .kpi-sub{font-size:.72rem;line-height:1.35}\n.cons-sub{margin-top:26px}\n.cons-sub + .cons-sub{margin-top:26px}\n.cons-sub-title{\n  font-family:var(--font-display);font-size:.78rem;color:var(--orange);font-weight:700;\n  text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;\n  display:flex;align-items:center;gap:8px;\n}\n.cons-sub-title::before{content:\"\/\/ \"}\n.cons-sub-count{\n  font-size:.72rem;font-weight:700;color:var(--ink-soft);letter-spacing:0;\n  background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:1px 8px;\n}\n.cons-cards{display:grid;grid-template-columns:1fr;gap:18px}\n@media(min-width:720px){.cons-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}\n\/* Dos columnas: \"Recien abiertas\" | \"Cierran pronto\" (apiladas en movil) *\/\n.cons-2col{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px}\n@media(min-width:820px){\n  .cons-2col{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);grid-auto-flow:column;column-gap:26px;row-gap:14px}\n}\n.cons-2col > .cons-sub-title{margin:0 0 2px}\n.cons-card--empty{display:none}\n@media(min-width:820px){.cons-card--empty{display:block;border:0;background:transparent;box-shadow:none;padding:0;min-height:0}}\n\/* V\u00eddeo YouTube (facade click-to-load: solo carga el iframe al pulsar) *\/\n.yt-facade,.yt-embed{position:relative;width:100%;max-width:760px;margin:20px auto 4px;aspect-ratio:16\/9;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}\n.yt-facade{cursor:pointer;background:var(--navy-deep)}\n.yt-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,opacity .2s ease}\n.yt-facade:hover .yt-thumb{transform:scale(1.03);opacity:.88}\n.yt-facade::after{content:\"\";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,26,54,.05),rgba(22,26,54,.45))}\n.yt-play{position:absolute;inset:0;margin:auto;z-index:1;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:#B13228;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .15s ease,background .2s ease}\n.yt-facade:hover .yt-play{transform:scale(1.08);background:#C63B30}\n.yt-play svg{width:28px;height:28px;margin-left:4px;fill:#fff}\n.yt-label{position:absolute;left:14px;bottom:12px;z-index:1;color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.1rem;text-shadow:0 1px 4px rgba(0,0,0,.55)}\n.yt-facade:focus-visible{outline:2px solid var(--orange);outline-offset:2px}\n.yt-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}\n\/* Tooltip propio (replica el custom-tooltip de la plataforma) *\/\n.pa-tooltip{position:fixed;z-index:9999;pointer-events:none;max-width:260px;border-radius:4px;font-family:'Poppins','Ibrand',system-ui,sans-serif;font-size:12px;font-weight:400;line-height:16px;white-space:pre-line;text-align:left;background-color:#424242;color:#fff;padding:8px 12px;box-shadow:0 4px 14px rgba(0,0,0,.22);opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}\n.pa-tooltip.show{opacity:1;transform:translateY(0)}\n.cons-card{\n  border:1px solid var(--line);border-left:4px solid var(--muted);\n  border-radius:var(--radius-sm);background:#fff;padding:16px 18px;\n  display:flex;flex-direction:column;gap:11px;transition:all .18s ease;\n}\n.cons-card:hover{border-color:var(--navy);box-shadow:0 8px 24px rgba(31,37,71,.08);transform:translateY(-2px)}\n.cons-card--consulta{border-left-color:var(--navy)}\n.cons-card--audiencia{border-left-color:var(--orange)}\n.cons-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}\n.cons-badge{\n  font-family:var(--font-display);font-size:.85rem;font-weight:700;\n  text-transform:uppercase;letter-spacing:.05em;color:#fff;\n  padding:4px 10px;border-radius:999px;white-space:nowrap;\n}\n.cons-badge--consulta{background:var(--navy)}\n.cons-badge--audiencia{background:var(--orange)}\n.cons-plazo{font-size:1.1rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}\n.cons-plazo--red{color:#b42318;background:rgba(192,57,43,.12)}\n.cons-plazo--amber{color:#9a5b00;background:rgba(243,165,58,.2)}\n.cons-plazo--green{color:#1a7a4f;background:rgba(31,168,134,.14)}\n.cons-plazo--grey{color:var(--muted);background:var(--bg-alt)}\n.cons-card-title{\n  font-family:var(--font-display);font-weight:700;font-size:1.45rem;line-height:1.35;\n  color:var(--navy);text-decoration:none;\n  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;\n}\na.cons-card-title:hover{color:var(--orange);text-decoration:underline}\n.cons-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}\n.cons-chip{\n  display:inline-flex;align-items:center;gap:6px;\n  font-size:1rem;font-weight:600;color:var(--ink-soft);\n  background:var(--bg-alt);border:1px solid var(--line);\n  padding:4px 10px;border-radius:999px;line-height:1.2;\n}\n.cons-chip .ley-ico{flex:none;opacity:.65}\n.cons-org{\n  margin-left:auto;display:inline-flex;align-items:center;gap:6px;\n  font-size:.72rem;font-weight:600;color:var(--muted);\n  align-self:flex-end;white-space:nowrap;\n}\n.cons-org .ley-ico{flex:none;opacity:.7}\n.cons-org-logo{width:18px;height:18px;object-fit:contain;border-radius:3px;background:#fff;flex:none}\n.ley-logo{width:16px;height:16px;object-fit:contain;border-radius:3px;background:#fff;flex:none}\n.ley-chamber{color:var(--navy)}\n\/* Bot\u00f3n \"Seguir\" por ley + c\u00e1maras clicables + modal de contacto *\/\n.ley-actions{display:flex;justify-content:flex-end;margin-top:14px}\n.ley-follow{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--orange);background:var(--orange-soft);color:var(--accent-dark);font-family:var(--font-display);font-weight:700;font-size:1.1rem;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,transform .15s}\n.ley-follow::before{content:\"+\";font-weight:800;font-size:1rem;line-height:1}\n.ley-follow:hover{background:var(--orange);color:var(--navy);transform:translateY(-1px)}\n.cam-lb-row[data-vc-contact]{cursor:pointer}\n.cam-lb-row[data-vc-contact]:hover{border-color:var(--navy);box-shadow:0 4px 14px rgba(31,37,71,.12)}\n.vc-cmodal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(22,26,54,.55);backdrop-filter:blur(3px);padding:20px}\n.vc-cmodal.open{display:flex}\n.vc-cmodal .box{background:#fff;border-radius:18px;max-width:430px;width:100%;padding:30px 30px 26px;box-shadow:0 24px 60px rgba(31,37,71,.3)}\n.vc-cmodal h4{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--navy);margin:0 0 10px;letter-spacing:-.02em}\n.vc-cmodal p{font-family:var(--font-body);font-size:1.45rem;color:var(--ink-soft);line-height:1.55;margin:0 0 22px}\n.vc-cmodal .acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}\n.vc-cmodal .cta{display:inline-flex;align-items:center;gap:9px;background:var(--orange);color:var(--navy);font-family:var(--font-display);font-weight:700;font-size:1.45rem;padding:12px 24px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:transform .15s,background .2s;box-shadow:0 6px 18px rgba(243,165,58,.28)}\n.vc-cmodal .cta:hover{transform:translateY(-1px);background:#f7b35a}\n.vc-cmodal .x{background:none;border:0;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--ink-soft);padding:10px 8px;margin-left:auto}\n.vc-cmodal .x:hover{color:var(--navy)}\n\n\/* =========================================================\n   Utilidades + estados\n   ========================================================= *\/\n.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n.skeleton{background:linear-gradient(90deg,#F1F5F9 25%,#E2E8F0 50%,#F1F5F9 75%);background-size:200% 100%;animation:sk 1.4s infinite;border-radius:6px;color:transparent}\n@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}\n.error{\n  background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;\n  padding:14px 18px;border-radius:var(--radius-sm);font-size:1.2rem;line-height:1.55;\n}\n.empty{color:var(--muted);font-size:.9rem;font-style:italic}\n\n\/* Di\u00e1logos (snippets) *\/\ndialog.snippets{border:none;border-radius:var(--radius);padding:0;max-width:560px;width:90%;box-shadow:var(--shadow-lg)}\ndialog.snippets::backdrop{background:rgba(22,26,54,.55)}\ndialog.snippets .head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}\ndialog.snippets .head h3{margin:0;font-size:1.05rem;color:var(--navy);font-family:var(--font-display);font-weight:800}\ndialog.snippets .head button{border:0;background:transparent;font-size:1.5rem;cursor:pointer;color:var(--ink-soft)}\ndialog.snippets .body{padding:20px 24px;max-height:50vh;overflow:auto}\ndialog.snippets blockquote{margin:0 0 14px;padding:14px 18px;border-left:3px solid var(--orange);background:var(--bg-alt);border-radius:6px;font-size:1.2rem;color:var(--ink-soft)}\n\n\/* Heatmap (por si lo activan) *\/\n.hm-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.84rem;color:var(--ink-soft);margin-bottom:16px}\n.hm-meta .pill{background:var(--navy);color:#fff;padding:5px 14px;border-radius:999px;font-weight:600;font-size:1rem;font-family:var(--font-display)}\n.hm-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;max-width:100%}\n\n\/* Hemiciclo *\/\n.hemi-wrap{position:relative;width:100%;max-width:580px;margin:0 auto}\n.hemi-wrap svg{width:100%;height:auto;display:block}\n.hemi-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 16px}\n.hemi-total{padding:14px 12px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);text-align:center}\n.hemi-total .lbl{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}\n.hemi-total .val{font-family:var(--font-display);font-size:1.4rem;font-weight:800;display:block;margin-top:4px;color:var(--navy);letter-spacing:-.02em}\n.hemi-total.yes .val{color:#16A34A}\n.hemi-total.no .val{color:#DC2626}\n.hemi-total.abs .val{color:var(--orange)}\n\n\/* Pregunta del d\u00eda *\/\n.pregunta-card{\n  padding:26px 28px;background:#fff;\n  border:1px solid var(--line);border-radius:var(--radius-sm);\n  border-top:4px solid var(--orange);\n}\n.pregunta-meta{font-size:.72rem;color:var(--muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-family:var(--font-display)}\n.pregunta-q{\n  font-family:var(--font-display);font-size:1.2rem;font-weight:800;\n  color:var(--navy);margin:0 0 14px;line-height:1.3;letter-spacing:-.015em;\n}\n.pregunta-a{font-size:1.45rem;color:var(--ink);line-height:1.7;border-left:3px solid var(--navy);padding:4px 0 4px 18px;margin-top:6px}\n\n\n\n\/* ==========================================================\n   AJUSTES UX (compact hero \u00b7 loading pill a la derecha \u00b7\n   sin aside repetido) \u2014 aplicado a todos los productos\n   ========================================================== *\/\n.vc-hero{\n  padding:42px 24px 34px !important;\n}\n.vc-hero::before{opacity:.85}\n.vc-hero-inner{\n  gap:18px;\n  align-items:center !important;\n}\n@media(min-width:880px){\n  .vc-hero-inner{\n    grid-template-columns:minmax(0,1fr) auto !important;\n    align-items:center !important;\n    gap:32px;\n  }\n}\n.vc-kicker{\n  margin:0 0 10px !important;\n  font-size:.72rem !important;\n  letter-spacing:.16em !important;\n}\n.vc-hero h1{\n  font-size:clamp(1.65rem,3.2vw,2.4rem) !important;\n  margin:0 0 10px !important;\n  line-height:1.08 !important;\n  letter-spacing:-.02em !important;\n}\n.vc-hero-lead{\n  font-size:clamp(1.2rem,1.05vw,1rem) !important;\n  margin:0 !important;\n  max-width:72ch;\n  line-height:1.5 !important;\n}\n\n\/* Columna derecha: pill arriba, CTA debajo *\/\n.vc-hero-right{\n  display:flex;flex-direction:column;align-items:flex-end;gap:12px;\n}\n.vc-hero-cta{\n  padding:11px 14px 11px 22px !important;\n  font-size:.88rem !important;\n  align-self:flex-end !important;\n}\n.vc-hero-cta .ico{width:26px;height:26px;font-size:1.25rem}\n\n\/* Loading \/ \"Actualizado\u2026\" pill \u2014 sin posici\u00f3n absoluta *\/\n.vc-hero #updated-pill{\n  position:static !important;\n  display:inline-flex;align-items:center;gap:8px;\n  background:rgba(255,255,255,.06) !important;\n  border:1px solid rgba(255,255,255,.16) !important;\n  color:rgba(255,255,255,.82) !important;\n  padding:5px 12px;border-radius:999px;\n  font-size:1.1rem;letter-spacing:.04em;\n  margin:0 !important;\n  max-width:min(80vw,360px);\n  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;\n  align-self:flex-end;\n}\n.vc-hero #updated-pill .dot{\n  width:7px;height:7px;border-radius:50%;\n  background:#4ADE80;\n  box-shadow:0 0 0 3px rgba(74,222,128,.16);\n  flex-shrink:0;\n}\n.vc-hero #updated-pill.err{\n  background:rgba(252,165,165,.08) !important;\n  border-color:rgba(252,165,165,.28) !important;\n  color:#FCA5A5 !important;\n}\n.vc-hero #updated-pill.err .dot{\n  background:#FCA5A5;\n  box-shadow:0 0 0 3px rgba(252,165,165,.18);\n}\n@media(max-width:879px){\n  .vc-hero{padding:32px 18px 26px !important;}\n  .vc-hero-right{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;align-self:flex-start}\n  .vc-hero #updated-pill{align-self:auto}\n}\n\n\/* Quitar la aside \"product-info\" que repite los textos del hero \u00b7 grid a 1 columna *\/\n.product-grid .product-info,\n.product-grid.reverse .product-info{\n  display:none !important;\n}\n.product-grid,\n.product-grid.reverse{\n  grid-template-columns:1fr !important;\n}\n.product-grid > .product-content{\n  order:1 !important;\n  border:0 !important;\n}\n\n\/* Acercar los gr\u00e1ficos al header *\/\n.wrap{padding-top:32px !important;}\n@media(max-width:768px){.wrap{padding-top:22px !important}}\n\n\/* Asegurar que los gr\u00e1ficos aprovechan todo el ancho ahora disponible *\/\n.temas-act-wrap,\n.tc-chart-wrap{width:100% !important;}\n.temas-act-wrap canvas,\n.tc-chart-wrap canvas{\n  width:100% !important;\n  max-width:100% !important;\n}\n\n\/* ==========================================================\n   LEADERBOARD de c\u00e1maras sobre la tem\u00e1tica ganadora\n   ========================================================== *\/\n.cam-lb{margin-top:52px}\n\/* Eyebrow-puente: conecta narrativamente la gr\u00e1fica con el ranking *\/\n.cam-lb-bridge{\n  display:flex;align-items:center;gap:9px;margin:0 0 8px;\n  font-family:var(--font-display);font-size:.72rem;font-weight:700;\n  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);\n}\n.cam-lb-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);flex-shrink:0}\n.cam-lb-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:16px}\n.cam-lb-title{\n  margin:0;font-family:var(--font-display);\n  font-size:1.05rem;font-weight:700;color:var(--navy);letter-spacing:-.01em;\n}\n.cam-lb-sub{font-size:.84rem;color:var(--ink-soft)}\n.cam-lb-sub .amb{font-weight:700}\n.cam-lb-list{list-style:none;margin:0;padding:0}\n.cam-lb-more{text-align:center;color:var(--muted);font-size:1.5rem;line-height:.6;letter-spacing:.22em;margin-top:6px;user-select:none}\n@media(min-width:820px){\n  .cam-lb-list{column-count:2;column-gap:18px}\n}\n.cam-lb-row{\n  display:grid;grid-template-columns:30px auto 28px 1fr auto auto;align-items:center;gap:12px;\n  padding:10px 14px;margin-bottom:6px;border:1px solid var(--line);border-radius:10px;background:var(--card);\n  break-inside:avoid;-webkit-column-break-inside:avoid;\n  transition:border-color .15s ease, box-shadow .15s ease;\n}\n.cam-lb-row:hover{border-color:var(--navy-soft);box-shadow:var(--shadow)}\n.cam-lb-pos{\n  font-family:var(--font-display);font-weight:800;font-size:1.05rem;\n  color:var(--navy);text-align:center;font-variant-numeric:tabular-nums;\n}\n.cam-lb-logo{\n  width:28px;height:28px;object-fit:contain;flex-shrink:0;\n  border-radius:5px;background:#fff;\n}\n.cam-lb-logo.ph{\n  display:flex;align-items:center;justify-content:center;\n  background:var(--bg-alt);border:1px solid var(--line);\n  font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--muted);\n}\n.cam-lb-count{\n  font-variant-numeric:tabular-nums;font-weight:700;color:var(--navy);\n  font-size:1.2rem;white-space:nowrap;text-align:right;\n}\n.cam-lb-count .u{font-weight:500;color:var(--muted);font-size:1rem;margin-left:3px}\n.cam-lb-row.top{border-color:var(--accent-soft);background:linear-gradient(90deg,var(--orange-soft) 0%, var(--card) 60%)}\n.cam-lb-row.top .cam-lb-pos{color:var(--accent-dark)}\n.cam-lb-name{\n  font-weight:600;color:var(--ink);font-size:1.2rem;\n  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;\n}\n.cam-lb-delta{\n  font-family:var(--font-display);font-variant-numeric:tabular-nums;\n  font-size:1.1rem;font-weight:700;white-space:nowrap;\n  min-width:38px;text-align:right;\n}\n.cam-lb-delta.up{color:#0F7A5F}\n.cam-lb-delta.down{color:#A52F24}\n.cam-lb-delta.flat{color:var(--muted)}\n.cam-lb-chg{\n  display:inline-flex;align-items:center;gap:4px;\n  font-family:var(--font-display);font-size:1.05rem;font-weight:700;\n  padding:3px 10px;border-radius:999px;font-variant-numeric:tabular-nums;white-space:nowrap;\n  min-width:52px;justify-content:center;\n}\n.cam-lb-chg.up{color:#0F7A5F;background:rgba(31,168,134,.13)}\n.cam-lb-chg.down{color:#A52F24;background:rgba(192,57,43,.11)}\n.cam-lb-chg.flat{color:var(--muted);background:var(--bg-alt)}\n.cam-lb-chg.new{color:#0F7A5F;background:rgba(31,168,134,.13)}\n@media(max-width:560px){\n  .cam-lb-row{grid-template-columns:24px auto 24px 1fr auto;gap:8px;padding:9px 12px}\n  .cam-lb-count{display:none}\n}\n\n\/* ==========================================================\n   HERO IMPACTO \u2014 titular grande, LIVE pulsante, malla + glow,\n   chips de alcance. Sobrescribe los ajustes \"compact\".\n   ========================================================== *\/\n.vc-hero{\n  padding:46px 24px 40px !important;\n  background:\n    radial-gradient(120% 140% at 85% -10%, var(--navy-light) 0%, var(--navy) 42%, var(--navy-deep) 100%) !important;\n}\n\/* Malla de puntos sutil sobre el navy *\/\n.vc-hero::before{\n  background:\n    radial-gradient(circle at 88% 12%, rgba(243,165,58,.16), transparent 42%),\n    radial-gradient(circle at 4% 100%, rgba(31,168,134,.10), transparent 52%),\n    radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px) !important;\n  background-size:auto, auto, 22px 22px !important;\n  opacity:1 !important;\n}\n.vc-hero::after{\n  height:2px !important;\n  background:linear-gradient(90deg, transparent, var(--orange), transparent) !important;\n  opacity:.6;\n}\n.vc-hero-inner{\n  align-items:center !important;\n  gap:28px !important;\n}\n@media(min-width:880px){\n  .vc-hero-inner{\n    grid-template-columns:minmax(0,1fr) auto !important;\n    align-items:center !important;\n    gap:56px !important;\n  }\n}\n\n\/* Kicker con punto LIVE pulsante *\/\n.vc-kicker{\n  display:inline-flex !important;align-items:center;gap:9px;\n  margin:0 0 13px !important;\n  font-size:.72rem !important;\n  letter-spacing:.18em !important;\n  padding:6px 14px 6px 11px;\n  border:1px solid rgba(243,165,58,.32);\n  border-radius:999px;\n  background:rgba(243,165,58,.08);\n  color:var(--orange);\n}\n.vc-kicker::before{content:none !important}\n.vc-live-dot{\n  position:relative;width:8px;height:8px;border-radius:50%;\n  background:#4ADE80;flex-shrink:0;\n}\n.vc-live-dot::after{\n  content:\"\";position:absolute;inset:0;border-radius:50%;\n  background:#4ADE80;\n}\n@media(prefers-reduced-motion:no-preference){\n  .vc-live-dot::after{animation:vcLivePulse 1.8s ease-out infinite}\n}\n@keyframes vcLivePulse{\n  0%{transform:scale(1);opacity:.7}\n  70%{transform:scale(3);opacity:0}\n  100%{transform:scale(3);opacity:0}\n}\n\n\/* Titular grande con segunda l\u00ednea destacada *\/\n.vc-hero h1{\n  font-size:clamp(11.1rem,3.3vw,21.1rem) !important;\n  font-weight:800 !important;\n  line-height:1 !important;\n  letter-spacing:-.035em !important;\n  margin:0 0 14px !important;\n  white-space:nowrap;\n}\n.vc-hero h1 .hl{\n  position:relative;\n  color:var(--orange);\n  white-space:nowrap;\n}\n.vc-hero h1 .hl::after{\n  content:\"\";position:absolute;left:0;right:0;bottom:.04em;height:.09em;\n  background:linear-gradient(90deg,var(--orange),rgba(243,165,58,.15));\n  border-radius:999px;\n}\n\n.vc-hero-lead{\n  font-size:clamp(.9rem,1vw,1.02rem) !important;\n  color:rgba(255,255,255,.82) !important;\n  max-width:60ch !important;\n  line-height:1.58 !important;\n  margin:0 0 20px !important;\n}\n\n\/* Fila de chips de alcance *\/\n.vc-hero-chips{\n  display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;\n}\n.vc-hero-chips li{\n  display:inline-flex;align-items:center;gap:8px;\n  font-family:var(--font-display);\n  font-size:1.1rem;font-weight:600;\n  color:rgba(255,255,255,.9);\n  background:rgba(255,255,255,.06);\n  border:1px solid rgba(255,255,255,.14);\n  padding:8px 14px;border-radius:999px;\n  backdrop-filter:blur(6px);\n  transition:transform .15s ease, border-color .15s ease, background .15s ease;\n}\n.vc-hero-chips li:hover{\n  transform:translateY(-2px);\n  border-color:rgba(243,165,58,.4);\n  background:rgba(243,165,58,.1);\n}\n.vc-hero-chips .chip-ico{\n  color:var(--orange);display:inline-flex;flex-shrink:0;\n}\n@media(prefers-reduced-motion:reduce){\n  .vc-hero-chips li:hover{transform:none}\n}\n\n\/* CTA m\u00e1s presente *\/\n.vc-hero-cta{\n  padding:14px 18px 14px 26px !important;\n  font-size:1.45rem !important;\n  box-shadow:0 8px 24px rgba(0,0,0,.22);\n}\n.vc-hero-cta .ico{width:30px;height:30px;font-size:1.45rem}\n\n@media(max-width:879px){\n  .vc-hero{padding:44px 18px 36px !important;}\n  .vc-hero h1{font-size:clamp(11.1rem,7vw,2.6rem) !important;white-space:normal}\n  .vc-hero h1 .hl{white-space:normal}\n}\n\n\/* ==========================================================\n   RUEDA VERTICAL (estilo cr\u00e9ditos) \u2014 rail derecho del hero\n   ========================================================== *\/\n\/* Rail: pill arriba, tarjeta de la rueda en medio, CTA abajo *\/\n.vc-hero-right{\n  gap:18px !important;\n  align-self:center !important;\n}\n\/* Tarjeta que enmarca la rueda *\/\n.vc-hero-rail-card{\n  width:286px;\n  background:rgba(255,255,255,.045);\n  border:1px solid rgba(255,255,255,.12);\n  border-radius:16px;\n  padding:16px 16px 8px;\n  backdrop-filter:blur(6px);\n}\n.vc-wheel-label{\n  display:block;\n  font-family:var(--font-display);\n  font-size:.85rem;font-weight:700;\n  letter-spacing:.18em;text-transform:uppercase;\n  color:var(--orange);\n  margin:0 0 12px 2px;\n}\n.vc-hero-wheel{\n  position:relative;\n  height:184px;\n  overflow:hidden;\n  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 20%,#000 80%,transparent 100%);\n  mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);\n}\n.vc-hero-wheel-track{\n  display:flex;flex-direction:column;\n  will-change:transform;\n}\n@media(prefers-reduced-motion:no-preference){\n  .vc-hero-wheel-track{animation:vcWheelScroll 16s linear infinite}\n}\n.vc-hero-wheel:hover .vc-hero-wheel-track{animation-play-state:paused}\n@keyframes vcWheelScroll{\n  from{transform:translateY(0)}\n  to{transform:translateY(-50%)}\n}\n.vc-wheel-chip{\n  display:flex;align-items:center;gap:10px;\n  margin-bottom:10px;\n  font-family:var(--font-display);\n  font-size:1.1rem;font-weight:600;line-height:1.25;\n  color:rgba(255,255,255,.92);\n  background:rgba(255,255,255,.06);\n  border:1px solid rgba(255,255,255,.14);\n  padding:10px 14px;border-radius:12px;\n  backdrop-filter:blur(6px);\n}\n.vc-wheel-chip .chip-ico{\n  color:var(--orange);display:inline-flex;flex-shrink:0;\n}\n\/* Acciones bajo el texto: bot\u00f3n-logo + badge \"Actualizado\" *\/\n.vc-hero-actions{\n  display:flex;align-items:center;flex-wrap:wrap;\n  gap:16px;margin-top:22px;\n}\n.vc-hero-actions .vc-hero-cta{align-self:auto !important}\n.vc-hero-actions #updated-pill{align-self:auto !important}\n\/* Bot\u00f3n \"Contacta\" \u2014 ocupa el hueco a la derecha de la fila de acciones *\/\n.vc-hero-contact{\n  margin-left:auto;align-self:auto !important;\n  display:inline-flex;align-items:center;gap:9px;\n  padding:11px 22px;border-radius:999px;\n  background:var(--orange);color:var(--navy);\n  font:700 1.45rem var(--font-display),sans-serif;letter-spacing:.01em;\n  text-decoration:none;border:1px solid transparent;white-space:nowrap;\n  transition:transform .15s ease,box-shadow .2s ease,background .2s ease;\n  box-shadow:0 6px 18px rgba(243,165,58,.26);\n}\n.vc-hero-contact:hover{transform:translateY(-1px);background:#f7b35a;box-shadow:0 10px 24px rgba(243,165,58,.36)}\n.vc-hero-contact svg{width:17px;height:17px;display:block}\n@media(max-width:879px){.vc-hero-contact{margin-left:0}}\n\n\/* Bot\u00f3n = logotipo completo de PolicyAlert (sin texto) *\/\n.vc-hero-cta{\n  padding:10px 18px !important;\n  gap:10px !important;\n}\n.vc-cta-logo{display:inline-flex;align-items:center;flex-shrink:0}\n.vc-cta-logo svg{height:30px;width:auto;display:block}\n\/* Icono \"abrir en nueva ventana\": badge circular navy \u2192 se\u00f1ala que es un enlace *\/\n.vc-cta-ext{\n  width:26px;height:26px;border-radius:50%;flex-shrink:0;\n  background:var(--navy);color:#fff;\n  display:inline-flex;align-items:center;justify-content:center;\n  transition:transform .15s ease, background .2s ease;\n}\n.vc-cta-ext svg{width:14px;height:14px;display:block}\n.vc-hero-cta:hover .vc-cta-ext{background:var(--navy-light);transform:translate(1px,-1px)}\n\n@media(max-width:879px){\n  .vc-hero-rail-card{width:100%}\n  .vc-hero-wheel{height:148px}\n  .vc-cta-logo svg{height:30px}\n}\n\n<\/style>\n\n<style id=\"rubrika-type\">\n\/* === Sistema tipogr\u00e1fico Rubrika + hero padding (jun 2026) ===\n   T\u00edtulos\/Subt\u00edtulos: Libre Franklin \u00b7 Textos\/Botones: Lato *\/\n.vc-hero{ padding:150px 24px 100px !important; }\n@media(max-width:879px){ .vc-hero{ padding:110px 18px 64px !important; } }\n\/* T\u00edtulos \u2014 Libre Franklin 600 \u00b7 48\/58 *\/\n.vc-hero h1{\n  font-family:\"Libre Franklin\",sans-serif !important;\n  font-weight:600 !important; font-size:48px !important;\n  line-height:58px !important; letter-spacing:-.01em !important;\n  white-space:normal !important;\n}\n@media(max-width:879px){ .vc-hero h1{ font-size:34px !important; line-height:42px !important; } }\n\/* Subt\u00edtulos \u2014 Libre Franklin 600 \u00b7 32\/38 *\/\n.product-name, .product-content-header h3, .faq-section > h2, .seo-block h2{\n  font-family:\"Libre Franklin\",sans-serif !important;\n  font-weight:600 !important; font-size:32px !important;\n  line-height:38px !important; letter-spacing:-.01em !important;\n}\n@media(max-width:879px){\n  .product-name, .product-content-header h3, .faq-section > h2, .seo-block h2{\n    font-size:25px !important; line-height:31px !important;\n  }\n}\n\/* Textos \u2014 Lato 400 \u00b7 16\/24 *\/\n.vc-hero-lead, .product-content-header .sub, .faq-intro,\n.faq-list details p, .pane-cta-text, .seo-item p{\n  font-family:\"Lato\",sans-serif !important;\n  font-weight:400 !important; font-size:16px !important; line-height:24px !important;\n}\n\/* Botones \u2014 Lato 700 \u00b7 15\/15 *\/\n.vc-hero-cta, .vc-hero-contact, .pane-cta, .vc-cmodal .cta,\n.wt-cta-btn, .saber-mas, .ley-follow{\n  font-family:\"Lato\",sans-serif !important;\n  font-weight:700 !important; font-size:15px !important; line-height:15px !important;\n}\n<\/style>\n\n\n\n<!-- HERO (estilo Vinces) -->\n<section class=\"vc-hero\" aria-label=\"Cabecera de producto\" data-vc-hero-injected=\"1\">\n  <div class=\"vc-hero-inner\">\n    <div>\n      <span class=\"vc-kicker\">PolicyAlert \u00b7 Intelig\u00eancia regulat\u00f3ria<\/span>\n      <h1>Antecipa cada <span class=\"hl\">altera\u00e7\u00e3o legislativa<\/span><\/h1>\n      <p class=\"vc-hero-lead\"><strong>O PolicyAlert<\/strong> combina a monitoriza\u00e7\u00e3o autom\u00e1tica com a experi\u00eancia dos analistas da <strong>Vinces<\/strong> para te avisar \u2014 e explicar \u2014 o que te afeta realmente, dando-te tempo para agir.<\/p>\n      <div class=\"vc-hero-actions\">\n        <a class=\"vc-hero-cta\" href=\"https:\/\/vincesconsulting.com\/pt-pt\/contacto\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Contacta con Vinces sobre PolicyAlert\">\n          <span class=\"vc-cta-logo\" aria-hidden=\"true\"><svg viewbox=\"0 0 900 205\" fill=\"#1F2547\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"PolicyAlert\"><path d=\"m6.02,5.63h65.11c31.42,0,52.37,20.95,52.37,52.37s-20.95,53.4-52.37,53.4H31.69v38H6.02V5.63Zm91.81,53.2c0-18.07-11.5-29.58-28.96-29.58H31.69v58.54h37.17c17.46,0,28.96-11.5,28.96-28.96Z\"><\/path><path d=\"m179.97,45.28c31.83,0,52.99,21.15,52.99,52.78s-21.15,53.19-52.99,53.19-53.19-21.36-53.19-53.19,21.36-52.78,53.19-52.78Zm-.2,83.39c17.25,0,28.55-11.3,28.55-30.4s-11.3-30.4-28.55-30.4-28.34,11.3-28.34,30.4,11.3,30.4,28.34,30.4Z\"><\/path><path d=\"m242.41,5.63h24.65v143.77h-24.65V5.63Z\"><\/path><path d=\"m291.7,3.38c7.6,0,13.56,6.16,13.56,13.55,0,7.81-5.96,13.77-13.56,13.77s-13.56-5.96-13.56-13.77c0-7.39,5.96-13.55,13.56-13.55Zm-12.32,43.33h24.65v102.7h-24.65V46.71Z\"><\/path><path d=\"m365.23,128.66c12.53,0,21.77-5.96,26.08-16.43h25.67c-5.55,23.82-24.65,39.02-51.55,39.02-31.83,0-53.2-21.36-53.2-53.19s21.36-52.78,53.2-52.78c26.7,0,46.01,14.99,51.35,38.41h-25.67c-4.31-10.07-13.56-15.82-25.88-15.82-17.05,0-28.34,11.3-28.34,30.4s11.3,30.4,28.34,30.4Z\"><\/path><path d=\"m414.93,46.71h25.67l24.65,71.07,24.65-71.07h25.67l-36.35,102.7c-8.42,24.03-14.38,50.73-48.88,50.73v-22.6c13.76,0,24.85-17.04,19.92-30.81l-35.33-100.03Z\"><\/path><path fill=\"#b13228\" d=\"m585.4,87.79l-16.43-52.17-16.43,52.17-7.4,23.62-11.91,38h-26.91L555.62,5.63h26.9l49.29,143.77h-26.91l-11.91-38-7.6-23.62Z\"><\/path><path fill=\"#b13228\" d=\"m635.92,5.63h24.65v143.77h-24.65V5.63Z\"><\/path><path fill=\"#b13228\" d=\"m746.22,117.57h26.91c-6.78,20.74-25.06,33.68-49.91,33.68-31.83,0-53.19-21.36-53.19-53.19s21.36-52.78,53.19-52.78,52.99,21.15,52.99,52.78c0,2.87-.2,5.55-.41,8.21h-80.31c2.67,14.17,12.94,22.39,27.52,22.39,10.27,0,18.28-3.9,23.21-11.09Zm2.67-33.89c-4.31-10.07-13.56-15.82-25.88-15.82s-21.36,5.75-25.67,15.82h51.55Z\"><\/path><path fill=\"#b13228\" d=\"m836.59,44.86v22.59c-16.43,0-26.29,8.01-26.29,24.44v57.51h-24.65v-57.51c0-31.22,19.72-47.03,50.94-47.03Z\"><\/path><path fill=\"#b13228\" d=\"m897.79,150.84c-33.68,0-51.55-17.05-51.55-48.68V5.63h24.65v41.08h23.41v22.59h-23.41v32.66c0,18.69,7.6,26.29,26.9,26.29v22.59Z\"><\/path><g><path d=\"m18.25,187.88c-1.51,1.46-3.81,2.18-6.9,2.18h-5.1v11.07h-3.46v-26.51h8.56c2.99,0,5.27.72,6.83,2.17,1.56,1.44,2.34,3.31,2.34,5.59s-.76,4.04-2.26,5.5Zm-2.64-1.92c.91-.84,1.37-2.03,1.37-3.57,0-3.27-1.88-4.91-5.63-4.91h-5.1v9.74h5.1c1.93,0,3.35-.42,4.26-1.26Z\"\/><path d=\"m32.38,199.67c-2.03-1.16-3.63-2.76-4.81-4.83-1.18-2.07-1.77-4.39-1.77-6.98s.59-4.91,1.77-6.98c1.18-2.07,2.78-3.67,4.81-4.83,2.03-1.16,4.27-1.73,6.73-1.73s4.74.58,6.77,1.73c2.03,1.16,3.63,2.76,4.79,4.81,1.16,2.05,1.75,4.39,1.75,7s-.58,4.95-1.75,7c-1.17,2.05-2.77,3.65-4.79,4.81s-4.28,1.73-6.77,1.73-4.7-.58-6.73-1.73Zm11.73-2.57c1.48-.86,2.65-2.09,3.5-3.69.85-1.6,1.27-3.45,1.27-5.56s-.43-3.99-1.27-5.57c-.85-1.58-2.01-2.81-3.48-3.67s-3.14-1.29-5.02-1.29-3.55.43-5.02,1.29-2.63,2.09-3.48,3.67c-.85,1.59-1.27,3.44-1.27,5.57s.43,3.96,1.27,5.56c.85,1.6,2.02,2.83,3.5,3.69,1.48.86,3.15,1.29,5,1.29s3.52-.43,5-1.29Z\"\/><path d=\"m92.58,174.62l-7.68,26.51h-3.88l-6.16-21.33-6.39,21.33-3.84.04-7.42-26.55h3.69l5.78,22.48,6.39-22.48h3.88l6.09,22.4,5.82-22.4h3.73Z\"\/><path d=\"m102.13,177.44v8.86h9.66v2.85h-9.66v9.13h10.8v2.85h-14.26v-26.55h14.26v2.85h-10.8Z\"\/><path d=\"m134.42,201.13l-6.31-10.84h-4.18v10.84h-3.46v-26.51h8.56c2,0,3.7.34,5.08,1.03,1.38.69,2.42,1.61,3.1,2.78.69,1.17,1.03,2.5,1.03,3.99,0,1.83-.53,3.44-1.58,4.83-1.05,1.39-2.63,2.32-4.74,2.77l6.66,11.11h-4.15Zm-10.5-13.62h5.1c1.88,0,3.28-.46,4.22-1.39.94-.93,1.41-2.16,1.41-3.71s-.46-2.79-1.39-3.65c-.92-.86-2.34-1.29-4.24-1.29h-5.1v10.04Z\"\/><path d=\"m149.33,177.44v8.86h9.66v2.85h-9.66v9.13h10.8v2.85h-14.26v-26.55h14.26v2.85h-10.8Z\"\/><path d=\"m183.43,176.24c2.12,1.08,3.74,2.62,4.87,4.62,1.13,2.01,1.69,4.36,1.69,7.08s-.56,5.07-1.69,7.05c-1.13,1.99-2.75,3.51-4.87,4.56-2.12,1.05-4.62,1.58-7.51,1.58h-8.25v-26.51h8.25c2.89,0,5.39.54,7.51,1.62Zm.32,19.32c1.8-1.81,2.7-4.35,2.7-7.63s-.91-5.87-2.72-7.72c-1.81-1.85-4.42-2.77-7.82-2.77h-4.79v20.84h4.79c3.42,0,6.03-.91,7.84-2.72Z\"\/><path d=\"m225.19,188.66c.8.63,1.43,1.42,1.9,2.35.47.94.7,1.94.7,3,0,1.34-.34,2.56-1.03,3.63-.69,1.08-1.68,1.93-2.99,2.55-1.31.62-2.85.93-4.62.93h-9.89v-26.51h9.51c1.8,0,3.33.3,4.6.9,1.27.59,2.22,1.4,2.85,2.41s.95,2.15.95,3.42c0,1.57-.43,2.87-1.27,3.9-.85,1.03-1.97,1.77-3.37,2.22.96.15,1.85.55,2.64,1.18Zm-12.46-2.59h5.82c1.62,0,2.88-.38,3.77-1.14.89-.76,1.33-1.81,1.33-3.16s-.44-2.4-1.33-3.16c-.89-.76-2.17-1.14-3.84-1.14h-5.74v8.59Zm10.15,10.99c.96-.81,1.44-1.94,1.44-3.39s-.51-2.63-1.52-3.48c-1.01-.85-2.37-1.27-4.07-1.27h-6.01v9.36h6.12c1.72,0,3.07-.4,4.03-1.21Z\"\/><path d=\"m253.43,174.62l-8.63,16.51v10h-3.46v-10l-8.67-16.51h3.84l6.54,13.43,6.54-13.43h3.84Z\"\/><path d=\"m293.7,174.62l-10,26.51h-3.99l-10-26.51h3.69l8.33,22.86,8.33-22.86h3.65Z\"\/><path d=\"m303.25,174.62v26.51h-3.46v-26.51h3.46Z\"\/><path d=\"m332.27,201.13h-3.46l-13.92-21.11v21.11h-3.46v-26.55h3.46l13.92,21.07v-21.07h3.46v26.55Z\"\/><path d=\"m340.9,180.88c1.17-2.07,2.76-3.68,4.77-4.85s4.25-1.75,6.71-1.75c2.89,0,5.41.7,7.57,2.09,2.16,1.4,3.73,3.37,4.72,5.93h-4.15c-.74-1.6-1.79-2.83-3.18-3.69s-3.04-1.29-4.96-1.29-3.51.43-4.98,1.29c-1.47.86-2.62,2.09-3.46,3.67-.84,1.59-1.26,3.44-1.26,5.57s.42,3.95,1.26,5.53c.84,1.59,1.99,2.81,3.46,3.67,1.47.86,3.13,1.29,4.98,1.29s3.58-.43,4.96-1.27c1.38-.85,2.44-2.07,3.18-3.67h4.15c-.99,2.53-2.56,4.49-4.72,5.88-2.15,1.38-4.68,2.07-7.57,2.07-2.46,0-4.7-.58-6.71-1.73-2.01-1.16-3.61-2.76-4.77-4.81s-1.75-4.37-1.75-6.96.58-4.91,1.75-6.98Z\"\/><path d=\"m375.55,177.44v8.86h9.66v2.85h-9.66v9.13h10.8v2.85h-14.26v-26.55h14.26v2.85h-10.8Z\"\/><path d=\"m397.59,200.47c-1.38-.62-2.47-1.48-3.25-2.59-.79-1.1-1.19-2.38-1.22-3.82h3.69c.13,1.24.64,2.29,1.54,3.13.9.85,2.21,1.27,3.94,1.27s2.95-.41,3.9-1.23,1.43-1.88,1.43-3.18c0-1.01-.28-1.84-.84-2.47-.56-.64-1.26-1.11-2.09-1.44-.84-.33-1.96-.68-3.38-1.07-1.75-.46-3.15-.91-4.2-1.37-1.05-.46-1.95-1.17-2.7-2.15-.75-.98-1.12-2.29-1.12-3.94,0-1.44.37-2.73,1.1-3.84.74-1.11,1.77-1.98,3.1-2.59,1.33-.61,2.86-.91,4.58-.91,2.48,0,4.52.62,6.1,1.86,1.58,1.24,2.48,2.89,2.68,4.94h-3.8c-.13-1.01-.66-1.91-1.6-2.68s-2.18-1.16-3.73-1.16c-1.44,0-2.62.37-3.54,1.12-.91.75-1.37,1.79-1.37,3.13,0,.97.27,1.75.82,2.36s1.22,1.07,2.02,1.39c.8.32,1.92.68,3.37,1.08,1.75.48,3.16.96,4.22,1.43,1.07.47,1.98,1.19,2.74,2.17.76.97,1.14,2.3,1.14,3.97,0,1.29-.34,2.51-1.03,3.65-.68,1.14-1.7,2.07-3.04,2.77-1.34.71-2.93,1.07-4.75,1.07s-3.31-.31-4.7-.93Z\"\/><\/g><\/svg><\/span>\n          <span class=\"vc-cta-ext\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"><\/path><polyline points=\"15 3 21 3 21 9\"><\/polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"><\/line><\/svg><\/span>\n        <\/a>\n         <span class=\"updated\" id=\"updated-pill\" aria-live=\"polite\" style=\"background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.85)\">\n          <span class=\"dot\"><\/span>\n          <span id=\"updated-text\">A carregar dados\u2026<\/span>\n        <\/span>\n        <a class=\"vc-hero-contact\" href=\"https:\/\/vincesconsulting.com\/pt-pt\/contacto\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Contacta con Vinces\">\n          <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z\"><\/path><polyline points=\"22,6 12,13 2,6\"><\/polyline><\/svg>\n          <span>Contacta-nos<\/span>\n        <\/a> \n      <\/div>\n    <\/div>\n    <div class=\"vc-hero-rail-card\" id=\"vc-hero-wheel\" role=\"group\" aria-label=\"Qu\u00e9 cubre PolicyAlert\">\n      <span class=\"vc-wheel-label\">O que \u00e9 que vigiamos?<\/span>\n      <div class=\"vc-hero-wheel\">\n        <div class=\"vc-hero-wheel-track\">\n          <span class=\"vc-wheel-chip\"><span class=\"chip-ico\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 21h18M5 21V10m4 11V10m6 11V10m4 11V10M3 10l9-5 9 5\"><\/path><\/svg><\/span>Congresso, Senado e regi\u00f5es aut\u00f3nomas<\/span>\n          <span class=\"vc-wheel-chip\"><span class=\"chip-ico\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"><\/path><path d=\"M14 2v6h6M8 13h8M8 17h8\"><\/path><\/svg><\/span>Consultas e audi\u00eancias p\u00fablicas<\/span>\n          <span class=\"vc-wheel-chip\"><span class=\"chip-ico\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M13 2 3 14h9l-1 8 10-12h-9z\"><\/path><\/svg><\/span>Vota\u00e7\u00f5es e altera\u00e7\u00f5es<\/span>\n          <span class=\"vc-wheel-chip\"><span class=\"chip-ico\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"m17 11 2 2 4-4\"><\/path><\/svg><\/span>An\u00e1lise de especialistas, n\u00e3o s\u00f3 IA<\/span>\n          <span class=\"vc-wheel-chip\"><span class=\"chip-ico\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\"><\/rect><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"><\/path><\/svg><\/span>Nomea\u00e7\u00f5es e demiss\u00f5es<\/span>\n          <span class=\"vc-wheel-chip\"><span class=\"chip-ico\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span>Partes interessadas influentes<\/span>\n          <span class=\"vc-wheel-chip\"><span class=\"chip-ico\" aria-hidden=\"true\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span>Acordos e agenda do governo<\/span>\n          <!-- duplicado para loop infinito sin salto -->\n          <span class=\"vc-wheel-chip\" aria-hidden=\"true\"><span class=\"chip-ico\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 21h18M5 21V10m4 11V10m6 11V10m4 11V10M3 10l9-5 9 5\"><\/path><\/svg><\/span>Congresso, Senado e regi\u00f5es aut\u00f3nomas<\/span>\n          <span class=\"vc-wheel-chip\" aria-hidden=\"true\"><span class=\"chip-ico\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"><\/path><path d=\"M14 2v6h6M8 13h8M8 17h8\"><\/path><\/svg><\/span>Consultas e audi\u00eancias p\u00fablicas<\/span>\n          <span class=\"vc-wheel-chip\" aria-hidden=\"true\"><span class=\"chip-ico\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M13 2 3 14h9l-1 8 10-12h-9z\"><\/path><\/svg><\/span>Vota\u00e7\u00f5es e altera\u00e7\u00f5es<\/span>\n          <span class=\"vc-wheel-chip\" aria-hidden=\"true\"><span class=\"chip-ico\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"m17 11 2 2 4-4\"><\/path><\/svg><\/span>An\u00e1lise de especialistas, n\u00e3o s\u00f3 IA<\/span>\n          <span class=\"vc-wheel-chip\" aria-hidden=\"true\"><span class=\"chip-ico\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\"><\/rect><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"><\/path><\/svg><\/span>Nomea\u00e7\u00f5es e demiss\u00f5es<\/span>\n          <span class=\"vc-wheel-chip\" aria-hidden=\"true\"><span class=\"chip-ico\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span>Partes interessadas influentes<\/span>\n          <span class=\"vc-wheel-chip\" aria-hidden=\"true\"><span class=\"chip-ico\"><svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span>Acordos e agenda do governo<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n\n<div class=\"wrap\">\n\n  \n\n  <noscript>\n    <div class=\"nojs\">\n  Esta p\u00e1gina usa JavaScript para mostrar gr\u00e1ficos interativos. Se o tiveres desativado, podes consultar os dados brutos em\n <a href=\"\/api\/dashboard-publico\/policyalert\/\">     \/api\/dashboard-publico\/policyalert\/.<\/a> \n    <\/div>\n  <\/noscript>\n\n  <!-- =========================================================\n       PRODUCTO: POLICYALERT\n       Datos: leyes en tramitaci\u00f3n, KPIs, temas activos semana\n       ========================================================= -->\n  <section class=\"product-section\" aria-labelledby=\"pa-title\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Dataset\">\n    <div class=\"product-grid reverse\">\n      <div class=\"product-content\" data-carousel=\"\">\n        <nav class=\"car-tabs\" role=\"tablist\" aria-label=\"Vistas PolicyAlert\">\n          <button type=\"button\" class=\"car-tab active\" data-pane=\"pane-temas-act\" role=\"tab\" aria-selected=\"true\">Temas em destaque esta semana<\/button>\n          <button type=\"button\" class=\"car-tab\" data-pane=\"pane-kpis\" role=\"tab\" aria-selected=\"false\">Atividade regulat\u00f3ria<\/button>\n          <button type=\"button\" class=\"car-tab\" data-pane=\"pane-leyes\" role=\"tab\" aria-selected=\"false\">Leis em tramita\u00e7\u00e3o<\/button>\n          <button type=\"button\" class=\"car-tab\" data-pane=\"pane-faq\" role=\"tab\" aria-selected=\"false\">Perguntas frequentes<\/button>\n        <\/nav>\n\n        <div class=\"car-pane active\" id=\"pane-temas-act\" role=\"tabpanel\">\n          <div class=\"product-content-header temas-head\">\n            <div class=\"temas-head-main\">\n              <h3 id=\"temas-act-title\">O destaque da semana<\/h3>\n              <p class=\"sub\">Evolu\u00e7\u00e3o di\u00e1ria das publica\u00e7\u00f5es detetadas por setor.<\/p>\n            <\/div>\n            <a class=\"pane-cta pane-cta--accent temas-head-cta-btn\" href=\"https:\/\/vincesconsulting.com\/pt-pt\/contacto\/\" target=\"_blank\" rel=\"noopener\">Identificar a regulamenta\u00e7\u00e3o<br\/> que me diz respeito<\/a>\n          <\/div>\n          <div class=\"temas-chart-area\">\n            <div class=\"temas-act-wrap\">\n              <canvas id=\"temasActChart\" role=\"img\" aria-label=\"Evoluci\u00f3n diaria de temas activos\" style=\"box-sizing: border-box; display: block; height: 340px; width: 826px;\" width=\"826\" height=\"340\"><\/canvas>\n            <\/div>\n          <\/div>\n          <div class=\"temas-act-summary\" id=\"temas-act-summary\">\n        <span class=\"ta-actions\">\n          <a data-action=\"all\">Mostrar tudo<\/a>\n          <span>\u00b7<\/span>\n          <a data-action=\"top3\">Apenas os 3 primeiros<\/a>\n        <\/span>\n      <\/div>\n          <div class=\"temas-act-legend\" id=\"temas-act-legend\" aria-label=\"Selecciona \u00e1mbitos para mostrar u ocultar\"><span class=\"ta-tag \" data-idx=\"0\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#FDB554\"><\/span>\n  Alimenta\u00e7\u00e3o\n <span style=\"color:var(--muted);font-weight:600\">       \u00b7318<\/span>\n      <\/span><span class=\"ta-tag \" data-idx=\"1\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#c0392b\"><\/span>\n  Sa\u00fade\n <span style=\"color:var(--muted);font-weight:600\">       \u00b7268<\/span>\n      <\/span><span class=\"ta-tag\" data-idx=\"2\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#2e7d4a\"><\/span>\n  Ambiente\n <span style=\"color:var(--muted);font-weight:600\">       \u00b7265<\/span>\n      <\/span><span class=\"ta-tag \" data-idx=\"3\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#8a6b4a\"><\/span>\n  Imobili\u00e1rio\n <span style=\"color:var(--muted);font-weight:600\">       \u00b7156<\/span>\n      <\/span><span class=\"ta-tag \" data-idx=\"4\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#314068\"><\/span>\n  Energia\n <span style=\"color:var(--muted);font-weight:600\">       \u00b7147<\/span>\n      <\/span><span class=\"ta-tag \" data-idx=\"5\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#16a34a\"><\/span>\n  Mobilidade sustent\u00e1vel\n <span style=\"color:var(--muted);font-weight:600\">       \u00b7132<\/span>\n      <\/span><span class=\"ta-tag \" data-idx=\"6\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#6B7280\"><\/span>\n  Ind\u00fastria\n <span style=\"color:var(--muted);font-weight:600\">       \u00b796<\/span>\n      <\/span><span class=\"ta-tag \" data-idx=\"7\" role=\"button\" aria-pressed=\"true\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:#7889b0\"><\/span>\n  Educa\u00e7\u00e3o\n <span style=\"color:var(--muted);font-weight:600\">       \u00b792<\/span>\n      <\/span>\n    <\/div>\n          <div class=\"cam-lb\" id=\"camaras-leaderboard\" hidden=\"\">\n            <p class=\"cam-lb-bridge\"><span class=\"cam-lb-dot\" id=\"cam-lb-dot\" aria-hidden=\"true\"><\/span>O tema mais popular da semana, por c\u00e2mara<\/p>\n            <div class=\"cam-lb-head\">\n              <h4 class=\"cam-lb-title\">As 10 c\u00e2maras mais ativas<\/h4>\n              <span class=\"cam-lb-sub\" id=\"cam-lb-sub\"><\/span>\n            <\/div>\n            <ol class=\"cam-lb-list\" id=\"cam-lb-list\"><\/ol>\n            <div class=\"cam-lb-more\" id=\"cam-lb-more\" hidden=\"\">\u00b7\u00b7\u00b7<\/div>\n          <\/div>\n        <\/div>\n        <div class=\"car-pane\" id=\"pane-kpis\" role=\"tabpanel\">\n          <div class=\"product-content-header\">\n            <div>\n              <h3>A batida regulat\u00f3ria, em direto<\/h3>\n              <p class=\"sub\">Principais indicadores da atividade legislativa: consultas e audi\u00eancias p\u00fablicas abertas, iniciativas em andamento e publica\u00e7\u00f5es da semana.<\/p>\n            <\/div>\n          <\/div>\n          <div class=\"kpi-grid\" id=\"kpi-grid\">\n            <div class=\"kpi-card\">\n              <p class=\"kpi-label\">Consultas p\u00fablicas em aberto<\/p>\n              <p class=\"kpi-value\" data-kpi=\"consultas\">166<\/p>\n              <p class=\"kpi-sub\" data-kpi=\"consultas-sub\">11 novos casos nas \u00faltimas 24 horas<\/p>\n            <\/div>\n            <div class=\"kpi-card accent\">\n              <p class=\"kpi-label\">Audi\u00eancias p\u00fablicas abertas<\/p>\n              <p class=\"kpi-value\" data-kpi=\"audiencias\">183<\/p>\n              <p class=\"kpi-sub\" data-kpi=\"audiencias-sub\">8 novos casos nas \u00faltimas 24 horas<\/p>\n            <\/div>\n            <div class=\"kpi-card green\">\n              <p class=\"kpi-label\">Novidades sobre as iniciativas (24h)<\/p>\n              <p class=\"kpi-value\" data-kpi=\"iniciativas\">531<\/p>\n              <p class=\"kpi-sub\">Iniciativas com novos desenvolvimentos em fase de tramita\u00e7\u00e3o.<\/p>\n            <\/div>\n            <div class=\"kpi-card purple\">\n              <p class=\"kpi-label\">Acordos do Governo<\/p>\n              <p class=\"kpi-value\" data-kpi=\"acuerdos\">1048<\/p>\n              <p class=\"kpi-sub\" data-kpi=\"acuerdos-sub\">Desde 11 de maio de 2026 at\u00e9 hoje<\/p>\n            <\/div>\n          <\/div>  \n          <div class=\"pane-cta-row\">\n            <p class=\"pane-cta-text\">\n              <strong>Queres receber notifica\u00e7\u00f5es quando for aberta uma consulta ou audi\u00eancia no teu setor?<\/strong>\n  O PolicyAlert avisa-te no dia em que \u00e9 publicado, com prazos, formul\u00e1rios e links diretos.\n            <\/p>\n            <a class=\"pane-cta pane-cta--accent\" href=\"https:\/\/vincesconsulting.com\/pt-pt\/contacto\/\" target=\"_blank\" rel=\"noopener\">Receber alertas regulamentares<\/a>\n          <\/div>\n\n          <div class=\"pane-seo\">\n<article class=\"seo-item\">\n        <h3>Consultas e audi\u00eancias p\u00fablicas em curso<\/h3>\n        <table class=\"seo-table\" id=\"seo-table-consultas\">\n          <caption>Consultas p\u00fablicas pr\u00e9vias, audi\u00eancias e informa\u00e7\u00f5es p\u00fablicas dispon\u00edveis neste momento<\/caption>\n          <thead>\n            <tr>\n              <th scope=\"col\">Tipo<\/th>\n              <th scope=\"col\">T\u00edtulo<\/th>\n              <th scope=\"col\">Tipo de norma<\/th>\n              <th scope=\"col\">In\u00edcio<\/th>\n              <th scope=\"col\">Fim do prazo<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/transparencia.carm.es\/web\/transparencia\/-\/orden-ayudas-compromisos-medioambientales-y-climatic-1\" rel=\"noopener\" target=\"_blank\">Projeto de portaria para regulamentar os apoios relativos aos compromissos ambientais e clim\u00e1ticos das interven\u00e7\u00f5es do FEADER PEPAC 2023-2027<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2027-11-19\">19 de novembro de 2027<\/time><\/td>\n            <td><time datetime=\"2027-11-27\">27 de novembro de 2027<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/gvaparticipa.gva.es\/legislation\/processes\/676\" rel=\"noopener\" target=\"_blank\">**CONSULTA P\u00daBLICA PR\u00c9VIA SOBRE O PROJETO DE DECRETO DA SECRETARIA DE AGRICULTURA, \u00c1GUA, Pecu\u00e1ria e Pesca, que estabelece medidas de prote\u00e7\u00e3o e controlo numa parte da zona protegida de interesse pesqueiro Zona 6 (Punta de l\u2019Escaleta \u2013 Cap de l\u2019Horta) COMPRENDIDA ENTRE A VILA JOIOSA E O CAMPELL<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-06-30\">30 de junho de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-30\">30 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/gvaparticipa.gva.es\/legislation\/processes\/677\" rel=\"noopener\" target=\"_blank\">CONSULTA P\u00daBLICA PR\u00c9VIA SOBRE O PROJETO DE DECRETO DA SECRETARIA DE AGRICULTURA, \u00c1GUA, PASTORICIA E PESCA, ATRAV\u00c9S DO QUAL SESTABELECEM MEDIDAS DE PROTE\u00c7\u00c3O E CONTROLO NUMA PARTE DA ZONA PROTEGIDA DE INTERESSE PESQUEIRO ZONA 5, COMPREENDIDA ENTRE O CAP DE SANT ANTONI E O CAP D\u2019OR, OS PENYA-SEGATS DA MARIN<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-06-30\">30 de junho de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-30\">30 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.pt\/pt\/consulta\/fabrica-de-papel-ponte-redonda-sa\" rel=\"noopener\" target=\"_blank\">F\u00e1brica de Papel Ponte Redonda, S.A.<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-13\">13 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-11\">11 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/asturiasparticipa.asturias.es\/-\/decreto-por-el-que-se-establece-un-r%C3%A9gimen-especial-para-los-fraccionamientos-de-deudas-derivadas-del-reintegro-del-salario-social-b%C3%A1sico.?classPK=449026\" rel=\"noopener\" target=\"_blank\">Decreto que estabelece um regime especial para o pagamento parcelado de d\u00edvidas decorrentes do reembolso do Sal\u00e1rio Social B\u00e1sico<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-13\">13 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-26\">26 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.juntadeandalucia.es\/servicios\/participacion\/todos-documentos\/detalle\/661312.html\" rel=\"noopener\" target=\"_blank\">Resolu\u00e7\u00e3o da Secretaria-Geral T\u00e9cnica que decide submeter a consulta p\u00fablica o projeto de portaria que altera a portaria de 10 de julho de 2024, que aprova as bases regulamentares para a concess\u00e3o de subs\u00eddios em regime de concurso destinado a<\/a><\/td>\n            <td>Resolu\u00e7\u00e3o<\/td>\n            <td><time datetime=\"2026-05-13\">13 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-21\">21 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participacion.cantabria.es\/normativa\/-\/normativas\/ver\/7939\" rel=\"noopener\" target=\"_blank\">Pedido de autoriza\u00e7\u00e3o para reabilita\u00e7\u00e3o, amplia\u00e7\u00e3o e mudan\u00e7a de uso de uma cabana tradicional de Pasiega para moradia unifamiliar em El Cierro, no munic\u00edpio de Selaya. Processo n.\u00ba 317020<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-13\">13 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-03\">3 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.euskadi.eus\/anuncio-administrativo\/aai00227_anuncio-del-director-administracion-ambiental-que-se-somete-informacion-publica-expediente-revision-autorizacion-ambiental-integrada-otorgada-tremefil-izaguirre-s-a\/web01-tramite\/es\/\" rel=\"noopener\" target=\"_blank\">AAI00227_AN\u00daNCIO do diretor de Administra\u00e7\u00e3o Ambiental, pelo qual se submete a consulta p\u00fablica o processo de revis\u00e3o da autoriza\u00e7\u00e3o ambiental integrada concedida \u00e0 Tremefil Izaguirre, S.A.<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-13\">13 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-09\">9 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.euskadi.eus\/anuncio-administrativo\/aai00485_anuncio-del-director-administracion-ambiental-que-se-somete-informacion-publica-proyecto-tecnico-y-estudio-impacto-ambiental-presentado-empresa-limpiezas-industriales-morga-s-l-actividad-tratamiento-aguas-residuales-termino-municipal-lemoa-bizka\/web01-tramite\/es\/\" rel=\"noopener\" target=\"_blank\">AAI00485_AN\u00daNCIO do diretor de Administra\u00e7\u00e3o Ambiental, pelo qual se submete a consulta p\u00fablica o projeto t\u00e9cnico e o estudo de impacto ambiental apresentados pela empresa Limpiezas Industriales Morga, S.L., para a atividade de tratamento de \u00e1guas residuais, no concelho de Lemo<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-13\">13 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-23\">23 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.pt\/pt\/consulta\/plano-de-acao-para-a-conservacao-do-lince-iberico-lynx-pardinus-em-portugal-paclip-2026-2030\" rel=\"noopener\" target=\"_blank\">Plano de A\u00e7\u00e3o para a Conserva\u00e7\u00e3o do lince-ib\u00e9rico (Lynx pardinus) em Portugal (PACLIP 2026-2030)<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-12\">12 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.pt\/pt\/consulta\/trougal\" rel=\"noopener\" target=\"_blank\">Trougal<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-11\">11 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/ec.europa.eu\/info\/law\/better-regulation\/have-your-say\/initiatives\/18072-Directivas-de-Aves-y-Habitats-prueba-de-resistencia_es\" rel=\"noopener\" target=\"_blank\">Diretivas das Aves e dos Habitats: teste de resist\u00eancia<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-08-04\">4 de agosto de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/transparencia.xunta.gal\/tema\/informacion-de-relevancia-xuridica\/consulta-publica-previa\/consultas-abertas\/-\/cpp\/0277\/lei-saude-publica-galicia\" rel=\"noopener\" target=\"_blank\">Lei da Sa\u00fade P\u00fablica da Galiza<\/a><\/td>\n            <td>Anteprojeto de Lei<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-26\">26 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.pt\/pt\/consulta\/consulta-publica-do-pmac-de-odemira\" rel=\"noopener\" target=\"_blank\">Consulta p\u00fablica sobre o PMAC de Odemira<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-24\">24 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.pt\/pt\/consulta\/pda-unidade-industrial-de-producao-de-saf-e-derivados-de-baixo-carbono\" rel=\"noopener\" target=\"_blank\">PDA - Unidade Industrial de Produ\u00e7\u00e3o de SAF e Derivados de Baixo Carbono informa\u00e7\u00e3o<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-01\">1 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.euskadi.eus\/anuncio-administrativo\/consulta-publica-previa-del-decreto-que-regula-cartera-servicios-red-vasca-empleo\/web01-tramite\/es\/\" rel=\"noopener\" target=\"_blank\">Informa\u00e7\u00e3o p\u00fablica \u2013 Decreto relativo ao conjunto de servi\u00e7os da Rede Basca de Emprego e aos seus instrumentos comuns<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-12\">12 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participacion.cantabria.es\/normativa\/-\/normativas\/ver\/2346\" rel=\"noopener\" target=\"_blank\">Lei da Cant\u00e1bria para combater o despovoamento e enfrentar o desafio demogr\u00e1fico<\/a><\/td>\n            <td>Anteprojeto de Lei<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-26\">26 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participacion.cantabria.es\/normativa\/-\/normativas\/ver\/7938\" rel=\"noopener\" target=\"_blank\">Pedido de autoriza\u00e7\u00e3o para a legaliza\u00e7\u00e3o de um barrac\u00e3o de ferramentas em P\u00e1manes, no munic\u00edpio de Li\u00e9rganes. Processo n.\u00ba 316285<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-02\">2 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.juntadeandalucia.es\/servicios\/participacion\/todos-documentos\/detalle\/660955.html\" rel=\"noopener\" target=\"_blank\">Projeto de decreto que define os \u00f3rg\u00e3os competentes para a aplica\u00e7\u00e3o de san\u00e7\u00f5es por infra\u00e7\u00f5es na \u00e1rea social<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-12\">12 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-01\">1 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/digital.gob.es\/ministerio\/participacion-proyectos-normativos\/consulta-publica-previa\/telecomunicaciones-infraestructuras-digitales\/2026-05-11\" rel=\"noopener\" target=\"_blank\">Consulta p\u00fablica sobre o projeto de resolu\u00e7\u00e3o da Secretaria de Estado das Telecomunica\u00e7\u00f5es e Infraestruturas Digitais que desenvolve o n.\u00ba 7 da resolu\u00e7\u00e3o de 12 de julho de 2019 da Secretaria de Estado para o Avan\u00e7o Digital, que estabelece o procedimento para<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-05\">5 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/ec.europa.eu\/info\/law\/better-regulation\/have-your-say\/initiatives\/17212-Estrategia-de-la-UE-de-lucha-contra-la-corrupcion-un-planteamiento-integral-para-luchar-contra-la-corrupcion-dentro-y-fuera-de-la-UE_es\" rel=\"noopener\" target=\"_blank\">Estrat\u00e9gia da UE de combate \u00e0 corrup\u00e7\u00e3o: uma abordagem abrangente para combater a corrup\u00e7\u00e3o dentro e fora da UE<\/a><\/td>\n            <td>Planos<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-07-06\">6 de julho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/ec.europa.eu\/info\/law\/better-regulation\/have-your-say\/initiatives\/15873-Revision-de-los-valores-de-los-parametros-de-referencia-para-la-asignacion-gratuita-de-derechos-de-emision-2026-2030-_es\" rel=\"noopener\" target=\"_blank\">Revis\u00e3o dos valores dos par\u00e2metros de refer\u00eancia para a atribui\u00e7\u00e3o gratuita de direitos de emiss\u00e3o (2026-2030)<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-08\">8 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.navarra.es\/processes\/orden-foral-impuesto-especial-electricidad-modelo-560\" rel=\"noopener\" target=\"_blank\">Projeto de Portaria Regional XXX\/2026, de XX de XXXXXXXX, do Conselheiro da Economia e das Finan\u00e7as, que altera a Portaria Regional n.\u00ba 41\/2015, de 16 de fevereiro, da Conselheira da Economia, Finan\u00e7as, Ind\u00fastria e Emprego, que aprova o modelo 560 \u00abImposto Especial sobre a Eletricidade. Autoliq\u00bb <\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.mivau.gob.es\/el-ministerio\/buscador-participacion-publica\/proyecto-de-orden-por-la-que-se-establecen-las-bases-reguladoras-para-la-concesion-de-subvenciones-publicas-para-el-impulso-de-la-industrializacion-de-la\" rel=\"noopener\" target=\"_blank\">PROJETO DE DECRETO QUE ESTABELECE AS BASE REGULAMENTARES PARA A CONCESS\u00c3O DE SUBVEN\u00c7\u00d5ES P\u00daBLICAS PELO MINIST\u00c9RIO DA HABITA\u00c7\u00c3O E DA AGENDA URBANA ATRAV\u00c9S DE CONCURSO QUE TENHAM COMO OBJETIVO A CONCESS\u00c3O DE AUX\u00cdLIOS PARA IMPULSIONAR A INDUSTRIALIZA\u00c7\u00c3O DA HABITA\u00c7\u00c3O<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-25\">25 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participacion.cantabria.es\/normativa\/-\/normativas\/ver\/7937\" rel=\"noopener\" target=\"_blank\">Portaria que altera a Portaria que altera a Portaria SAN\/27\/2007, de 8 de maio, que estabelece o regime de ajudas para doentes da Comunidade Aut\u00f3noma da Cant\u00e1bria e, se for o caso, acompanhantes, para despesas de desloca\u00e7\u00e3o, alimenta\u00e7\u00e3o e alojamento para fins de assist\u00eancia<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-22\">22 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.navarra.es\/processes\/proyecto-decreto-foral-ayudas-huerfanas-violencia-mujeres\" rel=\"noopener\" target=\"_blank\">Projeto de Decreto Regional que estabelece o regime de apoios financeiros para filhas e filhos \u00f3rf\u00e3os de v\u00edtimas mortais de viol\u00eancia contra as mulheres na Comunidade Regional de Navarra<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.gencat.cat\/processes\/projecte-decret-lsc\" rel=\"noopener\" target=\"_blank\">Consulta p\u00fablica pr\u00e9via \u00e0 elabora\u00e7\u00e3o de um projeto de decreto sobre a l\u00edngua gestual catal\u00e3.<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-07-11\">11 de julho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"http:\/\/www.borm.es\/borm\/vista\/busqueda\/ver_anuncio_html.jsf?fecha=11052026&numero=2066&origen=sum\" rel=\"noopener\" target=\"_blank\">Projeto de decreto que regula a efici\u00eancia e a partilha de sistemas de monitoriza\u00e7\u00e3o ambiental na Regi\u00e3o de M\u00farcia<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"http:\/\/www.borm.es\/borm\/vista\/busqueda\/ver_anuncio_html.jsf?fecha=11052026&numero=2064&origen=sum\" rel=\"noopener\" target=\"_blank\">Projeto de execu\u00e7\u00e3o da subesta\u00e7\u00e3o de E\/S de Asomada da linha Fausita-San Ant\u00f3n SC de 132 kV, situada no munic\u00edpio de Cartagena, bem como a lista dos bens e direitos afetados para efeitos do reconhecimento, nomeadamente, da utilidade p\u00fablica<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-22\">22 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.dsca.gob.es\/sites\/default\/files\/files\/consulta_publica\/TIP_N-26-044-DCA.pdf\" rel=\"noopener\" target=\"_blank\">Projeto de Decreto Real que institui o Cart\u00e3o Europeu de Defici\u00eancia e o Cart\u00e3o Europeu de Estacionamento para pessoas com defici\u00eancia.<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.gencat.cat\/processes\/ordreSISCAT\" rel=\"noopener\" target=\"_blank\">Consulta p\u00fablica pr\u00e9via sobre a elabora\u00e7\u00e3o de um projeto de Portaria que atualiza o anexo do Decreto 196\/2010, de 14 de dezembro, relativo ao sistema de sa\u00fade integral de utiliza\u00e7\u00e3o p\u00fablica da Catalunha (SISCAT)<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-08\">8 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participacion.cantabria.es\/normativa\/-\/normativas\/ver\/7936\" rel=\"noopener\" target=\"_blank\">Pedido de autoriza\u00e7\u00e3o para a constru\u00e7\u00e3o de uma moradia unifamiliar em El Vi\u00f1ero, munic\u00edpio de Val de San Vicente. Processo n.\u00ba 316995<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-01\">1 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participacion.cantabria.es\/normativa\/-\/normativas\/ver\/7935\" rel=\"noopener\" target=\"_blank\">Processo de expropria\u00e7\u00e3o for\u00e7ada iniciado para a execu\u00e7\u00e3o da altera\u00e7\u00e3o n.\u00ba 1 do Projeto de melhoria do tra\u00e7ado e alargamento da faixa de rodagem da estrada CA-322, de Mogro a Mar, do P.K. 0,000 ao P.K. 5,700. Tro\u00e7o: Mogro-Mar <\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-11\">11 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-01\">1 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"http:\/\/www.borm.es\/borm\/vista\/busqueda\/ver_anuncio_html.jsf?fecha=09052026&numero=2031&origen=sum\" rel=\"noopener\" target=\"_blank\">Projeto de Portaria do Conselheiro da Presid\u00eancia, Porta-voz, A\u00e7\u00e3o Externa e Emerg\u00eancias, que aprova as bases regulamentares das subven\u00e7\u00f5es, em regime de concurso, destinadas \u00e0s Escolas de Touradas da Comunidade Aut\u00f3noma da Regi\u00e3o de M\u00farcia<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-09\">9 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/gvaparticipa.gva.es\/legislation\/processes\/611\" rel=\"noopener\" target=\"_blank\">PROJETO DE DECRETO PARA A CRIA\u00c7\u00c3O DO OBSERVAT\u00d3RIO VALENCIANO DAS FAM\u00cdLIAS<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-09\">9 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-23\">23 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/gvaparticipa.gva.es\/legislation\/processes\/700\" rel=\"noopener\" target=\"_blank\">Projeto de Portaria da Secretaria Regional da Agricultura, \u00c1gua, Pecu\u00e1ria e Pesca, que estabelece as bases regulamentares para a concess\u00e3o de apoios ao empreendedorismo no setor prim\u00e1rio a mulheres residentes em munic\u00edpios rurais da Comunidade Valenciana<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-09\">9 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-18\">18 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/ec.europa.eu\/info\/law\/better-regulation\/have-your-say\/initiatives\/14225-Articulos-de-puericultura-restriccion-de-sustancias-clasificadas-como-carcinogenas-mutagenas-o-toxicas-para-la-reproduccion-CMR-_es\" rel=\"noopener\" target=\"_blank\">Artigos de puericultura: restri\u00e7\u00f5es \u00e0s subst\u00e2ncias classificadas como cancer\u00edgenas, mutag\u00e9nicas ou t\u00f3xicas para a reprodu\u00e7\u00e3o (CMR)<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-05\">5 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.cnmc.es\/consultas-publicas\/energia\/propuesta-modificacion-prodecimientos-pos07-4-y-pos14-4\" rel=\"noopener\" target=\"_blank\">Processo de audi\u00eancia - Proposta de resolu\u00e7\u00e3o para altera\u00e7\u00e3o dos POs el\u00e9tricos PO7.4 e PO14.4<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-25\">25 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.mjusticia.gob.es\/es\/AreaTematica\/ActividadLegislativa\/Documents\/consulta-publica-reglamento-registro-civil.pdf\" rel=\"noopener\" target=\"_blank\">Decreto-Real que aprova o Regulamento do Registo Civil.<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-23\">23 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.comunidad.madrid\/transparencia\/proyecto-decreto-del-consejo-gobierno-que-se-aprueba-reglamento-inspeccion-servicios-sociales\" rel=\"noopener\" target=\"_blank\">Projeto de Decreto do Conselho de Governo que aprova o Regulamento de Inspe\u00e7\u00e3o dos Servi\u00e7os Sociais da Comunidade de Madrid<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-28\">28 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.navarra.es\/processes\/orden-foral-documentos-notariales-electronicos\" rel=\"noopener\" target=\"_blank\">Projeto de DECRETO FORAL XX\/2026, de XX de XXXX, do Conselheiro da Economia e Finan\u00e7as, que aprova os documentos notariais eletr\u00f3nicos selados da Comunidade Foral de Navarra<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-08\">8 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.educacionyfp.gob.es\/servicios-al-ciudadano\/informacion-publica\/audiencia-informacion-publica\/abiertos\/2026\/po-regula-inspeccion.html\" rel=\"noopener\" target=\"_blank\">Projeto de Portaria que regula a organiza\u00e7\u00e3o e o funcionamento da inspe\u00e7\u00e3o educativa no \u00e2mbito de gest\u00e3o do Minist\u00e9rio da Educa\u00e7\u00e3o, Forma\u00e7\u00e3o Profissional e Desporto<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.educacionyfp.gob.es\/servicios-al-ciudadano\/informacion-publica\/audiencia-informacion-publica\/abiertos\/2026\/prd-tecnico-apyd-alfareria.html\" rel=\"noopener\" target=\"_blank\">Projeto de Decreto Real que cria o t\u00edtulo de T\u00e9cnico ou T\u00e9cnica de Artes Pl\u00e1sticas e Design em Olaria, pertencente \u00e0 fam\u00edlia profissional art\u00edstica da Cer\u00e2mica art\u00edstica, e define os seus conte\u00fados m\u00ednimos de ensino<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.transportes.gob.es\/el-ministerio\/buscador-participacion-publica\/real-decreto-por-el-que-se-regula-la-concesion-directa-en-el-ano-2026-de-una-subvencion-la-asociacion-de-familias-de-alumnos-y-otra-la-asociacion-aula\" rel=\"noopener\" target=\"_blank\">Informa\u00e7\u00e3o p\u00fablica sobre o projeto de Decreto Real que regula a concess\u00e3o direta, no ano de 2026, de uma subven\u00e7\u00e3o \u00e0 \u00abAssocia\u00e7\u00e3o de Fam\u00edlias de Alunos\u00bb da escola de educa\u00e7\u00e3o infantil do Minist\u00e9rio dos Transportes e da Mobilidade Sustent\u00e1vel e de outra \u00e0 \u00abAssocia\u00e7\u00e3o Aula Cultural de  <\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-04\">4 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"http:\/\/www.borm.es\/borm\/vista\/busqueda\/ver_anuncio_html.jsf?fecha=08052026&numero=2013&origen=sum\" rel=\"noopener\" target=\"_blank\">Processo de audi\u00eancia p\u00fablica para a autoriza\u00e7\u00e3o da mudan\u00e7a de localiza\u00e7\u00e3o da sala de bingo denominada SALA DE BINGO HOTEL ALFONSO XIII para um novo local, situado na rua Carlos III, n.\u00ba 47, r\u00e9s-do-ch\u00e3o, lado direito, CP 30.203, Cartagena<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-06\">6 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"http:\/\/www.borm.es\/borm\/vista\/busqueda\/ver_anuncio_html.jsf?fecha=08052026&numero=2014&origen=sum\" rel=\"noopener\" target=\"_blank\">Caderno de encargos que vai reger o processo de ocupa\u00e7\u00e3o de terrenos na via pecu\u00e1ria denominada \u00abVereda del Puntarr\u00f3n\u00bb, classificada como pertencente ao concelho de Mazarr\u00f3n, para o Lsbt 400230v, passeio Alcalde Mariano Y\u00fafera Guirao-Pto Mazarr\u00f3n, solicitada pela I-DE redes el\u00e9ctricas inteligentes<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-10\">10 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.euskadi.eus\/dpmt-terraza-hotel-boutique-bahia-de-plentzia\/web01-tramite\/es\/\" rel=\"noopener\" target=\"_blank\">An\u00fancio do diretor de Portos, Assuntos Mar\u00edtimos e Litoral, pelo qual se submete a consulta p\u00fablica o pedido de Adrian Jon S. L. para a ocupa\u00e7\u00e3o de bens do dom\u00ednio p\u00fablico mar\u00edtimo-terrestre com vista \u00e0 instala\u00e7\u00e3o de uma esplanada desmont\u00e1vel anexa ao Hotel Boutique Bah\u00eda de Plent<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-04\">4 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.gencat.cat\/processes\/decret-dpd\" rel=\"noopener\" target=\"_blank\">Consulta p\u00fablica pr\u00e9via - Regulamenta\u00e7\u00e3o do Delegado para a Prote\u00e7\u00e3o de Dados da Generalitat de Catalunya<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-09\">9 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.educacionyfp.gob.es\/servicios-al-ciudadano\/informacion-publica\/audiencia-informacion-publica\/abiertos\/2026\/rd-ordenacion-eeaa-superiores.html\" rel=\"noopener\" target=\"_blank\">Projeto de Decreto Real que estabelece a organiza\u00e7\u00e3o do ensino superior nas \u00e1reas art\u00edsticas e os procedimentos para garantir a sua qualidade<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.educacionyfp.gob.es\/servicios-al-ciudadano\/informacion-publica\/audiencia-informacion-publica\/abiertos\/2026\/prd-ts-artesplasticadiseno.html\" rel=\"noopener\" target=\"_blank\">Projeto de Decreto Real que cria o t\u00edtulo de T\u00e9cnico ou T\u00e9cnica Superior de Artes Pl\u00e1sticas e Design na \u00e1rea da Ilustra\u00e7\u00e3o, pertencente \u00e0 fam\u00edlia profissional art\u00edstica da Comunica\u00e7\u00e3o gr\u00e1fica, interativa e audiovisual, e que define os seus conte\u00fados m\u00ednimos<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.educacionyfp.gob.es\/servicios-al-ciudadano\/informacion-publica\/audiencia-informacion-publica\/abiertos\/2026\/prd-tecnico-sup-apyd-grabado.html\" rel=\"noopener\" target=\"_blank\">Projeto de Decreto Real que cria o t\u00edtulo de T\u00e9cnico ou T\u00e9cnica Superior de Artes Pl\u00e1sticas e Design em Gravura e T\u00e9cnicas de Impress\u00e3o, pertencente \u00e0 fam\u00edlia profissional art\u00edstica das Artes do Livro, e define os seus conte\u00fados m\u00ednimos de ensino<\/a><\/td>\n            <td>Decreto<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/gvaparticipa.gva.es\/legislation\/processes\/706\" rel=\"noopener\" target=\"_blank\">PLANO INTEGRAL PARA O DESAFIO DEMOGR\u00c1FICO DA COMUNIDADE VALENCIANA 2026-2030<\/a><\/td>\n            <td>Planos<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-22\">22 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Audi\u00eancia p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/web.larioja.org\/participacion?n=part-informacion-publica-de-la-propuesta-de-modificacion-de-la-orden-ste-52-2022-de-10-de-agosto-d1\" rel=\"noopener\" target=\"_blank\">Informa\u00e7\u00e3o p\u00fablica: Altera\u00e7\u00e3o da Portaria STE\/52\/2022 relativa aos apoios \u00e0 promo\u00e7\u00e3o da bicicleta como meio de transporte<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-08\">8 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-28\">28 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/transparencia.carm.es\/web\/transparencia\/-\/orden-placas-identificativas-empresas-turismo-y-alojamientos-turisticos\" rel=\"noopener\" target=\"_blank\">Projeto de portaria para definir as placas de identifica\u00e7\u00e3o das empresas de turismo ativo e dos diversos tipos de alojamento tur\u00edstico<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-07\">7 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-27\">27 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/transparencia.carm.es\/web\/transparencia\/-\/orden-placas-identificativas-empresas-turismo-y-alojamientos-turisticos\" rel=\"noopener\" target=\"_blank\">Projeto de portaria para definir as placas de identifica\u00e7\u00e3o das empresas de turismo ativo e dos diversos tipos de alojamento tur\u00edstico<\/a><\/td>\n            <td>Ordem<\/td>\n            <td><time datetime=\"2026-05-07\">7 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-27\">27 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/participa.pt\/pt\/consulta\/ampliacao-do-terminal-de-graneis-liquidos-do-barreiro\" rel=\"noopener\" target=\"_blank\">Amplia\u00e7\u00e3o do terminal de gran\u00e9is l\u00edquidos do Barreiro<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-07\">7 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-06-19\">19 de junho de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.cnmc.es\/consultas-publicas\/competencia\/borrador-actualizacion-guia-compliance\" rel=\"noopener\" target=\"_blank\">Rascunho da atualiza\u00e7\u00e3o do Guia de Conformidade da CNMC<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-07\">7 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-17\">17 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.miteco.gob.es\/es\/energia\/participacion\/2026\/detalle-participacion-publica-k-824.html\" rel=\"noopener\" target=\"_blank\">Consulta p\u00fablica pr\u00e9via sobre as bases regulamentares para a concess\u00e3o de apoios a centros de transforma\u00e7\u00e3o comunit\u00e1rios, com vista \u00e0 promo\u00e7\u00e3o e dinamiza\u00e7\u00e3o de comunidades energ\u00e9ticas<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-07\">7 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-29\">29 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/gvaparticipa.gva.es\/legislation\/processes\/705\" rel=\"noopener\" target=\"_blank\">AN\u00daNCIO do processo de audi\u00eancia p\u00fablica sobre o projeto de portaria da Secretaria de Economia, Finan\u00e7as e Administra\u00e7\u00e3o P\u00fablica que aprova a tabela salarial aplic\u00e1vel aos concursos para o preenchimento de vagas na Administra\u00e7\u00e3o da Generalitat<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-07\">7 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-21\">21 de maio de 2026<\/time><\/td>\n          <\/tr>\n        \n          <tr>\n            <td><strong>Consulta p\u00fablica<\/strong><\/td>\n            <td><a href=\"https:\/\/www.miteco.gob.es\/content\/dam\/miteco\/es\/parques-nacionales-oapn\/participacion-publica\/anexos\/Proyecto%20modificaci\u00f3n%20los%20l\u00edmites%20territoriales%20del%20PN%20Aig\u00fcestortes%20i%20Estany%20de%20Sant%20Maurici.pdf\" rel=\"noopener\" target=\"_blank\">Consulta p\u00fablica pr\u00e9via sobre o projeto de altera\u00e7\u00e3o dos limites territoriais do Parque Nacional de Aig\u00fcestortes i Estany de Sant Maurici, com vista \u00e0 sua amplia\u00e7\u00e3o<\/a><\/td>\n            <td>Outros<\/td>\n            <td><time datetime=\"2026-05-07\">7 de maio de 2026<\/time><\/td>\n            <td><time datetime=\"2026-05-21\">21 de maio de 2026<\/time><\/td>\n          <\/tr>\n        <\/tbody>\n        <\/table>\n        <div class=\"cons-groups\" id=\"cons-groups\" hidden=\"\"><\/div>\n      <\/article>\n<article class=\"seo-item\">\n        <h3>Como \u00e9 que o PolicyAlert transforma o ru\u00eddo regulat\u00f3rio em oportunidades?<\/h3>\n        <p>\n  Todos os dias s\u00e3o publicadas dezenas de iniciativas, anteprojetos, pareceres\n e resolu\u00e7\u00f5es no BOE e nos boletins regionais. O PolicyAlert,\n, classifica automaticamente por setor, identifica aqueles que te\n afetam de acordo com os teus filtros e avisa-te com anteced\u00eancia suficiente para\n agires: alega\u00e7\u00f5es, comparecimentos, comunica\u00e7\u00e3o interna, ajustes de\n conformidade, etc. Tudo rastre\u00e1vel desde a consulta p\u00fablica pr\u00e9via at\u00e9\n \u00e0 publica\u00e7\u00e3o no BOE.  \n        <\/p>\n        <div class=\"yt-facade\" data-yt=\"yyxfEUZvgvI\" role=\"button\" tabindex=\"0\" aria-label=\"Reproducir v\u00eddeo: c\u00f3mo funciona PolicyAlert\">\n          <img decoding=\"async\" class=\"yt-thumb\" src=\"https:\/\/i.ytimg.com\/vi\/yyxfEUZvgvI\/hqdefault.jpg\" alt=\"\" loading=\"lazy\">\n          <span class=\"yt-play\" aria-hidden=\"true\"><svg viewbox=\"0 0 24 24\"><path d=\"M8 5v14l11-7z\"><\/path><\/svg><\/span>\n          <span class=\"yt-label\">V\u00ea como funciona o PolicyAlert<\/span>\n        <\/div>\n      <\/article>\n          <\/div>\n        <\/div>\n\n        <div class=\"car-pane\" id=\"pane-leyes\" role=\"tabpanel\">\n          <div class=\"product-content-header\">\n            <div>\n              <h3 id=\"le-title\">As leis que est\u00e3o a ser alteradas<\/h3>\n              <p class=\"sub\">Iniciativas legislativas com avan\u00e7os not\u00e1veis no seu processo de tramita\u00e7\u00e3o.<\/p>\n            <\/div>\n          <\/div>\n          <div id=\"leyes-list\">\n        <article class=\"ley\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Legislation\">\n          <span class=\"ley-title\" itemprop=\"name\">Proposta de lei que altera a regulamenta\u00e7\u00e3o relativa \u00e0 crioconserva\u00e7\u00e3o de ov\u00f3citos.<\/span>\n          <div class=\"ley-meta\">\n             <span class=\"ley-chip\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"><\/rect><path d=\"M3 10h18M8 2v4M16 2v4\"><\/path><\/svg> In\u00edcio: <time datetime=\"2026-03-20\">20 de mar\u00e7o de 2026<\/time><\/span>\n            <span class=\"ley-chip\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 12a9 9 0 1 1-2.64-6.36L21 8\"><\/path><path d=\"M21 3v5h-5\"><\/path><\/svg> Prorrogado at\u00e9: <time datetime=\"2026-06-20\">20 de junho de 2026<\/time><\/span>\n            <span class=\"ley-chip ley-chip-phase\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 22V4h13l-2 4 2 4H4\"><\/path><\/svg> ALTERA\u00c7\u00d5ES \/ PARTICIPA\u00c7\u00c3O<\/span>\n          <\/div>\n          <div class=\"ley-progress\">\n          <div class=\"stepper\" role=\"list\" aria-label=\"Fases de tramitaci\u00f3n\"><div class=\"step done\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>INSCRI\u00c7\u00c3O \/ ADMISS\u00c3O<\/div><\/div><div class=\"step done\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>CONSIDERA\u00c7\u00c3O<\/div><\/div><div class=\"step current\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>ALTERA\u00c7\u00d5ES \/ PARTICIPA\u00c7\u00c3O<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>PALESTRA \/ COMISS\u00c3O<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>SESS\u00c3O PLEN\u00c1RIA<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>APROVA\u00c7\u00c3O FINAL<\/div><\/div><\/div>\n          <\/div>\n        <\/article>\n\n        <article class=\"ley\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Legislation\">\n          <span class=\"ley-title\" itemprop=\"name\">Sobre medidas administrativas e processuais para a seguran\u00e7a jur\u00eddica do ordenamento do territ\u00f3rio e do urbanismo, e para impulsionar o desenvolvimento urbano e a habita\u00e7\u00e3o<\/span>\n          <div class=\"ley-meta\">\n             <span class=\"ley-chip\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"><\/rect><path d=\"M3 10h18M8 2v4M16 2v4\"><\/path><\/svg> In\u00edcio: <time datetime=\"2026-02-13\">13 de fevereiro de 2026<\/time><\/span>\n            <span class=\"ley-chip\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 12a9 9 0 1 1-2.64-6.36L21 8\"><\/path><path d=\"M21 3v5h-5\"><\/path><\/svg> Atualizado: <time datetime=\"2026-05-22\">22 de maio de 2026<\/time><\/span>\n            <span class=\"ley-chip ley-chip-phase\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 22V4h13l-2 4 2 4H4\"><\/path><\/svg> ALTERA\u00c7\u00d5ES \/ PARTICIPA\u00c7\u00c3O<\/span>\n          <\/div>\n          <div class=\"ley-progress\">\n          <div class=\"stepper\" role=\"list\" aria-label=\"Fases de tramitaci\u00f3n\"><div class=\"step done\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>INSCRI\u00c7\u00c3O \/ ADMISS\u00c3O<\/div><\/div><div class=\"step done\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>CONSIDERA\u00c7\u00c3O<\/div><\/div><div class=\"step current\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>ALTERA\u00c7\u00d5ES \/ PARTICIPA\u00c7\u00c3O<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>PALESTRA \/ COMISS\u00c3O<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>SESS\u00c3O PLEN\u00c1RIA<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>APROVA\u00c7\u00c3O FINAL<\/div><\/div><\/div>\n          <\/div>\n        <\/article>\n      \n        <article class=\"ley\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/Legislation\">\n          <span class=\"ley-title\" itemprop=\"name\">Projeto de Lei que altera a Lei Org\u00e2nica n.\u00ba 2\/2006, de 3 de maio, da Educa\u00e7\u00e3o, e a Lei n.\u00ba 4\/2019, de 7 de mar\u00e7o, relativa \u00e0 melhoria das condi\u00e7\u00f5es para o exerc\u00edcio da doc\u00eancia e do ensino no \u00e2mbito da educa\u00e7\u00e3o n\u00e3o universit\u00e1ria, e se adotam outras medidas para melhorar o sistema educativo.<\/span>\n          <div class=\"ley-meta\">\n             <span class=\"ley-chip\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"><\/rect><path d=\"M3 10h18M8 2v4M16 2v4\"><\/path><\/svg> Data de in\u00edcio: <time datetime=\"2026-04-23\">23 de abril de 2026<\/time><\/span>\n            <span class=\"ley-chip\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 12a9 9 0 1 1-2.64-6.36L21 8\"><\/path><path d=\"M21 3v5h-5\"><\/path><\/svg> Atualizado: <time datetime=\"2026-05-20\">20 de maio de 2026<\/time><\/span>\n            <span class=\"ley-chip ley-chip-phase\"><svg class=\"ley-ico\" viewbox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 22V4h13l-2 4 2 4H4\"><\/path><\/svg> ALTERA\u00c7\u00d5ES \/ PARTICIPA\u00c7\u00c3O<\/span>\n          <\/div>\n          <div class=\"ley-progress\">\n          <div class=\"stepper\" role=\"list\" aria-label=\"Fases de tramitaci\u00f3n\"><div class=\"step done\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>FASE INICIAL<\/div><\/div><div class=\"step current\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>ALTERA\u00c7\u00d5ES \/ PARTICIPA\u00c7\u00c3O<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>PALESTRA \/ COMISS\u00c3O<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>SESS\u00c3O PLEN\u00c1RIA<\/div><\/div><div class=\"step \"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>PROCESSO CONCLU\u00cdDO<\/div><\/div><\/div>\n          <\/div>\n        <\/article>\n      <\/div>\n          <div class=\"pane-cta-row\">\n            <p class=\"pane-cta-text\">\n              <strong>Alguma destas leis afeta-te?<\/strong>\n  Recebe um alerta imediato quando uma iniciativa espec\u00edfica passar para a fase seguinte.\n            <\/p>\n            <a class=\"pane-cta pane-cta--accent\" href=\"https:\/\/vincesconsulting.com\/pt-pt\/contacto\/\" target=\"_blank\" rel=\"noopener\">Ativar alerta por lei<\/a>\n          <\/div>\n        <\/div>\n\n      <div class=\"car-pane\" id=\"pane-faq\" role=\"tabpanel\">\n          <div class=\"product-content-header\">\n            <div>\n              <h3>Perguntas frequentes<\/h3>\n              <p class=\"sub\">Tudo o que precisas de saber sobre o PolicyAlert, o sistema de monitoriza\u00e7\u00e3o e alertas regulamentares da Vinces.<\/p>\n            <\/div>\n          <\/div>\n          <article class=\"faq-block\" id=\"faqs-policyalert\">\n  <h3 class=\"faq-block-title\"><span class=\"faq-badge\">PolicyAlert<\/span>: Informa\u00e7\u00e3o regulat\u00f3ria e alertas<\/h3>\n  <div class=\"faq-list\">\n    <details><summary>O que \u00e9 o PolicyAlert?<\/summary><p>O PolicyAlert \u00e9 o radar regulat\u00f3rio da Vinces: acompanha continuamente as iniciativas parlamentares e a legisla\u00e7\u00e3o em tramita\u00e7\u00e3o \u2014 a n\u00edvel nacional, regional e europeu \u2014 e avisa-te no momento exato em que uma altera\u00e7\u00e3o afeta o teu setor, com o contexto necess\u00e1rio para te antecipares e agires a tempo.<\/p><\/details>\n    <details><summary>Que fontes \u00e9 que monitorizas?<\/summary><p>A n\u00edvel nacional e regional: jornais oficiais, toda a atividade executiva e parlamentar, organismos reguladores e outras fontes. A n\u00edvel europeu: o Jornal Oficial da UE e os processos legislativos da UE. <\/p><\/details>\n    <details><summary>Como configuro os meus interesses tem\u00e1ticos?<\/summary><p>A equipa da Vinces vai reunir-se contigo para definir os teus interesses tem\u00e1ticos e garantir que n\u00e3o te escapar\u00e1 nada de importante.<\/p><\/details>\n    <details><summary>E como \u00e9 que distingues o que \u00e9 relevante do que \u00e9 ru\u00eddo?<\/summary><p>Combinamos a classifica\u00e7\u00e3o tem\u00e1tica autom\u00e1tica (modelos de PLN treinados com base no nosso tesauro regulamentar) com os teus filtros personalizados para te enviar apenas o que \u00e9 importante.<\/p><\/details>\n    <details><summary>Quando \u00e9 que recebo o alerta?<\/summary><p>No pr\u00f3prio dia da publica\u00e7\u00e3o oficial, podes configurar o sistema para receberes alertas resumidos em diferentes momentos do dia.<\/p><\/details>\n    <details><summary>Com que frequ\u00eancia \u00e9 que a Vinces elabora os relat\u00f3rios?<\/summary><p>Os relat\u00f3rios s\u00e3o elaborados semanalmente, quinzenalmente e mensalmente, consoante as necessidades dos clientes.<\/p><\/details>\n    <details><summary>Que fases do processo abrange?<\/summary><p>Todas: O PolicyAlert acompanha, desde a publica\u00e7\u00e3o da consulta p\u00fablica pr\u00e9via, os avan\u00e7os at\u00e9 chegar aos parlamentos e todo o processo legislativo at\u00e9 \u00e0 sua publica\u00e7\u00e3o final no BOE.<\/p><\/details>\n    <details><summary>Posso acompanhar uma iniciativa espec\u00edfica?<\/summary><p>Sim, vais receber alertas sempre que houver uma nova etapa no processo: mudan\u00e7a de fase, apresenta\u00e7\u00e3o de altera\u00e7\u00f5es, vota\u00e7\u00f5es, etc.<\/p><\/details>\n    <details><summary>Posso seguir um deputado em particular?<\/summary><p>Sim. Quando um deputado espec\u00edfico apresenta uma proposta, podes acompanhar o seu percurso e receber alertas sobre as suas a\u00e7\u00f5es. <\/p><\/details>\n    <details><summary>E se eu quiser acompanhar uma entidade espec\u00edfica?<\/summary><p>Podes pedir fontes adicionais e a equipa da Vinces vai integr\u00e1-las na tua ferramenta.<\/p><\/details>\n    <details><summary>Posso personalizar o equipamento que recebe os alertas?<\/summary><p>Sim. Cada alerta pode ser direcionado a um destinat\u00e1rio diferente: jur\u00eddico, fiscal, RH, sustentabilidade, etc. E suporta v\u00e1rios utilizadores por organiza\u00e7\u00e3o.  <\/p><\/details>\n    <details><summary>Quanto custa?<\/summary><p>O pre\u00e7o depende do n\u00famero de utilizadores e do \u00e2mbito tem\u00e1tico. Pede uma demonstra\u00e7\u00e3o e um or\u00e7amento ao entrares em <a href=\"https:\/\/vincesconsulting.com\/pt-pt\/contacto\/\" rel=\"noopener\">contacto connosco<\/a>. <\/p><\/details>\n  <\/div>\n<\/article>\n        <\/div>\n      <\/div>\n\n      <aside class=\"product-info\">\n        <span class=\"product-badge\">PolicyAlert \u00b7 Intelig\u00eancia regulat\u00f3ria<\/span>\n        <h2 class=\"product-name\" id=\"pa-title\" itemprop=\"name\">Acompanha cada lei em tempo real<\/h2>\n        <p class=\"product-tagline\" itemprop=\"description\">\n          <strong>O PolicyAlert<\/strong> acompanha todas as iniciativas parlamentares a n\u00edvel nacional e regional, as suas fases preliminares e as vota\u00e7\u00f5es. Recebes alertas no momento exato em que algo te afeta. \n        <\/p>\n      <\/aside>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<script>\n\/*\n * Helpers compartidos por todas las p\u00e1ginas de producto (FREN, PolicyAlert,\n * Poder Digital, WATS). Se exponen en `window.VincesDash` para que cada\n * p\u00e1gina pueda invocarlos sin duplicar c\u00f3digo.\n *\n * IMPORTANT: las p\u00e1ginas standalone descargadas por \"Descargar HTML externo\"\n * inlinean este script. Mantenerlo autocontenido (sin imports).\n *\/\n(function () {\n  \"use strict\";\n\n  const LOCALE = \"es-ES\";\n  const REFRESH_MS = 30 * 60 * 1000;\n\n  const $ = (s, r) => (r || document).querySelector(s);\n  const $$ = (s, r) => Array.from((r || document).querySelectorAll(s));\n\n  function fmtDate(iso) {\n    if (!iso) return \"\";\n    try {\n      return new Date(iso).toLocaleDateString(LOCALE, {\n        day: \"2-digit\", month: \"long\", year: \"numeric\",\n      });\n    } catch { return iso; }\n  }\n  function fmtDateTime(iso) {\n    if (!iso) return \"\";\n    try {\n      return new Date(iso).toLocaleString(LOCALE, {\n        day: \"2-digit\", month: \"short\", year: \"numeric\",\n        hour: \"2-digit\", minute: \"2-digit\",\n      });\n    } catch { return iso; }\n  }\n  function escapeHtml(s) {\n    return String(s == null ? \"\" : s)\n      .replace(\/&\/g, \"&amp;\").replace(\/<\/g, \"&lt;\").replace(\/>\/g, \"&gt;\")\n      .replace(\/\"\/g, \"&quot;\").replace(\/'\/g, \"&#39;\");\n  }\n  function initials(name) {\n    return (name || \"?\").trim().split(\/\\s+\/).slice(0, 2).map(p => p[0]).join(\"\").toUpperCase();\n  }\n\n  \/**\n   * Carga est\u00e1ndar de los endpoints p\u00fablicos del dashboard.\n   * - apiUrl: URL absoluta o relativa al endpoint \/api\/dashboard-publico\/...\n   * - onData: callback(data) llamado en \u00e9xito.\n   * - onError: callback(message, kind) llamado en error. kind: \"network\" | \"http\" | \"json\" | \"render\".\n   *\/\n  async function loadDashboardData(apiUrl, onData, onError) {\n    let response;\n    try {\n      response = await fetch(apiUrl, {\n        method: \"GET\",\n        headers: { Accept: \"application\/json\" },\n        mode: \"cors\",\n        cache: \"no-cache\",\n      });\n    } catch (err) {\n      console.error(\"[Dashboard] Network\/CORS error:\", err);\n      const isFileProtocol = window.location.protocol === \"file:\";\n      const msg = isFileProtocol\n        ? `No se pudieron cargar los datos desde <code>${escapeHtml(apiUrl)}<\/code>. <br>Si has abierto este HTML como archivo local, s\u00edrvelo desde un servidor web (no <code>file:\/\/<\/code>) o aseg\u00farate de que el endpoint permite el origen <code>null<\/code>.`\n        : `No se pudieron cargar los datos desde <code>${escapeHtml(apiUrl)}<\/code>. <br>Comprueba la configuraci\u00f3n CORS del backend para el origen actual: <code>${escapeHtml(window.location.origin)}<\/code>.`;\n      onError && onError(msg, \"network\");\n      return;\n    }\n    if (!response.ok) {\n      console.error(\"[Dashboard] HTTP error:\", response.status);\n      onError && onError(`El servidor devolvi\u00f3 HTTP ${response.status} al consultar <code>${escapeHtml(apiUrl)}<\/code>.`, \"http\");\n      return;\n    }\n    let data;\n    try {\n      data = await response.json();\n    } catch (err) {\n      console.error(\"[Dashboard] JSON parse error:\", err);\n      onError && onError(\"La respuesta no es JSON v\u00e1lido.\", \"json\");\n      return;\n    }\n    try {\n      onData && onData(data);\n    } catch (err) {\n      console.error(\"[Dashboard] Render error:\", err);\n      onError && onError(\"Error al renderizar los datos.\", \"render\");\n    }\n  }\n\n  \/**\n   * Pinta el pill de \"Actualizado...\" en la cabecera y gestiona el estado de error.\n   *\/\n  function setUpdatedPill(data, errMessage) {\n    const pill = $(\"#updated-pill\");\n    const txt = $(\"#updated-text\");\n    if (!pill || !txt) return;\n    if (errMessage) {\n      pill.classList.add(\"err\");\n      txt.textContent = errMessage;\n    } else {\n      pill.classList.remove(\"err\");\n      txt.textContent = \"Actualizado \" + fmtDateTime((data && data.generated_at) || new Date().toISOString());\n    }\n  }\n\n  \/**\n   * Bot\u00f3n \"Descargar HTML externo\": clona el DOM, elimina elementos de test,\n   * sustituye la API_URL relativa por una absoluta y descarga como fichero\n   * \u00fanico listo para WordPress.\n   *\/\n  function bindDownloadExternalHtml(absApiUrl) {\n    const btn = $(\"#download-html-btn\");\n    if (!btn) return;\n    btn.addEventListener(\"click\", () => {\n      try {\n        btn.dataset.state = \"generating\";\n        btn.querySelector(\".lbl\").textContent = \"Generando\u2026\";\n\n        const cloned = document.documentElement.cloneNode(true);\n        cloned.querySelectorAll(\".testbar, #download-html-btn\").forEach(el => el.remove());\n\n        cloned.querySelectorAll(\"script\").forEach(s => {\n          const txt = s.textContent || \"\";\n          if (txt.includes(\"DEFAULT_API_URL\")) {\n            s.textContent = txt.replace(\n              \/const\\s+DEFAULT_API_URL\\s*=\\s*[\"'][^\"']*[\"'];\/,\n              `const DEFAULT_API_URL = ${JSON.stringify(absApiUrl)};`\n            );\n          }\n        });\n\n        const banner =\n          \"\\n<!--\\n\" +\n          \"  Dashboard Vinces \u00b7 p\u00e1gina standalone por producto\\n\" +\n          \"  Generado: \" + new Date().toISOString() + \"\\n\" +\n          \"  Endpoint API: \" + absApiUrl + \"\\n\" +\n          \"\\n\" +\n          \"  C\u00f3mo integrarlo en WordPress:\\n\" +\n          \"    1. Editor de la p\u00e1gina \u2192 bloque 'HTML personalizado'.\\n\" +\n          \"    2. Pega el fichero completo (todo, incluyendo <html>, <head>, <body>).\\n\" +\n          \"       En la mayor\u00eda de temas WP basta con pegar a partir de <body>.\\n\" +\n          \"    3. Aseg\u00farate de que el dominio WP est\u00e1 incluido en CORS del backend.\\n\" +\n          \"    4. El cliente refresca cada 30 min; el backend cachea 1h.\\n\" +\n          \"-->\\n\";\n        const html = \"<!DOCTYPE html>\\n\" + cloned.outerHTML.replace(\/^<html\/, banner + \"<html\");\n\n        const blob = new Blob([html], { type: \"text\/html;charset=utf-8\" });\n        const url = URL.createObjectURL(blob);\n        const a = document.createElement(\"a\");\n        a.href = url;\n        const stamp = new Date().toISOString().slice(0, 10);\n        a.download = `dashboard-vinces-${(window.VincesDash && window.VincesDash.product) || \"page\"}-${stamp}.html`;\n        document.body.appendChild(a);\n        a.click();\n        document.body.removeChild(a);\n        setTimeout(() => URL.revokeObjectURL(url), 2000);\n\n        btn.dataset.state = \"done\";\n        btn.querySelector(\".lbl\").textContent = \"\u2714 Descargado\";\n        setTimeout(() => {\n          btn.removeAttribute(\"data-state\");\n          btn.querySelector(\".lbl\").textContent = \"Descargar HTML externo\";\n        }, 2500);\n      } catch (err) {\n        console.error(\"[download-html] error:\", err);\n        btn.removeAttribute(\"data-state\");\n        btn.querySelector(\".lbl\").textContent = \"Error al generar\";\n        setTimeout(() => { btn.querySelector(\".lbl\").textContent = \"Descargar HTML externo\"; }, 2500);\n      }\n    });\n  }\n\n  \/**\n   * P\u00e1gina con scroll: todas las secciones est\u00e1n visibles y apiladas.\n   * Los tabs act\u00faan como navegaci\u00f3n ancla (scroll suave a cada secci\u00f3n) y la\n   * barra queda fija arriba (sticky en CSS). Un IntersectionObserver resalta el\n   * tab correspondiente a la secci\u00f3n que se est\u00e1 viendo (scrollspy).\n   *\/\n  function initCarousels() {\n    document.querySelectorAll(\"[data-carousel]\").forEach(scope => {\n      const tabs = Array.from(scope.querySelectorAll(\".car-tab\"));\n      const panes = Array.from(scope.querySelectorAll(\".car-pane\"));\n      const byId = {};\n      panes.forEach(p => { byId[p.id] = p; });\n\n      const setActive = (id) => {\n        tabs.forEach(b => {\n          const on = b.getAttribute(\"data-pane\") === id;\n          b.classList.toggle(\"active\", on);\n          b.setAttribute(\"aria-selected\", on ? \"true\" : \"false\");\n        });\n      };\n\n      \/\/ Click en un tab = scroll suave a su secci\u00f3n\n      tabs.forEach(btn => {\n        btn.addEventListener(\"click\", () => {\n          const target = byId[btn.getAttribute(\"data-pane\")];\n          if (!target) return;\n          target.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n          setActive(target.id);\n          const cb = window.VincesDash?.onPaneActivated?.[target.id];\n          if (typeof cb === \"function\") cb();\n        });\n      });\n\n      \/\/ Scrollspy: marca como activo el tab de la secci\u00f3n m\u00e1s alta en pantalla\n      if (\"IntersectionObserver\" in window) {\n        const io = new IntersectionObserver((entries) => {\n          const visible = entries\n            .filter(e => e.isIntersecting)\n            .sort((a, b) => a.boundingClientRect.top - b.boundingClientRect.top);\n          if (visible.length) setActive(visible[0].target.id);\n        }, { rootMargin: \"-96px 0px -55% 0px\", threshold: 0 });\n        panes.forEach(p => io.observe(p));\n      }\n    });\n  }\n\n  window.VincesDash = Object.assign(window.VincesDash || {}, {\n    LOCALE,\n    REFRESH_MS,\n    $, $$,\n    fmtDate, fmtDateTime, escapeHtml, initials,\n    loadDashboardData,\n    setUpdatedPill,\n    bindDownloadExternalHtml,\n    initCarousels,\n    onPaneActivated: {},\n  });\n})();\n<\/script>\n\n\n<script>\n(() => {\n  \"use strict\";\n\n  const DEFAULT_API_URL = \"https:\/\/vision360.vincesconsulting.com\/api\/dashboard-publico\/policyalert\/\";\n  const API_ORIGIN = (() => { try { return new URL(DEFAULT_API_URL).origin; } catch (e) { return \"\"; } })();\n  const resolveLogo = (u) => !u ? \"\" : (\/^(https?:|data:)\/i.test(u) ? u : API_ORIGIN + u);\n  const {\n    $, $$, fmtDate, escapeHtml, LOCALE,\n    loadDashboardData, setUpdatedPill, bindDownloadExternalHtml, initCarousels,\n  } = window.VincesDash;\n  window.VincesDash.product = \"policyalert\";\n\n  \/\/ ===== Leyes (stepper) =====\n  const LEY_ICO_CAL = '<svg class=\"ley-ico\" viewBox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"\/><path d=\"M3 10h18M8 2v4M16 2v4\"\/><\/svg>';\n  const LEY_ICO_UPD = '<svg class=\"ley-ico\" viewBox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M21 12a9 9 0 1 1-2.64-6.36L21 8\"\/><path d=\"M21 3v5h-5\"\/><\/svg>';\n  const LEY_ICO_FLAG = '<svg class=\"ley-ico\" viewBox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 22V4h13l-2 4 2 4H4\"\/><\/svg>';\n  const CONS_ICO_DOC = '<svg class=\"ley-ico\" viewBox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><path d=\"M14 2v6h6M8 13h8M8 17h8\"\/><\/svg>';\n  const CONS_ICO_ORG = '<svg class=\"ley-ico\" viewBox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M3 21h18M5 21V10m4 11V10m6 11V10m4 11V10M3 10l9-5 9 5\"\/><\/svg>';\n\n  function renderLeyes(items) {\n    const cont = $(\"#leyes-list\");\n    if (!items?.length) {\n      cont.innerHTML = '<p class=\"empty\">Sin leyes en tramitaci\u00f3n recientes.<\/p>';\n      return;\n    }\n    cont.innerHTML = items.slice(0, 3).map(l => {\n      const pasos = l.pasos || [];\n      const idx = typeof l.indice_paso_actual === \"number\" ? l.indice_paso_actual : -1;\n      const steps = pasos.map((p, i) => {\n        const cls = i < idx ? \"done\" : (i === idx ? \"current\" : \"\");\n        return `<div class=\"step ${cls}\"><div class=\"dot\" aria-hidden=\"true\"><\/div><div>${escapeHtml(p)}<\/div><\/div>`;\n      }).join(\"\");\n      const chamberChip = l.chamber\n        ? `<span class=\"ley-chip ley-chamber\">${l.logo_url ? `<img decoding=\"async\" class=\"ley-logo\" src=\"${escapeHtml(resolveLogo(l.logo_url))}\" alt=\"\" loading=\"lazy\">` : CONS_ICO_ORG} ${escapeHtml(l.chamber)}<\/span>`\n        : \"\";\n      return `\n        <article class=\"ley\" itemscope itemtype=\"https:\/\/schema.org\/Legislation\">\n          ${l.url\n            ? `<a class=\"ley-title\" href=\"${escapeHtml(l.url)}\" rel=\"noopener\" target=\"_blank\" itemprop=\"url\"><span itemprop=\"name\">${escapeHtml(l.titulo)}<\/span><\/a>`\n            : `<span class=\"ley-title\" itemprop=\"name\">${escapeHtml(l.titulo)}<\/span>`}\n          <div class=\"ley-meta\">\n            ${chamberChip}\n            <span class=\"ley-chip\">${LEY_ICO_CAL} Inicio: <time datetime=\"${escapeHtml(l.fecha_inicio)}\">${fmtDate(l.fecha_inicio)}<\/time><\/span>\n            ${l.ultima_actualizacion ? `<span class=\"ley-chip\">${LEY_ICO_UPD} ${l.ampliada ? \"Ampliada hasta\" : \"Actualizada\"}: <time datetime=\"${escapeHtml(l.ultima_actualizacion)}\">${fmtDate(l.ultima_actualizacion)}<\/time><\/span>` : \"\"}\n            ${idx >= 0 && pasos[idx] ? `<span class=\"ley-chip ley-chip-phase\">${LEY_ICO_FLAG} ${escapeHtml(pasos[idx])}<\/span>` : \"\"}\n          <\/div>\n          <div class=\"ley-progress\">\n            <div class=\"stepper\" role=\"list\" aria-label=\"Fases de tramitaci\u00f3n\">${steps}<\/div>\n          <\/div>\n          <div class=\"ley-actions\"><button type=\"button\" class=\"ley-follow\" data-vc-contact=\"${escapeHtml(l.titulo)}\">Seguir esta ley<\/button><\/div>\n        <\/article>\n      `;\n    }).join(\"\");\n  }\n\n  \/\/ ===== KPIs =====\n  function renderPolicyAlertKpis(kpis) {\n    if (!kpis) return;\n    const set = (key, val) => {\n      const el = document.querySelector(`[data-kpi=\"${key}\"]`);\n      if (el) el.textContent = val;\n    };\n    set(\"consultas\", kpis.consultas_publicas?.abiertas ?? 0);\n    const cn = kpis.consultas_publicas?.nuevas_24h || 0;\n    set(\"consultas-sub\", cn > 0 ? `${cn} nuevas en las \u00faltimas 24h` : \"Sin nuevas en 24h\");\n    set(\"audiencias\", kpis.audiencias_publicas?.abiertas ?? 0);\n    const an = kpis.audiencias_publicas?.nuevas_24h || 0;\n    set(\"audiencias-sub\", an > 0 ? `${an} nuevas en las \u00faltimas 24h` : \"Sin nuevas en 24h\");\n    set(\"iniciativas\", kpis.iniciativas_avanzadas_24h ?? 0);\n    set(\"acuerdos\", kpis.acuerdos_publicados_semana ?? 0);\n    if (kpis.semana_inicio && kpis.semana_fin) {\n      set(\"acuerdos-sub\", `Desde ${fmtDate(kpis.semana_inicio)} hasta hoy`);\n    }\n  }\n\n  \/\/ ===== Temas activos (line chart multi-serie + leyenda HTML) =====\n  let temasActChart = null;\n  let _temasActLast = null;\n\n  function renderTemasActivosChart(payload) {\n    _temasActLast = payload;\n    const wrap = document.querySelector(\".temas-act-wrap\");\n    const summary = $(\"#temas-act-summary\");\n    if (!wrap || typeof Chart === \"undefined\") return;\n\n    if (!payload || !(payload.series || []).length) {\n      if (temasActChart) { temasActChart.destroy(); temasActChart = null; }\n      wrap.innerHTML = '<p class=\"empty\" style=\"padding:32px 0;text-align:center\">No hay datos suficientes para mostrar la evoluci\u00f3n semanal.<\/p>';\n      if (summary) summary.innerHTML = \"\";\n      return;\n    }\n    if (!wrap.querySelector(\"canvas\")) {\n      wrap.innerHTML = '<canvas id=\"temasActChart\" role=\"img\" aria-label=\"Evoluci\u00f3n diaria de temas activos\"><\/canvas>';\n    }\n    if (temasActChart) { temasActChart.destroy(); temasActChart = null; }\n\n    if (summary) {\n      summary.innerHTML = `\n        <span>Total semana: <strong>${payload.total_publications || 0}<\/strong> publicaciones para los temas clasificados<\/span>\n      `;\n      \/\/ T\u00edtulo din\u00e1mico: el \u00e1mbito top es \"el foco de la semana\"\n      const titleEl = document.querySelector(\"#temas-act-title\");\n      if (titleEl) titleEl.textContent = (payload.top_ambito && payload.top_ambito.ambito_name)\n        ? `${payload.top_ambito.ambito_name}: el foco de la semana`\n        : \"El foco de la semana\";\n    }\n    const canvas = $(\"#temasActChart\");\n    const ctx = canvas.getContext(\"2d\");\n    const labels = (payload.days || []).map(d => {\n      try { return new Date(d).toLocaleDateString(LOCALE, { weekday: \"short\", day: \"numeric\" }); }\n      catch { return d; }\n    });\n\n    \/\/ Gradiente sutil bajo cada serie (s\u00f3lo si est\u00e1 sola visible o si la enfocamos).\n    \/\/ Por defecto desactivamos el fill global y resaltamos al hacer hover en la leyenda.\n    const datasets = (payload.series || []).map((s, i) => {\n      const grad = ctx.createLinearGradient(0, 0, 0, 340);\n      grad.addColorStop(0, s.color + \"33\"); \/\/ 20% opacidad arriba\n      grad.addColorStop(1, s.color + \"02\"); \/\/ casi transparente abajo\n      return {\n        label: s.ambito_name, data: s.values,\n        borderColor: s.color,\n        backgroundColor: grad,\n        tension: 0.4,            \/\/ curvas m\u00e1s suaves\n        borderWidth: 2.5,        \/\/ l\u00edneas un pel\u00edn m\u00e1s finas para que no se solapen\n        pointRadius: 0,          \/\/ sin puntos por defecto\n        pointHoverRadius: 7,     \/\/ grandes al pasar el cursor\n        pointHoverBackgroundColor: s.color,\n        pointHoverBorderColor: \"#fff\",\n        pointHoverBorderWidth: 2,\n        pointHitRadius: 18,      \/\/ hitbox amplia\n        fill: false,             \/\/ se activar\u00e1 en hover via plugin\n        borderJoinStyle: \"round\",\n        borderCapStyle: \"round\",\n        spanGaps: true,\n        hidden: i >= 3,          \/\/ por defecto solo top 3 visibles\n      };\n    });\n\n    temasActChart = new Chart(ctx, {\n      type: \"line\", data: { labels, datasets },\n      options: {\n        responsive: true, maintainAspectRatio: false,\n        animation: { duration: 600, easing: \"easeOutQuart\" },\n        animations: {\n          y: { duration: 700, easing: \"easeOutQuart\", from: ctx => ctx.chart.scales.y?.getPixelForValue(0) ?? 0 },\n        },\n        interaction: { mode: \"index\", intersect: false },\n        layout: { padding: { top: 12, right: 14, bottom: 4, left: 2 } },\n        plugins: {\n          legend: { display: false },\n          tooltip: {\n            enabled: true,\n            backgroundColor: \"rgba(49,64,104,.98)\",\n            titleColor: \"#fff\",\n            bodyColor: \"#f4f5f7\",\n            padding: { top: 10, right: 14, bottom: 10, left: 14 },\n            cornerRadius: 8,\n            displayColors: true,\n            boxPadding: 6,\n            usePointStyle: true,\n            borderColor: \"rgba(255,255,255,.08)\",\n            borderWidth: 1,\n            titleFont: { family: \"Libre Franklin, sans-serif\", size: 12.5, weight: \"700\" },\n            bodyFont: { family: \"Libre Franklin, sans-serif\", size: 12 },\n            titleMarginBottom: 6,\n            callbacks: {\n              label: c => ` ${c.dataset.label}: ${c.parsed.y} publicaciones`,\n            },\n          },\n        },\n        scales: {\n          x: {\n            grid: { display: false },\n            border: { display: false },\n            ticks: {\n              color: \"#5a6076\",\n              font: { family: \"Libre Franklin, sans-serif\", size: 11.5, weight: \"500\" },\n              padding: 8,\n            },\n          },\n          y: {\n            beginAtZero: true,\n            grace: \"8%\",                 \/\/ padding superior para que la l\u00ednea no toque el techo\n            grid: {\n              color: \"rgba(228,230,234,.55)\",\n              drawTicks: false,\n              lineWidth: 1,\n            },\n            border: { display: false, dash: [2, 4] },\n            ticks: {\n              precision: 0,\n              color: \"#8a90a3\",\n              padding: 10,\n              font: { family: \"Libre Franklin, sans-serif\", size: 11 },\n              maxTicksLimit: 6,\n            },\n            title: {\n              display: true,\n              text: \"Volumen de publicaciones\",\n              color: \"#5a6076\",\n              font: { family: \"Libre Franklin, sans-serif\", size: 11, weight: \"600\" },\n              padding: { bottom: 8 },\n            },\n          },\n        },\n        elements: { line: { capBezierPoints: true } },\n      },\n    });\n    _renderTemasActLegend(payload);\n  }\n\n  function _renderTemasActLegend(payload) {\n    const wrap = $(\"#temas-act-legend\");\n    if (!wrap || !temasActChart) return;\n    const series = payload.series || [];\n    if (!series.length) { wrap.innerHTML = \"\"; return; }\n    const tags = series.map((s, i) => {\n      const visible = temasActChart.isDatasetVisible(i);\n      return `<span class=\"ta-tag ${visible ? \"\" : \"off\"}\" data-idx=\"${i}\" role=\"button\" aria-pressed=\"${visible}\" tabindex=\"0\">\n        <span class=\"sw\" style=\"background:${escapeHtml(s.color || '#9aa0a6')}\"><\/span>\n        ${escapeHtml(s.ambito_name)}\n        <span style=\"color:var(--muted);font-weight:600\">\u00b7${s.total}<\/span>\n      <\/span>`;\n    }).join(\"\");\n    wrap.innerHTML = tags;\n    \/\/ Acciones \"Mostrar todos \/ Solo top 3\" en la misma l\u00ednea que el resumen \"Top: ...\"\n    const summaryEl = $(\"#temas-act-summary\");\n    let actionsScope = wrap;\n    if (summaryEl) {\n      const actions = document.createElement(\"span\");\n      actions.className = \"ta-actions\";\n      actions.innerHTML = `\n        <a data-action=\"all\">Mostrar todos<\/a>\n        <span>\u00b7<\/span>\n        <a data-action=\"top3\">Solo top 3<\/a>\n      `;\n      summaryEl.appendChild(actions);\n      actionsScope = summaryEl;\n    }\n    wrap.querySelectorAll(\".ta-tag\").forEach(tag => {\n      const handle = (e) => {\n        e.preventDefault();\n        const idx = parseInt(tag.getAttribute(\"data-idx\"), 10);\n        if (Number.isNaN(idx)) return;\n        if (temasActChart.isDatasetVisible(idx)) {\n          temasActChart.hide(idx); tag.classList.add(\"off\"); tag.setAttribute(\"aria-pressed\", \"false\");\n        } else {\n          temasActChart.show(idx); tag.classList.remove(\"off\"); tag.setAttribute(\"aria-pressed\", \"true\");\n        }\n      };\n      tag.addEventListener(\"click\", handle);\n      tag.addEventListener(\"keydown\", (ev) => { if (ev.key === \"Enter\" || ev.key === \" \") handle(ev); });\n    });\n    actionsScope.querySelectorAll(\".ta-actions a\").forEach(a => {\n      a.addEventListener(\"click\", (e) => {\n        e.preventDefault();\n        const act = a.getAttribute(\"data-action\");\n        if (act === \"all\") series.forEach((_, i) => temasActChart.show(i));\n        else if (act === \"top3\") series.forEach((_, i) => i < 3 ? temasActChart.show(i) : temasActChart.hide(i));\n        wrap.querySelectorAll(\".ta-tag\").forEach(tag => {\n          const i = parseInt(tag.getAttribute(\"data-idx\"), 10);\n          const v = temasActChart.isDatasetVisible(i);\n          tag.classList.toggle(\"off\", !v); tag.setAttribute(\"aria-pressed\", v ? \"true\" : \"false\");\n        });\n      });\n    });\n  }\n\n  \/\/ ===== Leaderboard de c\u00e1maras sobre la tem\u00e1tica ganadora =====\n  function renderCamarasLeaderboard(lb) {\n    const box = $(\"#camaras-leaderboard\");\n    const list = $(\"#cam-lb-list\");\n    const sub = $(\"#cam-lb-sub\");\n    if (!box || !list) return;\n    if (!lb || !(lb.camaras || []).length) { box.hidden = true; return; }\n\n    const amb = lb.tematica_ganadora || {};\n    const dot = $(\"#cam-lb-dot\");\n    if (dot) dot.style.background = amb.color || \"#1F2547\";\n    if (sub) {\n      sub.innerHTML = `Sobre <span class=\"amb\" style=\"color:${escapeHtml(amb.color || \"#1F2547\")}\">${escapeHtml(amb.ambito_name || \"\u2014\")}<\/span> \u00b7 \u00faltimos 7 d\u00edas vs 7 previos`;\n    }\n    list.innerHTML = (lb.camaras || []).map((c, i) => {\n      let chg;\n      if (c.estado === \"nueva\")      chg = `<span class=\"cam-lb-chg new\" data-tip=\"Entra nueva en el ranking esta semana\">NUEVA<\/span>`;\n      else if (c.estado === \"sale\")  chg = `<span class=\"cam-lb-chg down\" data-tip=\"Sale del top esta semana\">SALE<\/span>`;\n      else if (c.posiciones > 0)     chg = `<span class=\"cam-lb-chg up\" data-tip=\"Sube ${c.posiciones} posici\u00f3n(es)\\n(vs los 7 d\u00edas previos)\">\u25b2 ${c.posiciones}<\/span>`;\n      else if (c.posiciones < 0)     chg = `<span class=\"cam-lb-chg down\" data-tip=\"Baja ${Math.abs(c.posiciones)} posici\u00f3n(es)\\n(vs los 7 d\u00edas previos)\">\u25bc ${Math.abs(c.posiciones)}<\/span>`;\n      else                           chg = `<span class=\"cam-lb-chg flat\" data-tip=\"Mantiene posici\u00f3n\">=<\/span>`;\n      const d = c.delta_publicaciones || 0;\n      const dCls = d > 0 ? \"up\" : d < 0 ? \"down\" : \"flat\";\n      const dTxt = d > 0 ? `+${d}` : `${d}`;\n      const delta = `<span class=\"cam-lb-delta ${dCls}\" data-tip=\"Variaci\u00f3n de publicaciones\\n\u00daltimos 7 d\u00edas: ${c.actual} \u00b7 7 previos: ${c.previa}\">${dTxt}<\/span>`;\n      const name = c.chamber || \"\u2014\";\n      const ini = name.trim().split(\/\\s+\/).slice(0, 2).map(w => w[0] || \"\").join(\"\").toUpperCase();\n      const logo = c.logo_url\n        ? `<img decoding=\"async\" class=\"cam-lb-logo\" src=\"${escapeHtml(resolveLogo(c.logo_url))}\" alt=\"\" loading=\"lazy\">`\n        : `<span class=\"cam-lb-logo ph\" aria-hidden=\"true\">${escapeHtml(ini)}<\/span>`;\n      return `<li class=\"cam-lb-row ${i === 0 ? \"top\" : \"\"}\" data-vc-contact=\"${escapeHtml(name)}\" role=\"button\" tabindex=\"0\" aria-label=\"Seguir ${escapeHtml(name)} \u2014 contacta con Vinces\">\n        <span class=\"cam-lb-pos\">${c.pos_actual}<\/span>\n        ${chg}\n        ${logo}\n        <span class=\"cam-lb-name\" data-tip=\"${escapeHtml(name)}\">${escapeHtml(name)}<\/span>\n        <span class=\"cam-lb-count\" data-tip=\"Publicaciones sobre la tem\u00e1tica ganadora (\u00faltimos 7 d\u00edas)\">${c.actual}<span class=\"u\">pub.<\/span><\/span>\n        ${delta}\n      <\/li>`;\n    }).join(\"\");\n    const more = document.getElementById(\"cam-lb-more\");\n    if (more) {\n      const rest = (lb.total_camaras || 0) - (lb.camaras || []).length;\n      if (rest > 0) { more.setAttribute(\"data-tip\", rest + \" c\u00e1maras m\u00e1s\"); more.hidden = false; }\n      else { more.hidden = true; }\n    }\n    box.hidden = false;\n  }\n\n  \/\/ Re-render del chart al activar su pane (Chart.js no calcula bien tama\u00f1os hidden)\n  window.VincesDash.onPaneActivated[\"pane-temas-act\"] = () => {\n    if (_temasActLast) renderTemasActivosChart(_temasActLast);\n  };\n\n  \/\/ ===== Modal de contacto (botones \"Seguir\" \/ c\u00e1maras) =====\n  function vcContact(label){\n    let m=document.getElementById(\"vcContactModal\");\n    if(!m){\n      m=document.createElement(\"div\"); m.className=\"vc-cmodal\"; m.id=\"vcContactModal\";\n      m.setAttribute(\"role\",\"dialog\"); m.setAttribute(\"aria-modal\",\"true\");\n      m.innerHTML='<div class=\"box\"><h4>Contacta con Vinces<\/h4><p id=\"vcContactMsg\"><\/p><div class=\"acts\"><a class=\"cta\" href=\"https:\/\/vincesconsulting.com\/pt-pt\/contacto\/\" target=\"_blank\" rel=\"noopener\">Solicitar demo<\/a><button class=\"x\" type=\"button\">Cerrar<\/button><\/div><\/div>';\n      document.body.appendChild(m);\n      m.addEventListener(\"click\",ev=>{ if(ev.target===m||ev.target.classList.contains(\"x\")){ m.classList.remove(\"open\"); m.setAttribute(\"aria-hidden\",\"true\"); } });\n      document.addEventListener(\"keydown\",ev=>{ if(ev.key===\"Escape\"){ m.classList.remove(\"open\"); m.setAttribute(\"aria-hidden\",\"true\"); } });\n    }\n    m.querySelector(\"#vcContactMsg\").textContent = label\n      ? 'Para seguir \u201c'+label+'\u201d y recibir alertas regulatorias a medida, solicita una demo de PolicyAlert.'\n      : 'Solicita una demo de PolicyAlert y recibe alertas regulatorias a medida.';\n    m.classList.add(\"open\"); m.setAttribute(\"aria-hidden\",\"false\");\n  }\n  document.addEventListener(\"click\", e=>{\n    const b = e.target.closest && e.target.closest(\"[data-vc-contact]\");\n    if(b){ e.preventDefault(); e.stopPropagation(); vcContact(b.getAttribute(\"data-vc-contact\")); }\n  });\n  document.addEventListener(\"keydown\", e=>{\n    if(e.key!==\"Enter\"&&e.key!==\" \") return;\n    const b = e.target.closest && e.target.closest(\".cam-lb-row[data-vc-contact]\");\n    if(b){ e.preventDefault(); vcContact(b.getAttribute(\"data-vc-contact\")); }\n  });\n\n  \/\/ ===== Consultas \/ Audiencias (tarjetas agrupadas) =====\n  function renderConsCards(consultas, audiencias) {\n    const consGroups = document.querySelector(\"#cons-groups\");\n    if (!consGroups) return;\n\n    const byDateDesc = (a, b) => (b.initial_date || \"\").localeCompare(a.initial_date || \"\");\n    const fmtShort = (s) => {\n      if (!s) return \"\u2014\";\n      const d = new Date(s);\n      if (isNaN(d)) return escapeHtml(s);\n      return d.toLocaleDateString(LOCALE, { day: \"numeric\", month: \"short\", year: \"numeric\" });\n    };\n    const plazoBadge = (s) => {\n      if (!s) return \"\";\n      const end = new Date(s); if (isNaN(end)) return \"\";\n      const today = new Date(); today.setHours(0, 0, 0, 0); end.setHours(0, 0, 0, 0);\n      const d = Math.round((end - today) \/ 86400000);\n      let txt, cls;\n      if (d < 0) { txt = \"Plazo finalizado\"; cls = \"grey\"; }\n      else if (d === 0) { txt = \"\u00daltimo d\u00eda\"; cls = \"red\"; }\n      else if (d <= 7) { txt = `Cierra en ${d} d\u00eda${d > 1 ? \"s\" : \"\"}`; cls = \"red\"; }\n      else if (d <= 15) { txt = `Cierra en ${d} d\u00edas`; cls = \"amber\"; }\n      else { txt = `Cierra en ${d} d\u00edas`; cls = \"green\"; }\n      return `<span class=\"cons-plazo cons-plazo--${cls}\">${txt}<\/span>`;\n    };\n    \/\/ Deduce el organismo de origen a partir del dominio de la URL (de m\u00e1s espec\u00edfico a m\u00e1s gen\u00e9rico)\n    const ORG_MAP = [\n      [\"ec.europa.eu\", \"Comisi\u00f3n Europea\"],\n      [\"europarl.europa.eu\", \"Parlamento Europeo\"],\n      [\"europa.eu\", \"Uni\u00f3n Europea\"],\n      [\"miteco.gob.es\", \"Gobierno de Espa\u00f1a\"],\n      [\"cnmc.es\", \"CNMC\"],\n      [\"gva.es\", \"Generalitat Valenciana\"],\n      [\"carm.es\", \"Regi\u00f3n de Murcia\"],\n      [\"xunta.gal\", \"Xunta de Galicia\"],\n      [\"euskadi.eus\", \"Gobierno Vasco\"],\n      [\"juntadeandalucia.es\", \"Junta de Andaluc\u00eda\"],\n      [\"cantabria.es\", \"Gobierno de Cantabria\"],\n      [\"asturias.es\", \"Principado de Asturias\"],\n      [\"madrid.org\", \"Comunidad de Madrid\"],\n      [\"castillalamancha.es\", \"Castilla-La Mancha\"],\n      [\"jcyl.es\", \"Castilla y Le\u00f3n\"],\n      [\"aragon.es\", \"Gobierno de Arag\u00f3n\"],\n      [\"gobiernodecanarias.org\", \"Gobierno de Canarias\"],\n      [\"larioja.org\", \"Gobierno de La Rioja\"],\n      [\"navarra.es\", \"Gobierno de Navarra\"],\n      [\"caib.es\", \"Govern de les Illes Balears\"],\n      [\"gencat.cat\", \"Generalitat de Catalunya\"],\n      [\"juntaex.es\", \"Junta de Extremadura\"],\n      [\"participa.pt\", \"Gobierno de Portugal\"],\n      [\"gob.es\", \"Gobierno de Espa\u00f1a\"],\n    ];\n    const orgFromUrl = (url) => {\n      if (!url) return \"\";\n      let host = \"\";\n      try { host = new URL(url).hostname.toLowerCase(); }\n      catch { const m = String(url).match(\/^https?:\\\/\\\/([^\/]+)\/i); host = m ? m[1].toLowerCase() : \"\"; }\n      if (!host) return \"\";\n      for (const [needle, name] of ORG_MAP) if (host.indexOf(needle) !== -1) return name;\n      const parts = host.replace(\/^www\\.\/, \"\").split(\".\");\n      return parts.length >= 2 ? parts.slice(-2).join(\".\") : host;\n    };\n    const card = (c, kind, label, hidden) => {\n      const title = escapeHtml(c.title || \"\u2014\");\n      const titleEl = c.url\n        ? `<a class=\"cons-card-title\" href=\"${escapeHtml(c.url)}\" rel=\"noopener\" target=\"_blank\">${title}<\/a>`\n        : `<span class=\"cons-card-title\">${title}<\/span>`;\n      const org = orgFromUrl(c.url);\n      const orgIco = c.logo_url\n        ? `<img decoding=\"async\" class=\"cons-org-logo\" src=\"${escapeHtml(resolveLogo(c.logo_url))}\" alt=\"\" loading=\"lazy\">`\n        : CONS_ICO_ORG;\n      return `\n        <article class=\"cons-card cons-card--${kind}${hidden ? \" cons-card--hidden\" : \"\"}\">\n          <div class=\"cons-card-top\">\n            <span class=\"cons-badge cons-badge--${kind}\">${label}<\/span>\n            ${plazoBadge(c.end_date)}\n          <\/div>\n          ${titleEl}\n          <div class=\"cons-card-meta\">\n            <span class=\"cons-chip\">${CONS_ICO_DOC} ${escapeHtml(c.type || \"\u2014\")}<\/span>\n            <span class=\"cons-chip\">${LEY_ICO_CAL} ${fmtShort(c.initial_date)} \u2192 ${fmtShort(c.end_date)}<\/span>\n            ${org ? `<span class=\"cons-org\" title=\"Organismo de origen\">${orgIco} ${escapeHtml(org)}<\/span>` : \"\"}\n          <\/div>\n        <\/article>`;\n    };\n    \/\/ Una sola secci\u00f3n, organizada por URGENCIA (no por tipo). Consultas y\n    \/\/ audiencias se mezclan en cada grupo; el badge distingue el tipo.\n    const tag = (arr, kind, label) => arr.map(c => Object.assign({}, c, { __kind: kind, __label: label }));\n    const all = tag(consultas, \"consulta\", \"Consulta\").concat(tag(audiencias, \"audiencia\", \"Audiencia\"));\n    const hoy0 = new Date(); hoy0.setHours(0, 0, 0, 0);\n\n    \/\/ Clave de c\u00e1mara\/organismo para NO repetir en la secci\u00f3n\n    const chKey = (c) => c.chamber_id || orgFromUrl(c.url) || (\"id\" + c.id);\n    const pickDistinct = (arr, n, exclIds, seenCh) => {\n      const out = [];\n      seenCh = seenCh || new Set();\n      for (const c of arr) {\n        if (exclIds && exclIds.has(c.id)) continue;\n        const k = chKey(c);\n        if (seenCh.has(k)) continue;\n        seenCh.add(k);\n        out.push(c);\n        if (out.length >= n) break;\n      }\n      return out;\n    };\n\n    \/\/ Cierran pronto: plazo a\u00fan futuro, orden por cierre m\u00e1s pr\u00f3ximo, c\u00e1maras distintas\n    const cierranSorted = all.filter(c => {\n      if (!c.end_date) return false;\n      const e = new Date(c.end_date); if (isNaN(e)) return false;\n      e.setHours(0, 0, 0, 0);\n      return e >= hoy0;\n    }).sort((a, b) =>\n      (a.end_date || \"\").localeCompare(b.end_date || \"\") ||\n      (b.initial_date || \"\").localeCompare(a.initial_date || \"\")\n    );\n    const cierran = pickDistinct(cierranSorted, 3);\n\n    \/\/ Reci\u00e9n abiertas: por apertura desc, sin repetir c\u00e1mara (ni las ya usadas arriba)\n    const yaMostradas = new Set(cierran.map(c => c.id));\n    const yaCamaras = new Set(cierran.map(chKey));\n    const abiertasSorted = all.slice().sort((a, b) =>\n      (b.initial_date || \"\").localeCompare(a.initial_date || \"\") ||\n      (a.end_date || \"\").localeCompare(b.end_date || \"\")\n    );\n    const abiertas = pickDistinct(abiertasSorted, 3, yaMostradas, yaCamaras);\n\n    \/\/ Una sola rejilla: col1 = \"Reci\u00e9n abiertas\", col2 = \"Cierran pronto\".\n    \/\/ Se rellena a 3 tarjetas por grupo (huecos invisibles) para que, con\n    \/\/ grid-auto-flow:column, cada fila comparta celda y las cajitas de una misma\n    \/\/ fila tengan la misma altura.\n    const empty = '<div class=\"cons-card cons-card--empty\" aria-hidden=\"true\"><\/div>';\n    const cell = (c) => c ? card(c, c.__kind, c.__label, false) : empty;\n    const pad3 = (arr) => { const a = arr.slice(0, 3); while (a.length < 3) a.push(null); return a; };\n    const head = (t, n) => `<h6 class=\"cons-sub-title\">${t} <span class=\"cons-sub-count\">${n}<\/span><\/h6>`;\n\n    if (!all.length) {\n      consGroups.innerHTML = '<p class=\"empty\">No hay consultas ni audiencias p\u00fablicas abiertas en este momento.<\/p>';\n    } else {\n      const colA = head(\"Reci\u00e9n abiertas\", abiertas.length) + pad3(abiertas).map(cell).join(\"\");\n      const colC = head(\"Cierran pronto\", cierran.length) + pad3(cierran).map(cell).join(\"\");\n      consGroups.innerHTML = `<div class=\"cons-2col\">${colA}${colC}<\/div>`;\n    }\n    consGroups.hidden = false;\n    const consTable = document.querySelector(\"#seo-table-consultas\");\n    if (consTable) consTable.style.display = \"none\";\n  }\n\n  \/\/ Respaldo sin API: construye las tarjetas leyendo la tabla est\u00e1tica del HTML.\n  function renderConsCardsFromStaticTable() {\n    const table = document.querySelector(\"#seo-table-consultas\");\n    if (!table || table.style.display === \"none\") return;\n    const consultas = [], audiencias = [];\n    table.querySelectorAll(\"tbody tr\").forEach(tr => {\n      const tds = tr.querySelectorAll(\"td\");\n      if (tds.length < 5) return;\n      const bloque = (tds[0].textContent || \"\").trim().toLowerCase();\n      const link = tds[1].querySelector(\"a\");\n      const t3 = tds[3].querySelector(\"time\");\n      const t4 = tds[4].querySelector(\"time\");\n      const item = {\n        title: (tds[1].textContent || \"\").trim(),\n        url: link ? link.getAttribute(\"href\") : \"\",\n        type: (tds[2].textContent || \"\").trim(),\n        initial_date: t3 ? t3.getAttribute(\"datetime\") : \"\",\n        end_date: t4 ? t4.getAttribute(\"datetime\") : \"\",\n      };\n      if (bloque.indexOf(\"audiencia\") !== -1) audiencias.push(item);\n      else consultas.push(item);\n    });\n    if (consultas.length || audiencias.length) renderConsCards(consultas, audiencias);\n  }\n\n  \/\/ ===== Tablas SEO =====\n  function renderSeoTables(data) {\n    const leyesBody = document.querySelector(\"#seo-table-leyes tbody\");\n    if (leyesBody) {\n      const list = data.leyes || [];\n      if (!list.length) {\n        leyesBody.innerHTML = '<tr><td colspan=\"5\" class=\"muted-cell\">Sin datos disponibles.<\/td><\/tr>';\n      } else {\n        leyesBody.innerHTML = list.map(l => {\n          const fase = (l.pasos || [])[l.indice_paso_actual] || l.estado_actual || \"\u2014\";\n          return `<tr itemscope itemtype=\"https:\/\/schema.org\/Legislation\">\n            <td itemprop=\"name\">${escapeHtml(l.titulo || \"\u2014\")}<\/td>\n            <td>${escapeHtml(l.tipo || \"\u2014\")}<\/td>\n            <td>${escapeHtml(l.chamber || \"\u2014\")}<\/td>\n            <td itemprop=\"legislationStatus\">${escapeHtml(fase)}<\/td>\n            <td><time datetime=\"${escapeHtml(l.ultima_actualizacion || \"\")}\">${fmtDate(l.ultima_actualizacion)}<\/time><\/td>\n          <\/tr>`;\n        }).join(\"\");\n      }\n    }\n\n    const k = data.policyalert_kpis || {};\n    renderConsCards(\n      (k.consultas_publicas && k.consultas_publicas.items) || [],\n      (k.audiencias_publicas && k.audiencias_publicas.items) || []\n    );\n  }\n\n  \/\/ ===== Load =====\n  function load() {\n    loadDashboardData(DEFAULT_API_URL, data => {\n      renderLeyes(data.leyes);\n      renderPolicyAlertKpis(data.policyalert_kpis);\n      renderTemasActivosChart(data.temas_activos_semana);\n      renderCamarasLeaderboard(data.camaras_leaderboard);\n      renderSeoTables(data);\n      setUpdatedPill(data, null);\n    }, (msg, kind) => {\n      setUpdatedPill(null, kind === \"network\" ? \"Error de conexi\u00f3n\" : kind === \"http\" ? \"Error HTTP\" : \"Error\");\n      $(\"#leyes-list\").innerHTML = `<p class=\"error\">${msg}<\/p>`;\n    });\n  }\n\n  \/\/ V\u00eddeos de YouTube: carga diferida (click-to-load, youtube-nocookie)\n  function initYouTubeFacades(){\n    document.querySelectorAll(\".yt-facade\").forEach(function(f){\n      function load(){\n        var id=f.getAttribute(\"data-yt\"); if(!id) return;\n        var wrap=document.createElement(\"div\"); wrap.className=\"yt-embed\";\n        var ifr=document.createElement(\"iframe\");\n        ifr.src=\"https:\/\/www.youtube-nocookie.com\/embed\/\"+id+\"?autoplay=1&rel=0\";\n        ifr.title=f.getAttribute(\"aria-label\")||\"V\u00eddeo de YouTube\";\n        ifr.setAttribute(\"allow\",\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\");\n        ifr.setAttribute(\"allowfullscreen\",\"\");\n        wrap.appendChild(ifr);\n        f.replaceWith(wrap);\n      }\n      f.addEventListener(\"click\",load);\n      f.addEventListener(\"keydown\",function(e){if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();load();}});\n    });\n  }\n\n  \/\/ Tooltip propio para [data-tip] (estilo del custom-tooltip de la plataforma)\n  function initCustomTooltips(){\n    var tip=null, current=null;\n    function ensure(){ if(!tip){ tip=document.createElement('div'); tip.className='pa-tooltip'; tip.setAttribute('role','tooltip'); document.body.appendChild(tip);} return tip; }\n    function place(el){ var t=ensure(); var r=el.getBoundingClientRect(); var tr=t.getBoundingClientRect();\n      var top=r.top-tr.height-8; if(top<4) top=r.bottom+8;\n      var left=r.left+r.width\/2-tr.width\/2; left=Math.max(6,Math.min(left,window.innerWidth-tr.width-6));\n      t.style.top=Math.round(top)+'px'; t.style.left=Math.round(left)+'px'; }\n    function show(el){ var txt=el.getAttribute('data-tip'); if(!txt) return; var t=ensure(); t.textContent=txt; t.classList.add('show'); place(el); current=el; }\n    function hide(){ if(tip) tip.classList.remove('show'); current=null; }\n    document.addEventListener('mouseover',function(e){ var el=e.target.closest&&e.target.closest('[data-tip]'); if(el&&el!==current) show(el); });\n    document.addEventListener('mouseout',function(e){ var el=e.target.closest&&e.target.closest('[data-tip]'); if(el&&!el.contains(e.relatedTarget)) hide(); });\n    document.addEventListener('focusin',function(e){ var el=e.target.closest&&e.target.closest('[data-tip]'); if(el) show(el); });\n    document.addEventListener('focusout',hide);\n    window.addEventListener('scroll',function(){ if(current) place(current); },true);\n  }\n\n  initCarousels();\n  initYouTubeFacades();\n  initCustomTooltips();\n  \/\/ Pinta las tarjetas de consultas desde la tabla est\u00e1tica de inmediato (funciona sin API);\n  \/\/ si la API responde, renderSeoTables las re-renderiza con datos frescos.\n  renderConsCardsFromStaticTable();\n  const absUrl = `${window.location.protocol}\/\/${window.location.host}\/api\/dashboard-publico\/policyalert\/`;\n  bindDownloadExternalHtml(absUrl);\n\n  load();\n  setInterval(load, window.VincesDash.REFRESH_MS);\n})();\n<\/script>\n\n\n\n<script>\n(function(){\n  function wrapHeroRight(){\n    \/* El pill y el CTA viven ahora bajo el texto (.vc-hero-actions) y la\n       rueda es el segundo elemento del grid. No reagrupamos nada. *\/\n    return;\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', wrapHeroRight);\n  } else {\n    wrapHeroRight();\n  }\n})();\n<\/script>\n\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PolicyAlert: projetos de lei em tramita\u00e7\u00e3o, consultas e audi\u00eancias p\u00fablicas abertas \u00b7 Vinces PolicyAlert \u00b7 Intelig\u00eancia regulat\u00f3ria Antecipa cada altera\u00e7\u00e3o legislativa O PolicyAlert combina a monitoriza\u00e7\u00e3o autom\u00e1tica com a experi\u00eancia dos analistas da Vinces para te avisar \u2014 e explicar \u2014 o que te afeta realmente, dando-te tempo para agir. A carregar dados\u2026 Contacta-nos O [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4956,"parent":11884,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-11955","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/pages\/11955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=11955"}],"version-history":[{"count":0,"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/pages\/11955\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/pages\/11884"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/media\/4956"}],"wp:attachment":[{"href":"https:\/\/vincesconsulting.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=11955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}