/* Fluxia — 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; }
.fx-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); }
.fx-bar-in { max-width: 1040px; margin: 0 auto; padding: .6rem 1rem; display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.fx-logo { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; font-size: 1.15rem; letter-spacing: -.02em; color: #1d1d1f; text-decoration: none; }
.fx-mark { width: 22px; height: 22px; border-radius: 7px; background: linear-gradient(135deg, #0071e3, #5ac8fa); display: inline-block; }
.fx-nav { display: flex; gap: .15rem; flex-wrap: wrap; flex: 1; }
.fx-nav a { color: #424245; text-decoration: none; padding: .35rem .8rem; border-radius: 980px; font-size: .95rem; }
.fx-nav a:hover { background: rgba(0,0,0,.05); }
.fx-nav a.on { background: #1d1d1f; color: #fff; }
.fx-out { display: flex; align-items: center; gap: .6rem; margin: 0; }
.fx-who { font-size: .85rem; color: #6e6e73; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fx-out .btn { border-radius: 980px; }
.fx-auth { max-width: 460px !important; padding-top: 3rem; }
.fx-auth .card-body { padding: 2rem; }
.fx-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 #0071e3; outline-offset: 2px; }
@media (max-width: 640px) { .fx-who { display: none; } .fx-bar-in { gap: .5rem; } .fx-nav { order: 3; flex-basis: 100%; overflow-x: auto; flex-wrap: nowrap; } }
:root { --bs-primary: #0071e3; --bs-primary-rgb: 0,113,227; --bs-link-color: #0066cc; --bs-link-color-rgb: 0,102,204; --bs-link-hover-color: #004f9f; }
.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: #0071e3; --bs-btn-border-color: #0071e3; --bs-btn-hover-bg: #0077ed; --bs-btn-hover-border-color: #0077ed; --bs-btn-active-bg: #006edb; --bs-btn-active-border-color: #006edb; background-image: none; }
.ap a:not(.btn):not(.ap-tab) { color: #0066cc; }
.fx-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.fx-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; }
.fx-chip.on { background: #1d1d1f; border-color: #1d1d1f; color: #fff !important; }
.fx-chip.sm { padding: .05rem .5rem; font-size: .75rem; background: #f5f5f7; border-color: transparent; }
.fx-chip small { color: #6e6e73; }
.fx-chip.on small { color: #d2d2d7; }
.fx-x { border: 0; background: none; padding: 0 .1rem; font-size: 1rem; line-height: 1; color: #6e6e73; cursor: pointer; }
.fx-bulk { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; background: #f5f5f7; border-radius: 16px; padding: .75rem 1rem; }
.fx-bulk .form-control-sm, .fx-bulk .form-select-sm { width: auto; }
