/* Schémas des fiches : mêmes règles dans l'appli et sur le site (aucun <style> dans le SVG, pour respecter la CSP). */
.fiche-schema{overflow-x:auto}
.schema-svg{width:100%;height:auto;display:block;border-radius:.7rem}
.schema-svg .t{font-size:13px;fill:#222}
.schema-svg .s{font-size:11px;fill:#444}
.schema-svg .b{font-size:10px;font-weight:700}
.schema-svg .hot{cursor:pointer;outline:none}
.schema-svg .hot:hover,.schema-svg .hot:focus,.schema-svg .hot.sel{fill:rgba(47,191,155,.18);stroke:#2fbf9b;stroke-width:2}
.fiche-schema{margin:1rem 0 .4rem}
.fiche-schema[hidden]{display:none}
.fiche-onglets{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0}
.fiche-onglet{cursor:pointer;border:1px solid #444b5a;background:transparent;color:inherit;border-radius:999px;padding:.4rem .9rem;font:inherit;font-size:.92rem}
.fiche-onglet.actif{background:#2fbf9b;border-color:#2fbf9b;color:#10231d;font-weight:700}
.fiche-info{margin:.4rem 0 1.4rem;padding:.7rem .9rem;border-radius:.6rem;background:rgba(47,191,155,.1);border:1px dashed rgba(47,191,155,.5);min-height:2.6rem}
.fiche-sec{margin:1.8rem 0}
.fiche-sec>h3{margin:0 0 .6rem}
.fiche-bloc{border-left:4px solid #2fbf9b;padding:.5rem 1rem;margin:.8rem 0;background:rgba(127,127,127,.08);border-radius:0 .5rem .5rem 0}
.fiche-bloc h4{margin:0 0 .3rem}
.fiche-bloc p{margin:.3rem 0}
.fiche-bloc.verifier{border-left-color:#facc15}
.fiche-badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .5rem;border-radius:999px;background:#facc15;color:#14171c;vertical-align:middle}
.fiche-legende{margin:.8rem 0 0;padding:0;list-style:none;counter-reset:l;display:grid;gap:.4rem}
.fiche-legende li{counter-increment:l;display:flex;gap:.6rem;align-items:flex-start;font-size:.93rem}
.fiche-legende li::before{content:counter(l);flex:none;width:1.4rem;height:1.4rem;border-radius:50%;background:#2fbf9b;color:#10231d;font-weight:700;font-size:.8rem;display:grid;place-items:center;margin-top:.05rem}
.fiche-legende strong{white-space:nowrap}
@media (max-width:40rem){.fiche-legende li{display:block;padding-left:2rem;position:relative}.fiche-legende li::before{position:absolute;left:0;top:.1rem}.fiche-legende strong{display:block;white-space:normal}}
.fiche-materiel{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.fiche-materiel li{padding:.35rem .8rem;border-radius:.6rem;border:1px solid #444b5a;background:rgba(127,127,127,.08);font-size:.93rem}
.fiche-etapes{margin:0;padding:0;list-style:none;counter-reset:e;display:grid;gap:.6rem}
.fiche-etapes li{counter-increment:e;position:relative;padding:.7rem .9rem .7rem 3.2rem;border-radius:.7rem;background:rgba(127,127,127,.08);border:1px solid rgba(127,127,127,.25)}
.fiche-etapes li::before{content:counter(e);position:absolute;left:.8rem;top:.6rem;width:1.7rem;height:1.7rem;border-radius:50%;background:#facc15;color:#14171c;font-weight:800;display:grid;place-items:center}
.schema-svg .h{display:none;pointer-events:none;stroke-dasharray:7 9;animation:courant 1s linear infinite}
@keyframes courant{to{stroke-dashoffset:-16}}
@media (prefers-reduced-motion:reduce){.schema-svg .h{animation:none}}
.schema-svg .glow{display:none;pointer-events:none}
.schema-svg[data-flow~="phase"] .h-phase,.schema-svg[data-flow~="neutre"] .h-neutre,.schema-svg[data-flow~="commande"] .h-commande,.schema-svg[data-flow~="tbts"] .h-tbts,.schema-svg[data-flow~="data"] .h-data,.schema-svg[data-flow~="retour"] .h-retour,.schema-svg[data-flow~="n1"] .h-n1,.schema-svg[data-flow~="n2"] .h-n2,.schema-svg[data-flow~="m1"] .h-m1,.schema-svg[data-flow~="m2"] .h-m2,.schema-svg[data-flow~="on"] .glow{display:inline}
.schema-svg[data-flow~="on"] .dev{filter:drop-shadow(0 0 7px #ffd43b)}
.schema-svg[data-regle="vari"][data-a="1"] .glow{opacity:.35}.schema-svg[data-regle="vari"][data-a="2"] .glow{opacity:.6}
.schema-svg[data-a="0"] .lv-a-b,.schema-svg[data-a="1"] .lv-a-h,.schema-svg[data-b="0"] .lv-b-b,.schema-svg[data-b="1"] .lv-b-h{display:none}
.schema-svg[data-a="0"] .lv-a-on,.schema-svg[data-a="1"] .lv-a-off{display:none}
.schema-svg .hot.bascule{stroke:#2fbf9b;stroke-width:1.5;stroke-dasharray:4 3}
.fiche-aide{margin:.4rem 0 0;font-size:.9rem;color:#9aa3b2}

.sch-cat,.calc-groupe,.fiche-sec{padding:0!important;border:0!important;background:none!important}
.sch-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none}
.sch-nav a{display:inline-block;padding:.4rem .9rem;border-radius:999px;border:1px solid #444b5a;color:inherit;text-decoration:none;font-size:.92rem}
.sch-nav a:hover{border-color:#2fbf9b;color:#2fbf9b}
.sch-cat{margin:1.6rem 0 0}
.sch-cat>h2{margin:0;display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}
.sch-cat>h2 small{font-size:.85rem;font-weight:600;color:#2fbf9b}
.sch-cat>p{margin:.3rem 0 1rem;color:#9aa3b2}
.sch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.8rem}
.sch-tile{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem;border-radius:.8rem;background:#1a1d24;border:1px solid #333845;border-top:3px solid #2fbf9b;color:inherit;text-decoration:none;min-width:0}
.sch-tile:hover{border-color:#2fbf9b}
.sch-tile strong{font-size:1.02rem}
.sch-tile span{color:#9aa3b2;font-size:.9rem}
.sch-liens{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:0;list-style:none}
.sch-liens a{display:inline-block;padding:.4rem .8rem;border-radius:.6rem;background:#1a1d24;border:1px solid #333845;color:inherit;text-decoration:none;font-size:.92rem}
.sch-liens a:hover{border-color:#facc15}
.sch-autres{margin-top:2rem}
.sub+.portes{margin-top:1.4rem}
.portes{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin:0 0 2.2rem}
.porte{display:flex;flex-direction:column;gap:.5rem;padding:1.3rem;border-radius:1rem;background:#1a1d24;border:1px solid #333845;color:inherit;text-decoration:none;min-width:0}
.porte:hover{border-color:#facc15}
.porte b{font-size:2.4rem;line-height:1;color:#facc15;font-variant-numeric:tabular-nums}
.porte strong{font-size:1.15rem}
.porte span{color:#9aa3b2;font-size:.94rem}
.porte em{margin-top:auto;font-style:normal;font-weight:700;color:#facc15}
.porte.vert b,.porte.vert em{color:#2fbf9b}.porte.vert:hover{border-color:#2fbf9b}
.calc-groupe{margin:1.6rem 0 0}
.calc-groupe>h2{margin:0 0 .2rem}
.calc-groupe>p{margin:0 0 1rem;color:#9aa3b2}
.calc-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.9rem}
.calc-tile{display:flex;flex-direction:column;gap:.55rem;padding:1rem 1.1rem;border-radius:.9rem;background:#1a1d24;border:1px solid #333845;color:inherit;text-decoration:none;min-width:0}
.calc-tile:hover{border-color:#facc15}
.calc-tile strong{font-size:1.05rem}
.calc-tile .es{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.85rem}
.calc-tile .es i{font-style:normal;padding:.15rem .55rem;border-radius:.4rem;background:#111318;border:1px solid #333845;color:#cbd2de}
.calc-tile .es i.out{border-color:#facc15;color:#facc15}
.calc-tile .es u{text-decoration:none;color:#9aa3b2}
.calc-tile span.d{color:#9aa3b2;font-size:.9rem}
.bar nav .outils-dd{position:relative}
.bar nav .outils-dd summary{display:inline-flex;align-items:center;gap:.4rem;font-size:1rem;list-style:none;cursor:pointer;opacity:.95;padding:.45rem .95rem;border:1.5px solid #5b6472;border-radius:2rem;font-weight:600}
.bar nav .outils-dd summary::-webkit-details-marker{display:none}
.bar nav .outils-dd summary::after{content:"▾";margin:0;font-size:.8em;position:static}
.bar nav .outils-dd:hover summary,.bar nav .outils-dd[open] summary,.bar nav .outils-dd.actif summary{border-color:#facc15;color:#facc15}
.bar nav .outils-dd .dd{position:absolute;right:0;top:calc(100% + .6rem);z-index:40;display:none;min-width:17rem;background:#1a1d24;border:1px solid #333845;border-radius:.9rem;padding:.4rem;box-shadow:0 24px 60px rgba(0,0,0,.5);white-space:normal}
.bar nav .outils-dd[open] .dd,.bar nav .outils-dd:hover .dd{display:grid}
.bar nav .outils-dd .dd a{display:grid;gap:.1rem;opacity:1;padding:.65rem .8rem;border-radius:.6rem}
.bar nav .outils-dd .dd a:hover{background:rgba(250,204,21,.1)}
.bar nav .outils-dd .dd b{font-size:1rem}
.bar nav .outils-dd .dd span{font-size:.85rem;color:#9aa3b2}
@media(max-width:1320px){.bar nav .outils-dd{display:none}}
.bar nav .menu .panel a.outilsl{border:1.5px solid #facc15;color:#facc15;font-weight:700}
.bar nav a.outils-btn{display:none}
@media(max-width:1320px){.bar nav a.outils-btn{display:inline-flex!important;opacity:1;color:#facc15;border:1.5px solid #facc15;border-radius:2rem;padding:.45rem .95rem;font:700 .92rem inherit;font-family:inherit}.bar nav a.outils-btn:hover,.bar nav a.outils-btn.actif{background:rgba(250,204,21,.14)}}
.rap{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none}
.rap a{display:inline-block;padding:.4rem .9rem;border-radius:999px;border:1px solid #444b5a;color:inherit;text-decoration:none;font-size:.92rem}
.rap a:hover{border-color:#facc15;color:#facc15}

.cmp-page h2{font-size:1.6rem;line-height:1.2;margin:2.6rem 0 1rem}
.cmp-page .cmp-maj{color:#9aa3b2;font-size:.9rem;margin:0 0 1.2rem}
.cmp-page .cmp-box h2{font-size:1.2rem;margin:0 0 .8rem}
.cmp-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 2rem}
.cmp-box{background:#1a1d24;border:1px solid #333845;border-radius:.9rem;padding:1.2rem 1.3rem;min-width:0}
.cmp-box:first-child{border-color:#facc15}
.cmp-box h2{margin:0 0 .8rem;font-size:1.2rem}
.cmp-box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.8rem}
.cmp-box li{color:#9aa3b2}
.cmp-box li strong{color:#f2f4f6;font-weight:600}
.cmp-legende{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;color:#9aa3b2;font-size:.9rem;margin:0 0 .8rem}
.cmp-legende b{font-family:ui-monospace,Menlo,Consolas,monospace;margin-right:.35rem}
.cmp-legende .y,.cmp .y .m{color:#4ade80}.cmp-legende .n,.cmp .n .m{color:#f87171}.cmp-legende .u,.cmp .u .m{color:#7c8593}
.cmp-wrap{overflow-x:auto;border:1px solid #333845;border-radius:.9rem;background:#1a1d24;margin:0 0 2rem;-webkit-overflow-scrolling:touch}
.cmp-wrap:focus-visible{outline:2px solid #facc15;outline-offset:2px}
.cmp{border-collapse:separate;border-spacing:0;width:100%;min-width:60rem;font-size:.9rem}
.cmp caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cmp th,.cmp td{padding:.65rem .8rem;text-align:left;vertical-align:top;border-bottom:1px solid #262a33}
.cmp thead th{background:#14171d;font-weight:700;border-bottom:1px solid #333845}
.cmp thead th.us{color:#facc15;box-shadow:inset 0 3px 0 #facc15}
.cmp tbody th[scope=row]{position:sticky;left:0;background:#1a1d24;font-weight:600;min-width:10.5rem;border-right:1px solid #262a33}
.cmp thead th:first-child{position:sticky;left:0;z-index:2;min-width:10.5rem}
.cmp tr.sec th{background:#14171d;color:#9aa3b2;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;position:static;border-right:0}
.cmp td:nth-child(2){background:rgba(250,204,21,.07)}
.cmp td.c{min-width:9.5rem}
.cmp .m{display:inline-block;width:1.2em;margin-right:.35rem;font-weight:700}
.cmp td.u .t{color:#7c8593}.cmp td.n .t{color:#9aa3b2}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp-etapes{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;margin:0 0 2rem}
.cmp-etapes div{display:flex;flex-direction:column;gap:.25rem;background:#1a1d24;border:1px solid #333845;border-radius:.8rem;padding:.9rem 1rem;min-width:0}
.cmp-etapes span{color:#9aa3b2;font-size:.94rem}
@media(max-width:720px){.cmp-duo{grid-template-columns:minmax(0,1fr)}}
