{"id":1142,"date":"2026-07-28T16:52:07","date_gmt":"2026-07-28T16:52:07","guid":{"rendered":"https:\/\/healomax.com\/training\/?page_id=1142"},"modified":"2026-07-29T09:33:07","modified_gmt":"2026-07-29T09:33:07","slug":"dcsa-gap-analysis","status":"publish","type":"page","link":"https:\/\/healomax.com\/training\/dcsa-gap-analysis\/","title":{"rendered":"DCSA Gap Analysis"},"content":{"rendered":"    <style>\n        .dcsagapanalyse-wrapper {\n            --navy: #080f1e; --navy-1: #0d1829; --navy-2: #121f35; --navy-3: #182640; --navy-4: #1e3055;\n            --gold: #c5a84e; --gold-l: #dfc07a; --gold-d: #9e8239; --gold-bg: rgba(197,168,78,0.08);\n            --cream: #f5f0e8; --cream-d: #e8e0d0;\n            --text-dim: #5a6e8a; --text-mid: #8a9db8; --text-bright: #c8d4e3;\n            --border: rgba(197,168,78,0.2); --border-dim: rgba(138,157,184,0.12);\n            --green: #27855a; --green-l: rgba(39,133,90,0.15);\n            --amber: #c5870a; --amber-l: rgba(197,135,10,0.15);\n            --red: #9e2e25; --red-l: rgba(158,46,37,0.15);\n            --r: 12px;\n            \n            background: var(--navy); color: var(--cream);\n            font-family: 'DM Sans', -apple-system, sans-serif;\n            max-width: 600px; margin: 0 auto; border-radius: var(--r);\n            overflow: hidden; border: 1px solid var(--border);\n            box-shadow: 0 10px 40px rgba(0,0,0,0.5);\n            display: flex; flex-direction: column; min-height: 80vh;\n            position: relative;\n        }\n        .dcsagapanalyse-wrapper * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }\n        \n        .dcsagapanalyse-topbar { background: var(--navy-1); border-bottom: 1px solid var(--border); padding: 0 20px; height: 56px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; position: sticky; top: 0; z-index: 100; }\n        .dcsagapanalyse-brand { display: flex; align-items: center; gap: 12px; }\n        .dcsagapanalyse-brand-logo { width: 30px; height: 30px; border: 1.5px solid var(--gold); border-radius: 4px; display: flex; align-items: center; justify-content: center; font-family: 'Cormorant Garamond', serif; font-size: 14px; font-weight: 700; color: var(--gold); letter-spacing: 0.05em; flex-shrink: 0; }\n        .dcsagapanalyse-brand-name { font-family: 'Cormorant Garamond', serif; font-size: 16px; font-weight: 600; color: var(--cream); letter-spacing: 0.04em; }\n        .dcsagapanalyse-brand-name span { color: var(--gold); }\n        .dcsagapanalyse-topbar-tag { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-dim); }\n\n        .dcsagapanalyse-progress-wrap { background: var(--navy-1); border-bottom: 1px solid var(--border-dim); padding: 14px 20px; flex-shrink: 0; }\n        .dcsagapanalyse-progress-labels { display: flex; justify-content: space-between; margin-bottom: 8px; }\n        .dcsagapanalyse-progress-label { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-dim); transition: color 0.3s; flex: 1; text-align: center; }\n        .dcsagapanalyse-progress-label.active { color: var(--gold); }\n        .dcsagapanalyse-progress-label.done { color: var(--green); }\n        .dcsagapanalyse-progress-bar-track { height: 3px; background: var(--navy-4); border-radius: 2px; overflow: hidden; }\n        .dcsagapanalyse-progress-bar-fill { height: 100%; background: linear-gradient(90deg, var(--gold-d), var(--gold)); border-radius: 2px; transition: width 0.5s cubic-bezier(0.4,0,0.2,1); }\n\n        .dcsagapanalyse-main { flex: 1; overflow-y: auto; padding: 24px 20px 100px; }\n        .dcsagapanalyse-step { display: none; animation: dcsagapanalyse_stepIn 0.3s ease; }\n        .dcsagapanalyse-step.active { display: block; }\n        @keyframes dcsagapanalyse_stepIn { from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:translateY(0)} }\n\n        .dcsagapanalyse-step-header { margin-bottom: 24px; }\n        .dcsagapanalyse-step-eyebrow { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; }\n        .dcsagapanalyse-step-title { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 600; color: var(--cream); line-height: 1.2; margin-bottom: 8px; }\n        .dcsagapanalyse-step-desc { font-size: 13px; color: var(--text-mid); line-height: 1.6; margin-bottom: 12px; }\n        .dcsagapanalyse-disclaimer-tag { display: block; background: var(--amber-l); border: 1px solid rgba(197,135,10,0.3); border-radius: 6px; padding: 8px 12px; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--amber); line-height: 1.5; }\n\n        .dcsagapanalyse-card { background: var(--navy-2); border: 1px solid var(--border-dim); border-radius: var(--r); padding: 20px; margin-bottom: 16px; }\n        .dcsagapanalyse-card-title { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }\n\n        .dcsagapanalyse-field { margin-bottom: 16px; }\n        .dcsagapanalyse-field-label { display: block; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-mid); margin-bottom: 6px; }\n        .dcsagapanalyse-field-label .req { color: var(--gold); }\n        .dcsagapanalyse-field-input, .dcsagapanalyse-field-select { width: 100%; background: var(--navy-3); border: 1px solid var(--border-dim); border-radius: 8px; padding: 13px 16px; font-family: 'DM Sans', sans-serif; font-size: 15px; color: var(--cream); outline: none; transition: border-color 0.2s; -webkit-appearance: none; }\n        .dcsagapanalyse-field-input:focus, .dcsagapanalyse-field-select:focus { border-color: var(--gold); }\n        .dcsagapanalyse-field-input::placeholder { color: var(--text-dim); }\n        .dcsagapanalyse-field-input.error { border-color: var(--red); }\n        .dcsagapanalyse-field-select { appearance: none; background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a9db8' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\"); background-repeat: no-repeat; background-position: right 16px center; cursor: pointer; }\n        .dcsagapanalyse-field-select option { background: var(--navy-2); }\n\n        .dcsagapanalyse-type-card-full { background: var(--navy-2); border: 1px solid var(--border-dim); border-radius: var(--r); padding: 18px; margin-bottom: 14px; transition: border-color 0.2s; }\n        .dcsagapanalyse-type-card-full:focus-within { border-color: var(--gold); }\n        .dcsagapanalyse-type-card-header { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }\n        .dcsagapanalyse-type-badge { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; font-size: 16px; font-weight: 700; font-family: 'Cormorant Garamond', serif; flex-shrink: 0; }\n        .dcsagapanalyse-type-badge.D { background: rgba(158,46,37,0.2); color: #e06055; }\n        .dcsagapanalyse-type-badge.C { background: rgba(39,133,90,0.2); color: #4db88a; }\n        .dcsagapanalyse-type-badge.S { background: rgba(197,168,78,0.2); color: var(--gold); }\n        .dcsagapanalyse-type-badge.A { background: rgba(59,130,200,0.2); color: #6bb4e8; }\n        .dcsagapanalyse-type-card-header > div:nth-child(2) { flex: 1; }\n        .dcsagapanalyse-type-name-full { font-size: 15px; font-weight: 600; color: var(--cream); margin-bottom: 2px; }\n        .dcsagapanalyse-type-label-full { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-dim); }\n        .dcsagapanalyse-type-count-wrap { display: flex; flex-direction: column; align-items: center; gap: 3px; }\n        .dcsagapanalyse-type-input { width: 60px; background: var(--navy-4); border: 1px solid var(--border-dim); border-radius: 6px; padding: 10px; font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 600; color: var(--cream); text-align: center; outline: none; -webkit-appearance: none; transition: 0.2s; }\n        .dcsagapanalyse-type-input:focus { border-color: var(--gold); }\n        .dcsagapanalyse-type-count-label { font-size: 9px; color: var(--text-dim); letter-spacing: 0.06em; text-transform: uppercase; }\n        .dcsagapanalyse-type-behaviors { display: flex; flex-direction: column; gap: 6px; padding-top: 12px; border-top: 1px solid var(--border-dim); }\n        .dcsagapanalyse-behavior-item { font-size: 12.5px; color: var(--text-mid); line-height: 1.45; padding: 6px 10px; background: var(--navy-3); border-radius: 6px; }\n\n        .dcsagapanalyse-q-block { background: var(--navy-2); border: 1px solid var(--border-dim); border-radius: var(--r); padding: 18px; margin-bottom: 14px; }\n        .dcsagapanalyse-q-text { font-size: 14px; font-weight: 500; color: var(--cream); line-height: 1.5; margin-bottom: 14px; }\n        .dcsagapanalyse-q-num { display: inline-block; color: var(--gold); font-weight: 600; margin-right: 6px; }\n        .dcsagapanalyse-radio-row { display: flex; gap: 8px; justify-content: space-between; }\n        .dcsagapanalyse-radio-opt { flex: 1; }\n        .dcsagapanalyse-radio-opt input[type=radio] { display: none; }\n        .dcsagapanalyse-radio-opt label { display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: pointer; background: var(--navy-3); border: 1px solid var(--border-dim); border-radius: 8px; padding: 10px 6px; transition: all 0.2s; }\n        .dcsagapanalyse-radio-opt input[type=radio]:checked + label { background: var(--gold-bg); border-color: var(--gold); color: var(--gold); }\n        .dcsagapanalyse-radio-val { font-size: 16px; font-weight: 700; color: var(--cream); }\n        .dcsagapanalyse-radio-opt input[type=radio]:checked + label .dcsagapanalyse-radio-val { color: var(--gold); }\n        .dcsagapanalyse-radio-hint { font-size: 9px; color: var(--text-dim); letter-spacing: 0.05em; text-align: center; }\n\n        .dcsagapanalyse-scores-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin-bottom: 20px; }\n        .dcsagapanalyse-score-card { background: var(--navy-2); border: 1px solid var(--border-dim); border-radius: var(--r); padding: 20px; }\n        .dcsagapanalyse-score-top { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 12px; }\n        .dcsagapanalyse-score-label { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-mid); font-weight: 600; }\n        .dcsagapanalyse-score-value { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 600; color: var(--gold); line-height: 0.8; }\n        .dcsagapanalyse-gauge-track { height: 4px; background: var(--navy-4); border-radius: 2px; overflow: hidden; margin-bottom: 12px; }\n        .dcsagapanalyse-gauge-fill { height: 100%; border-radius: 2px; transition: width 1s cubic-bezier(0.4,0,0.2,1); background: linear-gradient(90deg, var(--gold-d), var(--gold)); }\n        .dcsagapanalyse-score-interp { font-size: 13px; color: var(--text-bright); line-height: 1.5; }\n\n        .dcsagapanalyse-risk-block { background: var(--navy-2); border: 1px solid rgba(197,168,78,0.3); border-radius: var(--r); padding: 20px; margin-bottom: 16px; margin-top: 16px; }\n        .dcsagapanalyse-risk-eyebrow { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; font-weight: 600; }\n        .dcsagapanalyse-risk-eyebrow .italic-sub { text-transform: none; letter-spacing: 0; font-style: italic; color: var(--text-mid); font-weight: 400; }\n        .dcsagapanalyse-risk-text { font-size: 14.5px; color: var(--cream); line-height: 1.65; }\n\n        .dcsagapanalyse-chart-wrap { background: var(--navy-2); border: 1px solid var(--border-dim); border-radius: var(--r); padding: 20px; margin-bottom: 16px; text-align: center; }\n        .dcsagapanalyse-chart-wrap canvas { max-width: 240px; margin: 0 auto; display: block; }\n\n        .dcsagapanalyse-report-preview { background: var(--navy-2); border: 1px solid var(--border); border-radius: var(--r); padding: 20px; margin-bottom: 20px; }\n        .dcsagapanalyse-preview-title { font-family: 'Cormorant Garamond', serif; font-size: 18px; font-weight: 600; color: var(--gold); margin-bottom: 4px; }\n        .dcsagapanalyse-preview-sub { font-size: 12px; color: var(--text-mid); margin-bottom: 16px; }\n        .dcsagapanalyse-preview-item { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border-dim); font-size: 13px; color: var(--text-bright); }\n        .dcsagapanalyse-preview-item:last-child { border-bottom: none; }\n        .dcsagapanalyse-preview-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }\n\n        .dcsagapanalyse-btn-row { display: flex; gap: 12px; position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 20px; background: linear-gradient(0deg, var(--navy) 60%, transparent); z-index: 50; }\n        .dcsagapanalyse-btn { flex: 1; padding: 16px; border-radius: 10px; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.04em; cursor: pointer; border: none; transition: all 0.2s; min-height: 52px; }\n        .dcsagapanalyse-btn-primary { background: var(--gold); color: var(--navy); }\n        .dcsagapanalyse-btn-primary:hover { background: var(--gold-l); }\n        .dcsagapanalyse-btn-primary:active { transform: scale(0.98); }\n        .dcsagapanalyse-btn-secondary { background: var(--navy-3); border: 1px solid var(--border-dim); color: var(--text-bright); flex: 0.5; }\n        .dcsagapanalyse-btn-secondary:hover { background: var(--navy-4); }\n\n        .dcsagapanalyse-err-msg { font-size: 12px; color: #e06055; margin-top: 5px; display: none; }\n        .dcsagapanalyse-err-msg.show { display: block; }\n        \n        .dcsagapanalyse-total-row { display: flex; justify-content: space-between; align-items: center; background: var(--navy-3); border-radius: 8px; padding: 12px 16px; margin-top: 8px; }\n        .dcsagapanalyse-total-label { font-size: 12px; color: var(--text-mid); letter-spacing: 0.08em; text-transform: uppercase; }\n        .dcsagapanalyse-total-val { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 700; color: var(--gold); }\n\n        .dcsagapanalyse-size-warning { display: none; margin-top: 8px; font-size: 11.5px; color: var(--amber); background: var(--amber-l); border: 1px solid rgba(197,135,10,0.25); border-radius: 6px; padding: 8px 12px; line-height: 1.5; }\n        .dcsagapanalyse-size-warning.show { display: block; }\n\n        .dcsagapanalyse-toast { position: fixed; top: 100px; left: 50%; transform: translateX(-50%) translateY(-20px); background: var(--navy-4); border: 1px solid var(--border); border-radius: 8px; padding: 10px 18px; font-size: 13px; color: var(--cream); opacity: 0; pointer-events: none; transition: all 0.3s; z-index: 200; white-space: nowrap; box-shadow: 0 4px 20px rgba(0,0,0,0.5); }\n        .dcsagapanalyse-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }\n    <\/style>\n\n    <div class=\"dcsagapanalyse-wrapper\" id=\"dcsagapanalyse-app\">\n        <!-- TOPBAR -->\n        <div class=\"dcsagapanalyse-topbar\">\n            <div class=\"dcsagapanalyse-brand\">\n                <div class=\"dcsagapanalyse-brand-logo\">DC<\/div>\n                <div class=\"dcsagapanalyse-brand-name\">DCSA <span>Decision-Types\u2122<\/span><\/div>\n            <\/div>\n            <div class=\"dcsagapanalyse-topbar-tag\">Gap Analysis<\/div>\n        <\/div>\n\n        <!-- PROGRESS -->\n        <div class=\"dcsagapanalyse-progress-wrap\">\n            <div class=\"dcsagapanalyse-progress-labels\">\n                <div class=\"dcsagapanalyse-progress-label active\" id=\"dcsagapanalyse-pl1\">Institution<\/div>\n                <div class=\"dcsagapanalyse-progress-label\" id=\"dcsagapanalyse-pl2\">Distribution<\/div>\n                <div class=\"dcsagapanalyse-progress-label\" id=\"dcsagapanalyse-pl3\">Pressure<\/div>\n                <div class=\"dcsagapanalyse-progress-label\" id=\"dcsagapanalyse-pl4\">Scores<\/div>\n                <div class=\"dcsagapanalyse-progress-label\" id=\"dcsagapanalyse-pl5\">Report<\/div>\n            <\/div>\n            <div class=\"dcsagapanalyse-progress-bar-track\">\n                <div class=\"dcsagapanalyse-progress-bar-fill\" id=\"dcsagapanalyse-progressFill\" style=\"width:20%\"><\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"dcsagapanalyse-main\">\n            <!-- STEP 1 -->\n            <div class=\"dcsagapanalyse-step active\" id=\"dcsagapanalyse-step1\">\n                <div class=\"dcsagapanalyse-step-header\">\n                    <div class=\"dcsagapanalyse-step-eyebrow\">Step 1 of 5<\/div>\n                    <div class=\"dcsagapanalyse-step-title\">Institution Details<\/div>\n                    <div class=\"dcsagapanalyse-step-desc\">Enter the organisational context for this gap analysis. All data is processed locally \u2014 nothing is transmitted externally.<\/div>\n                    <span class=\"dcsagapanalyse-disclaimer-tag\">\u26a0 Indicative screening only \u2014 not a validated psychometric instrument. Results are designed to open a structured conversation.<\/span>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-card\">\n                    <div class=\"dcsagapanalyse-card-title\">Organisation<\/div>\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">Institution Name <span class=\"req\">*<\/span><\/label>\n                        <input class=\"dcsagapanalyse-field-input\" id=\"dcsagapanalyse-f_institution\" type=\"text\" placeholder=\"e.g. City General Hospital\">\n                        <div class=\"dcsagapanalyse-err-msg\" id=\"dcsagapanalyse-e_institution\">This field is required.<\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">Department \/ Team Name <span class=\"req\">*<\/span><\/label>\n                        <input class=\"dcsagapanalyse-field-input\" id=\"dcsagapanalyse-f_department\" type=\"text\" placeholder=\"e.g. Clinical Leadership \u2014 ICU\">\n                        <div class=\"dcsagapanalyse-err-msg\" id=\"dcsagapanalyse-e_department\">This field is required.<\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-card\">\n                    <div class=\"dcsagapanalyse-card-title\">Key Person (Report Recipient)<\/div>\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">Key Person Name <span class=\"req\">*<\/span><\/label>\n                        <input class=\"dcsagapanalyse-field-input\" id=\"dcsagapanalyse-f_keyname\" type=\"text\" placeholder=\"Full name of decision-maker\">\n                        <div class=\"dcsagapanalyse-err-msg\" id=\"dcsagapanalyse-e_keyname\">This field is required.<\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">Role \/ Title <span class=\"req\">*<\/span><\/label>\n                        <input class=\"dcsagapanalyse-field-input\" id=\"dcsagapanalyse-f_role\" type=\"text\" placeholder=\"e.g. Chief Medical Officer\">\n                        <div class=\"dcsagapanalyse-err-msg\" id=\"dcsagapanalyse-e_role\">This field is required.<\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">Team Size <span class=\"req\">*<\/span><\/label>\n                        <input class=\"dcsagapanalyse-field-input\" id=\"dcsagapanalyse-f_teamsize\" type=\"number\" min=\"2\" max=\"500\" placeholder=\"Number of people in this team\">\n                        <div class=\"dcsagapanalyse-err-msg\" id=\"dcsagapanalyse-e_teamsize\">Please enter a valid team size.<\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">Date<\/label>\n                        <input class=\"dcsagapanalyse-field-input\" id=\"dcsagapanalyse-f_date\" type=\"date\">\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- STEP 2 -->\n            <div class=\"dcsagapanalyse-step\" id=\"dcsagapanalyse-step2\">\n                <div class=\"dcsagapanalyse-step-header\">\n                    <div class=\"dcsagapanalyse-step-eyebrow\">Step 2 of 5<\/div>\n                    <div class=\"dcsagapanalyse-step-title\">Team Behaviour Profile<\/div>\n                    <div class=\"dcsagapanalyse-step-desc\">Most behavioural frameworks describe how people act in normal conditions. DCSA maps how people behave <strong style=\"color:var(--cream)\">when the stakes are high and time is short<\/strong>.<\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-type-card-full\">\n                    <div class=\"dcsagapanalyse-type-card-header\">\n                        <div class=\"dcsagapanalyse-type-badge D\">D<\/div>\n                        <div>\n                            <div class=\"dcsagapanalyse-type-name-full\">The Action Driver<\/div>\n                            <div class=\"dcsagapanalyse-type-label-full\">DCSA Type: Dominant<\/div>\n                        <\/div>\n                        <div class=\"dcsagapanalyse-type-count-wrap\">\n                            <input class=\"dcsagapanalyse-type-input\" id=\"dcsagapanalyse-t_D\" type=\"number\" min=\"0\" placeholder=\"0\">\n                            <div class=\"dcsagapanalyse-type-count-label\">people<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-type-behaviors\">\n                        <div class=\"dcsagapanalyse-behavior-item\">\u26a1 Pushes for a decision quickly \u2014 dislikes prolonged discussion or delay<\/div>\n                        <div class=\"dcsagapanalyse-behavior-item\">\u26a0 Under pressure: can become directive, dismissive of process<\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-type-card-full\">\n                    <div class=\"dcsagapanalyse-type-card-header\">\n                        <div class=\"dcsagapanalyse-type-badge C\">C<\/div>\n                        <div>\n                            <div class=\"dcsagapanalyse-type-name-full\">The Relationship Builder<\/div>\n                            <div class=\"dcsagapanalyse-type-label-full\">DCSA Type: Connector<\/div>\n                        <\/div>\n                        <div class=\"dcsagapanalyse-type-count-wrap\">\n                            <input class=\"dcsagapanalyse-type-input\" id=\"dcsagapanalyse-t_C\" type=\"number\" min=\"0\" placeholder=\"0\">\n                            <div class=\"dcsagapanalyse-type-count-label\">people<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-type-behaviors\">\n                        <div class=\"dcsagapanalyse-behavior-item\">\ud83e\udd1d Wants everyone aligned before committing to a decision<\/div>\n                        <div class=\"dcsagapanalyse-behavior-item\">\u26a0 Under pressure: stalls decisions waiting for buy-in that won't come<\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-type-card-full\">\n                    <div class=\"dcsagapanalyse-type-card-header\">\n                        <div class=\"dcsagapanalyse-type-badge S\">S<\/div>\n                        <div>\n                            <div class=\"dcsagapanalyse-type-name-full\">The Protocol Keeper<\/div>\n                            <div class=\"dcsagapanalyse-type-label-full\">DCSA Type: Stabilizer<\/div>\n                        <\/div>\n                        <div class=\"dcsagapanalyse-type-count-wrap\">\n                            <input class=\"dcsagapanalyse-type-input\" id=\"dcsagapanalyse-t_S\" type=\"number\" min=\"0\" placeholder=\"0\">\n                            <div class=\"dcsagapanalyse-type-count-label\">people<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-type-behaviors\">\n                        <div class=\"dcsagapanalyse-behavior-item\">\ud83d\udccb Follows established procedures; trusts the system<\/div>\n                        <div class=\"dcsagapanalyse-behavior-item\">\u26a0 Under pressure: becomes rigid, escalates outside protocol boundaries<\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-type-card-full\">\n                    <div class=\"dcsagapanalyse-type-card-header\">\n                        <div class=\"dcsagapanalyse-type-badge A\">A<\/div>\n                        <div>\n                            <div class=\"dcsagapanalyse-type-name-full\">The Data Verifier<\/div>\n                            <div class=\"dcsagapanalyse-type-label-full\">DCSA Type: Analyst<\/div>\n                        <\/div>\n                        <div class=\"dcsagapanalyse-type-count-wrap\">\n                            <input class=\"dcsagapanalyse-type-input\" id=\"dcsagapanalyse-t_A\" type=\"number\" min=\"0\" placeholder=\"0\">\n                            <div class=\"dcsagapanalyse-type-count-label\">people<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-type-behaviors\">\n                        <div class=\"dcsagapanalyse-behavior-item\">\ud83d\udcca Needs data, evidence, or precedent before committing<\/div>\n                        <div class=\"dcsagapanalyse-behavior-item\">\u26a0 Under pressure: paralysed by incomplete information; delays closure<\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-total-row\">\n                    <span class=\"dcsagapanalyse-total-label\">Total Entered<\/span>\n                    <span class=\"dcsagapanalyse-total-val\" id=\"dcsagapanalyse-typeTotal\">0<\/span>\n                <\/div>\n                <div class=\"dcsagapanalyse-size-warning\" id=\"dcsagapanalyse-sizeWarning\">\u26a0 Your total entered (<span id=\"dcsagapanalyse-warnCount\">0<\/span>) differs significantly from your stated team size. Review before continuing.<\/div>\n                <div class=\"dcsagapanalyse-err-msg\" id=\"dcsagapanalyse-e_types\" style=\"text-align:center;\">Please enter at least one count to continue.<\/div>\n            <\/div>\n\n            <!-- STEP 3 -->\n            <div class=\"dcsagapanalyse-step\" id=\"dcsagapanalyse-step3\">\n                <div class=\"dcsagapanalyse-step-header\">\n                    <div class=\"dcsagapanalyse-step-eyebrow\">Step 3 of 5<\/div>\n                    <div class=\"dcsagapanalyse-step-title\">Pressure Context<\/div>\n                    <div class=\"dcsagapanalyse-step-desc\">Rate each statement based on your team's current operational reality. 1 = Rarely \/ Low \u00b7 5 = Always \/ High<\/div>\n                <\/div>\n                <div id=\"dcsagapanalyse-questionsContainer\"><\/div>\n            <\/div>\n\n            <!-- STEP 4 -->\n            <div class=\"dcsagapanalyse-step\" id=\"dcsagapanalyse-step4\">\n                <div class=\"dcsagapanalyse-step-header\">\n                    <div class=\"dcsagapanalyse-step-eyebrow\">Step 4 of 5<\/div>\n                    <div class=\"dcsagapanalyse-step-title\">Gap Score Analysis<\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-chart-wrap\">\n                    <div class=\"dcsagapanalyse-card-title\" style=\"text-align:left\">Decision-Type Distribution<\/div>\n                    <canvas id=\"dcsagapanalyse-distChart\" width=\"240\" height=\"240\"><\/canvas>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-scores-grid\" id=\"dcsagapanalyse-scoresGrid\"><\/div>\n                <div id=\"dcsagapanalyse-riskStatement\"><\/div>\n            <\/div>\n\n            <!-- STEP 5 -->\n            <div class=\"dcsagapanalyse-step\" id=\"dcsagapanalyse-step5\">\n                <div class=\"dcsagapanalyse-step-header\">\n                    <div class=\"dcsagapanalyse-step-eyebrow\">Step 5 of 5<\/div>\n                    <div class=\"dcsagapanalyse-step-title\">Generate Report<\/div>\n                    <div class=\"dcsagapanalyse-step-desc\">Your gap analysis report will be generated as a downloadable PDF \u2014 formatted for sharing with institutional leadership.<\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-report-preview\">\n                    <div class=\"dcsagapanalyse-preview-title\">DCSA Gap Analysis Report<\/div>\n                    <div class=\"dcsagapanalyse-preview-sub\">Contents of your generated PDF<\/div>\n                    <div class=\"dcsagapanalyse-preview-item\"><div class=\"dcsagapanalyse-preview-dot\"><\/div>Institution & team details<\/div>\n                    <div class=\"dcsagapanalyse-preview-item\"><div class=\"dcsagapanalyse-preview-dot\"><\/div>Decision-type distribution snapshot<\/div>\n                    <div class=\"dcsagapanalyse-preview-item\"><div class=\"dcsagapanalyse-preview-dot\"><\/div>Distribution Imbalance Score<\/div>\n                    <div class=\"dcsagapanalyse-preview-item\"><div class=\"dcsagapanalyse-preview-dot\"><\/div>Friction Risk Score<\/div>\n                    <div class=\"dcsagapanalyse-preview-item\"><div class=\"dcsagapanalyse-preview-dot\"><\/div>Alignment Readiness Score<\/div>\n                    <div class=\"dcsagapanalyse-preview-item\"><div class=\"dcsagapanalyse-preview-dot\"><\/div>Key Risk Statement & Recommendation<\/div>\n                <\/div>\n\n                <div class=\"dcsagapanalyse-card\">\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">Email Address <span class=\"req\">*<\/span><\/label>\n                        <input class=\"dcsagapanalyse-field-input\" id=\"dcsagapanalyse-f_email\" type=\"email\" placeholder=\"your@email.com\">\n                        <div class=\"dcsagapanalyse-err-msg\" id=\"dcsagapanalyse-e_email\">Please enter a valid email address.<\/div>\n                    <\/div>\n                    <div class=\"dcsagapanalyse-field\">\n                        <label class=\"dcsagapanalyse-field-label\">How did you hear about DCSA?<\/label>\n                        <select class=\"dcsagapanalyse-field-select\" id=\"dcsagapanalyse-f_source\">\n                            <option value=\"\">\u2014 Select (optional) \u2014<\/option>\n                            <option>LinkedIn<\/option>\n                            <option>Referral \/ Colleague<\/option>\n                            <option>Conference \/ Workshop<\/option>\n                            <option>Web search<\/option>\n                            <option>Other<\/option>\n                        <\/select>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"dcsagapanalyse-btn-row\">\n            <button class=\"dcsagapanalyse-btn dcsagapanalyse-btn-secondary\" id=\"dcsagapanalyse-btnBack\" onclick=\"dcsagapanalyse_goBack()\" style=\"display:none\">\u2190 Back<\/button>\n            <button class=\"dcsagapanalyse-btn dcsagapanalyse-btn-primary\" id=\"dcsagapanalyse-btnNext\" onclick=\"dcsagapanalyse_goNext()\">Continue \u2192<\/button>\n        <\/div>\n    <\/div>\n    <div class=\"dcsagapanalyse-toast\" id=\"dcsagapanalyse-toast\"><\/div>\n\n    <script>\n    const dcsagapanalyse_ajaxUrl = \"https:\/\/healomax.com\/training\/wp-admin\/admin-ajax.php\";\n    const dcsagapanalyse_bannerUrl = \"https:\/\/healomax.com\/training\/wp-content\/uploads\/2026\/07\/banner981x300-850x260-1.png\";\n    let dcsagapanalyse_bannerData = null;\n\n    function dcsagapanalyse_loadBannerImage() {\n        const img = new Image();\n        img.crossOrigin = 'Anonymous';\n        img.onload = function() {\n            const canvas = document.createElement('canvas');\n            canvas.width = img.width; canvas.height = img.height;\n            const ctx = canvas.getContext('2d');\n            ctx.drawImage(img, 0, 0);\n            dcsagapanalyse_bannerData = canvas.toDataURL('image\/jpeg');\n        };\n        img.src = dcsagapanalyse_bannerUrl;\n    }\n    document.addEventListener(\"DOMContentLoaded\", dcsagapanalyse_loadBannerImage);\n\n    let dcsagapanalyse_currentStep = 1;\n    let dcsagapanalyse_distChart = null;\n    let dcsagapanalyse_scores = {};\n\n    const dcsagapanalyse_QUESTIONS = [\n        \"In the last 3 months, how many times did a critical decision get delayed because the team couldn't reach agreement quickly enough?\",\n        \"In the last 3 months, how often did interpersonal conflict between team members visibly slow down an operational decision?\",\n        \"When a disagreement escalates, how often does your team have a clear, agreed pathway for who makes the final call?\",\n        \"During your last high-pressure situation, how consistently did team members communicate using the same priorities and language?\",\n        \"How often are people placed in decision-making roles that match how they actually think and respond under pressure?\"\n    ];\n    const dcsagapanalyse_HINTS = [\n        [\"Never\",\"1\u20132 times\",\"3\u20134 times\",\"5\u20136 times\",\"7+ times\"],\n        [\"Never\",\"Rarely\",\"Sometimes\",\"Often\",\"Very Often\"],\n        [\"Never\",\"Rarely\",\"Sometimes\",\"Usually\",\"Always\"],\n        [\"Not at all\",\"Rarely\",\"Somewhat\",\"Mostly\",\"Fully\"],\n        [\"Never\",\"Rarely\",\"Sometimes\",\"Often\",\"Always\"]\n    ];\n\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        document.getElementById('dcsagapanalyse-f_date').value = new Date().toISOString().slice(0,10);\n        const container = document.getElementById('dcsagapanalyse-questionsContainer');\n        dcsagapanalyse_QUESTIONS.forEach((q,i) => {\n            container.innerHTML += `\n            <div class=\"dcsagapanalyse-q-block\">\n                <div class=\"dcsagapanalyse-q-text\"><span class=\"dcsagapanalyse-q-num\">${i+1}.<\/span>${q}<\/div>\n                <div class=\"dcsagapanalyse-radio-row\">\n                    ${[1,2,3,4,5].map(v=>`\n                    <div class=\"dcsagapanalyse-radio-opt\">\n                        <input type=\"radio\" name=\"dcsagapanalyse-q${i}\" id=\"dcsagapanalyse-q${i}v${v}\" value=\"${v}\">\n                        <label for=\"dcsagapanalyse-q${i}v${v}\">\n                            <span class=\"dcsagapanalyse-radio-val\">${v}<\/span>\n                            <span class=\"dcsagapanalyse-radio-hint\">${dcsagapanalyse_HINTS[i][v-1]}<\/span>\n                        <\/label>\n                    <\/div>`).join('')}\n                <\/div>\n            <\/div>`;\n        });\n\n        ['t_D','t_C','t_S','t_A'].forEach(id=>{\n            document.getElementById('dcsagapanalyse-'+id).addEventListener('input', dcsagapanalyse_updateTotal);\n        });\n    });\n\n    function dcsagapanalyse_updateTotal(){\n        const total = ['t_D','t_C','t_S','t_A'].reduce((s,id) => s + (parseInt(document.getElementById('dcsagapanalyse-'+id).value)||0), 0);\n        document.getElementById('dcsagapanalyse-typeTotal').textContent = total;\n        const teamSize = parseInt(document.getElementById('dcsagapanalyse-f_teamsize').value)||0;\n        const warn = document.getElementById('dcsagapanalyse-sizeWarning');\n        document.getElementById('dcsagapanalyse-warnCount').textContent = total;\n        if(teamSize > 0 && total > 0 && Math.abs(total - teamSize) > Math.max(2, teamSize*0.3)){\n            warn.classList.add('show');\n        } else {\n            warn.classList.remove('show');\n        }\n    }\n\n    function dcsagapanalyse_goNext(){\n        if(!dcsagapanalyse_validateStep(dcsagapanalyse_currentStep)) return;\n        if(dcsagapanalyse_currentStep === 5){ dcsagapanalyse_submitAndGenerate(); return; }\n        dcsagapanalyse_currentStep++;\n        if(dcsagapanalyse_currentStep === 4) dcsagapanalyse_calculateScores();\n        dcsagapanalyse_showStep(dcsagapanalyse_currentStep);\n    }\n    function dcsagapanalyse_goBack(){\n        if(dcsagapanalyse_currentStep <= 1) return;\n        dcsagapanalyse_currentStep--;\n        dcsagapanalyse_showStep(dcsagapanalyse_currentStep);\n    }\n\n    function dcsagapanalyse_showStep(n){\n        document.querySelectorAll('.dcsagapanalyse-step').forEach(s=>s.classList.remove('active'));\n        document.getElementById('dcsagapanalyse-step'+n).classList.add('active');\n        document.getElementById('dcsagapanalyse-progressFill').style.width = ((n\/5)*100)+'%';\n        \n        for(let i=1;i<=5;i++){\n            const lbl = document.getElementById('dcsagapanalyse-pl'+i);\n            lbl.className = 'dcsagapanalyse-progress-label ' + (i===n?'active':(i<n?'done':''));\n        }\n        \n        document.getElementById('dcsagapanalyse-btnBack').style.display = n>1?'':'none';\n        const btnNext = document.getElementById('dcsagapanalyse-btnNext');\n        if(n===5){ btnNext.innerHTML = '\u2b07 Download PDF Report'; btnNext.className = 'dcsagapanalyse-btn dcsagapanalyse-btn-primary'; }\n        else { btnNext.innerHTML = 'Continue \u2192'; btnNext.className = 'dcsagapanalyse-btn dcsagapanalyse-btn-primary'; }\n        document.querySelector('.dcsagapanalyse-main').scrollTo(0,0);\n    }\n\n    function dcsagapanalyse_validateStep(n){\n        let ok = true;\n        const req = (id,errId,check)=>{\n            const el = document.getElementById('dcsagapanalyse-'+id);\n            const err = document.getElementById('dcsagapanalyse-'+errId);\n            const valid = check ? check(el.value) : el.value.trim()!=='';\n            el.classList.toggle('error',!valid);\n            err.classList.toggle('show',!valid);\n            if(!valid) ok=false;\n        };\n\n        if(n===1){\n            req('f_institution','e_institution'); req('f_department','e_department');\n            req('f_keyname','e_keyname'); req('f_role','e_role');\n            req('f_teamsize','e_teamsize', v=>v&&parseInt(v)>=1);\n        }\n        if(n===2){\n            const total = ['t_D','t_C','t_S','t_A'].reduce((s,id)=>s+(parseInt(document.getElementById('dcsagapanalyse-'+id).value)||0),0);\n            const err = document.getElementById('dcsagapanalyse-e_types');\n            err.style.display = total < 1 ? 'block' : 'none';\n            if(total < 1) ok = false;\n        }\n        if(n===3){\n            let allAnswered = true;\n            dcsagapanalyse_QUESTIONS.forEach((_,i)=>{ if(!document.querySelector(`input[name=\"dcsagapanalyse-q${i}\"]:checked`)) allAnswered=false; });\n            if(!allAnswered){ dcsagapanalyse_showToast('Please answer all 5 questions.'); ok=false; }\n        }\n        if(n===5) req('f_email','e_email', v=>\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(v));\n        return ok;\n    }\n\n    function dcsagapanalyse_calculateScores(){\n        const D = parseInt(document.getElementById('dcsagapanalyse-t_D').value)||0;\n        const C = parseInt(document.getElementById('dcsagapanalyse-t_C').value)||0;\n        const S = parseInt(document.getElementById('dcsagapanalyse-t_S').value)||0;\n        const A = parseInt(document.getElementById('dcsagapanalyse-t_A').value)||0;\n        const total = D+C+S+A || 1;\n\n        const mean = total\/4;\n        const variance = ((D-mean)**2+(C-mean)**2+(S-mean)**2+(A-mean)**2)\/4;\n        const imbalanceScore = Math.min(100, Math.round((Math.sqrt(variance)\/mean)*80));\n\n        const qVals = dcsagapanalyse_QUESTIONS.map((_,i) => parseInt(document.querySelector(`input[name=\"dcsagapanalyse-q${i}\"]:checked`)?.value||3));\n        const frictionRaw = (qVals[0]+qVals[1]) + (6-qVals[2])+(6-qVals[3])+(6-qVals[4]);\n        const frictionScore = Math.round((frictionRaw\/25)*100);\n        const readiness = Math.max(0, 100 - Math.round((imbalanceScore+frictionScore)\/2));\n\n        const types3 = [{v:D,n:'Dominant'},{v:C,n:'Connector'},{v:S,n:'Stabilizer'},{v:A,n:'Analyst'}].sort((a,b)=>b.v-a.v);\n        const top2name = types3.slice(0,2).filter(t=>t.v>0).map(t=>t.n).join('\u2013');\n        const miss3 = types3.filter(t=>t.v===0).map(t=>t.n);\n\n        let riskPara = \"\";\n        if(frictionScore>66){\n            riskPara = `This team's ${top2name||'current'} decision-type profile creates high structural friction risk at critical decision nodes. ${miss3.length?`The complete absence of ${miss3.join(' and ')} type representation means that key decision functions are structurally unmanaged under pressure. `:'The current type imbalance reduces the team\\'s adaptive decision capacity. '}Without structured intervention, this distribution pattern will continue to generate decision delays and escalation failures.`;\n        } else if(frictionScore>33){\n            riskPara = `This team's ${top2name||'current'} decision-type profile indicates moderate structural friction potential. ${miss3.length?`The limited presence of ${miss3.join(' and ')} type decision-making creates identifiable gaps in the team's pressure-response range. `:'While all types are present, the current imbalance increases collision risk as operational pressure escalates. '}A structured DCSA gap intervention is recommended before friction patterns become entrenched.`;\n        } else {\n            riskPara = `This team's current decision-type distribution indicates relatively low structural friction at current pressure levels. However, without a formal decision-type framework, friction risks remain unmanaged and invisible \u2014 particularly during personnel transitions or periods of escalating operational demand.`;\n        }\n\n        dcsagapanalyse_scores = {D,C,S,A,total,imbalanceScore,frictionScore,readiness,riskPara,miss3};\n\n        if (typeof Chart !== 'undefined') {\n            const ctx = document.getElementById('dcsagapanalyse-distChart');\n            if(dcsagapanalyse_distChart) dcsagapanalyse_distChart.destroy();\n            dcsagapanalyse_distChart = new Chart(ctx,{\n                type:'doughnut',\n                data:{\n                    labels:['Dominant','Connector','Stabilizer','Analyst'],\n                    datasets:[{ data:[D||0,C||0,S||0,A||0], backgroundColor:['#e06055','#4db88a','#c5a84e','#6bb4e8'], borderWidth:0 }]\n                },\n                options:{ plugins:{ legend:{ labels:{color:'#c8d4e3', font:{size:11}}, position:'bottom'} }, cutout:'65%' }\n            });\n        }\n\n        const grid = document.getElementById('dcsagapanalyse-scoresGrid');\n        grid.innerHTML = '';\n        const items = [\n            {l:'Distribution Imbalance Score', s:imbalanceScore, text:imbalanceScore<=33?'Balanced distribution \u2014 low structural friction from type imbalance.':imbalanceScore<=66?'Moderate imbalance detected. Some decision-type gaps may create friction under pressure.':'Significant imbalance. One or more decision-types are over- or under-represented, creating structural risk.'},\n            {l:'Friction Risk Score', s:frictionScore, text:frictionScore<=33?'Low friction risk \u2014 current operational patterns are manageable.':frictionScore<=66?'Moderate friction risk. Conflict and delay patterns are present and likely to intensify under higher pressure.':'High friction risk \u2014 active or imminent decision-type collision in this team.'},\n            {l:'Alignment Readiness Score', s:readiness, text:readiness>=67?'Team shows reasonable structural readiness for a DCSA alignment intervention.':readiness>=34?'Moderate readiness. The team will benefit from structured facilitation before self-directed alignment.':'Low readiness. Direct facilitated intervention is strongly indicated before alignment work can take hold.'}\n        ];\n        items.forEach(it => {\n            grid.innerHTML += `\n            <div class=\"dcsagapanalyse-score-card\">\n                <div class=\"dcsagapanalyse-score-top\"><div class=\"dcsagapanalyse-score-label\">${it.l}<\/div><div class=\"dcsagapanalyse-score-value\">${it.s}<\/div><\/div>\n                <div class=\"dcsagapanalyse-gauge-track\"><div class=\"dcsagapanalyse-gauge-fill\" style=\"width:${it.s}%\"><\/div><\/div>\n                <div class=\"dcsagapanalyse-score-interp\">${it.text}<\/div>\n            <\/div>`;\n        });\n        \n        document.getElementById('dcsagapanalyse-riskStatement').innerHTML = `\n        <div class=\"dcsagapanalyse-risk-block\">\n            <div class=\"dcsagapanalyse-risk-eyebrow\">KEY RISK STATEMENT <span class=\"italic-sub\">&nbsp;\u2014 indicative only, not a diagnostic finding<\/span><\/div>\n            <div class=\"dcsagapanalyse-risk-text\">${riskPara}<\/div>\n        <\/div>`;\n    }\n\n    function dcsagapanalyse_submitAndGenerate() {\n        document.getElementById('dcsagapanalyse-btnNext').innerText = \"Generating PDF...\";\n        \n        const fd = new URLSearchParams();\n        fd.append('action', 'dcsagapanalyse_submit');\n        fd.append('institution', document.getElementById('dcsagapanalyse-f_institution').value);\n        fd.append('department', document.getElementById('dcsagapanalyse-f_department').value);\n        fd.append('key_person', document.getElementById('dcsagapanalyse-f_keyname').value + ' \u2014 ' + document.getElementById('dcsagapanalyse-f_role').value);\n        fd.append('role', document.getElementById('dcsagapanalyse-f_role').value);\n        fd.append('team_size', document.getElementById('dcsagapanalyse-f_teamsize').value);\n        fd.append('date', document.getElementById('dcsagapanalyse-f_date').value);\n        fd.append('email', document.getElementById('dcsagapanalyse-f_email').value);\n        fd.append('source', document.getElementById('dcsagapanalyse-f_source').value);\n        fd.append('imbalance_score', dcsagapanalyse_scores.imbalanceScore);\n        fd.append('friction_score', dcsagapanalyse_scores.frictionScore);\n        fd.append('readiness_score', dcsagapanalyse_scores.readiness);\n        fd.append('d_count', dcsagapanalyse_scores.D);\n        fd.append('c_count', dcsagapanalyse_scores.C);\n        fd.append('s_count', dcsagapanalyse_scores.S);\n        fd.append('a_count', dcsagapanalyse_scores.A);\n        fd.append('report_summary', dcsagapanalyse_scores.riskPara);\n\n        fetch(dcsagapanalyse_ajaxUrl, { method: 'POST', headers: {'Content-Type': 'application\/x-www-form-urlencoded'}, body: fd.toString() })\n        .then(() => {\n            dcsagapanalyse_buildPDF();\n            document.getElementById('dcsagapanalyse-btnNext').innerText = \"Downloaded Successfully\";\n            dcsagapanalyse_showToast(\"Check your downloads folder for the PDF.\");\n        });\n    }\n\n    function dcsagapanalyse_buildPDF() {\n        if (!window.jspdf) { dcsagapanalyse_showToast(\"PDF Library loading, please wait.\"); return; }\n        \n        const {jsPDF} = window.jspdf;\n        const doc = new jsPDF({orientation:'portrait',unit:'mm',format:'a4'});\n        const W = 210; const H = 297;\n        \n        const inst = document.getElementById('dcsagapanalyse-f_institution').value;\n        const dept = document.getElementById('dcsagapanalyse-f_department').value;\n        const kname = document.getElementById('dcsagapanalyse-f_keyname').value;\n        const krole = document.getElementById('dcsagapanalyse-f_role').value;\n        const tsize = document.getElementById('dcsagapanalyse-f_teamsize').value;\n        const date  = document.getElementById('dcsagapanalyse-f_date').value || new Date().toLocaleDateString();\n        const email = document.getElementById('dcsagapanalyse-f_email').value;\n        const {D,C,S,A,total,imbalanceScore,frictionScore,readiness,riskPara,miss3} = dcsagapanalyse_scores;\n        \n        function header(t){\n            doc.setFillColor(8,15,30); doc.rect(0,0,W,22,'F');\n            doc.setFillColor(197,168,78); doc.rect(0,22,W,0.8,'F');\n            doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(7);\n            doc.text('DCSA DECISION-TYPES\u2122',14,9);\n            doc.setTextColor(245,240,232); doc.setFontSize(10); doc.text(t,14,16);\n            doc.setTextColor(100,110,130); doc.setFont('helvetica','normal'); doc.setFontSize(7);\n            doc.text(`${inst} \u00b7 ${date}`, W-14,16,{align:'right'});\n        }\n        function footer(pg){\n            doc.setFillColor(8,15,30); doc.rect(0,280,W,17,'F');\n            doc.setFillColor(197,168,78); doc.rect(0,280,W,0.6,'F');\n            doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(7);\n            doc.text('DCSA Decision-Types\u2122 \u2014 \u00a9 Shoukathali O P. All rights reserved. Proprietary framework.',14,288);\n            doc.setTextColor(130,145,165); doc.setFont('helvetica','normal'); doc.setFontSize(6.5);\n            doc.text('Indicative screening only. Not a validated psychometric instrument. Not for use in individual performance evaluation.',14,293);\n            doc.text(`Page ${pg} of 3`, W-14,293,{align:'right'});\n        }\n\n        \/\/ PAGE 1: COVER\n        doc.setFillColor(8,15,30); doc.rect(0,0,W,H,'F');\n        \n        \/\/ Render dummy banner\n        if (dcsagapanalyse_bannerData) {\n            try { doc.addImage(dcsagapanalyse_bannerData, 'JPEG', 0, 0, 210, 64.2); } \n            catch(e) { doc.setFillColor(13,24,41); doc.rect(0,0,210,64.2,'F'); }\n        } else {\n            doc.setFillColor(13,24,41); doc.rect(0,0,210,64.2,'F');\n        }\n\n        doc.setFillColor(13,24,41); doc.rect(0,64.2,W,130,'F');\n        doc.setFillColor(197,168,78); doc.rect(0,64.2,W,1.5,'F'); doc.rect(14,77.8,1.5,3.5,'F');\n        \n        doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(9);\n        doc.text('DCSA DECISION-TYPES\u2122',18,81);\n        doc.setTextColor(245,240,232); doc.setFontSize(22); doc.text('Gap Analysis Report',14,105);\n        doc.setFont('helvetica','normal'); doc.setFontSize(12); doc.setTextColor(170,180,200);\n        doc.text('Decision-Type Distribution & Structural Friction Assessment',14,116);\n        \n        let ry = 125;\n        [['Institution',inst],['Department \/ Team',dept],['Key Person',`${kname} \u2014 ${krole}`],['Team Size',`${tsize} members`],['Assessment Engine By','Shoukathali O P and HEDI Consultancy'],['Date',date]].forEach(([k,v])=>{\n            doc.setFillColor(24,38,64); doc.roundedRect(14,ry,182,10,1,1,'F');\n            doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(7); doc.text(k.toUpperCase(),20,ry+6.5);\n            doc.setTextColor(245,240,232); doc.setFont('helvetica','normal'); doc.setFontSize(8.5); doc.text(v,90,ry+6.5);\n            ry+=13;\n        });\n\n        doc.setFillColor(158,46,37); doc.roundedRect(14,210,182,24,2,2,'F');\n        doc.setTextColor(245,240,232); doc.setFont('helvetica','bold'); doc.setFontSize(8.5);\n        doc.text('IMPORTANT DISCLAIMER',20,218);\n        doc.setFont('helvetica','normal'); doc.setFontSize(7.5);\n        doc.text('This report is a preliminary gap analysis tool \u2014 not a full DCSA assessment. It is not a psychological evaluation',20,225);\n        doc.text('and must not be used for individual performance review, hiring, or clinical decisions.',20,230);\n\n        doc.setFillColor(18,31,53); doc.rect(0,250,210,47,'F');\n        doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(8); doc.text('Prepared for',14,260);\n        doc.setTextColor(245,240,232); doc.setFont('helvetica','normal'); doc.setFontSize(10); doc.text(`${kname}, ${krole}`,14,266);\n        doc.setTextColor(100,120,150); doc.setFontSize(8); doc.text(email,14,272);\n        \n        doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(8); doc.text('Assessment Engine By', 110, 260);\n        doc.setTextColor(245,240,232); doc.setFont('helvetica','normal'); doc.setFontSize(10); doc.text('Shoukathali O P and HEDI Consultancy', 110, 266);\n        doc.setTextColor(130,190,255); doc.setFontSize(8); doc.textWithLink('healomax.com\/training\/contact\/', 110, 272, {url:'https:\/\/healomax.com\/training\/contact\/'});\n        \n        doc.setTextColor(100,120,150); doc.setFontSize(6.5); doc.text('Confidential \u2014 For Institutional Leadership Use Only',14,288);\n\n        \/\/ PAGE 2: SCORES\n        doc.addPage(); header('Decision-Type Distribution & Gap Scores');\n        doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(9); doc.text('DECISION-TYPE DISTRIBUTION SNAPSHOT',14,30);\n        \n        let y=36;\n        const types2 = [{label:'Dominant (D)',v:D,c:[224,96,85]},{label:'Connector (C)',v:C,c:[77,184,138]},{label:'Stabilizer (S)',v:S,c:[197,168,78]},{label:'Analyst (A)',v:A,c:[107,180,232]}];\n        const barMax = Math.max(D,C,S,A,1);\n        types2.forEach(t=>{\n            const pct = Math.round(t.v\/total*100);\n            doc.setFillColor(24,38,64); doc.roundedRect(14,y,182,12,1,1,'F');\n            doc.setFillColor(...t.c); doc.roundedRect(14,y,Math.max((t.v\/barMax)*140,2),12,1,1,'F');\n            doc.setTextColor(40,40,40); doc.setFont('helvetica','bold'); doc.setFontSize(8); doc.text(t.label,18,y+7.5);\n            doc.setFont('helvetica','normal'); doc.text(`${t.v} (${pct}%)`, W-18,y+7.5,{align:'right'});\n            y+=15;\n        });\n\n        const dom2 = types2.sort((a,b)=>b.v-a.v)[0];\n        doc.setFillColor(20,32,54); doc.roundedRect(14,y,182,miss3.length>0?22:16,2,2,'F');\n        doc.setTextColor(170,180,200); doc.setFont('helvetica','normal'); doc.setFontSize(7.5);\n        doc.text(`Dominant type: ${dom2.label} (${dom2.v} members, ${Math.round(dom2.v\/total*100)}% of team).`,20,y+7);\n        doc.text(miss3.length>0 ? `No ${miss3.join(' or ')} representation detected \u2014 these decision functions are structurally absent.` : 'All four decision-types are present in this team.',20,y+13);\n        if(miss3.length>0) doc.text('Absent types create unmanaged decision nodes \u2014 particularly under escalating pressure.',20,y+19);\n        y+= miss3.length>0?28:22;\n\n        doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(9); doc.text('GAP SCORES',14,y); y+=6;\n        \n        [{l:'Distribution Imbalance Score',s:imbalanceScore, i:imbalanceScore<=33?'Balanced distribution \u2014 low structural friction from type imbalance.':imbalanceScore<=66?'Moderate imbalance \u2014 friction risk increases under pressure.':'Significant imbalance \u2014 critical decision-type gaps identified.'},\n         {l:'Friction Risk Score',s:frictionScore, i:frictionScore<=33?'Low friction risk \u2014 current operational patterns are manageable.':frictionScore<=66?'Moderate friction risk \u2014 conflict patterns are present and escalating.':'High friction risk \u2014 active or imminent decision-type collision in this team.'},\n         {l:'Alignment Readiness Score',s:readiness, i:readiness>=67?'Reasonable structural readiness for DCSA alignment intervention.':readiness>=34?'Moderate readiness \u2014 structured facilitation required.':'Low readiness \u2014 direct facilitated intervention is strongly indicated.'}].forEach(sc=>{\n            doc.setFillColor(20,32,54); doc.roundedRect(14,y,182,22,2,2,'F');\n            doc.setTextColor(245,240,232); doc.setFontSize(16); doc.text(sc.s.toString(), W-20,y+14,{align:'right'});\n            doc.setFontSize(8.5); doc.text(sc.l,22,y+8);\n            doc.setFont('helvetica','normal'); doc.setFontSize(7.5); doc.setTextColor(170,180,200); doc.text(sc.i,22,y+15);\n            y+=26;\n        });\n        footer(2);\n\n        \/\/ PAGE 3: RISK\n        doc.addPage(); header('Key Risk Statement & Workshop Recommendation'); y=30;\n        doc.setFillColor(...(frictionScore>66?[158,46,37]:frictionScore>33?[197,135,10]:[39,133,90])); doc.roundedRect(14,y,182,6,1,1,'F');\n        doc.setTextColor(255,255,255); doc.setFont('helvetica','bold'); doc.setFontSize(8.5); doc.text('KEY RISK STATEMENT',20,y+4.2); y+=9;\n        \n        const rLines = doc.splitTextToSize(riskPara, 170);\n        doc.setFillColor(22,35,58); doc.roundedRect(14,y,182,rLines.length*4.8+12,2,2,'F');\n        doc.setTextColor(220,228,238); doc.setFont('helvetica','normal'); doc.setFontSize(8.5);\n        let ty=y+8; rLines.forEach(l=>{doc.text(l,20,ty);ty+=4.8;});\n        y+=rLines.length*4.8+18;\n\n        doc.setFillColor(197,168,78); doc.roundedRect(14,y,182,8,1,1,'F');\n        doc.setTextColor(8,15,30); doc.setFont('helvetica','bold'); doc.setFontSize(8.5); doc.text('WHY A DCSA DECISION-TYPES\u2122 WORKSHOP IS INDICATED FOR THIS TEAM',20,y+5.5); y+=12;\n        \n        const reasons = [\n            `The team's Distribution Imbalance Score of ${imbalanceScore}\/100 indicates that one or more decision-type functions are over- or under-represented - a structural condition that generates friction under any sustained pressure.`,\n            `The Friction Risk Score of ${frictionScore}\/100 reflects active operational friction patterns including decision delays, escalation ambiguity, and communication misalignment - directly correlated with unmanaged decision-type collision.`,\n            `The Alignment Readiness Score of ${readiness}\/100 indicates that self-directed alignment is unlikely without facilitation. A structured DCSA workshop provides the framework, vocabulary, and process architecture required.`\n        ];\n        \n        if (miss3.length > 0) {\n            reasons.push(`The structural absence of ${miss3.join(' and ')} type representation creates unmanaged decision nodes. A DCSA workshop identifies these gaps explicitly and provides protocol-level responses - not individual coaching, but structural redesign.`);\n        }\n        reasons.push(`Teams operating under sustained pressure without a decision-type framework accumulate friction silently. A DCSA workshop produces a shared operational language that allows friction to be named, located, and structurally addressed in real time.`);\n        \n        reasons.forEach((r,i)=>{\n            const rl = doc.splitTextToSize(r,156);\n            const rh = rl.length*4.5 + 8;\n            doc.setFillColor(20,32,54);\n            doc.roundedRect(14,y,182,rh,1.5,1.5,'F');\n            doc.setFillColor(197,168,78);\n            doc.circle(20, y + 6.5, 1.5, 'F');\n            doc.setTextColor(245,240,232); doc.setFont('helvetica','normal'); doc.setFontSize(8);\n            let ry2=y+7.5;\n            rl.forEach((l,li)=>{doc.text(l,25,ry2+(li*4.5));});\n            y+=rh+4;\n            if(y>250){doc.addPage();header('Workshop Recommendation (continued)');footer(3);y=32;}\n        });\n\n        if(y>255){doc.addPage();header('Workshop Recommendation (continued)');footer(3);y=32;}\n        doc.setFillColor(20,32,54); doc.roundedRect(14,y,182,14,1.5,1.5,'F');\n        doc.setTextColor(245,240,232); doc.setFont('helvetica','italic'); doc.setFontSize(8.5);\n        doc.text('\"This gap analysis is designed to initiate a structured conversation \u2014 not conclude one.',20,y+6);\n        doc.text('A facilitated DCSA workshop is the recommended next step.\"',20,y+11);\n        \n        y+=18;\n        doc.setFillColor(20,32,54); doc.roundedRect(14,y,182,20,1.5,1.5,'F');\n        doc.setTextColor(197,168,78); doc.setFont('helvetica','bold'); doc.setFontSize(8); doc.text('Workshop Enquiries:',20,y+6);\n        doc.setTextColor(245,240,232); doc.setFont('helvetica','normal'); doc.text('Shoukathali O P  \u00b7  ',20,y+12);\n        doc.setTextColor(130,190,255); doc.textWithLink('healomax.com\/training\/contact\/', 20+doc.getTextWidth('Shoukathali O P  \u00b7  '), y+12, {url:'https:\/\/healomax.com\/training\/contact\/'});\n        doc.setTextColor(170,180,200); doc.setFontSize(7.5); doc.textWithLink('The Report Generated by: healomax.com\/training\/dcsa-gap-analysis\/', 20, y+18, {url:'https:\/\/healomax.com\/training\/dcsa-gap-analysis\/'});\n        footer(3);\n\n        doc.save(`DCSA_GapAnalysis_${inst.replace(\/\\s+\/g,'_')}.pdf`);\n    }\n\n    function dcsagapanalyse_showToast(msg){\n        const t = document.getElementById('dcsagapanalyse-toast');\n        t.textContent = msg; t.classList.add('show');\n        setTimeout(()=>t.classList.remove('show'),3000);\n    }\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1142","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/pages\/1142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/comments?post=1142"}],"version-history":[{"count":3,"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/pages\/1142\/revisions"}],"predecessor-version":[{"id":1147,"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/pages\/1142\/revisions\/1147"}],"wp:attachment":[{"href":"https:\/\/healomax.com\/training\/wp-json\/wp\/v2\/media?parent=1142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}