@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/montserrat-latin.woff2) format('woff2')}
html,body{background:#EDF1F6;min-height:100%;margin:0}
#dg{--navy:#283C64;--orange:#F07800;--orange-soft:#FDE9D6;--blue:#2F6DB5;--blue-soft:#DCE8F6;--blue-ink:#1D4E8A;--bg:#EDF1F6;--track:#E2E6EC;--muted:#5E6B82;--grey:#9AA5B8;
  font-family:'Montserrat',Arial,sans-serif;color:var(--navy);background:var(--bg);padding:24px 16px;box-sizing:border-box;line-height:1.55}
#dg *{box-sizing:border-box}
#dg .wrap{max-width:620px;margin:0 auto}
#dg .brand{font-size:14px;font-weight:600;color:var(--muted);margin:0 0 16px;text-align:center}
#dg .brand b{color:var(--navy);font-weight:800}
#dg .card{background:#fff;border-radius:18px;padding:32px 24px}
#dg h1{font-size:28px;line-height:1.15;font-weight:800;margin:0 0 14px;text-wrap:balance}
#dg h2{font-size:21px;line-height:1.3;font-weight:700;margin:34px 0 10px;text-wrap:balance}
#dg h3{font-size:16px;font-weight:700;margin:18px 0 8px}
#dg p{margin:0 0 14px;font-size:16px}
#dg .muted{color:var(--muted);font-size:14px}
#dg .btn{display:block;width:100%;border:0;border-radius:999px;background:var(--orange);color:#fff;font:700 17px 'Montserrat',Arial,sans-serif;padding:16px 20px;cursor:pointer;margin-top:18px}
#dg .btn.pro{background:var(--blue)}
#dg .link{background:none;border:0;color:var(--muted);font:600 14px 'Montserrat',Arial,sans-serif;cursor:pointer;padding:8px 0;margin-top:10px;text-decoration:underline;text-align:left}
#dg button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
#dg .hidden{display:none}
#dg .rgpd{background:#F5F7FA;border-radius:12px;padding:16px 18px;margin:18px 0 0;font-size:14px}
#dg .rgpd p{font-size:14px;margin:6px 0 10px}
#dg .rgpd ul{margin:0 0 10px;padding-left:18px}
#dg .rgpd li{margin-bottom:6px}
#dg .rgpd a{color:var(--navy);font-weight:700}
#dg .chk{display:flex;gap:10px;align-items:center;font-weight:700;font-size:15px;cursor:pointer;margin-top:6px}
#dg .chk input{width:20px;height:20px;accent-color:var(--orange)}
#dg .btn:disabled{opacity:.45;cursor:not-allowed}
#dg .testbox{margin-top:22px;border:2px dashed #C9CFD8;border-radius:12px;padding:12px 16px;font-size:14px;color:var(--muted)}
#dg .part{display:inline-block;background:var(--orange);color:#fff;font-size:12px;font-weight:700;border-radius:99px;padding:3px 11px;margin-bottom:14px}
#dg .part.pro{background:var(--blue)}
#dg .progbar{height:6px;background:var(--track);border-radius:99px;overflow:hidden;margin-bottom:22px}
#dg .progbar i{display:block;height:100%;background:var(--orange);width:0;transition:width .25s}
#dg .progbar.pro i{background:var(--blue)}
#dg .stmt{font-size:21px;font-weight:700;line-height:1.35;min-height:100px;margin:0 0 20px}
#dg .answers{display:grid;gap:10px}
#dg .ans{border:2px solid var(--track);background:#fff;border-radius:12px;padding:14px 16px;text-align:left;font:600 16px 'Montserrat',Arial,sans-serif;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between}
#dg .ans kbd{font:600 12px 'Montserrat',Arial,sans-serif;color:var(--grey)}
#dg .ans:hover{border-color:var(--orange)}
#dg .ans.sel{border-color:var(--orange);background:var(--orange-soft)}
#dg .pro .ans:hover{border-color:var(--blue)}
#dg .pro .ans.sel{border-color:var(--blue);background:var(--blue-soft)}
#dg .ans.nc{border-style:dashed;color:var(--muted)}
#dg .glob{background:var(--orange);color:#fff;border-radius:14px;padding:22px 20px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
#dg .glob.pro{background:var(--blue)}
#dg .glob p{margin:0}
#dg .glob .gsub{font-size:13px;opacity:.85}
#dg .glob .n{font-size:42px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
#dg details.cur{border-top:1px solid var(--track)}
#dg details.cur summary{list-style:none;cursor:pointer;padding:16px 0 12px}
#dg details.cur summary::-webkit-details-marker{display:none}
#dg .rhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
#dg .rname{font-size:15px;font-weight:700}
#dg .rright{display:flex;align-items:center;gap:8px}
#dg .lvl{font-size:12px;font-weight:700;border-radius:99px;padding:3px 10px;white-space:nowrap;font-variant-numeric:tabular-nums}
#dg .lvl.l2{background:var(--orange);color:#fff}
#dg .lvl.l1{background:var(--orange-soft);color:#A35200}
#dg .lvl.l0{background:var(--track);color:var(--muted)}
#dg .b .lvl.l2{background:var(--blue);color:#fff}
#dg .b .lvl.l1{background:var(--blue-soft);color:var(--blue-ink)}
#dg .chev{width:28px;height:28px;border:2px solid var(--track);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:transform .2s}
#dg .chev:before{content:"";width:7px;height:7px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:translateY(-2px) rotate(45deg)}
#dg details[open] > summary .chev{transform:rotate(180deg)}
#dg .track{position:relative;height:12px;background:var(--track);border-radius:99px;margin:0 22px 6px}
#dg .fill{position:absolute;left:0;top:0;bottom:0;background:var(--orange);border-radius:99px}
#dg .pill{position:absolute;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #fff}
#dg .b .fill,#dg .b .pill{background:var(--blue)}
#dg .cbody{padding:4px 0 16px;font-size:15px}
#dg .cbody p{font-size:15px;margin:0 0 10px}
#dg .cbody .def{background:#F5F7FA;border-radius:10px;padding:12px 14px;font-size:14px;margin:0 0 12px}
#dg .cbody .def b{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
#dg .cbody .ref{font-size:13px;color:var(--muted);font-style:italic;margin:0 0 10px}
#dg .grille{background:var(--blue-soft);border-radius:12px;padding:14px 16px;font-size:15px;margin:0 0 14px}
#dg .grille b{display:block;margin-bottom:4px}
#dg .cbody .note{background:var(--orange-soft);border-radius:10px;padding:12px 14px;font-size:14px}
#dg .cbody .small{font-size:14px;color:var(--muted);margin:8px 0 4px}
#dg .sub{border-left:3px solid var(--orange-soft);padding-left:14px;margin-left:4px}
#dg .sub.b{border-left-color:var(--blue-soft)}
#dg .low{border:2px solid var(--track);border-radius:12px;padding:18px 18px;margin:40px 0 10px;font-size:15px}
#dg .low b{display:block;margin-bottom:4px}
#dg .low a{color:var(--orange);font-weight:700}
#dg .hint{background:var(--orange-soft);border-radius:10px;padding:12px 14px;font-size:14px;font-weight:600;margin:6px 0 4px}
#dg .hint.b{background:var(--blue-soft)}
#dg ul.axes{list-style:none;margin:6px 0 12px;padding:0}
#dg ul.axes li{font-size:15px;padding:8px 0;border-bottom:1px solid var(--track)}
#dg ul.axes .rep{display:inline-block;font-size:11px;font-weight:700;color:#A35200;background:var(--orange-soft);border-radius:99px;padding:2px 8px;margin-right:8px;vertical-align:1px}
#dg .b ul.axes .rep{color:var(--blue-ink);background:var(--blue-soft)}
#dg ul.recap{list-style:none;margin:0;padding:0}
#dg ul.recap li{padding:12px 0;border-top:1px solid var(--track);font-size:15px}
#dg ul.recap .rl{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
#dg .sect{margin-top:48px;padding-top:6px;border-top:3px solid var(--blue)}
#dg .sect.perso{border-top-color:var(--orange);margin-top:0;border-top:0;padding-top:0}
#dg .liens{list-style:none;margin:0;padding:0}
#dg .liens li{padding:14px 16px;border-radius:12px;background:linear-gradient(90deg,var(--orange-soft),var(--blue-soft));margin-bottom:10px;font-size:15px}
#dg .liens .pair{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
#dg .liens .tag{font-size:12px;font-weight:700;border-radius:99px;padding:2px 9px;background:#fff}
#dg .liens .tag.o{color:#A35200}
#dg .liens .tag.bl{color:var(--blue-ink)}
#dg .next{margin-top:30px;border-top:1px solid var(--track);padding-top:4px}
#dg .rdv{background:var(--navy);color:#fff;border-radius:14px;padding:20px;margin-top:26px;font-size:16px;text-align:center}
#dg .rdv b{display:block;font-size:20px;margin-bottom:4px}
#dg .clin{background:var(--orange-soft);border-radius:10px;padding:12px 14px;font-size:14px;margin:0 0 12px}
#dg .basnote{background:var(--orange-soft);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;margin:4px 0 8px}
#dg .b .basnote{background:var(--blue-soft)}
#dg .invite{font-size:14px;font-style:italic;color:var(--muted);margin:0 0 12px}
#dg ul.pist{padding-left:20px;margin:0 0 14px}
#dg ul.pist li{font-size:15px;margin-bottom:8px}
@media (max-width:420px){#dg h1{font-size:24px}#dg .stmt{font-size:19px}#dg .card{padding:26px 18px}}
@media (prefers-reduced-motion:reduce){#dg *{transition:none!important}}
/* ---------- Application en ligne : champs, messages, bilan, impression ---------- */
#dg label.fl{display:block;font-weight:700;font-size:15px;margin:18px 0 6px}
#dg input.in{width:100%;border:2px solid var(--track);border-radius:12px;padding:13px 14px;font:500 16px 'Montserrat',Arial,sans-serif;color:var(--navy)}
#dg input.in:focus{outline:none;border-color:var(--orange)}
#dg .msg{border-radius:10px;padding:12px 14px;font-size:14px;font-weight:600;margin:14px 0}
#dg .msg.err{background:#FBE3E1;color:#8A1F14}
#dg .msg.ok{background:#E3F3E6;color:#1E5B2B}
#dg .msg.info{background:var(--blue-soft);color:var(--blue-ink)}
#dg .actions{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}
#dg .actions .btn{width:auto;flex:1 1 220px;margin-top:0}
#dg .btn.ghost{background:#fff;color:var(--navy);border:2px solid var(--track)}
#dg .btn.danger{background:#B3261E}
#dg .lien{display:flex;gap:8px;margin:8px 0}
#dg .lien input{flex:1;min-width:0;font-size:13px}
#dg .lien button{flex:0 0 auto;width:auto;margin:0;padding:10px 16px;font-size:14px}
#dg .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
#dg .tabs button{border:2px solid var(--track);background:#fff;border-radius:999px;padding:8px 14px;font:700 14px 'Montserrat',Arial,sans-serif;color:var(--navy);cursor:pointer}
#dg .tabs button[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
#dg ul.bilan{list-style:none;margin:0;padding:0}
#dg ul.bilan li{border-top:1px solid var(--track);padding:14px 0 6px}
#dg ul.bilan li.bsub{margin-left:18px;padding-left:12px;border-left:3px solid var(--orange-soft)}
#dg ul.bilan li.b.bsub{border-left-color:var(--blue-soft)}
#dg ul.bilan .small{margin:22px 0 6px}
#dg .b .fill,#dg .b .pill,#dg li.b .fill,#dg li.b .pill{background:var(--blue)}
#dg .was{position:absolute;top:-5px;bottom:-5px;width:4px;margin-left:-2px;background:var(--grey);border-radius:2px}
#dg .delta{font-size:13px;font-weight:700;border-radius:99px;padding:3px 10px;white-space:nowrap;background:var(--track);color:var(--muted);font-variant-numeric:tabular-nums}
#dg .delta.baisse,#dg .delta.baisseLeg{background:#E3F3E6;color:#1E5B2B}
#dg .delta.hausse,#dg .delta.hausseLeg{background:var(--orange-soft);color:#A35200}
#dg .spin{display:inline-block;width:18px;height:18px;border:3px solid var(--track);border-top-color:var(--orange);border-radius:50%;animation:dgspin 1s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes dgspin{to{transform:rotate(360deg)}}
#dg .foot{text-align:center;font-size:12px;color:var(--muted);margin:18px 0 0}
#dg .foot a{color:var(--muted)}
@media print{
  html,body,#dg{background:#fff!important;padding:0}
  #dg .card{padding:0;border-radius:0}
  #dg .noprint,#dg .chev,#dg .hint,#dg .tabs,#dg .foot{display:none!important}
  #dg details.cur,#dg ul.bilan li,#dg ul.recap li,#dg .liens li{break-inside:avoid}
  #dg h2{break-after:avoid}
  #dg *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
