/* Rappli v10 — déclinaison des parcours réels. Les règles métier et leurs états
   restent dans les gabarits existants. La portée exclut dashboard et admin. */
body.rappli-flow {
  --bleu:var(--rappli-blue); --bleu-hover:var(--rappli-navy); --bleu-fonce:var(--rappli-navy);
  --texte:var(--rappli-ink); --gris:var(--rappli-muted); --bordure:var(--rappli-line);
  --fond:var(--rappli-surface); --bleu-clair:var(--rappli-surface); --bordure-input:#d6deec;
  --r:16px; --r-lg:var(--rappli-radius-card); --r-sm:var(--rappli-radius-control);
  --ombre-s:var(--rappli-shadow-card); --ombre:var(--rappli-shadow-card);
  --ease:var(--rappli-ease); --grad-cta:var(--rappli-blue);
  margin:0; background:var(--rappli-white); color:var(--rappli-ink);
  font-family:var(--font-sans,'Nunito Sans',sans-serif); font-size:16px; line-height:1.6;
}
body.rappli-flow :is(.auth,.wrap,.gi,.gfix)::before,
body.rappli-flow :is(.auth,.wrap,.gi,.gfix)::after,
body.rappli-flow .auth-card .btn-block::after,
body.rappli-flow .offre i::after { content:none; animation:none; }
body.rappli-flow :is(.auth-card,.sec-t,.titre-grad,.banniere.numero,.rb-account-panel,.rm-setup) { animation:none; }
body.rappli-flow .auth {
  min-height:100dvh; align-items:flex-start; background:var(--rappli-white);
  padding:clamp(28px,6vh,64px) max(16px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
}
body.rappli-flow .auth.sous-appbar { min-height:calc(100dvh - 72px); }
body.rappli-flow .auth.account-security-page { align-items:center; }
body.rappli-flow .journey-site-links { display:flex; justify-content:flex-end; align-items:center; gap:24px; min-height:64px; max-width:1200px; margin:auto; padding:10px 24px; }
body.rappli-flow .journey-site-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--rappli-muted); font-size:14px; font-weight:650; text-decoration:none; }
body.rappli-flow .journey-site-links a:hover { color:var(--rappli-blue); text-decoration:underline; text-underline-offset:4px; }
body.rappli-flow:has(.journey-site-links) .auth { min-height:calc(100dvh - 64px); padding-top:clamp(16px,3vh,40px); }
body.rappli-flow .auth-card {
  width:100%; max-width:476px; padding:clamp(28px,4vw,44px);
  border:1px solid var(--rappli-line); border-radius:var(--rappli-radius-card);
  background:var(--rappli-white); box-shadow:var(--rappli-shadow-card);
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
body.rappli-flow.signup-mode-page .auth-card { max-width:780px; padding:clamp(26px,4vw,48px); }
body.rappli-flow .auth-card:is(.bv-handoff-card,.bv-multi-card) { max-width:780px; }
body.rappli-flow .auth-logo { display:block; width:fit-content; max-width:100%; margin:0 auto 28px; padding:2px; }
body.rappli-flow .auth-logo img { width:128px; height:auto; display:block; }
body.rappli-flow .auth-card h1,
body.rappli-flow :is(.gi-head,.gfix-head,.rb-offers-head) h1 {
  font-size:clamp(28px,3vw,36px); line-height:1.2; font-weight:800;
  letter-spacing:-.025em; color:var(--rappli-navy); overflow-wrap:anywhere;
}
body.rappli-flow .titre-grad {
  background:none; color:var(--rappli-navy); -webkit-text-fill-color:currentColor;
  -webkit-background-clip:initial; background-clip:initial;
}
body.rappli-flow .auth-card .sub { margin:12px auto 6px; max-width:45ch; color:var(--rappli-muted); font-size:16px; line-height:1.6; }
body.rappli-flow :is(.sec-t,.onb-sec) { margin-top:28px; font-size:20px; font-weight:750; letter-spacing:-.015em; }
body.rappli-flow :is(.sec-sub,.onb-hint) { color:var(--rappli-muted); font-size:15px; line-height:1.6; font-weight:400; }
body.rappli-flow :is(.ins-prog,.onb-progress),
body.rappli-flow #form-inscription.js-etapes .ins-prog {
  gap:16px; margin-top:24px; padding:14px 16px; border:1px solid var(--rappli-line);
  border-radius:14px; background:var(--rappli-surface);
}
body.rappli-flow :is(.ins-dots,.onb-dots) { gap:6px; }
body.rappli-flow :is(.ins-dots,.onb-dots) i { height:5px; border-radius:3px; }
body.rappli-flow :is(.ins-nav,.onb-nav) { gap:8px; }
body.rappli-flow .auth-card label:not(:has(input[type=radio],input[type=checkbox])) { font-weight:650; font-size:15px; }
body.rappli-flow :is(input,select,textarea):not([type=hidden],[type=checkbox],[type=radio],[type=range]) {
  min-height:52px; max-width:100%; border:1px solid var(--rappli-field-line); border-radius:var(--rappli-radius-field);
  background:var(--rappli-white); color:var(--rappli-navy); font:inherit; font-size:16px;
  box-shadow:0 1px 2px rgba(18,30,74,.03); transition:border-color 160ms var(--rappli-ease),box-shadow 160ms var(--rappli-ease);
}
body.rappli-flow :is(input,select,textarea):not([type=hidden],[type=checkbox],[type=radio],[type=range]):focus {
  outline:2px solid var(--rappli-blue); outline-offset:2px; border-color:var(--rappli-blue); box-shadow:none;
}
body.rappli-flow :is(input,select,textarea)[aria-invalid=true] { border-color:var(--color-danger,#a12b25); }
body.rappli-flow :is(input,select,textarea)[aria-invalid=true]:focus { border-color:var(--color-danger,#a12b25); }
body.rappli-flow :is(input,select,textarea):disabled { background:var(--rappli-surface); color:var(--rappli-muted); cursor:not-allowed; opacity:.7; }
body.rappli-flow :is(input[type=checkbox],input[type=radio]) { accent-color:var(--rappli-blue); }
body.rappli-flow .pwd .eye { border-radius:10px; color:var(--rappli-muted); }
body.rappli-flow :is(a,button,summary,[tabindex="0"]):focus-visible { outline:3px solid var(--rappli-blue); outline-offset:4px; }
body.rappli-flow .btn,
body.rappli-flow .auth-card .btn-block {
  min-height:52px; padding:13px 22px; border-width:1px; border-radius:var(--rappli-radius-control);
  font-size:16px; font-weight:750; line-height:1.4; white-space:normal; text-align:center;
  transition:background-color 160ms var(--rappli-ease),border-color 160ms var(--rappli-ease),box-shadow 160ms var(--rappli-ease),transform 160ms var(--rappli-ease);
}
body.rappli-flow .btn-primary {
  background:var(--rappli-blue); border-color:var(--rappli-blue); color:#fff;
  box-shadow:0 2px 3px -1px rgba(18,30,74,.18),0 8px 18px -10px rgba(30,59,139,.4);
}
body.rappli-flow :is(.btn-secondary,.btn-ghost,.btn-google) {
  border:1px solid var(--bordure-input); background:var(--rappli-white); color:var(--rappli-navy);
  box-shadow:0 1px 2px rgba(18,30,74,.03); border-radius:var(--rappli-radius-control);
}
body.rappli-flow .btn-google { min-height:52px; margin-top:24px; font-size:15px; font-weight:650; }
body.rappli-flow .auth-sep { margin:20px 0 8px; font-size:14px; }
body.rappli-flow .btn:disabled,body.rappli-flow .btn[aria-disabled=true] { opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }
body.rappli-flow :is(.auth-card .lien,.auth-card .oubli) a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
body.rappli-flow .auth-card .lien { margin-top:24px; font-size:15px; line-height:1.6; }
body.rappli-flow .auth-card .oubli { margin-block:10px 6px; }
body.rappli-flow :is(.erreur,.banniere,.vf-email-card,.vf-pourquoi,.gfix-alert,.bv-read-warning) { border-radius:14px; line-height:1.6; }
body.rappli-flow :is(.erreur,.banniere,.gfix-alert,.bv-read-warning) { padding:14px 16px; font-size:15px; text-align:left; }
body.rappli-flow :is(.erreur,.gfix-alert) { border:1px solid #edc9c6; background:#fff5f4; color:#a12b25; }
body.rappli-flow .vf-email-card { border:1px solid var(--rappli-line); background:var(--rappli-surface); padding:18px; margin-top:24px; }
body.rappli-flow .vf-pourquoi { font-size:14px; }
body.rappli-flow #blocCode input { font-size:24px; letter-spacing:.3em; min-height:60px; }
body.rappli-flow :is(.auth-fait .af-ic,.oauth-progress) { box-shadow:none; }
body.rappli-flow .auth-fait { margin-bottom:24px; }
body.rappli-flow .auth-fait p { font-size:16px; line-height:1.65; }
body.rappli-flow .auth-links { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 20px; margin:24px auto 0; font-size:14px; }
body.rappli-flow .auth-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--rappli-muted); text-decoration:underline; text-underline-offset:4px; }
/* Choix du mode, activité, coordonnées et établissements : mêmes surfaces imbriquées. */
body.rappli-flow :is(.rm-mode-card,.metier-chip,.tel-bloc,.signup-site-card,.signup-choice-card,.gfix-choice) {
  border:1px solid var(--rappli-line); border-radius:16px; background:var(--rappli-white); box-shadow:0 1px 2px rgba(18,30,74,.03);
}
body.rappli-flow .tel-bloc { padding:20px; }
body.rappli-flow .tel-bloc > label:first-child,
body.rappli-flow .tel-bloc > [data-signup-contact] > label:first-child { margin-top:0; }
body.rappli-flow .tel-bloc:has(> [data-signup-contact][hidden]):has(> #blocOperateurMobile[hidden]) { display:none; }
body.rappli-flow :is(.rm-mode-card,.metier-chip,.signup-choice-card,.gfix-choice):has(input:checked) { border-color:var(--rappli-blue); box-shadow:inset 0 0 0 1px var(--rappli-blue),0 4px 10px -6px rgba(18,30,74,.15); background:var(--rappli-white); }
body.rappli-flow .gfix-choice { padding:16px; }
body.rappli-flow .gfix-choice + .gfix-choice { margin-top:10px; }
body.rappli-flow .rm-mode-grid { gap:18px; }
body.rappli-flow .rm-mode-card { padding:24px; }
body.rappli-flow .rm-mode-title-row strong { color:var(--rappli-navy); font-size:20px; line-height:1.35; letter-spacing:-.015em; }
body.rappli-flow :is(.rm-mode-description,.rm-mode-benefits) { color:var(--rappli-muted); font-size:15px; line-height:1.6; }
body.rappli-flow :is(.rm-setup,.sms-auto-shell,.rm-switch-dialog) { border:1px solid var(--rappli-line); border-radius:var(--rappli-radius-card); background:var(--rappli-white); box-shadow:var(--rappli-shadow-card); }
body.rappli-flow .rm-setup { padding:clamp(24px,4vw,36px); }
/* A long preview must not stretch the label away from its editing field. */
body.rappli-flow .rm-message-field { align-content:start; }
body.rappli-flow .rm-page-head h1 { margin-top:0; }
body.rappli-flow .rm-switch-dialog::backdrop { background:rgba(18,30,74,.32); }
body.rappli-flow .rm-preview { border:1px solid var(--rappli-line); border-radius:18px; background:var(--rappli-surface); }
body.rappli-flow :is(.act-wrap-inscription,.act-wrap-profil) { --r-xs:10px; }
body.rappli-flow :is(.act-sugg,.ent-sugg,.act-group,.compte-menu) { border-color:var(--rappli-line); border-radius:14px; box-shadow:var(--rappli-shadow-card); }
body.rappli-flow :is(.act-opt,.ent-item) { min-height:48px; }
body.rappli-flow :is(.bv-sites,.bv-device-handoff,.gi-device-handoff,.gi-num,.gfix-number) { border:1px solid var(--rappli-line); background:var(--rappli-surface); border-radius:18px; }
body.rappli-flow .bv-site { border:1px solid var(--rappli-line); padding:14px; border-radius:14px; }
body.rappli-flow :is(.gi,.gfix) { padding-top:40px; padding-bottom:64px; }
body.rappli-flow :is(.gi-head,.gfix-head) { margin-bottom:28px; }
body.rappli-flow :is(.gi-step,.gfix-panel) { padding:clamp(24px,4vw,36px); border:1px solid var(--rappli-line); border-radius:var(--rappli-radius-card); background:var(--rappli-white); box-shadow:var(--rappli-shadow-card); }
body.rappli-flow :is(.gi-step h2,.gfix-panel h2) { font-size:24px; line-height:1.3; letter-spacing:-.015em; font-weight:750; }
body.rappli-flow :is(.gi-note,.gi-instruction,.gfix-code,.gfix-details) { border-color:var(--rappli-line); border-radius:14px; }
body.rappli-flow :is(.gi-note,.gi-instruction,.gfix-code) { background:var(--rappli-surface); }
body.rappli-flow .gi-num .val { letter-spacing:.01em; font-weight:800; }
body.rappli-flow :is(.gi-device-handoff,.bv-device-handoff) { box-shadow:none; }
body.rappli-flow .gi-device-handoff .gi-copy { min-height:52px; padding:13px 22px; border-width:1px; border-radius:var(--rappli-radius-control); font-size:16px; font-weight:750; line-height:1.4; }
body.rappli-flow .gi-copy.err { color:var(--rappli-white); border-color:var(--color-danger); }
body.rappli-flow .appbar { background:rgba(255,255,255,.96); border-bottom:1px solid var(--rappli-line); box-shadow:none; }
body.rappli-flow .appbar .in { min-height:72px; }
body.rappli-flow .appbar .logo img { width:122px; height:auto; }
/* Choix d'offre et retours de paiement : les montants/conditions restent ceux du catalogue. */
body.rappli-flow .rb-offers-wrap { padding-block:40px 64px; }
body.rappli-flow .est-request-card { border:1px solid var(--rappli-line); border-radius:var(--rappli-radius-card); background:var(--rappli-white); box-shadow:var(--rappli-shadow-card); }
body.rappli-flow :is(.rb-offers-form,.rb-account-panel,.rb-plan-card,.rb-section-card) { border:1px solid var(--rappli-line); border-radius:var(--rappli-radius-card); background:var(--rappli-white); box-shadow:var(--rappli-shadow-card); }
body.rappli-flow .rb-account { --rb-primary:var(--rappli-blue); --rb-primary-hover:var(--rappli-navy); --rb-ink:var(--rappli-navy); --rb-muted:var(--rappli-muted); --rb-line:var(--rappli-line); }
body.rappli-flow .rb-btn { min-height:52px; border-radius:var(--rappli-radius-control); font-size:16px; font-weight:750; transition:background-color 160ms var(--rappli-ease),border-color 160ms var(--rappli-ease); }
body.rappli-flow .rb-btn-primary { background:var(--rappli-blue); color:#fff; box-shadow:0 2px 3px -1px rgba(18,30,74,.18),0 8px 18px -10px rgba(30,59,139,.4); }
body.rappli-flow .rb-btn-primary:hover { background:var(--rappli-navy); }
body.rappli-flow :is(.rb-alert,.rb-flash) { border-radius:14px; padding:16px 18px; font-size:15px; line-height:1.6; }
body.rappli-flow .rb-offers-form { padding:clamp(22px,4vw,36px); }
body.rappli-flow .rb-offers-head { margin-bottom:28px; }
body.rappli-flow .rb-offers-choice { border:1px solid var(--rappli-line); border-radius:18px; padding:22px 18px; background:var(--rappli-white); box-shadow:0 1px 2px rgba(18,30,74,.03); }
body.rappli-flow .rb-offers-choice:has(input:checked) { border-color:var(--rappli-blue); background:var(--rappli-white); box-shadow:inset 0 0 0 1px var(--rappli-blue),var(--rappli-shadow-card); }
body.rappli-flow :is(.rb-offers-consent,.rb-offers-trial,.rb-offers-summary) { border:1px solid var(--rappli-line); border-radius:16px; background:var(--rappli-surface); padding:22px; }
body.rappli-flow .rb-offers-consent > .rb-offers-status:first-child { margin:0 0 16px; }
body.rappli-flow .rb-offers-trial h2 { margin:0 0 12px; font-size:20px; line-height:1.35; }
body.rappli-flow .rb-offers-price { color:var(--rappli-navy); font-weight:800; }
body.rappli-flow .rb-offers-details summary { min-height:44px; }
/* Retours d’activation exceptionnels : même carte en relief que l’inscription. */
body.rappli-flow .journey-status-card { padding:clamp(26px,4vw,36px); border:1px solid var(--rappli-line); border-radius:var(--rappli-radius-card); background:var(--rappli-white); box-shadow:var(--rappli-shadow-card); }
body.rappli-flow .journey-status-card .ph { margin:0 0 24px; }
body.rappli-flow .journey-status-card h1 { margin:0; font-size:clamp(26px,3vw,32px); line-height:1.25; letter-spacing:-.025em; font-weight:800; overflow-wrap:anywhere; }
body.rappli-flow .journey-status-card h1 .ic { flex-shrink:0; }
body.rappli-flow .journey-status-card :is(.banniere.info,.banniere.essai) { margin:0; padding:18px; border:1px solid var(--rappli-line); background:var(--rappli-surface); color:var(--rappli-ink); font-weight:400; }
body.rappli-flow .journey-status-card .banniere b { color:var(--rappli-navy); font-weight:700; }
body.rappli-flow .journey-status-card .btn { overflow-wrap:anywhere; }
body.rappli-flow .rappli-message-card { display:flex; flex-direction:column; align-items:center; text-align:center; }
body.rappli-flow .rappli-message-card .carte { max-width:500px; border-radius:var(--rappli-radius-card); padding:clamp(26px,4vw,44px); border:1px solid var(--rappli-line); box-shadow:var(--rappli-shadow-card); }
body.rappli-flow.rappli-message-page { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:100dvh; padding:32px 16px; }
body.rappli-flow.rappli-message-page .carte { max-width:500px; border-radius:var(--rappli-radius-card); padding:clamp(26px,4vw,44px); border:1px solid var(--rappli-line); box-shadow:var(--rappli-shadow-card); }
body.rappli-flow.rappli-message-page h1 { font-size:28px; line-height:1.25; font-weight:800; }
body.rappli-flow.rappli-message-page .carte p { font-size:16px; }
/* Legacy message actions use BTN_CLIENT_STYLE; ordinary direct links retain
   their link treatment. Their inline pill marker identifies these buttons. */
body.rappli-flow.rappli-message-page .carte > a[style*="border-radius:999px"] {
  display:inline-flex; align-items:center; justify-content:center; max-width:100%; margin-top:20px;
  min-height:52px!important; padding:13px 22px!important; border-radius:var(--rappli-radius-control)!important;
  background:var(--rappli-blue)!important; color:var(--rappli-white)!important; box-shadow:0 3px 7px -4px rgba(18,30,74,.25)!important;
  line-height:1.4; text-align:center; text-decoration:none; overflow-wrap:anywhere;
}
body.rappli-flow.rappli-message-page button[type=submit] { min-height:52px; padding:13px 22px!important; border-radius:var(--rappli-radius-control)!important; box-shadow:0 3px 7px -4px rgba(18,30,74,.25); }
@media(hover:hover) and (pointer:fine) {
  body.rappli-flow .btn-primary:not(:disabled,[aria-disabled=true],[aria-busy=true]):hover { background:var(--rappli-navy); border-color:var(--rappli-navy); transform:translateY(-1px); box-shadow:0 4px 10px -5px rgba(18,30,74,.25); }
  body.rappli-flow :is(.btn-secondary,.btn-ghost,.btn-google):not(:disabled,[aria-disabled=true],[aria-busy=true]):hover { border-color:var(--rappli-blue); background:var(--rappli-surface); transform:none; }
}
body.rappli-flow .btn:not(:disabled,[aria-disabled=true],[aria-busy=true]):active { transform:translateY(1px); box-shadow:none; }
body.rappli-flow .btn:is(:disabled,[aria-disabled=true],[aria-busy=true]) { transform:none; box-shadow:none; }
body.rappli-flow .btn[aria-busy=true] { cursor:progress; opacity:.7; }
@media(max-width:767px) {
  body.rappli-flow.rappli-mobile-app { background:var(--rappli-white); }
  body.rappli-flow.rappli-mobile-app .auth.sous-appbar { background:var(--rappli-white); }
  body.rappli-flow .appbar .in { min-height:64px; }
  body.rappli-flow .appbar .logo img { width:auto; height:32px; }
  body.rappli-flow .auth { padding-top:24px; }
  body.rappli-flow .journey-site-links { justify-content:center; padding:8px 20px; min-height:60px; }
  body.rappli-flow :is(.gi,.gfix) { padding-top:24px; }
  body.rappli-flow .rb-offers-wrap { padding-top:24px; }
}
@media(max-width:480px) {
  body.rappli-flow .auth { padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right)); }
  body.rappli-flow .auth-card,body.rappli-flow.signup-mode-page .auth-card { padding:26px 20px; border-radius:20px; }
  body.rappli-flow .auth-card h1 { font-size:28px; }
  body.rappli-flow .auth-logo { margin-bottom:24px; }
  body.rappli-flow :is(.gi-step,.gfix-panel) { padding:24px 20px; border-radius:20px; }
  body.rappli-flow .rm-mode-card { padding:20px; }
  body.rappli-flow .rm-setup { padding:24px 20px; border-radius:20px; }
  body.rappli-flow .tel-bloc { padding:18px; }
  body.rappli-flow .journey-status-card { padding:26px 20px; border-radius:20px; }
  body.rappli-flow :is(.rb-offers-consent,.rb-offers-trial,.rb-offers-summary) { padding:18px; }
  body.rappli-flow .auth-links { gap:4px 18px; }
  body.rappli-flow :is(.ins-prog,.onb-progress),body.rappli-flow #form-inscription.js-etapes .ins-prog { padding:12px; gap:10px; }
}
@media(prefers-reduced-motion:reduce) {
  body.rappli-flow *,body.rappli-flow *::before,body.rappli-flow *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  body.rappli-flow .btn:is(:hover,:active) { transform:none!important; }
}
/* Pages légales réellement servies : texte et numérotation contractuels inchangés. */
body.rappli-public-legal { background:var(--rappli-white); color:var(--rappli-ink); font-family:var(--rappli-font); }
body.rappli-public-legal .wrap { max-width:820px; padding:20px 24px 64px; }
body.rappli-public-legal .legal-head { min-height:64px; margin-bottom:32px; }
body.rappli-public-legal .brand img { height:auto; width:122px; }
body.rappli-public-legal .legal-site-links { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
body.rappli-public-legal .legal-site-links a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; font-weight:650; color:var(--rappli-muted); text-decoration:none; }
body.rappli-public-legal .legal-site-links a:hover { color:var(--rappli-blue); text-decoration:underline; text-underline-offset:4px; }
body.rappli-public-legal .card { border-color:var(--rappli-line); border-radius:var(--rappli-radius-card); box-shadow:var(--rappli-shadow-card); padding:clamp(26px,5vw,48px); }
body.rappli-public-legal :is(h1,h2) { color:var(--rappli-navy); }
body.rappli-public-legal h1 { line-height:1.18; font-weight:800; }
body.rappli-public-legal h2 { font-weight:750; border-color:var(--rappli-line); }
body.rappli-public-legal h2::before { background:var(--rappli-surface); color:var(--rappli-blue); }
body.rappli-public-legal :is(.maj,.lnav,.lnav a) { color:var(--rappli-muted); }
@media(max-width:520px) {
  body.rappli-public-legal .wrap { padding:12px 14px 48px; }
  body.rappli-public-legal .legal-head { gap:12px; margin-bottom:24px; }
  body.rappli-public-legal .brand img { width:100px; }
  body.rappli-public-legal .legal-site-links { gap:16px; }
  body.rappli-public-legal .card { padding:26px 20px; border-radius:20px; }
}
@media(forced-colors:active) {
  body.rappli-flow { --rappli-white:Canvas; --rappli-navy:CanvasText; --rappli-ink:CanvasText; --rappli-muted:CanvasText; --rappli-line:CanvasText; --rappli-surface:Canvas; --rappli-blue:LinkText; --rappli-shadow-card:none; }
  body.rappli-flow .btn-primary { background:ButtonFace; color:ButtonText; border-color:ButtonText; }
}
