/* Mise en page documentaire ; identité issue exclusivement de brand.css. */
body { margin:0; background:var(--tp-background); color:var(--tp-ink); font:var(--tp-size-body)/var(--tp-leading) var(--tp-font); }
nav { max-width:1120px; margin:var(--tp-space-5) auto; display:flex; justify-content:space-between; align-items:center; gap:var(--tp-space-4); padding:0 var(--tp-space-5); }
nav a { color:var(--tp-primary-hover); text-underline-offset:4px; }
button { background:var(--tp-primary); color:var(--tp-on-primary); border:1px solid var(--tp-primary); min-height:var(--tp-control-height); padding:12px 18px; border-radius:var(--tp-radius-control); font:inherit; font-weight:var(--tp-weight-bold); }
button:hover { background:var(--tp-primary-hover); border-color:var(--tp-primary-hover); }
.sheet { max-width:1120px; background:var(--tp-surface); padding:35px 42px; margin:var(--tp-space-5) auto; border:1px solid var(--tp-border); border-top:4px solid var(--tp-primary); border-radius:var(--tp-radius-card); box-shadow:var(--tp-shadow); }
h1 { color:var(--tp-navy); font-size:var(--tp-size-kpi); letter-spacing:-.6px; line-height:1.2; margin:0 0 var(--tp-space-3); }
h2 { color:var(--tp-navy); font-size:17px; margin:22px 0 10px; }
p { margin:10px 0; }
.eyebrow { font-size:10px; letter-spacing:1.5px; font-weight:var(--tp-weight-bold); color:var(--tp-primary-hover); }
.callout { background:var(--tp-primary-soft); color:var(--tp-navy); border-left:3px solid var(--tp-primary); border-radius:var(--tp-radius-sm); padding:13px 16px; margin:var(--tp-space-4) 0; font-size:13px; }
table { border-collapse:collapse; width:100%; font-size:13px; }
th, td { padding:11px 12px; border-bottom:1px solid var(--tp-border); text-align:left; vertical-align:top; }
thead th { background:var(--tp-primary-soft); color:var(--tp-navy); border-bottom:2px solid var(--tp-primary); font-size:var(--tp-size-caption); }
tbody th { width:20%; color:var(--tp-navy); }
.people tbody th { width:16%; }
.people td { width:42%; }
.people em { font-size:var(--tp-size-caption); font-style:normal; color:var(--tp-muted); }
.small { font-size:var(--tp-size-label); color:var(--tp-muted); }
.colors { display:flex; flex-wrap:wrap; gap:15px; font-size:var(--tp-size-label); }
.good { color:var(--tp-success); }
.warn { color:var(--tp-warning); }
.bad { color:var(--tp-danger); }
footer { border-top:1px solid var(--tp-border); margin-top:var(--tp-space-5); padding-top:10px; font-size:10px; color:var(--tp-muted); }
@media(max-width:700px) {
  nav { flex-wrap:wrap; gap:15px; }
  .sheet { margin:var(--tp-space-3); padding:var(--tp-space-5); overflow:auto; }
  h1 { font-size:var(--tp-size-title); }
  table { min-width:650px; }
}
@media print {
  @page { size:A4 landscape; margin:10mm; }
  body { background:var(--tp-surface); font-size:11px; }
  nav { display:none; }
  .sheet { padding:9px 0 0; margin:0; border:0; border-top:3px solid var(--tp-primary); border-radius:0; max-width:none; box-shadow:none; break-after:page; }
  .sheet:last-child { break-after:auto; }
  h1 { font-size:23px; margin:0 0 8px; }
  h2 { font-size:14px; margin:14px 0 7px; }
  p { margin:7px 0; }
  table { font-size:10px; min-width:0; }
  th, td { padding:7px 9px; }
  thead th { font-size:10px; }
  .people td { font-size:9.5px; line-height:1.45; }
  .people em { font-size:9px; }
  .callout { font-size:10px; padding:9px 12px; margin:10px 0; }
  .small { font-size:9.5px; }
  .colors { font-size:10px; }
  .eyebrow { font-size:9px; }
  footer { margin-top:12px; font-size:9px; }
  tr { break-inside:avoid; }
  thead { display:table-header-group; }
}
