#mapdp-app{--ink:#13243a;--muted:#6b7788;--line:#dce3eb;--panel:#fff;--soft:#f5f7fa;font-family:"Bahnschrift Light",Bahnschrift,"Segoe UI",Arial,sans-serif;color:var(--ink);max-width:1400px;margin:0 auto}.mapdp-shell{padding:10px 18px 60px}.mapdp-progress{height:5px;background:#e8edf3;border-radius:10px;margin:0 0 26px;overflow:hidden}.mapdp-progress-fill{height:100%;background:#173e70;transition:width .35s ease}.mapdp-screen{display:none;animation:mapdpIn .35s ease}.mapdp-screen.is-active{display:block}@keyframes mapdpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.mapdp-hero{padding:76px 7%;border-radius:28px;background:linear-gradient(135deg,#f7fbff,#eef3f9);text-align:center}.mapdp-kicker{font-size:12px;letter-spacing:2px;font-weight:700;color:#54708f;margin-bottom:16px}.mapdp-hero h1{font-size:clamp(34px,5vw,68px);line-height:1.03;margin:0 auto 18px;max-width:900px;font-weight:600}.mapdp-hero p{max-width:760px;margin:0 auto 34px;color:#617084;font-size:18px;line-height:1.65}.mapdp-life-line{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px}.mapdp-life-line div{display:flex;align-items:center;gap:10px;padding:12px 4px;color:#536275;font-size:13px}.mapdp-life-line span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#173e70;color:#fff;font-weight:700}.mapdp-heading{display:flex;gap:18px;align-items:flex-start;margin:42px 0 24px}.mapdp-heading>span{font-size:13px;font-weight:700;letter-spacing:1px;color:#718198;padding-top:8px}.mapdp-heading h2{margin:0;font-size:clamp(28px,4vw,46px);font-weight:500}.mapdp-heading p{margin:6px 0 0;color:var(--muted);font-size:16px}.phase-heading{border-left:5px solid var(--phase-color);padding-left:18px}.phase-heading p{color:var(--phase-color);font-weight:600}.mapdp-phase-intro{margin:0 0 22px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fbfcfd;color:#526174}.mapdp-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 12px 36px rgba(24,45,70,.05)}label{display:block;font-size:13px;font-weight:600;color:#566579;margin-bottom:20px}input,textarea,select{font:inherit;box-sizing:border-box}#mapdp-app label>input,#mapdp-app label>textarea,#mapdp-app label>select{display:block;width:100%;margin-top:8px;border:1px solid #ccd6e1;border-radius:10px;padding:13px 14px;color:var(--ink);background:#fff}#mapdp-app textarea{resize:vertical}.mapdp-hint{font-size:13px;color:#78879a}.mapdp-questions{display:grid;gap:16px}.mapdp-question{display:grid;grid-template-columns:58px 1fr;gap:16px;border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.q-number{font-size:12px;font-weight:700;color:#8a97a7;padding-top:5px}.q-body h3{margin:0 0 14px;font-size:18px;font-weight:500}.mapdp-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mapdp-option{appearance:none;text-align:left;border:1px solid #d8e0e8;background:#fafbfd;border-radius:10px;padding:13px 14px;color:#35465a;font:inherit;cursor:pointer;min-height:48px;display:flex;align-items:center;gap:10px;transition:.15s}.mapdp-option:hover{border-color:#9eb3ca;background:#f3f7fb}.mapdp-option.chosen{border-color:#173e70;background:#edf4fb;color:#173e70;font-weight:600}.mapdp-option .check{width:17px;height:17px;border:1.5px solid #9caaba;border-radius:4px;flex:0 0 auto}.mapdp-option.chosen .check{background:#173e70;border-color:#173e70;box-shadow:inset 0 0 0 3px #edf4fb}.mapdp-selected-wrap{margin-top:20px}.selected-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:#6c7a8d}.selected-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:#173e70;color:#fff;margin-left:5px}.mapdp-selected{margin-top:10px;display:grid;gap:8px}.selected-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 14px;border-radius:10px;background:#f4f7fa}.selected-task{display:flex;gap:12px;align-items:flex-start}.selected-task>span{font-size:11px;font-weight:700;color:#8795a5}.selected-task b{display:block;font-size:14px;font-weight:600}.selected-task small{display:block;color:#8793a3;margin-top:3px}.remove-task{border:0;background:transparent;color:#9aa6b5;font-size:22px;cursor:pointer}.mapdp-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.mapdp-btn{border:0;border-radius:10px;padding:13px 20px;font:inherit;font-weight:600;cursor:pointer}.mapdp-btn.primary{background:#173e70;color:#fff}.mapdp-btn.ghost{background:#eef2f6;color:#31445b}.mapdp-btn:disabled{opacity:.6;cursor:not-allowed}.mapdp-btn span{margin-left:8px}.plan-phase{border:1px solid var(--line);border-radius:18px;margin-bottom:18px;overflow:hidden;background:#fff}.plan-phase-title{display:flex;gap:12px;align-items:center;padding:16px 18px;background:#f5f7fa}.plan-phase-title>span{width:30px;height:30px;display:grid;place-items:center;background:#173e70;color:#fff;border-radius:50%;font-weight:700}.plan-phase-title b,.plan-phase-title small{display:block}.plan-phase-title small{font-size:12px;color:#748196;margin-top:2px}.plan-row{display:grid;grid-template-columns:1.8fr .7fr .75fr .75fr 1.4fr;gap:12px;padding:16px 18px;border-top:1px solid var(--line);align-items:end}.plan-task strong,.plan-task small{display:block}.plan-task strong{font-size:14px}.plan-task small{font-size:11px;color:#8490a0;margin-top:4px}.plan-row label{margin:0}.plan-row label>input,.plan-row label>select{margin-top:5px;padding:10px 9px}.empty-plan{padding:30px;text-align:center;color:#7a8797;border:1px dashed #cbd5df;border-radius:14px}.mapdp-complete{text-align:center;padding:80px 20px}.success-mark{width:68px;height:68px;border-radius:50%;background:#eaf7f0;color:#15945a;display:grid;place-items:center;margin:0 auto 22px;font-size:32px;font-weight:700}.mapdp-complete h2{font-size:42px;margin:0 0 12px}.mapdp-complete p{max-width:620px;margin:0 auto 28px;color:#6d7b8c;line-height:1.6}.complete-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}@media(max-width:850px){.mapdp-life-line{grid-template-columns:1fr 1fr}.mapdp-options{grid-template-columns:1fr}.plan-row{grid-template-columns:1fr 1fr}.plan-row .remark{grid-column:1/-1}}@media(max-width:600px){.mapdp-shell{padding-left:10px;padding-right:10px}.mapdp-hero{padding:50px 20px}.mapdp-heading{margin-top:28px}.mapdp-question{grid-template-columns:1fr;padding:16px}.q-number{padding-top:0}.mapdp-life-line{grid-template-columns:1fr}.plan-row{grid-template-columns:1fr}.mapdp-actions{position:sticky;bottom:8px;background:rgba(255,255,255,.94);padding:8px 0;z-index:4}.mapdp-btn{flex:1}.mapdp-complete h2{font-size:32px}}
/* My Task builder */
.mapdp-task-builder{display:grid;grid-template-columns:1fr 1.2fr auto;gap:10px;align-items:end}.mapdp-task-builder label{margin:0}.mapdp-task-builder label>select,.mapdp-task-builder label>input{display:block;width:100%;margin-top:6px;border:1px solid #ccd6e1;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit}.suggested-task-label,.my-task-label{font-size:12px;font-weight:700;color:#68778a}.mapdp-add-task{border:0;border-radius:10px;padding:12px 16px;background:#173e70;color:#fff;font:inherit;font-weight:600;cursor:pointer;min-height:46px;white-space:nowrap}.mapdp-add-task:hover{filter:brightness(.96)}.mapdp-task-help{font-size:12px;color:#8290a0;margin-top:9px}.mapdp-task-help strong{color:#5f6f82}.mapdp-selected-wrap{padding-top:4px}.mapdp-subheading{margin:32px 0 12px}.mapdp-subheading h3{margin:0;font-size:22px;font-weight:600}.mapdp-subheading p{margin:5px 0 0;color:#78879a;font-size:13px}.gantt-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}.gantt-grid{min-width:900px}.gantt-head,.gantt-row{display:grid;grid-template-columns:290px 1fr}.gantt-head{background:#f5f7fa;border-bottom:1px solid var(--line)}.gantt-task-head{padding:13px 15px;font-size:11px;font-weight:700;letter-spacing:.8px;color:#6d7a8d}.gantt-months{display:grid;grid-template-columns:repeat(var(--months),minmax(90px,1fr))}.gantt-months span{padding:13px 8px;text-align:center;font-size:11px;font-weight:700;color:#6d7a8d;border-left:1px solid #e6ebf0}.gantt-row{min-height:58px;border-bottom:1px solid #edf0f4}.gantt-row:last-child{border-bottom:0}.gantt-task{display:flex;align-items:center;gap:9px;padding:9px 12px;min-width:0}.gantt-task>div{min-width:0}.gantt-task b,.gantt-task small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-task b{font-size:12px;font-weight:600}.gantt-task small{font-size:10px;color:#8290a0;margin-top:3px}.gantt-phase{width:26px;height:22px;display:grid;place-items:center;color:#fff;border-radius:6px;font-size:9px;font-weight:700;flex:0 0 auto}.gantt-track{position:relative;display:grid;grid-template-columns:repeat(var(--months),minmax(90px,1fr));align-items:center}.gantt-track>span{height:100%;min-height:58px;border-left:1px solid #edf0f4}.gantt-bar{position:absolute;height:20px;border-radius:10px;background:var(--bar-color);top:19px;min-width:10px;box-shadow:0 2px 6px rgba(20,40,70,.12)}.gantt-empty{padding:28px;text-align:center;color:#7b8999;border:1px dashed #cbd5df;border-radius:14px;background:#fbfcfd}
/* Admin timeline */
.mapdp-admin-gantt{margin-top:12px;overflow-x:auto}.admin-gantt-grid{min-width:900px;border:1px solid #dce3eb;border-radius:12px;overflow:hidden;background:#fff}.admin-gantt-head,.admin-gantt-row{display:grid;grid-template-columns:300px 1fr}.admin-gantt-head{background:#f5f7fa;border-bottom:1px solid #dce3eb}.admin-gantt-head>div{padding:11px;font-size:11px;font-weight:700;color:#68778a}.admin-gantt-head>div:not(:first-child){border-left:1px solid #e5eaf0;text-align:center}.admin-gantt-head>div:nth-child(n+2){display:block}.admin-gantt-head{grid-template-columns:300px repeat(var(--months),minmax(90px,1fr))}.admin-gantt-head>div:first-child{grid-column:1}.admin-gantt-row{grid-template-columns:300px 1fr;border-bottom:1px solid #edf0f4;min-height:55px}.admin-gantt-task{padding:9px 11px}.admin-gantt-task b,.admin-gantt-task small{display:block}.admin-gantt-task b{font-size:12px}.admin-gantt-task small{font-size:10px;color:#7a8796;margin-top:3px}.admin-gantt-track{position:relative;display:grid;grid-template-columns:repeat(var(--months),minmax(90px,1fr));align-items:center}.admin-gantt-track span{min-height:55px;border-left:1px solid #edf0f4}.admin-gantt-track i{position:absolute;height:18px;top:18px;background:#173e70;border-radius:9px;min-width:8px}
@media(max-width:850px){.mapdp-task-builder{grid-template-columns:1fr}.mapdp-add-task{width:100%}.gantt-grid{min-width:760px}}
@media(max-width:600px){.mapdp-task-builder{grid-template-columns:1fr}.mapdp-task-help{line-height:1.5}}
@media print{.gantt-scroll{overflow:visible}.gantt-grid{min-width:0}.gantt-months span{font-size:8px}.gantt-task b{font-size:9px}.gantt-task small{font-size:8px}.gantt-track>span{min-height:38px}.gantt-bar{top:10px;height:16px}.gantt-row{min-height:38px}}
/* v1.2.0 — phase sequencing, premium final layout and phase/task Gantt */
.mapdp-final-grid{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.28fr);gap:20px;align-items:start}
.mapdp-plan-panel,.mapdp-gantt-section{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 16px 45px rgba(24,45,70,.055);min-width:0}
.mapdp-panel-kicker{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#7b8999;margin-bottom:5px}
.mapdp-plan-panel>h3,.mapdp-gantt-section>h3{font-size:22px;font-weight:600;margin:0 0 16px;color:var(--ink)}
.mapdp-plan-panel .plan-phase{box-shadow:none;margin-bottom:12px;border-radius:15px}
.plan-phase-summary{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#f7f9fb,#fff);border-bottom:1px solid var(--line)}
.phase-summary-dot{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800}
.plan-phase-summary strong,.plan-phase-summary small{display:block}.plan-phase-summary strong{font-size:12px}.plan-phase-summary small{font-size:9px;color:#7d8998;margin-top:2px}.phase-dates{font-size:9px;color:#68778a;display:flex;gap:5px;align-items:center;white-space:nowrap}.phase-dates b{font-weight:700}
.plan-phase-note{font-size:10px;line-height:1.45;color:#7b8998;background:#fbfcfd;padding:8px 14px;border-bottom:1px solid var(--line)}
.plan-row{grid-template-columns:1fr 78px 118px 118px}.plan-row .remark{grid-column:1/-1}.plan-row label>input,.plan-row label>select{font-size:12px}
.gantt-scroll{border:0;border-radius:14px;background:#fbfcfd;box-shadow:inset 0 0 0 1px #e2e8ee}
.gantt-grid{min-width:760px}.gantt-head,.gantt-phase-row,.gantt-row{grid-template-columns:205px 1fr}.gantt-head{border-radius:14px 14px 0 0}.gantt-task-head{padding:12px 13px}.gantt-calendar{display:flex;min-width:0}.gantt-calendar span{display:block;text-align:center;padding:12px 4px;font-size:10px;font-weight:700;color:#6d7a8d;border-left:1px solid #e6ebf0;box-sizing:border-box;white-space:nowrap}
.gantt-phase-row{min-height:48px;border-bottom:1px solid #e7ebf0;background:#f8fafb}.gantt-phase-label{display:flex;align-items:center;gap:8px;padding:8px 10px}.gantt-phase-label>span{width:25px;height:22px;border-radius:6px;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:800}.gantt-phase-label b,.gantt-phase-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-phase-label b{font-size:10px}.gantt-phase-label small{font-size:8px;color:#8490a0;margin-top:2px}.gantt-phase-row .gantt-track{min-height:48px}
.gantt-phase-bar{position:absolute;top:13px;height:22px;border-radius:11px;background:var(--bar-color);box-shadow:0 3px 8px rgba(20,40,70,.14);display:flex;align-items:center;padding:0 9px;box-sizing:border-box;overflow:hidden}.gantt-phase-bar span{color:#fff;font-size:8px;font-weight:800;letter-spacing:.7px;white-space:nowrap}
.gantt-row{min-height:48px}.gantt-track{position:relative;display:grid;grid-template-columns:repeat(var(--months),minmax(1px,1fr));align-items:center;min-width:0}.gantt-track>span{height:100%;min-height:48px;border-left:1px solid #edf0f4}.gantt-bar{top:16px;height:16px;box-shadow:none}
.gantt-empty{min-height:220px;display:grid;place-items:center;padding:28px;text-align:center;color:#7b8999;border:1px dashed #cbd5df;border-radius:14px;background:#fbfcfd}
.mapdp-complete{background:linear-gradient(145deg,#fff,#f7f9fc);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 55px rgba(24,45,70,.07)}
@media(max-width:1100px){.mapdp-final-grid{grid-template-columns:1fr}.mapdp-gantt-section{overflow:hidden}.gantt-scroll{overflow-x:auto}.plan-row{grid-template-columns:1fr 78px 118px 118px}}
@media(max-width:700px){.mapdp-final-grid{gap:14px}.mapdp-plan-panel,.mapdp-gantt-section{padding:16px;border-radius:18px}.plan-row{grid-template-columns:1fr 1fr}.plan-row .remark{grid-column:1/-1}.plan-phase-summary{grid-template-columns:30px 1fr}.phase-dates{grid-column:2}.gantt-grid{min-width:680px}}
@media print{.mapdp-final-grid{grid-template-columns:1fr 1.2fr;gap:12px}.mapdp-plan-panel,.mapdp-gantt-section{box-shadow:none;padding:12px}.gantt-grid{min-width:0}.gantt-calendar span{font-size:7px}.gantt-task b{font-size:8px}.gantt-task small{font-size:7px}.gantt-phase-label b{font-size:8px}.gantt-phase-label small{font-size:7px}.gantt-phase-bar span{font-size:6px}}
/* v1.2.3 — strict phase date locking and premium final PDP */
.phase-lock-note{margin:0 0 18px;padding:12px 16px;border:1px solid #e5d6aa;background:#fffaf0;border-radius:12px;color:#806a36;font-size:12px}
.phase-screen.is-locked .mapdp-task-builder{opacity:.78}
.phase-screen.is-locked .mapdp-my-task,.phase-screen.is-locked .mapdp-task-select{background:#f7f8fa}
.mapdp-final-hero{background:linear-gradient(145deg,#f8fbff,#eef3f8);border:1px solid var(--line);border-radius:24px;padding:30px 34px;margin-top:34px;box-shadow:0 18px 55px rgba(24,45,70,.06)}
.mapdp-final-eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#708096;margin-bottom:18px}
.mapdp-final-title-row{display:flex;align-items:center;gap:18px}
.mapdp-final-title-row .success-mark{margin:0;width:54px;height:54px;font-size:26px;flex:0 0 auto}
.mapdp-final-title-row h2{font-size:clamp(28px,4vw,42px);font-weight:500;margin:0 0 4px}
.mapdp-final-title-row p{margin:0;color:#6f7e91;font-size:14px}
.mapdp-final-ambition{margin-top:22px;border-left:5px solid #173e70;background:#fff;border-radius:0 14px 14px 0;padding:15px 18px}
.mapdp-final-ambition span{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#173e70}
.mapdp-final-ambition p{font-size:15px;line-height:1.6;margin:6px 0 0;color:#25374c}
.mapdp-final-output{margin-top:20px}
.final-phase{border:1px solid var(--line);border-radius:15px;overflow:hidden;margin-bottom:12px;background:#fff}
.final-phase-head{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:11px 12px;background:#f7f9fb;border-left:4px solid var(--phase-color)}
.final-phase-dot{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--phase-color);font-size:9px;font-weight:800}
.final-phase-head b,.final-phase-head small{display:block}.final-phase-head b{font-size:11px}.final-phase-head small{font-size:8px;color:#7c8998;margin-top:2px}.final-phase-head time{font-size:8px;color:#68778a;white-space:nowrap}
.final-task{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:start;padding:10px 12px;border-top:1px solid #edf0f4}
.final-task-index{font-size:9px;color:#8b98a7;font-weight:800;padding-top:2px}.final-task-main b,.final-task-main small{display:block}.final-task-main b{font-size:11px;font-weight:600}.final-task-main small{font-size:8px;color:#7f8c9b;margin-top:3px;line-height:1.4}.final-task>time{grid-column:2/-1;font-size:8px;color:#8793a1}
.final-priority{font-size:8px;font-weight:800;padding:4px 6px;border-radius:7px;background:#eef2f6}.final-priority.high{background:#fff0f0;color:#a33}.final-priority.medium{background:#fff8e8;color:#8b6b25}.final-priority.low{background:#eef8f2;color:#32704c}
.mapdp-final-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:22px 0 10px}
@media(max-width:700px){.mapdp-final-hero{padding:22px 18px}.mapdp-final-title-row{align-items:flex-start}.final-phase-head{grid-template-columns:28px 1fr}.final-phase-head time{grid-column:2}.final-task{grid-template-columns:24px 1fr}.final-task>.final-priority{grid-column:2}.final-task>time{grid-column:2}.mapdp-final-actions .mapdp-btn{flex:1}}
@media print{.mapdp-final-hero{box-shadow:none}.mapdp-final-output{margin-top:12px}.final-phase{break-inside:avoid}.final-task{break-inside:avoid}}

/* v1.2.9 — controlled date calendar; no browser-native date picker */
.mapdp-date-input{cursor:pointer!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7788' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat right 11px center!important;padding-right:40px!important}
.mapdp-date-input:disabled{cursor:not-allowed!important;background-color:#f3f5f7!important;opacity:.65}
.mapdp-calendar{position:fixed;z-index:999999;width:292px;padding:12px;background:#fff;border:1px solid #d8e1ea;border-radius:15px;box-shadow:0 18px 50px rgba(19,36,58,.18);font-family:"Bahnschrift Light",Bahnschrift,"Segoe UI",Arial,sans-serif}
.mapdp-cal-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:5px;margin-bottom:10px}
.mapdp-cal-head strong{text-align:center;font-size:14px;font-weight:600;color:#24374d}
.mapdp-cal-head button{width:34px;height:34px;border:0;border-radius:9px;background:#f2f5f8;color:#4d6075;font-size:22px;line-height:1;cursor:pointer}
.mapdp-cal-head button:hover{background:#e8eef4}
.mapdp-cal-week,.mapdp-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.mapdp-cal-week span{text-align:center;padding:5px 0;color:#8a97a7;font-size:9px;font-weight:700;text-transform:uppercase}
.mapdp-cal-day,.mapdp-cal-days .empty{height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:#fff;color:#33465b;font:inherit;font-size:12px}
.mapdp-cal-day{cursor:pointer}
.mapdp-cal-day:hover:not(:disabled){background:#edf4fb;color:#173e70}
.mapdp-cal-day.selected{background:#173e70;color:#fff;font-weight:700}
.mapdp-cal-day:disabled,.mapdp-cal-day.disabled{cursor:not-allowed;color:#c5cdd6;background:#fafbfc}
.mapdp-cal-note{margin-top:10px;padding-top:9px;border-top:1px solid #edf0f4;text-align:center;color:#7c8998;font-size:10px}
.mapdp-cal-note b{color:#52667c}
@media(max-width:600px){.mapdp-calendar{width:min(292px,calc(100vw - 20px))}}




/* v2.0.5 — true viewport breakout + 1400px review layout */
.mapdp-viewport{
  width:100vw;
  position:relative;
  left:50%;
  margin-left:-50vw;
  box-sizing:border-box;
}
#mapdp-app.mapdp-app{
  width:min(1400px,calc(100vw - 40px));
  max-width:1400px;
  margin:0 auto;
  box-sizing:border-box;
}
#mapdp-app .mapdp-shell{width:100%;max-width:none;box-sizing:border-box}
#mapdp-app .mapdp-final-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:24px;
  align-items:start;
}
#mapdp-app .mapdp-plan-panel,#mapdp-app .mapdp-gantt-section{min-width:0;box-sizing:border-box;padding:24px}
#mapdp-app .mapdp-plan-panel .plan-phase{width:100%;box-sizing:border-box}
#mapdp-app .plan-row{
  grid-template-columns:minmax(250px,2fr) minmax(90px,.65fr) minmax(130px,.9fr) minmax(130px,.9fr) minmax(220px,1.5fr);
  gap:14px;
  padding:18px 20px;
}
#mapdp-app .plan-task{min-width:0}
#mapdp-app .plan-task strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
#mapdp-app .plan-task small{font-size:11px;line-height:1.4}
#mapdp-app .plan-row label{min-width:0}
#mapdp-app .plan-row label>input,#mapdp-app .plan-row label>select{width:100%;min-width:0;min-height:42px;padding:10px 11px;box-sizing:border-box}
#mapdp-app .gantt-scroll{width:100%;max-width:100%;overflow-x:auto}
#mapdp-app .gantt-grid{min-width:1000px}
@media(max-width:1100px){
  #mapdp-app.mapdp-app{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}
  #mapdp-app .mapdp-final-grid{grid-template-columns:1fr}
  #mapdp-app .plan-row{grid-template-columns:minmax(280px,1.8fr) 100px 130px 130px minmax(220px,1.4fr)}
}
@media(max-width:850px){
  #mapdp-app .plan-row{grid-template-columns:1fr 1fr}
  #mapdp-app .plan-row .remark{grid-column:1/-1}
}
@media(max-width:600px){
  .mapdp-viewport{width:100%;left:0;margin-left:0}
  #mapdp-app.mapdp-app{width:100%;max-width:none}
  #mapdp-app .mapdp-shell{padding-left:10px;padding-right:10px}
  #mapdp-app .plan-row{grid-template-columns:1fr}
  #mapdp-app .plan-row .remark{grid-column:auto}
}

/* v2.0.6 — full-width development plan with Gantt below */
#mapdp-app .mapdp-plan-panel,
#mapdp-app .mapdp-gantt-section{
  width:100%;
  box-sizing:border-box;
}
#mapdp-app .mapdp-plan-panel{
  overflow:visible;
}
#mapdp-app .mapdp-gantt-section{
  overflow:hidden;
}
@media print{
  #mapdp-app .mapdp-final-grid{grid-template-columns:1fr;gap:16px}
}

/* v2.0.7 — definitive review-screen layout: full plan first, Gantt below */
#mapdp-app .mapdp-final-grid,
#mapdp-app .mapdp-final-grid.mapdp-final-output{
  display:block !important;
  width:100% !important;
  max-width:none !important;
}
#mapdp-app .mapdp-final-grid > .mapdp-plan-panel,
#mapdp-app .mapdp-final-grid > .mapdp-gantt-section{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
#mapdp-app .mapdp-final-grid > .mapdp-plan-panel{
  margin:0 0 24px 0 !important;
  overflow:visible !important;
}
#mapdp-app .mapdp-final-grid > .mapdp-gantt-section{
  margin:0 !important;
  overflow:visible !important;
}
#mapdp-app .mapdp-final-grid .plan-row{
  width:100% !important;
  grid-template-columns:minmax(300px,2fr) minmax(100px,.65fr) minmax(140px,.9fr) minmax(140px,.9fr) minmax(240px,1.5fr) !important;
}
#mapdp-app .mapdp-final-grid .gantt-scroll{
  width:100% !important;
  max-width:none !important;
  overflow-x:auto !important;
}
@media(max-width:900px){
  #mapdp-app .mapdp-final-grid .plan-row{
    grid-template-columns:minmax(260px,1.8fr) 100px 130px 130px minmax(220px,1.4fr) !important;
  }
}
@media(max-width:700px){
  #mapdp-app .mapdp-final-grid .plan-row{
    grid-template-columns:1fr 1fr !important;
  }
  #mapdp-app .mapdp-final-grid .plan-row .remark{grid-column:1/-1 !important}
}
@media(max-width:600px){
  #mapdp-app .mapdp-final-grid .plan-row{grid-template-columns:1fr !important}
  #mapdp-app .mapdp-final-grid .plan-row .remark{grid-column:auto !important}
}

/* v2.1.4 premium timeline presentation */
#mapdp-app .mapdp-final-output .gantt-grid{min-width:0!important;width:100%!important}
#mapdp-app .mapdp-final-output .gantt-head,#mapdp-app .mapdp-final-output .gantt-phase-row,#mapdp-app .mapdp-final-output .gantt-row{grid-template-columns:290px 1fr!important}
#mapdp-app .mapdp-final-output .gantt-track{grid-template-columns:repeat(var(--timeline-units),minmax(var(--timeline-min-col),1fr))!important}
#mapdp-app .mapdp-final-output .gantt-calendar span{flex:0 0 auto!important;font-size:12px!important;line-height:1.2!important;font-weight:700!important;color:#52657b!important;padding:13px 5px!important;box-sizing:border-box!important}
#mapdp-app .mapdp-final-output .gantt-task-head{font-size:12px!important;padding:14px 17px!important}
#mapdp-app .mapdp-final-output .gantt-phase-row,#mapdp-app .mapdp-final-output .gantt-row{min-height:64px!important}
#mapdp-app .mapdp-final-output .gantt-phase-label{padding:13px 17px!important}
#mapdp-app .mapdp-final-output .gantt-phase-label b{font-size:13px!important;line-height:1.35!important}
#mapdp-app .mapdp-final-output .gantt-phase-label small{font-size:11px!important;margin-top:4px!important}
#mapdp-app .mapdp-final-output .gantt-task{padding:13px 17px!important}
#mapdp-app .mapdp-final-output .gantt-task b{font-size:13px!important;line-height:1.35!important}
#mapdp-app .mapdp-final-output .gantt-task small{font-size:11px!important;margin-top:4px!important}
#mapdp-app .mapdp-final-output .gantt-phase-bar{height:27px!important;top:18px!important;border-radius:14px!important}
#mapdp-app .mapdp-final-output .gantt-bar{height:18px!important;top:23px!important;border-radius:9px!important}
#mapdp-app .mapdp-final-output .gantt-phase-bar span{font-size:10px!important}
@media(max-width:900px){#mapdp-app .mapdp-final-output .gantt-grid{min-width:900px!important}}

/* v2.1.6 — Standard Gantt presentation: rectangular timeline bars */
#mapdp-app .mapdp-final-output .gantt-phase-bar,
#mapdp-app .mapdp-final-output .gantt-bar{
  border-radius:2px !important;
  box-shadow:none !important;
}
#mapdp-app .mapdp-final-output .gantt-phase-bar{
  height:26px !important;
  top:19px !important;
  padding:0 10px !important;
}
#mapdp-app .mapdp-final-output .gantt-bar{
  height:16px !important;
  top:24px !important;
}
#mapdp-app .mapdp-final-output .gantt-phase-row{
  background:#f7f9fb !important;
}
#mapdp-app .mapdp-final-output .gantt-track{
  background-image:linear-gradient(to right, transparent 0, transparent calc(100% - 1px), #e5eaf0 calc(100% - 1px), #e5eaf0 100%);
}
#mapdp-app .mapdp-final-output .gantt-calendar span{
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* v2.1.7 — Rectangular Gantt bars on BOTH live PDP screens; report styling remains unchanged */
#mapdp-app .gantt-phase-bar,
#mapdp-app .gantt-bar{
  border-radius:0 !important;
  box-shadow:none !important;
}
#mapdp-app .gantt-phase-bar{
  height:26px !important;
  top:19px !important;
  padding:0 10px !important;
}
#mapdp-app .gantt-bar{
  height:16px !important;
  top:24px !important;
}

/* v2.1.8 — final Gantt appearance */
#mapdp-app .gantt-phase-bar,
#mapdp-app .gantt-bar,
#mapdp-app .rg-phase i,
#mapdp-app .rg-task i{
  border-radius:0 !important;
  box-shadow:none !important;
}
#mapdp-app .gantt-phase-bar,
#mapdp-app .rg-phase i{
  opacity:1 !important;
}
#mapdp-app .gantt-bar,
#mapdp-app .rg-task i{
  opacity:.42 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* v2.1.9 — critical live Gantt alignment fix */
#mapdp-app .gantt-phase-row{display:grid !important;grid-template-columns:205px 1fr !important;}
@media(max-width:900px){#mapdp-app .gantt-phase-row{grid-template-columns:205px 1fr !important;}}

/* v2.2.0 — definitive live-Gantt alignment */
#mapdp-app .gantt-phase-row{
  display:grid !important;
  grid-template-columns:205px minmax(0,1fr) !important;
  width:100% !important;
}
#mapdp-app .gantt-phase-row > .gantt-phase-label{
  grid-column:1 !important;
  min-width:0 !important;
}
#mapdp-app .gantt-phase-row > .gantt-track{
  grid-column:2 !important;
  position:relative !important;
  display:block !important;
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
}
#mapdp-app .gantt-row{
  display:grid !important;
  grid-template-columns:205px minmax(0,1fr) !important;
  width:100% !important;
}
#mapdp-app .gantt-row > .gantt-task{
  grid-column:1 !important;
  min-width:0 !important;
}
#mapdp-app .gantt-row > .gantt-track{
  grid-column:2 !important;
  position:relative !important;
  min-width:0 !important;
  width:100% !important;
}

/* Phase bars: solid, rectangular, darker */
#mapdp-app .gantt-phase-bar,
#mapdp-app .rg-phase i{
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
}

/* Task bars: solid, rectangular, intentionally lighter */
#mapdp-app .gantt-bar{
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:.48 !important;
  display:block !important;
  visibility:visible !important;
  /* Keep the inline background colour supplied by JavaScript. */
}
#mapdp-app .rg-task i{
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:.55 !important;
}

/* v2.2.1 — deterministic Gantt alignment and colour hierarchy */
#mapdp-app .gantt-phase-row,
#mapdp-app .gantt-row{
  display:grid !important;
  grid-template-columns:205px minmax(0,1fr) !important;
}
#mapdp-app .gantt-phase-row>.gantt-track,
#mapdp-app .gantt-row>.gantt-track{
  grid-column:2 !important;
  position:relative !important;
  min-width:0 !important;
}
#mapdp-app .gantt-phase-bar,
#mapdp-app .gantt-bar{
  border-radius:0 !important;
  box-shadow:none !important;
}

/* v2.2.2 — phase and task bars share one explicit timeline track */
#mapdp-app .gantt-phase-row,
#mapdp-app .gantt-row{
  display:flex !important;
  width:100% !important;
}
#mapdp-app .gantt-phase-label,
#mapdp-app .gantt-task{
  flex:0 0 205px !important;
  width:205px !important;
}
#mapdp-app .gantt-phase-track,
#mapdp-app .gantt-track{
  flex:1 1 auto !important;
  min-width:0 !important;
  position:relative !important;
}
#mapdp-app .gantt-phase-bar,
#mapdp-app .gantt-bar{
  border-radius:0 !important;
  box-shadow:none !important;
}

/* v2.2.4 — deterministic task-bar visibility */
#mapdp-app .gantt-bar{
  display:block !important;
  visibility:visible !important;
}

/* v2.2.6 — premium participant access screen */
.mapdp-access-wrap{min-height:545px;display:flex;align-items:center;justify-content:center;padding:52px 22px;background:linear-gradient(135deg,#f7f9fc 0%,#eef3f8 100%);font-family:Bahnschrift Light,Bahnschrift,"Segoe UI",Arial,sans-serif;position:relative;overflow:hidden}
.mapdp-access-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,rgba(38,91,145,.08),transparent 34%),radial-gradient(circle at 82% 82%,rgba(23,62,112,.06),transparent 32%);pointer-events:none}
.mapdp-access-card{position:relative;width:min(560px,100%);background:rgba(255,255,255,.97);border:1px solid #dbe4ed;border-top:4px solid #173e70;box-shadow:0 24px 70px rgba(22,48,77,.14),0 4px 12px rgba(22,48,77,.05);padding:46px 52px 42px;text-align:center}
.mapdp-access-card:after{content:"";position:absolute;left:52px;right:52px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#d9e2eb,transparent)}
.mapdp-access-kicker{font-size:10px;letter-spacing:2.2px;font-weight:800;color:#718195;margin-bottom:24px}
.mapdp-access-icon{width:58px;height:58px;margin:0 auto 21px;display:grid;place-items:center;background:#173e70;border-radius:50%;box-shadow:0 10px 24px rgba(23,62,112,.20);position:relative}
.mapdp-access-icon:before{content:"";width:17px;height:14px;border:2px solid #fff;border-radius:3px;position:absolute;top:25px;left:19px;box-sizing:border-box}
.mapdp-access-icon:after{content:"";width:11px;height:10px;border:2px solid #fff;border-bottom:0;border-radius:8px 8px 0 0;position:absolute;top:17px;left:22px;box-sizing:border-box}
.mapdp-access-card h2{margin:0;color:#172b42;font-size:30px;line-height:1.18;font-weight:500;letter-spacing:-.3px}
.mapdp-access-card>p{margin:11px 0 29px;color:#718195;font-size:14px;line-height:1.6}
.mapdp-access-card label{display:block;text-align:left;color:#53677d;font-size:10px;letter-spacing:1.5px;font-weight:800}
.mapdp-access-card input{display:block;width:100%;height:52px;margin-top:9px;padding:0 16px;border:1px solid #cdd8e3;background:#fff;color:#172b42;font:16px Bahnschrift Light,Bahnschrift,"Segoe UI",Arial,sans-serif;outline:none;box-shadow:inset 0 1px 2px rgba(20,40,60,.03);transition:border-color .18s,box-shadow .18s}
.mapdp-access-card input:hover{border-color:#b9c7d5}
.mapdp-access-card input:focus{border-color:#173e70;box-shadow:0 0 0 4px rgba(23,62,112,.09)}
.mapdp-access-card .mapdp-btn{width:100%;margin-top:17px;min-height:50px;justify-content:center;font-size:14px;letter-spacing:.2px;box-shadow:0 8px 18px rgba(23,62,112,.16)}
.mapdp-access-message{min-height:22px;margin-top:13px;font-size:12px;color:#718194}
.mapdp-access-message.error{color:#b42318}
@media(max-width:600px){.mapdp-access-wrap{min-height:500px;padding:30px 14px}.mapdp-access-card{padding:36px 24px 34px}.mapdp-access-card:after{left:24px;right:24px}.mapdp-access-card h2{font-size:24px}.mapdp-access-kicker{font-size:9px;letter-spacing:1.7px}}

/* v2.2.6.2 — refined premium access gate + cache-busted assets */
#mapdp-app .mapdp-access-wrap{
  min-height:520px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:56px 24px!important;
  background:linear-gradient(135deg,#f7fafc 0%,#edf3f8 100%)!important;
  position:relative!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  font-family:"Bahnschrift Light",Bahnschrift,"Segoe UI",Arial,sans-serif!important;
}
#mapdp-app .mapdp-access-wrap:before{
  content:"";position:absolute;inset:-20%;pointer-events:none!important;
  background:radial-gradient(circle at 20% 20%,rgba(23,62,112,.10),transparent 28%),radial-gradient(circle at 80% 75%,rgba(37,99,168,.08),transparent 30%)!important;
}
#mapdp-app .mapdp-access-card{
  position:relative!important;
  z-index:1!important;
  width:min(600px,100%)!important;
  padding:48px 58px 50px!important;
  margin:0 auto!important;
  background:rgba(255,255,255,.985)!important;
  border:1px solid #d9e3ec!important;
  border-top:5px solid #173e70!important;
  border-radius:22px!important;
  box-shadow:0 28px 80px rgba(22,48,77,.16),0 5px 16px rgba(22,48,77,.06)!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
#mapdp-app .mapdp-access-kicker{font-size:10px!important;letter-spacing:2.5px!important;font-weight:700!important;color:#6c7d91!important;margin:0 0 24px!important}
#mapdp-app .mapdp-access-icon{width:64px!important;height:64px!important;margin:0 auto 24px!important;border-radius:50%!important;background:linear-gradient(145deg,#214e82,#173e70)!important;box-shadow:0 12px 28px rgba(23,62,112,.22)!important}
#mapdp-app .mapdp-access-card h2{margin:0!important;color:#162b43!important;font-size:32px!important;line-height:1.18!important;font-weight:500!important;letter-spacing:-.4px!important}
#mapdp-app .mapdp-access-card>p{margin:12px 0 30px!important;color:#748396!important;font-size:14px!important;line-height:1.6!important}
#mapdp-app .mapdp-access-card label{display:block!important;text-align:left!important;color:#52667c!important;font-size:10px!important;letter-spacing:1.6px!important;font-weight:700!important}
#mapdp-app .mapdp-access-card input#mapdp-access-code{display:block!important;width:100%!important;height:54px!important;margin:9px 0 0!important;padding:0 17px!important;border:1px solid #cbd7e2!important;border-radius:10px!important;background:#fff!important;color:#172b42!important;font:16px "Bahnschrift Light",Bahnschrift,"Segoe UI",Arial,sans-serif!important;box-sizing:border-box!important;outline:none!important;box-shadow:inset 0 1px 2px rgba(20,40,60,.03)!important}
#mapdp-app .mapdp-access-card input#mapdp-access-code:focus{border-color:#173e70!important;box-shadow:0 0 0 4px rgba(23,62,112,.10)!important}
#mapdp-app .mapdp-access-card button#mapdp-access-continue{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:54px!important;margin:18px 0 0!important;padding:0 22px!important;
  border:0!important;border-radius:10px!important;background:#173e70!important;color:#fff!important;
  font:600 14px "Bahnschrift Light",Bahnschrift,"Segoe UI",Arial,sans-serif!important;
  letter-spacing:.2px!important;cursor:pointer!important;opacity:1!important;
  box-shadow:0 10px 22px rgba(23,62,112,.20)!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
}
#mapdp-app .mapdp-access-card button#mapdp-access-continue:hover:not(:disabled){background:#12345f!important;transform:translateY(-1px)!important;box-shadow:0 13px 26px rgba(23,62,112,.24)!important}
#mapdp-app .mapdp-access-card button#mapdp-access-continue:disabled{cursor:wait!important;opacity:.72!important}
#mapdp-app .mapdp-access-card button#mapdp-access-continue.is-loading{position:relative!important}
#mapdp-app .mapdp-access-card button#mapdp-access-continue.is-loading:after{content:"";width:14px;height:14px;margin-left:9px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:mapdpSpin .7s linear infinite}
#mapdp-app .mapdp-access-message{min-height:20px!important;margin:13px 0 0!important;font-size:12px!important;color:#728195!important}
#mapdp-app .mapdp-access-message.error{color:#b42318!important}
#mapdp-app .mapdp-access-wrap.is-unlocked .mapdp-access-card{opacity:0!important;transform:translateY(-6px) scale(.99)!important;transition:opacity .18s ease,transform .18s ease!important}
@keyframes mapdpSpin{to{transform:rotate(360deg)}}
@media(max-width:650px){
  /* Wider mobile access card: use almost the full available screen width without shrinking typography. */
  #mapdp-app .mapdp-access-wrap{min-height:470px!important;padding:34px 4px!important}
  #mapdp-app .mapdp-access-card{width:100%!important;max-width:none!important;padding:38px 22px 40px!important;border-radius:18px!important}
  #mapdp-app .mapdp-access-card h2{font-size:25px!important}
}
@media(max-width:400px){
  #mapdp-app .mapdp-access-wrap{padding-left:2px!important;padding-right:2px!important}
  #mapdp-app .mapdp-access-card{padding-left:18px!important;padding-right:18px!important}
}

/* v2.2.6.3 — wider mobile cards across the complete PDP interface */
@media (max-width:650px){
  #mapdp-app.mapdp-app{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  #mapdp-app .mapdp-shell{
    padding-left:4px!important;
    padding-right:4px!important;
  }
  /* Let every principal content card use the available mobile width. */
  #mapdp-app .mapdp-hero,
  #mapdp-app .mapdp-card,
  #mapdp-app .mapdp-question,
  #mapdp-app .mapdp-phase-intro,
  #mapdp-app .plan-phase,
  #mapdp-app .mapdp-task-builder,
  #mapdp-app .mapdp-selected-wrap,
  #mapdp-app .mapdp-complete,
  #mapdp-app .mapdp-final-output,
  #mapdp-app .mapdp-final-grid,
  #mapdp-app .mapdp-plan-panel,
  #mapdp-app .mapdp-gantt-section,
  #mapdp-app .gantt-scroll{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  #mapdp-app .mapdp-hero{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  #mapdp-app .mapdp-question,
  #mapdp-app .mapdp-card,
  #mapdp-app .plan-phase{
    margin-left:0!important;
    margin-right:0!important;
  }
  #mapdp-app .mapdp-phase-intro{padding-left:16px!important;padding-right:16px!important}
  #mapdp-app .mapdp-task-builder{padding-left:16px!important;padding-right:16px!important}
  #mapdp-app .mapdp-selected-wrap{padding-left:0!important;padding-right:0!important}
  #mapdp-app .mapdp-complete{padding-left:16px!important;padding-right:16px!important}
  #mapdp-app .mapdp-final-output .gantt-grid{width:100%!important;min-width:900px!important}
}
@media (max-width:400px){
  #mapdp-app .mapdp-shell{padding-left:2px!important;padding-right:2px!important}
  #mapdp-app .mapdp-hero{padding-left:14px!important;padding-right:14px!important}
  #mapdp-app .mapdp-question{padding-left:14px!important;padding-right:14px!important}
  #mapdp-app .mapdp-card{padding-left:16px!important;padding-right:16px!important}
}

/* v2.2.6 — Youth Discovery Experience: colourful, guided assessment */
#mapdp-app .mapdp-milestones{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px!important;
  margin:26px 0 8px!important;position:relative;padding:0 2px 4px!important;
}
#mapdp-app .mapdp-milestones:before{
  content:"";position:absolute;left:8%;right:8%;top:23px;height:3px;
  background:linear-gradient(90deg,#2563a8,#15945a,#ee7b20,#7040a8,#d52f55);opacity:.18;z-index:0;
}
#mapdp-app .mapdp-milestone{position:relative;z-index:1;text-align:center;min-width:0;padding:0 3px!important}
#mapdp-app .mapdp-milestone span{
  width:46px;height:46px;margin:0 auto 8px;display:grid;place-items:center;border-radius:50%;
  background:var(--milestone-color);color:#fff;font-size:15px;font-weight:700;box-shadow:0 8px 18px rgba(31,49,72,.12);
  border:4px solid #fff;outline:1px solid color-mix(in srgb,var(--milestone-color) 20%,#fff);
}
#mapdp-app .mapdp-milestone b{display:block;font-size:11px;line-height:1.25;color:#26384d;text-transform:uppercase;letter-spacing:.035em}
#mapdp-app .mapdp-milestone small{display:block;margin-top:3px;color:#7b8998;font-size:9px;line-height:1.25}
#mapdp-app .mapdp-milestone-banner{
  display:flex;align-items:center;gap:16px;margin:20px 0 14px;padding:16px 18px;border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--phase-color) 10%,#fff),#fff 72%);
  border:1px solid color-mix(in srgb,var(--phase-color) 18%,#e8edf3);
  box-shadow:0 10px 30px rgba(28,45,67,.06);position:relative;overflow:hidden;
}
#mapdp-app .mapdp-milestone-banner:after{content:"";position:absolute;right:-30px;top:-35px;width:120px;height:120px;border-radius:50%;background:var(--phase-color);opacity:.06}
#mapdp-app .milestone-badge{width:56px;height:56px;flex:0 0 56px;border-radius:15px;background:var(--phase-color);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 18px color-mix(in srgb,var(--phase-color) 22%,transparent)}
#mapdp-app .milestone-badge span{font-size:20px;font-weight:700;line-height:1}
#mapdp-app .milestone-badge small{font-size:7px;letter-spacing:.12em;margin-top:4px;opacity:.9}
#mapdp-app .mapdp-milestone-banner strong{display:block;color:#26384d;font-size:18px;line-height:1.2}
#mapdp-app .mapdp-milestone-banner em{display:block;margin-top:4px;color:var(--phase-color);font-size:12px;font-style:normal;font-weight:600}
#mapdp-app .mapdp-question-progress{margin:20px 0 16px;padding:0 2px}
#mapdp-app .question-progress-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:8px}
#mapdp-app .question-progress-meta span{font-size:9px;letter-spacing:.14em;font-weight:700;color:#8b97a6}
#mapdp-app .question-progress-meta b{font-size:11px;color:#45586d}
#mapdp-app .question-progress-track{height:5px;border-radius:5px;background:#edf1f5;overflow:hidden}
#mapdp-app .question-progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--phase-color,#2563a8),color-mix(in srgb,var(--phase-color,#2563a8) 55%,#fff));border-radius:5px;transition:width .35s ease}
#mapdp-app .mapdp-question{display:none!important;animation:mapdpQuestionIn .35s ease}
#mapdp-app .mapdp-question.is-question-active{display:block!important}
@keyframes mapdpQuestionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#mapdp-app .mapdp-question.attention{animation:mapdpShake .45s ease}
@keyframes mapdpShake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
#mapdp-app .mapdp-question .q-number{background:linear-gradient(135deg,var(--phase-color,#2563a8),color-mix(in srgb,var(--phase-color,#2563a8) 65%,#fff))!important;color:#fff!important;border-radius:12px!important;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;font-weight:700!important;box-shadow:0 7px 18px rgba(31,49,72,.12)!important}
#mapdp-app .mapdp-choice-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0 13px}
#mapdp-app .mapdp-choice-card{position:relative;display:flex;align-items:center;gap:11px;text-align:left;width:100%;min-height:58px;padding:11px 38px 11px 12px;border:1px solid #e3e9ef;border-radius:13px;background:#fff;color:#34485d;cursor:pointer;transition:all .18s ease;font:inherit;box-shadow:0 3px 12px rgba(28,45,67,.035)}
#mapdp-app .mapdp-choice-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--phase-color,#2563a8) 35%,#e3e9ef);box-shadow:0 8px 20px rgba(28,45,67,.08)}
#mapdp-app .mapdp-choice-card.is-selected{border-color:var(--phase-color,#2563a8);background:color-mix(in srgb,var(--phase-color,#2563a8) 8%,#fff);box-shadow:0 8px 20px color-mix(in srgb,var(--phase-color,#2563a8) 12%,transparent)}
#mapdp-app .choice-letter{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:grid;place-items:center;background:#f0f3f7;color:#718096;font-size:11px;font-weight:700}
#mapdp-app .is-selected .choice-letter{background:var(--phase-color,#2563a8);color:#fff}
#mapdp-app .choice-text{font-size:12px;line-height:1.35;font-weight:600}
#mapdp-app .choice-check{position:absolute;right:12px;opacity:0;color:var(--phase-color,#2563a8);font-weight:800;font-size:15px}
#mapdp-app .is-selected .choice-check{opacity:1}
#mapdp-app .mapdp-select-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;padding:0!important;margin:-1px!important}
#mapdp-app .mapdp-question-nav{display:flex;justify-content:flex-end;margin-top:12px}
#mapdp-app .mapdp-question-next{border:0;background:transparent;color:var(--phase-color,#2563a8);font:inherit;font-size:12px;font-weight:700;padding:8px 0;cursor:pointer}
#mapdp-app .mapdp-question-next:hover{text-decoration:underline}
#mapdp-app .mapdp-question.task-added .mapdp-task-builder{box-shadow:0 0 0 2px color-mix(in srgb,var(--phase-color,#2563a8) 16%,transparent);border-radius:15px}
#mapdp-app .mapdp-phase-intro{font-size:13px;line-height:1.6;color:#637387;max-width:850px}
@media(max-width:700px){
  #mapdp-app .mapdp-milestones{gap:4px!important;margin-top:18px!important}
  #mapdp-app .mapdp-milestones:before{left:7%;right:7%;top:20px}
  #mapdp-app .mapdp-milestone span{width:40px;height:40px;font-size:13px}
  #mapdp-app .mapdp-milestone b{font-size:8px}
  #mapdp-app .mapdp-milestone small{display:none}
  #mapdp-app .mapdp-milestone-banner{padding:13px 14px;gap:12px;border-radius:15px}
  #mapdp-app .milestone-badge{width:48px;height:48px;flex-basis:48px}
  #mapdp-app .milestone-badge span{font-size:17px}
  #mapdp-app .mapdp-milestone-banner strong{font-size:15px}
  #mapdp-app .mapdp-milestone-banner em{font-size:10px}
  #mapdp-app .mapdp-choice-cards{grid-template-columns:1fr;gap:8px}
  #mapdp-app .mapdp-choice-card{min-height:54px}
}
@media(max-width:420px){
  #mapdp-app .mapdp-milestones{grid-template-columns:repeat(5,1fr)}
  #mapdp-app .mapdp-milestone span{width:34px;height:34px;font-size:11px;border-width:3px}
  #mapdp-app .mapdp-milestone b{font-size:7px}
}

/* v2.2.6 — automatic draft recovery */
.mapdp-draft-status{position:fixed;right:22px;bottom:22px;z-index:999998;padding:9px 14px;border:1px solid #dce6ef;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(19,36,58,.12);color:#4d6278;font-size:12px;font-weight:700;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(8px)}
.mapdp-draft-status.is-visible{opacity:1;transform:none}
@media(max-width:600px){.mapdp-draft-status{right:12px;bottom:12px;font-size:11px;padding:8px 12px}}


/* v2.2.6.4 — Youth Journey Cards: immersive question + milestone motion */
#mapdp-app .mapdp-questions{position:relative;margin-top:8px}
#mapdp-app .mapdp-question{
  grid-template-columns:1fr!important;
  gap:0!important;
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:24px!important;
  padding:34px 34px 30px 38px!important;
  min-height:430px!important;
  background:linear-gradient(145deg,#fff 0%,#fbfcff 68%,color-mix(in srgb,var(--phase-color,#2563a8) 5%,#fff) 100%)!important;
  box-shadow:0 18px 48px rgba(26,45,70,.09)!important;
}
#mapdp-app .mapdp-question:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--phase-color,#2563a8);border-radius:24px 0 0 24px;
}
#mapdp-app .mapdp-question:after{
  content:"";position:absolute;right:-80px;bottom:-100px;width:220px;height:220px;border-radius:50%;background:var(--phase-color,#2563a8);opacity:.045;pointer-events:none;
}
#mapdp-app .mapdp-question .q-number{
  width:max-content!important;height:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:7px 11px!important;border-radius:999px!important;background:color-mix(in srgb,var(--phase-color,#2563a8) 9%,#fff)!important;
  color:var(--phase-color,#2563a8)!important;font-size:10px!important;letter-spacing:.13em!important;text-transform:uppercase!important;box-shadow:none!important;
}
#mapdp-app .mapdp-question .q-body{position:relative;z-index:1}
#mapdp-app .mapdp-question .q-body h3{
  margin:22px 0 10px!important;max-width:860px!important;font-size:clamp(25px,3.2vw,38px)!important;line-height:1.18!important;font-weight:550!important;color:#1e2d40!important;
}
#mapdp-app .mapdp-question .q-body:before{
  content:"Choose a suggested task that feels right — then make it your own.";display:block;margin-top:2px;color:#7a8899;font-size:14px;font-style:italic;line-height:1.5;
}
#mapdp-app .mapdp-choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:26px 0 18px!important;position:relative;z-index:2}
#mapdp-app .mapdp-choice-card{
  min-height:76px!important;padding:14px 42px 14px 14px!important;border-radius:15px!important;border:1px solid #e0e7ef!important;background:rgba(255,255,255,.92)!important;
  box-shadow:0 5px 18px rgba(28,45,67,.045)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease!important;
}
#mapdp-app .mapdp-choice-card:hover{transform:translateY(-3px)!important;box-shadow:0 12px 25px rgba(28,45,67,.09)!important;border-color:color-mix(in srgb,var(--phase-color,#2563a8) 38%,#e0e7ef)!important}
#mapdp-app .mapdp-choice-card.is-selected{transform:translateY(-2px)!important;border-color:var(--phase-color,#2563a8)!important;background:color-mix(in srgb,var(--phase-color,#2563a8) 8%,#fff)!important;box-shadow:0 12px 26px color-mix(in srgb,var(--phase-color,#2563a8) 13%,transparent)!important}
#mapdp-app .choice-letter{width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:10px!important;background:#f0f3f7!important;color:#68798d!important;font-size:11px!important}
#mapdp-app .is-selected .choice-letter{background:var(--phase-color,#2563a8)!important;color:#fff!important}
#mapdp-app .choice-text{font-size:13px!important;line-height:1.4!important;font-weight:600!important}
#mapdp-app .mapdp-task-builder{
  display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:end!important;margin-top:4px!important;padding:15px 16px!important;border-radius:16px!important;
  background:rgba(247,249,252,.9)!important;border:1px solid #e8edf3!important;
}
#mapdp-app .suggested-task-label{display:none!important}
#mapdp-app .my-task-label{grid-column:1/-1!important;margin:0!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#728197!important}
#mapdp-app .my-task-label input{margin-top:7px!important;border-radius:12px!important;padding:13px 14px!important;background:#fff!important}
#mapdp-app .mapdp-add-task{grid-column:2!important;grid-row:1!important;border-radius:12px!important;background:var(--phase-color,#2563a8)!important;min-height:46px!important;padding:12px 18px!important}
#mapdp-app .mapdp-task-help{display:none!important}
#mapdp-app .mapdp-question-nav{display:flex!important;justify-content:center!important;align-items:center!important;margin-top:22px!important;position:relative!important;z-index:3!important}
#mapdp-app .mapdp-question-next{
  width:66px!important;height:66px!important;padding:0!important;border-radius:50%!important;border:1px solid color-mix(in srgb,var(--phase-color,#2563a8) 20%,#dfe6ed)!important;
  background:#fff!important;color:var(--phase-color,#2563a8)!important;box-shadow:0 8px 22px rgba(26,45,70,.12)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;transition:transform .2s ease,box-shadow .2s ease!important;
}
#mapdp-app .mapdp-question-next:hover{transform:translateY(-3px)!important;box-shadow:0 12px 28px rgba(26,45,70,.16)!important;text-decoration:none!important}
#mapdp-app .mapdp-next-caption{position:absolute;transform:translateY(54px);font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#7b8998!important;white-space:nowrap}
#mapdp-app .mapdp-next-arrow{font-size:25px!important;line-height:1!important;font-weight:400!important}
/* Motion between questions: vertical, calm and directional */
#mapdp-app .mapdp-question.question-enter-forward{animation:mapdpQuestionDown .38s cubic-bezier(.2,.7,.2,1)}
#mapdp-app .mapdp-question.question-enter-back{animation:mapdpQuestionUp .38s cubic-bezier(.2,.7,.2,1)}
@keyframes mapdpQuestionDown{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes mapdpQuestionUp{from{opacity:0;transform:translateY(-34px)}to{opacity:1;transform:none}}
/* Motion between milestones/screens: horizontal journey movement */
#mapdp-app .mapdp-screen.screen-enter-forward{animation:mapdpScreenForward .45s cubic-bezier(.2,.7,.2,1)}
#mapdp-app .mapdp-screen.screen-enter-back{animation:mapdpScreenBack .45s cubic-bezier(.2,.7,.2,1)}
@keyframes mapdpScreenForward{from{opacity:0;transform:translateX(38px)}to{opacity:1;transform:none}}
@keyframes mapdpScreenBack{from{opacity:0;transform:translateX(-38px)}to{opacity:1;transform:none}}
/* Make the milestone itself feel like the next destination */
#mapdp-app .mapdp-milestone-banner{border-radius:22px!important;padding:20px 22px!important;box-shadow:0 12px 32px rgba(28,45,67,.07)!important}
#mapdp-app .mapdp-phase-intro{border-left:5px solid var(--phase-color,#2563a8)!important;border-radius:0 14px 14px 0!important;background:linear-gradient(90deg,color-mix(in srgb,var(--phase-color,#2563a8) 5%,#fff),#fff)!important}
@media(max-width:700px){
  #mapdp-app .mapdp-question{padding:26px 20px 28px 24px!important;min-height:0!important;border-radius:20px!important}
  #mapdp-app .mapdp-choice-cards{grid-template-columns:1fr!important;gap:9px!important;margin-top:20px!important}
  #mapdp-app .mapdp-choice-card{min-height:62px!important}
  #mapdp-app .mapdp-question .q-body h3{font-size:25px!important}
  #mapdp-app .mapdp-task-builder{grid-template-columns:1fr!important;padding:13px!important}
  #mapdp-app .mapdp-add-task{grid-column:1!important;grid-row:auto!important;width:100%!important}
  #mapdp-app .mapdp-next-caption{transform:translateY(50px)}
}
@media(max-width:420px){
  #mapdp-app .mapdp-question{padding:22px 15px 26px 19px!important}
  #mapdp-app .mapdp-question .q-body h3{font-size:23px!important}
  #mapdp-app .choice-text{font-size:12px!important}
}

/* Youth Journey: suggested tasks use clean bullet choices instead of A/B/C/D labels. */
#mapdp-app .mapdp-choice-card{display:grid;grid-template-columns:18px minmax(0,1fr) 24px;align-items:start;gap:12px;text-align:left;padding:15px 17px;border-radius:14px;}
#mapdp-app .mapdp-choice-card .choice-bullet{width:9px;height:9px;border-radius:50%;background:currentColor;margin-top:7px;justify-self:center;transition:transform .2s ease,box-shadow .2s ease;}
#mapdp-app .mapdp-choice-card:hover .choice-bullet{transform:scale(1.25);}
#mapdp-app .mapdp-choice-card.is-selected .choice-bullet{transform:scale(1.3);box-shadow:0 0 0 5px rgba(30,80,140,.10);}
#mapdp-app .mapdp-choice-card .choice-text{line-height:1.5;}
#mapdp-app .mapdp-choice-card .choice-check{justify-self:end;}
#mapdp-app .mapdp-choice-card .choice-letter{display:none!important;}
@media(max-width:640px){#mapdp-app .mapdp-choice-card{grid-template-columns:16px minmax(0,1fr) 22px;padding:14px 15px;gap:10px;}}


/* v2.2.6.7 — Youth Journey: clean bullet suggestions + arrow-only navigation */
#mapdp-app .mapdp-choice-card .choice-letter{display:none!important;width:0!important;height:0!important;overflow:hidden!important}
#mapdp-app .mapdp-choice-card .choice-bullet{display:block!important;width:8px!important;height:8px!important;min-width:8px!important;border-radius:50%!important;background:var(--phase-color,#2563a8)!important;margin-top:7px!important;justify-self:center!important}
#mapdp-app .mapdp-choice-card{grid-template-columns:16px minmax(0,1fr) 22px!important}
#mapdp-app .mapdp-next-caption{display:none!important}
#mapdp-app .mapdp-question-nav{display:flex!important;justify-content:center!important;align-items:center!important;margin-top:24px!important}
#mapdp-app .mapdp-question-next{width:58px!important;height:58px!important;min-width:58px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important}
#mapdp-app .mapdp-next-arrow{position:static!important;transform:none!important;font-size:27px!important;line-height:1!important;font-weight:400!important;display:block!important}
#mapdp-app .mapdp-question-next:hover{transform:translateY(-2px)!important}
@media(max-width:640px){#mapdp-app .mapdp-choice-card{grid-template-columns:14px minmax(0,1fr) 20px!important}#mapdp-app .mapdp-question-next{width:56px!important;height:56px!important;min-width:56px!important}}
