html:root {
  --bg:var(--canvas);
  --border-light:var(--border-subtle); --border-l:var(--border-subtle);
  --text-2:var(--text-muted); --text-3:var(--text-subtle);
  --t2:var(--text-muted); --t3:var(--text-subtle);
  --navy:var(--brand); --navy-2:var(--brand-hover); --navy2:var(--brand-hover);
  --green:var(--success); --green-l:var(--success-bg); --green-b:var(--success-border);
  --red:var(--danger); --red-l:var(--danger-bg); --red-b:var(--danger-border);
  --amber:var(--warning); --amber-l:var(--warning-bg); --amber-b:var(--warning-border);
  --blue:var(--info); --blue-l:var(--info-bg); --blue-b:var(--info-border);
  --purple:var(--info); --purple-l:var(--info-bg); --purple-b:var(--info-border);
  --teal:var(--success); --teal-l:var(--success-bg); --teal-b:var(--success-border);
  --orange:var(--warning); --orange-l:var(--warning-bg);
  --indigo:var(--info); --indigo-l:var(--info-bg);
}
body { background:var(--canvas); color:var(--text); }
input, select, textarea { color:var(--text); background-color:var(--surface); color-scheme:inherit; }
.ipx-side { width:var(--sidenav-width); background:var(--nav-bg); color:var(--nav-text); line-height:var(--leading-snug); }
.ipx-side-item { gap:var(--space-2); padding:var(--space-2) var(--space-3); color:var(--nav-text); font-size:var(--text-sm); }
.ipx-side-item:hover { background:var(--nav-hover); color:var(--nav-text-active); }
.ipx-side-item.active { background:var(--nav-active); color:var(--nav-text-active); }
.ipx-side-sec { color:var(--nav-section); padding:var(--space-4) var(--space-3) var(--space-1); font-size:var(--text-micro); }
.ipx-side-logo { padding:var(--space-4) var(--space-5); border-color:var(--nav-border); }
.ipx-side-foot { border-color:var(--nav-border); }
.ipx-side-role { color:var(--nav-text); font-size:var(--text-micro); }
.ipx-side-item.danger { color:var(--nav-text); }
.ipx-side-avatar { background:color-mix(in srgb,var(--accent) 18%,transparent); color:var(--accent-on-dark); border-color:color-mix(in srgb,var(--accent) 35%,transparent); }
.ipx-topbar { background:var(--nav-bg); }
.btn-primary, .btn.primary, .btn-pri, .btn-login, .btn-siret, .save-btn, .st-note-btn {
  background:var(--brand); color:var(--on-brand);
}
.btn-ok { background:var(--success-solid); border-color:var(--success-solid); color:var(--on-solid); }
.btn-ok:hover { background:var(--success-solid-hover); }
.card-h, .card-head, .card-header, .modal-h, .modal-head, .modal-header, .head, .login-head {
  background:var(--header-bg); color:var(--on-header);
}
.card-title, .modal-title { color:var(--on-header); }
.btn-red:hover { background:var(--danger-bg); }
.b-muted, .b-gray, .mi-gray { background:var(--neutral-bg); color:var(--neutral); }
.st-apporteur, .al-radar { background:var(--info-bg); color:var(--info); }
.st-associe { background:var(--brand-tint); color:var(--brand); }
.dd-item, .dd-fixed, .lost-bar input { background:var(--surface); }
.sp-submitted, .sp-validated, .mb-public, .mb-confirm { background:var(--info-bg); color:var(--info); }
.fp.active, .pill.sel, .mode-btn.active, .step-dot.active, .chain-step.on, .suggestion-chip:hover,
.contrib-av, .c-av, .ps-num, .av, .seg button.active { color:var(--on-brand); }
#ipx-toast { background:var(--header-bg); color:var(--on-header); }
.pdf-preview { background:var(--canvas); }
.pdf-page {
  color-scheme:light;
  color:var(--ipx-slate-900);
  --text:var(--ipx-slate-900); --t2:var(--ipx-slate-600); --t3:var(--ipx-ink-400);
  --text-2:var(--ipx-slate-600); --text-3:var(--ipx-ink-400);
  --navy:var(--ipx-slate-900); --navy2:var(--ipx-slate-800);
  --bg:var(--ipx-slate-100); --surface:#fff;
  --border:var(--ipx-slate-200); --border-l:var(--ipx-slate-200);
}
@media (max-width:48rem) {
  .ipx-side { width:min(var(--sidenav-width),80vw); }
}
@media (min-width:48.001rem) {
  body.ipx-has-side { padding-left:var(--sidenav-width); }
}
