/* 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: 1040px; 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: 22px; height: 22px; border-radius: 7px; background: linear-gradient(135deg, #5e5ce6, #bf5af2); 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 #5e5ce6; 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: #5e5ce6; --bs-primary-rgb: 94,92,230; --bs-link-color: #4a48c9; --bs-link-color-rgb: 74,72,201; --bs-link-hover-color: #3836a3; }
.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: #5e5ce6; --bs-btn-border-color: #5e5ce6; --bs-btn-hover-bg: #6e6cf0; --bs-btn-hover-border-color: #0077ed; --bs-btn-active-bg: #4f4dd6; --bs-btn-active-border-color: #006edb; background-image: none; }
.ap a:not(.btn):not(.ap-tab) { color: #4a48c9; }
.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; }
