:root{--bg:#fff;--bg-soft:#f5f7fa;--text:#3d4654;--text-h:#0b1a2b;--border:#e2e7ee;--accent:#0a8f5b;--accent-bg:#0a8f5b1a;--warn:#c77700;--warn-bg:#c777001f;--info:#2563eb;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e1620;--bg-soft:#151f2b;--text:#b4bfcc;--text-h:#f1f5f9;--border:#243242;--accent:#2ed39a;--accent-bg:#2ed39a1f;--warn:#f0a63a;--warn-bg:#f0a63a24;--info:#6b9bff}}*{box-sizing:border-box}body{font:16px/1.6 var(--sans);color:var(--text);background:var(--bg);margin:0}h1,h2,h3,h4{color:var(--text-h);line-height:1.25}code{font-family:var(--mono);font-size:.85em}.layout{grid-template-columns:270px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-soft);border-right:1px solid var(--border);height:100vh;padding:20px 16px 40px;position:sticky;top:0;overflow-y:auto}.sidebar a{color:var(--text);border-radius:6px;padding:6px 10px;font-size:.93rem;text-decoration:none;display:block}.sidebar a:hover{background:var(--accent-bg)}.sidebar a.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.sidebar h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text);opacity:.7;margin:20px 10px 6px;font-size:.72rem}.brand{margin-bottom:10px;font-weight:800;color:var(--text-h)!important;font-size:1.5rem!important}.brand span{color:var(--accent)}.burger{display:none}main{width:100%;max-width:980px;padding:32px 40px 80px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.8rem;font-weight:600}.hero h1{margin:6px 0 12px;font-size:2.4rem}.lead{font-size:1.1rem}h2{margin-top:40px}.cat{color:var(--text);margin:24px 0 10px}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:28px 0;display:grid}.kpi{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;flex-direction:column;padding:14px;display:flex}.kpi strong{color:var(--accent);font-size:1.8rem}.kpi span{color:var(--text-h);font-size:.9rem;font-weight:600}.kpi small{font-size:.78rem}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.two-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.card{border:1px solid var(--border);background:var(--bg);text-align:left;font:inherit;color:inherit;border-radius:10px;padding:16px 18px;position:relative}.card h2,.card h3{margin:0 0 6px;font-size:1.05rem}.card p{margin:0}.card ul{margin:0;padding-left:18px}.card.accent{border-color:var(--warn);background:var(--warn-bg)}.card.link{cursor:pointer;transition:border-color .15s,transform .15s}.card.link:hover{border-color:var(--accent);transform:translateY(-2px)}.card.link code{color:var(--accent);margin-top:8px;display:inline-block}.dot{border-radius:50%;width:10px;height:10px;position:absolute;top:18px;right:16px}.dot.operationnel{background:var(--accent)}.dot.partiel{background:var(--warn)}.dot.simule{background:var(--info)}.checks{padding:0;list-style:none}.checks li{margin:6px 0;padding-left:26px;position:relative}.checks li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:4px}.meta{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.meta code,.chip{border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;padding:3px 10px;font-size:.82rem}.chips{flex-wrap:wrap;gap:8px;display:flex}button.chip{cursor:pointer;color:var(--accent);font-family:var(--mono)}button.chip:hover{background:var(--accent-bg)}.note{border-left:3px solid var(--accent);background:var(--accent-bg);border-radius:0 8px 8px 0;padding:10px 14px}.pill{border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600}.pill.operationnel,.pill.fait{background:var(--accent-bg);color:var(--accent)}.pill.partiel,.pill.encours{background:var(--warn-bg);color:var(--warn)}.pill.simule,.pill.avenir{background:var(--bg-soft);color:var(--info);border:1px solid var(--border)}.endpoints{border:1px solid var(--border);border-radius:10px;overflow:hidden}.endpoint{border-bottom:1px solid var(--border);grid-template-columns:70px minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:12px;padding:8px 14px;font-size:.9rem;display:grid}.endpoint:last-child{border-bottom:0}.endpoint code{overflow-wrap:anywhere;color:var(--text-h)}.method{font-family:var(--mono);text-align:center;border-radius:5px;padding:2px 0;font-size:.75rem;font-weight:700}.method.get{color:var(--info);background:#2563eb24}.method.post{background:var(--accent-bg);color:var(--accent)}.method.put{background:var(--warn-bg);color:var(--warn)}.method.delete{color:#dc2626;background:#dc262624}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 12px}th{background:var(--bg-soft);width:190px;color:var(--text-h)}.flow ol{counter-reset:step;margin:14px 0 0;padding:0;list-style:none}.flow li{counter-increment:step;border-top:1px solid var(--border);grid-template-columns:34px 190px 1fr;align-items:baseline;gap:8px;padding:8px 0;display:grid}.flow li:before{content:counter(step);background:var(--accent);color:#fff;text-align:center;border-radius:50%;width:24px;height:24px;font-size:.8rem;line-height:24px}.actor{color:var(--text-h);font-weight:600}.flow{margin:16px 0}.roadmap{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:20px;display:grid}.roadmap .card{margin-bottom:10px}.roadmap h2{margin-top:0}.arch{border:1px solid var(--border);background:var(--bg-soft);color:var(--text);border-radius:12px;margin:20px 0;padding:10px}.arch svg{width:100%;height:auto}.arch-box rect{stroke-width:1.5px}.arch-box.client rect{fill:var(--bg);stroke:var(--info)}.arch-box.infra rect{fill:var(--bg);stroke:var(--text)}.arch-box.metier rect{fill:var(--accent-bg);stroke:var(--accent)}.arch-box.ext rect{fill:var(--bg);stroke:var(--border);stroke-dasharray:4 3}.arch-box .t1{font:600 13px var(--sans);fill:var(--text-h)}.arch-box .t2{font:11px var(--sans);fill:var(--text)}.arch-box.clickable{cursor:pointer}.arch-box.clickable:hover rect,.arch-box.clickable:focus rect{stroke-width:3px}.arch .legend{font:11px var(--sans);fill:var(--text)}@media (width<=860px){.layout{grid-template-columns:1fr}.burger{z-index:20;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:4px 12px;font-size:1.3rem;display:block;position:fixed;top:10px;left:10px}.sidebar{z-index:15;width:280px;transition:transform .2s;position:fixed;transform:translate(-100%)}.sidebar.open{transform:none}main{padding:56px 18px 60px}.hero h1{font-size:1.8rem}.endpoint{grid-template-columns:60px 1fr}.endpoint span:last-child{grid-column:2}.flow li{grid-template-columns:34px 1fr}.flow li span:last-child{grid-column:2}}.note.warn{border-left-color:var(--warn);background:var(--warn-bg);font-size:.9rem}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin:20px 0;padding-bottom:10px;display:flex}.tabs button,button.chip{font:inherit;color:var(--text);cursor:pointer}.tabs button{border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:6px 14px}.tabs button.on,.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.filter{margin:14px 0}.card h4{text-transform:uppercase;letter-spacing:.06em;opacity:.8;margin:12px 0 4px;font-size:.8rem}.gap{margin:14px 0}.gap header,.phase header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gap header h3,.phase header h3{flex:1;margin:0}.impact{opacity:.85;font-size:.8rem}.prio{color:#fff;border-radius:6px;padding:2px 10px;font-size:.8rem;font-weight:700}.prio.P0{background:#dc2626}.prio.P1{background:var(--warn)}.prio.P2{background:var(--info)}.prio.P3{background:var(--text)}.where{border-top:1px dashed var(--border);padding-top:10px;font-size:.9rem;margin-top:12px!important}.phases{gap:14px;display:grid}td code{color:var(--accent)}thead th{width:auto}.ticket{margin:8px 0;padding:10px 16px}.ticket summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ticket summary strong{min-width:200px;color:var(--text-h);flex:1}.ticket summary code{color:var(--accent)}.ticket[open] summary{margin-bottom:10px}.load{background:var(--border);border-radius:99px;height:6px;margin:8px 0 4px;overflow:hidden}.load span{background:var(--accent);height:100%;display:block}.card.pick{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.qlist{padding-left:22px}.qlist li{margin:10px 0}.scroll{overflow-x:auto}.where a{color:var(--accent)}.card .note{margin:10px 0 0}.src{min-width:18px;font:700 .68rem var(--mono);text-align:center;color:#fff;vertical-align:middle;cursor:help;border-radius:4px;margin-left:2px;padding:0 5px;text-decoration:none;display:inline-block}.src-A{background:#2563eb}.src-B{background:#7c3aed}.src-C{background:#0a8f5b}.src-D{background:#c77700}.facts{padding-left:18px}.facts li{margin:6px 0}.legend{font-size:.85rem}.legend-item{margin-right:14px;display:inline-block}.pill.flag{margin-left:8px;font-size:.7rem}a.chip.on{text-decoration:none;display:inline-block}.names{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.name header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.name header h3{flex:1;margin:0;font-size:1.3rem}.name .num{background:var(--accent);color:#fff;text-align:center;border-radius:50%;width:26px;height:26px;font-size:.8rem;font-weight:700;line-height:26px}.slogan{color:var(--text-h);font-size:1.05rem;font-weight:600;margin:10px 0 0!important}.slogan-en{opacity:.8;font-style:italic;margin:0 0 8px!important}.load.mob{height:4px;margin-top:3px}.load.mob span{background:var(--info)}.brand-note{opacity:.7;margin:-8px 10px 8px;font-size:.7rem;display:block}.sidebar h5{text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin:10px 10px 2px;font-size:.68rem}.svc-list{margin:4px 0}.svc-list summary{cursor:pointer;padding:6px 10px;font-size:.93rem}.svc-list a{padding-left:18px;font-size:.85rem}.side-tools{border-top:1px solid var(--border);margin-top:24px;padding-top:14px}.mode{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.mode button{background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border:0;flex:1;padding:6px;font-size:.85rem}.mode button.on{background:var(--accent);color:#fff}.print-btn{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;margin-top:8px;padding:6px;font-size:.85rem}.print-header{display:none}.doc-footer{border-top:1px solid var(--border);opacity:.75;margin-top:60px;padding-top:16px;font-size:.8rem}.exec-hero h1{margin:4px 0 10px;font-size:3rem}.working{color:var(--warn);font-size:.9rem;font-weight:400}.evidence{border:1px dashed var(--border);border-radius:10px;flex-wrap:wrap;gap:8px 18px;margin:16px 0;padding:10px 14px;font-size:.82rem;display:flex}.tagpill{color:#fff;vertical-align:middle;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-block}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:24px 0;display:grid}.stat{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;flex-direction:column;padding:16px;display:flex}.stat strong{color:var(--accent);font-size:2rem;line-height:1.1}.stat span{color:var(--text-h);margin-top:4px;font-size:.9rem;font-weight:600}.stat small{margin-top:4px;font-size:.78rem}.tagged{padding:0;list-style:none}.tagged li{margin:8px 0}.milestones{counter-reset:m;padding:0;list-style:none}.milestones li{counter-increment:m;border-top:1px solid var(--border);grid-template-columns:34px 190px 1fr;align-items:baseline;gap:10px;padding:10px 0;display:grid}.milestones li:before{content:counter(m);background:var(--accent);color:#fff;text-align:center;border-radius:50%;width:24px;height:24px;font-size:.8rem;line-height:24px}.faq{margin:8px 0;padding:12px 16px}.faq summary{cursor:pointer;color:var(--text-h);font-weight:600}.small{font-size:.82rem}.timeline{grid-template-columns:repeat(10,1fr);gap:6px;margin-top:12px;display:grid}.stage{background:var(--accent-bg);border:1px solid var(--accent);border-radius:10px;flex-direction:column;padding:10px 12px;font-size:.82rem;display:flex}.stage strong{color:var(--text-h)}.ruler{text-align:center;opacity:.7;grid-template-columns:repeat(10,1fr);gap:6px;margin-top:4px;font-size:.7rem;display:grid}@media (width<=860px){.exec-hero h1{font-size:2.2rem}.milestones li{grid-template-columns:34px 1fr}.milestones li span{grid-column:2}.timeline,.ruler{display:none}}@media print{.sidebar,.burger,.no-print{display:none!important}.layout{display:block}main{max-width:none;padding:0}body{color:#000;background:#fff;font-size:11pt}.print-header{border-bottom:1px solid #999;margin-bottom:16px;padding-bottom:6px;font-size:9pt;display:block}.card,.stat,table,.faq{break-inside:avoid}h1,h2,h3{break-after:avoid}details>:not(summary){display:block}a{color:inherit;text-decoration:none}}.slogan-line{font-family:var(--sans);color:var(--accent);margin:0 0 8px;font-size:1.4rem;font-weight:600}.chosen{margin:20px 0 30px}.chosen header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chosen header h2{flex:1;margin:0;font-size:2.2rem}.sidebar .lockup .wordmark{color:var(--text-h)}.sidebar a.brand{padding:4px 10px 8px}.role-label{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:0 0 8px;font-size:.78rem}.lockup{align-items:center;gap:.3em;display:inline-flex}.wordmark{letter-spacing:-.02em;color:#0f1f2e;font-family:Space Grotesk,system-ui,sans-serif;font-weight:600;line-height:1}.lockup.on-dark .wordmark{color:#f6f3ec}.brand-hero{border:1px solid var(--border);border-radius:16px;grid-template-columns:1fr 1fr;gap:0;margin:20px 0;display:grid;overflow:hidden}.brand-hero>div{justify-content:center;align-items:center;padding:56px 24px;display:flex}.brand-hero-light{background:#f6f3ec}.brand-hero-dark{background:#0f1f2e}.variants{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.v{border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:14px;margin:0;padding:24px 12px 14px;display:flex}.v.light{color:#34424f;background:#f6f3ec}.v.dark{color:#c9d3db;background:#0f1f2e}.v figcaption{text-align:center;font-size:.82rem}.sizes{align-items:flex-end;gap:12px;min-height:96px;display:flex}.swatches{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:14px;display:grid}.swatch{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.chip-color{border:1px solid #0000001f;border-radius:8px;height:54px}.swatch small{font-size:.78rem}.mock-wrap{border:1px solid var(--border);background:var(--bg-soft);border-radius:16px;flex-direction:column;align-items:center;gap:14px;padding:24px 12px;display:flex}.mock-tabs{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.mock-tabs button{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.85rem}.mock-tabs button.on{color:#fff;background:#0b6a4c;border-color:#0b6a4c}.phone{background:#0f1f2e;border-radius:40px;width:340px;max-width:100%;min-height:660px;padding:12px;position:relative;box-shadow:0 18px 40px #00000040}.phone-notch{z-index:2;background:#0f1f2e;border-radius:12px;width:90px;height:22px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.screen{color:#34424f;background:#f6f3ec;border-radius:30px;flex-direction:column;min-height:636px;padding:52px 22px 22px;font-family:Inter,system-ui,sans-serif;display:flex}.screen-top{margin-bottom:20px}.screen h3,.desk h3{color:#0f1f2e;margin:0 0 8px;font-family:Space Grotesk,system-ui,sans-serif;font-size:1.6rem;line-height:1.15}.sub{margin:0 0 18px;font-size:.92rem;line-height:1.45}.field-label{color:#0f1f2e;margin-bottom:6px;font-size:.82rem;font-weight:600;display:block}.phone-field{gap:8px;margin-bottom:16px;display:flex}.phone-field select,.phone-field input{color:#0f1f2e;height:48px;font:inherit;background:#fcfaf5;border:1.5px solid #cfc8b6;border-radius:12px;font-size:1rem}.phone-field select{width:84px;padding:0 8px}.phone-field input{flex:1;min-width:0;padding:0 14px}.phone-field input:focus,.phone-field select:focus{border-color:#0b6a4c;outline:3px solid #0b6a4c59}.cta{color:#f6f3ec;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#0b6a4c;border:0;border-radius:12px;font-size:1rem;font-weight:600}.cta:disabled{cursor:not-allowed;background:#a9bdb4}.link-line{text-align:center;margin:14px 0 0;font-size:.88rem}.link-line span{color:#0b6a4c;cursor:pointer;font-weight:600}.legal{text-align:center;opacity:.8;margin:auto 0 0;padding-top:16px;font-size:.72rem;line-height:1.4}.otp{gap:8px;margin-bottom:18px;display:flex;position:relative}.otp-box{text-align:center;color:#0f1f2e;background:#fcfaf5;border:1.5px solid #cfc8b6;border-radius:12px;flex:1;height:54px;font-size:1.4rem;font-weight:600;line-height:54px}.otp-box.cur{border-color:#0b6a4c;outline:3px solid #0b6a4c40}.otp-input{opacity:0;cursor:text;width:100%;position:absolute;inset:0}.dots{justify-content:center;gap:16px;margin:6px 0 22px;display:flex}.dots span{border:2px solid #0b6a4c;border-radius:50%;width:16px;height:16px}.dots span.fill{background:#0b6a4c}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.keypad button{color:#0f1f2e;height:48px;font:inherit;cursor:pointer;background:#ece7da;border:0;border-radius:12px;font-size:1.25rem;font-weight:600}.keypad button:active{background:#d8d1bf}.keypad .bio{color:#0b6a4c}.demo-note{text-align:center;background:#e8b04a40;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:.8rem}.alert{color:#0f1f2e;background:#e8b04a40;border:1.5px solid #e8b04a;border-radius:12px;margin-bottom:18px;padding:14px;font-size:.92rem;line-height:1.45}.mock-note{opacity:.8;margin:0;font-size:.82rem}.desk{border:1px solid var(--border);border-radius:16px;grid-template-columns:1fr 1fr;min-height:460px;display:grid;overflow:hidden}.desk-side{color:#e6f2ec;background:#0b6a4c;flex-direction:column;justify-content:center;gap:18px;padding:40px;display:flex}.desk-side h3{color:#f6f3ec;margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:2.2rem}.desk-side ul{margin:0;padding-left:20px;line-height:1.7}.desk-form{color:#34424f;background:#f6f3ec;flex-direction:column;justify-content:center;padding:40px 48px;font-family:Inter,system-ui,sans-serif;display:flex}@media (width<=700px){.brand-hero,.desk{grid-template-columns:1fr}}.login{color:#34424f;background:#f6f3ec;grid-template-columns:1fr 1fr;min-height:100vh;font-family:Inter,system-ui,sans-serif;display:grid}.login-side{color:#e6f2ec;background:#0b6a4c;flex-direction:column;justify-content:center;gap:20px;padding:64px;display:flex}.login-side h1{color:#f6f3ec;margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:3.2rem;line-height:1}.login-slogan{color:#3dd6a0;margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-size:1.6rem;font-weight:600}.login-side ul{margin:8px 0 0;padding-left:22px;line-height:1.8}.login-form{justify-content:center;align-items:center;padding:48px 32px;display:flex}.login-form form{width:100%;max-width:400px}.login-form h2{color:#0f1f2e;margin:0 0 8px;font-family:Space Grotesk,system-ui,sans-serif;font-size:2rem}.login-sub{margin:0 0 28px;line-height:1.5}.login-form label{color:#0f1f2e;margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.pwd-field{gap:8px;display:flex}.pwd-field input{color:#0f1f2e;min-width:0;height:50px;font:inherit;background:#fcfaf5;border:1.5px solid #cfc8b6;border-radius:12px;flex:1;padding:0 14px;font-size:1rem}.pwd-field input:focus{border-color:#0b6a4c;outline:3px solid #0b6a4c59}.pwd-field input[aria-invalid=true]{border-color:#b3261e}.toggle{color:#0b6a4c;font:inherit;cursor:pointer;background:#fcfaf5;border:1.5px solid #cfc8b6;border-radius:12px;padding:0 14px;font-size:.9rem;font-weight:600}.login-error{color:#0f1f2e;background:#e8b04a40;border:1.5px solid #e8b04a;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.92rem}.login-cta{color:#f6f3ec;width:100%;min-height:50px;font:inherit;cursor:pointer;background:#0b6a4c;border:0;border-radius:12px;margin-top:20px;font-size:1rem;font-weight:600}.login-cta:disabled{cursor:not-allowed;background:#a9bdb4}.login-legal{opacity:.8;margin:24px 0 0;font-size:.78rem;line-height:1.4}@media (width<=760px){.login{grid-template-columns:1fr}.login-side{padding:36px 28px}.login-side h1{font-size:2.4rem}.login-side ul{display:none}}
