/* Rendezvix — barre de navigation, pages d'authentification, pied de page. Complète apple.css. */
body { background: #f5f5f7; margin: 0; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Inter, "Segoe UI", Roboto, sans-serif; color: #1d1d1f; }
.rv-bar { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.82); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0,0,0,.08); }
.rv-bar-in { max-width: min(1760px, 100%); margin: 0 auto; padding: .6rem 1rem; display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.rv-logo { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; font-size: 1.15rem; letter-spacing: -.02em; color: #1d1d1f; text-decoration: none; }
.rv-mark { width: 26px; height: 26px; border-radius: 6px; background:url(icon.svg?v=3) center/cover no-repeat; display: inline-block; }
.rv-nav { display: flex; gap: .15rem; flex-wrap: wrap; flex: 1; }
.rv-nav a { color: #424245; text-decoration: none; padding: .35rem .8rem; border-radius: 980px; font-size: .95rem; }
.rv-nav a:hover { background: rgba(0,0,0,.05); }
.rv-nav a.on { background: #1d1d1f; color: #fff; }
.rv-out { display: flex; align-items: center; gap: .6rem; margin: 0; }
.rv-who { font-size: .85rem; color: #6e6e73; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rv-out .btn { border-radius: 980px; }
.rv-auth { max-width: 460px !important; padding-top: 3rem; }
.rv-auth .card-body { padding: 2rem; }
.rv-foot { text-align: center; color: #86868b; font-size: .8rem; padding: 2rem 1rem; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #1d1d1f; outline-offset: 2px; }
@media (max-width: 640px) { .rv-who { display: none; } .rv-bar-in { gap: .5rem; } .rv-nav { order: 3; flex-basis: 100%; overflow-x: auto; flex-wrap: nowrap; } }
:root { --bs-primary: #1d1d1f; --bs-primary-rgb: 29,29,31; --bs-link-color: #000000; --bs-link-color-rgb: 0,0,0; --bs-link-hover-color: #000000; }
.ap h1, .ap h2, .ap h3, .ap .ap-step-body h3, .ap .ap-card h2, .ap .ap-section h2 { color: #1d1d1f; }
.btn-primary { --bs-btn-bg: #1d1d1f; --bs-btn-border-color: #1d1d1f; --bs-btn-hover-bg: #48484a; --bs-btn-hover-border-color: #0077ed; --bs-btn-active-bg: #1d1d1f; --bs-btn-active-border-color: #006edb; background-image: none; }
.ap a:not(.btn):not(.ap-tab) { color: #000000; }
.rv-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.rv-chip { display: inline-flex; align-items: center; gap: .35rem; background: #fff; border: 1px solid #d2d2d7; color: #1d1d1f !important; border-radius: 980px; padding: .2rem .7rem; font-size: .85rem; text-decoration: none; }
.rv-chip.on { background: #1d1d1f; border-color: #1d1d1f; color: #fff !important; }
.rv-chip.sm { padding: .05rem .5rem; font-size: .75rem; background: #f5f5f7; border-color: transparent; }
.rv-chip small { color: #6e6e73; }
.rv-chip.on small { color: #d2d2d7; }
.rv-x { border: 0; background: none; padding: 0 .1rem; font-size: 1rem; line-height: 1; color: #6e6e73; cursor: pointer; }
.rv-bulk { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; background: #f5f5f7; border-radius: 16px; padding: .75rem 1rem; }
.rv-bulk .form-control-sm, .rv-bulk .form-select-sm { width: auto; }

/* Parcours (Flux) : administration et onglet « Parcours ». */
.rvf{margin-bottom:1rem}.rvf-head{display:flex;flex-wrap:wrap;gap:.3rem .9rem;align-items:baseline}.rvf-head h2{font-size:1.25rem;margin:0}
.rvf-who{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#6e6e73}
.rvf-steps{list-style:none;margin:.5rem 0 0;padding:0;counter-reset:fs}
.rvf-steps li{counter-increment:fs;position:relative;display:flex;flex-direction:column;gap:.2rem;align-items:flex-start;padding:0 0 1.1rem 2.7rem;min-width:0;overflow-wrap:anywhere}
.rvf-steps li::before{content:counter(fs);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:50%;background:linear-gradient(135deg,#1d1d1f,#3a3a3c);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.rvf-where{font-size:.85rem;color:#1d1d1f;font-weight:600}
.rvf-sys{display:block;background:#f5f5f7;border-radius:12px;padding:.5rem .75rem;font-size:.88rem;color:#424245;max-width:100%}.rvf-sys i{display:block;font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6e6e73;margin-bottom:.1rem}
.rvf-link{font-size:.82rem;color:#6e6e73}
.rvf-go{margin-top:.2rem}
.rvf-nav{display:flex;flex-wrap:wrap;gap:.4rem}.rvf-nav a{padding:.3rem .8rem;border-radius:980px;background:#f5f5f7;color:#3a3a3c;text-decoration:none;font-size:.88rem}.rvf-nav a:hover{background:rgba(29,29,31,.12);color:#000000}
@media (max-width:640px){.rvf-steps li{padding-left:2.4rem}.rvf-nav{flex-wrap:nowrap;overflow-x:auto}.rvf-nav a{white-space:nowrap}}

/* Bouton « copier le lien » + menu permanent / usage unique */
.rv-lc { position: relative; display: inline-flex; align-items: center; vertical-align: middle; gap: .35rem; }
.rv-lc-row { display: flex; align-items: center; gap: .5rem; } .rv-lc-row .form-control { flex: 1 1 auto; min-width: 0; }
.rv-lc-b { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 1px solid #d2d2d7; border-radius: 9px; background: #fff; color: #1d1d1f; cursor: pointer; }
.rv-lc-b:hover { background: #f2f2f7; } .rv-lc-b:focus-visible { outline: 2px solid #1d1d1f; outline-offset: 2px; } .rv-lc-b svg { width: 16px; height: 16px; }
.rv-lc-ok { font-size: .78rem; color: #14532d; font-weight: 600; } .rv-lc-ok:empty { display: none; }
.rv-lc-m { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; min-width: 250px; padding: .35rem; background: #fff; border: 1px solid #e5e5ea; border-radius: 14px; box-shadow: 0 14px 40px rgba(0,0,0,.16); }
.rv-lc-m button { display: block; width: 100%; text-align: left; padding: .55rem .7rem; border: 0; background: transparent; border-radius: 10px; font: inherit; font-size: .9rem; color: #1d1d1f; cursor: pointer; }
.rv-lc-m button:hover, .rv-lc-m button:focus-visible { background: #f2f2f7; outline: none; } .rv-lc-m small { display: block; color: #6e6e73; font-size: .76rem; margin-top: .1rem; }
