:root{
  --cp-navy: #17243B;
  --cp-primary: #365FEA;
  --cp-primaryHover: #284BC4;
  --cp-background: #F6F7FA;
  --cp-surface: #FFFFFF;
  --cp-accent: #D94F87;
  --cp-textMuted: #526079;
  --cp-divider: #DCE2EB;
  --cp-inputBorder: #74829A;
  --cp-success: #146B4A;
  --cp-successBg: #EAF5EF;
  --cp-warning: #835500;
  --cp-warningBg: #FFF4DC;
  --cp-danger: #B42336;
  --cp-dangerBg: #FDEDF0;
  --cp-unknown: #526079;
  --cp-unknownBg: #F6F7FA;
  --cp-radius-control:6px;
  --cp-radius-card:10px;
}
body{font-family:"Noto Sans",Arial,sans-serif;color:var(--cp-navy);background:var(--cp-background)}
h1,h2{font-family:Rubik,"Noto Sans",sans-serif}
.cp-number{font-variant-numeric:tabular-nums lining-nums;text-align:right}
.cp-button{min-height:44px;padding:12px 16px;border-radius:6px;background:var(--cp-primary);color:#fff;border:0;font:700 14px/20px "Noto Sans"}
.cp-button:hover{background:var(--cp-primaryHover)}
:focus-visible{outline:2px solid var(--cp-primary);outline-offset:3px}
.cp-input{min-height:44px;border:1px solid var(--cp-inputBorder);border-radius:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Charte Crédipilote 1.0 — 06.10.2026, pages 4–9 et 19. */
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--cp-background);background-image:none;color:var(--cp-navy);font:16px/24px "Noto Sans",Arial,sans-serif;font-variant-numeric:tabular-nums lining-nums}
main{max-width:1200px;margin:auto;padding:32px;background:var(--cp-background);border:0;box-shadow:none;min-height:100vh}
.brand-header{background:var(--cp-navy);padding:24px 32px;margin:-32px -32px 32px;border:0;border-bottom:4px solid var(--cp-accent);border-radius:0;box-shadow:none}
.brand-logo{display:block;width:320px;max-width:100%;height:auto}
h1{background:none;color:var(--cp-navy);font-size:28px;line-height:36px;letter-spacing:0;padding:0;border:0;border-radius:0;margin:24px 0 16px}
h2{font-size:20px;line-height:28px}h3{font-size:17px;line-height:24px}h2,h3{color:var(--cp-navy)}
section,.card{background:var(--cp-surface);border:1px solid var(--cp-divider);border-left:1px solid var(--cp-divider);border-radius:10px;padding:24px;margin:24px 0;box-shadow:none}
.card>h2,.card>h3,#recommendations_final>h2{background:none;color:var(--cp-navy);padding:0;border:0;border-radius:0}
.card>details>summary,details.card>summary,.card details>summary{background:var(--cp-background);color:var(--cp-navy);padding:12px 16px;border:1px solid var(--cp-divider);border-radius:6px;margin:8px 0}
.card>details>summary:hover,details.card>summary:hover,summary:hover{background:#EAF0FF;color:var(--cp-primaryHover)}
button,.button{min-height:44px;padding:12px 16px;border:0;border-radius:6px;background:var(--cp-primary);color:white;font:700 14px/20px "Noto Sans",Arial,sans-serif;cursor:pointer;text-decoration:none;transition:background 150ms}
button:hover,.button:hover{background:var(--cp-primaryHover);color:white}
button.secondary,.button.secondary{background:white;color:var(--cp-navy);border:1px solid var(--cp-inputBorder)}
button.secondary:hover,.button.secondary:hover{background:#EAF0FF;color:var(--cp-navy)}button:disabled{opacity:.55;cursor:not-allowed}
label{color:var(--cp-navy);font-size:14px;line-height:20px}input,select,textarea{font:inherit;color:var(--cp-navy);background:white;border:1px solid var(--cp-inputBorder);border-radius:6px;min-height:44px;padding:10px}
input[type=checkbox],input[type=radio]{width:auto;min-height:24px;accent-color:var(--cp-primary)}
input:focus,select:focus,textarea:focus{background:white;outline:2px solid var(--cp-primary);outline-offset:3px;border-color:var(--cp-primary)}
:focus-visible{outline:2px solid var(--cp-primary);outline-offset:3px}
a{color:var(--cp-primary)}a:hover{color:var(--cp-primaryHover)}
.muted,small,.footer{color:var(--cp-textMuted)}pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.tag{background:#EAF0FF;color:var(--cp-navy);border-radius:6px;font-size:12px;font-weight:700;padding:6px 10px}
.notice,.note{background:var(--cp-warningBg);color:var(--cp-warning);border-left:4px solid var(--cp-warning);padding:16px}
.status{display:inline-block;background:var(--cp-warningBg);color:var(--cp-warning);border-radius:6px;padding:8px 12px}.pass{background:var(--cp-successBg);color:var(--cp-success)}.fail,.message{background:var(--cp-dangerBg);color:var(--cp-danger)}.unknown{background:var(--cp-unknownBg);color:var(--cp-unknown)}
#people_control,#analysis_actions{background:var(--cp-surface);border:1px solid var(--cp-divider)}#people_count{color:var(--cp-navy);font-size:18px}
.token{background:#EAF0FF;color:var(--cp-navy)}
th{background:var(--cp-navy);color:white;border-bottom:1px solid var(--cp-divider)}td,th{font-size:14px;line-height:20px;border-bottom:1px solid var(--cp-divider);padding:12px}.rule,.row{border-color:var(--cp-divider)}
input[type=number]{text-align:right}table{display:block;max-width:100%;overflow-x:auto}p,td,th{overflow-wrap:anywhere}
@media(max-width:800px){main{padding:24px}.brand-header{margin:-24px -24px 24px;padding:24px}.grid,.two{grid-template-columns:1fr}.card,section{padding:16px}}
@media(max-width:400px){main{padding:16px}.brand-header{margin:-16px -16px 24px;padding:24px 16px}.brand-logo{width:280px}h1{font-size:24px;line-height:32px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
