:root{--flow-safe-bottom:82px;--flow-glass:rgba(8,10,15,.88);--flow-line:rgba(255,255,255,.09);--flow-gold:#f3cb70;--flow-text:#f8f8fb;--flow-muted:#a8acb9}
.nx-flow-hub{max-width:1120px;margin:0 auto;padding:34px 16px 110px}.nx-flow-kicker{color:var(--flow-gold);font-weight:900;letter-spacing:.22em;font-size:12px}.nx-flow-hub h1{font-size:clamp(36px,7vw,78px);line-height:.98;margin:10px 0 14px}.nx-flow-hub>p{max-width:720px;color:var(--flow-muted);font-size:17px}.nx-flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.nx-flow-grid a{min-height:126px;border:1px solid var(--flow-line);border-radius:22px;background:linear-gradient(160deg,#161923,#0b0d13);padding:18px;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;transition:.18s transform,.18s border-color}.nx-flow-grid a:active{transform:scale(.985)}.nx-flow-grid b{font-size:20px}.nx-flow-grid span{font-size:12px;color:var(--flow-muted);margin-top:5px}
.nx-flow-dock{position:fixed;z-index:9300;left:50%;bottom:10px;transform:translateX(-50%);width:min(94vw,680px);height:64px;border:1px solid var(--flow-line);border-radius:24px;background:var(--flow-glass);backdrop-filter:blur(24px);display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 18px 70px #0008}.nx-flow-dock a,.nx-flow-dock button{border:0;background:transparent;color:#d8dbe5;text-decoration:none;display:grid;place-items:center;align-content:center;gap:3px;font:700 10px/1 system-ui;cursor:pointer}.nx-flow-dock .nx-flow-main{width:47px;height:47px;border-radius:18px;background:linear-gradient(145deg,#eac35e,#fff0b0);color:#17120a;justify-self:center;align-self:center;font-size:20px;box-shadow:0 8px 26px #eac35e28}.nx-flow-dock .glyph{font-size:20px;line-height:1}.nx-flow-badge{position:absolute;transform:translate(13px,-13px);min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ff4666;color:white;font:800 10px/17px system-ui;text-align:center}.nx-flow-compass{position:fixed;z-index:9400;inset:0;background:#0009;backdrop-filter:blur(10px);display:none;align-items:flex-end;justify-content:center}.nx-flow-compass.open{display:flex}.nx-flow-sheet{width:min(100%,720px);max-height:78svh;overflow:auto;border-radius:28px 28px 0 0;border:1px solid var(--flow-line);background:#10131b;padding:12px 16px 28px;box-shadow:0 -30px 90px #000}.nx-flow-handle{width:48px;height:5px;border-radius:999px;background:#ffffff2c;margin:0 auto 15px}.nx-flow-sheet h2{margin:5px 0 15px}.nx-flow-shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.nx-flow-shortcuts a{padding:16px;border-radius:18px;border:1px solid var(--flow-line);background:#171a23;color:#fff;text-decoration:none;font-weight:800}.nx-flow-shortcuts small{display:block;color:var(--flow-muted);font-weight:500;margin-top:4px}.nx-flow-toast-stack{position:fixed;z-index:9600;top:72px;right:12px;width:min(92vw,390px);display:grid;gap:8px;pointer-events:none}.nx-flow-toast{pointer-events:auto;border:1px solid var(--flow-line);background:#11141deF;color:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 15px 50px #0008;animation:nxFlowIn .22s ease}.nx-flow-toast b{display:block;font-size:12px;color:var(--flow-gold);letter-spacing:.08em}.nx-flow-toast span{font-size:13px}.nx-flow-progress{position:fixed;z-index:9700;left:0;right:0;top:0;height:3px;pointer-events:none}.nx-flow-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#efc35e,#fff3b7);box-shadow:0 0 16px #ffd978;transition:width .18s ease,opacity .2s}.nx-flow-offline{position:fixed;z-index:9650;left:50%;top:12px;transform:translateX(-50%);padding:8px 13px;border-radius:999px;background:#2a1519;color:#ffb6c2;border:1px solid #ff627d33;font:800 11px system-ui;display:none}.nx-flow-offline.show{display:block}.nx-flow-focus .nav,.nx-flow-focus .nx-flow-dock,.nx-flow-focus .mobile-dock{opacity:0!important;pointer-events:none!important;transition:.2s}.nx-flow-focus .page{max-width:none!important}.nx-action-feedback{position:relative}.nx-action-feedback[data-nx-busy="1"]{opacity:.72;pointer-events:none}.nx-action-feedback[data-nx-busy="1"]:after{content:'';position:absolute;right:7px;top:7px;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nxSpin .65s linear infinite}.nx-flow-ripple{position:absolute;border-radius:50%;pointer-events:none;background:#ffffff35;transform:translate(-50%,-50%) scale(0);animation:nxRipple .5s ease-out forwards}.nx-flow-priority-lock .nx-low-priority{visibility:hidden!important}.nx-flow-dock[hidden]{display:none!important}@keyframes nxFlowIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes nxSpin{to{transform:rotate(1turn)}}@keyframes nxRipple{to{transform:translate(-50%,-50%) scale(5);opacity:0}}
@media(max-width:900px){body{padding-bottom:var(--flow-safe-bottom)}.mobile-dock{display:none!important}.nx-flow-grid{grid-template-columns:1fr 1fr}.nx-flow-dock{display:grid}.page{padding-bottom:92px!important}}@media(min-width:901px){.nx-flow-dock{bottom:18px}.nx-flow-shortcuts{grid-template-columns:repeat(3,1fr)}}@media(max-width:540px){.nx-flow-grid{grid-template-columns:1fr}.nx-flow-hub{padding-inline:12px}.nx-flow-toast-stack{top:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body:has(.nx-live-premium) .nx-flow-dock{opacity:.2;transform:translateX(-50%) translateY(70px)}body:has(.nx-live-premium):not(.nx-flow-focus) .nx-flow-dock:hover{opacity:1;transform:translateX(-50%)}
/* RC126 — synchronisation métier temps réel */
.nx-flow-livebar{position:fixed;z-index:9250;left:50%;bottom:82px;transform:translateX(-50%);width:min(94vw,760px);display:grid;grid-template-columns:1.5fr 1.1fr .8fr 1fr 34px;gap:6px;padding:7px;border:1px solid var(--flow-line);border-radius:18px;background:rgba(10,12,18,.92);backdrop-filter:blur(22px);box-shadow:0 14px 48px #0008}.nx-flow-livebar[hidden]{display:none}.nx-flow-livebar a{min-width:0;padding:8px 10px;border-radius:12px;background:#ffffff08;color:#fff;text-decoration:none;display:flex;gap:8px;align-items:center}.nx-flow-livebar b{font-size:11px;white-space:nowrap}.nx-flow-livebar span{font-size:11px;color:#c9ccd5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nx-flow-livebar button{border:0;background:transparent;color:#8d92a1;font-size:20px;cursor:pointer}.nx-flow-dock a.active{color:#fff}.nx-flow-dock a.active:after{content:'';width:18px;height:2px;border-radius:999px;background:var(--flow-gold);position:absolute;bottom:5px}.nx-flow-dock a{position:relative}.nx-flow-livebar [data-nx-changed="1"], [data-nx-bind][data-nx-changed="1"]{animation:nxBindPulse .65s ease}.nx-flow-focus .nx-flow-livebar{opacity:0;pointer-events:none}.nx-flow-livebar [data-domain="live"] b{color:#ff667d}.nx-flow-livebar [data-domain="wallet"] b{color:var(--flow-gold)}@keyframes nxBindPulse{0%{transform:scale(.96);filter:brightness(1)}45%{transform:scale(1.05);filter:brightness(1.8)}100%{transform:none;filter:none}}@media(max-width:720px){.nx-flow-livebar{grid-template-columns:1.3fr 1fr .8fr 32px}.nx-flow-livebar [data-domain="finance"]{display:none}}@media(max-width:480px){.nx-flow-livebar{bottom:78px;grid-template-columns:1.4fr 1fr .75fr 28px;padding:5px}.nx-flow-livebar a{padding:7px}.nx-flow-livebar b{font-size:10px}.nx-flow-livebar span{font-size:10px}}
/* RC127 — état temps réel + protection double action */
.nx-flow-status{position:fixed;right:14px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:10030;display:flex;align-items:center;gap:8px;max-width:min(82vw,320px);padding:9px 12px;border-radius:999px;background:rgba(10,12,20,.90);border:1px solid rgba(255,255,255,.13);box-shadow:0 10px 32px rgba(0,0,0,.28);backdrop-filter:blur(16px);font-size:12px;color:#fff;transition:.22s ease}
.nx-flow-status.compact{opacity:.62;transform:scale(.94);transform-origin:right bottom}.nx-flow-status[data-state="offline"]{border-color:rgba(255,170,0,.55)}.nx-flow-status[data-state="reconnecting"]{border-color:rgba(108,164,255,.55)}.nx-flow-status[data-state="online"]{border-color:rgba(63,224,146,.45)}
.nx-flow-dot{width:8px;height:8px;border-radius:50%;background:#aaa;box-shadow:0 0 0 3px rgba(255,255,255,.06)}.nx-flow-status[data-state="online"] .nx-flow-dot{background:#3fe092}.nx-flow-status[data-state="offline"] .nx-flow-dot{background:#ffb020}.nx-flow-status[data-state="reconnecting"] .nx-flow-dot{background:#6ca4ff;animation:nxFlowPulse 1.15s infinite}
.nx-action-pending{position:relative!important;pointer-events:none!important;opacity:.68!important}.nx-action-pending::after{content:"";display:inline-block;width:13px;height:13px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:nxFlowSpin .7s linear infinite}
@keyframes nxFlowSpin{to{transform:rotate(360deg)}}@keyframes nxFlowPulse{50%{opacity:.35;transform:scale(.72)}}
@media (prefers-reduced-motion:reduce){.nx-flow-status,.nx-action-pending::after,.nx-flow-dot{animation:none!important;transition:none!important}}
/* RC135 — mobile QA / navigation priority */
.nx-universal-back{position:fixed;z-index:10040;left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:rgba(12,14,20,.84);backdrop-filter:blur(16px);color:#fff;font:900 24px/1 system-ui;box-shadow:0 10px 30px #0006;display:grid;place-items:center}.nx-universal-back[hidden]{display:none!important}
body:has(.nx-live) .nx-flow-dock,body:has(.nx-live) .nx-flow-livebar,body:has(.nx-live) .nx-flow-status,body:has(.nx-live) .nx-universal-back{display:none!important}
body.nx-live-sheet-open .nx-flow-dock,body.nx-live-sheet-open .nx-flow-livebar,body.nx-live-sheet-open .nx-flow-status{display:none!important}
@media(max-width:900px){body{padding-bottom:76px}.nx-flow-dock{height:60px;bottom:max(8px,env(safe-area-inset-bottom));border-radius:22px}.nx-flow-livebar{bottom:74px}.nx-flow-status{right:10px;bottom:78px;font-size:10px;padding:7px 9px}.nx-flow-status.compact{opacity:.45}.page{padding-bottom:86px!important}}
@media(max-width:720px){.nx-flow-livebar{display:none!important}.nx-flow-status[data-state="online"]{opacity:.32;pointer-events:none}.nx-flow-status[data-state="online"] [data-nx-flow-status]{max-width:72px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
