[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-indemnite-de-l-industrie-pharmaceutique-accord-fr":83,"footer-cities-fr":162},[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":126,"tool_html":156,"source":157,"category":158,"audience":159,"publish_mode":160,"hero_image":161,"hero_image_alt":85},"indemnite-de-l-industrie-pharmaceutique-accord","Indemnité de licenciement — Industrie pharmaceutique","Indemnité licenciement CCN Industrie Pharmaceutique IDCC 176 | Expert Zoom","Calculez votre indemnité de licenciement selon la CCN industrie pharmaceutique (IDCC 176, art. 36) : barème progressif 0,30 à 0,41 mois\u002Fan, majoration âge\u002Fancienneté, plafond 20 mois.","La convention collective de l'industrie pharmaceutique (IDCC 176) prévoit une indemnité de licenciement plus favorable que le code du travail, avec un barème progressif de 0,30 à 0,41 mois de salaire par année d'ancienneté selon l'article 36. Ce calculateur intègre les majorations pour les salariés de plus de 45 ans ou avec 15+ ans d'ancienneté, le plafond de 20 mois, et la disposition transitoire pour les contrats antérieurs au 01\u002F07\u002F2019.",[90,109],{"name":91,"@type":92,"about":93,"author":97,"@context":100,"isPartOf":101,"inLanguage":104,"description":105,"operatingSystem":106,"applicationCategory":107,"isAccessibleForFree":108},"Calculateur indemnité de licenciement — CCN Industrie pharmaceutique IDCC 176","WebApplication",{"name":94,"@type":95,"identifier":96},"Convention collective de l'industrie pharmaceutique","Thing","IDCC 176",{"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","Calculateur de l'indemnité de licenciement selon la convention collective de l'industrie pharmaceutique (IDCC 176, art. 36) : barème progressif de 0,30 à 0,41 mois\u002Fan, majoration âge\u002Fancienneté, comparaison avec le code du travail.","All","FinanceApplication",true,{"@type":110,"@context":100,"mainEntity":111},"FAQPage",[112,118,122],{"name":113,"@type":114,"acceptedAnswer":115},"Quel est le taux de l'indemnité de licenciement dans la convention collective industrie pharmaceutique ?","Question",{"text":116,"@type":117},"La CCN industrie pharmaceutique (IDCC 176) applique un barème progressif : 0,30 mois\u002Fan pour les 5 premières années, 0,34 de 5 à 10 ans, 0,38 de 10 à 15 ans, et 0,41 au-delà. Toujours plus favorable que le code du travail.","Answer",{"name":119,"@type":114,"acceptedAnswer":120},"Y a-t-il une majoration de l'indemnité dans la convention pharmaceutique IDCC 176 ?",{"text":121,"@type":117},"Oui, un mois de salaire supplémentaire est accordé si le salarié a plus de 45 ans OU une ancienneté d'au moins 15 ans au moment du licenciement (art. 36 CCN).",{"name":123,"@type":114,"acceptedAnswer":124},"Quel est le plafond de l'indemnité de licenciement dans la CCN pharmaceutique ?",{"text":125,"@type":117},"L'indemnité conventionnelle est plafonnée à 20 mois de salaire avant la majoration liée à l'âge ou à l'ancienneté. La majoration d'un mois s'ajoute en sus.",[127,129,132,135,138,141,144,147,150,153],{"a":128,"q":113},"La CCN industrie pharmaceutique (IDCC 176, art. 36) applique un barème progressif : 0,30 mois de salaire par année pour les 5 premières années, 0,34 mois\u002Fan de 5 à 10 ans, 0,38 mois\u002Fan de 10 à 15 ans, et 0,41 mois\u002Fan au-delà. Ce taux est plus favorable que le code du travail (0,25 mois\u002Fan jusqu'à 10 ans, puis 1\u002F3 mois\u002Fan).",{"a":130,"q":131},"Pour 10 ans d'ancienneté dans l'industrie pharmaceutique, le calcul se fait en deux tranches : 5 ans × 0,30 mois + 5 ans × 0,34 mois = 1,5 + 1,7 = 3,2 mois de salaire. Pour un salaire de 3 000 €, cela représente 9 600 € bruts. Sans la CCN, le légal serait de 10 × 0,25 × 3 000 = 7 500 €, soit 2 100 € de moins.","Comment calculer l'indemnité de licenciement pharma avec 10 ans d'ancienneté ?",{"a":133,"q":134},"Oui. L'article 36 prévoit une majoration d'un mois de salaire supplémentaire pour tout salarié remplissant l'une ou l'autre des conditions suivantes : être âgé de plus de 45 ans au moment du licenciement, ou justifier d'une ancienneté d'au moins 15 ans dans l'entreprise. Ces deux conditions ne se cumulent pas (un seul mois supplémentaire au maximum).","Y a-t-il une majoration de l'indemnité de licenciement dans la convention pharmaceutique IDCC 176 ?",{"a":136,"q":137},"L'indemnité calculée selon le barème conventionnel est plafonnée à 20 mois de salaire avant application des majorations liées à l'âge ou à l'ancienneté. La majoration d'un mois (>45 ans ou 15+ ans) s'ajoute en sus du plafond de 20 mois.","Quel est le plafond de l'indemnité de licenciement dans la CCN industrie pharmaceutique ?",{"a":139,"q":140},"Oui. Les salariés recrutés avant le 1er juillet 2019 dont le licenciement est notifié avant le 30 juin 2026 bénéficient de la formule de calcul la plus favorable entre l'ancienne convention et la nouvelle. Après cette date, seule la nouvelle formule (taux progressifs de 0,30 à 0,41) s'applique.","La CCN pharmaceutique prévoit-elle une disposition transitoire pour l'indemnité de licenciement ?",{"a":142,"q":143},"Non, la CCN industrie pharmaceutique ne modifie pas le seuil minimal d'ancienneté. Comme pour le code du travail, il faut au moins 8 mois d'ancienneté continue dans l'entreprise pour avoir droit à l'indemnité (art. L1234-9 du code du travail).","L'ancienneté minimale pour bénéficier de l'indemnité de licenciement est-elle différente dans la CCN pharma ?",{"a":145,"q":146},"Le barème de l'article 36 s'applique aux licenciements pour motif économique, personnel non fautif et inaptitude. En cas de faute grave ou lourde, aucune indemnité de licenciement n'est due, conformément à la règle générale du code du travail. Les modalités de calcul du salaire de référence (12 derniers mois ou 3 derniers mois selon le plus favorable) sont identiques à la règle légale.","L'indemnité de licenciement est-elle la même pour tous les motifs dans la convention pharmaceutique ?",{"a":148,"q":149},"La CCN industrie pharmaceutique IDCC 176 est parmi les plus favorables en France pour l'indemnité de licenciement. Son taux de 0,30 mois\u002Fan dès la première année surpasse le légal (0,25 mois\u002Fan), et sa progressivité jusqu'à 0,41 mois\u002Fan récompense les longues carrières. Des conventions comme la Syntec (IDCC 1486) ou la Métallurgie (IDCC 3127) présentent également des taux comparables voire supérieurs pour les cadres.","Comment la CCN industrie pharmaceutique compare-t-elle avec d'autres conventions collectives pour l'indemnité ?",{"a":151,"q":152},"Le salaire de référence est le plus avantageux entre : (1) la moyenne des 12 derniers mois de salaire brut avant la notification du licenciement, ou (2) le tiers des 3 derniers mois (avec prorata des primes annuelles). Les primes et gratifications perçues pendant la période de référence sont incluses au prorata. Cette règle est identique à celle du code du travail (art. R1234-4).","Comment est calculé le salaire de référence pour l'indemnité de licenciement en industrie pharmaceutique ?",{"a":154,"q":155},"L'indemnité de licenciement versée dans le cadre de la CCN industrie pharmaceutique est exonérée d'impôt sur le revenu et de cotisations sociales dans la limite du montant le plus élevé entre : le montant de l'indemnité légale ou conventionnelle, 2 fois la rémunération annuelle brute du salarié, ou 50 % du montant de l'indemnité. La fraction dépassant ces plafonds est soumise à l'impôt et aux cotisations.","L'indemnité de licenciement de la CCN pharmaceutique est-elle imposable ?","\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>Indemnité de licenciement — Convention collective industrie pharmaceutique IDCC 176\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\n    :root {\n      --bg: #fafaf9;\n      --surface: #ffffff;\n      --border: #e7e5e4;\n      --accent: #2563eb;\n      --accent-light: #eff6ff;\n      --accent-dark: #1d4ed8;\n      --text: #1c1917;\n      --muted: #78716c;\n      --success-bg: #f0fdf4;\n      --success-border: #bbf7d0;\n      --success-text: #15803d;\n      --info-bg: #eff6ff;\n      --info-border: #bfdbfe;\n      --info-text: #1e40af;\n      --warn-bg: #fefce8;\n      --warn-border: #fef08a;\n      --warn-text: #854d0e;\n      --radius: 0.75rem;\n      --radius-sm: 0.5rem;\n      --shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);\n      --shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);\n    }\n\n    body {\n      font-family: system-ui, -apple-system, sans-serif;\n      background: var(--bg);\n      color: var(--text);\n      font-size: 0.9375rem;\n      line-height: 1.6;\n    }\n\n    .tool-root {\n      max-width: 680px;\n      margin: 0 auto;\n      padding: 1.25rem 1rem 2rem;\n    }\n\n    \u002F* Header *\u002F\n    .tool-header { margin-bottom: 1.25rem; }\n    .tool-header h1 {\n      font-size: 1.125rem;\n      font-weight: 700;\n      color: var(--text);\n      line-height: 1.3;\n    }\n    .badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.25rem;\n      background: var(--accent-light);\n      color: var(--accent);\n      font-size: 0.75rem;\n      font-weight: 600;\n      padding: 0.2rem 0.55rem;\n      border-radius: 9999px;\n      margin-top: 0.35rem;\n    }\n\n    \u002F* Intro *\u002F\n    .intro {\n      background: var(--surface);\n      border: 1px solid var(--border);\n      border-radius: var(--radius);\n      padding: 1rem 1.25rem;\n      margin-bottom: 1.25rem;\n      font-size: 0.875rem;\n      line-height: 1.65;\n      color: var(--text);\n    }\n    .intro p + p { margin-top: 0.65rem; }\n    .intro strong { color: var(--accent-dark); }\n\n    \u002F* Rule callout *\u002F\n    .rule-callout {\n      display: flex;\n      gap: 0.65rem;\n      align-items: flex-start;\n      background: var(--info-bg);\n      border: 1px solid var(--info-border);\n      border-radius: var(--radius-sm);\n      padding: 0.75rem 1rem;\n      margin-bottom: 1.25rem;\n      font-size: 0.84rem;\n      color: var(--info-text);\n    }\n    .rule-callout svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }\n\n    \u002F* Card *\u002F\n    .card {\n      background: var(--surface);\n      border: 1px solid var(--border);\n      border-radius: var(--radius);\n      padding: 1.25rem;\n      margin-bottom: 1rem;\n    }\n\n    \u002F* Form fields *\u002F\n    .field { margin-bottom: 1rem; }\n    .field label {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      font-size: 0.84rem;\n      font-weight: 500;\n      color: var(--text);\n      margin-bottom: 0.35rem;\n    }\n    .field label span.val {\n      font-weight: 700;\n      color: var(--accent);\n      font-variant-numeric: tabular-nums;\n    }\n    input[type=range] {\n      width: 100%;\n      accent-color: var(--accent);\n      height: 6px;\n      cursor: pointer;\n    }\n\n    \u002F* Pills *\u002F\n    .pills { display: flex; gap: 0.5rem; flex-wrap: wrap; }\n    .pill {\n      padding: 0.35rem 0.85rem;\n      border: 1.5px solid var(--border);\n      border-radius: 9999px;\n      font-size: 0.8rem;\n      font-weight: 500;\n      cursor: pointer;\n      background: var(--surface);\n      color: var(--muted);\n      transition: all 0.15s;\n    }\n    .pill.active {\n      border-color: var(--accent);\n      background: var(--accent-light);\n      color: var(--accent);\n    }\n\n    \u002F* Toggle *\u002F\n    .toggle-row {\n      display: flex;\n      align-items: center;\n      gap: 0.75rem;\n      margin-bottom: 1rem;\n    }\n    .toggle-label { font-size: 0.84rem; font-weight: 500; }\n    .toggle {\n      position: relative;\n      width: 42px;\n      height: 24px;\n      flex-shrink: 0;\n    }\n    .toggle input { opacity: 0; width: 0; height: 0; position: absolute; }\n    .toggle-track {\n      position: absolute; inset: 0;\n      background: var(--border);\n      border-radius: 9999px;\n      transition: background 0.15s;\n      cursor: pointer;\n    }\n    .toggle input:checked ~ .toggle-track { background: var(--accent); }\n    .toggle-thumb {\n      position: absolute;\n      top: 3px; left: 3px;\n      width: 18px; height: 18px;\n      background: white;\n      border-radius: 50%;\n      box-shadow: var(--shadow);\n      transition: transform 0.15s;\n      pointer-events: none;\n    }\n    .toggle input:checked ~ .toggle-track ~ .toggle-thumb { transform: translateX(18px); }\n\n    \u002F* Result card *\u002F\n    .result-card {\n      background: var(--success-bg);\n      border: 1.5px solid var(--success-border);\n      border-radius: var(--radius);\n      padding: 1rem 1.25rem;\n      margin-top: 1.25rem;\n    }\n    .result-card .result-label {\n      font-size: 0.78rem;\n      font-weight: 600;\n      color: var(--success-text);\n      text-transform: uppercase;\n      letter-spacing: 0.04em;\n      margin-bottom: 0.25rem;\n    }\n    .result-card .result-value {\n      font-size: 1.75rem;\n      font-weight: 800;\n      font-variant-numeric: tabular-nums;\n      color: var(--success-text);\n      line-height: 1.2;\n    }\n    .result-card .result-sub {\n      font-size: 0.8rem;\n      color: var(--success-text);\n      opacity: 0.8;\n      margin-top: 0.2rem;\n    }\n    .result-details {\n      margin-top: 0.75rem;\n      padding-top: 0.75rem;\n      border-top: 1px solid var(--success-border);\n      display: grid;\n      gap: 0.3rem;\n    }\n    .result-detail-row {\n      display: flex;\n      justify-content: space-between;\n      font-size: 0.8rem;\n      color: var(--success-text);\n    }\n    .result-detail-row .detail-key { opacity: 0.8; }\n    .result-detail-row .detail-val { font-weight: 600; font-variant-numeric: tabular-nums; }\n\n    \u002F* Comparison box *\u002F\n    .compare-box {\n      background: var(--warn-bg);\n      border: 1px solid var(--warn-border);\n      border-radius: var(--radius-sm);\n      padding: 0.75rem 1rem;\n      margin-top: 0.75rem;\n      font-size: 0.82rem;\n      color: var(--warn-text);\n      display: flex;\n      gap: 0.5rem;\n      align-items: flex-start;\n    }\n    .compare-box svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 1px; }\n\n    \u002F* Bracket table *\u002F\n    .bracket-table {\n      width: 100%;\n      border-collapse: collapse;\n      font-size: 0.82rem;\n      margin-top: 0.5rem;\n    }\n    .bracket-table th {\n      text-align: left;\n      font-weight: 600;\n      padding: 0.4rem 0.6rem;\n      border-bottom: 2px solid var(--border);\n      color: var(--muted);\n      font-size: 0.75rem;\n      text-transform: uppercase;\n      letter-spacing: 0.04em;\n    }\n    .bracket-table td {\n      padding: 0.4rem 0.6rem;\n      border-bottom: 1px solid var(--border);\n    }\n    .bracket-table tr:last-child td { border-bottom: none; }\n    .bracket-table .active-row { background: var(--accent-light); font-weight: 600; color: var(--accent-dark); }\n    .section-title {\n      font-size: 0.78rem;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.06em;\n      color: var(--muted);\n      margin-bottom: 0.65rem;\n    }\n\n    \u002F* Disclaimer *\u002F\n    .disclaimer {\n      margin-top: 1.5rem;\n      padding-top: 1rem;\n      border-top: 1px solid var(--border);\n      font-size: 0.76rem;\n      color: var(--muted);\n      line-height: 1.5;\n    }\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\n\u003C!-- CCN IDCC 176 — Indemnité de licenciement (art. 36 CCN)\n     Déviation vs L1234-9 : taux progressif 0.30\u002F0.34\u002F0.38\u002F0.41 mois\u002Fan\n     Majoration : +1 mois si > 45 ans OU ancienneté ≥ 15 ans\n     Plafond : 20 mois de salaire hors majorations d'âge\u002Fancienneté\n     Disposition transitoire : formule la plus favorable pour salariés recrutés avant 01\u002F07\u002F2019\n     dont le licenciement est notifié avant le 30\u002F06\u002F2026 -->\n\n\u003Cmain class=\"tool-root\">\n  \u003Cdiv class=\"tool-header\">\n    \u003Ch1>Indemnité de licenciement — Industrie pharmaceutique\u003C\u002Fh1>\n    \u003Cdiv class=\"badge\">\n      \u003Ci data-lucide=\"shield-check\">\u003C\u002Fi>\n      IDCC 176 · Art. 36\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"intro\">\n    \u003Cp>\n      La convention collective nationale de l'\u003Cstrong>industrie pharmaceutique\u003C\u002Fstrong> (IDCC 176) prévoit, à son article 36,\n      une indemnité de licenciement \u003Cstrong>plus favorable\u003C\u002Fstrong> que celle du code du travail. Contrairement au\n      taux unique de 1\u002F4 mois prévu par la loi pour les 10 premières années, la CCN pharmaceutique\n      applique un barème progressif qui commence à \u003Cstrong>0,30 mois par année\u003C\u002Fstrong> dès la première année.\n    \u003C\u002Fp>\n    \u003Cp>\n      Ce calculateur prend en compte le taux conventionnel par tranche d'ancienneté, la majoration\n      pour les salariés de plus de 45 ans ou ayant une ancienneté d'au moins 15 ans, ainsi que le\n      plafond de 20 mois. La \u003Cstrong>disposition transitoire\u003C\u002Fstrong> applicable aux contrats antérieurs au\n      01\u002F07\u002F2019 (licenciement notifié avant le 30\u002F06\u002F2026) garantit l'application de la formule\n      la plus avantageuse entre l'ancienne et la nouvelle convention.\n    \u003C\u002Fp>\n    \u003Cp>\n      Les secteurs couverts incluent notamment la fabrication de médicaments, la recherche\n      pharmaceutique, la distribution et la vente en gros de produits pharmaceutiques.\n    \u003C\u002Fp>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"info\">\u003C\u002Fi>\n    \u003Cp>\n      \u003Cstrong>Règle conventionnelle (art. 36 CCN IDCC 176) :\u003C\u002Fstrong> taux progressif\n      0,30 → 0,34 → 0,38 → 0,41 mois\u002Fan selon l'ancienneté, + 1 mois supplémentaire\n      si le salarié a plus de 45 ans \u003Cem>ou\u003C\u002Fem> une ancienneté ≥ 15 ans.\n      Plafond : 20 mois (hors majoration âge\u002Fancienneté).\n    \u003C\u002Fp>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"card\">\n    \u003Cdiv class=\"section-title\">Paramètres du calcul\u003C\u002Fdiv>\n\n    \u003Cdiv class=\"field\">\n      \u003Clabel>\n        Salaire brut mensuel de référence\n        \u003Cspan class=\"val\" id=\"sal-val\">3 000 €\u003C\u002Fspan>\n      \u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"sal\" min=\"1500\" max=\"12000\" step=\"50\" value=\"3000\">\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"field\">\n      \u003Clabel>\n        Ancienneté (années complètes)\n        \u003Cspan class=\"val\" id=\"anc-val\">8 ans\u003C\u002Fspan>\n      \u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"anc\" min=\"1\" max=\"40\" step=\"1\" value=\"8\">\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"field\">\n      \u003Clabel>Motif du licenciement\u003C\u002Flabel>\n      \u003Cdiv class=\"pills\" id=\"motif-pills\">\n        \u003Cbutton class=\"pill active\" data-val=\"economique\">Économique\u003C\u002Fbutton>\n        \u003Cbutton class=\"pill\" data-val=\"personnel\">Personnel\u003C\u002Fbutton>\n        \u003Cbutton class=\"pill\" data-val=\"inaptitude\">Inaptitude\u003C\u002Fbutton>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"toggle-row\">\n      \u003Clabel class=\"toggle\">\n        \u003Cinput type=\"checkbox\" id=\"age-toggle\">\n        \u003Cdiv class=\"toggle-track\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"toggle-thumb\">\u003C\u002Fdiv>\n      \u003C\u002Flabel>\n      \u003Cspan class=\"toggle-label\">Salarié de plus de 45 ans\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"toggle-row\">\n      \u003Clabel class=\"toggle\">\n        \u003Cinput type=\"checkbox\" id=\"transitoire-toggle\">\n        \u003Cdiv class=\"toggle-track\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"toggle-thumb\">\u003C\u002Fdiv>\n      \u003C\u002Flabel>\n      \u003Cspan class=\"toggle-label\">Contrat antérieur au 01\u002F07\u002F2019 (disposition transitoire)\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv class=\"result-label\">Indemnité conventionnelle estimée\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-value\" id=\"total\">–\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-sub\" id=\"sub\">\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-details\" id=\"details\">\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"compare-box\" id=\"compare-box\">\n      \u003Ci data-lucide=\"scale\">\u003C\u002Fi>\n      \u003Cspan id=\"compare-text\">\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Barème tranche par tranche -->\n  \u003Cdiv class=\"card\">\n    \u003Cdiv class=\"section-title\">Barème conventionnel par tranche d'ancienneté\u003C\u002Fdiv>\n    \u003Ctable class=\"bracket-table\">\n      \u003Cthead>\n        \u003Ctr>\n          \u003Cth>Tranche\u003C\u002Fth>\n          \u003Cth>Taux CCN\u003C\u002Fth>\n          \u003Cth>Taux légal (L1234-9)\u003C\u002Fth>\n        \u003C\u002Ftr>\n      \u003C\u002Fthead>\n      \u003Ctbody>\n        \u003Ctr id=\"row-1\">\u003Ctd>0 à 5 ans\u003C\u002Ftd>\u003Ctd>0,30 mois \u002F an\u003C\u002Ftd>\u003Ctd>0,25 mois \u002F an\u003C\u002Ftd>\u003C\u002Ftr>\n        \u003Ctr id=\"row-2\">\u003Ctd>5 à 10 ans\u003C\u002Ftd>\u003Ctd>0,34 mois \u002F an\u003C\u002Ftd>\u003Ctd>0,25 mois \u002F an\u003C\u002Ftd>\u003C\u002Ftr>\n        \u003Ctr id=\"row-3\">\u003Ctd>10 à 15 ans\u003C\u002Ftd>\u003Ctd>0,38 mois \u002F an\u003C\u002Ftd>\u003Ctd>0,333 mois \u002F an\u003C\u002Ftd>\u003C\u002Ftr>\n        \u003Ctr id=\"row-4\">\u003Ctd>15 ans et +\u003C\u002Ftd>\u003Ctd>0,41 mois \u002F an\u003C\u002Ftd>\u003Ctd>0,333 mois \u002F an\u003C\u002Ftd>\u003C\u002Ftr>\n      \u003C\u002Ftbody>\n    \u003C\u002Ftable>\n  \u003C\u002Fdiv>\n\n  \u003Cp class=\"disclaimer\">\n    Calcul indicatif basé sur la CCN IDCC 176 (industrie pharmaceutique), article 36.\n    Source : \u003Ca href=\"https:\u002F\u002Fwww.legifrance.gouv.fr\u002Fconv_coll\u002Fid\u002FKALICONT000005635269\u002F\" target=\"_blank\" rel=\"noopener\">Légifrance\u003C\u002Fa>.\n    Pour toute validation légale ou contestation d'indemnité\n  \u003C\u002Fp>\n\u003C\u002Fmain>\n\n\u003Cscript>\nconst fmt = new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 });\nconst fmtDec = new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR', minimumFractionDigits: 2, maximumFractionDigits: 2 });\nfunction fmtEur(v) { return fmt.format(Math.round(v)); }\n\nconst salEl = document.getElementById('sal');\nconst ancEl = document.getElementById('anc');\nconst ageToggle = document.getElementById('age-toggle');\nconst transitoireToggle = document.getElementById('transitoire-toggle');\nconst salVal = document.getElementById('sal-val');\nconst ancVal = document.getElementById('anc-val');\nconst totalEl = document.getElementById('total');\nconst subEl = document.getElementById('sub');\nconst detailsEl = document.getElementById('details');\nconst compareBox = document.getElementById('compare-box');\nconst compareText = document.getElementById('compare-text');\n\nlet motif = 'economique';\n\n\u002F\u002F Pills\ndocument.getElementById('motif-pills').querySelectorAll('.pill').forEach(pill => {\n  pill.addEventListener('click', () => {\n    document.getElementById('motif-pills').querySelectorAll('.pill').forEach(p => p.classList.remove('active'));\n    pill.classList.add('active');\n    motif = pill.dataset.val;\n    compute();\n  });\n});\n\nfunction computeCCN(sal, anc) {\n  let ind = 0;\n  const y1 = Math.min(anc, 5);\n  ind += y1 * 0.30 * sal;\n  if (anc > 5) {\n    const y2 = Math.min(anc - 5, 5);\n    ind += y2 * 0.34 * sal;\n  }\n  if (anc > 10) {\n    const y3 = Math.min(anc - 10, 5);\n    ind += y3 * 0.38 * sal;\n  }\n  if (anc > 15) {\n    ind += (anc - 15) * 0.41 * sal;\n  }\n  return Math.min(ind, 20 * sal);\n}\n\nfunction computeLegal(sal, anc) {\n  let ind = 0;\n  const y1 = Math.min(anc, 10);\n  ind += y1 * 0.25 * sal;\n  if (anc > 10) ind += (anc - 10) * (1\u002F3) * sal;\n  return ind;\n}\n\n\u002F\u002F Old formula (pre-2019 CCN) — approximation: 1\u002F5 mois\u002Fan uniform\nfunction computeOld(sal, anc) {\n  return Math.min(anc * (1\u002F5) * sal * 2, 18 * sal); \u002F\u002F simplified old formula\n}\n\nfunction compute() {\n  const sal = +salEl.value;\n  const anc = +ancEl.value;\n  const over45 = ageToggle.checked;\n  const transitoire = transitoireToggle.checked;\n\n  if (anc \u003C 1) {\n    totalEl.textContent = '0 €';\n    subEl.textContent = 'Ancienneté insuffisante (minimum 8 mois)';\n    detailsEl.innerHTML = '';\n    compareBox.style.display = 'none';\n    return;\n  }\n\n  const ccnBase = computeCCN(sal, anc);\n  const legalBase = computeLegal(sal, anc);\n  const hasMajoration = over45 || anc >= 15;\n  const bonus = hasMajoration ? sal : 0;\n  let total = ccnBase + bonus;\n\n  \u002F\u002F Disposition transitoire : appliquer la plus favorable\n  let formuleLabel = 'Formule CCN 2019';\n  if (transitoire) {\n    const oldBase = computeOld(sal, anc);\n    if (oldBase + bonus > total) {\n      total = oldBase + bonus;\n      formuleLabel = 'Formule ancienne (pré-2019) — plus favorable';\n    }\n  }\n\n  totalEl.textContent = fmtEur(total);\n  subEl.textContent = `${anc} an${anc>1?'s':''} d'ancienneté · ${fmtEur(sal)}\u002Fmois · ${formuleLabel}`;\n\n  let rows = `\n    \u003Cdiv class=\"result-detail-row\">\u003Cspan class=\"detail-key\">Indemnité CCN (avant majoration)\u003C\u002Fspan>\u003Cspan class=\"detail-val\">${fmtEur(ccnBase)}\u003C\u002Fspan>\u003C\u002Fdiv>\n  `;\n  if (hasMajoration) {\n    const label = over45 && anc >= 15 ? '>45 ans & 15+ ans anc.' : over45 ? 'Plus de 45 ans' : 'Ancienneté ≥ 15 ans';\n    rows += `\u003Cdiv class=\"result-detail-row\">\u003Cspan class=\"detail-key\">Majoration (${label})\u003C\u002Fspan>\u003Cspan class=\"detail-val\">+ ${fmtEur(bonus)}\u003C\u002Fspan>\u003C\u002Fdiv>`;\n  }\n  rows += `\u003Cdiv class=\"result-detail-row\">\u003Cspan class=\"detail-key\">Indemnité légale comparative (L1234-9)\u003C\u002Fspan>\u003Cspan class=\"detail-val\">${fmtEur(legalBase)}\u003C\u002Fspan>\u003C\u002Fdiv>`;\n  detailsEl.innerHTML = rows;\n\n  \u002F\u002F Comparison\n  const gain = total - legalBase;\n  compareBox.style.display = 'flex';\n  if (gain > 0) {\n    compareText.textContent = `La CCN industrie pharmaceutique vous accorde ${fmtEur(gain)} de plus que le minimum légal du code du travail (${fmtEur(legalBase)}).`;\n  } else {\n    compareText.textContent = `L'indemnité conventionnelle est identique au minimum légal dans ce cas.`;\n  }\n\n  \u002F\u002F Highlight active bracket row\n  ['row-1','row-2','row-3','row-4'].forEach(id => document.getElementById(id).classList.remove('active-row'));\n  if (anc \u003C= 5) document.getElementById('row-1').classList.add('active-row');\n  else if (anc \u003C= 10) document.getElementById('row-2').classList.add('active-row');\n  else if (anc \u003C= 15) document.getElementById('row-3').classList.add('active-row');\n  else document.getElementById('row-4').classList.add('active-row');\n}\n\nsalEl.addEventListener('input', () => { salVal.textContent = fmtEur(salEl.value); compute(); });\nancEl.addEventListener('input', () => { ancVal.textContent = ancEl.value + ' an' + (+ancEl.value > 1 ? 's' : ''); compute(); });\nageToggle.addEventListener('change', compute);\ntransitoireToggle.addEventListener('change', compute);\ncompute();\n\n\u002F* ─── RESIZE OBSERVER ───────────────────────────────────────────────────── *\u002F\nconst ro = new ResizeObserver(() => {\n  const h = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n  parent.postMessage({ type: 'resize', height: h }, '*');\n});\nro.observe(document.documentElement);\n\n\u002F* ─── INIT LUCIDE ───────────────────────────────────────────────────────── *\u002F\ndocument.addEventListener('DOMContentLoaded', () => { if (window.lucide) lucide.createIcons(); });\nif (document.readyState !== 'loading') { if (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\u002Findemnite-de-l-industrie-pharmaceutique-accord-52f375d292.webp",[]]