[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-ccn-personnel-des-cabinets-medicaux-fr":83,"footer-cities-fr":140},[4,14,22,30,38,45,53,60,67,75],{"seo_content":5,"id":8,"name":9,"slug":10,"parentId":7,"lang":11,"_count":12},[6],{"page_slug":7},null,"cmkzhl7xm00dbulbc93h4qog5","Juridique","avocats","fr-FR",{"experts":13},8,{"seo_content":15,"id":17,"name":18,"slug":19,"parentId":7,"lang":11,"_count":20},[16],{"page_slug":7},"cmkzhl84700djulbcbv6pzu9e","Informatique","informaticiens",{"experts":21},3,{"seo_content":23,"id":25,"name":26,"slug":27,"parentId":7,"lang":11,"_count":28},[24],{"page_slug":7},"cmkzhlaos00gnulbc07i9jrco","Amélioration de la Maison","artisans",{"experts":29},4,{"seo_content":31,"id":33,"name":34,"slug":35,"parentId":7,"lang":11,"_count":36},[32],{"page_slug":7},"cmkzhlaqg00gpulbcx38bwoc2","Général","divers-generalistes",{"experts":37},0,{"seo_content":39,"id":41,"name":42,"slug":43,"parentId":7,"lang":11,"_count":44},[40],{"page_slug":7},"cmkzhlbvq00i3ulbcutdbcz50","Électronique Grand Public","techniciens-electronique",{"experts":21},{"seo_content":46,"id":48,"name":49,"slug":50,"parentId":7,"lang":11,"_count":51},[47],{"page_slug":7},"cmkzhlcaw00ilulbc38pxoogr","Santé","medecins",{"experts":52},5,{"seo_content":54,"id":56,"name":57,"slug":58,"parentId":7,"lang":11,"_count":59},[55],{"page_slug":7},"cmkzhlcmi00izulbcxva1m47f","Gestion de Patrimoine","conseillers-patrimoniaux",{"experts":21},{"seo_content":61,"id":63,"name":64,"slug":65,"parentId":7,"lang":11,"_count":66},[62],{"page_slug":7},"cmkzhldcv00jvulbcmcd5a7mk","Animaux et Vétérinaires","veterinaires",{"experts":21},{"seo_content":68,"id":70,"name":71,"slug":72,"parentId":7,"lang":11,"_count":73},[69],{"page_slug":7},"cmkzhldrr00kdulbchxfo67eg","Mécanique et Réparation","mecaniciens",{"experts":74},1,{"seo_content":76,"id":78,"name":79,"slug":80,"parentId":7,"lang":11,"_count":81},[77],{"page_slug":7},"cmkzhl9l300fbulbcv3i8q8p3","Aide aux Devoirs","professeurs-particuliers",{"experts":82},6,{"slug":84,"title":85,"page_title":86,"description":87,"content_md":88,"local_slug":84,"json_ld":89,"faq":109,"tool_html":134,"source":135,"category":136,"audience":137,"publish_mode":138,"hero_image":139,"hero_image_alt":85},"ccn-personnel-des-cabinets-medicaux","CCN du personnel des cabinets médicaux — calculateur complet","Calculateur CCN Personnel des Cabinets Médicaux IDCC 1147 | Expert Zoom","Outil interactif couvrant l'indemnité de licenciement, le préavis, la grille salariale, la prime d'ancienneté et les congés payés de la CCN du personnel des cabinets médicaux (IDCC 1147).","Ce calculateur couvre les 5 principales dispositions de la convention collective du personnel des cabinets médicaux (IDCC 1147) qui dévient du code du travail : indemnité de licenciement (formule 1\u002F5+1\u002F3, doublement inaptitude), préavis (tiers par ancienneté\u002Fstatut), grille salariale par position (5-16), prime d'ancienneté obligatoire (4-20%) et congés supplémentaires selon ancienneté. Avenant n°90 du 14 décembre 2023 intégré.",[90],{"name":91,"@type":92,"about":93,"author":97,"@context":100,"isPartOf":101,"inLanguage":104,"description":105,"operatingSystem":106,"applicationCategory":107,"isAccessibleForFree":108},"Calculateur CCN Personnel des Cabinets Médicaux — IDCC 1147","WebApplication",{"name":94,"@type":95,"identifier":96},"Convention collective du personnel des cabinets médicaux","Thing","IDCC 1147",{"name":98,"@type":99},"Expert-Zoom","Organization","https:\u002F\u002Fschema.org",{"url":102,"@type":103},"\u002Ffr\u002Fmagazine\u002Fjuridique\u002Fles-conventions-collectives-en-france","Article","fr","Outil interactif couvrant l'indemnité de licenciement, le préavis, la grille salariale, la prime d'ancienneté et les congés payés de la convention collective du personnel des cabinets médicaux (IDCC 1147).","All","FinanceApplication",true,[110,113,116,119,122,125,128,131],{"a":111,"q":112},"La CCN IDCC 1147 prévoit 1\u002F5 de mois de salaire brut de référence par année d'ancienneté pour les 10 premières années, puis 1\u002F3 de mois par année au-delà de 10 ans. En cas d'inaptitude professionnelle avec impossibilité de reclassement, l'indemnité est doublée. Aucune indemnité n'est due en cas de faute grave ou lourde.","Comment est calculée l'indemnité de licenciement dans la convention collective des cabinets médicaux ?",{"a":114,"q":115},"En cas de licenciement, le préavis est de 15 jours pour moins de 6 mois d'ancienneté, 1 mois entre 6 mois et 2 ans, et 2 mois au-delà. En cas de démission, les cadres ont un préavis de 3 mois, les non-cadres 1 mois (ou 15 jours si moins de 6 mois d'ancienneté). Le salarié licencié dispose de 2 heures par jour rémunérées pour rechercher un emploi.","Quelle est la durée du préavis dans les cabinets médicaux (IDCC 1147) ?",{"a":117,"q":118},"La CCN 1147 établit une grille de salaires minima par position (5 à 16), revalorisée de +2 % au 1ᵉʳ janvier 2024. Les salaires vont de 1 815,79 € (position 5, 35h) à 4 530,83 € (position 16, 35h). Pour les positions dont le minima est inférieur au SMIC 2026 (1 823,03 €), c'est le SMIC qui s'applique.","Quelle est la grille des salaires minima dans la CCN des cabinets médicaux ?",{"a":120,"q":121},"Oui, la CCN 1147 impose une prime d'ancienneté obligatoire : 4 % à 3 ans, 7 % à 6 ans, 9 % à 9 ans, 13 % à 12 ans, 16 % à 15 ans, 18 % à 18 ans et 20 % à partir de 20 ans d'ancienneté dans le même cabinet. Cette prime s'ajoute au salaire de base. Le code du travail ne prévoit aucune prime d'ancienneté obligatoire.","Y a-t-il une prime d'ancienneté obligatoire dans les cabinets médicaux ?",{"a":123,"q":124},"Oui, en plus des 30 jours ouvrables légaux, la CCN 1147 accorde des jours de congés supplémentaires selon l'ancienneté : +1 jour à 10 ans d'ancienneté, +2 jours à 20 ans et +3 jours à 30 ans dans le même cabinet.","Les salariés des cabinets médicaux ont-ils droit à des congés supplémentaires ?",{"a":126,"q":127},"La CCN 1147 prévoit une majoration de 100 % (doublement du salaire) pour les heures effectuées entre 22h et 6h, ce qui est nettement plus favorable que la majoration légale standard pour heures supplémentaires (25 % pour les 8 premières heures, 50 % au-delà). Cette disposition ne s'applique pas aux astreintes (gardes).","Quel est le taux de majoration pour le travail de nuit dans les cabinets médicaux ?",{"a":129,"q":130},"Selon la CCN 1147, un salarié qui change de cabinet médical pour occuper un poste analogue ou de niveau supérieur bénéficie d'une reprise d'ancienneté à hauteur de 50 % de l'ancienneté acquise dans son précédent cabinet. Cela lui permet de bénéficier plus rapidement des paliers de la prime d'ancienneté.","Qu'est-ce que la transférabilité de l'ancienneté dans les cabinets médicaux ?",{"a":132,"q":133},"Non, la CCN IDCC 1147 ne prévoit pas de 13ème mois obligatoire. Certains cabinets peuvent accorder un 13ème mois par accord d'entreprise ou usage constant, mais cela ne relève pas de la convention collective nationale.","La convention collective des cabinets médicaux prévoit-elle un 13ème mois ?","\u003C!DOCTYPE html>\n\u003Chtml lang=\"fr\">\n\u003Chead>\n  \u003Cmeta charset=\"utf-8\">\n  \u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  \u003Ctitle>Calculateur CCN — Personnel des cabinets médicaux (IDCC 1147)\u003C\u002Ftitle>\n  \u003Cscript src=\"https:\u002F\u002Funpkg.com\u002Flucide@latest\u002Fdist\u002Fumd\u002Flucide.min.js\">\u003C\u002Fscript>\n  \u003Cstyle>\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --bg: #fafaf9; --surface: #ffffff; --border: #e7e5e4;\n      --accent: #2563eb; --accent-light: #eff6ff; --accent-dark: #1d4ed8;\n      --text: #1c1917; --muted: #78716c;\n      --info-bg: #eff6ff; --info-border: #bfdbfe; --info-text: #1e40af;\n      --radius: 0.75rem; --radius-sm: 0.5rem;\n      --shadow: 0 1px 3px rgba(0,0,0,.08);\n    }\n    body { font-family: system-ui,-apple-system,sans-serif; background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.5; }\n    .tool-root { max-width: 720px; margin: 0 auto; padding: 1.25rem 1rem 2rem; }\n    .tool-header { margin-bottom: 1.5rem; }\n    .tool-header h1 { font-size: 1.2rem; font-weight: 700; }\n    .idcc-badge { display: inline-flex; align-items: center; gap: 0.35rem; background: var(--accent-light); color: var(--accent); font-size: 0.78rem; font-weight: 600; border-radius: 999px; padding: 0.2rem 0.65rem; margin-top: 0.4rem; }\n    .tabs-bar { display: flex; gap: 0.25rem; border-bottom: 2px solid var(--border); margin-bottom: 1.25rem; overflow-x: auto; scrollbar-width: none; }\n    .tabs-bar::-webkit-scrollbar { display: none; }\n    .tab-btn { display: flex; align-items: center; gap: 0.4rem; padding: 0.55rem 0.9rem; font-size: 0.875rem; font-weight: 500; color: var(--muted); background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; white-space: nowrap; border-radius: var(--radius-sm) var(--radius-sm) 0 0; transition: color .15s, border-color .15s, background .15s; }\n    .tab-btn:hover { color: var(--accent); background: var(--accent-light); }\n    .tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }\n    .tab-btn svg { width: 15px; height: 15px; }\n    .tab-panel { display: none; }\n    .tab-panel.active { display: block; }\n    .rule-callout { display: flex; gap: 0.75rem; background: var(--info-bg); border: 1px solid var(--info-border); border-radius: var(--radius-sm); padding: 0.85rem 1rem; margin-bottom: 1.25rem; }\n    .rule-callout svg { width: 18px; height: 18px; color: var(--accent); flex-shrink: 0; margin-top: 1px; }\n    .rule-callout p { font-size: 0.875rem; color: var(--info-text); line-height: 1.55; }\n    .form-group { margin-bottom: 1.1rem; }\n    .form-label { display: flex; justify-content: space-between; align-items: baseline; font-size: 0.875rem; font-weight: 500; margin-bottom: 0.4rem; }\n    .form-label .val { font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }\n    input[type=range] { width: 100%; accent-color: var(--accent); cursor: pointer; }\n    select { width: 100%; padding: 0.5rem 0.75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 0.875rem; background: var(--surface); color: var(--text); cursor: pointer; }\n    .pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }\n    .pill { padding: 0.35rem 0.85rem; border: 1.5px solid var(--border); border-radius: 999px; font-size: 0.82rem; font-weight: 500; cursor: pointer; background: var(--surface); color: var(--muted); transition: all .15s; }\n    .pill.selected { background: var(--accent); border-color: var(--accent); color: #fff; }\n    .result-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1.25rem; margin-top: 1.25rem; }\n    .result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 600; margin-bottom: 0.35rem; }\n    .result-amount { font-size: 2rem; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }\n    .result-note { font-size: 0.82rem; color: var(--muted); margin-top: 0.5rem; }\n    .result-rows { margin-top: 1rem; display: flex; flex-direction: column; gap: 0; }\n    .result-row { display: flex; justify-content: space-between; font-size: 0.85rem; padding: 0.35rem 0; border-bottom: 1px solid var(--border); }\n    .result-row:last-child { border-bottom: none; }\n    .result-row .lbl { color: var(--muted); }\n    .result-row .val2 { font-weight: 600; font-variant-numeric: tabular-nums; }\n    .grid-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; margin-top: 0.75rem; }\n    .grid-table th { background: var(--accent); color: #fff; padding: 0.5rem 0.75rem; text-align: left; font-weight: 600; }\n    .grid-table td { padding: 0.45rem 0.75rem; border-bottom: 1px solid var(--border); font-variant-numeric: tabular-nums; }\n    .grid-table tr:last-child td { border-bottom: none; }\n    .grid-table tr:nth-child(even) td { background: var(--bg); }\n    .grid-table tr.highlight td { background: var(--accent-light); font-weight: 700; color: var(--accent); }\n    .info-box { background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.85rem 1rem; margin-top: 1rem; font-size: 0.875rem; color: var(--muted); line-height: 1.55; }\n    .disclaimer { margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid var(--border); font-size: 0.78rem; color: var(--muted); line-height: 1.6; }\n    .disclaimer a { color: var(--accent); text-decoration: none; }\n    .disclaimer a:hover { text-decoration: underline; }\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003C!-- CCN IDCC 1147 — deviations detected:\n     indemnite: L1234-9 → CCN formule 1\u002F5 mois\u002Fan (≤10 ans) + 1\u002F3 mois\u002Fan (>10 ans); légal s'applique si plus favorable; ×2 inaptitude pro\n     preavis: L1234-1 → durées CCN spécifiques: lic. 1 mois (\u003C2 ans)\u002F2 mois (≥2 ans); dém. non-cadre 15j\u002F\u003C6mois ou 1 mois, cadre 3 mois; 2h\u002Fj recherche emploi\n     salaire-min: grille positionnelle 5-16, Avenant n°90 (14 déc 2023), +2% au 1er janv 2024\n     prime-anciennete: 4% à 20% par paliers (3\u002F6\u002F9\u002F12\u002F15\u002F18\u002F20 ans) — absent du code du travail\n     conges: L3141-3 (30j) + bonus +1 à +3 jours selon ancienneté (10\u002F20\u002F30 ans)\n-->\n\u003Cmain class=\"tool-root\">\n\u003Cdiv class=\"tool-header\">\n  \u003Ch1>Calculateur CCN — Personnel des cabinets médicaux\u003C\u002Fh1>\n  \u003Cdiv class=\"idcc-badge\">\u003Ci data-lucide=\"shield-check\">\u003C\u002Fi> IDCC 1147\u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003Cdiv class=\"tabs-bar\" role=\"tablist\">\n  \u003Cbutton class=\"tab-btn\" data-tab=\"indemnite\" role=\"tab\">\u003Ci data-lucide=\"banknote\">\u003C\u002Fi> Indemnité\u003C\u002Fbutton>\n  \u003Cbutton class=\"tab-btn\" data-tab=\"preavis\" role=\"tab\">\u003Ci data-lucide=\"clock\">\u003C\u002Fi> Préavis\u003C\u002Fbutton>\n  \u003Cbutton class=\"tab-btn\" data-tab=\"salaire\" role=\"tab\">\u003Ci data-lucide=\"bar-chart-2\">\u003C\u002Fi> Grille salariale\u003C\u002Fbutton>\n  \u003Cbutton class=\"tab-btn\" data-tab=\"anciennete\" role=\"tab\">\u003Ci data-lucide=\"star\">\u003C\u002Fi> Prime ancienneté\u003C\u002Fbutton>\n  \u003Cbutton class=\"tab-btn\" data-tab=\"conges\" role=\"tab\">\u003Ci data-lucide=\"sun\">\u003C\u002Fi> Congés\u003C\u002Fbutton>\n\u003C\u002Fdiv>\n\n\u003C!-- ─────────── TAB: INDEMNITÉ ─────────── -->\n\u003Cdiv class=\"tab-panel\" data-panel=\"indemnite\">\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"info\">\u003C\u002Fi>\n    \u003Cp>La CCN 1147 prévoit \u003Cstrong>1\u002F5 de mois par année ≤ 10 ans\u003C\u002Fstrong> (vs 1\u002F4 légal) et \u003Cstrong>1\u002F3 de mois par année au-delà\u003C\u002Fstrong> (identique au légal). Le salarié perçoit toujours le minimum légal (L1234-9) si plus favorable. L'indemnité est \u003Cstrong>doublée\u003C\u002Fstrong> en cas d'inaptitude professionnelle avec impossibilité de reclassement.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Salaire brut mensuel de référence \u003Cspan class=\"val\" id=\"ind-sal-val\">3 000 €\u003C\u002Fspan>\u003C\u002Flabel>\n    \u003Cinput type=\"range\" id=\"ind-sal\" min=\"1400\" max=\"8000\" step=\"50\" value=\"3000\">\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Ancienneté (années complètes) \u003Cspan class=\"val\" id=\"ind-anc-val\">5 ans\u003C\u002Fspan>\u003C\u002Flabel>\n    \u003Cinput type=\"range\" id=\"ind-anc\" min=\"1\" max=\"40\" step=\"1\" value=\"5\">\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">Motif de licenciement\u003C\u002Fdiv>\n    \u003Cdiv class=\"pills\" id=\"ind-motif-pills\">\n      \u003Cbutton class=\"pill selected\" data-val=\"standard\">Standard\u003C\u002Fbutton>\n      \u003Cbutton class=\"pill\" data-val=\"inaptitude_pro\">Inaptitude professionnelle\u003C\u002Fbutton>\n      \u003Cbutton class=\"pill\" data-val=\"faute_grave\">Faute grave \u002F lourde\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"result-card\">\n    \u003Cdiv class=\"result-label\">Indemnité de licenciement (brut)\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-amount\" id=\"ind-amount\">–\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-note\" id=\"ind-note\">\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-rows\">\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Tranche 1 (≤ 10 ans) — 1\u002F5 mois\u002Fan\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"ind-t1\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Tranche 2 (&gt; 10 ans) — 1\u002F3 mois\u002Fan\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"ind-t2\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Indemnité légale L1234-9 (référence)\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"ind-legal\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Multiplicateur CCN\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"ind-mult\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003C!-- ─────────── TAB: PRÉAVIS ─────────── -->\n\u003Cdiv class=\"tab-panel\" data-panel=\"preavis\">\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"info\">\u003C\u002Fi>\n    \u003Cp>La CCN 1147 fixe des durées précises de préavis. En cas de \u003Cstrong>licenciement\u003C\u002Fstrong> : 1 mois si ancienneté &lt; 2 ans, 2 mois au-delà. En cas de \u003Cstrong>démission\u003C\u002Fstrong> : 15 jours ou 1 mois pour les non-cadres, 3 mois pour les cadres. Pendant le préavis de licenciement, le salarié dispose de \u003Cstrong>2 heures rémunérées par jour\u003C\u002Fstrong> pour sa recherche d'emploi.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">Type de rupture\u003C\u002Fdiv>\n    \u003Cdiv class=\"pills\" id=\"preavis-sens-pills\">\n      \u003Cbutton class=\"pill selected\" data-val=\"licenciement\">Licenciement\u003C\u002Fbutton>\n      \u003Cbutton class=\"pill\" data-val=\"demission\">Démission\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">Statut\u003C\u002Fdiv>\n    \u003Cdiv class=\"pills\" id=\"preavis-statut-pills\">\n      \u003Cbutton class=\"pill selected\" data-val=\"non_cadre\">Non-cadre\u003C\u002Fbutton>\n      \u003Cbutton class=\"pill\" data-val=\"cadre\">Cadre \u002F Directeur\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Ancienneté \u003Cspan class=\"val\" id=\"preavis-anc-val\">2 ans\u003C\u002Fspan>\u003C\u002Flabel>\n    \u003Cinput type=\"range\" id=\"preavis-anc\" min=\"0\" max=\"30\" step=\"1\" value=\"2\">\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"result-card\">\n    \u003Cdiv class=\"result-label\">Durée du préavis\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-amount\" id=\"preavis-amount\">–\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-rows\">\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Heures recherche emploi \u002F jour (licenciement)\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"preavis-recherche\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Référence\u003C\u002Fspan>\u003Cspan class=\"val2\">CCN IDCC 1147\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"info-box\">\n    \u003Cstrong>Regroupement des heures de recherche d'emploi :\u003C\u002Fstrong> les 2 heures quotidiennes peuvent être cumulées (ex. 8 heures par bloc tous les 4 jours, par accord avec l'employeur).\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003C!-- ─────────── TAB: GRILLE SALARIALE ─────────── -->\n\u003Cdiv class=\"tab-panel\" data-panel=\"salaire\">\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"info\">\u003C\u002Fi>\n    \u003Cp>La CCN 1147 établit une \u003Cstrong>grille de minima par position\u003C\u002Fstrong> (5 à 16), revalorisée de \u003Cstrong>+2 % au 1ᵉʳ janvier 2024\u003C\u002Fstrong> (Avenant n°90, étendu le 17 mai 2024). Si le minimum conventionnel est inférieur au SMIC 2026 (1 823,03 €), c'est le SMIC qui s'applique.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Position conventionnelle\u003C\u002Flabel>\n    \u003Cselect id=\"sal-position\">\n      \u003Coption value=\"5\">Position 5 — Employé débutant\u003C\u002Foption>\n      \u003Coption value=\"6\">Position 6 — Employé qualifié\u003C\u002Foption>\n      \u003Coption value=\"7\">Position 7 — Technicien \u002F Secrétaire médicale\u003C\u002Foption>\n      \u003Coption value=\"8\">Position 8 — Secrétaire médicale confirmée\u003C\u002Foption>\n      \u003Coption value=\"9\">Position 9 — Technicien supérieur\u003C\u002Foption>\n      \u003Coption value=\"10\" selected>Position 10 — Agent de maîtrise\u003C\u002Foption>\n      \u003Coption value=\"11\">Position 11 — Agent de maîtrise confirmé\u003C\u002Foption>\n      \u003Coption value=\"12\">Position 12 — Cadre débutant\u003C\u002Foption>\n      \u003Coption value=\"13\">Position 13 — Cadre\u003C\u002Foption>\n      \u003Coption value=\"14\">Position 14 — Cadre confirmé\u003C\u002Foption>\n      \u003Coption value=\"15\">Position 15 — Cadre supérieur\u003C\u002Foption>\n      \u003Coption value=\"16\">Position 16 — Cadre dirigeant\u003C\u002Foption>\n    \u003C\u002Fselect>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Durée hebdomadaire \u003Cspan class=\"val\" id=\"sal-heures-val\">35 h\u003C\u002Fspan>\u003C\u002Flabel>\n    \u003Cinput type=\"range\" id=\"sal-heures\" min=\"24\" max=\"39\" step=\"0.5\" value=\"35\">\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"result-card\">\n    \u003Cdiv class=\"result-label\">Salaire minimum applicable\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-amount\" id=\"sal-amount\">–\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-note\" id=\"sal-note\">\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-rows\">\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Minima CCN à 35h\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"sal-base\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Ajusté à votre durée\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"sal-ajuste\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">SMIC 2026 (référence)\u003C\u002Fspan>\u003Cspan class=\"val2\">1 823,03 €\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Ctable class=\"grid-table\" id=\"sal-grid-table\" style=\"margin-top:1.25rem\">\n    \u003Cthead>\u003Ctr>\u003Cth>Position\u003C\u002Fth>\u003Cth>Salaire 35h (brut)\u003C\u002Fth>\u003Cth>vs SMIC 2026\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n    \u003Ctbody id=\"sal-grid-body\">\u003C\u002Ftbody>\n  \u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n\u003C!-- ─────────── TAB: PRIME D'ANCIENNETÉ ─────────── -->\n\u003Cdiv class=\"tab-panel\" data-panel=\"anciennete\">\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"info\">\u003C\u002Fi>\n    \u003Cp>La CCN 1147 impose une \u003Cstrong>prime d'ancienneté obligatoire\u003C\u002Fstrong> de \u003Cstrong>4 % à 20 %\u003C\u002Fstrong> du salaire de base, par paliers tous les 3 ans à partir de 3 ans d'ancienneté. Le code du travail ne prévoit aucune prime d'ancienneté obligatoire — c'est une protection exclusive de cette convention.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Salaire brut mensuel de base \u003Cspan class=\"val\" id=\"anc-sal-val\">2 200 €\u003C\u002Fspan>\u003C\u002Flabel>\n    \u003Cinput type=\"range\" id=\"anc-sal\" min=\"1400\" max=\"6000\" step=\"50\" value=\"2200\">\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Ancienneté dans le cabinet \u003Cspan class=\"val\" id=\"anc-anc-val\">5 ans\u003C\u002Fspan>\u003C\u002Flabel>\n    \u003Cinput type=\"range\" id=\"anc-anc\" min=\"0\" max=\"30\" step=\"1\" value=\"5\">\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"result-card\">\n    \u003Cdiv class=\"result-label\">Prime d'ancienneté mensuelle\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-amount\" id=\"anc-amount\">–\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-note\" id=\"anc-note\">\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-rows\">\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Taux applicable\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"anc-taux\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Salaire total avec prime\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"anc-total\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Prochain palier\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"anc-next\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Ctable class=\"grid-table\" style=\"margin-top:1.25rem\">\n    \u003Cthead>\u003Ctr>\u003Cth>Ancienneté\u003C\u002Fth>\u003Cth>Taux prime\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n    \u003Ctbody>\n      \u003Ctr>\u003Ctd>&lt; 3 ans\u003C\u002Ftd>\u003Ctd>0 %\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003Ctr>\u003Ctd>3 – 5 ans\u003C\u002Ftd>\u003Ctd>4 %\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003Ctr>\u003Ctd>6 – 8 ans\u003C\u002Ftd>\u003Ctd>7 %\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003Ctr>\u003Ctd>9 – 11 ans\u003C\u002Ftd>\u003Ctd>9 %\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003Ctr>\u003Ctd>12 – 14 ans\u003C\u002Ftd>\u003Ctd>13 %\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003Ctr>\u003Ctd>15 – 17 ans\u003C\u002Ftd>\u003Ctd>16 %\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003Ctr>\u003Ctd>18 – 19 ans\u003C\u002Ftd>\u003Ctd>18 %\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003Ctr>\u003Ctd>≥ 20 ans\u003C\u002Ftd>\u003Ctd>20 %\u003C\u002Ftd>\u003C\u002Ftr>\n    \u003C\u002Ftbody>\n  \u003C\u002Ftable>\n  \u003Cdiv class=\"info-box\">\n    \u003Cstrong>Changement de cabinet :\u003C\u002Fstrong> en cas de mutation vers un cabinet médical de niveau équivalent ou supérieur, le salarié conserve \u003Cstrong>50 % de son ancienneté antérieure\u003C\u002Fstrong> pour le calcul de la prime.\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003C!-- ─────────── TAB: CONGÉS ─────────── -->\n\u003Cdiv class=\"tab-panel\" data-panel=\"conges\">\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"info\">\u003C\u002Fi>\n    \u003Cp>La CCN 1147 reprend les \u003Cstrong>30 jours ouvrables légaux\u003C\u002Fstrong> (art. L3141-3) et y ajoute \u003Cstrong>1 à 3 jours supplémentaires\u003C\u002Fstrong> selon l'ancienneté (10, 20 ou 30 ans). Si l'employeur impose la prise de congés \u003Cstrong>hors de la période légale\u003C\u002Fstrong> (1ᵉʳ mai – 31 octobre), 2 jours ouvrables supplémentaires sont accordés.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Clabel class=\"form-label\">Ancienneté dans le cabinet \u003Cspan class=\"val\" id=\"cong-anc-val\">5 ans\u003C\u002Fspan>\u003C\u002Flabel>\n    \u003Cinput type=\"range\" id=\"cong-anc\" min=\"0\" max=\"35\" step=\"1\" value=\"5\">\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">Congés imposés hors période légale (mai–oct) ?\u003C\u002Fdiv>\n    \u003Cdiv class=\"pills\" id=\"cong-hors-pills\">\n      \u003Cbutton class=\"pill selected\" data-val=\"non\">Non\u003C\u002Fbutton>\n      \u003Cbutton class=\"pill\" data-val=\"oui\">Oui (+2 jours)\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"result-card\">\n    \u003Cdiv class=\"result-label\">Congés payés annuels\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-amount\" id=\"cong-amount\">–\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-note\" id=\"cong-note\">\u003C\u002Fdiv>\n    \u003Cdiv class=\"result-rows\">\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Congés légaux (L3141-3)\u003C\u002Fspan>\u003Cspan class=\"val2\">30 jours ouvrables\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Jours supplémentaires ancienneté\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"cong-supp-anc\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Jours hors période (si applicable)\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"cong-supp-hors\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-row\">\u003Cspan class=\"lbl\">Total\u003C\u002Fspan>\u003Cspan class=\"val2\" id=\"cong-total\">–\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003Cp class=\"disclaimer\">\n  Calcul indicatif basé sur la CCN IDCC 1147 (Personnel des cabinets médicaux, 14 octobre 1981) et ses avenants en vigueur au 1ᵉʳ janvier 2026.\n  Source : \u003Ca href=\"https:\u002F\u002Fwww.legifrance.gouv.fr\u002Fconv_coll\u002Fid\u002FKALICONT000005635409\" target=\"_blank\" rel=\"noopener\">Légifrance — KALICONT000005635409\u003C\u002Fa>.\n  Pour toute validation légale\n\u003C\u002Fp>\n\u003C\u002Fmain>\n\n\u003Cscript>\nconst fmtEur = v => new Intl.NumberFormat('fr-FR',{style:'currency',currency:'EUR',maximumFractionDigits:0}).format(v);\nconst fmtEurDec = v => new Intl.NumberFormat('fr-FR',{style:'currency',currency:'EUR',minimumFractionDigits:2,maximumFractionDigits:2}).format(v);\n\nconst state = {\n  ind: {sal:3000, anc:5, motif:'standard'},\n  preavis: {sens:'licenciement', statut:'non_cadre', anc:2},\n  sal: {position:10, heures:35},\n  anc: {sal:2200, anc:5},\n  cong: {anc:5, hors:'non'}\n};\n\nconst SALARY_GRID = {\n  5:1815.79, 6:1889.38, 7:1970.15, 8:2050.62, 9:2159.91,\n  10:2275.69, 11:2392.71, 12:2617.92, 13:2876.09, 14:3157.09,\n  15:3698.80, 16:4530.83\n};\nconst SMIC_2026 = 1823.03;\nconst ANC_TABLE = [\n  {min:0, max:2, t:0}, {min:3, max:5, t:4}, {min:6, max:8, t:7},\n  {min:9, max:11, t:9}, {min:12, max:14, t:13}, {min:15, max:17, t:16},\n  {min:18, max:19, t:18}, {min:20, max:999, t:20}\n];\n\nfunction getAncTaux(a) { const r=ANC_TABLE.find(x=>a>=x.min&&a\u003C=x.max); return r?r.t:0; }\nfunction getNextStep(a) { if(a>=20)return null; return [3,6,9,12,15,18,20].find(m=>m>a); }\n\n\u002F\u002F ── INDEMNITÉ ──────────────────────────────────────────────────────────────\nfunction renderInd() {\n  const {sal,anc,motif}=state.ind;\n  const t1y=Math.min(anc,10), t2y=Math.max(0,anc-10);\n  const t1=(1\u002F5)*sal*t1y, t2=(1\u002F3)*sal*t2y;\n  const ccnBase=t1+t2;\n  const legal=(1\u002F4)*sal*t1y+(1\u002F3)*sal*t2y;\n  let effective=Math.max(ccnBase,legal), mult=1, note='';\n  if(motif==='faute_grave'){effective=0; mult=0; note='Aucune indemnité due en cas de faute grave ou lourde.';}\n  else if(motif==='inaptitude_pro'){\n    const doubled=ccnBase*2;\n    effective=Math.max(doubled,legal);\n    mult=2;\n    note='Indemnité CCN doublée — inaptitude professionnelle avec impossibilité de reclassement.';\n  }\n  document.getElementById('ind-amount').textContent=fmtEur(effective);\n  document.getElementById('ind-note').textContent=note;\n  document.getElementById('ind-t1').textContent=fmtEurDec(t1);\n  document.getElementById('ind-t2').textContent=t2>0?fmtEurDec(t2):'–';\n  document.getElementById('ind-legal').textContent=fmtEurDec(legal);\n  document.getElementById('ind-mult').textContent=mult===2?'× 2 (inaptitude pro)':motif==='faute_grave'?'N\u002FA':'× 1';\n}\n\n\u002F\u002F ── PRÉAVIS ────────────────────────────────────────────────────────────────\nfunction renderPreavis() {\n  const {sens,statut,anc}=state.preavis;\n  let dur='', rech='';\n  if(sens==='licenciement') {\n    dur=anc\u003C0.5?'15 jours':anc\u003C2?'1 mois':'2 mois';\n    rech='2 h \u002F jour (cumulables en journées 8h)';\n  } else {\n    dur=statut==='cadre'?'3 mois':(anc\u003C0.5?'15 jours':'1 mois');\n    rech='Non applicable';\n  }\n  document.getElementById('preavis-amount').textContent=dur;\n  document.getElementById('preavis-recherche').textContent=rech;\n}\n\n\u002F\u002F ── SALAIRE ────────────────────────────────────────────────────────────────\nfunction renderSal() {\n  const {position,heures}=state.sal;\n  const base35=SALARY_GRID[position]||0;\n  const ajuste=base35*(heures\u002F35);\n  const isSmic=base35\u003CSMIC_2026;\n  const effective=Math.max(base35,SMIC_2026)*(heures\u002F35);\n  document.getElementById('sal-amount').textContent=fmtEurDec(effective);\n  document.getElementById('sal-note').textContent=isSmic?'Minima conventionnel \u003C SMIC — le SMIC s\\'applique pour cette position.':'';\n  document.getElementById('sal-base').textContent=fmtEurDec(base35);\n  document.getElementById('sal-ajuste').textContent=fmtEurDec(ajuste);\n  \u002F\u002F Build grid\n  const tbody=document.getElementById('sal-grid-body');\n  tbody.innerHTML='';\n  Object.entries(SALARY_GRID).forEach(([pos,sal])=>{\n    const ratio=((sal\u002FSMIC_2026)-1)*100;\n    const tr=document.createElement('tr');\n    if(parseInt(pos)===position) tr.className='highlight';\n    tr.innerHTML=`\u003Ctd>Position ${pos}\u003C\u002Ftd>\u003Ctd>${fmtEurDec(sal)}\u003C\u002Ftd>\u003Ctd>+${ratio.toFixed(0)}&nbsp;%\u003C\u002Ftd>`;\n    tbody.appendChild(tr);\n  });\n}\n\n\u002F\u002F ── ANCIENNETÉ ─────────────────────────────────────────────────────────────\nfunction renderAnc() {\n  const {sal,anc}=state.anc;\n  const taux=getAncTaux(anc);\n  const prime=sal*(taux\u002F100);\n  const total=sal+prime;\n  const next=getNextStep(anc);\n  const nextNote=next?`À ${next} ans → ${getAncTaux(next)} %`:'Taux maximum atteint (20 %)';\n  document.getElementById('anc-amount').textContent=fmtEurDec(prime);\n  document.getElementById('anc-taux').textContent=taux>0?taux+' %':'Pas encore de prime (\u003C 3 ans)';\n  document.getElementById('anc-total').textContent=fmtEurDec(total);\n  document.getElementById('anc-next').textContent=nextNote;\n  document.getElementById('anc-note').textContent=taux===0?'La prime démarre à partir de 3 ans d\\'ancienneté dans le même cabinet.':'';\n}\n\n\u002F\u002F ── CONGÉS ─────────────────────────────────────────────────────────────────\nfunction renderCong() {\n  const {anc,hors}=state.cong;\n  const suppAnc=anc>=30?3:anc>=20?2:anc>=10?1:0;\n  const suppHors=hors==='oui'?2:0;\n  const total=30+suppAnc+suppHors;\n  document.getElementById('cong-amount').textContent=`${total} jours ouvrables`;\n  document.getElementById('cong-supp-anc').textContent=suppAnc>0?`+${suppAnc} jour(s)`:'0';\n  document.getElementById('cong-supp-hors').textContent=suppHors>0?'+2 jours':'0';\n  document.getElementById('cong-total').textContent=`${total} jours ouvrables`;\n  document.getElementById('cong-note').textContent='';\n}\n\n\u002F\u002F ── PILLS + SLIDERS ────────────────────────────────────────────────────────\nfunction setupPills(gid,sk,sub,fn) {\n  const g=document.getElementById(gid);\n  if(!g)return;\n  g.querySelectorAll('.pill').forEach(p=>{\n    p.addEventListener('click',()=>{\n      g.querySelectorAll('.pill').forEach(x=>x.classList.remove('selected'));\n      p.classList.add('selected');\n      state[sk][sub]=p.dataset.val;\n      fn();\n    });\n  });\n}\nfunction setupSlider(id,vid,sk,sub,fmt,fn) {\n  const el=document.getElementById(id);\n  if(!el)return;\n  el.addEventListener('input',()=>{\n    state[sk][sub]=parseFloat(el.value);\n    document.getElementById(vid).textContent=fmt(state[sk][sub]);\n    fn();\n  });\n}\n\n\u002F\u002F ── TABS ───────────────────────────────────────────────────────────────────\nconst tabBtns=document.querySelectorAll('[data-tab]');\nconst tabPanels=document.querySelectorAll('[data-panel]');\n\nfunction activate(id) {\n  tabBtns.forEach(t=>{t.classList.toggle('active',t.dataset.tab===id);t.setAttribute('aria-selected',String(t.dataset.tab===id));});\n  tabPanels.forEach(p=>p.classList.toggle('active',p.dataset.panel===id));\n  if (location.hash !== '#' + id) location.hash = id;\n  requestAnimationFrame(()=>window.dispatchEvent(new Event('resize')));\n}\n\ntabBtns.forEach(t=>t.addEventListener('click',()=>activate(t.dataset.tab)));\nconst hashId=location.hash.slice(1);\nconst validTab=document.querySelector(`[data-tab=\"${hashId}\"]`)?hashId:(tabBtns[0]&&tabBtns[0].dataset.tab);\nactivate(validTab);\n\n\u002F\u002F ── WIRE UP ────────────────────────────────────────────────────────────────\nsetupSlider('ind-sal','ind-sal-val','ind','sal',v=>fmtEur(v),renderInd);\nsetupSlider('ind-anc','ind-anc-val','ind','anc',v=>`${v} an${v>1?'s':''}`,renderInd);\nsetupPills('ind-motif-pills','ind','motif',renderInd);\nrenderInd();\n\nsetupSlider('preavis-anc','preavis-anc-val','preavis','anc',v=>`${v} an${v>1?'s':''}`,renderPreavis);\nsetupPills('preavis-sens-pills','preavis','sens',renderPreavis);\nsetupPills('preavis-statut-pills','preavis','statut',renderPreavis);\nrenderPreavis();\n\ndocument.getElementById('sal-position').addEventListener('change',e=>{state.sal.position=parseInt(e.target.value);renderSal();});\nsetupSlider('sal-heures','sal-heures-val','sal','heures',v=>`${v} h`,renderSal);\nrenderSal();\n\nsetupSlider('anc-sal','anc-sal-val','anc','sal',v=>fmtEur(v),renderAnc);\nsetupSlider('anc-anc','anc-anc-val','anc','anc',v=>`${v} an${v>1?'s':''}`,renderAnc);\nrenderAnc();\n\nsetupSlider('cong-anc','cong-anc-val','cong','anc',v=>`${v} an${v>1?'s':''}`,renderCong);\nsetupPills('cong-hors-pills','cong','hors',renderCong);\nrenderCong();\n\n\u002F\u002F ── LUCIDE + RESIZE ────────────────────────────────────────────────────────\nwindow.addEventListener('load',()=>{\n  if(window.lucide) lucide.createIcons();\n  const ro=new ResizeObserver(()=>{\n    const h=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);\n    parent.postMessage({type:'resize',height:h},'*');\n  });\n  ro.observe(document.documentElement);\n});\nif(window.lucide) lucide.createIcons();\n\u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","generated","juridique","consumer","both","https:\u002F\u002Fpub-bdebbd2dad294475a2da0eb657815b6b.r2.dev\u002Ftools\u002Fccn-personnel-des-cabinets-medicaux-e713ad6a37.webp",[]]