/* CSS Consult · Profil de préparation RPS — aux couleurs de risquespsychosociaux.ca */
.cpr,.cpr-page{
	--cpr-bg:#02182B;--cpr-card:#0A2540;--cpr-card2:#0E2E4F;--cpr-line:rgba(249,249,244,.14);
	--cpr-text:#F9F9F4;--cpr-muted:rgba(249,249,244,.74);--cpr-faint:rgba(249,249,244,.52);
	--cpr-accent:#FF6B4A;--cpr-gold:#D4A373;--cpr-ok:#4FB286;--cpr-mid:#E0B25A;--cpr-warn:#F08A4B;--cpr-bad:#E5534B;
	--cpr-display:"Prompt",system-ui,-apple-system,"Segoe UI",sans-serif;
	--cpr-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.cpr{max-width:760px;margin:0 auto;font-family:var(--cpr-body);color:var(--cpr-text);font-size:16px;line-height:1.55}
.cpr *,.cpr *::before,.cpr *::after{box-sizing:border-box}
.cpr-boot{padding:40px;text-align:center;color:var(--cpr-muted)}
.cpr-card{background:var(--cpr-card);border:1px solid var(--cpr-line);padding:clamp(22px,4vw,40px);border-radius:4px}
.cpr h2,.cpr h3{font-family:var(--cpr-display);color:var(--cpr-text);margin:0 0 14px;line-height:1.2;text-wrap:balance}
.cpr h2{font-size:clamp(22px,3vw,30px);font-weight:400}
.cpr h3{font-size:20px;font-weight:500;margin-top:28px}
.cpr h2:focus,.cpr h3:focus,.cpr p:focus{outline:none}
.cpr-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:var(--cpr-display);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cpr-gold)}
.cpr-eyebrow::before{content:"";width:32px;height:1px;background:var(--cpr-accent);flex:none}
.cpr-lead{color:var(--cpr-muted);margin:0 0 20px}
.cpr-lead b{color:var(--cpr-text)}
.cpr-small{color:var(--cpr-muted);font-size:14px;margin:0 0 16px}
.cpr-dl{display:inline-block;margin:0 0 16px;padding:7px 12px;border:1px solid rgba(255,107,74,.5);background:rgba(255,107,74,.1);color:var(--cpr-text);font-size:14px}
.cpr-dl b{color:var(--cpr-accent);font-size:17px}
.cpr-points{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.cpr-points li{position:relative;padding-left:22px;color:var(--cpr-muted)}
.cpr-points li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--cpr-accent)}
.cpr-points b{color:var(--cpr-text);font-weight:600}
.cpr-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.cpr-row--nav{justify-content:space-between;margin-top:22px}
.cpr .cpr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:13px 24px;border:1px solid transparent;border-radius:0;font-family:var(--cpr-display);font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;transition:filter .15s,border-color .15s}
.cpr .cpr-btn--primary{background:var(--cpr-accent);color:#fff}
.cpr .cpr-btn--primary:hover{filter:brightness(1.08);color:#fff}
.cpr .cpr-btn--primary[disabled]{opacity:.45;cursor:not-allowed;filter:none}
.cpr .cpr-btn--ghost{background:transparent;color:var(--cpr-text);border-color:rgba(249,249,244,.35)}
.cpr .cpr-btn--ghost:hover{border-color:var(--cpr-gold);color:var(--cpr-text)}
.cpr .cpr-link{background:none;border:0;padding:8px 0;color:var(--cpr-muted);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cpr .cpr-link:hover{color:var(--cpr-text)}
.cpr .cpr-link[disabled]{opacity:.5;cursor:default;text-decoration:none}
.cpr a:focus-visible,.cpr button:focus-visible,.cpr input:focus-visible{outline:2px solid var(--cpr-gold);outline-offset:2px}

/* Questions */
.cpr-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;font-size:13px}
.cpr-sec{color:var(--cpr-gold);font-family:var(--cpr-display);letter-spacing:.14em;text-transform:uppercase;font-size:11.5px}
.cpr-count{color:var(--cpr-faint);font-variant-numeric:tabular-nums}
.cpr-bar{height:3px;background:rgba(249,249,244,.12);margin:0 0 26px}
.cpr-bar i{display:block;height:100%;background:var(--cpr-accent);transition:width .3s ease}
.cpr-help{color:var(--cpr-faint);font-size:14px;margin:-4px 0 18px}
.cpr-opts{display:grid;gap:10px}
.cpr .cpr-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:54px;padding:13px 16px;text-align:left;background:var(--cpr-card2);border:1px solid var(--cpr-line);color:var(--cpr-text);font:inherit;font-size:15.5px;line-height:1.35;cursor:pointer;border-radius:0;transition:border-color .15s,background-color .15s}
.cpr .cpr-opt:hover{border-color:rgba(212,163,115,.6)}
.cpr .cpr-opt.is-on{border-color:var(--cpr-accent);background:rgba(255,107,74,.12)}
.cpr-mark{flex:none;width:20px;height:20px;border:1.5px solid rgba(249,249,244,.5);border-radius:50%;position:relative}
.cpr-opt[role="checkbox"] .cpr-mark{border-radius:3px}
.cpr-opt.is-on .cpr-mark{border-color:var(--cpr-accent);background:var(--cpr-accent)}
.cpr-opt.is-on .cpr-mark::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Chargement */
.cpr-center{text-align:center;padding-block:56px}
.cpr-spin{width:34px;height:34px;margin:0 auto 16px;border:3px solid rgba(249,249,244,.2);border-top-color:var(--cpr-accent);border-radius:50%;animation:cpr-spin .8s linear infinite}
@keyframes cpr-spin{to{transform:rotate(360deg)}}

/* Aperçu du profil */
.cpr-verdict{border-left:3px solid var(--cpr-mid);background:var(--cpr-card2);padding:16px 18px;margin:0 0 16px}
.cpr-verdict.l-ok{border-color:var(--cpr-ok)}.cpr-verdict.l-warn{border-color:var(--cpr-warn)}.cpr-verdict.l-bad{border-color:var(--cpr-bad)}
.cpr-lvl{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:6px}
.cpr-lvl span{color:var(--cpr-faint);font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.cpr-lvl b{font-family:var(--cpr-display);font-weight:500;font-size:26px}
.l-ok .cpr-lvl b{color:var(--cpr-ok)}.l-mid .cpr-lvl b{color:var(--cpr-mid)}.l-warn .cpr-lvl b{color:var(--cpr-warn)}.l-bad .cpr-lvl b{color:var(--cpr-bad)}
.cpr-verdict p{margin:0;color:var(--cpr-muted)}
.cpr-facts{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:6px;color:var(--cpr-muted);font-size:15px}
.cpr-facts b{color:var(--cpr-text)}
.cpr-locked{position:relative;border:1px dashed rgba(249,249,244,.25);padding:14px;margin:0 0 6px;overflow:hidden}
.cpr-ghost{display:grid;gap:8px;filter:blur(2px);opacity:.5}
.cpr-ghost i{display:block;height:10px;background:linear-gradient(90deg,rgba(249,249,244,.35) 0 22%,transparent 22% 26%,rgba(249,249,244,.18) 26% 70%,transparent 70%)}
.cpr-ghost i:nth-child(2n){background:linear-gradient(90deg,rgba(249,249,244,.35) 0 28%,transparent 28% 32%,rgba(249,249,244,.18) 32% 58%,transparent 58%)}
.cpr-locked span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 18px;font-size:14px;color:var(--cpr-text);background:rgba(10,37,64,.55)}

/* Formulaire */
.cpr-form,.cpr-codeform{display:grid;gap:14px}
.cpr-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cpr-f{display:grid;gap:6px;margin:0}
.cpr-f span{font-size:14px;color:var(--cpr-muted)}
.cpr-f em{font-style:normal;color:var(--cpr-faint)}
.cpr .cpr-f input{width:100%;min-height:50px;padding:12px 14px;background:#fff;color:#1d2733;border:1px solid #c9d1da;border-radius:0;font:inherit;font-size:16px}
.cpr-f.has-err input{border-color:var(--cpr-bad);box-shadow:0 0 0 1px var(--cpr-bad)}
.cpr-f small,.cpr-err-s{color:#ff9d95;font-size:13px}
.cpr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cpr-consent{display:flex;gap:12px;align-items:flex-start;padding:14px;background:var(--cpr-card2);border:1px solid var(--cpr-line);font-size:14px;color:var(--cpr-text);cursor:pointer}
.cpr-consent.has-err{border-color:var(--cpr-bad)}
.cpr-consent input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--cpr-accent)}
.cpr-privacy{margin:0;font-size:12.5px;color:var(--cpr-faint)}
.cpr-privacy a{color:var(--cpr-muted)}
.cpr-err{margin:0 0 14px;padding:10px 14px;background:rgba(229,83,75,.14);border-left:3px solid var(--cpr-bad);color:var(--cpr-text);font-size:14.5px}
.cpr .cpr-codein{font-family:"Courier New",monospace;font-size:28px;letter-spacing:.5em;text-align:center;max-width:280px}

/* Rapport */
.cpr-done{margin-bottom:18px}
.cpr-paper{background:#fff;padding:clamp(18px,4vw,40px);border-radius:4px;color:#1d2733;overflow-x:auto}
.cpr-page{background:var(--cpr-bg);padding:clamp(20px,4vw,48px) 16px}
.cpr-page-in{max-width:880px;margin:0 auto;color:var(--cpr-text);font-family:var(--cpr-body)}
.cpr-page-in h1{font-family:var(--cpr-display);color:var(--cpr-text)}
.cpr-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.cpr-page .cpr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-family:var(--cpr-display);font-weight:600;text-decoration:none}
.cpr-page .cpr-btn--primary{background:var(--cpr-accent);color:#fff}
.cpr-page .cpr-btn--ghost{border:1px solid rgba(249,249,244,.35);color:var(--cpr-text)}

@media (max-width:600px){
	.cpr{font-size:15.5px}
	.cpr-card{padding:20px 16px}
	.cpr-2{grid-template-columns:1fr}
	.cpr-row .cpr-btn{width:100%}
	.cpr-row--nav .cpr-btn{width:auto;flex:1}
	.cpr-report .obl,.cpr-report .obl tbody,.cpr-report .obl tr,.cpr-report .obl td{display:block;width:100%}
	.cpr-report .obl tr:first-child{display:none}
	.cpr-report .obl tr{border:1px solid #dfe3e8;margin:0 0 10px}
	.cpr-report .obl td{border:0;border-top:1px solid #eef1f4;width:auto!important}
	.cpr-report .obl td:first-child{border-top:0;background:#f7f9fa}
	.cpr-report .obl td[data-l]::before{content:attr(data-l);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#5b6673;font-weight:bold;margin-bottom:2px}
	.cpr-paper{padding:14px}
	.cpr-report .scorebox,.cpr-report .scorebox tbody,.cpr-report .scorebox tr,.cpr-report .scorebox td{display:block;width:auto!important}
	.cpr-report .scorebox td+td{border-top:0}
	.cpr-mail{word-break:break-all}
}
@media (prefers-reduced-motion:reduce){.cpr-bar i{transition:none}.cpr-spin{animation-duration:2s}}
/* Réponse chiffrée */
.cpr-num{display:flex;align-items:center;gap:10px;margin:0 0 12px;min-width:0;max-width:100%}
.cpr .cpr-numin{flex:1 1 0;width:auto;min-width:0;max-width:100%;box-sizing:border-box;font:inherit;font-size:22px;padding:14px 16px;border-radius:8px;border:1px solid var(--cpr-line);background:#fff;color:#1d2733}
.cpr-numin:focus{outline:2px solid var(--cpr-accent);outline-offset:2px}
.cpr-unit{font-size:20px;color:var(--cpr-text);font-weight:600}
.cpr-opt--unk{width:100%}
