:root{
  --purple:#5b2a86; --purple2:#7a3fb0; --pink:#c62a78; --indigo:#3f51b5; --green:#257a52;
  --ink:#221b2a; --muted:#645d68; --paper:#fbfafc; --line:#ddd6e3; --soft:#f3eef7; --white:#fff;
  --dcci-header-font:Montserrat,Arial,sans-serif; --dcci-pink:#e91e63; --dcci-border:rgba(255,255,255,.18); --dcci-white-hi:#fff; --dcci-white-mid:#e8e1ed;
}
*{box-sizing:border-box} html,body{margin:0;padding:0;height:auto;min-height:0;overflow:visible} body{font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#f2edf5 url('https://dcciportal.co.uk/wp-content/uploads/2026/02/Picture1.png') center top/cover no-repeat;line-height:1.65}
button,input,textarea{font:inherit}.app-shell{width:min(1040px,calc(100% - 24px));margin:20px auto 44px}.rainbow-edge{border-left:7px solid transparent;border-image:linear-gradient(#8e44ad,#e91e63,#3f51b5,#27ae60) 1}.hero-card,.stage{background:rgba(255,255,255,.96);border-radius:24px;padding:28px 32px;box-shadow:0 10px 30px rgba(44,25,53,.08);margin-bottom:18px}.hero-card{text-align:center;padding-top:22px}.dcci-logo{width:min(180px,46vw);height:auto;display:block;margin:0 auto 14px;border-radius:16px}.eyebrow,.stage-kicker{text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.82rem;color:var(--purple2)}h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.08;margin:.2rem 0 .8rem}h2{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.2;margin:.25rem 0 1rem}h3{margin:.2rem 0 .55rem}.lead{font-size:1.1rem;max-width:760px;margin:0 auto 18px;color:#4d4254}.hero-visual{margin:20px auto 18px;max-width:900px}.hero-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:22px;border:1px solid var(--line);box-shadow:0 8px 24px rgba(44,25,53,.10)}.hero-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.hero-meta span{background:var(--soft);border:1px solid var(--line);padding:7px 11px;border-radius:999px;font-size:.92rem}.progress-wrap{background:rgba(255,255,255,.94);padding:14px 18px;border-radius:18px;margin:0 0 18px}.progress-text{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;font-weight:700}.progress-track{height:10px;background:#ded7e5;border-radius:999px;overflow:hidden;margin-top:8px}.progress-bar{height:100%;width:10%;background:linear-gradient(90deg,var(--purple),var(--pink));transition:width .25s ease}.callout,.case-card,.feedback,.summary-box{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:18px;margin:16px 0}.feedback.good{background:#edf7f1;border-color:#a8d0b8}.feedback.warn{background:#fff6e8;border-color:#e6c58e}.question{border:0;padding:0;margin:22px 0}.question legend{font-weight:800;font-size:1.04rem;margin-bottom:10px}.question label{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:9px 0;cursor:pointer}.question label:hover{border-color:#b69bc9}.question input{margin-right:9px;transform:scale(1.08)}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.evidence-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.sort-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sort-item{border:1px solid #baa8c7;background:#fff;border-radius:999px;padding:9px 12px;cursor:pointer}.sort-item.selected{outline:3px solid #d9c5e7}.bucket-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bucket{background:#faf8fb;border:1px solid var(--line);border-radius:16px;padding:14px}.dropzone{min-height:110px;padding:8px;border:2px dashed #cbbbd6;border-radius:12px}.dropzone .sort-item{display:block;width:100%;margin:6px 0;border-radius:12px}.nav-row{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.primary,.secondary{border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.primary{background:var(--purple);color:#fff}.primary:hover{background:#462064}.secondary{background:#eae3ef;color:#33253c}.primary:focus-visible,.secondary:focus-visible,.sort-item:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f0a8cf;outline-offset:3px}.record-option{line-height:1.6}.cycle-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.cycle-grid div{background:#fff;border:1px solid var(--line);border-radius:14px;text-align:center;padding:12px 6px}.cycle-grid strong{display:block;width:34px;height:34px;line-height:34px;background:var(--purple);color:#fff;border-radius:50%;margin:0 auto 7px}.cycle-grid span{font-size:.87rem;font-weight:700}.reflection-label{display:block;font-weight:800;margin:18px 0 8px}textarea{width:100%;border:1px solid #bbaac7;border-radius:14px;padding:14px;line-height:1.6;resize:vertical}.hint{color:var(--muted);font-size:.92rem}.submit-status{font-weight:700;margin-top:12px}.submit-status.success{color:#17633f}.submit-status.error{color:#8d2a2a}footer{background:rgba(44,25,53,.94);color:#fff;border-radius:20px;padding:22px 26px;margin-top:20px;font-size:.9rem}footer a{color:#fff;font-weight:800}.stage[hidden]{display:none!important}
@media(max-width:760px){.app-shell{width:min(100% - 12px,1040px);margin-top:8px}.hero-card,.stage{padding:22px 18px;border-radius:18px}.evidence-grid,.bucket-row,.cycle-grid{grid-template-columns:1fr}.cycle-grid div{display:flex;align-items:center;gap:10px;text-align:left}.cycle-grid strong{margin:0}.progress-text{flex-direction:column;gap:2px}.nav-row{flex-direction:column-reverse}.primary,.secondary{width:100%}}


/* Evaluation + certificate completion flow */
.completion-panel{margin-top:26px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}
.completion-panel h3{font-size:1.35rem;color:var(--purple);margin:.2rem 0 .65rem}
.eval-link{display:inline-flex;text-decoration:none;align-items:center;margin:4px 0 10px}
.confirm-row{display:flex!important;align-items:flex-start;gap:10px;background:var(--soft)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:14px!important;margin:14px 0!important;cursor:pointer}
.confirm-row input{margin-top:.35rem;flex:0 0 auto}
.certificate-entry{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}
.certificate-entry input{width:100%;border:1px solid #bbaac7;border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink)}
.certificate-entry label{margin-top:7px}
.certificate-entry .primary{justify-self:start;margin-top:8px}
.optional{font-weight:500;color:var(--muted)}
.certificate-sheet{margin-top:24px}
.certificate-inner{position:relative;overflow:hidden;text-align:center;background:#fff;border:8px solid #5b2a86;border-radius:24px;padding:38px 42px;box-shadow:0 12px 30px rgba(44,25,53,.10)}
.certificate-inner:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,#8e44ad,#e91e63,#3f51b5,#27ae60,#e7a62c)}
.certificate-brand{margin:0 auto 14px;text-align:center}.certificate-brand img{display:block;width:min(220px,45%);height:auto;object-fit:contain;margin:0 auto;border-radius:14px}
.certificate-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--pink);font-size:.82rem;margin:0 0 8px}
.certificate-inner h3{font-size:clamp(1.55rem,3vw,2.2rem);color:var(--purple);margin:.35rem auto 1rem;max-width:760px}
.certificate-copy{max-width:720px;margin:10px auto;color:#4d4254}
.certificate-name{font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.15;font-weight:900;color:#2c173f;margin:14px auto 5px}
.certificate-org{font-size:1.05rem;font-weight:700;color:var(--purple2);min-height:1.4em;margin:0 auto 14px}
.certificate-meta{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:20px auto 10px;padding-top:15px;border-top:1px solid var(--line)}
.certificate-note{font-size:.8rem;color:var(--muted);margin-top:16px}
.certificate-actions{text-align:center;margin-top:14px}
.certificate-approval{position:absolute;left:28px;bottom:24px;display:flex;align-items:flex-end;justify-content:flex-start}
.certificate-approval img{display:block;width:118px;max-height:74px;height:auto;object-fit:contain;border-radius:10px;background:#fff}

@media(max-width:760px){.certificate-inner{padding:28px 18px 110px;border-width:6px}.certificate-approval{left:18px;bottom:18px}.certificate-approval img{width:96px}.certificate-entry .primary{width:100%;justify-self:stretch}.certificate-meta{gap:10px;flex-direction:column}}
@media print{
 @page{size:A4 landscape;margin:8mm}
 html,body{width:297mm!important;height:210mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
 body>*{display:none!important}
 body>.app-shell{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
 .app-shell>*{display:none!important}
 .app-shell>[data-stage="9"]{display:block!important;margin:0!important;padding:0!important;border:0!important;border-left:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
 .app-shell>[data-stage="9"]>*{display:none!important}
 #certificateSheet{display:block!important;position:static!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;break-before:avoid!important;break-after:avoid!important;break-inside:avoid!important;page-break-before:avoid!important;page-break-after:avoid!important;page-break-inside:avoid!important}
 #certificateSheet .certificate-inner{display:flex!important;position:relative!important;flex-direction:column!important;justify-content:center!important;width:100%!important;height:194mm!important;min-height:0!important;max-height:194mm!important;margin:0!important;padding:10mm 14mm 24mm!important;box-sizing:border-box!important;overflow:hidden!important;box-shadow:none!important;border:2.2mm solid #5b2a86!important;border-radius:0!important;break-inside:avoid!important;page-break-inside:avoid!important}
 #certificateSheet .certificate-inner:before{display:block!important}
 #certificateSheet .certificate-brand{display:block!important;margin:0 auto 3mm!important}
 #certificateSheet .certificate-brand img{width:42mm!important;max-width:42mm!important;max-height:29mm!important;margin:0 auto!important}
 #certificateSheet .certificate-kicker{display:block!important;margin:0 0 2mm!important;font-size:10pt!important}
 #certificateSheet h3{display:block!important;font-size:22pt!important;line-height:1.14!important;margin:1mm auto 3mm!important;max-width:230mm!important}
 #certificateSheet .certificate-copy{display:block!important;font-size:11pt!important;line-height:1.35!important;margin:2mm auto!important;max-width:225mm!important}
 #certificateSheet .certificate-name{display:block!important;font-size:25pt!important;line-height:1.1!important;margin:3mm auto 1mm!important}
 #certificateSheet .certificate-org{display:block!important;font-size:12pt!important;line-height:1.2!important;min-height:0!important;margin:0 auto 3mm!important}
 #certificateSheet .certificate-org[hidden]{display:none!important}
 #certificateSheet .certificate-meta{display:flex!important;justify-content:center!important;gap:16mm!important;flex-wrap:nowrap!important;margin:5mm auto 0!important;padding-top:3mm!important;font-size:11pt!important;max-width:180mm!important}
 #certificateSheet .certificate-approval{display:flex!important;left:10mm!important;bottom:8mm!important}
 #certificateSheet .certificate-approval img{display:block!important;width:28mm!important;max-width:28mm!important;max-height:18mm!important;height:auto!important}
 .certificate-actions,.dcci-a11y-trigger,.dcci-a11y-panel,#dcci-a11y-trigger,#dcci-a11y-panel{display:none!important}
}
