{"id":1130,"date":"2026-05-06T07:18:21","date_gmt":"2026-05-06T07:18:21","guid":{"rendered":"https:\/\/flowise.gr\/?page_id=1130"},"modified":"2026-05-06T09:13:40","modified_gmt":"2026-05-06T09:13:40","slug":"gacp-good-agricultural-collection-practices","status":"publish","type":"page","link":"https:\/\/flowise.gr\/index.php\/gacp-good-agricultural-collection-practices\/","title":{"rendered":"GACP &#8211; Good Agricultural &amp; Collection Practices"},"content":{"rendered":"<div class=\"ptm-module-wrapper\" style=\"width:100%;height:auto;overflow:visible;\"><style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    --green-50: #EAF3DE; --green-100: #C0DD97; --green-200: #97C459;\n    --green-400: #639922; --green-600: #3B6D11; --green-800: #27500A; --green-900: #173404;\n    --teal-50: #E1F5EE; --teal-100: #9FE1CB; --teal-200: #5DCAA5;\n    --teal-400: #1D9E75; --teal-600: #0F6E56; --teal-800: #085041;\n    --amber-50: #FAEEDA; --amber-100: #FAC775; --amber-200: #EF9F27;\n    --amber-400: #BA7517; --amber-600: #854F0B; --amber-800: #633806;\n    --coral-50: #FAECE7; --coral-100: #F5C4B3; --coral-200: #F0997B;\n    --coral-400: #D85A30; --coral-600: #993C1D; --coral-800: #712B13;\n    --blue-50: #E6F1FB; --blue-100: #B5D4F4; --blue-400: #378ADD;\n    --blue-600: #185FA5; --blue-800: #0C447C;\n    --gray-50: #F1EFE8; --gray-100: #D3D1C7; --gray-200: #B4B2A9;\n    --gray-400: #888780; --gray-600: #5F5E5A; --gray-800: #444441;\n    --text: #1a1a18; --text-sec: #5F5E5A; --text-hint: #888780;\n    --bg: #ffffff; --bg-sec: #F8F7F2; --bg-ter: #F1EFE8;\n    --border: rgba(0,0,0,0.12); --border-med: rgba(0,0,0,0.2);\n    --radius: 8px; --radius-lg: 12px;\n    --sidebar-w: 220px;\n  }\n\n  body {\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    font-size: 15px; line-height: 1.7; color: var(--text);\n    background: var(--bg-sec); min-height: 100vh;\n  }\n\n  .layout { display: flex; min-height: 100vh; }\n\n  .sidebar {\n    width: var(--sidebar-w); background: var(--bg); border-right: 0.5px solid var(--border);\n    padding: 24px 0; position: sticky; top: 0; height: 100vh; overflow-y: auto;\n    flex-shrink: 0;\n  }\n\n  .sidebar-logo {\n    padding: 0 20px 20px; border-bottom: 0.5px solid var(--border); margin-bottom: 12px;\n  }\n  .sidebar-logo .logo-badge {\n    display: inline-block; background: var(--green-50); color: var(--green-800);\n    font-size: 10px; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase;\n    padding: 3px 8px; border-radius: 4px; margin-bottom: 6px;\n  }\n  .sidebar-logo h1 { font-size: 14px; font-weight: 500; color: var(--text); line-height: 1.4; }\n\n  .progress-bar-wrap { padding: 0 20px 16px; border-bottom: 0.5px solid var(--border); margin-bottom: 8px; }\n  .progress-label { font-size: 11px; color: var(--text-hint); margin-bottom: 6px; display: flex; justify-content: space-between; }\n  .progress-track { height: 4px; background: var(--bg-ter); border-radius: 2px; }\n  .progress-fill { height: 4px; background: var(--green-400); border-radius: 2px; transition: width 0.4s ease; }\n\n  .nav-section { padding: 0 12px; margin-bottom: 4px; }\n  .nav-label { font-size: 10px; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase;\n    color: var(--text-hint); padding: 8px 8px 4px; }\n  .nav-item {\n    display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: var(--radius);\n    cursor: pointer; font-size: 13px; color: var(--text-sec); transition: all 0.15s;\n    border: none; background: none; width: 100%; text-align: left;\n  }\n  .nav-item:hover { background: var(--bg-sec); color: var(--text); }\n  .nav-item.active { background: var(--green-50); color: var(--green-800); font-weight: 500; }\n  .nav-item.completed .nav-num { background: var(--green-400); color: #fff; }\n  .nav-item.active .nav-num { background: var(--green-600); color: #fff; }\n  .nav-num {\n    width: 20px; height: 20px; border-radius: 50%; background: var(--bg-ter);\n    color: var(--text-hint); font-size: 10px; font-weight: 500;\n    display: flex; align-items: center; justify-content: center; flex-shrink: 0;\n  }\n  .nav-check { width: 20px; height: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }\n\n  .main { flex: 1; padding: 40px 48px; max-width: 820px; }\n\n  .section-page { display: none; }\n  .section-page.active { display: block; }\n\n  .page-eyebrow { font-size: 11px; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase;\n    color: var(--green-600); margin-bottom: 8px; }\n  .page-title { font-size: 26px; font-weight: 500; color: var(--text); margin-bottom: 8px; line-height: 1.3; }\n  .page-subtitle { font-size: 15px; color: var(--text-sec); margin-bottom: 32px; line-height: 1.6; border-bottom: 0.5px solid var(--border); padding-bottom: 24px; }\n\n  .duration-badge {\n    display: inline-flex; align-items: center; gap: 5px;\n    background: var(--bg-ter); color: var(--text-sec); font-size: 12px;\n    padding: 4px 10px; border-radius: 20px; margin-bottom: 24px;\n  }\n\n  h2 { font-size: 18px; font-weight: 500; color: var(--text); margin: 28px 0 12px; }\n  h3 { font-size: 15px; font-weight: 500; color: var(--text); margin: 20px 0 8px; }\n  p { margin-bottom: 12px; color: var(--text-sec); font-size: 14px; line-height: 1.75; }\n  p:last-child { margin-bottom: 0; }\n\n  .callout {\n    border-radius: var(--radius-lg); padding: 16px 18px; margin: 20px 0; font-size: 14px;\n    border-left: 3px solid;\n  }\n  .callout-key { background: var(--green-50); border-color: var(--green-400); color: var(--green-800); }\n  .callout-warning { background: var(--amber-50); border-color: var(--amber-400); color: var(--amber-600); }\n  .callout-info { background: var(--blue-50); border-color: var(--blue-400); color: var(--blue-800); }\n  .callout-diff { background: var(--coral-50); border-color: var(--coral-400); color: var(--coral-800); }\n  .callout-title { font-weight: 500; margin-bottom: 4px; font-size: 13px; letter-spacing: 0.03em; }\n  .callout p { color: inherit; margin: 0; font-size: 13px; line-height: 1.65; }\n\n  .card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 20px 0; }\n  .card {\n    background: var(--bg); border: 0.5px solid var(--border); border-radius: var(--radius-lg);\n    padding: 16px; font-size: 13px;\n  }\n  .card-icon { width: 32px; height: 32px; border-radius: var(--radius); display: flex; align-items: center;\n    justify-content: center; margin-bottom: 10px; font-size: 16px; }\n  .card-title { font-weight: 500; color: var(--text); margin-bottom: 4px; font-size: 13px; }\n  .card-desc { color: var(--text-sec); font-size: 12px; line-height: 1.6; }\n\n  .compare-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 13px; }\n  .compare-table th { background: var(--bg-ter); padding: 10px 14px; text-align: left; font-weight: 500;\n    color: var(--text); border-bottom: 0.5px solid var(--border); font-size: 12px; }\n  .compare-table td { padding: 10px 14px; border-bottom: 0.5px solid var(--border); color: var(--text-sec); vertical-align: top; }\n  .compare-table tr:last-child td { border-bottom: none; }\n  .compare-table .label-col { color: var(--text); font-weight: 500; width: 160px; }\n  .tag { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 11px; font-weight: 500; }\n  .tag-green { background: var(--green-50); color: var(--green-800); }\n  .tag-amber { background: var(--amber-50); color: var(--amber-600); }\n  .tag-coral { background: var(--coral-50); color: var(--coral-800); }\n  .tag-blue { background: var(--blue-50); color: var(--blue-800); }\n\n  .step-list { counter-reset: step; margin: 16px 0; }\n  .step-item {\n    display: flex; gap: 14px; margin-bottom: 16px; align-items: flex-start;\n  }\n  .step-num {\n    width: 26px; height: 26px; border-radius: 50%; background: var(--green-400); color: #fff;\n    font-size: 12px; font-weight: 500; display: flex; align-items: center; justify-content: center;\n    flex-shrink: 0; margin-top: 2px;\n  }\n  .step-content { flex: 1; }\n  .step-title { font-weight: 500; color: var(--text); font-size: 14px; margin-bottom: 3px; }\n  .step-desc { color: var(--text-sec); font-size: 13px; line-height: 1.6; }\n\n  .key-terms { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0; }\n  .term-card { background: var(--bg); border: 0.5px solid var(--border); border-radius: var(--radius); padding: 12px 14px; }\n  .term { font-weight: 500; color: var(--text); font-size: 13px; margin-bottom: 3px; }\n  .definition { color: var(--text-sec); font-size: 12px; line-height: 1.6; }\n\n  .nav-footer { display: flex; gap: 10px; margin-top: 40px; padding-top: 24px; border-top: 0.5px solid var(--border); }\n  .btn {\n    padding: 9px 20px; border-radius: var(--radius); font-size: 13px; font-weight: 500;\n    cursor: pointer; border: 0.5px solid var(--border-med); background: var(--bg); color: var(--text);\n    transition: all 0.15s;\n  }\n  .btn:hover { background: var(--bg-ter); }\n  .btn-primary { background: var(--green-600); color: #fff; border-color: var(--green-600); }\n  .btn-primary:hover { background: var(--green-800); border-color: var(--green-800); }\n\n  .quiz-wrap { margin-top: 8px; }\n  .quiz-q { background: var(--bg); border: 0.5px solid var(--border); border-radius: var(--radius-lg); padding: 20px; margin-bottom: 16px; }\n  .quiz-q-text { font-weight: 500; color: var(--text); font-size: 14px; margin-bottom: 14px; line-height: 1.5; }\n  .quiz-options { display: flex; flex-direction: column; gap: 8px; }\n  .quiz-opt {\n    display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px;\n    border: 0.5px solid var(--border); border-radius: var(--radius); cursor: pointer;\n    font-size: 13px; color: var(--text-sec); transition: all 0.15s; background: var(--bg-sec);\n  }\n  .quiz-opt:hover { border-color: var(--green-400); background: var(--green-50); color: var(--green-800); }\n  .quiz-opt.correct { border-color: var(--green-400); background: var(--green-50); color: var(--green-800); }\n  .quiz-opt.wrong { border-color: var(--coral-400); background: var(--coral-50); color: var(--coral-800); }\n  .quiz-opt.disabled { pointer-events: none; }\n  .quiz-opt input[type=radio] { margin-top: 2px; flex-shrink: 0; accent-color: var(--green-400); }\n  .quiz-feedback { font-size: 12px; margin-top: 10px; padding: 8px 12px; border-radius: var(--radius); display: none; }\n  .quiz-feedback.show { display: block; }\n  .feedback-correct { background: var(--green-50); color: var(--green-800); }\n  .feedback-wrong { background: var(--coral-50); color: var(--coral-800); }\n\n  .quiz-check-btn { margin-top: 12px; }\n\n  .score-card {\n    background: var(--bg); border: 0.5px solid var(--border); border-radius: var(--radius-lg);\n    padding: 32px; text-align: center; margin-top: 24px; display: none;\n  }\n  .score-card.show { display: block; }\n  .score-num { font-size: 48px; font-weight: 500; color: var(--green-400); }\n  .score-label { font-size: 14px; color: var(--text-sec); margin-top: 4px; }\n  .score-msg { margin-top: 16px; font-size: 14px; color: var(--text-sec); }\n\n  .complete-page { text-align: center; padding: 40px 20px; }\n  .complete-icon { width: 64px; height: 64px; background: var(--green-50); border-radius: 50%;\n    display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }\n  .complete-icon svg { width: 28px; height: 28px; }\n\n  .obj-list { list-style: none; margin: 12px 0; }\n  .obj-list li {\n    display: flex; align-items: flex-start; gap: 10px; padding: 7px 0;\n    border-bottom: 0.5px solid var(--border); font-size: 13px; color: var(--text-sec);\n  }\n  .obj-list li:last-child { border-bottom: none; }\n  .obj-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green-400); margin-top: 7px; flex-shrink: 0; }\n\n  .ref-list { font-size: 13px; color: var(--text-sec); }\n  .ref-item { padding: 8px 0; border-bottom: 0.5px solid var(--border); display: flex; gap: 10px; align-items: flex-start; }\n  .ref-item:last-child { border-bottom: none; }\n  .ref-num { color: var(--green-400); font-weight: 500; font-size: 12px; flex-shrink: 0; width: 20px; }\n<\/style>\n<div class=\"layout\">\n\n<nav class=\"sidebar\">\n  <div class=\"sidebar-logo\">\n    <div class=\"logo-badge\">Training Module<\/div>\n    <h1>GACP for Pharmaceutical Cannabis<\/h1>\n  <\/div>\n  <div class=\"progress-bar-wrap\">\n    <div class=\"progress-label\"><span>Progress<\/span><span id=\"prog-pct\">0%<\/span><\/div>\n    <div class=\"progress-track\"><div class=\"progress-fill\" id=\"prog-fill\" style=\"width:0%\"><\/div><\/div>\n  <\/div>\n  <div class=\"nav-section\">\n    <div class=\"nav-label\">Sections<\/div>\n    <button class=\"nav-item active\" onclick=\"goTo(0)\" id=\"nav-0\">\n      <span class=\"nav-num\" id=\"nn-0\">1<\/span> Introduction to GACP\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(1)\" id=\"nav-1\">\n      <span class=\"nav-num\" id=\"nn-1\">2<\/span> Regulatory framework\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(2)\" id=\"nav-2\">\n      <span class=\"nav-num\" id=\"nn-2\">3<\/span> Starting material\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(3)\" id=\"nav-3\">\n      <span class=\"nav-num\" id=\"nn-3\">4<\/span> Cultivation conditions\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(4)\" id=\"nav-4\">\n      <span class=\"nav-num\" id=\"nn-4\">5<\/span> Pest &amp; disease management\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(5)\" id=\"nav-5\">\n      <span class=\"nav-num\" id=\"nn-5\">6<\/span> Harvest &amp; post-harvest\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(6)\" id=\"nav-6\">\n      <span class=\"nav-num\" id=\"nn-6\">7<\/span> Documentation &amp; traceability\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(7)\" id=\"nav-7\">\n      <span class=\"nav-num\" id=\"nn-7\">8<\/span> Knowledge check\n    <\/button>\n    <button class=\"nav-item\" onclick=\"goTo(8)\" id=\"nav-8\">\n      <span class=\"nav-num\" id=\"nn-8\">9<\/span> Summary &amp; references\n    <\/button>\n  <\/div>\n<\/nav>\n\n<main class=\"main\">\n\n<!-- SECTION 0: Introduction -->\n<div class=\"section-page active\" id=\"page-0\">\n  <div class=\"page-eyebrow\">Section 1 of 9<\/div>\n  <h1 class=\"page-title\">Introduction to GACP<\/h1>\n  <p class=\"page-subtitle\">Good Agricultural and Collection Practices (GACP) form the upstream quality foundation for pharmaceutical cannabis. This module bridges your conventional pharma GMP knowledge with the agricultural discipline that governs your most critical raw material.<\/p>\n\n  <div class=\"duration-badge\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#888780\" stroke-width=\"1\"\/><path d=\"M8 5v3.5l2 1.5\" stroke=\"#888780\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>\n    Estimated reading time: 10 minutes\n  <\/div>\n\n  <h2>What is GACP?<\/h2>\n  <p>Good Agricultural and Collection Practices (GACP) is a quality framework that governs how medicinal plants are cultivated, harvested, and prepared for use as pharmaceutical starting material. For cannabis, GACP sits directly upstream of GMP \u2014 it controls the quality of the material that enters your manufacturing process.<\/p>\n  <p>In conventional pharma, your API arrives as a characterized, standardized substance from a qualified supplier. In pharmaceutical cannabis, <em>you are the API manufacturer<\/em>. The plant itself is the starting material, and GACP is the quality system that governs how you produce it.<\/p>\n\n  <div class=\"callout callout-diff\">\n    <div class=\"callout-title\">The fundamental shift from conventional pharma<\/div>\n    <p>In your previous role, API quality was an incoming material problem \u2014 supplier qualification, CoA verification, sampling. In pharmaceutical cannabis, API quality is a production problem that starts the moment a seed germinates. GACP is the system that replaces supplier qualification.<\/p>\n  <\/div>\n\n  <h2>Learning objectives<\/h2>\n  <ul class=\"obj-list\">\n    <li><span class=\"obj-dot\"><\/span>Understand the purpose and scope of GACP in the pharmaceutical cannabis supply chain<\/li>\n    <li><span class=\"obj-dot\"><\/span>Identify the key regulatory sources for GACP guidance applicable to medicinal cannabis<\/li>\n    <li><span class=\"obj-dot\"><\/span>Describe how GACP interfaces with GMP at the starting material boundary<\/li>\n    <li><span class=\"obj-dot\"><\/span>Apply GACP principles to cultivation, harvest, post-harvest, and documentation activities<\/li>\n    <li><span class=\"obj-dot\"><\/span>Recognise the critical quality attributes that GACP controls and why they matter for pharmaceutical output<\/li>\n  <\/ul>\n\n  <h2>Why GACP matters for pharmaceutical cannabis<\/h2>\n  <div class=\"card-grid\">\n    <div class=\"card\">\n      <div class=\"card-icon\" style=\"background:#EAF3DE;\">\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\"><rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" rx=\"2\" stroke=\"#3B6D11\" stroke-width=\"1.2\"\/><path d=\"M6 9h6M9 6v6\" stroke=\"#3B6D11\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><\/svg>\n      <\/div>\n      <div class=\"card-title\">Chemical variability<\/div>\n      <div class=\"card-desc\">Cultivation conditions directly determine cannabinoid and terpene profiles. Poor GACP means unpredictable API composition.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-icon\" style=\"background:#FAEEDA;\">\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\"><path d=\"M9 3L3 15h12L9 3z\" stroke=\"#854F0B\" stroke-width=\"1.2\" stroke-linejoin=\"round\"\/><path d=\"M9 10v-3M9 12.5v-.5\" stroke=\"#854F0B\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><\/svg>\n      <\/div>\n      <div class=\"card-title\">Contamination risk<\/div>\n      <div class=\"card-desc\">Pesticides, heavy metals, mycotoxins, and microbial contamination originate at the cultivation stage. GACP is the control system.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-icon\" style=\"background:#E6F1FB;\">\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\"><rect x=\"4\" y=\"2\" width=\"10\" height=\"14\" rx=\"1.5\" stroke=\"#185FA5\" stroke-width=\"1.2\"\/><path d=\"M7 6h4M7 9h4M7 12h2\" stroke=\"#185FA5\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><\/svg>\n      <\/div>\n      <div class=\"card-title\">Regulatory compliance<\/div>\n      <div class=\"card-desc\">Most markets (EU, AU, IL) require GACP compliance as a condition of pharmaceutical cannabis licensing.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-icon\" style=\"background:#FAECE7;\">\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\"><circle cx=\"9\" cy=\"9\" r=\"6\" stroke=\"#993C1D\" stroke-width=\"1.2\"\/><path d=\"M9 6v4l2.5 1.5\" stroke=\"#993C1D\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/><\/svg>\n      <\/div>\n      <div class=\"card-title\">Batch-to-batch consistency<\/div>\n      <div class=\"card-desc\">Reproducible cultivation processes are the foundation of pharmaceutical-grade batch consistency across harvests.<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn btn-primary\" onclick=\"goTo(1)\">Next section &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 1: Regulatory framework -->\n<div class=\"section-page\" id=\"page-1\">\n  <div class=\"page-eyebrow\">Section 2 of 9<\/div>\n  <h1 class=\"page-title\">Regulatory framework<\/h1>\n  <p class=\"page-subtitle\">GACP for pharmaceutical cannabis draws from multiple overlapping regulatory sources. Understanding which guidelines apply \u2014 and how they interact \u2014 is essential for building a compliant quality system.<\/p>\n\n  <div class=\"duration-badge\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#888780\" stroke-width=\"1\"\/><path d=\"M8 5v3.5l2 1.5\" stroke=\"#888780\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>\n    Estimated reading time: 12 minutes\n  <\/div>\n\n  <h2>The GACP regulatory landscape<\/h2>\n  <p>Unlike conventional pharmaceutical GMP, where ICH and regional guidance is largely harmonised, GACP for cannabis operates across multiple jurisdictions with different standards. There is currently no single globally harmonised GACP standard for cannabis \u2014 but several key documents form the practical foundation.<\/p>\n\n  <div class=\"step-list\">\n    <div class=\"step-item\">\n      <div class=\"step-num\">1<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">WHO GACP guidelines for medicinal plants (2003)<\/div>\n        <div class=\"step-desc\">The foundational international reference. Covers cultivation, wild collection, technical aspects, quality assurance, and personnel. Although published before cannabis legalisation waves, it remains the basis for most jurisdictional frameworks. Freely available from the WHO website.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">2<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">PIC\/S GACP guide for starting materials of herbal origin<\/div>\n        <div class=\"step-desc\">The Pharmaceutical Inspection Co-operation Scheme guidance directly bridges GACP and GMP. Preferred reference for facilities supplying regulated pharmaceutical markets. More operationally specific than WHO guidance, with direct GMP interface requirements.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">3<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">EU GACP guidance (HMPC\/246816\/2005)<\/div>\n        <div class=\"step-desc\">The European Medicines Agency guidance on GACP for herbal medicinal products. Closely aligned with WHO but with EU-specific requirements. Mandatory for facilities supplying EU medicinal cannabis markets.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">4<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Jurisdiction-specific cannabis regulations<\/div>\n        <div class=\"step-desc\">Each market adds its own layer: Health Canada Good Production Practices (GPP), Australian TGA regulations, Israeli MOH requirements, German BfArM standards. These build on the above and add cannabis-specific provisions.<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <h2>The GACP\u2013GMP interface: where does one end and the other begin?<\/h2>\n  <p>This is one of the most important conceptual boundaries in pharmaceutical cannabis. The GACP\/GMP boundary is defined by the point at which the plant material is converted into a defined starting material for pharmaceutical manufacture.<\/p>\n\n  <table class=\"compare-table\">\n    <tr>\n      <th>Activity<\/th><th>Governed by<\/th><th>Typical scope<\/th>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Cultivation, growth, IPM<\/td>\n      <td><span class=\"tag tag-green\">GACP<\/span><\/td>\n      <td>All operations in the grow room or greenhouse, from propagation to harvest<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Harvesting<\/td>\n      <td><span class=\"tag tag-green\">GACP<\/span><\/td>\n      <td>Timing, cutting, handling, contamination prevention at harvest point<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Drying &amp; curing<\/td>\n      <td><span class=\"tag tag-green\">GACP<\/span> \/ <span class=\"tag tag-blue\">GMP<\/span><\/td>\n      <td>May fall under either depending on jurisdiction and starting material definition<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Defined starting material<\/td>\n      <td><span class=\"tag tag-blue\">GMP boundary<\/span><\/td>\n      <td>Once dried\/milled flower or extract is defined as the starting material, GMP applies<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Extraction, formulation, packaging<\/td>\n      <td><span class=\"tag tag-blue\">GMP<\/span><\/td>\n      <td>All downstream pharmaceutical manufacturing operations<\/td>\n    <\/tr>\n  <\/table>\n\n  <div class=\"callout callout-key\">\n    <div class=\"callout-title\">Key principle: the starting material definition<\/div>\n    <p>You must formally define and document what constitutes your \"starting material\" for GMP purposes. This decision has major quality system implications and must be agreed with your regulatory authority. The most common definition for dried flower: inspected, dried, and optionally milled cannabis inflorescence meeting defined specifications.<\/p>\n  <\/div>\n\n  <h2>Dual-compliance: the unique challenge<\/h2>\n  <p>In most jurisdictions, a pharmaceutical cannabis facility faces oversight from two different regulatory bodies \u2014 an agricultural authority (governing cultivation) and a pharmaceutical authority (governing manufacturing). Building a quality system that satisfies both simultaneously is one of the most operationally challenging aspects of the role.<\/p>\n\n  <div class=\"callout callout-warning\">\n    <div class=\"callout-title\">Watch point: evolving guidance<\/div>\n    <p>Unlike conventional pharma where guidance is stable and mature, GACP cannabis regulations are actively evolving. Assign responsibility for regulatory horizon scanning and build a documented process for incorporating regulatory updates into your QMS. Do not treat this as a one-time compliance exercise.<\/p>\n  <\/div>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn\" onclick=\"goTo(0)\">&larr; Previous<\/button>\n    <button class=\"btn btn-primary\" onclick=\"goTo(2)\">Next section &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 2: Starting material -->\n<div class=\"section-page\" id=\"page-2\">\n  <div class=\"page-eyebrow\">Section 3 of 9<\/div>\n  <h1 class=\"page-title\">Starting material &amp; identity<\/h1>\n  <p class=\"page-subtitle\">In conventional pharma, your starting material arrives characterised and certified. In pharmaceutical cannabis, you create it. GACP defines how the genetic and botanical identity of your starting material must be established and maintained.<\/p>\n\n  <div class=\"duration-badge\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#888780\" stroke-width=\"1\"\/><path d=\"M8 5v3.5l2 1.5\" stroke=\"#888780\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>\n    Estimated reading time: 10 minutes\n  <\/div>\n\n  <h2>Botanical identity verification<\/h2>\n  <p>GACP requires that the botanical identity of all starting material is formally established and documented. For cannabis, this means confirming species (<em>Cannabis sativa<\/em> L.) and, critically, the specific chemovar (chemical variety) being cultivated. This is the foundation of batch-to-batch consistency.<\/p>\n\n  <div class=\"key-terms\">\n    <div class=\"term-card\">\n      <div class=\"term\">Chemovar<\/div>\n      <div class=\"definition\">A variety of cannabis defined by its chemical profile rather than morphology. Different chemovars produce different cannabinoid and terpene ratios, making selection and documentation critical for pharmaceutical consistency.<\/div>\n    <\/div>\n    <div class=\"term-card\">\n      <div class=\"term\">Phenotype<\/div>\n      <div class=\"definition\">The observable physical and chemical characteristics of a specific plant, arising from the interaction of genetics (genotype) with the growing environment. Two plants of the same chemovar may express different phenotypes under different conditions.<\/div>\n    <\/div>\n    <div class=\"term-card\">\n      <div class=\"term\">Mother plant<\/div>\n      <div class=\"definition\">A vegetatively maintained plant used as the exclusive source of cuttings\/clones for production. Preserves genetic consistency across production cycles. Mother plant management is a GACP control point.<\/div>\n    <\/div>\n    <div class=\"term-card\">\n      <div class=\"term\">Voucher specimen<\/div>\n      <div class=\"definition\">A preserved, authenticated plant specimen held as the reference standard for botanical identity. Required by WHO GACP to document the species used in production.<\/div>\n    <\/div>\n  <\/div>\n\n  <h2>Seed and propagation material controls<\/h2>\n  <p>Whether starting from seeds or vegetative cuttings, GACP requires documented controls over the origin, identity, and quality of propagation material. This is the equivalent of raw material supplier qualification in conventional pharma.<\/p>\n\n  <div class=\"step-list\">\n    <div class=\"step-item\">\n      <div class=\"step-num\">1<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Source qualification<\/div>\n        <div class=\"step-desc\">Document the origin of all seeds or cuttings. If sourcing externally, conduct supplier qualification. For in-house breeding or mother plant systems, document the genetic provenance and selection history.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">2<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Identity testing<\/div>\n        <div class=\"step-desc\">Confirm species identity using macroscopic\/microscopic examination or molecular methods (DNA fingerprinting). At minimum, record physical descriptors, growth characteristics, and expected chemical profile at the chemovar level.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">3<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Genetic stability monitoring<\/div>\n        <div class=\"step-desc\">Monitor for genetic drift over successive vegetative propagation cycles. Periodically confirm that mother plants produce cuttings with consistent phytochemical profiles. Define an acceptable number of vegetative generations before mother plant renewal.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">4<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Propagation material release<\/div>\n        <div class=\"step-desc\">Define release criteria for cuttings or seedlings before transfer to the production area. Include visual health inspection, minimum root development criteria, and freedom from visible pests or disease signs.<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"callout callout-info\">\n    <div class=\"callout-title\">Pharma analogy: starting material specification<\/div>\n    <p>Think of your chemovar documentation as the equivalent of an API monograph. It defines the botanical species, expected physical characteristics, chemical profile (cannabinoid ratios, terpene profile), and acceptable limits. Every production batch traces back to this reference specification.<\/p>\n  <\/div>\n\n  <h2>Growing medium and substrate controls<\/h2>\n  <p>The growing substrate is a direct contamination pathway for heavy metals and microbial contamination. GACP requires that all substrates used in cultivation are characterised, approved, and controlled.<\/p>\n  <p>For each substrate or soil blend, document: source and supplier, physical characteristics (pH, EC, particle size), microbiological profile, and heavy metal content. Establish approved supplier lists and periodic re-qualification requirements, exactly as you would for excipient suppliers under GMP.<\/p>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn\" onclick=\"goTo(1)\">&larr; Previous<\/button>\n    <button class=\"btn btn-primary\" onclick=\"goTo(3)\">Next section &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 3: Cultivation conditions -->\n<div class=\"section-page\" id=\"page-3\">\n  <div class=\"page-eyebrow\">Section 4 of 9<\/div>\n  <h1 class=\"page-title\">Cultivation conditions<\/h1>\n  <p class=\"page-subtitle\">Environmental conditions during cultivation are direct determinants of your final API composition. GACP requires that critical cultivation parameters are defined, controlled, monitored, and documented.<\/p>\n\n  <div class=\"duration-badge\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#888780\" stroke-width=\"1\"\/><path d=\"M8 5v3.5l2 1.5\" stroke=\"#888780\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>\n    Estimated reading time: 12 minutes\n  <\/div>\n\n  <h2>Critical environmental parameters<\/h2>\n  <p>Unlike a GMP manufacturing environment where conditions primarily affect process reproducibility, cultivation environmental parameters directly affect the chemical composition of the plant. Each parameter is both a process control and an API quality control.<\/p>\n\n  <table class=\"compare-table\">\n    <tr><th>Parameter<\/th><th>Typical range (flowering)<\/th><th>Quality impact<\/th><\/tr>\n    <tr>\n      <td class=\"label-col\">Temperature (air)<\/td>\n      <td>22\u201326\u00b0C day \/ 18\u201322\u00b0C night<\/td>\n      <td>High temps accelerate terpene volatilisation and degrade cannabinoids. Stress responses alter cannabinoid profile.<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Relative humidity<\/td>\n      <td>40\u201350% RH (late flower)<\/td>\n      <td>High RH creates botrytis risk; validated thresholds are a GMP\/GACP control boundary.<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">VPD (vapour pressure deficit)<\/td>\n      <td>1.0\u20131.5 kPa (flower)<\/td>\n      <td>Drives transpiration and nutrient uptake. Incorrect VPD causes physiological stress affecting yield and cannabinoid accumulation.<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Photoperiod<\/td>\n      <td>12h light \/ 12h dark (flower trigger)<\/td>\n      <td>Light cycle initiates and maintains flowering. Interruptions cause re-vegetative growth, destroying the batch.<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Light intensity (PPFD)<\/td>\n      <td>600\u2013900 \u00b5mol\/m\u00b2\/s<\/td>\n      <td>Higher PPFD increases cannabinoid biosynthesis up to a saturation point. Must be validated per chemovar.<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">CO\u2082 concentration<\/td>\n      <td>1000\u20131500 ppm (enriched)<\/td>\n      <td>Elevated CO\u2082 increases photosynthesis rate and yield. Must be controlled to prevent unsafe workplace levels.<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Water quality (EC, pH)<\/td>\n      <td>pH 5.8\u20136.5 \/ EC per growth stage<\/td>\n      <td>pH governs nutrient availability; heavy metal content in irrigation water is a direct contamination pathway.<\/td>\n    <\/tr>\n  <\/table>\n\n  <div class=\"callout callout-key\">\n    <div class=\"callout-title\">GACP requirement: environmental monitoring programme<\/div>\n    <p>Define critical process parameters (CPPs) for your cultivation environment, establish validated monitoring systems with calibrated sensors, set alert and action limits, and maintain continuous records. Environmental deviations must be logged, assessed for quality impact, and managed through your CAPA system \u2014 exactly as in GMP manufacturing.<\/p>\n  <\/div>\n\n  <h2>Nutrient management<\/h2>\n  <p>Fertiliser use is a direct contamination pathway for heavy metals. GACP requires that all nutrients and fertilisers are approved, documented, and controlled. Specifically:<\/p>\n  <ul class=\"obj-list\">\n    <li><span class=\"obj-dot\"><\/span>Maintain an approved input list with supplier qualification for all fertilisers and amendments<\/li>\n    <li><span class=\"obj-dot\"><\/span>Test all nutrient concentrates for heavy metal content before use<\/li>\n    <li><span class=\"obj-dot\"><\/span>Document nutrient formulations per growth stage and maintain batch records of inputs applied<\/li>\n    <li><span class=\"obj-dot\"><\/span>Establish a pre-harvest nutrient flush protocol and validate its impact on residual nutrient content<\/li>\n    <li><span class=\"obj-dot\"><\/span>Retain nutrient use records for traceability to any batch under investigation<\/li>\n  <\/ul>\n\n  <h2>Water system controls<\/h2>\n  <p>Irrigation water quality must meet defined standards for pH, electrical conductivity, microbiological content, and heavy metals. In a pharmaceutical cannabis facility, the water system should be treated with the same rigour as a GMP purified water system: qualified, routinely tested, and documented.<\/p>\n\n  <div class=\"callout callout-warning\">\n    <div class=\"callout-title\">Common gap: water system qualification<\/div>\n    <p>Many cannabis facilities treat water quality as an operational concern rather than a pharmaceutical quality control. Heavy metal contamination via irrigation water is a significant and commonly cited non-conformance in regulatory inspections. Establish water testing against a formal specification with defined limits before first use.<\/p>\n  <\/div>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn\" onclick=\"goTo(2)\">&larr; Previous<\/button>\n    <button class=\"btn btn-primary\" onclick=\"goTo(4)\">Next section &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 4: IPM -->\n<div class=\"section-page\" id=\"page-4\">\n  <div class=\"page-eyebrow\">Section 5 of 9<\/div>\n  <h1 class=\"page-title\">Pest &amp; disease management<\/h1>\n  <p class=\"page-subtitle\">Integrated Pest Management (IPM) in pharmaceutical cannabis is fundamentally different from pest control in conventional pharma environments. The threat landscape is biological, the controls are primarily biological, and failures can invalidate entire crops.<\/p>\n\n  <div class=\"duration-badge\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#888780\" stroke-width=\"1\"\/><path d=\"M8 5v3.5l2 1.5\" stroke=\"#888780\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>\n    Estimated reading time: 10 minutes\n  <\/div>\n\n  <div class=\"callout callout-diff\">\n    <div class=\"callout-title\">Critical difference from conventional pharma<\/div>\n    <p>In conventional GMP, contamination control focuses on cleanrooms, personnel, and environmental monitoring for particulates and microorganisms. In cannabis cultivation, you are managing a living crop against biological threats \u2014 insects, fungi, bacteria \u2014 using a toolkit that is mostly biological rather than chemical. This is an entirely different discipline requiring specialist knowledge.<\/p>\n  <\/div>\n\n  <h2>The IPM hierarchy under GACP<\/h2>\n  <p>GACP requires that pest and disease management follows a prioritised hierarchy that minimises chemical inputs and prioritises prevention and biological control. This is not optional \u2014 it is a regulatory requirement, and the rationale is pharmaceutical: chemical pesticide residues in the final product represent a patient safety risk.<\/p>\n\n  <div class=\"step-list\">\n    <div class=\"step-item\">\n      <div class=\"step-num\">1<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Prevention (first line of defence)<\/div>\n        <div class=\"step-desc\">Facility design (positive pressure, airlocks, clean\/dirty separation), rigorous hygiene protocols, personnel gowning, quarantine of incoming plant material, and environmental controls (VPD management against botrytis). The majority of pest and disease pressure in well-designed facilities is prevented, not treated.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">2<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Monitoring and early detection<\/div>\n        <div class=\"step-desc\">Yellow sticky traps for flying insects, regular plant inspections to defined sampling plans, environmental monitoring for fungal spore counts, and scouting protocols. Early detection allows intervention before infestation escalates to a batch-threatening level. Document all observations.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">3<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Biological control (preferred intervention)<\/div>\n        <div class=\"step-desc\">Introduction of beneficial insects and microorganisms: predatory mites (<em>Amblyseius californicus<\/em>, <em>Phytoseiulus persimilis<\/em> for spider mites), parasitic wasps (<em>Encarsia formosa<\/em> for whitefly), predatory beetles (<em>Stratiolaelaps scimitus<\/em> for fungus gnats), and microbial agents (Bacillus thuringiensis, Beauveria bassiana). These leave no chemical residues.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">4<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Approved low-residue chemical controls (last resort)<\/div>\n        <div class=\"step-desc\">Only use substances on the approved input list, confirmed to be permitted by your target market regulators. Maintain a pre-harvest interval and test for residues before release. Every chemical application must be documented: substance, rate, date, operator, treated area, and residue testing results.<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <h2>Primary threats in pharmaceutical cannabis cultivation<\/h2>\n  <div class=\"card-grid\">\n    <div class=\"card\">\n      <div class=\"card-title\" style=\"margin-bottom:6px;\">Spider mites <span class=\"tag tag-coral\" style=\"margin-left:4px;\">High risk<\/span><\/div>\n      <div class=\"card-desc\"><em>Tetranychus urticae<\/em>. Reproduce rapidly in low humidity. Cause chlorosis and yield loss. Biological control with <em>Phytoseiulus persimilis<\/em> or <em>Amblyseius californicus<\/em>.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\" style=\"margin-bottom:6px;\">Botrytis (grey mould) <span class=\"tag tag-coral\" style=\"margin-left:4px;\">High risk<\/span><\/div>\n      <div class=\"card-desc\"><em>Botrytis cinerea<\/em>. Most destructive pathogen. Favours high humidity and dense canopy. Prevention is the only viable strategy \u2014 treatment after visible symptoms is often too late.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\" style=\"margin-bottom:6px;\">Powdery mildew <span class=\"tag tag-amber\" style=\"margin-left:4px;\">Medium risk<\/span><\/div>\n      <div class=\"card-desc\"><em>Golovinomyces cichoracearum<\/em>. White powdery coating on leaves. Favours high temperature fluctuations. HEPA filtration and air circulation are primary preventive controls.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\" style=\"margin-bottom:6px;\">Fungus gnats <span class=\"tag tag-amber\" style=\"margin-left:4px;\">Medium risk<\/span><\/div>\n      <div class=\"card-desc\"><em>Bradysia<\/em> spp. Larvae damage root systems; adults spread pathogens. Controlled by substrate moisture management and <em>Stratiolaelaps scimitus<\/em>.<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"callout callout-key\">\n    <div class=\"callout-title\">GACP documentation requirement for IPM<\/div>\n    <p>Maintain an IPM logbook as part of your batch record. Record every pest observation (type, severity, location), every monitoring result, every biological or chemical intervention applied, and every residue test result. This documentation is inspected by regulators and forms part of your starting material release dossier.<\/p>\n  <\/div>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn\" onclick=\"goTo(3)\">&larr; Previous<\/button>\n    <button class=\"btn btn-primary\" onclick=\"goTo(5)\">Next section &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 5: Harvest & post-harvest -->\n<div class=\"section-page\" id=\"page-5\">\n  <div class=\"page-eyebrow\">Section 6 of 9<\/div>\n  <h1 class=\"page-title\">Harvest &amp; post-harvest handling<\/h1>\n  <p class=\"page-subtitle\">Harvest marks the transition from agricultural production to pharmaceutical starting material. Every decision from harvest timing to storage conditions has a direct impact on the quality, potency, and safety of the final product.<\/p>\n\n  <div class=\"duration-badge\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#888780\" stroke-width=\"1\"\/><path d=\"M8 5v3.5l2 1.5\" stroke=\"#888780\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>\n    Estimated reading time: 12 minutes\n  <\/div>\n\n  <h2>Harvest timing and criteria<\/h2>\n  <p>Unlike a synthetic chemical process where you harvest the product when the reaction is complete, cannabis harvest timing is a judgment call with significant quality implications. GACP requires that harvest criteria are defined, documented, and consistently applied.<\/p>\n\n  <div class=\"step-list\">\n    <div class=\"step-item\">\n      <div class=\"step-num\">1<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Define harvest criteria in a validated SOP<\/div>\n        <div class=\"step-desc\">Common criteria: trichome appearance (microscopic examination \u2014 clear, cloudy, amber ratio), pistil colour change (50\u201390% amber), days from flowering onset, and cannabinoid profile confirmation via inline or rapid testing. All criteria must be validated against your target cannabinoid specification.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">2<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Harvest planning and scheduling<\/div>\n        <div class=\"step-desc\">Harvest operations must be planned to avoid contamination between batches. Personnel must follow gowning and hygiene procedures as in GMP. All harvest equipment must be cleaned and documented between batches. Batch size and identity must be established at harvest.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">3<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">At-harvest sampling and testing<\/div>\n        <div class=\"step-desc\">Collect representative samples at harvest for potency, microbial, and visual inspection. Results from at-harvest testing may not be available before drying commences \u2014 define a conditional release procedure. Any batch failing at-harvest inspection must be placed on hold pending investigation.<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <h2>Drying and curing<\/h2>\n  <p>Post-harvest processing is where the majority of quality deterioration occurs if not properly controlled. Drying is a critical step under GACP: improper drying is the leading cause of botrytis contamination in dried flower and directly affects final moisture content, which is a pharmaceutical release parameter.<\/p>\n\n  <table class=\"compare-table\">\n    <tr><th>Parameter<\/th><th>Target range<\/th><th>Risk if uncontrolled<\/th><\/tr>\n    <tr>\n      <td class=\"label-col\">Drying temperature<\/td>\n      <td>15\u201321\u00b0C<\/td>\n      <td>High temps degrade cannabinoids and terpenes; too low prolongs drying, increasing mould risk<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Drying humidity<\/td>\n      <td>45\u201355% RH<\/td>\n      <td>Above 60% RH: botrytis and mould risk. Below 35% RH: over-drying, terpene loss<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Air circulation<\/td>\n      <td>Continuous, non-direct<\/td>\n      <td>Stagnant air: moisture pockets, uneven drying, mould. Direct airflow: trichome damage<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Final moisture content<\/td>\n      <td>8\u201312% (pharmaceutical spec)<\/td>\n      <td>Above 12%: microbial growth risk. Below 8%: brittle trichomes, degradation in storage<\/td>\n    <\/tr>\n    <tr>\n      <td class=\"label-col\">Drying duration<\/td>\n      <td>7\u201314 days (validated)<\/td>\n      <td>Must be validated per chemovar and drying load. Too fast = high moisture; too slow = degradation<\/td>\n    <\/tr>\n  <\/table>\n\n  <div class=\"callout callout-key\">\n    <div class=\"callout-title\">Validate your drying process<\/div>\n    <p>Drying is a critical step that must be validated before routine production. Validation should demonstrate that the process consistently achieves the target moisture content and does not introduce contamination, across the defined range of batch sizes and seasonal temperature\/humidity conditions in your facility.<\/p>\n  <\/div>\n\n  <h2>Storage conditions for starting material<\/h2>\n  <p>Dried cannabis starting material must be stored under defined, monitored, and documented conditions. GACP specifies that storage conditions must protect against deterioration, contamination, and mix-up. Key storage requirements:<\/p>\n  <ul class=\"obj-list\">\n    <li><span class=\"obj-dot\"><\/span>Temperature-controlled environment with continuous monitoring and alarm systems<\/li>\n    <li><span class=\"obj-dot\"><\/span>Humidity-controlled storage (typically &lt;50% RH) with validated airtight primary packaging<\/li>\n    <li><span class=\"obj-dot\"><\/span>Light exclusion (cannabinoids degrade under UV) \u2014 amber or opaque containers<\/li>\n    <li><span class=\"obj-dot\"><\/span>Quarantine area for released vs. unreleased material \u2014 physical segregation or validated electronic controls<\/li>\n    <li><span class=\"obj-dot\"><\/span>Re-test period defined and implemented based on stability data<\/li>\n    <li><span class=\"obj-dot\"><\/span>FIFO (first in, first out) stock rotation procedures documented and audited<\/li>\n  <\/ul>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn\" onclick=\"goTo(4)\">&larr; Previous<\/button>\n    <button class=\"btn btn-primary\" onclick=\"goTo(6)\">Next section &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 6: Documentation -->\n<div class=\"section-page\" id=\"page-6\">\n  <div class=\"page-eyebrow\">Section 7 of 9<\/div>\n  <h1 class=\"page-title\">Documentation &amp; traceability<\/h1>\n  <p class=\"page-subtitle\">Pharmaceutical-grade GACP documentation goes far beyond a cultivation log. It creates an unbroken chain of evidence connecting each gram of finished product back to the seed, the soil, and every environmental event during its growth.<\/p>\n\n  <div class=\"duration-badge\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 16 16\" fill=\"none\"><circle cx=\"8\" cy=\"8\" r=\"6.5\" stroke=\"#888780\" stroke-width=\"1\"\/><path d=\"M8 5v3.5l2 1.5\" stroke=\"#888780\" stroke-width=\"1\" stroke-linecap=\"round\"\/><\/svg>\n    Estimated reading time: 10 minutes\n  <\/div>\n\n  <h2>The GACP batch record<\/h2>\n  <p>The cultivation batch record is the primary GACP document. It is the agricultural equivalent of the pharmaceutical manufacturing batch record \u2014 a contemporaneous account of everything that happened to a defined batch of plant material from propagation to starting material release.<\/p>\n\n  <div class=\"card-grid\">\n    <div class=\"card\">\n      <div class=\"card-title\">Batch identification<\/div>\n      <div class=\"card-desc\">Unique batch number, chemovar identity, grow room\/zone identifier, cultivation cycle number, planting date, and planned harvest date.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\">Environmental record<\/div>\n      <div class=\"card-desc\">Daily temperature, humidity, VPD, light hours, CO\u2082 levels. Any deviations from setpoints with investigation and disposition.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\">Input record<\/div>\n      <div class=\"card-desc\">All nutrients, water volumes, substrate amendments applied. Dates, quantities, operators. Supplier lot numbers for all inputs.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\">IPM record<\/div>\n      <div class=\"card-desc\">All pest\/disease observations, monitoring results, biological agent applications, and any chemical interventions with residue test results.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\">Harvest record<\/div>\n      <div class=\"card-desc\">Harvest date, criteria met, operators, gross yield, sampling results. Transfer record to drying facility with batch identity maintained.<\/div>\n    <\/div>\n    <div class=\"card\">\n      <div class=\"card-title\">Post-harvest record<\/div>\n      <div class=\"card-desc\">Drying conditions (daily), drying duration, final moisture content measurement, net yield after drying, storage conditions and location.<\/div>\n    <\/div>\n  <\/div>\n\n  <h2>Seed-to-sale traceability<\/h2>\n  <p>Pharmaceutical cannabis is a controlled narcotic substance. Traceability is therefore not only a GACP quality requirement but a legal obligation under narcotic regulations. Every gram must be accounted for from propagation through to final product or destruction.<\/p>\n\n  <div class=\"step-list\">\n    <div class=\"step-item\">\n      <div class=\"step-num\">1<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Propagation tracking<\/div>\n        <div class=\"step-desc\">Record the number of cuttings taken, their mother plant batch identity, and propagation room assignment. Account for any losses during propagation with documented reasons.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">2<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Production tracking<\/div>\n        <div class=\"step-desc\">Track plant count per grow room per batch. Record any plant removals (diseased, damaged) with weight and disposition. Net plant count and estimated biomass at each growth stage.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">3<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Yield reconciliation<\/div>\n        <div class=\"step-desc\">At harvest: gross wet weight, trim weight, stalk weight, waste weight. After drying: dry weight. Reconcile drying yield ratio against historical data. Unexplained discrepancies must be investigated and reported to the narcotic authority.<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"step-item\">\n      <div class=\"step-num\">4<\/div>\n      <div class=\"step-content\">\n        <div class=\"step-title\">Waste and destruction records<\/div>\n        <div class=\"step-desc\">All cannabis waste (trim, rejected batches, floor sweepings) must be weighed, recorded, and destroyed using an approved method with witnessed and signed destruction records. Maintain destruction logs for regulatory inspection.<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <h2>Personnel qualifications under GACP<\/h2>\n  <p>GACP requires that all personnel involved in cultivation operations are adequately trained and their qualifications documented. This mirrors GMP personnel requirements but applies to agricultural roles that may be unfamiliar with pharmaceutical documentation culture.<\/p>\n\n  <div class=\"callout callout-key\">\n    <div class=\"callout-title\">Training the cultivation team<\/div>\n    <p>Your cultivation technicians likely come from horticultural or agricultural backgrounds, not pharmaceutical. Invest significant effort in building pharmaceutical documentation culture \u2014 contemporaneous record-keeping, \"if it's not written down it didn't happen\", deviation reporting, and understanding why records matter. This culture gap is the single most common source of GACP non-conformances in inspections.<\/p>\n  <\/div>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn\" onclick=\"goTo(5)\">&larr; Previous<\/button>\n    <button class=\"btn btn-primary\" onclick=\"goTo(7)\">Knowledge check &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 7: Quiz -->\n<div class=\"section-page\" id=\"page-7\">\n  <div class=\"page-eyebrow\">Section 8 of 9<\/div>\n  <h1 class=\"page-title\">Knowledge check<\/h1>\n  <p class=\"page-subtitle\">Test your understanding of the key GACP principles covered in this module. Select the best answer for each question, then review the feedback before moving to the next.<\/p>\n\n  <div class=\"quiz-wrap\" id=\"quiz-wrap\">\n\n    <div class=\"quiz-q\" id=\"q1\">\n      <div class=\"quiz-q-text\">1. In a pharmaceutical cannabis facility, the GACP framework is best understood as the equivalent of which conventional pharma process?<\/div>\n      <div class=\"quiz-options\">\n        <label class=\"quiz-opt\" data-q=\"1\" data-val=\"a\"><input type=\"radio\" name=\"q1\" value=\"a\"> Environmental monitoring in GMP manufacturing<\/label>\n        <label class=\"quiz-opt\" data-q=\"1\" data-val=\"b\"><input type=\"radio\" name=\"q1\" value=\"b\"> API supplier qualification and incoming material controls<\/label>\n        <label class=\"quiz-opt\" data-q=\"1\" data-val=\"c\"><input type=\"radio\" name=\"q1\" value=\"c\"> Finished product release testing<\/label>\n        <label class=\"quiz-opt\" data-q=\"1\" data-val=\"d\"><input type=\"radio\" name=\"q1\" value=\"d\"> Cleanroom classification and monitoring<\/label>\n      <\/div>\n      <button class=\"btn quiz-check-btn\" onclick=\"checkQ(1,'b','In conventional pharma, your API arrives from a qualified supplier with defined specifications. In cannabis, you grow the API \u2014 so GACP is the system that controls starting material quality, directly replacing supplier qualification.')\">Check answer<\/button>\n      <div class=\"quiz-feedback\" id=\"fb1\"><\/div>\n    <\/div>\n\n    <div class=\"quiz-q\" id=\"q2\">\n      <div class=\"quiz-q-text\">2. A cultivation technician observes a small cluster of spider mites on two plants in the flowering room. According to the IPM hierarchy required by GACP, what should happen first?<\/div>\n      <div class=\"quiz-options\">\n        <label class=\"quiz-opt\" data-q=\"2\" data-val=\"a\"><input type=\"radio\" name=\"q2\" value=\"a\"> Apply an approved acaricide immediately to prevent spread<\/label>\n        <label class=\"quiz-opt\" data-q=\"2\" data-val=\"b\"><input type=\"radio\" name=\"q2\" value=\"b\"> Document the observation and introduce predatory mites as biological control<\/label>\n        <label class=\"quiz-opt\" data-q=\"2\" data-val=\"c\"><input type=\"radio\" name=\"q2\" value=\"c\"> Isolate and destroy the affected plants to protect the batch<\/label>\n        <label class=\"quiz-opt\" data-q=\"2\" data-val=\"d\"><input type=\"radio\" name=\"q2\" value=\"d\"> Increase air circulation and reduce humidity to stress the mite population<\/label>\n      <\/div>\n      <button class=\"btn quiz-check-btn\" onclick=\"checkQ(2,'b','GACP requires a prioritised IPM approach: prevention first, then biological control before chemical intervention. Documenting the observation and deploying predatory mites (e.g. Phytoseiulus persimilis) is the correct first intervention \u2014 it leaves no chemical residues and follows the GACP hierarchy.')\">Check answer<\/button>\n      <div class=\"quiz-feedback\" id=\"fb2\"><\/div>\n    <\/div>\n\n    <div class=\"quiz-q\" id=\"q3\">\n      <div class=\"quiz-q-text\">3. What is a \"chemovar\" in the context of pharmaceutical cannabis starting material?<\/div>\n      <div class=\"quiz-options\">\n        <label class=\"quiz-opt\" data-q=\"3\" data-val=\"a\"><input type=\"radio\" name=\"q3\" value=\"a\"> A variety of cannabis defined by its physical growth characteristics<\/label>\n        <label class=\"quiz-opt\" data-q=\"3\" data-val=\"b\"><input type=\"radio\" name=\"q3\" value=\"b\"> A chemical analysis method used to test cannabinoid content<\/label>\n        <label class=\"quiz-opt\" data-q=\"3\" data-val=\"c\"><input type=\"radio\" name=\"q3\" value=\"c\"> A variety defined by its characteristic chemical (cannabinoid and terpene) profile<\/label>\n        <label class=\"quiz-opt\" data-q=\"3\" data-val=\"d\"><input type=\"radio\" name=\"q3\" value=\"d\"> A regulatory classification used to define THC content limits<\/label>\n      <\/div>\n      <button class=\"btn quiz-check-btn\" onclick=\"checkQ(3,'c','A chemovar (chemical variety) is defined by its phytochemical profile \u2014 the ratios of cannabinoids and terpenes it produces. This is distinct from morphological variety and is the pharmaceutical-relevant identity characteristic, since it defines what your API will contain.')\">Check answer<\/button>\n      <div class=\"quiz-feedback\" id=\"fb3\"><\/div>\n    <\/div>\n\n    <div class=\"quiz-q\" id=\"q4\">\n      <div class=\"quiz-q-text\">4. The drying stage of cannabis post-harvest falls under GACP requirements. Which of the following best describes the primary pharmaceutical quality risk if drying humidity is not controlled?<\/div>\n      <div class=\"quiz-options\">\n        <label class=\"quiz-opt\" data-q=\"4\" data-val=\"a\"><input type=\"radio\" name=\"q4\" value=\"a\"> Loss of trichomes reducing visual appearance of the product<\/label>\n        <label class=\"quiz-opt\" data-q=\"4\" data-val=\"b\"><input type=\"radio\" name=\"q4\" value=\"b\"> Microbial contamination from botrytis if RH exceeds safe limits<\/label>\n        <label class=\"quiz-opt\" data-q=\"4\" data-val=\"c\"><input type=\"radio\" name=\"q4\" value=\"c\"> Increased THC content due to accelerated decarboxylation<\/label>\n        <label class=\"quiz-opt\" data-q=\"4\" data-val=\"d\"><input type=\"radio\" name=\"q4\" value=\"d\"> Loss of batch identity due to moisture-damaged labelling<\/label>\n      <\/div>\n      <button class=\"btn quiz-check-btn\" onclick=\"checkQ(4,'b','Above approximately 60% RH during drying, Botrytis cinerea (grey mould) risk increases significantly. Botrytis is the most destructive pathogen in cannabis drying \u2014 it can render an entire batch unreleasable due to mycotoxin contamination and microbial count exceedances. Humidity control during drying is a critical pharmaceutical quality control point.')\">Check answer<\/button>\n      <div class=\"quiz-feedback\" id=\"fb4\"><\/div>\n    <\/div>\n\n    <div class=\"quiz-q\" id=\"q5\">\n      <div class=\"quiz-q-text\">5. Which of the following most accurately describes the GACP\/GMP boundary in a pharmaceutical cannabis facility?<\/div>\n      <div class=\"quiz-options\">\n        <label class=\"quiz-opt\" data-q=\"5\" data-val=\"a\"><input type=\"radio\" name=\"q5\" value=\"a\"> GACP applies to outdoor growing only; indoor cultivation falls under GMP<\/label>\n        <label class=\"quiz-opt\" data-q=\"5\" data-val=\"b\"><input type=\"radio\" name=\"q5\" value=\"b\"> GACP governs operations up to and including production of the defined starting material; GMP governs all downstream pharmaceutical manufacture<\/label>\n        <label class=\"quiz-opt\" data-q=\"5\" data-val=\"c\"><input type=\"radio\" name=\"q5\" value=\"c\"> GACP is a voluntary standard; GMP is the only legally required framework for pharmaceutical cannabis<\/label>\n        <label class=\"quiz-opt\" data-q=\"5\" data-val=\"d\"><input type=\"radio\" name=\"q5\" value=\"d\"> The GACP\/GMP boundary is fixed at the point of harvest for all jurisdictions globally<\/label>\n      <\/div>\n      <button class=\"btn quiz-check-btn\" onclick=\"checkQ(5,'b','The GACP\/GMP boundary is defined by the formal definition of the starting material \u2014 the point at which the plant material becomes a defined pharmaceutical starting material (typically dried, inspected flower or extract). Everything upstream is GACP; everything downstream is GMP. The exact boundary point must be agreed with the regulatory authority and documented in the quality system.')\">Check answer<\/button>\n      <div class=\"quiz-feedback\" id=\"fb5\"><\/div>\n    <\/div>\n\n    <div class=\"quiz-q\" id=\"q6\">\n      <div class=\"quiz-q-text\">6. A cultivation batch record under GACP should contain all of the following EXCEPT:<\/div>\n      <div class=\"quiz-options\">\n        <label class=\"quiz-opt\" data-q=\"6\" data-val=\"a\"><input type=\"radio\" name=\"q6\" value=\"a\"> Daily environmental monitoring data with any deviations and their disposition<\/label>\n        <label class=\"quiz-opt\" data-q=\"6\" data-val=\"b\"><input type=\"radio\" name=\"q6\" value=\"b\"> All nutrients and inputs applied with supplier lot numbers<\/label>\n        <label class=\"quiz-opt\" data-q=\"6\" data-val=\"c\"><input type=\"radio\" name=\"q6\" value=\"c\"> The sales price and commercial destination of the batch<\/label>\n        <label class=\"quiz-opt\" data-q=\"6\" data-val=\"d\"><input type=\"radio\" name=\"q6\" value=\"d\"> IPM observations, interventions, and residue test results<\/label>\n      <\/div>\n      <button class=\"btn quiz-check-btn\" onclick=\"checkQ(6,'c','Commercial and sales information does not belong in a GACP batch record. Batch records document quality-relevant information: environmental conditions, inputs, IPM activities, harvest data, and testing results. Sales and commercial data is managed separately in business systems.')\">Check answer<\/button>\n      <div class=\"quiz-feedback\" id=\"fb6\"><\/div>\n    <\/div>\n\n  <\/div>\n\n  <div class=\"score-card\" id=\"score-card\">\n    <div class=\"score-num\" id=\"score-num\">\u2013<\/div>\n    <div class=\"score-label\">questions answered correctly<\/div>\n    <div class=\"score-msg\" id=\"score-msg\"><\/div>\n    <div style=\"margin-top:20px;display:flex;justify-content:center;gap:10px;\">\n      <button class=\"btn\" onclick=\"resetQuiz()\">Retry quiz<\/button>\n      <button class=\"btn btn-primary\" onclick=\"goTo(8)\">View summary &rarr;<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"nav-footer\" id=\"quiz-nav-footer\" style=\"display:none;\">\n    <button class=\"btn\" onclick=\"goTo(6)\">&larr; Previous<\/button>\n    <button class=\"btn btn-primary\" onclick=\"goTo(8)\">Summary &rarr;<\/button>\n  <\/div>\n<\/div>\n\n<!-- SECTION 8: Summary -->\n<div class=\"section-page\" id=\"page-8\">\n  <div class=\"page-eyebrow\">Section 9 of 9<\/div>\n  <h1 class=\"page-title\">Summary &amp; key references<\/h1>\n  <p class=\"page-subtitle\">Congratulations on completing the GACP module. Here is a consolidated summary of the core principles and the essential reference documents for your continued learning.<\/p>\n\n  <div class=\"complete-page\">\n    <div class=\"complete-icon\">\n      <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n        <circle cx=\"14\" cy=\"14\" r=\"12\" stroke=\"#3B6D11\" stroke-width=\"1.5\"\/>\n        <path d=\"M8 14l4 4 8-8\" stroke=\"#3B6D11\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n      <\/svg>\n    <\/div>\n    <p style=\"font-size:16px;font-weight:500;color:var(--text);\">Module complete<\/p>\n    <p style=\"font-size:14px;color:var(--text-sec);margin-top:4px;\">GACP for pharmaceutical cannabis<\/p>\n  <\/div>\n\n  <h2>Core principles \u2014 what to remember<\/h2>\n  <div class=\"callout callout-key\">\n    <div class=\"callout-title\">1. You are the API manufacturer<\/div>\n    <p>GACP is not agricultural housekeeping \u2014 it is pharmaceutical quality management applied to a living production system. Every cultivation decision is an API quality decision.<\/p>\n  <\/div>\n  <div class=\"callout callout-info\">\n    <div class=\"callout-title\">2. The GACP\/GMP boundary must be formally defined<\/div>\n    <p>Define your starting material, agree it with your regulatory authority, and build your quality system around that boundary. Ambiguity here creates compliance risk.<\/p>\n  <\/div>\n  <div class=\"callout callout-warning\">\n    <div class=\"callout-title\">3. Biological variability requires statistical thinking<\/div>\n    <p>No two harvests are identical. Build specifications and release criteria that accommodate natural biological variation while maintaining pharmaceutical quality. Rigid synthetic pharma tolerances applied to botanical material will generate unnecessary OOS investigations.<\/p>\n  <\/div>\n  <div class=\"callout callout-diff\">\n    <div class=\"callout-title\">4. Documentation culture is your biggest implementation challenge<\/div>\n    <p>The people who grow the plants often come from agricultural backgrounds without pharmaceutical documentation instincts. Training and embedding documentation culture in the cultivation team is as important as the technical training itself.<\/p>\n  <\/div>\n\n  <h2>Essential references<\/h2>\n  <div class=\"ref-list\">\n    <div class=\"ref-item\">\n      <div class=\"ref-num\">01<\/div>\n      <div>WHO guidelines on good agricultural and collection practices (GACP) for medicinal plants. World Health Organization, 2003. Free download: who.int<\/div>\n    <\/div>\n    <div class=\"ref-item\">\n      <div class=\"ref-num\">02<\/div>\n      <div>PIC\/S guidance on good practices for the preparation of medicinal products in healthcare establishments (PE 010-4) \u2014 Annex on starting materials of herbal origin. Available: picscheme.org<\/div>\n    <\/div>\n    <div class=\"ref-item\">\n      <div class=\"ref-num\">03<\/div>\n      <div>EMA\/HMPC guideline on good agricultural and collection practice (GACP) for starting materials of herbal origin (EMEA\/HMPC\/246816\/2005). Available: ema.europa.eu<\/div>\n    <\/div>\n    <div class=\"ref-item\">\n      <div class=\"ref-num\">04<\/div>\n      <div>EU guidelines for good manufacturing practice for medicinal products for human and veterinary use \u2014 Annex 7: Manufacture of herbal medicinal products. European Commission, eudralex Vol 4. Available: ec.europa.eu\/health\/documents\/eudralex<\/div>\n    <\/div>\n    <div class=\"ref-item\">\n      <div class=\"ref-num\">05<\/div>\n      <div>ICH Q7: Good manufacturing practice guide for active pharmaceutical ingredients. International Council for Harmonisation. Available: ich.org<\/div>\n    <\/div>\n    <div class=\"ref-item\">\n      <div class=\"ref-num\">06<\/div>\n      <div>ISPE Cannabis Community of Practice resources and guidance documents. Available: ispe.org\/communities\/cannabis<\/div>\n    <\/div>\n  <\/div>\n\n  <h2>Suggested next modules<\/h2>\n  <div class=\"card-grid\" style=\"margin-top:12px;\">\n    <div class=\"card\" style=\"cursor:pointer;\" onclick=\"sendPrompt('Create a learning module for Cannabis Analytical Science and CoA literacy for a Head of Production')\">\n      <div class=\"card-title\">Cannabis analytical science &amp; CoA literacy<\/div>\n      <div class=\"card-desc\">Cannabinoid profiling, terpene analysis, pesticide panels, and reading complex certificates of analysis. Generate module &rarr;<\/div>\n    <\/div>\n    <div class=\"card\" style=\"cursor:pointer;\" onclick=\"sendPrompt('Create a learning module on cannabis extraction technology including CO2, ethanol, and decarboxylation for a Head of Production')\">\n      <div class=\"card-title\">Extraction technology<\/div>\n      <div class=\"card-desc\">CO\u2082 extraction, ethanol extraction, decarboxylation, and distillation principles for a pharmaceutical cannabis Head of Production. Generate module &rarr;<\/div>\n    <\/div>\n    <div class=\"card\" style=\"cursor:pointer;\" onclick=\"sendPrompt('Create a learning module on pharmaceutical cannabis regulatory landscape and dual-compliance for a Head of Production')\">\n      <div class=\"card-title\">Regulatory landscape &amp; dual compliance<\/div>\n      <div class=\"card-desc\">EU-GMP, GACP, narcotic controls, and jurisdiction-specific requirements for global pharmaceutical cannabis markets. Generate module &rarr;<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"nav-footer\">\n    <button class=\"btn\" onclick=\"goTo(7)\">&larr; Knowledge check<\/button>\n  <\/div>\n<\/div>\n\n<\/main>\n<\/div>\n\n<script>\nconst TOTAL = 9;\nlet visited = new Array(TOTAL).fill(false);\nlet answers = {};\nlet checks = {};\nvisited[0] = true;\n\nfunction goTo(n) {\n  document.querySelectorAll('.section-page').forEach((p,i) => p.classList.toggle('active', i===n));\n  document.querySelectorAll('.nav-item').forEach((el,i) => el.classList.toggle('active', i===n));\n  visited[n] = true;\n  updateProgress();\n  window.scrollTo(0,0);\n}\n\nfunction updateProgress() {\n  const count = visited.filter(Boolean).length;\n  const pct = Math.round((count \/ TOTAL) * 100);\n  document.getElementById('prog-fill').style.width = pct + '%';\n  document.getElementById('prog-pct').textContent = pct + '%';\n  for (let i = 0; i < TOTAL; i++) {\n    const nn = document.getElementById('nn-' + i);\n    if (visited[i] && i !== getCurrentActive()) {\n      nn.innerHTML = '<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\"><path d=\"M2 5l2.5 2.5L8 3\" stroke=\"#639922\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>';\n      document.getElementById('nav-' + i).classList.add('completed');\n    }\n  }\n}\n\nfunction getCurrentActive() {\n  for (let i = 0; i < TOTAL; i++) {\n    if (document.getElementById('page-' + i).classList.contains('active')) return i;\n  }\n  return 0;\n}\n\nconst correctAnswers = { 1:'b', 2:'b', 3:'c', 4:'b', 5:'b', 6:'c' };\nconst explanations = {};\n\nfunction checkQ(qNum, correct, explanation) {\n  if (checks[qNum]) return;\n  const selected = document.querySelector(`input[name=\"q${qNum}\"]:checked`);\n  if (!selected) return;\n  const val = selected.value;\n  checks[qNum] = true;\n  answers[qNum] = val === correct;\n\n  document.querySelectorAll(`[data-q=\"${qNum}\"]`).forEach(opt => {\n    opt.classList.add('disabled');\n    if (opt.dataset.val === correct) opt.classList.add('correct');\n    else if (opt.dataset.val === val && val !== correct) opt.classList.add('wrong');\n  });\n\n  const fb = document.getElementById('fb' + qNum);\n  fb.textContent = (val === correct ? 'Correct. ' : 'Incorrect. ') + explanation;\n  fb.className = 'quiz-feedback show ' + (val === correct ? 'feedback-correct' : 'feedback-wrong');\n\n  const btn = document.querySelector(`#q${qNum} .quiz-check-btn`);\n  if (btn) btn.style.display = 'none';\n\n  if (Object.keys(checks).length === 6) showScore();\n}\n\nfunction showScore() {\n  const correct = Object.values(answers).filter(Boolean).length;\n  const sc = document.getElementById('score-card');\n  sc.classList.add('show');\n  document.getElementById('score-num').textContent = correct + '\/6';\n  const msgs = [\n    'Review the sections above before continuing.',\n    'Good start \u2014 review the sections where you were unsure.',\n    'Solid understanding of the core concepts.',\n    'Strong grasp of GACP fundamentals.',\n    'Excellent \u2014 you are ready to apply these principles in practice.',\n    'Outstanding \u2014 full command of the GACP framework.',\n    'Perfect score \u2014 exceptional understanding.'\n  ];\n  document.getElementById('score-msg').textContent = msgs[correct] || msgs[6];\n  document.getElementById('quiz-nav-footer').style.display = 'flex';\n}\n\nfunction resetQuiz() {\n  checks = {}; answers = {};\n  document.querySelectorAll('.quiz-opt').forEach(o => { o.className = 'quiz-opt'; });\n  document.querySelectorAll('input[type=radio]').forEach(r => r.checked = false);\n  document.querySelectorAll('.quiz-feedback').forEach(f => { f.className = 'quiz-feedback'; f.textContent = ''; });\n  document.querySelectorAll('.quiz-check-btn').forEach(b => b.style.display = '');\n  document.getElementById('score-card').classList.remove('show');\n  document.getElementById('quiz-nav-footer').style.display = 'none';\n}\n<\/script><\/div>\n\n\n<div class=\"ptm-complete-return\"><a class=\"ptm-return-submit\" href=\"https:\/\/flowise.gr\/wp-login.php?redirect_to=https%3A%2F%2Fflowise.gr%2Findex.php%2Fgacp-good-agricultural-collection-practices%2F\">Log in to save progress<\/a><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","footnotes":""},"class_list":["post-1130","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages\/1130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/comments?post=1130"}],"version-history":[{"count":3,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages\/1130\/revisions"}],"predecessor-version":[{"id":1144,"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/pages\/1130\/revisions\/1144"}],"wp:attachment":[{"href":"https:\/\/flowise.gr\/index.php\/wp-json\/wp\/v2\/media?parent=1130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}